feat: add mobile asset views and templates with localization updates
This commit is contained in:
parent
429eb27e2d
commit
6d2de3a7c8
100 changed files with 38647 additions and 30207 deletions
Binary file not shown.
File diff suppressed because it is too large
Load diff
Binary file not shown.
File diff suppressed because it is too large
Load diff
Binary file not shown.
File diff suppressed because it is too large
Load diff
|
|
@ -344,7 +344,7 @@
|
|||
</td>
|
||||
<td>{{ eq.next_control_date|date:"d/m/Y"|default:"-" }}</td>
|
||||
<td class="text-end pe-3">
|
||||
<a href="{{ eq.get_absolute_url }}" class="btn btn-sm btn-outline-info py-0 px-2 small text-nowrap" title="{% translate \"Détail de l'asset\" %}">
|
||||
<a href="{{ eq.get_absolute_url }}" class="btn btn-sm btn-outline-info py-0 px-2 small text-nowrap" title="{% translate 'Détail de l’asset' %}">
|
||||
<i class="bi bi-eye me-1"></i>{% translate "Détail" %}
|
||||
</a>
|
||||
</td>
|
||||
|
|
|
|||
|
|
@ -93,6 +93,47 @@
|
|||
#asset-detail-container .table td {
|
||||
border-color: #e2e8f0;
|
||||
}
|
||||
|
||||
/* Styles pour la barre d'édition et mode édition mobile */
|
||||
#asset-cms-edit-bar.mobile-edit-bar {
|
||||
position: sticky;
|
||||
top: 4.5rem;
|
||||
z-index: 1020;
|
||||
background-color: #ffffff;
|
||||
border: 1px solid #b8c5d3;
|
||||
box-shadow: 0 4px 6px -1px rgba(15, 23, 42, 0.08);
|
||||
}
|
||||
#asset-cms-edit-bar .mode-editing-label {
|
||||
display: none;
|
||||
}
|
||||
#asset-cms-edit-bar .mode-viewing-label {
|
||||
display: inline-flex;
|
||||
align-items: center;
|
||||
}
|
||||
body.asset-cms-edit-mode #asset-cms-edit-bar .mode-editing-label {
|
||||
display: inline-flex;
|
||||
align-items: center;
|
||||
}
|
||||
body.asset-cms-edit-mode #asset-cms-edit-bar .mode-viewing-label {
|
||||
display: none;
|
||||
}
|
||||
body.asset-cms-edit-mode #asset-edit-mode-badge {
|
||||
background-color: #fef08a !important;
|
||||
color: #854d0e !important;
|
||||
border-color: #fde047 !important;
|
||||
}
|
||||
|
||||
@media (max-width: 767.98px) {
|
||||
.asset-editable-field .field-edit input,
|
||||
.asset-editable-field .field-edit select,
|
||||
.asset-editable-field .field-edit textarea {
|
||||
min-height: 42px;
|
||||
font-size: 1rem;
|
||||
}
|
||||
#asset-map {
|
||||
height: 280px !important;
|
||||
}
|
||||
}
|
||||
</style>
|
||||
{% endblock head %}
|
||||
|
||||
|
|
@ -138,7 +179,7 @@
|
|||
|
||||
{% block content %}
|
||||
<div id="asset-detail-container"
|
||||
class="{% if mobile_view %}px-3 pb-3{% else %}container-fluid mt-4{% endif %}"
|
||||
class="{% if mobile_view %}px-2 px-sm-3 pb-3{% else %}container-fluid mt-4{% endif %}"
|
||||
data-asset-model="{{ asset_model }}"
|
||||
data-asset-id="{{ asset.id }}"
|
||||
data-thematic-code="{{ thematic_code }}"
|
||||
|
|
@ -151,58 +192,97 @@
|
|||
data-radar-icon-url="{% static 'assets/radar_preventif_icon.svg' %}?v=20260710"
|
||||
{% endif %}>
|
||||
|
||||
<!-- CMS-style Edit Bar (Desktop only) -->
|
||||
{% if allowed_update_fields and not mobile_view %}
|
||||
<div id="asset-cms-edit-bar" class="px-3 py-2 mb-3 shadow-sm d-flex align-items-center justify-content-between border-bottom bg-light">
|
||||
<div class="d-flex align-items-center gap-2">
|
||||
{% block asset_header_title %}
|
||||
<div>
|
||||
<h2 class="mb-0" style="color: var(--brand-color); font-size: 1.25rem;">
|
||||
{% translate "Asset" %} : {{ asset.code }}
|
||||
</h2>
|
||||
<div class="d-flex align-items-center gap-2 mt-1" style="font-size: 0.8rem; color: #6c757d;">
|
||||
{% if thematic.icon %}
|
||||
<i class="bi {{ thematic.icon }}"></i>
|
||||
{% endif %}
|
||||
{% if thematic.name %}
|
||||
<span>{{ thematic.name }}</span>
|
||||
<span>—</span>
|
||||
{% endif %}
|
||||
<span>{{ asset_verbose_name }}</span>
|
||||
</div>
|
||||
<!-- CMS-style Edit Bar (Desktop & Mobile) -->
|
||||
{% if mobile_view %}
|
||||
{% if allowed_update_fields %}
|
||||
<div id="asset-cms-edit-bar" class="mobile-edit-bar rounded-3 p-2 mb-3 d-flex align-items-center justify-content-between flex-wrap gap-2">
|
||||
<div class="d-flex align-items-center gap-2">
|
||||
<span id="asset-edit-mode-badge" class="badge bg-secondary-subtle text-secondary border">
|
||||
<span class="mode-viewing-label"><i class="bi bi-eye me-1"></i>{% translate "Consultation" %}</span>
|
||||
<span class="mode-editing-label"><i class="bi bi-pencil-fill me-1"></i>{% translate "Édition en cours" %}</span>
|
||||
</span>
|
||||
<span class="fw-bold small text-truncate" style="max-width: 140px;" title="{{ asset.code }}">
|
||||
{{ asset.code }}
|
||||
</span>
|
||||
</div>
|
||||
<div class="d-flex align-items-center gap-1 ms-auto">
|
||||
{% if 'archive' in allowed_actions %}
|
||||
<button id="asset-archive-btn" class="btn btn-outline-secondary btn-sm asset-normal-action px-2" title="{% translate 'Archiver' %}">
|
||||
<i class="bi bi-archive"></i>
|
||||
</button>
|
||||
{% endif %}
|
||||
{% if 'replace' in allowed_actions %}
|
||||
<button id="asset-replace-btn" class="btn btn-outline-secondary btn-sm asset-normal-action px-2" title="{% translate 'Remplacer' %}">
|
||||
<i class="bi bi-arrow-repeat"></i>
|
||||
</button>
|
||||
{% endif %}
|
||||
<button id="asset-cms-edit-btn" class="btn btn-primary btn-sm px-3 fw-semibold">
|
||||
<i class="bi bi-pencil me-1"></i>{% translate "Éditer" %}
|
||||
</button>
|
||||
<button id="asset-cms-save-btn" class="btn btn-success btn-sm px-3 fw-semibold d-none">
|
||||
<i class="bi bi-check-circle me-1"></i>{% translate "Sauvegarder" %}
|
||||
</button>
|
||||
<button id="asset-cms-cancel-btn" class="btn btn-outline-danger btn-sm px-2 d-none">
|
||||
<i class="bi bi-x-circle me-1"></i>{% translate "Annuler" %}
|
||||
</button>
|
||||
</div>
|
||||
{% endblock asset_header_title %}
|
||||
</div>
|
||||
<div class="d-flex gap-2">
|
||||
{% if 'archive' in allowed_actions %}
|
||||
<button id="asset-archive-btn" class="btn btn-light btn-sm" title="{% translate 'Archiver' %}">
|
||||
<i class="bi bi-archive"></i> {% translate "Archiver" %}
|
||||
</button>
|
||||
{% endif %}
|
||||
{% if 'replace' in allowed_actions %}
|
||||
<button id="asset-replace-btn" class="btn btn-light btn-sm" title="{% translate 'Remplacer' %}">
|
||||
<i class="bi bi-arrow-repeat"></i> {% translate "Remplacer" %}
|
||||
</button>
|
||||
{% endif %}
|
||||
<button id="asset-cms-edit-btn" class="btn btn-light btn-sm">
|
||||
<i class="bi bi-pencil"></i> {% translate "Éditer" %}
|
||||
</button>
|
||||
<button id="asset-cms-save-btn" class="btn btn-success btn-sm d-none">
|
||||
<i class="bi bi-check-circle"></i> {% translate "Sauvegarder" %}
|
||||
</button>
|
||||
<button id="asset-cms-cancel-btn" class="btn btn-outline-danger btn-sm d-none">
|
||||
<i class="bi bi-x-circle"></i> {% translate "Annuler" %}
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
{% endif %}
|
||||
{% else %}
|
||||
<div class="{% if mobile_view %}d-none{% else %}d-block{% endif %} mb-3">
|
||||
{% if allowed_update_fields %}
|
||||
<div id="asset-cms-edit-bar" class="px-3 py-2 mb-3 shadow-sm d-flex align-items-center justify-content-between border-bottom bg-light">
|
||||
<div class="d-flex align-items-center gap-2">
|
||||
{% block asset_header_title %}
|
||||
<div>
|
||||
<h2 class="mb-0" style="color: var(--brand-color); font-size: 1.25rem;">
|
||||
{% translate "Asset" %} : {{ asset.code }}
|
||||
</h2>
|
||||
<div class="d-flex align-items-center gap-2 mt-1" style="font-size: 0.8rem; color: #6c757d;">
|
||||
{% if thematic.icon %}
|
||||
<i class="bi {{ thematic.icon }}"></i>
|
||||
{% endif %}
|
||||
{% if thematic.name %}
|
||||
<span>{{ thematic.name }}</span>
|
||||
<span>—</span>
|
||||
{% endif %}
|
||||
<span>{{ asset_verbose_name }}</span>
|
||||
</div>
|
||||
</div>
|
||||
{% endblock asset_header_title %}
|
||||
</div>
|
||||
<div class="d-flex gap-2">
|
||||
{% if 'archive' in allowed_actions %}
|
||||
<button id="asset-archive-btn" class="btn btn-light btn-sm asset-normal-action" title="{% translate 'Archiver' %}">
|
||||
<i class="bi bi-archive"></i> {% translate "Archiver" %}
|
||||
</button>
|
||||
{% endif %}
|
||||
{% if 'replace' in allowed_actions %}
|
||||
<button id="asset-replace-btn" class="btn btn-light btn-sm asset-normal-action" title="{% translate 'Remplacer' %}">
|
||||
<i class="bi bi-arrow-repeat"></i> {% translate "Remplacer" %}
|
||||
</button>
|
||||
{% endif %}
|
||||
<button id="asset-cms-edit-btn" class="btn btn-light btn-sm">
|
||||
<i class="bi bi-pencil"></i> {% translate "Éditer" %}
|
||||
</button>
|
||||
<button id="asset-cms-save-btn" class="btn btn-success btn-sm d-none">
|
||||
<i class="bi bi-check-circle"></i> {% translate "Sauvegarder" %}
|
||||
</button>
|
||||
<button id="asset-cms-cancel-btn" class="btn btn-outline-danger btn-sm d-none">
|
||||
<i class="bi bi-x-circle"></i> {% translate "Annuler" %}
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
{% endif %}
|
||||
{% endif %}
|
||||
|
||||
{% if mobile_view or not allowed_update_fields %}
|
||||
<div class="mb-3">
|
||||
{% block asset_header_title_readonly %}
|
||||
<h2 class="mb-0" style="color: var(--brand-color);">
|
||||
<h2 class="mb-0" style="color: var(--brand-color); font-size: 1.25rem;">
|
||||
{% if thematic.icon %}
|
||||
<i class="bi {{ thematic.icon }} me-2"></i>
|
||||
{% endif %}
|
||||
{% translate "Asset" %} : {{ asset }}
|
||||
{% translate "Asset" %} : {{ asset.code }}
|
||||
</h2>
|
||||
<div class="d-flex align-items-center gap-2 mt-1" style="font-size: 0.85rem; color: #6c757d;">
|
||||
{% if thematic.icon %}
|
||||
|
|
@ -218,30 +298,6 @@
|
|||
</div>
|
||||
{% endif %}
|
||||
|
||||
{% if mobile_view and allowed_update_fields %}
|
||||
<div class="d-flex gap-2 mb-3 flex-wrap justify-content-center">
|
||||
{% if 'archive' in allowed_actions %}
|
||||
<button id="asset-archive-btn" class="btn btn-outline-secondary btn-sm asset-normal-action" title="{% translate 'Archiver' %}">
|
||||
<i class="bi bi-archive me-1"></i>{% translate "Archiver" %}
|
||||
</button>
|
||||
{% endif %}
|
||||
{% if 'replace' in allowed_actions %}
|
||||
<button id="asset-replace-btn" class="btn btn-outline-secondary btn-sm asset-normal-action" title="{% translate 'Remplacer' %}">
|
||||
<i class="bi bi-arrow-repeat me-1"></i>{% translate "Remplacer" %}
|
||||
</button>
|
||||
{% endif %}
|
||||
<button id="asset-cms-edit-btn" class="btn btn-outline-secondary btn-sm asset-normal-action">
|
||||
<i class="bi bi-pencil me-1"></i>{% translate "Éditer" %}
|
||||
</button>
|
||||
<button id="asset-cms-save-btn" class="btn btn-success btn-sm d-none asset-edit-action">
|
||||
<i class="bi bi-check-circle me-1"></i>{% translate "Sauvegarder" %}
|
||||
</button>
|
||||
<button id="asset-cms-cancel-btn" class="btn btn-outline-danger btn-sm d-none asset-edit-action">
|
||||
<i class="bi bi-x-circle me-1"></i>{% translate "Annuler" %}
|
||||
</button>
|
||||
</div>
|
||||
{% endif %}
|
||||
|
||||
<div class="row {% if not mobile_view %}mt-4{% endif %}">
|
||||
<!-- Colonne principale : informations de base -->
|
||||
<div class="{% if mobile_view %}col-12{% else %}col-md-8{% endif %}">
|
||||
|
|
|
|||
289
loko/assets/templates/assets/detail_generic_mobile.html
Normal file
289
loko/assets/templates/assets/detail_generic_mobile.html
Normal file
|
|
@ -0,0 +1,289 @@
|
|||
{% extends "assets/detail_generic.html" %}
|
||||
{% load i18n %}
|
||||
{% load static %}
|
||||
{% load asset_tags %}
|
||||
|
||||
{% block head %}
|
||||
{{ block.super }}
|
||||
<style>
|
||||
/* Adaptations mobiles avancées pour le template générique d'asset */
|
||||
@media (max-width: 767.98px) {
|
||||
#asset-detail-container {
|
||||
padding-left: 0.5rem !important;
|
||||
padding-right: 0.5rem !important;
|
||||
}
|
||||
|
||||
/* En-tête mobile compact */
|
||||
.generic-asset-mobile-header {
|
||||
background-color: #ffffff;
|
||||
border: 1px solid #cbd5e1;
|
||||
border-radius: 0.85rem;
|
||||
padding: 0.85rem;
|
||||
box-shadow: 0 1px 4px rgba(15, 23, 42, 0.05);
|
||||
margin-bottom: 0.75rem;
|
||||
}
|
||||
.generic-asset-mobile-header .asset-thematic-avatar {
|
||||
width: 44px;
|
||||
height: 44px;
|
||||
border-radius: 0.75rem;
|
||||
background-color: rgba(47, 62, 139, 0.1);
|
||||
color: var(--brand-color, #2f3e8b);
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
font-size: 1.4rem;
|
||||
flex-shrink: 0;
|
||||
}
|
||||
|
||||
/* Barre d'onglets de navigation segmentée */
|
||||
.mobile-asset-tabs-nav {
|
||||
position: sticky;
|
||||
top: 3.5rem;
|
||||
z-index: 1015;
|
||||
background: #ffffff;
|
||||
border: 1px solid #cbd5e1;
|
||||
border-radius: 0.75rem;
|
||||
padding: 0.3rem;
|
||||
display: flex;
|
||||
gap: 0.35rem;
|
||||
overflow-x: auto;
|
||||
white-space: nowrap;
|
||||
scrollbar-width: none;
|
||||
-webkit-overflow-scrolling: touch;
|
||||
box-shadow: 0 2px 6px rgba(15, 23, 42, 0.06);
|
||||
margin-bottom: 0.85rem;
|
||||
}
|
||||
.mobile-asset-tabs-nav::-webkit-scrollbar {
|
||||
display: none;
|
||||
}
|
||||
.mobile-tab-btn {
|
||||
font-size: 0.82rem;
|
||||
font-weight: 600;
|
||||
padding: 0.4rem 0.75rem;
|
||||
border-radius: 0.55rem;
|
||||
border: none;
|
||||
background: transparent;
|
||||
color: #64748b;
|
||||
transition: all 0.15s ease-in-out;
|
||||
flex-shrink: 0;
|
||||
display: inline-flex;
|
||||
align-items: center;
|
||||
gap: 0.35rem;
|
||||
}
|
||||
.mobile-tab-btn.active {
|
||||
background-color: var(--brand-color, #2f3e8b);
|
||||
color: #ffffff;
|
||||
box-shadow: 0 2px 4px rgba(47, 62, 139, 0.25);
|
||||
}
|
||||
|
||||
/* Cartes et sections sur mobile */
|
||||
#asset-detail-container .card {
|
||||
border-radius: 0.85rem !important;
|
||||
border: 1px solid #cbd5e1 !important;
|
||||
box-shadow: 0 1px 3px rgba(15, 23, 42, 0.05);
|
||||
margin-bottom: 0.75rem !important;
|
||||
}
|
||||
#asset-detail-container .card-header {
|
||||
padding: 0.65rem 0.85rem;
|
||||
border-top-left-radius: 0.85rem !important;
|
||||
border-top-right-radius: 0.85rem !important;
|
||||
}
|
||||
#asset-detail-container .card-header h5 {
|
||||
font-size: 0.95rem !important;
|
||||
font-weight: 600;
|
||||
}
|
||||
#asset-detail-container .card-body {
|
||||
padding: 0.75rem 0.85rem;
|
||||
}
|
||||
|
||||
/* Tableaux tactiles */
|
||||
#asset-detail-container .table th {
|
||||
font-size: 0.84rem;
|
||||
padding: 0.5rem 0.4rem;
|
||||
width: 38% !important;
|
||||
}
|
||||
#asset-detail-container .table td {
|
||||
font-size: 0.86rem;
|
||||
padding: 0.5rem 0.4rem;
|
||||
}
|
||||
|
||||
/* Barre d'édition CMS mobile */
|
||||
#asset-cms-edit-bar.mobile-edit-bar {
|
||||
top: 3.5rem;
|
||||
z-index: 1020;
|
||||
border-radius: 0.75rem;
|
||||
border: 1px solid #b8c5d3;
|
||||
}
|
||||
|
||||
/* Carte MapLibre sur mobile */
|
||||
#asset-map {
|
||||
height: 320px !important;
|
||||
border-radius: 0 0 0.85rem 0.85rem;
|
||||
}
|
||||
}
|
||||
</style>
|
||||
{% endblock head %}
|
||||
|
||||
{# ── En-tête mobile readonly avec icône, thématique et badges ── #}
|
||||
{% block asset_header_title_readonly %}
|
||||
<div class="generic-asset-mobile-header">
|
||||
<div class="d-flex align-items-center gap-2.5">
|
||||
<div class="asset-thematic-avatar" {% if thematic.color %}style="background-color: {{ thematic.color }}18; color: {{ thematic.color }};"{% endif %}>
|
||||
{% if thematic.icon %}
|
||||
<i class="bi {{ thematic.icon }}"></i>
|
||||
{% else %}
|
||||
<i class="bi bi-pin-map"></i>
|
||||
{% endif %}
|
||||
</div>
|
||||
<div class="flex-grow-1 text-truncate">
|
||||
<div class="d-flex align-items-center gap-1.5 flex-wrap">
|
||||
<span class="fw-bold text-dark fs-6" style="color: var(--brand-color);">{{ asset.code }}</span>
|
||||
{% if asset.status == 'active' %}
|
||||
<span class="badge bg-success">{{ asset.get_status_display }}</span>
|
||||
{% elif asset.status == 'damaged' or asset.status == 'to_replace' %}
|
||||
<span class="badge bg-warning text-dark">{{ asset.get_status_display }}</span>
|
||||
{% else %}
|
||||
<span class="badge bg-secondary">{{ asset.get_status_display|default:asset.status }}</span>
|
||||
{% endif %}
|
||||
</div>
|
||||
<div class="small text-secondary text-truncate">
|
||||
{% if thematic.name_fr %}
|
||||
<span>{{ thematic.name_fr }}</span> •
|
||||
{% endif %}
|
||||
<span>{{ asset_verbose_name }}</span>
|
||||
{% if asset.name_fr %}
|
||||
— <span class="fw-semibold text-dark">{{ asset.name_fr }}</span>
|
||||
{% elif asset.model %}
|
||||
— <span class="fw-semibold text-dark">{{ asset.model.get_name }}</span>
|
||||
{% endif %}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
{# Barre de navigation par onglets segmentés (Infos, Carte, Documents, Liens) #}
|
||||
<div class="mobile-asset-tabs-nav" id="mobileAssetTabsNav">
|
||||
<button type="button" class="mobile-tab-btn active" data-target-tab="tab-infos">
|
||||
<i class="bi bi-card-checklist"></i>{% translate "Informations" %}
|
||||
</button>
|
||||
<button type="button" class="mobile-tab-btn" data-target-tab="tab-geo">
|
||||
<i class="bi bi-geo-alt"></i>{% translate "Carte & Localisation" %}
|
||||
</button>
|
||||
<button type="button" class="mobile-tab-btn" data-target-tab="tab-docs">
|
||||
<i class="bi bi-paperclip"></i>{% translate "Documents & Photos" %}
|
||||
</button>
|
||||
<button type="button" class="mobile-tab-btn" data-target-tab="tab-links">
|
||||
<i class="bi bi-link-45deg"></i>{% translate "Assets Liés" %}
|
||||
</button>
|
||||
</div>
|
||||
{% endblock asset_header_title_readonly %}
|
||||
|
||||
{# ── Script pour la gestion des onglets mobiles ── #}
|
||||
{% block extra_scripts %}
|
||||
{{ block.super }}
|
||||
<script>
|
||||
(function() {
|
||||
function initMobileAssetTabs() {
|
||||
const tabButtons = document.querySelectorAll('.mobile-tab-btn');
|
||||
const container = document.getElementById('asset-detail-container');
|
||||
if (!tabButtons.length || !container) return;
|
||||
|
||||
// Identification des cartes par catégorie
|
||||
const mainCol = container.querySelector('.col-12, .col-md-8');
|
||||
const sideCol = container.querySelector('.col-md-4, .col-12:last-child');
|
||||
|
||||
// Assigner les classes de section aux cartes
|
||||
// 1. Informations
|
||||
const infoCards = [
|
||||
container.querySelector('.card:has(table)'),
|
||||
document.getElementById('model-card'),
|
||||
container.querySelector('.card:has(#observations-card)'),
|
||||
].filter(Boolean);
|
||||
|
||||
// 2. Géolocalisation & Carte
|
||||
const geoCards = [
|
||||
container.querySelector('.card:has(#asset-map)'),
|
||||
container.querySelector('.card:has(.asset-location-link)'),
|
||||
].filter(Boolean);
|
||||
|
||||
// 3. Documents
|
||||
const docCards = [
|
||||
document.getElementById('documents-card') || container.querySelector('.card:has(#documents-list)') || container.querySelector('.card:has(.document-item)')
|
||||
].filter(Boolean);
|
||||
|
||||
// 4. Assets Liés & Remplacements
|
||||
const linkCards = [
|
||||
container.querySelector('.card:has(.replacement-chain)'),
|
||||
container.querySelector('.card:has(#associated-assets-list)'),
|
||||
container.querySelector('.card:has(#linked-interventions-list)'),
|
||||
].filter(Boolean);
|
||||
|
||||
// Initialiser les groupes
|
||||
infoCards.forEach(c => c && c.classList.add('mobile-section-infos'));
|
||||
geoCards.forEach(c => c && c.classList.add('mobile-section-geo'));
|
||||
docCards.forEach(c => c && c.classList.add('mobile-section-docs'));
|
||||
linkCards.forEach(c => c && c.classList.add('mobile-section-links'));
|
||||
|
||||
function showSection(targetTab) {
|
||||
tabButtons.forEach(btn => {
|
||||
if (btn.dataset.targetTab === targetTab) {
|
||||
btn.classList.add('active');
|
||||
} else {
|
||||
btn.classList.remove('active');
|
||||
}
|
||||
});
|
||||
|
||||
const allCustomSections = container.querySelectorAll(
|
||||
'.mobile-section-infos, .mobile-section-geo, .mobile-section-docs, .mobile-section-links'
|
||||
);
|
||||
|
||||
if (targetTab === 'tab-infos') {
|
||||
allCustomSections.forEach(c => c.style.display = 'none');
|
||||
infoCards.forEach(c => c.style.display = '');
|
||||
// Si aucune carte taguée infos, tout afficher
|
||||
if (!infoCards.length) allCustomSections.forEach(c => c.style.display = '');
|
||||
} else if (targetTab === 'tab-geo') {
|
||||
allCustomSections.forEach(c => c.style.display = 'none');
|
||||
geoCards.forEach(c => c.style.display = '');
|
||||
// Redimensionner la carte MapLibre pour s'adapter au conteneur
|
||||
setTimeout(() => {
|
||||
window.dispatchEvent(new Event('resize'));
|
||||
}, 100);
|
||||
} else if (targetTab === 'tab-docs') {
|
||||
allCustomSections.forEach(c => c.style.display = 'none');
|
||||
docCards.forEach(c => c.style.display = '');
|
||||
} else if (targetTab === 'tab-links') {
|
||||
allCustomSections.forEach(c => c.style.display = 'none');
|
||||
linkCards.forEach(c => c.style.display = '');
|
||||
}
|
||||
}
|
||||
|
||||
tabButtons.forEach(btn => {
|
||||
btn.addEventListener('click', () => {
|
||||
showSection(btn.dataset.targetTab);
|
||||
});
|
||||
});
|
||||
|
||||
// Par défaut, afficher les infos
|
||||
showSection('tab-infos');
|
||||
|
||||
// Si on active le mode édition, s'assurer que les champs éditables restent interactifs
|
||||
document.addEventListener('assetEditModeChanged', (e) => {
|
||||
if (e.detail && e.detail.editing) {
|
||||
// En mode édition, toutes les cartes peuvent être consultées via les onglets
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
if (document.readyState === 'loading') {
|
||||
document.addEventListener('DOMContentLoaded', initMobileAssetTabs);
|
||||
} else {
|
||||
initMobileAssetTabs();
|
||||
}
|
||||
})();
|
||||
</script>
|
||||
{% endblock extra_scripts %}
|
||||
|
||||
{% block script %}
|
||||
{{ block.super }}
|
||||
{% endblock script %}
|
||||
|
|
@ -3,12 +3,42 @@
|
|||
{% load static %}
|
||||
{% load asset_tags %}
|
||||
|
||||
{% block head %}
|
||||
{{ block.super }}
|
||||
<style>
|
||||
/* Adaptations spécifiques pour la vue Arbre sur mobile */
|
||||
@media (max-width: 767.98px) {
|
||||
.tree-header-icon {
|
||||
width: 38px !important;
|
||||
height: 38px !important;
|
||||
min-width: 38px;
|
||||
}
|
||||
.tree-header-icon i {
|
||||
font-size: 1.3rem !important;
|
||||
}
|
||||
.tree-metric-widget {
|
||||
padding: 0.35rem !important;
|
||||
}
|
||||
.tree-metric-widget .metric-title {
|
||||
font-size: 0.72rem;
|
||||
letter-spacing: -0.2px;
|
||||
}
|
||||
.tree-metric-widget .metric-value {
|
||||
font-size: 1.05rem;
|
||||
}
|
||||
.card-header h5 {
|
||||
font-size: 0.95rem !important;
|
||||
}
|
||||
}
|
||||
</style>
|
||||
{% endblock head %}
|
||||
|
||||
{# ══════════════════════════════════════════════════════════════════════════════ #}
|
||||
{# EN-TÊTE SPÉCIFIQUE ARBRE #}
|
||||
{# ══════════════════════════════════════════════════════════════════════════════ #}
|
||||
{% block asset_header_title %}
|
||||
<div class="d-flex align-items-center gap-3">
|
||||
<div class="rounded-circle bg-success-subtle p-2 d-flex align-items-center justify-content-center" style="width: 46px; height: 46px;">
|
||||
<div class="rounded-circle bg-success-subtle p-2 d-flex align-items-center justify-content-center tree-header-icon" style="width: 46px; height: 46px;">
|
||||
<i class="bi bi-tree-fill text-success" style="font-size: 1.6rem;"></i>
|
||||
</div>
|
||||
<div>
|
||||
|
|
@ -79,7 +109,7 @@
|
|||
|
||||
{% block asset_header_title_readonly %}
|
||||
<div class="d-flex align-items-center gap-3">
|
||||
<div class="rounded-circle bg-success-subtle p-2 d-flex align-items-center justify-content-center" style="width: 46px; height: 46px;">
|
||||
<div class="rounded-circle bg-success-subtle p-2 d-flex align-items-center justify-content-center tree-header-icon" style="width: 46px; height: 46px;">
|
||||
<i class="bi bi-tree-fill text-success" style="font-size: 1.6rem;"></i>
|
||||
</div>
|
||||
<div>
|
||||
|
|
@ -362,25 +392,25 @@
|
|||
{# Mini-widgets d'indicateurs visuels #}
|
||||
<div class="row g-2 mb-3">
|
||||
<div class="col-4">
|
||||
<div class="p-2 border rounded text-center bg-light-subtle">
|
||||
<div class="small text-muted mb-1"><i class="bi bi-arrow-up-down text-success me-1"></i>{% translate "Hauteur" %}</div>
|
||||
<div class="fs-5 fw-bold text-success">
|
||||
<div class="p-2 border rounded text-center bg-light-subtle tree-metric-widget">
|
||||
<div class="small text-muted mb-1 metric-title text-truncate"><i class="bi bi-arrow-up-down text-success me-1"></i>{% translate "Hauteur" %}</div>
|
||||
<div class="fs-5 fw-bold text-success metric-value">
|
||||
{% if asset.height %}{{ asset.height }} <small class="text-muted fw-normal" style="font-size: 0.75rem;">m</small>{% else %}<span class="text-muted fs-6">—</span>{% endif %}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-4">
|
||||
<div class="p-2 border rounded text-center bg-light-subtle">
|
||||
<div class="small text-muted mb-1"><i class="bi bi-circle text-primary me-1"></i>{% translate "Circonférence" %}</div>
|
||||
<div class="fs-5 fw-bold text-primary">
|
||||
<div class="p-2 border rounded text-center bg-light-subtle tree-metric-widget">
|
||||
<div class="small text-muted mb-1 metric-title text-truncate"><i class="bi bi-circle text-primary me-1"></i>{% translate "Circonférence" %}</div>
|
||||
<div class="fs-5 fw-bold text-primary metric-value">
|
||||
{% if asset.circumference %}{{ asset.circumference }} <small class="text-muted fw-normal" style="font-size: 0.75rem;">cm</small>{% else %}<span class="text-muted fs-6">—</span>{% endif %}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-4">
|
||||
<div class="p-2 border rounded text-center bg-light-subtle">
|
||||
<div class="small text-muted mb-1"><i class="bi bi-arrows-expand text-info me-1"></i>{% translate "Houppier" %}</div>
|
||||
<div class="fs-5 fw-bold text-info-emphasis">
|
||||
<div class="p-2 border rounded text-center bg-light-subtle tree-metric-widget">
|
||||
<div class="small text-muted mb-1 metric-title text-truncate"><i class="bi bi-arrows-expand text-info me-1"></i>{% translate "Houppier" %}</div>
|
||||
<div class="fs-5 fw-bold text-info-emphasis metric-value">
|
||||
{% if asset.crown_diameter %}{{ asset.crown_diameter }} <small class="text-muted fw-normal" style="font-size: 0.75rem;">m</small>{% else %}<span class="text-muted fs-6">—</span>{% endif %}
|
||||
</div>
|
||||
</div>
|
||||
|
|
@ -391,11 +421,11 @@
|
|||
<tbody>
|
||||
<!-- Hauteur totale -->
|
||||
<tr class="asset-editable-field" data-field="height" data-can-edit="{% if 'height' in allowed_update_fields %}true{% else %}false{% endif %}">
|
||||
<th style="width: 32%;">{% translate "Hauteur totale (m)" %}</th>
|
||||
<th style="width: 35%;">{% translate "Hauteur totale (m)" %}</th>
|
||||
<td>
|
||||
<div class="field-display"><span class="field-value">{% if asset.height %}{{ asset.height }} m{% else %}-{% endif %}</span></div>
|
||||
<div class="field-edit d-none">
|
||||
<input type="number" step="0.1" class="form-control form-control-sm" value="{{ asset.height|default:'' }}">
|
||||
<input type="number" step="0.1" inputmode="decimal" class="form-control form-control-sm" value="{{ asset.height|default:'' }}">
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
|
|
@ -406,7 +436,7 @@
|
|||
<td>
|
||||
<div class="field-display"><span class="field-value">{% if asset.circumference %}{{ asset.circumference }} cm{% else %}-{% endif %}</span></div>
|
||||
<div class="field-edit d-none">
|
||||
<input type="number" step="1" class="form-control form-control-sm" value="{{ asset.circumference|default:'' }}" placeholder="{% translate 'En cm' %}">
|
||||
<input type="number" step="1" inputmode="numeric" class="form-control form-control-sm" value="{{ asset.circumference|default:'' }}" placeholder="{% translate 'En cm' %}">
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
|
|
@ -417,7 +447,7 @@
|
|||
<td>
|
||||
<div class="field-display"><span class="field-value">{% if asset.crown_diameter %}{{ asset.crown_diameter }} m{% else %}-{% endif %}</span></div>
|
||||
<div class="field-edit d-none">
|
||||
<input type="number" step="0.5" class="form-control form-control-sm" value="{{ asset.crown_diameter|default:'' }}">
|
||||
<input type="number" step="0.5" inputmode="decimal" class="form-control form-control-sm" value="{{ asset.crown_diameter|default:'' }}">
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
|
|
@ -432,7 +462,7 @@
|
|||
</span>
|
||||
</div>
|
||||
<div class="field-edit d-none">
|
||||
<input type="number" step="0.1" class="form-control form-control-sm" value="{{ asset.crown_clearance|default:'' }}" placeholder="{% translate 'Ex: 4.5' %}">
|
||||
<input type="number" step="0.1" inputmode="decimal" class="form-control form-control-sm" value="{{ asset.crown_clearance|default:'' }}" placeholder="{% translate 'Ex: 4.5' %}">
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
|
|
@ -467,7 +497,7 @@
|
|||
<td>
|
||||
<div class="field-display"><span class="field-value">{% if asset.protection_buffer %}{{ asset.protection_buffer }} m{% else %}-{% endif %}</span></div>
|
||||
<div class="field-edit d-none">
|
||||
<input type="number" step="0.5" class="form-control form-control-sm" value="{{ asset.protection_buffer|default:'' }}">
|
||||
<input type="number" step="0.5" inputmode="decimal" class="form-control form-control-sm" value="{{ asset.protection_buffer|default:'' }}">
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
|
|
@ -478,7 +508,7 @@
|
|||
<td>
|
||||
<div class="field-display"><span class="field-value">{% if asset.depth %}{{ asset.depth }} m{% else %}-{% endif %}</span></div>
|
||||
<div class="field-edit d-none">
|
||||
<input type="number" step="0.1" class="form-control form-control-sm" value="{{ asset.depth|default:'' }}">
|
||||
<input type="number" step="0.1" inputmode="decimal" class="form-control form-control-sm" value="{{ asset.depth|default:'' }}">
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
|
|
@ -764,7 +794,7 @@
|
|||
</span>
|
||||
</div>
|
||||
<div class="field-edit d-none">
|
||||
<input type="number" step="1" min="1" max="20" class="form-control form-control-sm" value="{{ asset.pruning_frequency_years|default:'' }}" placeholder="{% translate 'Nombre d années' %}">
|
||||
<input type="number" step="1" min="1" max="20" inputmode="numeric" class="form-control form-control-sm" value="{{ asset.pruning_frequency_years|default:'' }}" placeholder="{% translate 'Nombre d années' %}">
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
|
|
|
|||
|
|
@ -161,7 +161,7 @@ def get_asset_edit_context(request, asset, content_type):
|
|||
pass
|
||||
|
||||
# Get thematic code for URL construction
|
||||
# Priority: asset.category > asset.model.category > None
|
||||
# Priority: asset.category > asset.model.category > _get_asset_thematic > None
|
||||
thematic_code = None
|
||||
thematic = None
|
||||
_thematic_source = None
|
||||
|
|
@ -169,6 +169,9 @@ def get_asset_edit_context(request, asset, content_type):
|
|||
_thematic_source = asset.category.thematic
|
||||
elif hasattr(asset, 'model') and asset.model and getattr(asset.model, 'category', None) and asset.model.category.thematic:
|
||||
_thematic_source = asset.model.category.thematic
|
||||
else:
|
||||
from assets.permissions import _get_asset_thematic
|
||||
_thematic_source = _get_asset_thematic(asset)
|
||||
if _thematic_source:
|
||||
thematic_code = _thematic_source.code
|
||||
thematic = _thematic_source
|
||||
|
|
@ -246,8 +249,28 @@ def locations_geojson(request):
|
|||
pass
|
||||
|
||||
|
||||
def mobile_asset_detail(request, thematic_code, asset_model, asset_id):
|
||||
"""Mobile-friendly asset detail using the generic template with the mobile base."""
|
||||
def mobile_asset_detail(request, *args, **kwargs):
|
||||
"""
|
||||
Mobile-friendly asset detail using specific or generic template with the mobile base.
|
||||
Aligns permissions strictly with desktop criteria (can_view_asset, thematic access).
|
||||
"""
|
||||
from assets.permissions import can_view_asset, _get_asset_thematic
|
||||
from django.core.exceptions import PermissionDenied
|
||||
|
||||
# Handle both keyword arguments and positional arguments
|
||||
thematic_code = kwargs.get('thematic_code')
|
||||
asset_model = kwargs.get('asset_model')
|
||||
asset_id = kwargs.get('asset_id')
|
||||
|
||||
if not asset_model and len(args) >= 2:
|
||||
if len(args) >= 3:
|
||||
thematic_code = args[0]
|
||||
asset_model = args[1]
|
||||
asset_id = args[2]
|
||||
else:
|
||||
asset_model = args[0]
|
||||
asset_id = args[1]
|
||||
|
||||
try:
|
||||
model_name = asset_model.lower().replace('_', '')
|
||||
content_type = ContentType.objects.get(app_label='assets', model=model_name)
|
||||
|
|
@ -257,14 +280,26 @@ def mobile_asset_detail(request, thematic_code, asset_model, asset_id):
|
|||
|
||||
asset = get_object_or_404(model_class, id=asset_id)
|
||||
|
||||
# Permission gate based on the provided thematic code
|
||||
permission_check = check_thematic_access(thematic_code)
|
||||
result = permission_check(lambda req, *a, **kw: None)(request)
|
||||
if result is not None:
|
||||
return result
|
||||
# Permission check: identical criteria to desktop (roles, instances, contracts)
|
||||
if not can_view_asset(request.user, asset):
|
||||
raise PermissionDenied(_("Vous n'avez pas la permission de consulter cet asset."))
|
||||
|
||||
# Deduce thematic if omitted
|
||||
if not thematic_code:
|
||||
thematic = _get_asset_thematic(asset)
|
||||
thematic_code = thematic.code if thematic else None
|
||||
|
||||
# Permission gate based on the thematic code
|
||||
if thematic_code:
|
||||
permission_check = check_thematic_access(thematic_code)
|
||||
result = permission_check(lambda req, *a, **kw: None)(request)
|
||||
if result is not None:
|
||||
return result
|
||||
|
||||
template = select_template([
|
||||
f"assets/{asset_model}_detail_mobile.html",
|
||||
f"assets/{asset_model}_detail.html",
|
||||
"assets/detail_generic_mobile.html",
|
||||
"assets/detail_generic.html",
|
||||
])
|
||||
|
||||
|
|
@ -279,15 +314,28 @@ def mobile_asset_detail(request, thematic_code, asset_model, asset_id):
|
|||
match = re.search(r'/interventions/(\d+)', referer)
|
||||
if match:
|
||||
back_url = reverse('mobile:intervention_detail_mobile', args=[match.group(1)])
|
||||
elif '/mobile/assets/' in referer:
|
||||
back_url = reverse('mobile:mobile_assets_index')
|
||||
if not back_url:
|
||||
try:
|
||||
back_url = reverse('mobile:mobile_assets_index')
|
||||
except Exception:
|
||||
back_url = '/mobile/'
|
||||
|
||||
context = {
|
||||
context = get_asset_edit_context(request, asset, content_type)
|
||||
context.update({
|
||||
"asset": asset,
|
||||
"content_type": content_type,
|
||||
"base_template": "mobile/mobile_base.html",
|
||||
"mobile_view": True,
|
||||
"is_mobile": True,
|
||||
"back_url": back_url,
|
||||
}
|
||||
context.update(get_asset_edit_context(request, asset, content_type))
|
||||
"thematic_code": thematic_code or context.get("thematic_code"),
|
||||
"asset_model": asset_model,
|
||||
})
|
||||
if thematic_code and not context.get("thematic"):
|
||||
from common.models import Thematic
|
||||
context["thematic"] = Thematic.objects.filter(code=thematic_code).first()
|
||||
|
||||
return render(request, template.template.name, context)
|
||||
|
||||
|
|
|
|||
Binary file not shown.
|
|
@ -7,7 +7,7 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: PACKAGE VERSION\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2026-08-19 09:47+0200\n"
|
||||
"POT-Creation-Date: 2026-09-13 09:05+0200\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
|
|
@ -20,7 +20,7 @@ msgstr ""
|
|||
#: authorizations/admin.py:28
|
||||
#: authorizations/templates/authorizations/authorization_detail.html:73
|
||||
#: authorizations/templates/authorizations/authorization_list.html:73
|
||||
#: authorizations/templates/authorizations/authorization_list.html:139
|
||||
#: authorizations/templates/authorizations/authorization_list.html:178
|
||||
msgid "Type"
|
||||
msgstr "Type"
|
||||
|
||||
|
|
@ -53,10 +53,18 @@ msgstr "Include archives (> 2 years)"
|
|||
msgid "Type d'autorisation"
|
||||
msgstr "Authorisation type"
|
||||
|
||||
#: authorizations/forms.py:140
|
||||
#: authorizations/forms.py:138 authorizations/models.py:64
|
||||
msgid "Agent traitant"
|
||||
msgstr "Handling agent"
|
||||
|
||||
#: authorizations/forms.py:145
|
||||
msgid "Recherche…"
|
||||
msgstr "Search…"
|
||||
|
||||
#: authorizations/forms.py:163
|
||||
msgid "Non assigné"
|
||||
msgstr ""
|
||||
|
||||
#: authorizations/models.py:17
|
||||
msgid "Affichage (panneau, ...)"
|
||||
msgstr "Display (panel, ...)"
|
||||
|
|
@ -158,10 +166,6 @@ msgstr "Address"
|
|||
msgid "Entreprise"
|
||||
msgstr "Company"
|
||||
|
||||
#: authorizations/models.py:64
|
||||
msgid "Agent traitant"
|
||||
msgstr "Handling agent"
|
||||
|
||||
#: authorizations/models.py:66
|
||||
msgid "Commentaire"
|
||||
msgstr "Comment"
|
||||
|
|
@ -173,7 +177,7 @@ msgstr "Location – Address"
|
|||
#: authorizations/models.py:68
|
||||
#: authorizations/templates/authorizations/authorization_detail.html:95
|
||||
#: authorizations/templates/authorizations/authorization_detail.html:228
|
||||
#: authorizations/templates/authorizations/authorization_list.html:142
|
||||
#: authorizations/templates/authorizations/authorization_list.html:182
|
||||
msgid "Localisation"
|
||||
msgstr "Location"
|
||||
|
||||
|
|
@ -254,12 +258,12 @@ msgid "Informations générales"
|
|||
msgstr "General information"
|
||||
|
||||
#: authorizations/templates/authorizations/authorization_detail.html:55
|
||||
#: authorizations/templates/authorizations/authorization_list.html:138
|
||||
#: authorizations/templates/authorizations/authorization_list.html:177
|
||||
msgid "Code"
|
||||
msgstr "Code"
|
||||
|
||||
#: authorizations/templates/authorizations/authorization_detail.html:58
|
||||
#: authorizations/templates/authorizations/authorization_list.html:140
|
||||
#: authorizations/templates/authorizations/authorization_list.html:179
|
||||
msgid "Statut"
|
||||
msgstr "Status"
|
||||
|
||||
|
|
@ -272,11 +276,13 @@ msgid "Mis à jour"
|
|||
msgstr "Updated"
|
||||
|
||||
#: authorizations/templates/authorizations/authorization_detail.html:83
|
||||
#: authorizations/templates/authorizations/authorization_list.html:112
|
||||
#: authorizations/templates/authorizations/authorization_list.html:181
|
||||
msgid "Agent"
|
||||
msgstr "Agent"
|
||||
|
||||
#: authorizations/templates/authorizations/authorization_detail.html:102
|
||||
#: authorizations/templates/authorizations/authorization_list.html:141
|
||||
#: authorizations/templates/authorizations/authorization_list.html:180
|
||||
msgid "Demandeur"
|
||||
msgstr "Applicant"
|
||||
|
||||
|
|
@ -347,7 +353,7 @@ msgid "Recherche"
|
|||
msgstr "Search"
|
||||
|
||||
#: authorizations/templates/authorizations/authorization_list.html:82
|
||||
#: authorizations/templates/authorizations/authorization_list.html:207
|
||||
#: authorizations/templates/authorizations/authorization_list.html:249
|
||||
msgid "Tous les types"
|
||||
msgstr "All types"
|
||||
|
||||
|
|
@ -356,7 +362,8 @@ msgid "Rechercher un type..."
|
|||
msgstr "Search"
|
||||
|
||||
#: authorizations/templates/authorizations/authorization_list.html:92
|
||||
#: authorizations/templates/authorizations/new_authorization_default.html:226
|
||||
#: authorizations/templates/authorizations/authorization_list.html:131
|
||||
#: authorizations/templates/authorizations/new_authorization_default.html:223
|
||||
msgid "Effacer"
|
||||
msgstr "Clear"
|
||||
|
||||
|
|
@ -365,21 +372,38 @@ msgid "Aucun type correspondant"
|
|||
msgstr "Aucun type correspondant"
|
||||
|
||||
#: authorizations/templates/authorizations/authorization_list.html:121
|
||||
#: authorizations/templates/authorizations/authorization_list.html:326
|
||||
msgid "Tous les agents"
|
||||
msgstr "All agents"
|
||||
|
||||
#: authorizations/templates/authorizations/authorization_list.html:128
|
||||
msgid "Rechercher un agent..."
|
||||
msgstr "Search an agent..."
|
||||
|
||||
#: authorizations/templates/authorizations/authorization_list.html:145
|
||||
msgid "Aucun agent correspondant"
|
||||
msgstr "No matching agent"
|
||||
|
||||
#: authorizations/templates/authorizations/authorization_list.html:160
|
||||
msgid "Filtrer"
|
||||
msgstr "Filter"
|
||||
|
||||
#: authorizations/templates/authorizations/authorization_list.html:143
|
||||
#: authorizations/templates/authorizations/authorization_list.html:183
|
||||
msgid "Date de création"
|
||||
msgstr "Creation date"
|
||||
|
||||
#: authorizations/templates/authorizations/authorization_list.html:177
|
||||
#: authorizations/templates/authorizations/authorization_list.html:218
|
||||
msgid "Aucune demande trouvée."
|
||||
msgstr "No request found."
|
||||
|
||||
#: authorizations/templates/authorizations/authorization_list.html:215
|
||||
#: authorizations/templates/authorizations/authorization_list.html:257
|
||||
msgid "types sélectionnés"
|
||||
msgstr ""
|
||||
|
||||
#: authorizations/templates/authorizations/authorization_list.html:334
|
||||
msgid "agents sélectionnés"
|
||||
msgstr ""
|
||||
|
||||
#: authorizations/templates/authorizations/authorization_success.html:9
|
||||
#: authorizations/templates/authorizations/authorization_success.html:37
|
||||
msgid "Demande enregistrée"
|
||||
|
|
@ -391,7 +415,7 @@ msgstr "Request saved"
|
|||
#: authorizations/templates/authorizations/email_verify_code.html:35
|
||||
#: authorizations/templates/authorizations/new_authorization_default.html:9
|
||||
#: authorizations/templates/authorizations/new_authorization_default.html:99
|
||||
#: authorizations/templates/authorizations/new_authorization_default.html:376
|
||||
#: authorizations/templates/authorizations/new_authorization_default.html:373
|
||||
msgid "Demande d'occupation de l'espace public"
|
||||
msgstr "Public space occupation request"
|
||||
|
||||
|
|
@ -579,11 +603,8 @@ msgstr "Location (draw a polygon to indicate the area concerned)"
|
|||
msgid "Dessiner un polygone"
|
||||
msgstr "Draw a polygon"
|
||||
|
||||
#: authorizations/templates/authorizations/new_authorization_default.html:223
|
||||
msgid "Terminer"
|
||||
msgstr "Finish"
|
||||
|
||||
#: authorizations/templates/authorizations/new_authorization_default.html:231
|
||||
#: authorizations/templates/authorizations/new_authorization_default.html:228
|
||||
#: authorizations/templates/authorizations/new_authorization_default.html:578
|
||||
msgid ""
|
||||
"Cliquez sur « Dessiner un polygone » puis cliquez sur la carte pour ajouter "
|
||||
"des sommets. Cliquez sur le premier sommet pour fermer le polygone."
|
||||
|
|
@ -591,87 +612,87 @@ msgstr ""
|
|||
"Click « Draw a polygon » then click on the map to add vertices. Click on the"
|
||||
" first vertex to close the polygon."
|
||||
|
||||
#: authorizations/templates/authorizations/new_authorization_default.html:245
|
||||
#: authorizations/templates/authorizations/new_authorization_default.html:242
|
||||
msgid "Vos coordonnées"
|
||||
msgstr "Your contact details"
|
||||
|
||||
#: authorizations/templates/authorizations/new_authorization_default.html:278
|
||||
#: authorizations/templates/authorizations/new_authorization_default.html:317
|
||||
#: authorizations/templates/authorizations/new_authorization_default.html:337
|
||||
#: authorizations/templates/authorizations/new_authorization_default.html:275
|
||||
#: authorizations/templates/authorizations/new_authorization_default.html:314
|
||||
#: authorizations/templates/authorizations/new_authorization_default.html:334
|
||||
msgid "optionnel"
|
||||
msgstr "optional"
|
||||
|
||||
#: authorizations/templates/authorizations/new_authorization_default.html:292
|
||||
#: authorizations/templates/authorizations/new_authorization_default.html:289
|
||||
msgid "Date(s) d'occupation"
|
||||
msgstr "Occupation date(s)"
|
||||
|
||||
#: authorizations/templates/authorizations/new_authorization_default.html:298
|
||||
#: authorizations/templates/authorizations/new_authorization_default.html:295
|
||||
msgid "Veuillez indiquer au moins une date de début d'occupation."
|
||||
msgstr "Please provide at least one occupation start date."
|
||||
|
||||
#: authorizations/templates/authorizations/new_authorization_default.html:328
|
||||
#: authorizations/templates/authorizations/new_authorization_default.html:325
|
||||
msgid "Ajouter une date"
|
||||
msgstr "Add a date"
|
||||
|
||||
#: authorizations/templates/authorizations/new_authorization_default.html:336
|
||||
#: authorizations/templates/authorizations/new_authorization_default.html:333
|
||||
msgid "Document(s) à joindre"
|
||||
msgstr "Document(s) to attach"
|
||||
|
||||
#: authorizations/templates/authorizations/new_authorization_default.html:360
|
||||
#: authorizations/templates/authorizations/new_authorization_default.html:357
|
||||
msgid "Ajouter un document"
|
||||
msgstr "Add a document"
|
||||
|
||||
#: authorizations/templates/authorizations/new_authorization_default.html:367
|
||||
#: authorizations/templates/authorizations/new_authorization_default.html:364
|
||||
msgid "Envoyer la demande"
|
||||
msgstr "Submit the request"
|
||||
|
||||
#: authorizations/templates/authorizations/new_authorization_default.html:385
|
||||
#: authorizations/templates/authorizations/new_authorization_default.html:382
|
||||
msgid ""
|
||||
"Veillez à joindre en annexe l'attestation d'assurance couvrant tous les "
|
||||
"risques."
|
||||
msgstr "Please attach the insurance certificate covering all risks."
|
||||
|
||||
#: authorizations/templates/authorizations/new_authorization_default.html:386
|
||||
msgid "Veillez à joindre en annexe l'autorisation de la commune."
|
||||
msgstr "Please attach the municipal authorisation."
|
||||
|
||||
#: authorizations/templates/authorizations/new_authorization_default.html:472
|
||||
#: authorizations/templates/authorizations/new_authorization_default.html:521
|
||||
#: authorizations/templates/authorizations/new_authorization_default.html:468
|
||||
#: authorizations/templates/authorizations/new_authorization_default.html:576
|
||||
msgid "Polygone enregistré. Cliquez sur « Dessiner » pour le redessiner."
|
||||
msgstr "Polygon saved. Click « Draw » to redraw it."
|
||||
|
||||
#: authorizations/templates/authorizations/new_authorization_default.html:492
|
||||
#: authorizations/templates/authorizations/new_authorization_default.html:496
|
||||
msgid "Cliquer pour fermer le polygone"
|
||||
msgstr "Click to close the polygon"
|
||||
|
||||
#: authorizations/templates/authorizations/new_authorization_default.html:536
|
||||
msgid ""
|
||||
"Cliquez sur « Dessiner un polygone » puis cliquez sur la carte pour ajouter "
|
||||
"des sommets."
|
||||
msgstr "Click « Draw a polygon » then click on the map to add vertices."
|
||||
#: authorizations/templates/authorizations/new_authorization_default.html:584
|
||||
msgid "Cliquez sur la carte pour ajouter des sommets."
|
||||
msgstr "Click on the map to add vertices."
|
||||
|
||||
#: authorizations/templates/authorizations/new_authorization_default.html:559
|
||||
#: authorizations/templates/authorizations/new_authorization_default.html:586
|
||||
msgid ""
|
||||
"Cliquez sur la carte pour ajouter des sommets. Cliquez sur le premier sommet"
|
||||
" pour fermer le polygone."
|
||||
msgstr ""
|
||||
|
||||
#: authorizations/views.py:326 authorizations/views.py:375
|
||||
#: authorizations/views.py:326 authorizations/views.py:390
|
||||
msgid "Vous n'avez pas accès à cette vue."
|
||||
msgstr ""
|
||||
|
||||
#: authorizations/views.py:392
|
||||
#: authorizations/views.py:407
|
||||
msgid "La demande a été mise à jour avec succès."
|
||||
msgstr ""
|
||||
|
||||
#: authorizations/views.py:409
|
||||
#: authorizations/views.py:424
|
||||
msgid "Le document a été ajouté avec succès."
|
||||
msgstr ""
|
||||
|
||||
#: authorizations/views.py:413
|
||||
#: authorizations/views.py:428
|
||||
msgid "Veuillez fournir une description et un fichier."
|
||||
msgstr "Veuillez fournir une description et un fichier."
|
||||
|
||||
#~ msgid "Terminer"
|
||||
#~ msgstr "Finish"
|
||||
|
||||
#~ msgid "Veillez à joindre en annexe l'autorisation de la commune."
|
||||
#~ msgstr "Please attach the municipal authorisation."
|
||||
|
||||
#~ msgid "Autorisation de voirie"
|
||||
#~ msgstr "Road authorisation"
|
||||
|
||||
|
|
|
|||
Binary file not shown.
|
|
@ -7,7 +7,7 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: PACKAGE VERSION\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2026-08-19 09:47+0200\n"
|
||||
"POT-Creation-Date: 2026-09-12 15:59+0200\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
|
|
@ -20,7 +20,7 @@ msgstr ""
|
|||
#: authorizations/admin.py:28
|
||||
#: authorizations/templates/authorizations/authorization_detail.html:73
|
||||
#: authorizations/templates/authorizations/authorization_list.html:73
|
||||
#: authorizations/templates/authorizations/authorization_list.html:139
|
||||
#: authorizations/templates/authorizations/authorization_list.html:178
|
||||
msgid "Type"
|
||||
msgstr "Type"
|
||||
|
||||
|
|
@ -53,10 +53,18 @@ msgstr "Inclure les archives (> 2 ans)"
|
|||
msgid "Type d'autorisation"
|
||||
msgstr "Type d'autorisation"
|
||||
|
||||
#: authorizations/forms.py:140
|
||||
#: authorizations/forms.py:138 authorizations/models.py:64
|
||||
msgid "Agent traitant"
|
||||
msgstr "Agent traitant"
|
||||
|
||||
#: authorizations/forms.py:145
|
||||
msgid "Recherche…"
|
||||
msgstr "Recherche…"
|
||||
|
||||
#: authorizations/forms.py:163
|
||||
msgid "Non assigné"
|
||||
msgstr ""
|
||||
|
||||
#: authorizations/models.py:17
|
||||
msgid "Affichage (panneau, ...)"
|
||||
msgstr "Affichage (panneau, ...)"
|
||||
|
|
@ -158,10 +166,6 @@ msgstr "Adresse"
|
|||
msgid "Entreprise"
|
||||
msgstr "Entreprise"
|
||||
|
||||
#: authorizations/models.py:64
|
||||
msgid "Agent traitant"
|
||||
msgstr "Agent traitant"
|
||||
|
||||
#: authorizations/models.py:66
|
||||
msgid "Commentaire"
|
||||
msgstr "Commentaire"
|
||||
|
|
@ -173,7 +177,7 @@ msgstr "Localisation – Adresse"
|
|||
#: authorizations/models.py:68
|
||||
#: authorizations/templates/authorizations/authorization_detail.html:95
|
||||
#: authorizations/templates/authorizations/authorization_detail.html:228
|
||||
#: authorizations/templates/authorizations/authorization_list.html:142
|
||||
#: authorizations/templates/authorizations/authorization_list.html:182
|
||||
msgid "Localisation"
|
||||
msgstr "Localisation"
|
||||
|
||||
|
|
@ -254,12 +258,12 @@ msgid "Informations générales"
|
|||
msgstr "Informations générales"
|
||||
|
||||
#: authorizations/templates/authorizations/authorization_detail.html:55
|
||||
#: authorizations/templates/authorizations/authorization_list.html:138
|
||||
#: authorizations/templates/authorizations/authorization_list.html:177
|
||||
msgid "Code"
|
||||
msgstr "Code"
|
||||
|
||||
#: authorizations/templates/authorizations/authorization_detail.html:58
|
||||
#: authorizations/templates/authorizations/authorization_list.html:140
|
||||
#: authorizations/templates/authorizations/authorization_list.html:179
|
||||
msgid "Statut"
|
||||
msgstr "Statut"
|
||||
|
||||
|
|
@ -272,11 +276,13 @@ msgid "Mis à jour"
|
|||
msgstr "Mis à jour"
|
||||
|
||||
#: authorizations/templates/authorizations/authorization_detail.html:83
|
||||
#: authorizations/templates/authorizations/authorization_list.html:112
|
||||
#: authorizations/templates/authorizations/authorization_list.html:181
|
||||
msgid "Agent"
|
||||
msgstr "Agent"
|
||||
|
||||
#: authorizations/templates/authorizations/authorization_detail.html:102
|
||||
#: authorizations/templates/authorizations/authorization_list.html:141
|
||||
#: authorizations/templates/authorizations/authorization_list.html:180
|
||||
msgid "Demandeur"
|
||||
msgstr "Demandeur"
|
||||
|
||||
|
|
@ -347,7 +353,7 @@ msgid "Recherche"
|
|||
msgstr "Recherche"
|
||||
|
||||
#: authorizations/templates/authorizations/authorization_list.html:82
|
||||
#: authorizations/templates/authorizations/authorization_list.html:207
|
||||
#: authorizations/templates/authorizations/authorization_list.html:249
|
||||
msgid "Tous les types"
|
||||
msgstr "Tous les types"
|
||||
|
||||
|
|
@ -356,7 +362,8 @@ msgid "Rechercher un type..."
|
|||
msgstr "Rechercher un type..."
|
||||
|
||||
#: authorizations/templates/authorizations/authorization_list.html:92
|
||||
#: authorizations/templates/authorizations/new_authorization_default.html:226
|
||||
#: authorizations/templates/authorizations/authorization_list.html:131
|
||||
#: authorizations/templates/authorizations/new_authorization_default.html:223
|
||||
msgid "Effacer"
|
||||
msgstr "Effacer"
|
||||
|
||||
|
|
@ -365,21 +372,38 @@ msgid "Aucun type correspondant"
|
|||
msgstr "Aucun type correspondant"
|
||||
|
||||
#: authorizations/templates/authorizations/authorization_list.html:121
|
||||
#: authorizations/templates/authorizations/authorization_list.html:326
|
||||
msgid "Tous les agents"
|
||||
msgstr "Tous les agents"
|
||||
|
||||
#: authorizations/templates/authorizations/authorization_list.html:128
|
||||
msgid "Rechercher un agent..."
|
||||
msgstr "Rechercher un agent..."
|
||||
|
||||
#: authorizations/templates/authorizations/authorization_list.html:145
|
||||
msgid "Aucun agent correspondant"
|
||||
msgstr "Aucun agent correspondant"
|
||||
|
||||
#: authorizations/templates/authorizations/authorization_list.html:160
|
||||
msgid "Filtrer"
|
||||
msgstr "Filtrer"
|
||||
|
||||
#: authorizations/templates/authorizations/authorization_list.html:143
|
||||
#: authorizations/templates/authorizations/authorization_list.html:183
|
||||
msgid "Date de création"
|
||||
msgstr "Date de création"
|
||||
|
||||
#: authorizations/templates/authorizations/authorization_list.html:177
|
||||
#: authorizations/templates/authorizations/authorization_list.html:218
|
||||
msgid "Aucune demande trouvée."
|
||||
msgstr "Aucune demande trouvée."
|
||||
|
||||
#: authorizations/templates/authorizations/authorization_list.html:215
|
||||
#: authorizations/templates/authorizations/authorization_list.html:257
|
||||
msgid "types sélectionnés"
|
||||
msgstr "types sélectionnés"
|
||||
|
||||
#: authorizations/templates/authorizations/authorization_list.html:334
|
||||
msgid "agents sélectionnés"
|
||||
msgstr "agents sélectionnés"
|
||||
|
||||
#: authorizations/templates/authorizations/authorization_success.html:9
|
||||
#: authorizations/templates/authorizations/authorization_success.html:37
|
||||
msgid "Demande enregistrée"
|
||||
|
|
@ -391,7 +415,7 @@ msgstr "Demande enregistrée"
|
|||
#: authorizations/templates/authorizations/email_verify_code.html:35
|
||||
#: authorizations/templates/authorizations/new_authorization_default.html:9
|
||||
#: authorizations/templates/authorizations/new_authorization_default.html:99
|
||||
#: authorizations/templates/authorizations/new_authorization_default.html:376
|
||||
#: authorizations/templates/authorizations/new_authorization_default.html:373
|
||||
msgid "Demande d'occupation de l'espace public"
|
||||
msgstr "Demande d'occupation de l'espace public"
|
||||
|
||||
|
|
@ -591,11 +615,8 @@ msgstr "Localisation (dessiner un polygone pour indiquer la zone concernée)"
|
|||
msgid "Dessiner un polygone"
|
||||
msgstr "Dessiner un polygone"
|
||||
|
||||
#: authorizations/templates/authorizations/new_authorization_default.html:223
|
||||
msgid "Terminer"
|
||||
msgstr "Terminer"
|
||||
|
||||
#: authorizations/templates/authorizations/new_authorization_default.html:231
|
||||
#: authorizations/templates/authorizations/new_authorization_default.html:228
|
||||
#: authorizations/templates/authorizations/new_authorization_default.html:578
|
||||
msgid ""
|
||||
"Cliquez sur « Dessiner un polygone » puis cliquez sur la carte pour ajouter "
|
||||
"des sommets. Cliquez sur le premier sommet pour fermer le polygone."
|
||||
|
|
@ -603,41 +624,41 @@ msgstr ""
|
|||
"Cliquez sur « Dessiner un polygone » puis cliquez sur la carte pour ajouter "
|
||||
"des sommets. Cliquez sur le premier sommet pour fermer le polygone."
|
||||
|
||||
#: authorizations/templates/authorizations/new_authorization_default.html:245
|
||||
#: authorizations/templates/authorizations/new_authorization_default.html:242
|
||||
msgid "Vos coordonnées"
|
||||
msgstr "Vos coordonnées"
|
||||
|
||||
#: authorizations/templates/authorizations/new_authorization_default.html:278
|
||||
#: authorizations/templates/authorizations/new_authorization_default.html:317
|
||||
#: authorizations/templates/authorizations/new_authorization_default.html:337
|
||||
#: authorizations/templates/authorizations/new_authorization_default.html:275
|
||||
#: authorizations/templates/authorizations/new_authorization_default.html:314
|
||||
#: authorizations/templates/authorizations/new_authorization_default.html:334
|
||||
msgid "optionnel"
|
||||
msgstr "optionnel"
|
||||
|
||||
#: authorizations/templates/authorizations/new_authorization_default.html:292
|
||||
#: authorizations/templates/authorizations/new_authorization_default.html:289
|
||||
msgid "Date(s) d'occupation"
|
||||
msgstr "Date(s) d'occupation"
|
||||
|
||||
#: authorizations/templates/authorizations/new_authorization_default.html:298
|
||||
#: authorizations/templates/authorizations/new_authorization_default.html:295
|
||||
msgid "Veuillez indiquer au moins une date de début d'occupation."
|
||||
msgstr "Veuillez indiquer au moins une date de début d'occupation."
|
||||
|
||||
#: authorizations/templates/authorizations/new_authorization_default.html:328
|
||||
#: authorizations/templates/authorizations/new_authorization_default.html:325
|
||||
msgid "Ajouter une date"
|
||||
msgstr "Ajouter une date"
|
||||
|
||||
#: authorizations/templates/authorizations/new_authorization_default.html:336
|
||||
#: authorizations/templates/authorizations/new_authorization_default.html:333
|
||||
msgid "Document(s) à joindre"
|
||||
msgstr "Document(s) à joindre"
|
||||
|
||||
#: authorizations/templates/authorizations/new_authorization_default.html:360
|
||||
#: authorizations/templates/authorizations/new_authorization_default.html:357
|
||||
msgid "Ajouter un document"
|
||||
msgstr "Ajouter un document"
|
||||
|
||||
#: authorizations/templates/authorizations/new_authorization_default.html:367
|
||||
#: authorizations/templates/authorizations/new_authorization_default.html:364
|
||||
msgid "Envoyer la demande"
|
||||
msgstr "Envoyer la demande"
|
||||
|
||||
#: authorizations/templates/authorizations/new_authorization_default.html:385
|
||||
#: authorizations/templates/authorizations/new_authorization_default.html:382
|
||||
msgid ""
|
||||
"Veillez à joindre en annexe l'attestation d'assurance couvrant tous les "
|
||||
"risques."
|
||||
|
|
@ -645,28 +666,20 @@ msgstr ""
|
|||
"Veillez à joindre en annexe l'attestation d'assurance couvrant tous les "
|
||||
"risques."
|
||||
|
||||
#: authorizations/templates/authorizations/new_authorization_default.html:386
|
||||
msgid "Veillez à joindre en annexe l'autorisation de la commune."
|
||||
msgstr "Veillez à joindre en annexe l'autorisation de la commune."
|
||||
|
||||
#: authorizations/templates/authorizations/new_authorization_default.html:472
|
||||
#: authorizations/templates/authorizations/new_authorization_default.html:521
|
||||
#: authorizations/templates/authorizations/new_authorization_default.html:468
|
||||
#: authorizations/templates/authorizations/new_authorization_default.html:576
|
||||
msgid "Polygone enregistré. Cliquez sur « Dessiner » pour le redessiner."
|
||||
msgstr "Polygone enregistré. Cliquez sur « Dessiner » pour le redessiner."
|
||||
|
||||
#: authorizations/templates/authorizations/new_authorization_default.html:492
|
||||
#: authorizations/templates/authorizations/new_authorization_default.html:496
|
||||
msgid "Cliquer pour fermer le polygone"
|
||||
msgstr "Cliquer pour fermer le polygone"
|
||||
|
||||
#: authorizations/templates/authorizations/new_authorization_default.html:536
|
||||
msgid ""
|
||||
"Cliquez sur « Dessiner un polygone » puis cliquez sur la carte pour ajouter "
|
||||
"des sommets."
|
||||
msgstr ""
|
||||
"Cliquez sur « Dessiner un polygone » puis cliquez sur la carte pour ajouter "
|
||||
"des sommets."
|
||||
#: authorizations/templates/authorizations/new_authorization_default.html:584
|
||||
msgid "Cliquez sur la carte pour ajouter des sommets."
|
||||
msgstr "Cliquez sur la carte pour ajouter des sommets."
|
||||
|
||||
#: authorizations/templates/authorizations/new_authorization_default.html:559
|
||||
#: authorizations/templates/authorizations/new_authorization_default.html:586
|
||||
msgid ""
|
||||
"Cliquez sur la carte pour ajouter des sommets. Cliquez sur le premier sommet"
|
||||
" pour fermer le polygone."
|
||||
|
|
@ -674,22 +687,28 @@ msgstr ""
|
|||
"Cliquez sur la carte pour ajouter des sommets. Cliquez sur le premier sommet"
|
||||
" pour fermer le polygone."
|
||||
|
||||
#: authorizations/views.py:326 authorizations/views.py:375
|
||||
#: authorizations/views.py:326 authorizations/views.py:390
|
||||
msgid "Vous n'avez pas accès à cette vue."
|
||||
msgstr "Vous n'avez pas accès à cette vue."
|
||||
|
||||
#: authorizations/views.py:392
|
||||
#: authorizations/views.py:407
|
||||
msgid "La demande a été mise à jour avec succès."
|
||||
msgstr "La demande a été mise à jour avec succès."
|
||||
|
||||
#: authorizations/views.py:409
|
||||
#: authorizations/views.py:424
|
||||
msgid "Le document a été ajouté avec succès."
|
||||
msgstr "Le document a été ajouté avec succès."
|
||||
|
||||
#: authorizations/views.py:413
|
||||
#: authorizations/views.py:428
|
||||
msgid "Veuillez fournir une description et un fichier."
|
||||
msgstr "Veuillez fournir une description et un fichier."
|
||||
|
||||
#~ msgid "Terminer"
|
||||
#~ msgstr "Terminer"
|
||||
|
||||
#~ msgid "Veillez à joindre en annexe l'autorisation de la commune."
|
||||
#~ msgstr "Veillez à joindre en annexe l'autorisation de la commune."
|
||||
|
||||
#~ msgid "Autorisation de voirie"
|
||||
#~ msgstr "Autorisation de voirie"
|
||||
|
||||
|
|
|
|||
Binary file not shown.
|
|
@ -7,7 +7,7 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: PACKAGE VERSION\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2026-08-19 09:47+0200\n"
|
||||
"POT-Creation-Date: 2026-09-12 15:59+0200\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
|
|
@ -20,7 +20,7 @@ msgstr ""
|
|||
#: authorizations/admin.py:28
|
||||
#: authorizations/templates/authorizations/authorization_detail.html:73
|
||||
#: authorizations/templates/authorizations/authorization_list.html:73
|
||||
#: authorizations/templates/authorizations/authorization_list.html:139
|
||||
#: authorizations/templates/authorizations/authorization_list.html:178
|
||||
msgid "Type"
|
||||
msgstr "Type"
|
||||
|
||||
|
|
@ -53,10 +53,18 @@ msgstr "Archieven weergeven (> 2 jaar)"
|
|||
msgid "Type d'autorisation"
|
||||
msgstr "Type vergunning"
|
||||
|
||||
#: authorizations/forms.py:140
|
||||
#: authorizations/forms.py:138 authorizations/models.py:64
|
||||
msgid "Agent traitant"
|
||||
msgstr "Behandelende ambtenaar"
|
||||
|
||||
#: authorizations/forms.py:145
|
||||
msgid "Recherche…"
|
||||
msgstr "Zoeken…"
|
||||
|
||||
#: authorizations/forms.py:163
|
||||
msgid "Non assigné"
|
||||
msgstr ""
|
||||
|
||||
#: authorizations/models.py:17
|
||||
msgid "Affichage (panneau, ...)"
|
||||
msgstr "Affichage (bord…)"
|
||||
|
|
@ -158,10 +166,6 @@ msgstr "Adres"
|
|||
msgid "Entreprise"
|
||||
msgstr "Onderneming"
|
||||
|
||||
#: authorizations/models.py:64
|
||||
msgid "Agent traitant"
|
||||
msgstr "Behandelende ambtenaar"
|
||||
|
||||
#: authorizations/models.py:66
|
||||
msgid "Commentaire"
|
||||
msgstr "Opmerking"
|
||||
|
|
@ -173,7 +177,7 @@ msgstr "Locatie – Adres"
|
|||
#: authorizations/models.py:68
|
||||
#: authorizations/templates/authorizations/authorization_detail.html:95
|
||||
#: authorizations/templates/authorizations/authorization_detail.html:228
|
||||
#: authorizations/templates/authorizations/authorization_list.html:142
|
||||
#: authorizations/templates/authorizations/authorization_list.html:182
|
||||
msgid "Localisation"
|
||||
msgstr "Locatie"
|
||||
|
||||
|
|
@ -254,12 +258,12 @@ msgid "Informations générales"
|
|||
msgstr "Algemene informatie"
|
||||
|
||||
#: authorizations/templates/authorizations/authorization_detail.html:55
|
||||
#: authorizations/templates/authorizations/authorization_list.html:138
|
||||
#: authorizations/templates/authorizations/authorization_list.html:177
|
||||
msgid "Code"
|
||||
msgstr "Code"
|
||||
|
||||
#: authorizations/templates/authorizations/authorization_detail.html:58
|
||||
#: authorizations/templates/authorizations/authorization_list.html:140
|
||||
#: authorizations/templates/authorizations/authorization_list.html:179
|
||||
msgid "Statut"
|
||||
msgstr "Status"
|
||||
|
||||
|
|
@ -272,11 +276,13 @@ msgid "Mis à jour"
|
|||
msgstr "Bijgewerkt"
|
||||
|
||||
#: authorizations/templates/authorizations/authorization_detail.html:83
|
||||
#: authorizations/templates/authorizations/authorization_list.html:112
|
||||
#: authorizations/templates/authorizations/authorization_list.html:181
|
||||
msgid "Agent"
|
||||
msgstr "Ambtenaar"
|
||||
|
||||
#: authorizations/templates/authorizations/authorization_detail.html:102
|
||||
#: authorizations/templates/authorizations/authorization_list.html:141
|
||||
#: authorizations/templates/authorizations/authorization_list.html:180
|
||||
msgid "Demandeur"
|
||||
msgstr "Aanvrager"
|
||||
|
||||
|
|
@ -348,7 +354,7 @@ msgid "Recherche"
|
|||
msgstr "Zoeken"
|
||||
|
||||
#: authorizations/templates/authorizations/authorization_list.html:82
|
||||
#: authorizations/templates/authorizations/authorization_list.html:207
|
||||
#: authorizations/templates/authorizations/authorization_list.html:249
|
||||
msgid "Tous les types"
|
||||
msgstr "Alle types"
|
||||
|
||||
|
|
@ -357,7 +363,8 @@ msgid "Rechercher un type..."
|
|||
msgstr "Zoeken"
|
||||
|
||||
#: authorizations/templates/authorizations/authorization_list.html:92
|
||||
#: authorizations/templates/authorizations/new_authorization_default.html:226
|
||||
#: authorizations/templates/authorizations/authorization_list.html:131
|
||||
#: authorizations/templates/authorizations/new_authorization_default.html:223
|
||||
msgid "Effacer"
|
||||
msgstr "Wissen"
|
||||
|
||||
|
|
@ -366,21 +373,38 @@ msgid "Aucun type correspondant"
|
|||
msgstr ""
|
||||
|
||||
#: authorizations/templates/authorizations/authorization_list.html:121
|
||||
#: authorizations/templates/authorizations/authorization_list.html:326
|
||||
msgid "Tous les agents"
|
||||
msgstr "Alle agenten"
|
||||
|
||||
#: authorizations/templates/authorizations/authorization_list.html:128
|
||||
msgid "Rechercher un agent..."
|
||||
msgstr "Zoek een agent..."
|
||||
|
||||
#: authorizations/templates/authorizations/authorization_list.html:145
|
||||
msgid "Aucun agent correspondant"
|
||||
msgstr ""
|
||||
|
||||
#: authorizations/templates/authorizations/authorization_list.html:160
|
||||
msgid "Filtrer"
|
||||
msgstr "Filteren"
|
||||
|
||||
#: authorizations/templates/authorizations/authorization_list.html:143
|
||||
#: authorizations/templates/authorizations/authorization_list.html:183
|
||||
msgid "Date de création"
|
||||
msgstr "Aanmaakdatum"
|
||||
|
||||
#: authorizations/templates/authorizations/authorization_list.html:177
|
||||
#: authorizations/templates/authorizations/authorization_list.html:218
|
||||
msgid "Aucune demande trouvée."
|
||||
msgstr "Geen aanvraag gevonden."
|
||||
|
||||
#: authorizations/templates/authorizations/authorization_list.html:215
|
||||
#: authorizations/templates/authorizations/authorization_list.html:257
|
||||
msgid "types sélectionnés"
|
||||
msgstr ""
|
||||
|
||||
#: authorizations/templates/authorizations/authorization_list.html:334
|
||||
msgid "agents sélectionnés"
|
||||
msgstr ""
|
||||
|
||||
#: authorizations/templates/authorizations/authorization_success.html:9
|
||||
#: authorizations/templates/authorizations/authorization_success.html:37
|
||||
msgid "Demande enregistrée"
|
||||
|
|
@ -392,7 +416,7 @@ msgstr "Aanvraag opgeslagen"
|
|||
#: authorizations/templates/authorizations/email_verify_code.html:35
|
||||
#: authorizations/templates/authorizations/new_authorization_default.html:9
|
||||
#: authorizations/templates/authorizations/new_authorization_default.html:99
|
||||
#: authorizations/templates/authorizations/new_authorization_default.html:376
|
||||
#: authorizations/templates/authorizations/new_authorization_default.html:373
|
||||
msgid "Demande d'occupation de l'espace public"
|
||||
msgstr "Aanvraag ingebruikneming openbare ruimte"
|
||||
|
||||
|
|
@ -583,11 +607,8 @@ msgstr "Locatie (teken een veelhoek om de betrokken zone aan te geven)"
|
|||
msgid "Dessiner un polygone"
|
||||
msgstr "Veelhoek tekenen"
|
||||
|
||||
#: authorizations/templates/authorizations/new_authorization_default.html:223
|
||||
msgid "Terminer"
|
||||
msgstr "Voltooien"
|
||||
|
||||
#: authorizations/templates/authorizations/new_authorization_default.html:231
|
||||
#: authorizations/templates/authorizations/new_authorization_default.html:228
|
||||
#: authorizations/templates/authorizations/new_authorization_default.html:578
|
||||
msgid ""
|
||||
"Cliquez sur « Dessiner un polygone » puis cliquez sur la carte pour ajouter "
|
||||
"des sommets. Cliquez sur le premier sommet pour fermer le polygone."
|
||||
|
|
@ -595,89 +616,87 @@ msgstr ""
|
|||
"Klik op « Veelhoek tekenen » en klik vervolgens op de kaart om hoekpunten "
|
||||
"toe te voegen. Klik op het eerste hoekpunt om de veelhoek te sluiten."
|
||||
|
||||
#: authorizations/templates/authorizations/new_authorization_default.html:245
|
||||
#: authorizations/templates/authorizations/new_authorization_default.html:242
|
||||
msgid "Vos coordonnées"
|
||||
msgstr "Uw contactgegevens"
|
||||
|
||||
#: authorizations/templates/authorizations/new_authorization_default.html:278
|
||||
#: authorizations/templates/authorizations/new_authorization_default.html:317
|
||||
#: authorizations/templates/authorizations/new_authorization_default.html:337
|
||||
#: authorizations/templates/authorizations/new_authorization_default.html:275
|
||||
#: authorizations/templates/authorizations/new_authorization_default.html:314
|
||||
#: authorizations/templates/authorizations/new_authorization_default.html:334
|
||||
msgid "optionnel"
|
||||
msgstr "optioneel"
|
||||
|
||||
#: authorizations/templates/authorizations/new_authorization_default.html:292
|
||||
#: authorizations/templates/authorizations/new_authorization_default.html:289
|
||||
msgid "Date(s) d'occupation"
|
||||
msgstr "Bezettingsdatum(-data)"
|
||||
|
||||
#: authorizations/templates/authorizations/new_authorization_default.html:298
|
||||
#: authorizations/templates/authorizations/new_authorization_default.html:295
|
||||
msgid "Veuillez indiquer au moins une date de début d'occupation."
|
||||
msgstr "Geef ten minste één begindatum van de bezetting op."
|
||||
|
||||
#: authorizations/templates/authorizations/new_authorization_default.html:328
|
||||
#: authorizations/templates/authorizations/new_authorization_default.html:325
|
||||
msgid "Ajouter une date"
|
||||
msgstr "Een datum toevoegen"
|
||||
|
||||
#: authorizations/templates/authorizations/new_authorization_default.html:336
|
||||
#: authorizations/templates/authorizations/new_authorization_default.html:333
|
||||
msgid "Document(s) à joindre"
|
||||
msgstr "Bij te voegen document(en)"
|
||||
|
||||
#: authorizations/templates/authorizations/new_authorization_default.html:360
|
||||
#: authorizations/templates/authorizations/new_authorization_default.html:357
|
||||
msgid "Ajouter un document"
|
||||
msgstr "Een document toevoegen"
|
||||
|
||||
#: authorizations/templates/authorizations/new_authorization_default.html:367
|
||||
#: authorizations/templates/authorizations/new_authorization_default.html:364
|
||||
msgid "Envoyer la demande"
|
||||
msgstr "De aanvraag verzenden"
|
||||
|
||||
#: authorizations/templates/authorizations/new_authorization_default.html:385
|
||||
#: authorizations/templates/authorizations/new_authorization_default.html:382
|
||||
msgid ""
|
||||
"Veillez à joindre en annexe l'attestation d'assurance couvrant tous les "
|
||||
"risques."
|
||||
msgstr "Voeg als bijlage het verzekeringsbewijs bij dat alle risico's dekt."
|
||||
|
||||
#: authorizations/templates/authorizations/new_authorization_default.html:386
|
||||
msgid "Veillez à joindre en annexe l'autorisation de la commune."
|
||||
msgstr "Voeg als bijlage de gemeentelijke toestemming bij."
|
||||
|
||||
#: authorizations/templates/authorizations/new_authorization_default.html:472
|
||||
#: authorizations/templates/authorizations/new_authorization_default.html:521
|
||||
#: authorizations/templates/authorizations/new_authorization_default.html:468
|
||||
#: authorizations/templates/authorizations/new_authorization_default.html:576
|
||||
msgid "Polygone enregistré. Cliquez sur « Dessiner » pour le redessiner."
|
||||
msgstr "Veelhoek opgeslagen. Klik op « Tekenen » om hem opnieuw te tekenen."
|
||||
|
||||
#: authorizations/templates/authorizations/new_authorization_default.html:492
|
||||
#: authorizations/templates/authorizations/new_authorization_default.html:496
|
||||
msgid "Cliquer pour fermer le polygone"
|
||||
msgstr "Klik om de veelhoek te sluiten"
|
||||
|
||||
#: authorizations/templates/authorizations/new_authorization_default.html:536
|
||||
msgid ""
|
||||
"Cliquez sur « Dessiner un polygone » puis cliquez sur la carte pour ajouter "
|
||||
"des sommets."
|
||||
msgstr ""
|
||||
"Klik op « Veelhoek tekenen » en klik vervolgens op de kaart om hoekpunten "
|
||||
"toe te voegen."
|
||||
#: authorizations/templates/authorizations/new_authorization_default.html:584
|
||||
msgid "Cliquez sur la carte pour ajouter des sommets."
|
||||
msgstr "Klik op de kaart om hoekpunten toe te voegen."
|
||||
|
||||
#: authorizations/templates/authorizations/new_authorization_default.html:559
|
||||
#: authorizations/templates/authorizations/new_authorization_default.html:586
|
||||
msgid ""
|
||||
"Cliquez sur la carte pour ajouter des sommets. Cliquez sur le premier sommet"
|
||||
" pour fermer le polygone."
|
||||
msgstr ""
|
||||
|
||||
#: authorizations/views.py:326 authorizations/views.py:375
|
||||
#: authorizations/views.py:326 authorizations/views.py:390
|
||||
msgid "Vous n'avez pas accès à cette vue."
|
||||
msgstr ""
|
||||
|
||||
#: authorizations/views.py:392
|
||||
#: authorizations/views.py:407
|
||||
msgid "La demande a été mise à jour avec succès."
|
||||
msgstr ""
|
||||
|
||||
#: authorizations/views.py:409
|
||||
#: authorizations/views.py:424
|
||||
msgid "Le document a été ajouté avec succès."
|
||||
msgstr ""
|
||||
|
||||
#: authorizations/views.py:413
|
||||
#: authorizations/views.py:428
|
||||
msgid "Veuillez fournir une description et un fichier."
|
||||
msgstr ""
|
||||
|
||||
#~ msgid "Terminer"
|
||||
#~ msgstr "Voltooien"
|
||||
|
||||
#~ msgid "Veillez à joindre en annexe l'autorisation de la commune."
|
||||
#~ msgstr "Voeg als bijlage de gemeentelijke toestemming bij."
|
||||
|
||||
#~ msgid "Autorisation de voirie"
|
||||
#~ msgstr "Wegvergunning"
|
||||
|
||||
|
|
|
|||
|
|
@ -7,7 +7,7 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: PACKAGE VERSION\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2026-08-19 09:47+0200\n"
|
||||
"POT-Creation-Date: 2026-09-13 09:05+0200\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
|
|
@ -135,7 +135,7 @@ msgstr "Choose language"
|
|||
|
||||
#: common/templates/common/account_info.html:42
|
||||
#: common/templates/common/account_info.html:88
|
||||
#: common/templates/common/components/document_viewer.html:201
|
||||
#: common/templates/common/components/document_viewer.html:204
|
||||
msgid "Fermer"
|
||||
msgstr "Close"
|
||||
|
||||
|
|
@ -161,56 +161,56 @@ msgstr "Sign out"
|
|||
msgid "Retour"
|
||||
msgstr "Back"
|
||||
|
||||
#: common/templates/common/components/document_viewer.html:40
|
||||
#: common/templates/common/components/document_viewer.html:50
|
||||
#: common/templates/common/components/document_viewer.html:61
|
||||
#: common/templates/common/components/document_viewer.html:41
|
||||
#: common/templates/common/components/document_viewer.html:51
|
||||
#: common/templates/common/components/document_viewer.html:62
|
||||
msgid "Supprimer"
|
||||
msgstr "Delete"
|
||||
|
||||
#: common/templates/common/components/document_viewer.html:75
|
||||
#: common/templates/common/components/document_viewer.html:76
|
||||
msgid "Copier vers une localisation ou un asset"
|
||||
msgstr "Copy to a location or an asset"
|
||||
|
||||
#: common/templates/common/components/document_viewer.html:99
|
||||
#: common/templates/common/components/document_viewer.html:154
|
||||
#: common/templates/common/components/document_viewer.html:100
|
||||
#: common/templates/common/components/document_viewer.html:155
|
||||
msgid "Historique des versions"
|
||||
msgstr "Version history"
|
||||
|
||||
#: common/templates/common/components/document_viewer.html:156
|
||||
#: common/templates/common/components/document_viewer.html:157
|
||||
msgid "Historique"
|
||||
msgstr "History"
|
||||
|
||||
#: common/templates/common/components/document_viewer.html:180
|
||||
#: common/templates/common/components/document_viewer.html:183
|
||||
msgid "Visionneuse de documents"
|
||||
msgstr "Document viewer"
|
||||
|
||||
#: common/templates/common/components/document_viewer.html:188
|
||||
#: common/templates/common/components/document_viewer.html:191
|
||||
msgid "Ouvrir en pleine page"
|
||||
msgstr "Open in full screen"
|
||||
|
||||
#: common/templates/common/components/document_viewer.html:195
|
||||
#: common/templates/common/components/document_viewer.html:196
|
||||
#: common/templates/common/components/document_viewer.html:261
|
||||
#: common/templates/common/components/document_viewer.html:198
|
||||
#: common/templates/common/components/document_viewer.html:199
|
||||
#: common/templates/common/components/document_viewer.html:264
|
||||
msgid "Télécharger"
|
||||
msgstr "Download"
|
||||
|
||||
#: common/templates/common/components/document_viewer.html:229
|
||||
#: common/templates/common/components/document_viewer.html:232
|
||||
msgid "File truncated to the first 50 000 characters."
|
||||
msgstr "File truncated to the first 50,000 characters."
|
||||
|
||||
#: common/templates/common/components/document_viewer.html:245
|
||||
#: common/templates/common/components/document_viewer.html:248
|
||||
msgid "Only the first 200 rows are shown."
|
||||
msgstr "Only the first 200 rows are shown."
|
||||
|
||||
#: common/templates/common/components/document_viewer.html:301
|
||||
#: common/templates/common/components/document_viewer.html:309
|
||||
msgid "Précédent"
|
||||
msgstr "Previous"
|
||||
|
||||
#: common/templates/common/components/document_viewer.html:309
|
||||
#: common/templates/common/components/document_viewer.html:317
|
||||
msgid "Suivant"
|
||||
msgstr "Next"
|
||||
|
||||
#: common/templates/common/components/document_viewer.html:432
|
||||
#: common/templates/common/components/document_viewer.html:442
|
||||
msgid "Aucun document associé"
|
||||
msgstr "No associated document"
|
||||
|
||||
|
|
@ -310,128 +310,128 @@ msgstr ""
|
|||
msgid "Réduire en panneau latéral"
|
||||
msgstr ""
|
||||
|
||||
#: common/tests.py:48 common/tests.py:80 common/views.py:265
|
||||
#: common/tests.py:49 common/tests.py:81 common/views.py:265
|
||||
#: common/views.py:269 common/views.py:280
|
||||
msgid "Vous ne pouvez pas accéder à ce compte."
|
||||
msgstr "You cannot access this account."
|
||||
|
||||
#: common/utils.py:133
|
||||
#: common/utils.py:169
|
||||
msgid "Belgique (PEB / Maison Communale / Sécurité PMR)"
|
||||
msgstr "Belgium (PEB / Town Hall / PRM Safety)"
|
||||
|
||||
#: common/utils.py:134
|
||||
#: common/utils.py:170
|
||||
msgid "Hôtel de Ville / Maison Communale"
|
||||
msgstr "Town Hall / Municipal Building"
|
||||
|
||||
#: common/utils.py:135
|
||||
#: common/utils.py:171
|
||||
msgid "PEB"
|
||||
msgstr "PEB"
|
||||
|
||||
#: common/utils.py:136
|
||||
#: common/utils.py:172
|
||||
msgid "Performance Énergétique des Bâtiments (PEB)"
|
||||
msgstr "Building Energy Performance (PEB)"
|
||||
|
||||
#: common/utils.py:137
|
||||
#: common/utils.py:173
|
||||
msgid "Bilan Carbone"
|
||||
msgstr "Carbon Footprint"
|
||||
|
||||
#: common/utils.py:138
|
||||
#: common/utils.py:174
|
||||
msgid "Émissions de Carbone / Bilan Énergétique"
|
||||
msgstr "Carbon Emissions / Energy Audit"
|
||||
|
||||
#: common/utils.py:139
|
||||
#: common/utils.py:175
|
||||
msgid "Accès public & PMR"
|
||||
msgstr "Public & PRM Access"
|
||||
|
||||
#: common/utils.py:140
|
||||
#: common/utils.py:176
|
||||
msgid "Accueil & Sécurité du Public (Normes PMR)"
|
||||
msgstr "Public Reception & Safety (PRM Standards)"
|
||||
|
||||
#: common/utils.py:141
|
||||
#: common/utils.py:177
|
||||
msgid "Catégorie d'accueil"
|
||||
msgstr "Reception Category"
|
||||
|
||||
#: common/utils.py:142
|
||||
#: common/utils.py:178
|
||||
msgid "Type d'affectation"
|
||||
msgstr "Assignment Type"
|
||||
|
||||
#: common/utils.py:145
|
||||
#: common/utils.py:181
|
||||
msgid "France (DPE / GES / Mairie / ERP)"
|
||||
msgstr "France (DPE / GHG / Town Hall / ERP)"
|
||||
|
||||
#: common/utils.py:146
|
||||
#: common/utils.py:182
|
||||
msgid "Mairie / Hôtel de Ville"
|
||||
msgstr "Town Hall / City Hall"
|
||||
|
||||
#: common/utils.py:147
|
||||
#: common/utils.py:183
|
||||
msgid "DPE"
|
||||
msgstr "DPE"
|
||||
|
||||
#: common/utils.py:148
|
||||
#: common/utils.py:184
|
||||
msgid "Diagnostic de Performance Énergétique (DPE)"
|
||||
msgstr "Energy Performance Certificate (DPE)"
|
||||
|
||||
#: common/utils.py:149
|
||||
#: common/utils.py:185
|
||||
msgid "GES"
|
||||
msgstr "GHG"
|
||||
|
||||
#: common/utils.py:150
|
||||
#: common/utils.py:186
|
||||
msgid "Émissions de Gaz à Effet de Serre (GES)"
|
||||
msgstr "Greenhouse Gas Emissions (GHG)"
|
||||
|
||||
#: common/utils.py:151
|
||||
#: common/utils.py:187
|
||||
msgid "ERP"
|
||||
msgstr "ERP"
|
||||
|
||||
#: common/utils.py:152
|
||||
#: common/utils.py:188
|
||||
msgid "Établissement Recevant du Public (ERP)"
|
||||
msgstr "Public Reception Facility (ERP)"
|
||||
|
||||
#: common/utils.py:153
|
||||
#: common/utils.py:189
|
||||
msgid "Catégorie ERP"
|
||||
msgstr "ERP Category"
|
||||
|
||||
#: common/utils.py:154
|
||||
#: common/utils.py:190
|
||||
msgid "Type ERP"
|
||||
msgstr "ERP Type"
|
||||
|
||||
#: common/utils.py:157
|
||||
#: common/utils.py:193
|
||||
msgid "International / Générique"
|
||||
msgstr "International / Generic"
|
||||
|
||||
#: common/utils.py:158
|
||||
#: common/utils.py:194
|
||||
msgid "Bâtiment Administratif / Hôtel de Ville"
|
||||
msgstr "Administrative Building / Town Hall"
|
||||
|
||||
#: common/utils.py:159
|
||||
#: common/utils.py:195
|
||||
msgid "PEB / DPE"
|
||||
msgstr "EPC / Energy Diag"
|
||||
|
||||
#: common/utils.py:160
|
||||
#: common/utils.py:196
|
||||
msgid "Performance Énergétique (PEB / DPE / EPC)"
|
||||
msgstr "Energy Performance (PEB / DPE / EPC)"
|
||||
|
||||
#: common/utils.py:161
|
||||
#: common/utils.py:197
|
||||
msgid "Émissions Carbone"
|
||||
msgstr "Carbon Emissions"
|
||||
|
||||
#: common/utils.py:162
|
||||
#: common/utils.py:198
|
||||
msgid "Bilan Carbone & Émissions"
|
||||
msgstr "Carbon Footprint & Emissions"
|
||||
|
||||
#: common/utils.py:163
|
||||
#: common/utils.py:199
|
||||
msgid "Accès Public"
|
||||
msgstr "Public Access"
|
||||
|
||||
#: common/utils.py:164
|
||||
#: common/utils.py:200
|
||||
msgid "Bâtiment d'Accueil du Public (ERP / PMR)"
|
||||
msgstr "Public Reception Building (ERP / PRM)"
|
||||
|
||||
#: common/utils.py:165
|
||||
#: common/utils.py:201
|
||||
msgid "Capacité d'accueil"
|
||||
msgstr "Reception Capacity"
|
||||
|
||||
#: common/utils.py:166
|
||||
#: common/utils.py:202
|
||||
msgid "Type d'établissement"
|
||||
msgstr "Establishment Type"
|
||||
|
||||
|
|
@ -464,8 +464,8 @@ msgid "Changement de compte effectué."
|
|||
msgstr "Account switch completed."
|
||||
|
||||
#: common/views.py:304 common/views.py:329 common/views.py:356
|
||||
#: common/views.py:397 common/views.py:428 common/views.py:457
|
||||
#: common/views.py:524 common/views.py:551
|
||||
#: common/views.py:397 common/views.py:428 common/views.py:459
|
||||
#: common/views.py:488 common/views.py:555 common/views.py:582
|
||||
msgid "Données invalides"
|
||||
msgstr "Invalid data"
|
||||
|
||||
|
|
@ -474,18 +474,19 @@ msgid "Layout invalide"
|
|||
msgstr "Invalid layout"
|
||||
|
||||
#: common/views.py:316 common/views.py:341 common/views.py:383
|
||||
#: common/views.py:414 common/views.py:445 common/views.py:511
|
||||
#: common/views.py:537 common/views.py:568 common/views.py:586
|
||||
#: common/views.py:414 common/views.py:445 common/views.py:476
|
||||
#: common/views.py:542 common/views.py:568 common/views.py:599
|
||||
#: common/views.py:617
|
||||
msgid "Configuration utilisateur non trouvée"
|
||||
msgstr "User configuration not found"
|
||||
|
||||
#: common/views.py:363 common/views.py:403 common/views.py:434
|
||||
#: common/views.py:557
|
||||
#: common/views.py:465 common/views.py:588
|
||||
msgid "Format de filtres invalide"
|
||||
msgstr "Invalid filter format"
|
||||
|
||||
#: common/views.py:367 common/views.py:406 common/views.py:437
|
||||
#: common/views.py:560
|
||||
#: common/views.py:468 common/views.py:591
|
||||
msgid "Format de tri invalide"
|
||||
msgstr "Invalid sort format"
|
||||
|
||||
|
|
@ -493,50 +494,50 @@ msgstr "Invalid sort format"
|
|||
msgid "Format de colonnes invalide"
|
||||
msgstr "Invalid column format"
|
||||
|
||||
#: common/views.py:472
|
||||
#: common/views.py:503
|
||||
msgid "Format de thématiques invalide"
|
||||
msgstr "Invalid thematic format"
|
||||
|
||||
#: common/views.py:474
|
||||
#: common/views.py:505
|
||||
msgid "Format de catégories invalide"
|
||||
msgstr "Invalid category format"
|
||||
|
||||
#: common/views.py:476
|
||||
#: common/views.py:507
|
||||
msgid "Format de modèles invalide"
|
||||
msgstr "Invalid model format"
|
||||
|
||||
#: common/views.py:478
|
||||
#: common/views.py:509
|
||||
msgid "Format de filtres thématiques invalide"
|
||||
msgstr "Invalid thematic filter format"
|
||||
|
||||
#: common/views.py:480
|
||||
#: common/views.py:511
|
||||
msgid "Format de colonnes visibles invalide"
|
||||
msgstr "Invalid visible columns format"
|
||||
|
||||
#: common/views.py:482
|
||||
#: common/views.py:513
|
||||
msgid "Format de filtre type invalide"
|
||||
msgstr "Invalid type filter format"
|
||||
|
||||
#: common/views.py:484
|
||||
#: common/views.py:515
|
||||
msgid "Format de filtres statut invalide"
|
||||
msgstr "Invalid status filter format"
|
||||
|
||||
#: common/views.py:486
|
||||
#: common/views.py:517
|
||||
msgid "Format de filtres statut de validation invalide"
|
||||
msgstr "Invalid validation status filter format"
|
||||
|
||||
#: common/views.py:530
|
||||
#: common/views.py:561
|
||||
msgid "Format de préférences invalide"
|
||||
msgstr "Invalid filter format"
|
||||
|
||||
#: common/views.py:581 common/views.py:607
|
||||
#: common/views.py:612 common/views.py:638
|
||||
msgid "Document non trouvé"
|
||||
msgstr "No street found"
|
||||
|
||||
#: common/views.py:591 common/views.py:595
|
||||
#: common/views.py:622 common/views.py:626
|
||||
msgid "Accès interdit"
|
||||
msgstr ""
|
||||
|
||||
#: common/views.py:613
|
||||
#: common/views.py:644
|
||||
msgid "Erreur lors de la lecture du document"
|
||||
msgstr "Erreur lors de la lecture du document"
|
||||
|
|
|
|||
|
|
@ -7,7 +7,7 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: PACKAGE VERSION\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2026-08-19 09:47+0200\n"
|
||||
"POT-Creation-Date: 2026-09-12 15:59+0200\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
|
|
@ -18,10 +18,8 @@ msgstr ""
|
|||
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
|
||||
|
||||
#: common/middleware.py:154
|
||||
msgid ""
|
||||
"Votre session a expiré après le délai configuré. Veuillez vous reconnecter."
|
||||
msgstr ""
|
||||
"Votre session a expiré après le délai configuré. Veuillez vous reconnecter."
|
||||
msgid "Votre session a expiré après le délai configuré. Veuillez vous reconnecter."
|
||||
msgstr "Votre session a expiré après le délai configuré. Veuillez vous reconnecter."
|
||||
|
||||
#: common/models.py:162
|
||||
msgid "Français"
|
||||
|
|
@ -48,9 +46,7 @@ msgid "Activer les rappels par e-mail"
|
|||
msgstr "Activer les rappels par e-mail"
|
||||
|
||||
#: common/models.py:176
|
||||
msgid ""
|
||||
"Recevoir un e-mail de rappel pour les notifications non lues après un "
|
||||
"certain délai."
|
||||
msgid "Recevoir un e-mail de rappel pour les notifications non lues après un certain délai."
|
||||
msgstr ""
|
||||
|
||||
#: common/models.py:181
|
||||
|
|
@ -58,9 +54,7 @@ msgid "E-mail(s) de réception des rappels"
|
|||
msgstr "E-mail(s) de réception des rappels"
|
||||
|
||||
#: common/models.py:182
|
||||
msgid ""
|
||||
"Adresses e-mail séparées par des virgules. Si vide, l'adresse de votre "
|
||||
"compte sera utilisée."
|
||||
msgid "Adresses e-mail séparées par des virgules. Si vide, l'adresse de votre compte sera utilisée."
|
||||
msgstr ""
|
||||
|
||||
#: common/models.py:186
|
||||
|
|
@ -68,9 +62,7 @@ msgid "Délai avant rappel (en heures)"
|
|||
msgstr "Délai avant rappel (en heures)"
|
||||
|
||||
#: common/models.py:187
|
||||
msgid ""
|
||||
"Nombre d'heures écoulées après la réception d'une notification avant l'envoi "
|
||||
"d'un rappel par e-mail."
|
||||
msgid "Nombre d'heures écoulées après la réception d'une notification avant l'envoi d'un rappel par e-mail."
|
||||
msgstr ""
|
||||
|
||||
#: common/private_files/views.py:37
|
||||
|
|
@ -135,7 +127,7 @@ msgstr "Choisir la langue"
|
|||
|
||||
#: common/templates/common/account_info.html:42
|
||||
#: common/templates/common/account_info.html:88
|
||||
#: common/templates/common/components/document_viewer.html:201
|
||||
#: common/templates/common/components/document_viewer.html:204
|
||||
msgid "Fermer"
|
||||
msgstr "Fermer"
|
||||
|
||||
|
|
@ -161,56 +153,56 @@ msgstr "Se déconnecter"
|
|||
msgid "Retour"
|
||||
msgstr "Retour"
|
||||
|
||||
#: common/templates/common/components/document_viewer.html:40
|
||||
#: common/templates/common/components/document_viewer.html:50
|
||||
#: common/templates/common/components/document_viewer.html:61
|
||||
#: common/templates/common/components/document_viewer.html:41
|
||||
#: common/templates/common/components/document_viewer.html:51
|
||||
#: common/templates/common/components/document_viewer.html:62
|
||||
msgid "Supprimer"
|
||||
msgstr "Supprimer"
|
||||
|
||||
#: common/templates/common/components/document_viewer.html:75
|
||||
#: common/templates/common/components/document_viewer.html:76
|
||||
msgid "Copier vers une localisation ou un asset"
|
||||
msgstr "Copier vers une localisation ou un asset"
|
||||
|
||||
#: common/templates/common/components/document_viewer.html:99
|
||||
#: common/templates/common/components/document_viewer.html:154
|
||||
#: common/templates/common/components/document_viewer.html:100
|
||||
#: common/templates/common/components/document_viewer.html:155
|
||||
msgid "Historique des versions"
|
||||
msgstr "Historique des versions"
|
||||
|
||||
#: common/templates/common/components/document_viewer.html:156
|
||||
#: common/templates/common/components/document_viewer.html:157
|
||||
msgid "Historique"
|
||||
msgstr "Historique"
|
||||
|
||||
#: common/templates/common/components/document_viewer.html:180
|
||||
#: common/templates/common/components/document_viewer.html:183
|
||||
msgid "Visionneuse de documents"
|
||||
msgstr "Visionneuse de documents"
|
||||
|
||||
#: common/templates/common/components/document_viewer.html:188
|
||||
#: common/templates/common/components/document_viewer.html:191
|
||||
msgid "Ouvrir en pleine page"
|
||||
msgstr "Ouvrir en pleine page"
|
||||
|
||||
#: common/templates/common/components/document_viewer.html:195
|
||||
#: common/templates/common/components/document_viewer.html:196
|
||||
#: common/templates/common/components/document_viewer.html:261
|
||||
#: common/templates/common/components/document_viewer.html:198
|
||||
#: common/templates/common/components/document_viewer.html:199
|
||||
#: common/templates/common/components/document_viewer.html:264
|
||||
msgid "Télécharger"
|
||||
msgstr "Télécharger"
|
||||
|
||||
#: common/templates/common/components/document_viewer.html:229
|
||||
#: common/templates/common/components/document_viewer.html:232
|
||||
msgid "File truncated to the first 50 000 characters."
|
||||
msgstr "File truncated to the first 50 000 characters."
|
||||
|
||||
#: common/templates/common/components/document_viewer.html:245
|
||||
#: common/templates/common/components/document_viewer.html:248
|
||||
msgid "Only the first 200 rows are shown."
|
||||
msgstr "Only the first 200 rows are shown."
|
||||
|
||||
#: common/templates/common/components/document_viewer.html:301
|
||||
#: common/templates/common/components/document_viewer.html:309
|
||||
msgid "Précédent"
|
||||
msgstr "Précédent"
|
||||
|
||||
#: common/templates/common/components/document_viewer.html:309
|
||||
#: common/templates/common/components/document_viewer.html:317
|
||||
msgid "Suivant"
|
||||
msgstr "Suivant"
|
||||
|
||||
#: common/templates/common/components/document_viewer.html:432
|
||||
#: common/templates/common/components/document_viewer.html:442
|
||||
msgid "Aucun document associé"
|
||||
msgstr "Aucun document associé"
|
||||
|
||||
|
|
@ -252,9 +244,7 @@ msgid "Concepts et notions clés de StreetUp"
|
|||
msgstr "Concepts et notions clés de StreetUp"
|
||||
|
||||
#: common/templates/common/components/help_panel.html:56
|
||||
msgid ""
|
||||
"Comprendre la différence entre Assets, Observations, Inspections, "
|
||||
"Interventions et Contrôles."
|
||||
msgid "Comprendre la différence entre Assets, Observations, Inspections, Interventions et Contrôles."
|
||||
msgstr ""
|
||||
|
||||
#: common/templates/common/components/help_panel.html:64
|
||||
|
|
@ -270,32 +260,24 @@ msgid "Statuts des interventions"
|
|||
msgstr "Statuts des interventions"
|
||||
|
||||
#: common/templates/common/components/help_panel.html:74
|
||||
msgid ""
|
||||
"Comprendre le cycle de vie d'une intervention à travers ses différents "
|
||||
"statuts."
|
||||
msgstr ""
|
||||
"Comprendre le cycle de vie d'une intervention à travers ses différents "
|
||||
"statuts."
|
||||
msgid "Comprendre le cycle de vie d'une intervention à travers ses différents statuts."
|
||||
msgstr "Comprendre le cycle de vie d'une intervention à travers ses différents statuts."
|
||||
|
||||
#: common/templates/common/components/help_panel.html:83
|
||||
msgid "Approuver des interventions"
|
||||
msgstr "Approuver des interventions"
|
||||
|
||||
#: common/templates/common/components/help_panel.html:84
|
||||
msgid ""
|
||||
"Guide destiné aux gestionnaires pour valider et approuver les chantiers."
|
||||
msgstr ""
|
||||
"Guide destiné aux gestionnaires pour valider et approuver les chantiers."
|
||||
msgid "Guide destiné aux gestionnaires pour valider et approuver les chantiers."
|
||||
msgstr "Guide destiné aux gestionnaires pour valider et approuver les chantiers."
|
||||
|
||||
#: common/templates/common/components/help_panel.html:94
|
||||
msgid "Gérer les projets"
|
||||
msgstr "Gérer les projets"
|
||||
|
||||
#: common/templates/common/components/help_panel.html:95
|
||||
msgid ""
|
||||
"Comment regrouper les interventions et suivre la progression des chantiers."
|
||||
msgstr ""
|
||||
"Comment regrouper les interventions et suivre la progression des chantiers."
|
||||
msgid "Comment regrouper les interventions et suivre la progression des chantiers."
|
||||
msgstr "Comment regrouper les interventions et suivre la progression des chantiers."
|
||||
|
||||
#: common/templates/common/components/help_panel.html:105
|
||||
msgid "Ajouter un contrôle"
|
||||
|
|
@ -314,128 +296,128 @@ msgstr "Aucun guide ne correspond à votre recherche."
|
|||
msgid "Réduire en panneau latéral"
|
||||
msgstr "Réduire en panneau latéral"
|
||||
|
||||
#: common/tests.py:48 common/tests.py:80 common/views.py:265
|
||||
#: common/tests.py:49 common/tests.py:81 common/views.py:265
|
||||
#: common/views.py:269 common/views.py:280
|
||||
msgid "Vous ne pouvez pas accéder à ce compte."
|
||||
msgstr "Vous ne pouvez pas accéder à ce compte."
|
||||
|
||||
#: common/utils.py:133
|
||||
#: common/utils.py:169
|
||||
msgid "Belgique (PEB / Maison Communale / Sécurité PMR)"
|
||||
msgstr "Belgique (PEB / Maison Communale / Sécurité PMR)"
|
||||
|
||||
#: common/utils.py:134
|
||||
#: common/utils.py:170
|
||||
msgid "Hôtel de Ville / Maison Communale"
|
||||
msgstr "Hôtel de Ville / Maison Communale"
|
||||
|
||||
#: common/utils.py:135
|
||||
#: common/utils.py:171
|
||||
msgid "PEB"
|
||||
msgstr "PEB"
|
||||
|
||||
#: common/utils.py:136
|
||||
#: common/utils.py:172
|
||||
msgid "Performance Énergétique des Bâtiments (PEB)"
|
||||
msgstr "Performance Énergétique des Bâtiments (PEB)"
|
||||
|
||||
#: common/utils.py:137
|
||||
#: common/utils.py:173
|
||||
msgid "Bilan Carbone"
|
||||
msgstr "Bilan Carbone"
|
||||
|
||||
#: common/utils.py:138
|
||||
#: common/utils.py:174
|
||||
msgid "Émissions de Carbone / Bilan Énergétique"
|
||||
msgstr "Émissions de Carbone / Bilan Énergétique"
|
||||
|
||||
#: common/utils.py:139
|
||||
#: common/utils.py:175
|
||||
msgid "Accès public & PMR"
|
||||
msgstr "Accès public & PMR"
|
||||
|
||||
#: common/utils.py:140
|
||||
#: common/utils.py:176
|
||||
msgid "Accueil & Sécurité du Public (Normes PMR)"
|
||||
msgstr "Accueil & Sécurité du Public (Normes PMR)"
|
||||
|
||||
#: common/utils.py:141
|
||||
#: common/utils.py:177
|
||||
msgid "Catégorie d'accueil"
|
||||
msgstr "Catégorie d'accueil"
|
||||
|
||||
#: common/utils.py:142
|
||||
#: common/utils.py:178
|
||||
msgid "Type d'affectation"
|
||||
msgstr "Type d'affectation"
|
||||
|
||||
#: common/utils.py:145
|
||||
#: common/utils.py:181
|
||||
msgid "France (DPE / GES / Mairie / ERP)"
|
||||
msgstr "France (DPE / GES / Mairie / ERP)"
|
||||
|
||||
#: common/utils.py:146
|
||||
#: common/utils.py:182
|
||||
msgid "Mairie / Hôtel de Ville"
|
||||
msgstr "Mairie / Hôtel de Ville"
|
||||
|
||||
#: common/utils.py:147
|
||||
#: common/utils.py:183
|
||||
msgid "DPE"
|
||||
msgstr "DPE"
|
||||
|
||||
#: common/utils.py:148
|
||||
#: common/utils.py:184
|
||||
msgid "Diagnostic de Performance Énergétique (DPE)"
|
||||
msgstr "Diagnostic de Performance Énergétique (DPE)"
|
||||
|
||||
#: common/utils.py:149
|
||||
#: common/utils.py:185
|
||||
msgid "GES"
|
||||
msgstr "GES"
|
||||
|
||||
#: common/utils.py:150
|
||||
#: common/utils.py:186
|
||||
msgid "Émissions de Gaz à Effet de Serre (GES)"
|
||||
msgstr "Émissions de Gaz à Effet de Serre (GES)"
|
||||
|
||||
#: common/utils.py:151
|
||||
#: common/utils.py:187
|
||||
msgid "ERP"
|
||||
msgstr "ERP"
|
||||
|
||||
#: common/utils.py:152
|
||||
#: common/utils.py:188
|
||||
msgid "Établissement Recevant du Public (ERP)"
|
||||
msgstr "Établissement Recevant du Public (ERP)"
|
||||
|
||||
#: common/utils.py:153
|
||||
#: common/utils.py:189
|
||||
msgid "Catégorie ERP"
|
||||
msgstr "Catégorie ERP"
|
||||
|
||||
#: common/utils.py:154
|
||||
#: common/utils.py:190
|
||||
msgid "Type ERP"
|
||||
msgstr "Type ERP"
|
||||
|
||||
#: common/utils.py:157
|
||||
#: common/utils.py:193
|
||||
msgid "International / Générique"
|
||||
msgstr "International / Générique"
|
||||
|
||||
#: common/utils.py:158
|
||||
#: common/utils.py:194
|
||||
msgid "Bâtiment Administratif / Hôtel de Ville"
|
||||
msgstr "Bâtiment Administratif / Hôtel de Ville"
|
||||
|
||||
#: common/utils.py:159
|
||||
#: common/utils.py:195
|
||||
msgid "PEB / DPE"
|
||||
msgstr "PEB / DPE"
|
||||
|
||||
#: common/utils.py:160
|
||||
#: common/utils.py:196
|
||||
msgid "Performance Énergétique (PEB / DPE / EPC)"
|
||||
msgstr "Performance Énergétique (PEB / DPE / EPC)"
|
||||
|
||||
#: common/utils.py:161
|
||||
#: common/utils.py:197
|
||||
msgid "Émissions Carbone"
|
||||
msgstr "Émissions Carbone"
|
||||
|
||||
#: common/utils.py:162
|
||||
#: common/utils.py:198
|
||||
msgid "Bilan Carbone & Émissions"
|
||||
msgstr "Bilan Carbone & Émissions"
|
||||
|
||||
#: common/utils.py:163
|
||||
#: common/utils.py:199
|
||||
msgid "Accès Public"
|
||||
msgstr "Accès Public"
|
||||
|
||||
#: common/utils.py:164
|
||||
#: common/utils.py:200
|
||||
msgid "Bâtiment d'Accueil du Public (ERP / PMR)"
|
||||
msgstr "Bâtiment d'Accueil du Public (ERP / PMR)"
|
||||
|
||||
#: common/utils.py:165
|
||||
#: common/utils.py:201
|
||||
msgid "Capacité d'accueil"
|
||||
msgstr "Capacité d'accueil"
|
||||
|
||||
#: common/utils.py:166
|
||||
#: common/utils.py:202
|
||||
msgid "Type d'établissement"
|
||||
msgstr "Type d'établissement"
|
||||
|
||||
|
|
@ -468,8 +450,8 @@ msgid "Changement de compte effectué."
|
|||
msgstr "Changement de compte effectué."
|
||||
|
||||
#: common/views.py:304 common/views.py:329 common/views.py:356
|
||||
#: common/views.py:397 common/views.py:428 common/views.py:457
|
||||
#: common/views.py:524 common/views.py:551
|
||||
#: common/views.py:397 common/views.py:428 common/views.py:459
|
||||
#: common/views.py:488 common/views.py:555 common/views.py:582
|
||||
msgid "Données invalides"
|
||||
msgstr "Données invalides"
|
||||
|
||||
|
|
@ -478,18 +460,19 @@ msgid "Layout invalide"
|
|||
msgstr "Layout invalide"
|
||||
|
||||
#: common/views.py:316 common/views.py:341 common/views.py:383
|
||||
#: common/views.py:414 common/views.py:445 common/views.py:511
|
||||
#: common/views.py:537 common/views.py:568 common/views.py:586
|
||||
#: common/views.py:414 common/views.py:445 common/views.py:476
|
||||
#: common/views.py:542 common/views.py:568 common/views.py:599
|
||||
#: common/views.py:617
|
||||
msgid "Configuration utilisateur non trouvée"
|
||||
msgstr "Configuration utilisateur non trouvée"
|
||||
|
||||
#: common/views.py:363 common/views.py:403 common/views.py:434
|
||||
#: common/views.py:557
|
||||
#: common/views.py:465 common/views.py:588
|
||||
msgid "Format de filtres invalide"
|
||||
msgstr "Format de filtres invalide"
|
||||
|
||||
#: common/views.py:367 common/views.py:406 common/views.py:437
|
||||
#: common/views.py:560
|
||||
#: common/views.py:468 common/views.py:591
|
||||
msgid "Format de tri invalide"
|
||||
msgstr "Format de tri invalide"
|
||||
|
||||
|
|
@ -497,50 +480,50 @@ msgstr "Format de tri invalide"
|
|||
msgid "Format de colonnes invalide"
|
||||
msgstr "Format de colonnes invalide"
|
||||
|
||||
#: common/views.py:472
|
||||
#: common/views.py:503
|
||||
msgid "Format de thématiques invalide"
|
||||
msgstr "Format de thématiques invalide"
|
||||
|
||||
#: common/views.py:474
|
||||
#: common/views.py:505
|
||||
msgid "Format de catégories invalide"
|
||||
msgstr "Format de catégories invalide"
|
||||
|
||||
#: common/views.py:476
|
||||
#: common/views.py:507
|
||||
msgid "Format de modèles invalide"
|
||||
msgstr "Format de modèles invalide"
|
||||
|
||||
#: common/views.py:478
|
||||
#: common/views.py:509
|
||||
msgid "Format de filtres thématiques invalide"
|
||||
msgstr "Format de filtres thématiques invalide"
|
||||
|
||||
#: common/views.py:480
|
||||
#: common/views.py:511
|
||||
msgid "Format de colonnes visibles invalide"
|
||||
msgstr "Format de colonnes visibles invalide"
|
||||
|
||||
#: common/views.py:482
|
||||
#: common/views.py:513
|
||||
msgid "Format de filtre type invalide"
|
||||
msgstr "Format de filtre type invalide"
|
||||
|
||||
#: common/views.py:484
|
||||
#: common/views.py:515
|
||||
msgid "Format de filtres statut invalide"
|
||||
msgstr "Format de filtres statut invalide"
|
||||
|
||||
#: common/views.py:486
|
||||
#: common/views.py:517
|
||||
msgid "Format de filtres statut de validation invalide"
|
||||
msgstr "Format de filtres statut de validation invalide"
|
||||
|
||||
#: common/views.py:530
|
||||
#: common/views.py:561
|
||||
msgid "Format de préférences invalide"
|
||||
msgstr "Format de préférences invalide"
|
||||
|
||||
#: common/views.py:581 common/views.py:607
|
||||
#: common/views.py:612 common/views.py:638
|
||||
msgid "Document non trouvé"
|
||||
msgstr "Document non trouvé"
|
||||
|
||||
#: common/views.py:591 common/views.py:595
|
||||
#: common/views.py:622 common/views.py:626
|
||||
msgid "Accès interdit"
|
||||
msgstr "Accès interdit"
|
||||
|
||||
#: common/views.py:613
|
||||
#: common/views.py:644
|
||||
msgid "Erreur lors de la lecture du document"
|
||||
msgstr "Erreur lors de la lecture du document"
|
||||
|
|
|
|||
|
|
@ -7,7 +7,7 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: PACKAGE VERSION\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2026-08-19 09:47+0200\n"
|
||||
"POT-Creation-Date: 2026-09-12 15:59+0200\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
|
|
@ -18,11 +18,8 @@ msgstr ""
|
|||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
|
||||
#: common/middleware.py:154
|
||||
msgid ""
|
||||
"Votre session a expiré après le délai configuré. Veuillez vous reconnecter."
|
||||
msgstr ""
|
||||
"Uw sessie is verlopen na de ingestelde time-out. Gelieve opnieuw in te "
|
||||
"loggen."
|
||||
msgid "Votre session a expiré après le délai configuré. Veuillez vous reconnecter."
|
||||
msgstr "Uw sessie is verlopen na de ingestelde time-out. Gelieve opnieuw in te loggen."
|
||||
|
||||
#: common/models.py:162
|
||||
msgid "Français"
|
||||
|
|
@ -49,9 +46,7 @@ msgid "Activer les rappels par e-mail"
|
|||
msgstr "E-mailherinneringen inschakelen"
|
||||
|
||||
#: common/models.py:176
|
||||
msgid ""
|
||||
"Recevoir un e-mail de rappel pour les notifications non lues après un "
|
||||
"certain délai."
|
||||
msgid "Recevoir un e-mail de rappel pour les notifications non lues après un certain délai."
|
||||
msgstr ""
|
||||
|
||||
#: common/models.py:181
|
||||
|
|
@ -59,9 +54,7 @@ msgid "E-mail(s) de réception des rappels"
|
|||
msgstr "E-mailadres(sen) voor herinneringen"
|
||||
|
||||
#: common/models.py:182
|
||||
msgid ""
|
||||
"Adresses e-mail séparées par des virgules. Si vide, l'adresse de votre "
|
||||
"compte sera utilisée."
|
||||
msgid "Adresses e-mail séparées par des virgules. Si vide, l'adresse de votre compte sera utilisée."
|
||||
msgstr ""
|
||||
|
||||
#: common/models.py:186
|
||||
|
|
@ -69,9 +62,7 @@ msgid "Délai avant rappel (en heures)"
|
|||
msgstr "Wachttijd vóór herinnering (in uren)"
|
||||
|
||||
#: common/models.py:187
|
||||
msgid ""
|
||||
"Nombre d'heures écoulées après la réception d'une notification avant l'envoi "
|
||||
"d'un rappel par e-mail."
|
||||
msgid "Nombre d'heures écoulées après la réception d'une notification avant l'envoi d'un rappel par e-mail."
|
||||
msgstr ""
|
||||
|
||||
#: common/private_files/views.py:37
|
||||
|
|
@ -136,7 +127,7 @@ msgstr "Kies de taal"
|
|||
|
||||
#: common/templates/common/account_info.html:42
|
||||
#: common/templates/common/account_info.html:88
|
||||
#: common/templates/common/components/document_viewer.html:201
|
||||
#: common/templates/common/components/document_viewer.html:204
|
||||
msgid "Fermer"
|
||||
msgstr "Sluiten"
|
||||
|
||||
|
|
@ -162,56 +153,56 @@ msgstr "Afmelden"
|
|||
msgid "Retour"
|
||||
msgstr "Terug"
|
||||
|
||||
#: common/templates/common/components/document_viewer.html:40
|
||||
#: common/templates/common/components/document_viewer.html:50
|
||||
#: common/templates/common/components/document_viewer.html:61
|
||||
#: common/templates/common/components/document_viewer.html:41
|
||||
#: common/templates/common/components/document_viewer.html:51
|
||||
#: common/templates/common/components/document_viewer.html:62
|
||||
msgid "Supprimer"
|
||||
msgstr "Verwijderen"
|
||||
|
||||
#: common/templates/common/components/document_viewer.html:75
|
||||
#: common/templates/common/components/document_viewer.html:76
|
||||
msgid "Copier vers une localisation ou un asset"
|
||||
msgstr "Kopiëren naar een locatie of asset"
|
||||
|
||||
#: common/templates/common/components/document_viewer.html:99
|
||||
#: common/templates/common/components/document_viewer.html:154
|
||||
#: common/templates/common/components/document_viewer.html:100
|
||||
#: common/templates/common/components/document_viewer.html:155
|
||||
msgid "Historique des versions"
|
||||
msgstr "Versiegeschiedenis"
|
||||
|
||||
#: common/templates/common/components/document_viewer.html:156
|
||||
#: common/templates/common/components/document_viewer.html:157
|
||||
msgid "Historique"
|
||||
msgstr "Geschiedenis"
|
||||
|
||||
#: common/templates/common/components/document_viewer.html:180
|
||||
#: common/templates/common/components/document_viewer.html:183
|
||||
msgid "Visionneuse de documents"
|
||||
msgstr "Documentviewer"
|
||||
|
||||
#: common/templates/common/components/document_viewer.html:188
|
||||
#: common/templates/common/components/document_viewer.html:191
|
||||
msgid "Ouvrir en pleine page"
|
||||
msgstr "Volledig scherm openen"
|
||||
|
||||
#: common/templates/common/components/document_viewer.html:195
|
||||
#: common/templates/common/components/document_viewer.html:196
|
||||
#: common/templates/common/components/document_viewer.html:261
|
||||
#: common/templates/common/components/document_viewer.html:198
|
||||
#: common/templates/common/components/document_viewer.html:199
|
||||
#: common/templates/common/components/document_viewer.html:264
|
||||
msgid "Télécharger"
|
||||
msgstr "Downloaden"
|
||||
|
||||
#: common/templates/common/components/document_viewer.html:229
|
||||
#: common/templates/common/components/document_viewer.html:232
|
||||
msgid "File truncated to the first 50 000 characters."
|
||||
msgstr "Bestand ingekort tot de eerste 50.000 tekens."
|
||||
|
||||
#: common/templates/common/components/document_viewer.html:245
|
||||
#: common/templates/common/components/document_viewer.html:248
|
||||
msgid "Only the first 200 rows are shown."
|
||||
msgstr "Alleen de eerste 200 rijen worden weergegeven."
|
||||
|
||||
#: common/templates/common/components/document_viewer.html:301
|
||||
#: common/templates/common/components/document_viewer.html:309
|
||||
msgid "Précédent"
|
||||
msgstr "Vorige"
|
||||
|
||||
#: common/templates/common/components/document_viewer.html:309
|
||||
#: common/templates/common/components/document_viewer.html:317
|
||||
msgid "Suivant"
|
||||
msgstr "Volgende"
|
||||
|
||||
#: common/templates/common/components/document_viewer.html:432
|
||||
#: common/templates/common/components/document_viewer.html:442
|
||||
msgid "Aucun document associé"
|
||||
msgstr "Geen gekoppeld document"
|
||||
|
||||
|
|
@ -253,9 +244,7 @@ msgid "Concepts et notions clés de StreetUp"
|
|||
msgstr ""
|
||||
|
||||
#: common/templates/common/components/help_panel.html:56
|
||||
msgid ""
|
||||
"Comprendre la différence entre Assets, Observations, Inspections, "
|
||||
"Interventions et Contrôles."
|
||||
msgid "Comprendre la différence entre Assets, Observations, Inspections, Interventions et Contrôles."
|
||||
msgstr ""
|
||||
|
||||
#: common/templates/common/components/help_panel.html:64
|
||||
|
|
@ -271,9 +260,7 @@ msgid "Statuts des interventions"
|
|||
msgstr ""
|
||||
|
||||
#: common/templates/common/components/help_panel.html:74
|
||||
msgid ""
|
||||
"Comprendre le cycle de vie d'une intervention à travers ses différents "
|
||||
"statuts."
|
||||
msgid "Comprendre le cycle de vie d'une intervention à travers ses différents statuts."
|
||||
msgstr ""
|
||||
|
||||
#: common/templates/common/components/help_panel.html:83
|
||||
|
|
@ -281,8 +268,7 @@ msgid "Approuver des interventions"
|
|||
msgstr ""
|
||||
|
||||
#: common/templates/common/components/help_panel.html:84
|
||||
msgid ""
|
||||
"Guide destiné aux gestionnaires pour valider et approuver les chantiers."
|
||||
msgid "Guide destiné aux gestionnaires pour valider et approuver les chantiers."
|
||||
msgstr ""
|
||||
|
||||
#: common/templates/common/components/help_panel.html:94
|
||||
|
|
@ -290,8 +276,7 @@ msgid "Gérer les projets"
|
|||
msgstr ""
|
||||
|
||||
#: common/templates/common/components/help_panel.html:95
|
||||
msgid ""
|
||||
"Comment regrouper les interventions et suivre la progression des chantiers."
|
||||
msgid "Comment regrouper les interventions et suivre la progression des chantiers."
|
||||
msgstr ""
|
||||
|
||||
#: common/templates/common/components/help_panel.html:105
|
||||
|
|
@ -311,128 +296,128 @@ msgstr ""
|
|||
msgid "Réduire en panneau latéral"
|
||||
msgstr ""
|
||||
|
||||
#: common/tests.py:48 common/tests.py:80 common/views.py:265
|
||||
#: common/tests.py:49 common/tests.py:81 common/views.py:265
|
||||
#: common/views.py:269 common/views.py:280
|
||||
msgid "Vous ne pouvez pas accéder à ce compte."
|
||||
msgstr "U hebt geen toegang tot dit account."
|
||||
|
||||
#: common/utils.py:133
|
||||
#: common/utils.py:169
|
||||
msgid "Belgique (PEB / Maison Communale / Sécurité PMR)"
|
||||
msgstr "België (EPB / Gemeentehuis / PMR-veiligheid)"
|
||||
|
||||
#: common/utils.py:134
|
||||
#: common/utils.py:170
|
||||
msgid "Hôtel de Ville / Maison Communale"
|
||||
msgstr "Stadhuis / Gemeentehuis"
|
||||
|
||||
#: common/utils.py:135
|
||||
#: common/utils.py:171
|
||||
msgid "PEB"
|
||||
msgstr "EPB"
|
||||
|
||||
#: common/utils.py:136
|
||||
#: common/utils.py:172
|
||||
msgid "Performance Énergétique des Bâtiments (PEB)"
|
||||
msgstr "Energieprestatie van Gebouwen (EPB)"
|
||||
|
||||
#: common/utils.py:137
|
||||
#: common/utils.py:173
|
||||
msgid "Bilan Carbone"
|
||||
msgstr "Koolstofbalans"
|
||||
|
||||
#: common/utils.py:138
|
||||
#: common/utils.py:174
|
||||
msgid "Émissions de Carbone / Bilan Énergétique"
|
||||
msgstr "Koolstofemissies / Energiebalans"
|
||||
|
||||
#: common/utils.py:139
|
||||
#: common/utils.py:175
|
||||
msgid "Accès public & PMR"
|
||||
msgstr "Publiekstoegang & PMR"
|
||||
|
||||
#: common/utils.py:140
|
||||
#: common/utils.py:176
|
||||
msgid "Accueil & Sécurité du Public (Normes PMR)"
|
||||
msgstr "Publieksontvangst & Veiligheid (PMR-normen)"
|
||||
|
||||
#: common/utils.py:141
|
||||
#: common/utils.py:177
|
||||
msgid "Catégorie d'accueil"
|
||||
msgstr "Ontvangstcategorie"
|
||||
|
||||
#: common/utils.py:142
|
||||
#: common/utils.py:178
|
||||
msgid "Type d'affectation"
|
||||
msgstr "Bestemmingstype"
|
||||
|
||||
#: common/utils.py:145
|
||||
#: common/utils.py:181
|
||||
msgid "France (DPE / GES / Mairie / ERP)"
|
||||
msgstr "Frankrijk (DPE / BKG / Stadhuis / ERP)"
|
||||
|
||||
#: common/utils.py:146
|
||||
#: common/utils.py:182
|
||||
msgid "Mairie / Hôtel de Ville"
|
||||
msgstr "Gemeentehuis / Stadhuis"
|
||||
|
||||
#: common/utils.py:147
|
||||
#: common/utils.py:183
|
||||
msgid "DPE"
|
||||
msgstr "DPE"
|
||||
|
||||
#: common/utils.py:148
|
||||
#: common/utils.py:184
|
||||
msgid "Diagnostic de Performance Énergétique (DPE)"
|
||||
msgstr "Energieprestatiediagnose (DPE)"
|
||||
|
||||
#: common/utils.py:149
|
||||
#: common/utils.py:185
|
||||
msgid "GES"
|
||||
msgstr "BKG"
|
||||
|
||||
#: common/utils.py:150
|
||||
#: common/utils.py:186
|
||||
msgid "Émissions de Gaz à Effet de Serre (GES)"
|
||||
msgstr "Broeikasgasemissies (BKG)"
|
||||
|
||||
#: common/utils.py:151
|
||||
#: common/utils.py:187
|
||||
msgid "ERP"
|
||||
msgstr "ERP"
|
||||
|
||||
#: common/utils.py:152
|
||||
#: common/utils.py:188
|
||||
msgid "Établissement Recevant du Public (ERP)"
|
||||
msgstr "Publiek Toegankelijke Inrichting (ERP)"
|
||||
|
||||
#: common/utils.py:153
|
||||
#: common/utils.py:189
|
||||
msgid "Catégorie ERP"
|
||||
msgstr "ERP-categorie"
|
||||
|
||||
#: common/utils.py:154
|
||||
#: common/utils.py:190
|
||||
msgid "Type ERP"
|
||||
msgstr "ERP-type"
|
||||
|
||||
#: common/utils.py:157
|
||||
#: common/utils.py:193
|
||||
msgid "International / Générique"
|
||||
msgstr "Internationaal / Generiek"
|
||||
|
||||
#: common/utils.py:158
|
||||
#: common/utils.py:194
|
||||
msgid "Bâtiment Administratif / Hôtel de Ville"
|
||||
msgstr "Administratief Gebouw / Stadhuis"
|
||||
|
||||
#: common/utils.py:159
|
||||
#: common/utils.py:195
|
||||
msgid "PEB / DPE"
|
||||
msgstr "EPB / DPE"
|
||||
|
||||
#: common/utils.py:160
|
||||
#: common/utils.py:196
|
||||
msgid "Performance Énergétique (PEB / DPE / EPC)"
|
||||
msgstr "Energieprestatie (EPB / DPE / EPC)"
|
||||
|
||||
#: common/utils.py:161
|
||||
#: common/utils.py:197
|
||||
msgid "Émissions Carbone"
|
||||
msgstr "Koolstofemissies"
|
||||
|
||||
#: common/utils.py:162
|
||||
#: common/utils.py:198
|
||||
msgid "Bilan Carbone & Émissions"
|
||||
msgstr "Koolstofbalans & Emissies"
|
||||
|
||||
#: common/utils.py:163
|
||||
#: common/utils.py:199
|
||||
msgid "Accès Public"
|
||||
msgstr "Publiekstoegang"
|
||||
|
||||
#: common/utils.py:164
|
||||
#: common/utils.py:200
|
||||
msgid "Bâtiment d'Accueil du Public (ERP / PMR)"
|
||||
msgstr "Publieksontvangstgebouw (ERP / PMR)"
|
||||
|
||||
#: common/utils.py:165
|
||||
#: common/utils.py:201
|
||||
msgid "Capacité d'accueil"
|
||||
msgstr "Ontvangstcapaciteit"
|
||||
|
||||
#: common/utils.py:166
|
||||
#: common/utils.py:202
|
||||
msgid "Type d'établissement"
|
||||
msgstr "Type inrichting"
|
||||
|
||||
|
|
@ -465,8 +450,8 @@ msgid "Changement de compte effectué."
|
|||
msgstr "Accountwissel uitgevoerd."
|
||||
|
||||
#: common/views.py:304 common/views.py:329 common/views.py:356
|
||||
#: common/views.py:397 common/views.py:428 common/views.py:457
|
||||
#: common/views.py:524 common/views.py:551
|
||||
#: common/views.py:397 common/views.py:428 common/views.py:459
|
||||
#: common/views.py:488 common/views.py:555 common/views.py:582
|
||||
msgid "Données invalides"
|
||||
msgstr "Ongeldige gegevens"
|
||||
|
||||
|
|
@ -475,18 +460,19 @@ msgid "Layout invalide"
|
|||
msgstr "Ongeldige lay-out"
|
||||
|
||||
#: common/views.py:316 common/views.py:341 common/views.py:383
|
||||
#: common/views.py:414 common/views.py:445 common/views.py:511
|
||||
#: common/views.py:537 common/views.py:568 common/views.py:586
|
||||
#: common/views.py:414 common/views.py:445 common/views.py:476
|
||||
#: common/views.py:542 common/views.py:568 common/views.py:599
|
||||
#: common/views.py:617
|
||||
msgid "Configuration utilisateur non trouvée"
|
||||
msgstr "Gebruikersconfiguratie niet gevonden"
|
||||
|
||||
#: common/views.py:363 common/views.py:403 common/views.py:434
|
||||
#: common/views.py:557
|
||||
#: common/views.py:465 common/views.py:588
|
||||
msgid "Format de filtres invalide"
|
||||
msgstr "Ongeldig filterformaat"
|
||||
|
||||
#: common/views.py:367 common/views.py:406 common/views.py:437
|
||||
#: common/views.py:560
|
||||
#: common/views.py:468 common/views.py:591
|
||||
msgid "Format de tri invalide"
|
||||
msgstr "Ongeldig sorteervoorbeeld"
|
||||
|
||||
|
|
@ -494,50 +480,50 @@ msgstr "Ongeldig sorteervoorbeeld"
|
|||
msgid "Format de colonnes invalide"
|
||||
msgstr "Ongeldig kolomformaat"
|
||||
|
||||
#: common/views.py:472
|
||||
#: common/views.py:503
|
||||
msgid "Format de thématiques invalide"
|
||||
msgstr "Ongeldig thematiekformaat"
|
||||
|
||||
#: common/views.py:474
|
||||
#: common/views.py:505
|
||||
msgid "Format de catégories invalide"
|
||||
msgstr "Ongeldig categorieformaat"
|
||||
|
||||
#: common/views.py:476
|
||||
#: common/views.py:507
|
||||
msgid "Format de modèles invalide"
|
||||
msgstr "Ongeldig modelformaat"
|
||||
|
||||
#: common/views.py:478
|
||||
#: common/views.py:509
|
||||
msgid "Format de filtres thématiques invalide"
|
||||
msgstr "Ongeldig thematiekfilterformaat"
|
||||
|
||||
#: common/views.py:480
|
||||
#: common/views.py:511
|
||||
msgid "Format de colonnes visibles invalide"
|
||||
msgstr "Ongeldig zichtbare kolommenformaat"
|
||||
|
||||
#: common/views.py:482
|
||||
#: common/views.py:513
|
||||
msgid "Format de filtre type invalide"
|
||||
msgstr "Ongeldig type-filterformaat"
|
||||
|
||||
#: common/views.py:484
|
||||
#: common/views.py:515
|
||||
msgid "Format de filtres statut invalide"
|
||||
msgstr "Ongeldig statusfilterformaat"
|
||||
|
||||
#: common/views.py:486
|
||||
#: common/views.py:517
|
||||
msgid "Format de filtres statut de validation invalide"
|
||||
msgstr "Ongeldig validatiestatusfilterformaat"
|
||||
|
||||
#: common/views.py:530
|
||||
#: common/views.py:561
|
||||
msgid "Format de préférences invalide"
|
||||
msgstr "Ongeldig filterformaat"
|
||||
|
||||
#: common/views.py:581 common/views.py:607
|
||||
#: common/views.py:612 common/views.py:638
|
||||
msgid "Document non trouvé"
|
||||
msgstr "Geen straat gevonden"
|
||||
|
||||
#: common/views.py:591 common/views.py:595
|
||||
#: common/views.py:622 common/views.py:626
|
||||
msgid "Accès interdit"
|
||||
msgstr ""
|
||||
|
||||
#: common/views.py:613
|
||||
#: common/views.py:644
|
||||
msgid "Erreur lors de la lecture du document"
|
||||
msgstr ""
|
||||
|
|
|
|||
Binary file not shown.
File diff suppressed because it is too large
Load diff
Binary file not shown.
File diff suppressed because it is too large
Load diff
Binary file not shown.
File diff suppressed because it is too large
Load diff
Binary file not shown.
File diff suppressed because it is too large
Load diff
Binary file not shown.
File diff suppressed because it is too large
Load diff
Binary file not shown.
File diff suppressed because it is too large
Load diff
Binary file not shown.
File diff suppressed because it is too large
Load diff
Binary file not shown.
File diff suppressed because it is too large
Load diff
Binary file not shown.
File diff suppressed because it is too large
Load diff
Binary file not shown.
|
|
@ -6,7 +6,7 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: PACKAGE VERSION\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2026-08-21 12:07+0200\n"
|
||||
"POT-Creation-Date: 2026-09-13 09:05+0200\n"
|
||||
"PO-Revision-Date: 2025-12-04 12:00+0100\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: English <LL@li.org>\n"
|
||||
|
|
@ -523,88 +523,90 @@ msgstr ""
|
|||
"and crossing conditions"
|
||||
|
||||
#: home/templates/home/widgets/exceptional_transport.html:23
|
||||
#| msgid "Ouvrages d'art"
|
||||
msgid "ouvrages sur la carte"
|
||||
msgstr "structures on the map"
|
||||
|
||||
#: home/templates/home/widgets/exceptional_transport.html:26
|
||||
#: home/templates/home/widgets/exceptional_transport.html:25
|
||||
msgid "Voir tous les ouvrages d'art"
|
||||
msgstr "See all structures"
|
||||
|
||||
#: home/templates/home/widgets/exceptional_transport.html:27
|
||||
msgid "Tous les ouvrages"
|
||||
msgstr "All structures"
|
||||
|
||||
#: home/templates/home/widgets/exceptional_transport.html:44
|
||||
#: home/templates/home/widgets/exceptional_transport.html:45
|
||||
msgid "Rechercher (ex: OA120, pont, tunnel, passerelle, VNR...)"
|
||||
msgstr "Search (e.g. OA120, bridge, tunnel, footbridge, VNR...)"
|
||||
|
||||
#: home/templates/home/widgets/exceptional_transport.html:46
|
||||
#: home/templates/home/widgets/exceptional_transport.html:47
|
||||
msgid "Effacer la recherche"
|
||||
msgstr "Clear search"
|
||||
|
||||
#: home/templates/home/widgets/exceptional_transport.html:61
|
||||
#: home/templates/home/widgets/exceptional_transport.html:62
|
||||
msgid "Tous"
|
||||
msgstr "All"
|
||||
|
||||
#: home/templates/home/widgets/exceptional_transport.html:64
|
||||
#: home/templates/home/widgets/exceptional_transport.html:65
|
||||
msgid "Autorisé"
|
||||
msgstr "Authorized"
|
||||
|
||||
#: home/templates/home/widgets/exceptional_transport.html:67
|
||||
#| msgid "Groupes de conditions"
|
||||
#: home/templates/home/widgets/exceptional_transport.html:68
|
||||
msgid "Sous conditions"
|
||||
msgstr "Conditional"
|
||||
|
||||
#: home/templates/home/widgets/exceptional_transport.html:70
|
||||
#: home/templates/home/widgets/exceptional_transport.html:71
|
||||
msgid "Non évalué"
|
||||
msgstr "Not evaluated"
|
||||
|
||||
#: home/templates/home/widgets/exceptional_transport.html:73
|
||||
#: home/templates/home/widgets/exceptional_transport.html:74
|
||||
msgid "Restreint/Interdit"
|
||||
msgstr "Restricted/Forbidden"
|
||||
|
||||
#: home/templates/home/widgets/exceptional_transport.html:85
|
||||
#: home/templates/home/widgets/exceptional_transport.html:86
|
||||
msgid "Réinitialiser la vue"
|
||||
msgstr "Reset view"
|
||||
|
||||
#: home/templates/home/widgets/exceptional_transport.html:94
|
||||
#: home/templates/home/widgets/exceptional_transport.html:95
|
||||
msgid "Statut de passage"
|
||||
msgstr "Passage status"
|
||||
|
||||
#: home/templates/home/widgets/exceptional_transport.html:99
|
||||
#: home/templates/home/widgets/exceptional_transport.html:100
|
||||
msgid "Autorisé (standard / calculé)"
|
||||
msgstr "Authorized (standard / calculated)"
|
||||
|
||||
#: home/templates/home/widgets/exceptional_transport.html:103
|
||||
#: home/templates/home/widgets/exceptional_transport.html:104
|
||||
msgid "Sous conditions / prescriptions"
|
||||
msgstr "Conditional / prescriptions"
|
||||
|
||||
#: home/templates/home/widgets/exceptional_transport.html:107
|
||||
#: home/templates/home/widgets/exceptional_transport.html:108
|
||||
msgid "Non évalué (fiche à compléter)"
|
||||
msgstr "Not evaluated (to be completed)"
|
||||
|
||||
#: home/templates/home/widgets/exceptional_transport.html:111
|
||||
#: home/templates/home/widgets/exceptional_transport.html:112
|
||||
msgid "Interdit / Étude requise"
|
||||
msgstr "Forbidden / Study required"
|
||||
|
||||
#: home/templates/home/widgets/exceptional_transport.html:120
|
||||
#: home/templates/home/widgets/exceptional_transport.html:121
|
||||
msgid "Chargement..."
|
||||
msgstr ""
|
||||
|
||||
#: home/templates/home/widgets/exceptional_transport.html:122
|
||||
#: home/templates/home/widgets/exceptional_transport.html:123
|
||||
msgid "Chargement du réseau d'ouvrages..."
|
||||
msgstr "Loading structure network..."
|
||||
|
||||
#: home/templates/home/widgets/exceptional_transport.html:464
|
||||
#: home/templates/home/widgets/exceptional_transport.html:465
|
||||
msgid "Ouvrir la fiche de l'ouvrage"
|
||||
msgstr "Open structure detail"
|
||||
|
||||
#: home/templates/home/widgets/exceptional_transport.html:490
|
||||
#: home/templates/home/widgets/exceptional_transport.html:491
|
||||
msgid "Détail"
|
||||
msgstr "Detail"
|
||||
|
||||
#: home/templates/home/widgets/exceptional_transport.html:501
|
||||
#: home/templates/home/widgets/exceptional_transport.html:502
|
||||
msgid "ouvrages à cet endroit"
|
||||
msgstr "structures at this location"
|
||||
|
||||
#: home/templates/home/widgets/exceptional_transport.html:575
|
||||
#: home/templates/home/widgets/exceptional_transport.html:576
|
||||
msgid "Aucun ouvrage correspondant trouvé"
|
||||
msgstr "No matching structure found"
|
||||
|
||||
|
|
|
|||
Binary file not shown.
|
|
@ -6,7 +6,7 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: PACKAGE VERSION\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2026-08-21 12:07+0200\n"
|
||||
"POT-Creation-Date: 2026-09-12 15:59+0200\n"
|
||||
"PO-Revision-Date: 2025-12-04 12:00+0100\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: French <LL@li.org>\n"
|
||||
|
|
@ -532,88 +532,90 @@ msgstr ""
|
|||
"passerelles) et conditions de passage"
|
||||
|
||||
#: home/templates/home/widgets/exceptional_transport.html:23
|
||||
#| msgid "Ouvrages d'art"
|
||||
msgid "ouvrages sur la carte"
|
||||
msgstr "ouvrages sur la carte"
|
||||
|
||||
#: home/templates/home/widgets/exceptional_transport.html:26
|
||||
#: home/templates/home/widgets/exceptional_transport.html:25
|
||||
msgid "Voir tous les ouvrages d'art"
|
||||
msgstr "Voir tous les ouvrages d'art"
|
||||
|
||||
#: home/templates/home/widgets/exceptional_transport.html:27
|
||||
msgid "Tous les ouvrages"
|
||||
msgstr "Tous les ouvrages"
|
||||
|
||||
#: home/templates/home/widgets/exceptional_transport.html:44
|
||||
#: home/templates/home/widgets/exceptional_transport.html:45
|
||||
msgid "Rechercher (ex: OA120, pont, tunnel, passerelle, VNR...)"
|
||||
msgstr "Rechercher (ex: OA120, pont, tunnel, passerelle, VNR...)"
|
||||
|
||||
#: home/templates/home/widgets/exceptional_transport.html:46
|
||||
#: home/templates/home/widgets/exceptional_transport.html:47
|
||||
msgid "Effacer la recherche"
|
||||
msgstr "Effacer la recherche"
|
||||
|
||||
#: home/templates/home/widgets/exceptional_transport.html:61
|
||||
#: home/templates/home/widgets/exceptional_transport.html:62
|
||||
msgid "Tous"
|
||||
msgstr "Tous"
|
||||
|
||||
#: home/templates/home/widgets/exceptional_transport.html:64
|
||||
#: home/templates/home/widgets/exceptional_transport.html:65
|
||||
msgid "Autorisé"
|
||||
msgstr "Autorisé"
|
||||
|
||||
#: home/templates/home/widgets/exceptional_transport.html:67
|
||||
#| msgid "Groupes de conditions"
|
||||
#: home/templates/home/widgets/exceptional_transport.html:68
|
||||
msgid "Sous conditions"
|
||||
msgstr "Sous conditions"
|
||||
|
||||
#: home/templates/home/widgets/exceptional_transport.html:70
|
||||
#: home/templates/home/widgets/exceptional_transport.html:71
|
||||
msgid "Non évalué"
|
||||
msgstr "Non évalué"
|
||||
|
||||
#: home/templates/home/widgets/exceptional_transport.html:73
|
||||
#: home/templates/home/widgets/exceptional_transport.html:74
|
||||
msgid "Restreint/Interdit"
|
||||
msgstr "Restreint/Interdit"
|
||||
|
||||
#: home/templates/home/widgets/exceptional_transport.html:85
|
||||
#: home/templates/home/widgets/exceptional_transport.html:86
|
||||
msgid "Réinitialiser la vue"
|
||||
msgstr "Réinitialiser la vue"
|
||||
|
||||
#: home/templates/home/widgets/exceptional_transport.html:94
|
||||
#: home/templates/home/widgets/exceptional_transport.html:95
|
||||
msgid "Statut de passage"
|
||||
msgstr "Statut de passage"
|
||||
|
||||
#: home/templates/home/widgets/exceptional_transport.html:99
|
||||
#: home/templates/home/widgets/exceptional_transport.html:100
|
||||
msgid "Autorisé (standard / calculé)"
|
||||
msgstr "Autorisé (standard / calculé)"
|
||||
|
||||
#: home/templates/home/widgets/exceptional_transport.html:103
|
||||
#: home/templates/home/widgets/exceptional_transport.html:104
|
||||
msgid "Sous conditions / prescriptions"
|
||||
msgstr "Sous conditions / prescriptions"
|
||||
|
||||
#: home/templates/home/widgets/exceptional_transport.html:107
|
||||
#: home/templates/home/widgets/exceptional_transport.html:108
|
||||
msgid "Non évalué (fiche à compléter)"
|
||||
msgstr "Non évalué (fiche à compléter)"
|
||||
|
||||
#: home/templates/home/widgets/exceptional_transport.html:111
|
||||
#: home/templates/home/widgets/exceptional_transport.html:112
|
||||
msgid "Interdit / Étude requise"
|
||||
msgstr "Interdit / Étude requise"
|
||||
|
||||
#: home/templates/home/widgets/exceptional_transport.html:120
|
||||
#: home/templates/home/widgets/exceptional_transport.html:121
|
||||
msgid "Chargement..."
|
||||
msgstr ""
|
||||
|
||||
#: home/templates/home/widgets/exceptional_transport.html:122
|
||||
#: home/templates/home/widgets/exceptional_transport.html:123
|
||||
msgid "Chargement du réseau d'ouvrages..."
|
||||
msgstr "Chargement du réseau d'ouvrages..."
|
||||
|
||||
#: home/templates/home/widgets/exceptional_transport.html:464
|
||||
#: home/templates/home/widgets/exceptional_transport.html:465
|
||||
msgid "Ouvrir la fiche de l'ouvrage"
|
||||
msgstr "Ouvrir la fiche de l'ouvrage"
|
||||
|
||||
#: home/templates/home/widgets/exceptional_transport.html:490
|
||||
#: home/templates/home/widgets/exceptional_transport.html:491
|
||||
msgid "Détail"
|
||||
msgstr "Détail"
|
||||
|
||||
#: home/templates/home/widgets/exceptional_transport.html:501
|
||||
#: home/templates/home/widgets/exceptional_transport.html:502
|
||||
msgid "ouvrages à cet endroit"
|
||||
msgstr "ouvrages à cet endroit"
|
||||
|
||||
#: home/templates/home/widgets/exceptional_transport.html:575
|
||||
#: home/templates/home/widgets/exceptional_transport.html:576
|
||||
msgid "Aucun ouvrage correspondant trouvé"
|
||||
msgstr "Aucun ouvrage correspondant trouvé"
|
||||
|
||||
|
|
|
|||
Binary file not shown.
|
|
@ -6,7 +6,7 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: PACKAGE VERSION\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2026-08-21 12:07+0200\n"
|
||||
"POT-Creation-Date: 2026-09-12 15:59+0200\n"
|
||||
"PO-Revision-Date: 2025-12-04 12:00+0100\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: Dutch <LL@li.org>\n"
|
||||
|
|
@ -529,88 +529,90 @@ msgstr ""
|
|||
"voetgangersbruggen) en doorgangsvoorwaarden"
|
||||
|
||||
#: home/templates/home/widgets/exceptional_transport.html:23
|
||||
#| msgid "Ouvrages d'art"
|
||||
msgid "ouvrages sur la carte"
|
||||
msgstr "kunstwerken op de kaart"
|
||||
|
||||
#: home/templates/home/widgets/exceptional_transport.html:26
|
||||
#: home/templates/home/widgets/exceptional_transport.html:25
|
||||
msgid "Voir tous les ouvrages d'art"
|
||||
msgstr "Bekijk alle kunstwerken"
|
||||
|
||||
#: home/templates/home/widgets/exceptional_transport.html:27
|
||||
msgid "Tous les ouvrages"
|
||||
msgstr "Alle kunstwerken"
|
||||
|
||||
#: home/templates/home/widgets/exceptional_transport.html:44
|
||||
#: home/templates/home/widgets/exceptional_transport.html:45
|
||||
msgid "Rechercher (ex: OA120, pont, tunnel, passerelle, VNR...)"
|
||||
msgstr "Zoeken (bijv. OA120, brug, tunnel, voetgangersbrug, VNR...)"
|
||||
|
||||
#: home/templates/home/widgets/exceptional_transport.html:46
|
||||
#: home/templates/home/widgets/exceptional_transport.html:47
|
||||
msgid "Effacer la recherche"
|
||||
msgstr "Zoekopdracht wissen"
|
||||
|
||||
#: home/templates/home/widgets/exceptional_transport.html:61
|
||||
#: home/templates/home/widgets/exceptional_transport.html:62
|
||||
msgid "Tous"
|
||||
msgstr "Alle"
|
||||
|
||||
#: home/templates/home/widgets/exceptional_transport.html:64
|
||||
#: home/templates/home/widgets/exceptional_transport.html:65
|
||||
msgid "Autorisé"
|
||||
msgstr "Toegestaan"
|
||||
|
||||
#: home/templates/home/widgets/exceptional_transport.html:67
|
||||
#| msgid "Groupes de conditions"
|
||||
#: home/templates/home/widgets/exceptional_transport.html:68
|
||||
msgid "Sous conditions"
|
||||
msgstr "Onder voorwaarden"
|
||||
|
||||
#: home/templates/home/widgets/exceptional_transport.html:70
|
||||
#: home/templates/home/widgets/exceptional_transport.html:71
|
||||
msgid "Non évalué"
|
||||
msgstr "Niet geëvalueerd"
|
||||
|
||||
#: home/templates/home/widgets/exceptional_transport.html:73
|
||||
#: home/templates/home/widgets/exceptional_transport.html:74
|
||||
msgid "Restreint/Interdit"
|
||||
msgstr "Beperkt/Verboden"
|
||||
|
||||
#: home/templates/home/widgets/exceptional_transport.html:85
|
||||
#: home/templates/home/widgets/exceptional_transport.html:86
|
||||
msgid "Réinitialiser la vue"
|
||||
msgstr "Weergave herstellen"
|
||||
|
||||
#: home/templates/home/widgets/exceptional_transport.html:94
|
||||
#: home/templates/home/widgets/exceptional_transport.html:95
|
||||
msgid "Statut de passage"
|
||||
msgstr "Doorgangsstatus"
|
||||
|
||||
#: home/templates/home/widgets/exceptional_transport.html:99
|
||||
#: home/templates/home/widgets/exceptional_transport.html:100
|
||||
msgid "Autorisé (standard / calculé)"
|
||||
msgstr "Toegestaan (standaard / berekend)"
|
||||
|
||||
#: home/templates/home/widgets/exceptional_transport.html:103
|
||||
#: home/templates/home/widgets/exceptional_transport.html:104
|
||||
msgid "Sous conditions / prescriptions"
|
||||
msgstr "Onder voorwaarden / voorschriften"
|
||||
|
||||
#: home/templates/home/widgets/exceptional_transport.html:107
|
||||
#: home/templates/home/widgets/exceptional_transport.html:108
|
||||
msgid "Non évalué (fiche à compléter)"
|
||||
msgstr "Niet geëvalueerd (in te vullen)"
|
||||
|
||||
#: home/templates/home/widgets/exceptional_transport.html:111
|
||||
#: home/templates/home/widgets/exceptional_transport.html:112
|
||||
msgid "Interdit / Étude requise"
|
||||
msgstr "Verboden / Studie vereist"
|
||||
|
||||
#: home/templates/home/widgets/exceptional_transport.html:120
|
||||
#: home/templates/home/widgets/exceptional_transport.html:121
|
||||
msgid "Chargement..."
|
||||
msgstr ""
|
||||
|
||||
#: home/templates/home/widgets/exceptional_transport.html:122
|
||||
#: home/templates/home/widgets/exceptional_transport.html:123
|
||||
msgid "Chargement du réseau d'ouvrages..."
|
||||
msgstr "Netwerk van kunstwerken laden..."
|
||||
|
||||
#: home/templates/home/widgets/exceptional_transport.html:464
|
||||
#: home/templates/home/widgets/exceptional_transport.html:465
|
||||
msgid "Ouvrir la fiche de l'ouvrage"
|
||||
msgstr "Kunstwerkfiche openen"
|
||||
|
||||
#: home/templates/home/widgets/exceptional_transport.html:490
|
||||
#: home/templates/home/widgets/exceptional_transport.html:491
|
||||
msgid "Détail"
|
||||
msgstr "Detail"
|
||||
|
||||
#: home/templates/home/widgets/exceptional_transport.html:501
|
||||
#: home/templates/home/widgets/exceptional_transport.html:502
|
||||
msgid "ouvrages à cet endroit"
|
||||
msgstr "kunstwerken op deze locatie"
|
||||
|
||||
#: home/templates/home/widgets/exceptional_transport.html:575
|
||||
#: home/templates/home/widgets/exceptional_transport.html:576
|
||||
msgid "Aucun ouvrage correspondant trouvé"
|
||||
msgstr "Geen overeenkomend kunstwerk gevonden"
|
||||
|
||||
|
|
|
|||
Binary file not shown.
File diff suppressed because it is too large
Load diff
Binary file not shown.
File diff suppressed because it is too large
Load diff
Binary file not shown.
File diff suppressed because it is too large
Load diff
|
|
@ -78,7 +78,7 @@
|
|||
<div class="col-12 col-md-7">
|
||||
<div class="input-group input-group-sm">
|
||||
<span class="input-group-text bg-white"><i class="bi bi-search text-muted"></i></span>
|
||||
<input type="text" id="giep_modal_search_input" class="form-control" placeholder="{% translate 'Filtrer par code ou type d\'ouvrage...' %}">
|
||||
<input type="text" id="giep_modal_search_input" class="form-control" placeholder="{% translate "Filtrer par code ou type d'ouvrage..." %}">
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-12 col-md-5">
|
||||
|
|
|
|||
Binary file not shown.
File diff suppressed because it is too large
Load diff
Binary file not shown.
File diff suppressed because it is too large
Load diff
Binary file not shown.
File diff suppressed because it is too large
Load diff
Binary file not shown.
|
|
@ -6,7 +6,7 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: PACKAGE VERSION\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2026-08-21 12:07+0200\n"
|
||||
"POT-Creation-Date: 2026-09-13 09:05+0200\n"
|
||||
"PO-Revision-Date: 2025-12-04 12:00+0100\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: English <LL@li.org>\n"
|
||||
|
|
@ -16,6 +16,124 @@ msgstr ""
|
|||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
|
||||
#: mobile/templates/mobile/assets/assets_index_mobile.html:6
|
||||
#: mobile/templates/mobile/mobile_index.html:145
|
||||
msgid "Patrimoine & Assets"
|
||||
msgstr "Assets & Heritage"
|
||||
|
||||
#: mobile/templates/mobile/assets/assets_index_mobile.html:302
|
||||
msgid "Code, nom, modèle..."
|
||||
msgstr "Code, name, model..."
|
||||
|
||||
#: mobile/templates/mobile/assets/assets_index_mobile.html:307
|
||||
msgid "Effacer"
|
||||
msgstr ""
|
||||
|
||||
#: mobile/templates/mobile/assets/assets_index_mobile.html:316
|
||||
msgid "Réinitialiser la recherche, les filtres et le zoom"
|
||||
msgstr "Reset search, filters and zoom"
|
||||
|
||||
#: mobile/templates/mobile/assets/assets_index_mobile.html:318
|
||||
msgid "Reset"
|
||||
msgstr ""
|
||||
|
||||
#: mobile/templates/mobile/assets/assets_index_mobile.html:322
|
||||
msgid "Mode d'affichage"
|
||||
msgstr "Display mode"
|
||||
|
||||
#: mobile/templates/mobile/assets/assets_index_mobile.html:324
|
||||
msgid "Carte"
|
||||
msgstr ""
|
||||
|
||||
#: mobile/templates/mobile/assets/assets_index_mobile.html:327
|
||||
msgid "Liste"
|
||||
msgstr ""
|
||||
|
||||
#: mobile/templates/mobile/assets/assets_index_mobile.html:337
|
||||
msgid "Tous statuts"
|
||||
msgstr "All statuses"
|
||||
|
||||
#: mobile/templates/mobile/assets/assets_index_mobile.html:362
|
||||
msgid "Limite atteinte"
|
||||
msgstr "Limit reached"
|
||||
|
||||
#: mobile/templates/mobile/assets/assets_index_mobile.html:362
|
||||
msgid ""
|
||||
"Plus de 500 assets correspondent. Veuillez zoomer sur la carte ou affiner "
|
||||
"vos critères de recherche."
|
||||
msgstr ""
|
||||
|
||||
#: mobile/templates/mobile/assets/assets_index_mobile.html:369
|
||||
msgid "asset(s) trouvé(s)"
|
||||
msgstr "asset(s) found"
|
||||
|
||||
#: mobile/templates/mobile/assets/assets_index_mobile.html:371
|
||||
msgid "500 affichés"
|
||||
msgstr ""
|
||||
|
||||
#: mobile/templates/mobile/assets/assets_index_mobile.html:373
|
||||
msgid ""
|
||||
"Filtré selon la zone visible sur la carte. Cliquez pour élargir à toute la "
|
||||
"commune."
|
||||
msgstr ""
|
||||
|
||||
#: mobile/templates/mobile/assets/assets_index_mobile.html:374
|
||||
msgid "Zone visible"
|
||||
msgstr ""
|
||||
|
||||
#: mobile/templates/mobile/assets/assets_index_mobile.html:377
|
||||
msgid "Trié par distance"
|
||||
msgstr "Sorted by distance"
|
||||
|
||||
#: mobile/templates/mobile/assets/assets_index_mobile.html:381
|
||||
#: mobile/templates/mobile/mobile_base.html:220
|
||||
msgid "Chargement..."
|
||||
msgstr "Loading..."
|
||||
|
||||
#: mobile/templates/mobile/assets/assets_index_mobile.html:395
|
||||
#: mobile/templates/mobile/assets/assets_index_mobile.html:416
|
||||
msgid "Sélectionnez une thématique"
|
||||
msgstr "Select a thematic"
|
||||
|
||||
#: mobile/templates/mobile/assets/assets_index_mobile.html:396
|
||||
msgid ""
|
||||
"Veuillez choisir une thématique ci-dessus pour afficher les assets sur la "
|
||||
"carte."
|
||||
msgstr ""
|
||||
|
||||
#: mobile/templates/mobile/assets/assets_index_mobile.html:400
|
||||
msgid "Ma position"
|
||||
msgstr "My location"
|
||||
|
||||
#: mobile/templates/mobile/assets/assets_index_mobile.html:417
|
||||
msgid ""
|
||||
"Veuillez choisir une thématique ci-dessus pour afficher la liste des assets."
|
||||
msgstr ""
|
||||
|
||||
#: mobile/templates/mobile/assets/assets_index_mobile.html:424
|
||||
msgid "Aucun asset trouvé"
|
||||
msgstr "No assets found"
|
||||
|
||||
#: mobile/templates/mobile/assets/assets_index_mobile.html:425
|
||||
msgid "Modifiez votre recherche ou zoomez sur une autre zone."
|
||||
msgstr "Modify your search or zoom into another area."
|
||||
|
||||
#: mobile/templates/mobile/assets/assets_index_mobile.html:427
|
||||
msgid "Réinitialiser les filtres"
|
||||
msgstr "Reset filters"
|
||||
|
||||
#: mobile/templates/mobile/assets/assets_index_mobile.html:461
|
||||
msgid "Consulter la fiche"
|
||||
msgstr "View details"
|
||||
|
||||
#: mobile/templates/mobile/assets/assets_index_mobile.html:463
|
||||
msgid "Itinéraire GPS"
|
||||
msgstr "GPS Directions"
|
||||
|
||||
#: mobile/templates/mobile/assets/assets_index_mobile.html:996
|
||||
msgid "La géolocalisation n'est pas supportée par votre navigateur."
|
||||
msgstr "Geolocation is not supported by your browser."
|
||||
|
||||
#: mobile/templates/mobile/green_surfaces_edit_v2.html:240
|
||||
msgid "Espaces verts - V2"
|
||||
msgstr "Green spaces - V2"
|
||||
|
|
@ -34,7 +152,8 @@ msgstr "selected item(s)"
|
|||
|
||||
#: mobile/templates/mobile/green_surfaces_edit_v2.html:275
|
||||
msgid ""
|
||||
"Sélectionnez un modèle ci-dessous pour l'appliquer aux éléments sélectionnés."
|
||||
"Sélectionnez un modèle ci-dessous pour l'appliquer aux éléments "
|
||||
"sélectionnés."
|
||||
msgstr "Select a template below to apply it to the selected elements."
|
||||
|
||||
#: mobile/templates/mobile/green_surfaces_edit_v2.html:280
|
||||
|
|
@ -197,7 +316,7 @@ msgid ""
|
|||
msgstr "Draw a line to cut the polygon. Double-click to finish."
|
||||
|
||||
#: mobile/templates/mobile/green_surfaces_edit_v2.html:1107
|
||||
#: mobile/templates/mobile/mobile_index.html:146
|
||||
#: mobile/templates/mobile/mobile_index.html:158
|
||||
msgid "Espaces verts"
|
||||
msgstr "Green spaces"
|
||||
|
||||
|
|
@ -222,19 +341,15 @@ msgstr "Active"
|
|||
msgid "Quitter"
|
||||
msgstr "Exit"
|
||||
|
||||
#: mobile/templates/mobile/mobile_base.html:218
|
||||
msgid "Chargement..."
|
||||
msgstr "Loading..."
|
||||
|
||||
#: mobile/templates/mobile/mobile_base.html:242
|
||||
#: mobile/templates/mobile/mobile_base.html:244
|
||||
msgid "Notifications"
|
||||
msgstr "Notifications"
|
||||
|
||||
#: mobile/templates/mobile/mobile_base.html:248
|
||||
#: mobile/templates/mobile/mobile_base.html:250
|
||||
msgid "notifications non lues"
|
||||
msgstr "unread notifications"
|
||||
|
||||
#: mobile/templates/mobile/mobile_base.html:254
|
||||
#: mobile/templates/mobile/mobile_base.html:256
|
||||
msgid "Scanner un QR Code"
|
||||
msgstr "Scan a QR Code"
|
||||
|
||||
|
|
@ -246,13 +361,11 @@ msgstr "Unread notifications"
|
|||
#, python-format
|
||||
msgid ""
|
||||
"\n"
|
||||
" Vous avez <strong class=\"home-unread-"
|
||||
"notifications-count\">%(count)s</strong> notification non lue.\n"
|
||||
" Vous avez <strong class=\"home-unread-notifications-count\">%(count)s</strong> notification non lue.\n"
|
||||
" "
|
||||
msgid_plural ""
|
||||
"\n"
|
||||
" Vous avez <strong class=\"home-unread-"
|
||||
"notifications-count\">%(count)s</strong> notifications non lues.\n"
|
||||
" Vous avez <strong class=\"home-unread-notifications-count\">%(count)s</strong> notifications non lues.\n"
|
||||
" "
|
||||
msgstr[0] ""
|
||||
msgstr[1] ""
|
||||
|
|
@ -325,15 +438,19 @@ msgstr "Asset inspections"
|
|||
msgid "Consulter la liste et l'historique des vérifications d'assets"
|
||||
msgstr "View the list and history of asset verifications"
|
||||
|
||||
#: mobile/templates/mobile/mobile_index.html:147
|
||||
#: mobile/templates/mobile/mobile_index.html:146
|
||||
msgid "Consulter et localiser les assets sur le terrain"
|
||||
msgstr "Browse and locate assets in the field"
|
||||
|
||||
#: mobile/templates/mobile/mobile_index.html:159
|
||||
msgid "Éditer les espaces verts"
|
||||
msgstr "Edit green spaces"
|
||||
|
||||
#: mobile/templates/mobile/mobile_index.html:158
|
||||
#: mobile/templates/mobile/mobile_index.html:170
|
||||
msgid "Stock"
|
||||
msgstr "Stock"
|
||||
|
||||
#: mobile/templates/mobile/mobile_index.html:159
|
||||
#: mobile/templates/mobile/mobile_index.html:171
|
||||
msgid "Gérer les produits, commandes et mouvements de stock"
|
||||
msgstr "Manage products, orders and stock movements"
|
||||
|
||||
|
|
@ -355,7 +472,8 @@ msgid "Télécharger l'APK Android"
|
|||
msgstr "Download Android APK"
|
||||
|
||||
#: mobile/templates/mobile/mobile_install.html:77
|
||||
msgid "Installez la version native (recommandé pour les appareils de terrain)."
|
||||
msgid ""
|
||||
"Installez la version native (recommandé pour les appareils de terrain)."
|
||||
msgstr "Install the native version (recommended for field devices)."
|
||||
|
||||
#: mobile/templates/mobile/mobile_install.html:79
|
||||
|
|
@ -398,7 +516,8 @@ msgid "Confirmez : l'icône apparaît comme une application."
|
|||
msgstr "Confirm: the icon appears as an application."
|
||||
|
||||
#: mobile/templates/mobile/mobile_install.html:103
|
||||
msgid "Assurez-vous d'accepter l'installation quand la bannière PWA s'affiche."
|
||||
msgid ""
|
||||
"Assurez-vous d'accepter l'installation quand la bannière PWA s'affiche."
|
||||
msgstr "Make sure to accept the installation when the PWA banner appears."
|
||||
|
||||
#: mobile/templates/mobile/mobile_install.html:106
|
||||
|
|
@ -490,7 +609,7 @@ msgstr "Point to a QR code…"
|
|||
msgid "QR Code détecté, résolution…"
|
||||
msgstr "QR Code detected, resolution…"
|
||||
|
||||
#: mobile/templates/mobile/qr_scanner.html:210 mobile/views.py:264
|
||||
#: mobile/templates/mobile/qr_scanner.html:210 mobile/views.py:273
|
||||
msgid "QR Code non reconnu."
|
||||
msgstr "QR Code not recognized."
|
||||
|
||||
|
|
@ -498,85 +617,85 @@ msgstr "QR Code not recognized."
|
|||
msgid "Erreur lors de la résolution."
|
||||
msgstr "Error resolving QR code."
|
||||
|
||||
#: mobile/views.py:268
|
||||
#: mobile/views.py:277
|
||||
msgid "Format de QR Code invalide."
|
||||
msgstr "Invalid QR Code format."
|
||||
|
||||
#: mobile/views.py:292
|
||||
#: mobile/views.py:301
|
||||
msgid "Commande introuvable."
|
||||
msgstr "Order not found."
|
||||
|
||||
#: mobile/views.py:448
|
||||
#: mobile/views.py:457
|
||||
msgid "A traiter"
|
||||
msgstr "To process"
|
||||
|
||||
#: mobile/views.py:449
|
||||
#: mobile/views.py:458
|
||||
msgid "En attente"
|
||||
msgstr "On hold"
|
||||
|
||||
#: mobile/views.py:450
|
||||
#: mobile/views.py:459
|
||||
msgid "Traité"
|
||||
msgstr "Processed"
|
||||
|
||||
#: mobile/views.py:451
|
||||
#: mobile/views.py:460
|
||||
msgid "Annulé"
|
||||
msgstr "Cancelled"
|
||||
|
||||
#: mobile/views.py:454
|
||||
#: mobile/views.py:463
|
||||
msgid "Urgent"
|
||||
msgstr "Urgent"
|
||||
|
||||
#: mobile/views.py:455
|
||||
#: mobile/views.py:464
|
||||
msgid "Elevé"
|
||||
msgstr "High"
|
||||
|
||||
#: mobile/views.py:456
|
||||
#: mobile/views.py:465
|
||||
msgid "Normal"
|
||||
msgstr "Normal"
|
||||
|
||||
#: mobile/views.py:457
|
||||
#: mobile/views.py:466
|
||||
msgid "Bas"
|
||||
msgstr "Low"
|
||||
|
||||
#: mobile/views.py:607
|
||||
#: mobile/views.py:616
|
||||
msgid "Vous n'avez pas la permission d'accéder à cette page."
|
||||
msgstr "You do not have permission to access this page."
|
||||
|
||||
#: mobile/views.py:637
|
||||
#: mobile/views.py:646
|
||||
#, python-brace-format
|
||||
msgid "Issu de l'article {product} du bon de préparation #{order_number}"
|
||||
msgstr "From the article {product} of the preparation order #{order_number}"
|
||||
|
||||
#: mobile/views.py:656
|
||||
#: mobile/views.py:665
|
||||
#, python-brace-format
|
||||
msgid "Issu de l'item #{id} du bon de préparation #{order_number}: {desc}"
|
||||
msgstr "From item #{id} of preparation order #{order_number}: {desc}"
|
||||
|
||||
#: mobile/views.py:685
|
||||
#: mobile/views.py:694
|
||||
msgid "Bon de confection créé avec succès."
|
||||
msgstr "Crafting voucher successfully created."
|
||||
|
||||
#: mobile/views.py:745
|
||||
#: mobile/views.py:754
|
||||
msgid "Vous n'avez pas la permission d'ajouter une signature à ce lot."
|
||||
msgstr "You do not have permission to add a signature to this batch."
|
||||
|
||||
#: mobile/views.py:761
|
||||
#: mobile/views.py:770
|
||||
msgid "Signature enregistrée avec succès."
|
||||
msgstr "Signature registered successfully."
|
||||
|
||||
#: mobile/views.py:847
|
||||
#: mobile/views.py:856
|
||||
msgid "Veuillez sélectionner un emplacement."
|
||||
msgstr "Please select a location."
|
||||
|
||||
#: mobile/views.py:854
|
||||
#: mobile/views.py:863
|
||||
msgid "Emplacement invalide ou non accessible."
|
||||
msgstr "Invalid or inaccessible location."
|
||||
|
||||
#: mobile/views.py:875
|
||||
#: mobile/views.py:884
|
||||
msgid "Inventaire créé avec succès."
|
||||
msgstr "Inventory created successfully."
|
||||
|
||||
#: mobile/views.py:976
|
||||
#: mobile/views.py:985
|
||||
msgid "Document(s) ajouté(s) avec succès."
|
||||
msgstr "Document(s) added successfully."
|
||||
|
||||
|
|
|
|||
Binary file not shown.
|
|
@ -6,7 +6,7 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: PACKAGE VERSION\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2026-08-21 12:07+0200\n"
|
||||
"POT-Creation-Date: 2026-09-13 09:05+0200\n"
|
||||
"PO-Revision-Date: 2025-12-04 12:00+0100\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: French <LL@li.org>\n"
|
||||
|
|
@ -16,6 +16,124 @@ msgstr ""
|
|||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
|
||||
|
||||
#: mobile/templates/mobile/assets/assets_index_mobile.html:6
|
||||
#: mobile/templates/mobile/mobile_index.html:145
|
||||
msgid "Patrimoine & Assets"
|
||||
msgstr "Patrimoine & Assets"
|
||||
|
||||
#: mobile/templates/mobile/assets/assets_index_mobile.html:302
|
||||
msgid "Code, nom, modèle..."
|
||||
msgstr "Code, nom, modèle..."
|
||||
|
||||
#: mobile/templates/mobile/assets/assets_index_mobile.html:307
|
||||
msgid "Effacer"
|
||||
msgstr ""
|
||||
|
||||
#: mobile/templates/mobile/assets/assets_index_mobile.html:316
|
||||
msgid "Réinitialiser la recherche, les filtres et le zoom"
|
||||
msgstr "Réinitialiser la recherche, les filtres et le zoom"
|
||||
|
||||
#: mobile/templates/mobile/assets/assets_index_mobile.html:318
|
||||
msgid "Reset"
|
||||
msgstr ""
|
||||
|
||||
#: mobile/templates/mobile/assets/assets_index_mobile.html:322
|
||||
msgid "Mode d'affichage"
|
||||
msgstr "Mode d'affichage"
|
||||
|
||||
#: mobile/templates/mobile/assets/assets_index_mobile.html:324
|
||||
msgid "Carte"
|
||||
msgstr ""
|
||||
|
||||
#: mobile/templates/mobile/assets/assets_index_mobile.html:327
|
||||
msgid "Liste"
|
||||
msgstr ""
|
||||
|
||||
#: mobile/templates/mobile/assets/assets_index_mobile.html:337
|
||||
msgid "Tous statuts"
|
||||
msgstr "Tous statuts"
|
||||
|
||||
#: mobile/templates/mobile/assets/assets_index_mobile.html:362
|
||||
msgid "Limite atteinte"
|
||||
msgstr "Limite atteinte"
|
||||
|
||||
#: mobile/templates/mobile/assets/assets_index_mobile.html:362
|
||||
msgid ""
|
||||
"Plus de 500 assets correspondent. Veuillez zoomer sur la carte ou affiner "
|
||||
"vos critères de recherche."
|
||||
msgstr ""
|
||||
|
||||
#: mobile/templates/mobile/assets/assets_index_mobile.html:369
|
||||
msgid "asset(s) trouvé(s)"
|
||||
msgstr "asset(s) trouvé(s)"
|
||||
|
||||
#: mobile/templates/mobile/assets/assets_index_mobile.html:371
|
||||
msgid "500 affichés"
|
||||
msgstr ""
|
||||
|
||||
#: mobile/templates/mobile/assets/assets_index_mobile.html:373
|
||||
msgid ""
|
||||
"Filtré selon la zone visible sur la carte. Cliquez pour élargir à toute la "
|
||||
"commune."
|
||||
msgstr ""
|
||||
|
||||
#: mobile/templates/mobile/assets/assets_index_mobile.html:374
|
||||
msgid "Zone visible"
|
||||
msgstr ""
|
||||
|
||||
#: mobile/templates/mobile/assets/assets_index_mobile.html:377
|
||||
msgid "Trié par distance"
|
||||
msgstr "Trié par distance"
|
||||
|
||||
#: mobile/templates/mobile/assets/assets_index_mobile.html:381
|
||||
#: mobile/templates/mobile/mobile_base.html:220
|
||||
msgid "Chargement..."
|
||||
msgstr "Chargement..."
|
||||
|
||||
#: mobile/templates/mobile/assets/assets_index_mobile.html:395
|
||||
#: mobile/templates/mobile/assets/assets_index_mobile.html:416
|
||||
msgid "Sélectionnez une thématique"
|
||||
msgstr "Sélectionnez une thématique"
|
||||
|
||||
#: mobile/templates/mobile/assets/assets_index_mobile.html:396
|
||||
msgid ""
|
||||
"Veuillez choisir une thématique ci-dessus pour afficher les assets sur la "
|
||||
"carte."
|
||||
msgstr ""
|
||||
|
||||
#: mobile/templates/mobile/assets/assets_index_mobile.html:400
|
||||
msgid "Ma position"
|
||||
msgstr "Ma position"
|
||||
|
||||
#: mobile/templates/mobile/assets/assets_index_mobile.html:417
|
||||
msgid ""
|
||||
"Veuillez choisir une thématique ci-dessus pour afficher la liste des assets."
|
||||
msgstr ""
|
||||
|
||||
#: mobile/templates/mobile/assets/assets_index_mobile.html:424
|
||||
msgid "Aucun asset trouvé"
|
||||
msgstr "Aucun asset trouvé"
|
||||
|
||||
#: mobile/templates/mobile/assets/assets_index_mobile.html:425
|
||||
msgid "Modifiez votre recherche ou zoomez sur une autre zone."
|
||||
msgstr "Modifiez votre recherche ou zoomez sur une autre zone."
|
||||
|
||||
#: mobile/templates/mobile/assets/assets_index_mobile.html:427
|
||||
msgid "Réinitialiser les filtres"
|
||||
msgstr "Réinitialiser les filtres"
|
||||
|
||||
#: mobile/templates/mobile/assets/assets_index_mobile.html:461
|
||||
msgid "Consulter la fiche"
|
||||
msgstr "Consulter la fiche"
|
||||
|
||||
#: mobile/templates/mobile/assets/assets_index_mobile.html:463
|
||||
msgid "Itinéraire GPS"
|
||||
msgstr "Itinéraire GPS"
|
||||
|
||||
#: mobile/templates/mobile/assets/assets_index_mobile.html:996
|
||||
msgid "La géolocalisation n'est pas supportée par votre navigateur."
|
||||
msgstr "La géolocalisation n'est pas supportée par votre navigateur."
|
||||
|
||||
#: mobile/templates/mobile/green_surfaces_edit_v2.html:240
|
||||
msgid "Espaces verts - V2"
|
||||
msgstr "Espaces verts - V2"
|
||||
|
|
@ -34,9 +152,11 @@ msgstr "élément(s) sélectionné(s)"
|
|||
|
||||
#: mobile/templates/mobile/green_surfaces_edit_v2.html:275
|
||||
msgid ""
|
||||
"Sélectionnez un modèle ci-dessous pour l'appliquer aux éléments sélectionnés."
|
||||
"Sélectionnez un modèle ci-dessous pour l'appliquer aux éléments "
|
||||
"sélectionnés."
|
||||
msgstr ""
|
||||
"Sélectionnez un modèle ci-dessous pour l'appliquer aux éléments sélectionnés."
|
||||
"Sélectionnez un modèle ci-dessous pour l'appliquer aux éléments "
|
||||
"sélectionnés."
|
||||
|
||||
#: mobile/templates/mobile/green_surfaces_edit_v2.html:280
|
||||
msgid "Édition des attributs"
|
||||
|
|
@ -201,7 +321,7 @@ msgstr ""
|
|||
"Tracez une ligne pour découper le polygone. Double-cliquez pour terminer."
|
||||
|
||||
#: mobile/templates/mobile/green_surfaces_edit_v2.html:1107
|
||||
#: mobile/templates/mobile/mobile_index.html:146
|
||||
#: mobile/templates/mobile/mobile_index.html:158
|
||||
msgid "Espaces verts"
|
||||
msgstr "Espaces verts"
|
||||
|
||||
|
|
@ -226,19 +346,15 @@ msgstr "Actif"
|
|||
msgid "Quitter"
|
||||
msgstr "Quitter"
|
||||
|
||||
#: mobile/templates/mobile/mobile_base.html:218
|
||||
msgid "Chargement..."
|
||||
msgstr "Chargement..."
|
||||
|
||||
#: mobile/templates/mobile/mobile_base.html:242
|
||||
#: mobile/templates/mobile/mobile_base.html:244
|
||||
msgid "Notifications"
|
||||
msgstr "Notifications"
|
||||
|
||||
#: mobile/templates/mobile/mobile_base.html:248
|
||||
#: mobile/templates/mobile/mobile_base.html:250
|
||||
msgid "notifications non lues"
|
||||
msgstr "notifications non lues"
|
||||
|
||||
#: mobile/templates/mobile/mobile_base.html:254
|
||||
#: mobile/templates/mobile/mobile_base.html:256
|
||||
msgid "Scanner un QR Code"
|
||||
msgstr "Scanner un QR Code"
|
||||
|
||||
|
|
@ -250,13 +366,11 @@ msgstr "Notifications non lues"
|
|||
#, python-format
|
||||
msgid ""
|
||||
"\n"
|
||||
" Vous avez <strong class=\"home-unread-"
|
||||
"notifications-count\">%(count)s</strong> notification non lue.\n"
|
||||
" Vous avez <strong class=\"home-unread-notifications-count\">%(count)s</strong> notification non lue.\n"
|
||||
" "
|
||||
msgid_plural ""
|
||||
"\n"
|
||||
" Vous avez <strong class=\"home-unread-"
|
||||
"notifications-count\">%(count)s</strong> notifications non lues.\n"
|
||||
" Vous avez <strong class=\"home-unread-notifications-count\">%(count)s</strong> notifications non lues.\n"
|
||||
" "
|
||||
msgstr[0] ""
|
||||
msgstr[1] ""
|
||||
|
|
@ -329,15 +443,19 @@ msgstr "Inspections d'assets"
|
|||
msgid "Consulter la liste et l'historique des vérifications d'assets"
|
||||
msgstr "Consulter la liste et l'historique des vérifications d'assets"
|
||||
|
||||
#: mobile/templates/mobile/mobile_index.html:147
|
||||
#: mobile/templates/mobile/mobile_index.html:146
|
||||
msgid "Consulter et localiser les assets sur le terrain"
|
||||
msgstr "Consulter et localiser les assets sur le terrain"
|
||||
|
||||
#: mobile/templates/mobile/mobile_index.html:159
|
||||
msgid "Éditer les espaces verts"
|
||||
msgstr "Éditer les espaces verts"
|
||||
|
||||
#: mobile/templates/mobile/mobile_index.html:158
|
||||
#: mobile/templates/mobile/mobile_index.html:170
|
||||
msgid "Stock"
|
||||
msgstr "Stock"
|
||||
|
||||
#: mobile/templates/mobile/mobile_index.html:159
|
||||
#: mobile/templates/mobile/mobile_index.html:171
|
||||
msgid "Gérer les produits, commandes et mouvements de stock"
|
||||
msgstr "Gérer les produits, commandes et mouvements de stock"
|
||||
|
||||
|
|
@ -360,7 +478,8 @@ msgid "Télécharger l'APK Android"
|
|||
msgstr "Télécharger l'APK Android"
|
||||
|
||||
#: mobile/templates/mobile/mobile_install.html:77
|
||||
msgid "Installez la version native (recommandé pour les appareils de terrain)."
|
||||
msgid ""
|
||||
"Installez la version native (recommandé pour les appareils de terrain)."
|
||||
msgstr ""
|
||||
"Installez la version native (recommandé pour les appareils de "
|
||||
"terrain).Installez la version native (recommandé pour les appareils de "
|
||||
|
|
@ -407,7 +526,8 @@ msgid "Confirmez : l'icône apparaît comme une application."
|
|||
msgstr "Confirmez : l'icône apparaît comme une application."
|
||||
|
||||
#: mobile/templates/mobile/mobile_install.html:103
|
||||
msgid "Assurez-vous d'accepter l'installation quand la bannière PWA s'affiche."
|
||||
msgid ""
|
||||
"Assurez-vous d'accepter l'installation quand la bannière PWA s'affiche."
|
||||
msgstr ""
|
||||
"Assurez-vous d'accepter l'installation quand la bannière PWA "
|
||||
"s'affiche.Assurez-vous d'accepter l'installation quand la bannière PWA "
|
||||
|
|
@ -504,7 +624,7 @@ msgstr "Pointez vers un QR code…"
|
|||
msgid "QR Code détecté, résolution…"
|
||||
msgstr "QR Code détecté, résolution…"
|
||||
|
||||
#: mobile/templates/mobile/qr_scanner.html:210 mobile/views.py:264
|
||||
#: mobile/templates/mobile/qr_scanner.html:210 mobile/views.py:273
|
||||
msgid "QR Code non reconnu."
|
||||
msgstr "QR Code non reconnu."
|
||||
|
||||
|
|
@ -512,88 +632,92 @@ msgstr "QR Code non reconnu."
|
|||
msgid "Erreur lors de la résolution."
|
||||
msgstr "Erreur lors de la résolution."
|
||||
|
||||
#: mobile/views.py:268
|
||||
#: mobile/views.py:277
|
||||
msgid "Format de QR Code invalide."
|
||||
msgstr "Format de QR Code invalide."
|
||||
|
||||
#: mobile/views.py:292
|
||||
#: mobile/views.py:301
|
||||
msgid "Commande introuvable."
|
||||
msgstr "Commande introuvable."
|
||||
|
||||
#: mobile/views.py:448
|
||||
#: mobile/views.py:457
|
||||
msgid "A traiter"
|
||||
msgstr "A traiter"
|
||||
|
||||
#: mobile/views.py:449
|
||||
#: mobile/views.py:458
|
||||
msgid "En attente"
|
||||
msgstr "En attente"
|
||||
|
||||
#: mobile/views.py:450
|
||||
#: mobile/views.py:459
|
||||
msgid "Traité"
|
||||
msgstr "Traité"
|
||||
|
||||
#: mobile/views.py:451
|
||||
#: mobile/views.py:460
|
||||
msgid "Annulé"
|
||||
msgstr "Annulé"
|
||||
|
||||
#: mobile/views.py:454
|
||||
#: mobile/views.py:463
|
||||
msgid "Urgent"
|
||||
msgstr "Urgent"
|
||||
|
||||
#: mobile/views.py:455
|
||||
#: mobile/views.py:464
|
||||
msgid "Elevé"
|
||||
msgstr "Elevé"
|
||||
|
||||
#: mobile/views.py:456
|
||||
#: mobile/views.py:465
|
||||
msgid "Normal"
|
||||
msgstr "Normal"
|
||||
|
||||
#: mobile/views.py:457
|
||||
#: mobile/views.py:466
|
||||
msgid "Bas"
|
||||
msgstr "Bas"
|
||||
|
||||
#: mobile/views.py:607
|
||||
#: mobile/views.py:616
|
||||
msgid "Vous n'avez pas la permission d'accéder à cette page."
|
||||
msgstr "Vous n'avez pas la permission d'accéder à cette page."
|
||||
|
||||
#: mobile/views.py:637
|
||||
#: mobile/views.py:646
|
||||
#, python-brace-format
|
||||
msgid "Issu de l'article {product} du bon de préparation #{order_number}"
|
||||
msgstr "Issu de l'article {product} du bon de préparation #{order_number}"
|
||||
|
||||
#: mobile/views.py:656
|
||||
#: mobile/views.py:665
|
||||
#, python-brace-format
|
||||
msgid "Issu de l'item #{id} du bon de préparation #{order_number}: {desc}"
|
||||
msgstr "Issu de l'item #{id} du bon de préparation #{order_number}: {desc}"
|
||||
|
||||
#: mobile/views.py:685
|
||||
#: mobile/views.py:694
|
||||
msgid "Bon de confection créé avec succès."
|
||||
msgstr "Bon de confection créé avec succès."
|
||||
|
||||
#: mobile/views.py:745
|
||||
#: mobile/views.py:754
|
||||
msgid "Vous n'avez pas la permission d'ajouter une signature à ce lot."
|
||||
msgstr "Vous n'avez pas la permission d'ajouter une signature à ce lot."
|
||||
|
||||
#: mobile/views.py:761
|
||||
#: mobile/views.py:770
|
||||
msgid "Signature enregistrée avec succès."
|
||||
msgstr "Signature enregistrée avec succès."
|
||||
|
||||
#: mobile/views.py:847
|
||||
#: mobile/views.py:856
|
||||
msgid "Veuillez sélectionner un emplacement."
|
||||
msgstr "Veuillez sélectionner un emplacement."
|
||||
|
||||
#: mobile/views.py:854
|
||||
#: mobile/views.py:863
|
||||
msgid "Emplacement invalide ou non accessible."
|
||||
msgstr "Emplacement invalide ou non accessible."
|
||||
|
||||
#: mobile/views.py:875
|
||||
#: mobile/views.py:884
|
||||
msgid "Inventaire créé avec succès."
|
||||
msgstr "Inventaire créé avec succès."
|
||||
|
||||
#: mobile/views.py:976
|
||||
#: mobile/views.py:985
|
||||
msgid "Document(s) ajouté(s) avec succès."
|
||||
msgstr "Document(s) ajouté(s) avec succès."
|
||||
|
||||
#, fuzzy
|
||||
#~ msgid "Mode d\\"
|
||||
#~ msgstr "Mode dessin"
|
||||
|
||||
#~ msgid "StreetUp"
|
||||
#~ msgstr "StreetUp"
|
||||
|
||||
|
|
|
|||
Binary file not shown.
|
|
@ -6,7 +6,7 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: PACKAGE VERSION\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2026-08-21 12:07+0200\n"
|
||||
"POT-Creation-Date: 2026-09-13 09:05+0200\n"
|
||||
"PO-Revision-Date: 2025-12-04 12:00+0100\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: Dutch <LL@li.org>\n"
|
||||
|
|
@ -16,6 +16,124 @@ msgstr ""
|
|||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
|
||||
#: mobile/templates/mobile/assets/assets_index_mobile.html:6
|
||||
#: mobile/templates/mobile/mobile_index.html:145
|
||||
msgid "Patrimoine & Assets"
|
||||
msgstr "Patrimonium & Assets"
|
||||
|
||||
#: mobile/templates/mobile/assets/assets_index_mobile.html:302
|
||||
msgid "Code, nom, modèle..."
|
||||
msgstr "Code, naam, model..."
|
||||
|
||||
#: mobile/templates/mobile/assets/assets_index_mobile.html:307
|
||||
msgid "Effacer"
|
||||
msgstr ""
|
||||
|
||||
#: mobile/templates/mobile/assets/assets_index_mobile.html:316
|
||||
msgid "Réinitialiser la recherche, les filtres et le zoom"
|
||||
msgstr "Zoekopdracht, filters en zoom resetten"
|
||||
|
||||
#: mobile/templates/mobile/assets/assets_index_mobile.html:318
|
||||
msgid "Reset"
|
||||
msgstr ""
|
||||
|
||||
#: mobile/templates/mobile/assets/assets_index_mobile.html:322
|
||||
msgid "Mode d'affichage"
|
||||
msgstr "Weergavemodus"
|
||||
|
||||
#: mobile/templates/mobile/assets/assets_index_mobile.html:324
|
||||
msgid "Carte"
|
||||
msgstr ""
|
||||
|
||||
#: mobile/templates/mobile/assets/assets_index_mobile.html:327
|
||||
msgid "Liste"
|
||||
msgstr ""
|
||||
|
||||
#: mobile/templates/mobile/assets/assets_index_mobile.html:337
|
||||
msgid "Tous statuts"
|
||||
msgstr "Alle statussen"
|
||||
|
||||
#: mobile/templates/mobile/assets/assets_index_mobile.html:362
|
||||
msgid "Limite atteinte"
|
||||
msgstr "Limiet bereikt"
|
||||
|
||||
#: mobile/templates/mobile/assets/assets_index_mobile.html:362
|
||||
msgid ""
|
||||
"Plus de 500 assets correspondent. Veuillez zoomer sur la carte ou affiner "
|
||||
"vos critères de recherche."
|
||||
msgstr ""
|
||||
|
||||
#: mobile/templates/mobile/assets/assets_index_mobile.html:369
|
||||
msgid "asset(s) trouvé(s)"
|
||||
msgstr "asset(s) gevonden"
|
||||
|
||||
#: mobile/templates/mobile/assets/assets_index_mobile.html:371
|
||||
msgid "500 affichés"
|
||||
msgstr ""
|
||||
|
||||
#: mobile/templates/mobile/assets/assets_index_mobile.html:373
|
||||
msgid ""
|
||||
"Filtré selon la zone visible sur la carte. Cliquez pour élargir à toute la "
|
||||
"commune."
|
||||
msgstr ""
|
||||
|
||||
#: mobile/templates/mobile/assets/assets_index_mobile.html:374
|
||||
msgid "Zone visible"
|
||||
msgstr ""
|
||||
|
||||
#: mobile/templates/mobile/assets/assets_index_mobile.html:377
|
||||
msgid "Trié par distance"
|
||||
msgstr "Gesorteerd op afstand"
|
||||
|
||||
#: mobile/templates/mobile/assets/assets_index_mobile.html:381
|
||||
#: mobile/templates/mobile/mobile_base.html:220
|
||||
msgid "Chargement..."
|
||||
msgstr "Laden..."
|
||||
|
||||
#: mobile/templates/mobile/assets/assets_index_mobile.html:395
|
||||
#: mobile/templates/mobile/assets/assets_index_mobile.html:416
|
||||
msgid "Sélectionnez une thématique"
|
||||
msgstr "Selecteer een thema"
|
||||
|
||||
#: mobile/templates/mobile/assets/assets_index_mobile.html:396
|
||||
msgid ""
|
||||
"Veuillez choisir une thématique ci-dessus pour afficher les assets sur la "
|
||||
"carte."
|
||||
msgstr ""
|
||||
|
||||
#: mobile/templates/mobile/assets/assets_index_mobile.html:400
|
||||
msgid "Ma position"
|
||||
msgstr "Mijn positie"
|
||||
|
||||
#: mobile/templates/mobile/assets/assets_index_mobile.html:417
|
||||
msgid ""
|
||||
"Veuillez choisir une thématique ci-dessus pour afficher la liste des assets."
|
||||
msgstr ""
|
||||
|
||||
#: mobile/templates/mobile/assets/assets_index_mobile.html:424
|
||||
msgid "Aucun asset trouvé"
|
||||
msgstr "Geen assets gevonden"
|
||||
|
||||
#: mobile/templates/mobile/assets/assets_index_mobile.html:425
|
||||
msgid "Modifiez votre recherche ou zoomez sur une autre zone."
|
||||
msgstr "Pas uw zoekopdracht aan of zoom in op een andere zone."
|
||||
|
||||
#: mobile/templates/mobile/assets/assets_index_mobile.html:427
|
||||
msgid "Réinitialiser les filtres"
|
||||
msgstr "Filters resetten"
|
||||
|
||||
#: mobile/templates/mobile/assets/assets_index_mobile.html:461
|
||||
msgid "Consulter la fiche"
|
||||
msgstr "Fiche bekijken"
|
||||
|
||||
#: mobile/templates/mobile/assets/assets_index_mobile.html:463
|
||||
msgid "Itinéraire GPS"
|
||||
msgstr "GPS Routebeschrijving"
|
||||
|
||||
#: mobile/templates/mobile/assets/assets_index_mobile.html:996
|
||||
msgid "La géolocalisation n'est pas supportée par votre navigateur."
|
||||
msgstr "Geolocatie wordt niet ondersteund door uw browser."
|
||||
|
||||
#: mobile/templates/mobile/green_surfaces_edit_v2.html:240
|
||||
msgid "Espaces verts - V2"
|
||||
msgstr "Groene ruimtes - V2"
|
||||
|
|
@ -34,7 +152,8 @@ msgstr "geselecteerde elementen"
|
|||
|
||||
#: mobile/templates/mobile/green_surfaces_edit_v2.html:275
|
||||
msgid ""
|
||||
"Sélectionnez un modèle ci-dessous pour l'appliquer aux éléments sélectionnés."
|
||||
"Sélectionnez un modèle ci-dessous pour l'appliquer aux éléments "
|
||||
"sélectionnés."
|
||||
msgstr ""
|
||||
"Selecteer een model hieronder om toe te passen op de geselecteerde items."
|
||||
|
||||
|
|
@ -200,7 +319,7 @@ msgid ""
|
|||
msgstr "Teken een lijn om de polygoon te knippen. Dubbelklik om te voltooien."
|
||||
|
||||
#: mobile/templates/mobile/green_surfaces_edit_v2.html:1107
|
||||
#: mobile/templates/mobile/mobile_index.html:146
|
||||
#: mobile/templates/mobile/mobile_index.html:158
|
||||
msgid "Espaces verts"
|
||||
msgstr "Groene ruimtes"
|
||||
|
||||
|
|
@ -225,19 +344,15 @@ msgstr "Actief"
|
|||
msgid "Quitter"
|
||||
msgstr "Afsluiten"
|
||||
|
||||
#: mobile/templates/mobile/mobile_base.html:218
|
||||
msgid "Chargement..."
|
||||
msgstr "Laden..."
|
||||
|
||||
#: mobile/templates/mobile/mobile_base.html:242
|
||||
#: mobile/templates/mobile/mobile_base.html:244
|
||||
msgid "Notifications"
|
||||
msgstr "Meldingen"
|
||||
|
||||
#: mobile/templates/mobile/mobile_base.html:248
|
||||
#: mobile/templates/mobile/mobile_base.html:250
|
||||
msgid "notifications non lues"
|
||||
msgstr "ongelezen meldingen"
|
||||
|
||||
#: mobile/templates/mobile/mobile_base.html:254
|
||||
#: mobile/templates/mobile/mobile_base.html:256
|
||||
msgid "Scanner un QR Code"
|
||||
msgstr "Scan een QR-code"
|
||||
|
||||
|
|
@ -249,13 +364,11 @@ msgstr "Ongelezen meldingen"
|
|||
#, python-format
|
||||
msgid ""
|
||||
"\n"
|
||||
" Vous avez <strong class=\"home-unread-"
|
||||
"notifications-count\">%(count)s</strong> notification non lue.\n"
|
||||
" Vous avez <strong class=\"home-unread-notifications-count\">%(count)s</strong> notification non lue.\n"
|
||||
" "
|
||||
msgid_plural ""
|
||||
"\n"
|
||||
" Vous avez <strong class=\"home-unread-"
|
||||
"notifications-count\">%(count)s</strong> notifications non lues.\n"
|
||||
" Vous avez <strong class=\"home-unread-notifications-count\">%(count)s</strong> notifications non lues.\n"
|
||||
" "
|
||||
msgstr[0] ""
|
||||
msgstr[1] ""
|
||||
|
|
@ -328,15 +441,19 @@ msgstr "Assetinspecties"
|
|||
msgid "Consulter la liste et l'historique des vérifications d'assets"
|
||||
msgstr "Bekijk de lijst en geschiedenis van assetcontroles"
|
||||
|
||||
#: mobile/templates/mobile/mobile_index.html:147
|
||||
#: mobile/templates/mobile/mobile_index.html:146
|
||||
msgid "Consulter et localiser les assets sur le terrain"
|
||||
msgstr "Assets op het terrein raadplegen en lokaliseren"
|
||||
|
||||
#: mobile/templates/mobile/mobile_index.html:159
|
||||
msgid "Éditer les espaces verts"
|
||||
msgstr "Groene ruimtes bewerken"
|
||||
|
||||
#: mobile/templates/mobile/mobile_index.html:158
|
||||
#: mobile/templates/mobile/mobile_index.html:170
|
||||
msgid "Stock"
|
||||
msgstr "Voorraad"
|
||||
|
||||
#: mobile/templates/mobile/mobile_index.html:159
|
||||
#: mobile/templates/mobile/mobile_index.html:171
|
||||
msgid "Gérer les produits, commandes et mouvements de stock"
|
||||
msgstr "Beheer producten, bestellingen en voorraadbewegingen"
|
||||
|
||||
|
|
@ -358,7 +475,8 @@ msgid "Télécharger l'APK Android"
|
|||
msgstr "Download Android APK"
|
||||
|
||||
#: mobile/templates/mobile/mobile_install.html:77
|
||||
msgid "Installez la version native (recommandé pour les appareils de terrain)."
|
||||
msgid ""
|
||||
"Installez la version native (recommandé pour les appareils de terrain)."
|
||||
msgstr "Installeer de native versie (aanbevolen voor veldapparaten)."
|
||||
|
||||
#: mobile/templates/mobile/mobile_install.html:79
|
||||
|
|
@ -401,9 +519,11 @@ msgid "Confirmez : l'icône apparaît comme une application."
|
|||
msgstr "Bevestig: het pictogram verschijnt als een applicatie."
|
||||
|
||||
#: mobile/templates/mobile/mobile_install.html:103
|
||||
msgid "Assurez-vous d'accepter l'installation quand la bannière PWA s'affiche."
|
||||
msgid ""
|
||||
"Assurez-vous d'accepter l'installation quand la bannière PWA s'affiche."
|
||||
msgstr ""
|
||||
"Zorg ervoor dat u de installatie accepteert wanneer de PWA-banner verschijnt."
|
||||
"Zorg ervoor dat u de installatie accepteert wanneer de PWA-banner "
|
||||
"verschijnt."
|
||||
|
||||
#: mobile/templates/mobile/mobile_install.html:106
|
||||
msgid "Ouvrir l'application"
|
||||
|
|
@ -496,7 +616,7 @@ msgstr "Wijs een QR-code aan..."
|
|||
msgid "QR Code détecté, résolution…"
|
||||
msgstr "QR-code gedetecteerd, resolutie..."
|
||||
|
||||
#: mobile/templates/mobile/qr_scanner.html:210 mobile/views.py:264
|
||||
#: mobile/templates/mobile/qr_scanner.html:210 mobile/views.py:273
|
||||
msgid "QR Code non reconnu."
|
||||
msgstr "QR-code niet herkend."
|
||||
|
||||
|
|
@ -504,90 +624,94 @@ msgstr "QR-code niet herkend."
|
|||
msgid "Erreur lors de la résolution."
|
||||
msgstr "Fout bij het verwerken van de QR-code."
|
||||
|
||||
#: mobile/views.py:268
|
||||
#: mobile/views.py:277
|
||||
msgid "Format de QR Code invalide."
|
||||
msgstr "Ongeldig QR-codeformaat."
|
||||
|
||||
#: mobile/views.py:292
|
||||
#: mobile/views.py:301
|
||||
msgid "Commande introuvable."
|
||||
msgstr "Bestelling niet gevonden."
|
||||
|
||||
#: mobile/views.py:448
|
||||
#: mobile/views.py:457
|
||||
msgid "A traiter"
|
||||
msgstr "Te verwerken"
|
||||
|
||||
#: mobile/views.py:449
|
||||
#: mobile/views.py:458
|
||||
msgid "En attente"
|
||||
msgstr "In afwachting"
|
||||
|
||||
#: mobile/views.py:450
|
||||
#: mobile/views.py:459
|
||||
msgid "Traité"
|
||||
msgstr "Verwerkt"
|
||||
|
||||
#: mobile/views.py:451
|
||||
#: mobile/views.py:460
|
||||
msgid "Annulé"
|
||||
msgstr "Geannuleerd"
|
||||
|
||||
#: mobile/views.py:454
|
||||
#: mobile/views.py:463
|
||||
msgid "Urgent"
|
||||
msgstr "Dringend"
|
||||
|
||||
#: mobile/views.py:455
|
||||
#: mobile/views.py:464
|
||||
msgid "Elevé"
|
||||
msgstr "Hoog"
|
||||
|
||||
#: mobile/views.py:456
|
||||
#: mobile/views.py:465
|
||||
msgid "Normal"
|
||||
msgstr "Normaal"
|
||||
|
||||
#: mobile/views.py:457
|
||||
#: mobile/views.py:466
|
||||
msgid "Bas"
|
||||
msgstr "Laag"
|
||||
|
||||
#: mobile/views.py:607
|
||||
#: mobile/views.py:616
|
||||
msgid "Vous n'avez pas la permission d'accéder à cette page."
|
||||
msgstr "U heeft geen toestemming om deze pagina te bezoeken."
|
||||
|
||||
#: mobile/views.py:637
|
||||
#: mobile/views.py:646
|
||||
#, python-brace-format
|
||||
msgid "Issu de l'article {product} du bon de préparation #{order_number}"
|
||||
msgstr ""
|
||||
"Uit het artikel {product} van de voorbereidingsbestelling #{order_number}"
|
||||
|
||||
#: mobile/views.py:656
|
||||
#: mobile/views.py:665
|
||||
#, python-brace-format
|
||||
msgid "Issu de l'item #{id} du bon de préparation #{order_number}: {desc}"
|
||||
msgstr "Van item #{id} van voorbereidingsorder #{order_number}: {desc}"
|
||||
|
||||
#: mobile/views.py:685
|
||||
#: mobile/views.py:694
|
||||
msgid "Bon de confection créé avec succès."
|
||||
msgstr "Craftingvoucher succesvol aangemaakt."
|
||||
|
||||
#: mobile/views.py:745
|
||||
#: mobile/views.py:754
|
||||
msgid "Vous n'avez pas la permission d'ajouter une signature à ce lot."
|
||||
msgstr ""
|
||||
"U heeft geen toestemming om een handtekening aan deze batch toe te voegen."
|
||||
|
||||
#: mobile/views.py:761
|
||||
#: mobile/views.py:770
|
||||
msgid "Signature enregistrée avec succès."
|
||||
msgstr "Handtekening succesvol geregistreerd."
|
||||
|
||||
#: mobile/views.py:847
|
||||
#: mobile/views.py:856
|
||||
msgid "Veuillez sélectionner un emplacement."
|
||||
msgstr "Selecteer een locatie."
|
||||
|
||||
#: mobile/views.py:854
|
||||
#: mobile/views.py:863
|
||||
msgid "Emplacement invalide ou non accessible."
|
||||
msgstr "Ongeldige of ontoegankelijke locatie."
|
||||
|
||||
#: mobile/views.py:875
|
||||
#: mobile/views.py:884
|
||||
msgid "Inventaire créé avec succès."
|
||||
msgstr "Inventaris succesvol aangemaakt."
|
||||
|
||||
#: mobile/views.py:976
|
||||
#: mobile/views.py:985
|
||||
msgid "Document(s) ajouté(s) avec succès."
|
||||
msgstr "Document(en) succesvol toegevoegd."
|
||||
|
||||
#, fuzzy
|
||||
#~ msgid "Mode d\\"
|
||||
#~ msgstr "Tekenmodus"
|
||||
|
||||
#~ msgid "StreetUp"
|
||||
#~ msgstr "StraatUp"
|
||||
|
||||
|
|
|
|||
1314
loko/mobile/templates/mobile/assets/assets_index_mobile.html
Normal file
1314
loko/mobile/templates/mobile/assets/assets_index_mobile.html
Normal file
File diff suppressed because it is too large
Load diff
|
|
@ -207,6 +207,8 @@
|
|||
})();
|
||||
</script>
|
||||
|
||||
{% block head %}
|
||||
{% endblock head %}
|
||||
{% block extra_head %}
|
||||
{% endblock extra_head %}
|
||||
</head>
|
||||
|
|
@ -404,6 +406,8 @@ if ('serviceWorker' in navigator) {
|
|||
{% endblock extra_scripts %}
|
||||
{% block extra_js %}
|
||||
{% endblock extra_js %}
|
||||
{% block script %}
|
||||
{% endblock script %}
|
||||
|
||||
</body>
|
||||
</html>
|
||||
|
|
@ -136,6 +136,18 @@
|
|||
</div>
|
||||
{% endif %}
|
||||
|
||||
{% if can_view_assets %}
|
||||
<div class="col-12">
|
||||
<a class="card-link d-block" href="{% url 'mobile:mobile_assets_index' %}">
|
||||
<div class="icon-wrapper">
|
||||
<i class="bi bi-pin-map"></i>
|
||||
</div>
|
||||
<h2 class="fw-semibold">{% translate "Patrimoine & Assets" %}</h2>
|
||||
<p>{% translate "Consulter et localiser les assets sur le terrain" %}</p>
|
||||
</a>
|
||||
</div>
|
||||
{% endif %}
|
||||
|
||||
<!-- If user has permission to edit green surfaces -->
|
||||
{% if can_edit_green_surfaces %}
|
||||
<div class="col-12">
|
||||
|
|
|
|||
373
loko/mobile/tests_asset_mobile.py
Normal file
373
loko/mobile/tests_asset_mobile.py
Normal file
|
|
@ -0,0 +1,373 @@
|
|||
from django.test import TestCase, Client
|
||||
from django.urls import reverse
|
||||
from django.contrib.auth import get_user_model
|
||||
from django.contrib.contenttypes.models import ContentType
|
||||
from django.utils import translation
|
||||
import json
|
||||
|
||||
from common.models import UserConfig, Role, Thematic, UserThematics
|
||||
from assets.models import NatureTree, NatureLocation, NatureShrub
|
||||
|
||||
User = get_user_model()
|
||||
|
||||
|
||||
class MobileAssetDetailTests(TestCase):
|
||||
def setUp(self):
|
||||
self.client = Client()
|
||||
|
||||
# Create or get thematic 'nature'
|
||||
self.thematic, _ = Thematic.objects.get_or_create(
|
||||
code="nature",
|
||||
defaults={
|
||||
"name_fr": "Espaces Verts & Nature",
|
||||
"name_nl": "Groen & Natuur",
|
||||
"icon": "bi-tree"
|
||||
}
|
||||
)
|
||||
|
||||
# Create Roles
|
||||
self.admin_role, _ = Role.objects.get_or_create(name="admin")
|
||||
self.editor_role, _ = Role.objects.get_or_create(name="editor")
|
||||
self.viewer_role, _ = Role.objects.get_or_create(name="viewer")
|
||||
self.observer_role, _ = Role.objects.get_or_create(name="observer")
|
||||
|
||||
# Create test tree asset
|
||||
self.tree = NatureTree.objects.create(
|
||||
code="ARB-TEST-001",
|
||||
name_fr="Chêne pédonculé",
|
||||
name_nl="Zomereik",
|
||||
status="active",
|
||||
height=15.5,
|
||||
circumference=160.0,
|
||||
crown_diameter=8.0,
|
||||
crown_clearance=3.5,
|
||||
development_stage="mature",
|
||||
vitality="strong",
|
||||
mechanical_state="good",
|
||||
risk_level="low",
|
||||
tag_number="TAG-48010",
|
||||
)
|
||||
|
||||
# Create test shrub asset (generic asset without specific template)
|
||||
self.shrub = NatureShrub.objects.create(
|
||||
code="ARB-SHRUB-001",
|
||||
name_fr="Rosier buisson",
|
||||
name_nl="Struikroos",
|
||||
status="active",
|
||||
)
|
||||
|
||||
def test_anonymous_user_redirected_to_login(self):
|
||||
"""Anonymous user trying to access mobile asset detail is redirected to login."""
|
||||
url = reverse("mobile:mobile_asset_detail_direct", args=["naturetree", self.tree.id])
|
||||
response = self.client.get(url)
|
||||
self.assertEqual(response.status_code, 302)
|
||||
self.assertIn("/login", response.url)
|
||||
|
||||
def test_unauthorized_user_forbidden(self):
|
||||
"""User without view permissions on nature thematic receives HTTP 403."""
|
||||
user = User.objects.create_user(username="forbidden_user", password="password")
|
||||
user_config = UserConfig.objects.create(user=user, is_intern=True)
|
||||
user_config.roles.add(self.observer_role)
|
||||
# Create UserThematics with can_view_assets=False
|
||||
UserThematics.objects.create(
|
||||
user_config=user_config,
|
||||
thematic=self.thematic,
|
||||
can_view_assets=False,
|
||||
can_edit_assets=False
|
||||
)
|
||||
|
||||
self.client.login(username="forbidden_user", password="password")
|
||||
url = reverse("mobile:mobile_asset_detail_direct", args=["naturetree", self.tree.id])
|
||||
response = self.client.get(url)
|
||||
self.assertEqual(response.status_code, 403)
|
||||
|
||||
def test_authorized_user_can_view_tree_mobile(self):
|
||||
"""User with view permission can view tree on mobile."""
|
||||
user = User.objects.create_user(username="viewer_user", password="password")
|
||||
user_config = UserConfig.objects.create(user=user, is_intern=True)
|
||||
user_config.roles.add(self.viewer_role)
|
||||
UserThematics.objects.create(
|
||||
user_config=user_config,
|
||||
thematic=self.thematic,
|
||||
can_view_assets=True,
|
||||
can_edit_assets=False
|
||||
)
|
||||
|
||||
self.client.login(username="viewer_user", password="password")
|
||||
url = reverse("mobile:mobile_asset_detail_direct", args=["naturetree", self.tree.id])
|
||||
response = self.client.get(url)
|
||||
|
||||
self.assertEqual(response.status_code, 200)
|
||||
self.assertTemplateUsed(response, "assets/naturetree_detail.html")
|
||||
self.assertContains(response, "ARB-TEST-001")
|
||||
self.assertContains(response, "Chêne pédonculé")
|
||||
self.assertTrue(response.context["mobile_view"])
|
||||
self.assertTrue(response.context["is_mobile"])
|
||||
|
||||
def test_mobile_read_only_user_has_no_edit_bar(self):
|
||||
"""Read-only user has no edit bar or buttons on mobile."""
|
||||
user = User.objects.create_user(username="readonly_user", password="password")
|
||||
user_config = UserConfig.objects.create(user=user, is_intern=True)
|
||||
user_config.roles.add(self.viewer_role)
|
||||
UserThematics.objects.create(
|
||||
user_config=user_config,
|
||||
thematic=self.thematic,
|
||||
can_view_assets=True,
|
||||
can_edit_assets=False
|
||||
)
|
||||
|
||||
self.client.login(username="readonly_user", password="password")
|
||||
url = reverse("mobile:mobile_asset_detail_direct", args=["naturetree", self.tree.id])
|
||||
response = self.client.get(url)
|
||||
|
||||
self.assertEqual(response.status_code, 200)
|
||||
self.assertNotContains(response, 'id="asset-cms-edit-bar"')
|
||||
self.assertNotContains(response, 'id="asset-cms-edit-btn"')
|
||||
|
||||
def test_mobile_editor_has_sticky_edit_bar_and_actions(self):
|
||||
"""User with edit permission sees the mobile sticky edit bar and action buttons."""
|
||||
user = User.objects.create_user(username="editor_user", password="password")
|
||||
user_config = UserConfig.objects.create(user=user, is_intern=True)
|
||||
user_config.roles.add(self.admin_role)
|
||||
|
||||
self.client.login(username="editor_user", password="password")
|
||||
url = reverse("mobile:mobile_asset_detail_direct", args=["naturetree", self.tree.id])
|
||||
response = self.client.get(url)
|
||||
|
||||
self.assertEqual(response.status_code, 200)
|
||||
self.assertContains(response, 'id="asset-cms-edit-bar"')
|
||||
self.assertContains(response, 'mobile-edit-bar')
|
||||
self.assertContains(response, 'id="asset-edit-mode-badge"')
|
||||
self.assertContains(response, 'id="asset-cms-edit-btn"')
|
||||
self.assertContains(response, 'id="asset-cms-save-btn"')
|
||||
self.assertContains(response, 'id="asset-cms-cancel-btn"')
|
||||
|
||||
def test_tree_mobile_specific_elements(self):
|
||||
"""NatureTree specific mobile design: dendrometric widgets, icons and input attributes."""
|
||||
user = User.objects.create_user(username="tree_admin", password="password")
|
||||
user_config = UserConfig.objects.create(user=user, is_intern=True)
|
||||
user_config.roles.add(self.admin_role)
|
||||
|
||||
self.client.login(username="tree_admin", password="password")
|
||||
url = reverse("mobile:mobile_asset_detail_direct", args=["naturetree", self.tree.id])
|
||||
response = self.client.get(url)
|
||||
|
||||
self.assertEqual(response.status_code, 200)
|
||||
# Responsive dendrometric widgets
|
||||
self.assertContains(response, "tree-metric-widget")
|
||||
self.assertContains(response, "tree-header-icon")
|
||||
# Touch friendly input attributes
|
||||
self.assertContains(response, 'inputmode="decimal"')
|
||||
self.assertContains(response, 'inputmode="numeric"')
|
||||
|
||||
def test_thematic_url_route(self):
|
||||
"""Route with thematic prefix /mobile/assets/nature/naturetree/<id>/ works properly."""
|
||||
user = User.objects.create_user(username="thematic_user", password="password")
|
||||
user_config = UserConfig.objects.create(user=user, is_intern=True)
|
||||
user_config.roles.add(self.admin_role)
|
||||
|
||||
self.client.login(username="thematic_user", password="password")
|
||||
url = reverse("mobile:mobile_asset_detail", args=["nature", "naturetree", self.tree.id])
|
||||
response = self.client.get(url)
|
||||
|
||||
self.assertEqual(response.status_code, 200)
|
||||
self.assertEqual(response.context["thematic_code"], "nature")
|
||||
self.assertEqual(response.context["asset"].id, self.tree.id)
|
||||
|
||||
def test_update_tree_via_ajax_endpoint(self):
|
||||
"""Saving updated fields via update_asset AJAX endpoint updates tree in database."""
|
||||
user = User.objects.create_user(username="update_user", password="password")
|
||||
user_config = UserConfig.objects.create(user=user, is_intern=True)
|
||||
user_config.roles.add(self.admin_role)
|
||||
|
||||
self.client.login(username="update_user", password="password")
|
||||
update_url = reverse("assets:update_asset", args=["naturetree", self.tree.id])
|
||||
|
||||
payload = {
|
||||
"height": 18.2,
|
||||
"circumference": 175.0,
|
||||
"vitality": "strong",
|
||||
"tag_number": "TAG-99999"
|
||||
}
|
||||
|
||||
response = self.client.post(
|
||||
update_url,
|
||||
data=json.dumps(payload),
|
||||
content_type="application/json"
|
||||
)
|
||||
|
||||
self.assertEqual(response.status_code, 200)
|
||||
data = response.json()
|
||||
self.assertTrue(data.get("success"))
|
||||
|
||||
# Verify database update
|
||||
self.tree.refresh_from_db()
|
||||
self.assertEqual(self.tree.height, 18.2)
|
||||
self.assertEqual(self.tree.circumference, 175.0)
|
||||
self.assertEqual(self.tree.vitality, "strong")
|
||||
self.assertEqual(self.tree.tag_number, "TAG-99999")
|
||||
|
||||
def test_mobile_index_shows_assets_card_when_authorized(self):
|
||||
"""User with asset view rights sees 'Patrimoine & Assets' card on mobile home."""
|
||||
user = User.objects.create_user(username="asset_viewer", password="password")
|
||||
user_config = UserConfig.objects.create(user=user, is_intern=True)
|
||||
user_config.roles.add(self.viewer_role)
|
||||
UserThematics.objects.create(
|
||||
user_config=user_config,
|
||||
thematic=self.thematic,
|
||||
can_view_assets=True
|
||||
)
|
||||
|
||||
self.client.login(username="asset_viewer", password="password")
|
||||
response = self.client.get(reverse("mobile:mobile_index"))
|
||||
self.assertEqual(response.status_code, 200)
|
||||
self.assertTrue(response.context["can_view_assets"])
|
||||
self.assertContains(response, reverse("mobile:mobile_assets_index"))
|
||||
content = response.content.decode()
|
||||
self.assertTrue(
|
||||
"Patrimoine & Assets" in content or
|
||||
"Assets & Heritage" in content or
|
||||
"Patrimoine & Assets" in content or
|
||||
"Assets & Heritage" in content
|
||||
)
|
||||
|
||||
def test_mobile_index_hides_assets_card_when_unauthorized(self):
|
||||
"""User without asset view rights does NOT see 'Patrimoine & Assets' card on mobile home."""
|
||||
user = User.objects.create_user(username="no_asset_user", password="password")
|
||||
user_config = UserConfig.objects.create(user=user, is_intern=True)
|
||||
user_config.roles.add(self.viewer_role)
|
||||
UserThematics.objects.create(
|
||||
user_config=user_config,
|
||||
thematic=self.thematic,
|
||||
can_view_assets=False
|
||||
)
|
||||
|
||||
self.client.login(username="no_asset_user", password="password")
|
||||
response = self.client.get(reverse("mobile:mobile_index"))
|
||||
self.assertEqual(response.status_code, 200)
|
||||
self.assertFalse(response.context["can_view_assets"])
|
||||
self.assertNotContains(response, reverse("mobile:mobile_assets_index"))
|
||||
|
||||
def test_mobile_assets_index_view_permissions(self):
|
||||
"""Test access controls on mobile_assets_index."""
|
||||
# Anonymous -> 302
|
||||
response = self.client.get(reverse("mobile:mobile_assets_index"))
|
||||
self.assertEqual(response.status_code, 302)
|
||||
|
||||
# Unauthorized user -> 403
|
||||
user_forbidden = User.objects.create_user(username="index_forbidden", password="password")
|
||||
user_config = UserConfig.objects.create(user=user_forbidden, is_intern=True)
|
||||
user_config.roles.add(self.viewer_role)
|
||||
self.client.login(username="index_forbidden", password="password")
|
||||
response = self.client.get(reverse("mobile:mobile_assets_index"))
|
||||
self.assertEqual(response.status_code, 403)
|
||||
|
||||
# Authorized user -> 200 with template and context
|
||||
UserThematics.objects.create(
|
||||
user_config=user_config,
|
||||
thematic=self.thematic,
|
||||
can_view_assets=True
|
||||
)
|
||||
response = self.client.get(reverse("mobile:mobile_assets_index"))
|
||||
self.assertEqual(response.status_code, 200)
|
||||
self.assertTemplateUsed(response, "mobile/assets/assets_index_mobile.html")
|
||||
self.assertIn("accessible_thematics", response.context)
|
||||
self.assertIn("thematic_config_json", response.context)
|
||||
self.assertIn("asset_status_choices", response.context)
|
||||
# Assert JS script block is rendered and loaded
|
||||
self.assertContains(response, "initMap")
|
||||
self.assertContains(response, "maplibre-gl.js")
|
||||
|
||||
def test_mobile_assets_search_api(self):
|
||||
"""Test mobile_assets_search JSON endpoint with filters and search queries."""
|
||||
user = User.objects.create_user(username="search_user", password="password")
|
||||
user_config = UserConfig.objects.create(user=user, is_intern=True)
|
||||
user_config.roles.add(self.viewer_role)
|
||||
UserThematics.objects.create(
|
||||
user_config=user_config,
|
||||
thematic=self.thematic,
|
||||
can_view_assets=True
|
||||
)
|
||||
|
||||
self.client.login(username="search_user", password="password")
|
||||
search_url = reverse("mobile:mobile_assets_search")
|
||||
|
||||
# 1. Search without thematic returns empty results (thematic required)
|
||||
response = self.client.get(search_url)
|
||||
self.assertEqual(response.status_code, 200)
|
||||
data = response.json()
|
||||
self.assertEqual(data["count"], 0)
|
||||
self.assertEqual(data["results"], [])
|
||||
self.assertFalse(data["limit_reached"])
|
||||
|
||||
# 2. Search with mandatory thematic 'nature'
|
||||
response = self.client.get(search_url, {"thematic": "nature"})
|
||||
self.assertEqual(response.status_code, 200)
|
||||
data = response.json()
|
||||
self.assertIn("results", data)
|
||||
self.assertIn("geojson", data)
|
||||
self.assertEqual(data["limit"], 500)
|
||||
self.assertFalse(data["limit_reached"])
|
||||
codes = [item["code"] for item in data["results"]]
|
||||
self.assertIn("ARB-TEST-001", codes)
|
||||
self.assertIn("ARB-SHRUB-001", codes)
|
||||
|
||||
# 3. Test limit reached logic with limit=1
|
||||
response = self.client.get(search_url, {"thematic": "nature", "limit": "1"})
|
||||
self.assertEqual(response.status_code, 200)
|
||||
data = response.json()
|
||||
self.assertEqual(data["count"], 1)
|
||||
self.assertEqual(data["limit"], 1)
|
||||
self.assertTrue(data["limit_reached"])
|
||||
self.assertGreater(data["total_count"], 1)
|
||||
|
||||
# 4. Search with keyword 'Chêne'
|
||||
response = self.client.get(search_url, {"thematic": "nature", "q": "Chêne"})
|
||||
self.assertEqual(response.status_code, 200)
|
||||
data = response.json()
|
||||
codes = [item["code"] for item in data["results"]]
|
||||
self.assertIn("ARB-TEST-001", codes)
|
||||
self.assertNotIn("ARB-SHRUB-001", codes)
|
||||
|
||||
# 5. Filter by status 'active'
|
||||
response = self.client.get(search_url, {"thematic": "nature", "status": "active"})
|
||||
self.assertEqual(response.status_code, 200)
|
||||
data = response.json()
|
||||
self.assertGreaterEqual(data["count"], 1)
|
||||
|
||||
def test_generic_asset_uses_mobile_generic_template(self):
|
||||
"""An asset model without specific template (NatureShrub) uses detail_generic_mobile.html."""
|
||||
user = User.objects.create_user(username="shrub_viewer", password="password")
|
||||
user_config = UserConfig.objects.create(user=user, is_intern=True)
|
||||
user_config.roles.add(self.admin_role)
|
||||
|
||||
self.client.login(username="shrub_viewer", password="password")
|
||||
url = reverse("mobile:mobile_asset_detail_direct", args=["natureshrub", self.shrub.id])
|
||||
response = self.client.get(url)
|
||||
|
||||
self.assertEqual(response.status_code, 200)
|
||||
self.assertTemplateUsed(response, "assets/detail_generic_mobile.html")
|
||||
self.assertContains(response, "ARB-SHRUB-001")
|
||||
self.assertContains(response, "Rosier buisson")
|
||||
# Assert mobile navigation tabs and scripts are present
|
||||
self.assertContains(response, "mobile-asset-tabs-nav")
|
||||
self.assertContains(response, 'data-target-tab="tab-infos"')
|
||||
self.assertContains(response, 'data-target-tab="tab-geo"')
|
||||
self.assertContains(response, 'data-target-tab="tab-docs"')
|
||||
self.assertContains(response, 'data-target-tab="tab-links"')
|
||||
self.assertContains(response, "asset_cms_edit_mode.js")
|
||||
self.assertContains(response, "initMobileAssetTabs")
|
||||
|
||||
def test_specific_asset_retains_specific_template(self):
|
||||
"""NatureTree continues to use its specific template naturetree_detail.html."""
|
||||
user = User.objects.create_user(username="tree_viewer", password="password")
|
||||
user_config = UserConfig.objects.create(user=user, is_intern=True)
|
||||
user_config.roles.add(self.admin_role)
|
||||
|
||||
self.client.login(username="tree_viewer", password="password")
|
||||
url = reverse("mobile:mobile_asset_detail_direct", args=["naturetree", self.tree.id])
|
||||
response = self.client.get(url)
|
||||
|
||||
self.assertEqual(response.status_code, 200)
|
||||
self.assertTemplateUsed(response, "assets/naturetree_detail.html")
|
||||
|
||||
|
|
@ -37,7 +37,10 @@ urlpatterns = [
|
|||
path("nature/green-surfaces/", views.green_surfaces_edit_mobile, name='green_surfaces_edit_mobile'),
|
||||
path("nature/green-surfaces-custom-draw/", views.green_surfaces_edit_custom_draw, name='green_surfaces_edit_custom_draw'),
|
||||
path("nature/green-surfaces-standalone/", views.green_surfaces_edit_standalone, name='green_surfaces_edit_standalone'),
|
||||
path('assets/', views.mobile_assets_index, name='mobile_assets_index'),
|
||||
path('assets/search/', views.mobile_assets_search, name='mobile_assets_search'),
|
||||
path('assets/<str:thematic_code>/<str:asset_model>/<int:asset_id>/', mobile_asset_detail, name='mobile_asset_detail'),
|
||||
path('assets/<str:asset_model>/<int:asset_id>/', mobile_asset_detail, name='mobile_asset_detail_direct'),
|
||||
path('inspections/', inspections.inspections_list, name='inspections_list_mobile'),
|
||||
path('inspections/new/', inspections.quick_inspection_map, name='quick_inspection_map_mobile'),
|
||||
# Stock mobile
|
||||
|
|
|
|||
|
|
@ -113,6 +113,12 @@ def index(request):
|
|||
can_inspect = user_config.get_inspectable_thematics().exists()
|
||||
can_view_inspections = can_inspect or user_config.has_role('viewer')
|
||||
|
||||
# Check if user has permission to view assets across any thematic
|
||||
can_view_assets = request.user.is_superuser or UserThematics.objects.filter(
|
||||
user_config=user_config,
|
||||
can_view_assets=True
|
||||
).exists()
|
||||
|
||||
return render(request, "mobile/mobile_index.html", {
|
||||
'can_edit_green_surfaces': can_edit_green_surfaces,
|
||||
'can_access_stock': can_access_stock,
|
||||
|
|
@ -122,6 +128,7 @@ def index(request):
|
|||
'inspection_configs': inspection_configs,
|
||||
'can_inspect': can_inspect,
|
||||
'can_view_inspections': can_view_inspections,
|
||||
'can_view_assets': can_view_assets,
|
||||
})
|
||||
|
||||
@login_not_required
|
||||
|
|
@ -1116,3 +1123,369 @@ def green_surfaces_edit_standalone(request):
|
|||
context = {}
|
||||
|
||||
return render(request, "mobile/green_surfaces_edit_standalone.html", context)
|
||||
|
||||
|
||||
@login_required
|
||||
def mobile_assets_index(request):
|
||||
"""
|
||||
Dedicated mobile assets index page with MapLibre interactive map,
|
||||
thematic and status filters, and switchable map/list view.
|
||||
"""
|
||||
import json
|
||||
from common.models import Thematic, UserThematics, UserConfig
|
||||
from assets.views.core import build_thematic_config, ASSET_STATUS_CHOICES
|
||||
|
||||
lang = get_language() or 'fr'
|
||||
user_config = getattr(request.user, 'config', None)
|
||||
if not user_config:
|
||||
try:
|
||||
user_config = UserConfig.objects.get(user=request.user)
|
||||
except UserConfig.DoesNotExist:
|
||||
user_config = None
|
||||
|
||||
if getattr(request.user, 'is_superuser', False):
|
||||
accessible_thematics = list(Thematic.objects.order_by(f'{"name_nl" if lang == "nl" else "name_fr"}'))
|
||||
elif user_config:
|
||||
thematic_qs = (
|
||||
UserThematics.objects
|
||||
.filter(user_config=user_config, can_view_assets=True)
|
||||
.select_related('thematic')
|
||||
.order_by(f'thematic__{"name_nl" if lang == "nl" else "name_fr"}')
|
||||
)
|
||||
accessible_thematics = [tc.thematic for tc in thematic_qs]
|
||||
else:
|
||||
accessible_thematics = []
|
||||
|
||||
if not accessible_thematics and not getattr(request.user, 'is_superuser', False):
|
||||
return render(request, "403.html", status=403)
|
||||
|
||||
thematic_config = build_thematic_config(accessible_thematics)
|
||||
|
||||
selected_thematic = request.GET.get('thematic', '')
|
||||
if not selected_thematic and user_config and user_config.default_thematic and user_config.default_thematic in accessible_thematics:
|
||||
selected_thematic = user_config.default_thematic.code
|
||||
|
||||
context = {
|
||||
'accessible_thematics': accessible_thematics,
|
||||
'thematic_config_json': json.dumps(thematic_config),
|
||||
'asset_status_choices': list(ASSET_STATUS_CHOICES.items()),
|
||||
'selected_thematic': selected_thematic,
|
||||
'initial_query': request.GET.get('q', '').strip(),
|
||||
'initial_view': request.GET.get('view', 'map'),
|
||||
}
|
||||
return render(request, "mobile/assets/assets_index_mobile.html", context)
|
||||
|
||||
|
||||
@login_required
|
||||
def mobile_assets_search(request):
|
||||
"""
|
||||
Search and filter endpoint for mobile assets.
|
||||
Returns JSON results for list view and GeoJSON FeatureCollection for MapLibre map.
|
||||
Supports proximity sorting if lat/lon parameters are provided.
|
||||
"""
|
||||
import math
|
||||
from urllib.parse import quote
|
||||
from django.urls import reverse
|
||||
from django.db.models import Q
|
||||
from common.models import Thematic, UserThematics, UserConfig
|
||||
from assets.models import (
|
||||
NatureTree, NatureGreenSurface, NatureShrub, NatureBench,
|
||||
SignPanel, SignPole,
|
||||
TrafficLightPole, TrafficLightLantern, TrafficLightElectricalCabinet,
|
||||
PublicLightingPole, PublicLightingLightFixture, PublicLightingElectricalCabinet,
|
||||
Roadway, RoadSidewalk, RoadFurniture,
|
||||
CleanLitterBin, CleanGlassContainer,
|
||||
ArtworkMonument, ArtworkFountain,
|
||||
StructureGeoAsset, ControlCenterGeoAsset, ITSGeoAsset,
|
||||
OutdoorAsset, ParkingSpot,
|
||||
)
|
||||
from assets.views.core import get_element_type_label
|
||||
|
||||
lang = get_language() or 'fr'
|
||||
user_config = getattr(request.user, 'config', None)
|
||||
if not user_config:
|
||||
try:
|
||||
user_config = UserConfig.objects.get(user=request.user)
|
||||
except UserConfig.DoesNotExist:
|
||||
user_config = None
|
||||
|
||||
if getattr(request.user, 'is_superuser', False):
|
||||
accessible_thematics = list(Thematic.objects.all())
|
||||
elif user_config:
|
||||
thematic_qs = (
|
||||
UserThematics.objects
|
||||
.filter(user_config=user_config, can_view_assets=True)
|
||||
.select_related('thematic')
|
||||
)
|
||||
accessible_thematics = [tc.thematic for tc in thematic_qs]
|
||||
else:
|
||||
accessible_thematics = []
|
||||
|
||||
accessible_codes = {t.code for t in accessible_thematics}
|
||||
thematic_map = {t.code: t for t in accessible_thematics}
|
||||
|
||||
q = (request.GET.get('q') or '').strip()
|
||||
thematic_filter = (request.GET.get('thematic') or '').strip()
|
||||
status_filter = (request.GET.get('status') or '').strip()
|
||||
|
||||
MAX_MOBILE_ASSETS = 500
|
||||
try:
|
||||
limit = min(int(request.GET.get('limit', MAX_MOBILE_ASSETS)), MAX_MOBILE_ASSETS)
|
||||
except (TypeError, ValueError):
|
||||
limit = MAX_MOBILE_ASSETS
|
||||
|
||||
# L'utilisateur doit choisir au minimum une thématique pour voir quelque chose
|
||||
if not thematic_filter or thematic_filter not in accessible_codes:
|
||||
return JsonResponse({
|
||||
'count': 0,
|
||||
'total_count': 0,
|
||||
'limit': limit,
|
||||
'limit_reached': False,
|
||||
'thematic': '',
|
||||
'results': [],
|
||||
'geojson': {
|
||||
'type': 'FeatureCollection',
|
||||
'features': [],
|
||||
}
|
||||
})
|
||||
|
||||
try:
|
||||
user_lat = float(request.GET.get('lat'))
|
||||
user_lon = float(request.GET.get('lon'))
|
||||
except (TypeError, ValueError):
|
||||
user_lat = None
|
||||
user_lon = None
|
||||
|
||||
# Filtrage spatial par bounding box (bbox) sur la carte MapLibre
|
||||
bbox_str = (request.GET.get('bbox') or '').strip()
|
||||
bbox_poly_3812 = None
|
||||
min_lon, min_lat, max_lon, max_lat = None, None, None, None
|
||||
if bbox_str:
|
||||
try:
|
||||
parts = [float(x.strip()) for x in bbox_str.split(',')]
|
||||
if len(parts) == 4:
|
||||
min_lon, min_lat, max_lon, max_lat = parts
|
||||
from django.contrib.gis.geos import Polygon
|
||||
bbox_poly_4326 = Polygon.from_bbox((min_lon, min_lat, max_lon, max_lat))
|
||||
bbox_poly_4326.srid = 4326
|
||||
bbox_poly_3812 = bbox_poly_4326.clone()
|
||||
bbox_poly_3812.transform(3812)
|
||||
except Exception:
|
||||
bbox_poly_3812 = None
|
||||
min_lon, min_lat, max_lon, max_lat = None, None, None, None
|
||||
|
||||
thematic_models_registry = {
|
||||
'nature': [
|
||||
('naturetree', NatureTree),
|
||||
('naturegreensurface', NatureGreenSurface),
|
||||
('natureshrub', NatureShrub),
|
||||
('naturebench', NatureBench),
|
||||
],
|
||||
'sign': [
|
||||
('signpanel', SignPanel),
|
||||
('signpole', SignPole),
|
||||
],
|
||||
'trafficlights': [
|
||||
('trafficlightpole', TrafficLightPole),
|
||||
('trafficlightlantern', TrafficLightLantern),
|
||||
('trafficlightelectricalcabinet', TrafficLightElectricalCabinet),
|
||||
],
|
||||
'publiclighting': [
|
||||
('publiclightingpole', PublicLightingPole),
|
||||
('publiclightinglightfixture', PublicLightingLightFixture),
|
||||
('publiclightingelectricalcabinet', PublicLightingElectricalCabinet),
|
||||
],
|
||||
'roads': [
|
||||
('roadway', Roadway),
|
||||
('roadsidewalk', RoadSidewalk),
|
||||
('roadfurniture', RoadFurniture),
|
||||
],
|
||||
'clean': [
|
||||
('cleanlitterbin', CleanLitterBin),
|
||||
('cleanglasscontainer', CleanGlassContainer),
|
||||
],
|
||||
'artworks': [
|
||||
('artworkmonument', ArtworkMonument),
|
||||
('artworkfountain', ArtworkFountain),
|
||||
],
|
||||
'structures': [
|
||||
('structuregeoasset', StructureGeoAsset),
|
||||
],
|
||||
'controlcenters': [
|
||||
('controlcentergeoasset', ControlCenterGeoAsset),
|
||||
],
|
||||
'its': [
|
||||
('itsgeoasset', ITSGeoAsset),
|
||||
],
|
||||
'outdoorfacilities': [
|
||||
('outdoorasset', OutdoorAsset),
|
||||
],
|
||||
'outdoor': [
|
||||
('outdoorasset', OutdoorAsset),
|
||||
],
|
||||
'parking': [
|
||||
('parkingspot', ParkingSpot),
|
||||
],
|
||||
}
|
||||
|
||||
def _haversine(lat1, lon1, lat2, lon2):
|
||||
R = 6371000
|
||||
phi1 = math.radians(lat1)
|
||||
phi2 = math.radians(lat2)
|
||||
delta_phi = math.radians(lat2 - lat1)
|
||||
delta_lambda = math.radians(lon2 - lon1)
|
||||
a = math.sin(delta_phi / 2.0) ** 2 + math.cos(phi1) * math.cos(phi2) * math.sin(delta_lambda / 2.0) ** 2
|
||||
c = 2.0 * math.atan2(math.sqrt(a), math.sqrt(max(0.0, 1.0 - a)))
|
||||
return R * c
|
||||
|
||||
results = []
|
||||
features = []
|
||||
total_count = 0
|
||||
|
||||
t_code = thematic_filter
|
||||
thematic_obj = thematic_map.get(t_code)
|
||||
thematic_name = (getattr(thematic_obj, f'name_{lang}', None) or getattr(thematic_obj, 'name_fr', None) or t_code) if thematic_obj else t_code
|
||||
thematic_icon = getattr(thematic_obj, 'icon', '') if thematic_obj else ''
|
||||
|
||||
models_list = thematic_models_registry.get(t_code, [])
|
||||
for model_key, model_class in models_list:
|
||||
qs = model_class.objects.all()
|
||||
|
||||
# Filtrage par boîte englobante (bbox / zoom de la carte)
|
||||
if bbox_poly_3812:
|
||||
if hasattr(model_class, 'geom'):
|
||||
qs = qs.filter(geom__bboverlaps=bbox_poly_3812)
|
||||
elif min_lon is not None and hasattr(model_class, 'lon') and hasattr(model_class, 'lat'):
|
||||
qs = qs.filter(lon__gte=min_lon, lon__lte=max_lon, lat__gte=min_lat, lat__lte=max_lat)
|
||||
|
||||
if status_filter:
|
||||
if hasattr(model_class, 'status'):
|
||||
qs = qs.filter(status=status_filter)
|
||||
else:
|
||||
if hasattr(model_class, 'status'):
|
||||
qs = qs.exclude(status='removed')
|
||||
|
||||
if q:
|
||||
search_q = Q(code__icontains=q)
|
||||
if hasattr(model_class, 'name_fr'):
|
||||
search_q |= Q(name_fr__icontains=q)
|
||||
if hasattr(model_class, 'name_nl'):
|
||||
search_q |= Q(name_nl__icontains=q)
|
||||
qs = qs.filter(search_q)
|
||||
|
||||
# Nombre total d'assets correspondants (pour savoir si limite atteinte)
|
||||
count_for_model = qs.count()
|
||||
total_count += count_for_model
|
||||
|
||||
remaining_slots = limit - len(results)
|
||||
if remaining_slots > 0:
|
||||
items = list(qs[:remaining_slots])
|
||||
for item in items:
|
||||
lat = None
|
||||
lon = None
|
||||
if hasattr(item, 'lat') and item.lat is not None and hasattr(item, 'lon') and item.lon is not None:
|
||||
try:
|
||||
lat = float(str(item.lat).replace(',', '.'))
|
||||
lon = float(str(item.lon).replace(',', '.'))
|
||||
except (ValueError, TypeError):
|
||||
pass
|
||||
elif hasattr(item, 'geom') and item.geom:
|
||||
try:
|
||||
g = item.geom.clone()
|
||||
g.transform(4326)
|
||||
centroid = g.centroid
|
||||
lon = float(centroid.x)
|
||||
lat = float(centroid.y)
|
||||
except Exception:
|
||||
pass
|
||||
elif hasattr(item, 'location') and item.location:
|
||||
loc = item.location
|
||||
if hasattr(loc, 'lat') and loc.lat and hasattr(loc, 'lon') and loc.lon:
|
||||
try:
|
||||
lat = float(str(loc.lat).replace(',', '.'))
|
||||
lon = float(str(loc.lon).replace(',', '.'))
|
||||
except (ValueError, TypeError):
|
||||
pass
|
||||
|
||||
distance_m = None
|
||||
if user_lat is not None and user_lon is not None and lat is not None and lon is not None:
|
||||
try:
|
||||
distance_m = round(_haversine(user_lat, user_lon, lat, lon))
|
||||
except Exception:
|
||||
distance_m = None
|
||||
|
||||
item_name = (
|
||||
getattr(item, f'name_{lang}', None) or
|
||||
getattr(item, 'name_fr', None) or
|
||||
(getattr(item.model, f'name_{lang}', None) or getattr(item.model, 'name_fr', None) if getattr(item, 'model', None) else '') or
|
||||
''
|
||||
)
|
||||
status_val = getattr(item, 'status', 'active')
|
||||
status_display = item.get_status_display() if hasattr(item, 'get_status_display') else status_val
|
||||
element_type = get_element_type_label(model_key)
|
||||
|
||||
detail_url = reverse('mobile:mobile_asset_detail_direct', kwargs={'asset_model': model_key, 'asset_id': item.id})
|
||||
|
||||
res_item = {
|
||||
'id': item.id,
|
||||
'code': getattr(item, 'code', f'#{item.id}'),
|
||||
'name': item_name,
|
||||
'thematic': t_code,
|
||||
'thematic_name': thematic_name,
|
||||
'thematic_icon': thematic_icon,
|
||||
'model_key': model_key,
|
||||
'element_type': element_type,
|
||||
'status': status_val,
|
||||
'status_display': status_display,
|
||||
'lat': lat,
|
||||
'lon': lon,
|
||||
'distance_m': distance_m,
|
||||
'detail_url': detail_url,
|
||||
}
|
||||
results.append(res_item)
|
||||
|
||||
if lon is not None and lat is not None:
|
||||
features.append({
|
||||
'type': 'Feature',
|
||||
'id': f"{model_key}_{item.id}",
|
||||
'geometry': {
|
||||
'type': 'Point',
|
||||
'coordinates': [lon, lat],
|
||||
},
|
||||
'properties': {
|
||||
'id': item.id,
|
||||
'code': getattr(item, 'code', f'#{item.id}'),
|
||||
'name': item_name,
|
||||
'thematic': t_code,
|
||||
'thematic_name': thematic_name,
|
||||
'thematic_icon': thematic_icon,
|
||||
'model_key': model_key,
|
||||
'element_type': element_type,
|
||||
'status': status_val,
|
||||
'status_display': status_display,
|
||||
'distance_m': distance_m,
|
||||
'detail_url': detail_url,
|
||||
}
|
||||
})
|
||||
|
||||
if user_lat is not None and user_lon is not None:
|
||||
results.sort(key=lambda x: (x['distance_m'] if x['distance_m'] is not None else 999999999, x['code']))
|
||||
else:
|
||||
results.sort(key=lambda x: x['code'])
|
||||
|
||||
results = results[:limit]
|
||||
limit_reached = total_count > limit
|
||||
|
||||
return JsonResponse({
|
||||
'count': len(results),
|
||||
'total_count': total_count,
|
||||
'limit': limit,
|
||||
'limit_reached': limit_reached,
|
||||
'thematic': t_code,
|
||||
'results': results,
|
||||
'geojson': {
|
||||
'type': 'FeatureCollection',
|
||||
'features': features[:limit],
|
||||
}
|
||||
})
|
||||
|
||||
|
|
|
|||
Binary file not shown.
|
|
@ -7,7 +7,7 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: PACKAGE VERSION\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2026-08-19 09:47+0200\n"
|
||||
"POT-Creation-Date: 2026-09-13 09:05+0200\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
|
|
@ -23,7 +23,7 @@ msgid "Titre"
|
|||
msgstr "Title"
|
||||
|
||||
#: notifications/forms.py:40 notifications/models.py:72
|
||||
#: notifications/models.py:455
|
||||
#: notifications/models.py:529
|
||||
msgid "Contenu"
|
||||
msgstr "Content"
|
||||
|
||||
|
|
@ -45,7 +45,7 @@ msgid "Expire le"
|
|||
msgstr "Expires on"
|
||||
|
||||
#: notifications/forms.py:68 notifications/models.py:284
|
||||
#: notifications/templates/notifications/_new_discussion_modal.html:41
|
||||
#: notifications/templates/notifications/_new_discussion_modal.html:69
|
||||
msgid "Pièces jointes"
|
||||
msgstr "Attachments"
|
||||
|
||||
|
|
@ -57,7 +57,7 @@ msgstr "Photos or documents (multiple files allowed)."
|
|||
msgid "Destinataires individuels"
|
||||
msgstr "Individual recipients"
|
||||
|
||||
#: notifications/forms.py:82 notifications/models.py:553
|
||||
#: notifications/forms.py:82 notifications/models.py:632
|
||||
msgid "Équipes destinataires"
|
||||
msgstr "Recipient teams"
|
||||
|
||||
|
|
@ -94,6 +94,7 @@ msgstr ""
|
|||
"hour(s) ago:"
|
||||
|
||||
#: notifications/management/commands/send_unread_notification_reminders.py:118
|
||||
#: notifications/services.py:479
|
||||
msgid "Système"
|
||||
msgstr "System"
|
||||
|
||||
|
|
@ -168,8 +169,8 @@ msgstr "Team"
|
|||
msgid "Équipes"
|
||||
msgstr "Teams"
|
||||
|
||||
#: notifications/models.py:49 notifications/models.py:464
|
||||
#: notifications/models.py:593
|
||||
#: notifications/models.py:49 notifications/models.py:543
|
||||
#: notifications/models.py:672
|
||||
msgid "Message"
|
||||
msgstr "Message"
|
||||
|
||||
|
|
@ -221,7 +222,7 @@ msgstr "System notification"
|
|||
msgid "Générée automatiquement par le système."
|
||||
msgstr "Generated automatically by the system."
|
||||
|
||||
#: notifications/models.py:114 notifications/models.py:566
|
||||
#: notifications/models.py:114 notifications/models.py:645
|
||||
msgid "Prise en charge unique"
|
||||
msgstr "Single claim"
|
||||
|
||||
|
|
@ -283,11 +284,11 @@ msgstr "Team notification"
|
|||
msgid "Notifications d'équipe"
|
||||
msgstr "Team notifications"
|
||||
|
||||
#: notifications/models.py:250 notifications/models.py:597
|
||||
#: notifications/models.py:250 notifications/models.py:676
|
||||
msgid "Fichier"
|
||||
msgstr "File"
|
||||
|
||||
#: notifications/models.py:255 notifications/models.py:599
|
||||
#: notifications/models.py:255 notifications/models.py:678
|
||||
msgid "Nom du fichier"
|
||||
msgstr "File name"
|
||||
|
||||
|
|
@ -295,7 +296,7 @@ msgstr "File name"
|
|||
msgid "Ajouté par"
|
||||
msgstr "Added by"
|
||||
|
||||
#: notifications/models.py:265 notifications/models.py:600
|
||||
#: notifications/models.py:265 notifications/models.py:679
|
||||
msgid "Ajouté le"
|
||||
msgstr "Added on"
|
||||
|
||||
|
|
@ -303,7 +304,7 @@ msgstr "Added on"
|
|||
msgid "Pièce jointe"
|
||||
msgstr "Attachment"
|
||||
|
||||
#: notifications/models.py:301
|
||||
#: notifications/models.py:301 notifications/models.py:713
|
||||
msgid "Utilisateur"
|
||||
msgstr "User"
|
||||
|
||||
|
|
@ -315,22 +316,22 @@ msgstr "Team notification read"
|
|||
msgid "Lectures de notifications d'équipe"
|
||||
msgstr "Team notification reads"
|
||||
|
||||
#: notifications/models.py:331
|
||||
#: notifications/models.py:331 notifications/models.py:751
|
||||
msgid "Mis à jour le"
|
||||
msgstr "Updated on"
|
||||
|
||||
#: notifications/models.py:336
|
||||
#: notifications/templates/notifications/discussion_detail.html:105
|
||||
#: notifications/templates/notifications/discussion_list.html:144
|
||||
#: notifications/templates/notifications/inbox.html:421
|
||||
#: notifications/templates/notifications/discussion_detail.html:164
|
||||
#: notifications/templates/notifications/discussion_list.html:155
|
||||
#: notifications/templates/notifications/inbox.html:460
|
||||
msgid "Participants"
|
||||
msgstr "Participants"
|
||||
|
||||
#: notifications/models.py:338
|
||||
#: notifications/templates/notifications/discussion_detail.html:97
|
||||
#: notifications/templates/notifications/discussion_list.html:120
|
||||
#: notifications/templates/notifications/inbox.html:397
|
||||
#: notifications/templates/notifications/inbox_mobile.html:338
|
||||
#: notifications/templates/notifications/discussion_detail.html:98
|
||||
#: notifications/templates/notifications/discussion_list.html:127
|
||||
#: notifications/templates/notifications/inbox.html:432
|
||||
#: notifications/templates/notifications/inbox_mobile.html:360
|
||||
msgid "Clôturée"
|
||||
msgstr "Closed"
|
||||
|
||||
|
|
@ -342,106 +343,164 @@ msgstr "Linked object type"
|
|||
msgid "ID objet lié"
|
||||
msgstr "Linked object ID"
|
||||
|
||||
#: notifications/models.py:355
|
||||
#: notifications/models.py:360
|
||||
msgid "Aucun"
|
||||
msgstr ""
|
||||
|
||||
#: notifications/models.py:361 notifications/models.py:368
|
||||
#: notifications/templates/notifications/_new_discussion_modal.html:34
|
||||
#: notifications/templates/notifications/discussion_detail.html:132
|
||||
msgid "Important / À traiter"
|
||||
msgstr ""
|
||||
|
||||
#: notifications/models.py:362 notifications/models.py:377
|
||||
#: notifications/models.py:378
|
||||
#: notifications/templates/notifications/_new_discussion_modal.html:39
|
||||
#: notifications/templates/notifications/discussion_detail.html:139
|
||||
#: notifications/templates/notifications/inbox.html:374
|
||||
#: notifications/templates/notifications/inbox_mobile.html:306
|
||||
msgid "En cours"
|
||||
msgstr ""
|
||||
|
||||
#: notifications/models.py:363 notifications/models.py:386
|
||||
#: notifications/templates/notifications/_new_discussion_modal.html:44
|
||||
#: notifications/templates/notifications/discussion_detail.html:146
|
||||
msgid "Traité / Fait"
|
||||
msgstr ""
|
||||
|
||||
#: notifications/models.py:369
|
||||
#: notifications/templates/notifications/inbox.html:371
|
||||
#: notifications/templates/notifications/inbox_mobile.html:303
|
||||
msgid "Important"
|
||||
msgstr ""
|
||||
|
||||
#: notifications/models.py:387
|
||||
#: notifications/templates/notifications/inbox.html:377
|
||||
#: notifications/templates/notifications/inbox_mobile.html:309
|
||||
msgid "Traité"
|
||||
msgstr ""
|
||||
|
||||
#: notifications/models.py:401
|
||||
msgid "Flag"
|
||||
msgstr ""
|
||||
|
||||
#: notifications/models.py:409
|
||||
msgid "Flag défini par"
|
||||
msgstr ""
|
||||
|
||||
#: notifications/models.py:414
|
||||
msgid "Flag défini le"
|
||||
msgstr ""
|
||||
|
||||
#: notifications/models.py:419
|
||||
msgid "URL objet lié"
|
||||
msgstr "Linked object URL"
|
||||
|
||||
#: notifications/models.py:358
|
||||
#: notifications/models.py:422
|
||||
msgid "Libellé objet lié"
|
||||
msgstr "Linked object label"
|
||||
|
||||
#: notifications/models.py:392
|
||||
#: notifications/models.py:466
|
||||
msgid "Intervention"
|
||||
msgstr "Intervention"
|
||||
|
||||
#: notifications/models.py:400
|
||||
#: notifications/models.py:474
|
||||
msgid "Observation"
|
||||
msgstr "Observation"
|
||||
|
||||
#: notifications/models.py:408
|
||||
#: notifications/models.py:482
|
||||
msgid "Ordre de préparation"
|
||||
msgstr "Preparation order"
|
||||
|
||||
#: notifications/models.py:416
|
||||
#: notifications/models.py:490
|
||||
msgid "Projet"
|
||||
msgstr "Project"
|
||||
|
||||
#: notifications/models.py:424
|
||||
#: notifications/models.py:498
|
||||
msgid "Générale"
|
||||
msgstr "General"
|
||||
|
||||
#: notifications/models.py:429 notifications/models.py:445
|
||||
#: notifications/models.py:503 notifications/models.py:519
|
||||
msgid "Discussion"
|
||||
msgstr "Discussion"
|
||||
|
||||
#: notifications/models.py:430
|
||||
#: notifications/models.py:504
|
||||
#: notifications/templates/notifications/discussion_list.html:70
|
||||
#: notifications/templates/notifications/inbox.html:133
|
||||
#: notifications/templates/notifications/inbox_mobile.html:152
|
||||
msgid "Discussions"
|
||||
msgstr "Discussions"
|
||||
|
||||
#: notifications/models.py:453
|
||||
#: notifications/models.py:527
|
||||
msgid "Auteur"
|
||||
msgstr "Author"
|
||||
|
||||
#: notifications/models.py:456
|
||||
#: notifications/models.py:530
|
||||
msgid "Envoyé le"
|
||||
msgstr "Sent on"
|
||||
|
||||
#: notifications/models.py:457
|
||||
#: notifications/models.py:531
|
||||
msgid "Supprimé"
|
||||
msgstr "Deleted"
|
||||
|
||||
#: notifications/models.py:465
|
||||
#: notifications/models.py:534
|
||||
msgid "Message système"
|
||||
msgstr "System message"
|
||||
|
||||
#: notifications/models.py:535
|
||||
msgid "Indique si le message a été généré automatiquement par le système."
|
||||
msgstr ""
|
||||
"Indicates whether the message was automatically generated by the system."
|
||||
|
||||
#: notifications/models.py:544
|
||||
msgid "Messages"
|
||||
msgstr "Messages"
|
||||
|
||||
#: notifications/models.py:490
|
||||
#: notifications/models.py:569
|
||||
msgid "Intervention annulée"
|
||||
msgstr "Intervention cancelled"
|
||||
|
||||
#: notifications/models.py:495
|
||||
#: notifications/models.py:574
|
||||
msgid "Tous (pas de filtre)"
|
||||
msgstr "All (no filter)"
|
||||
|
||||
#: notifications/models.py:496
|
||||
#: notifications/models.py:575
|
||||
msgid "Doublon"
|
||||
msgstr "Duplicate"
|
||||
|
||||
#: notifications/models.py:497
|
||||
#: notifications/models.py:576
|
||||
msgid "A rediriger"
|
||||
msgstr "To redirect"
|
||||
|
||||
#: notifications/models.py:498
|
||||
#: notifications/models.py:577
|
||||
msgid "Pas sous notre gestion"
|
||||
msgstr "Not under our management"
|
||||
|
||||
#: notifications/models.py:499
|
||||
#: notifications/models.py:578
|
||||
msgid "Non-relevant"
|
||||
msgstr "Not relevant"
|
||||
|
||||
#: notifications/models.py:500
|
||||
#: notifications/models.py:579
|
||||
msgid "Autre"
|
||||
msgstr "Other"
|
||||
|
||||
#: notifications/models.py:504
|
||||
#: notifications/models.py:583
|
||||
msgid "Nom de la règle"
|
||||
msgstr "Rule name"
|
||||
|
||||
#: notifications/models.py:505
|
||||
#: notifications/models.py:584
|
||||
msgid "Active"
|
||||
msgstr "Active"
|
||||
|
||||
#: notifications/models.py:511
|
||||
#: notifications/models.py:590
|
||||
msgid "Événement déclencheur"
|
||||
msgstr "Trigger event"
|
||||
|
||||
#: notifications/models.py:517
|
||||
#: notifications/models.py:596
|
||||
msgid "Filtre : type d'annulation"
|
||||
msgstr "Filter: cancellation type"
|
||||
|
||||
#: notifications/models.py:519
|
||||
#: notifications/models.py:598
|
||||
msgid ""
|
||||
"Laisser vide pour déclencher sur tout type d'annulation. Sélectionner une "
|
||||
"valeur pour n'agir que sur ce type précis."
|
||||
|
|
@ -449,15 +508,15 @@ msgstr ""
|
|||
"Leave blank to trigger on all cancellation types. Select a value to trigger "
|
||||
"only on that type."
|
||||
|
||||
#: notifications/models.py:529
|
||||
#: notifications/models.py:608
|
||||
msgid "Type de notification"
|
||||
msgstr "Notification type"
|
||||
|
||||
#: notifications/models.py:533
|
||||
#: notifications/models.py:612
|
||||
msgid "Modèle de titre"
|
||||
msgstr "Title template"
|
||||
|
||||
#: notifications/models.py:535
|
||||
#: notifications/models.py:614
|
||||
#, python-brace-format
|
||||
msgid ""
|
||||
"Variables disponibles : {intervention_code}, {intervention_title}, "
|
||||
|
|
@ -466,11 +525,11 @@ msgstr ""
|
|||
"Available variables: {intervention_code}, {intervention_title}, "
|
||||
"{cancellation_type_label}"
|
||||
|
||||
#: notifications/models.py:541
|
||||
#: notifications/models.py:620
|
||||
msgid "Modèle de contenu"
|
||||
msgstr "Content template"
|
||||
|
||||
#: notifications/models.py:543
|
||||
#: notifications/models.py:622
|
||||
#, python-brace-format
|
||||
msgid ""
|
||||
"Variables disponibles : {intervention_code}, {intervention_title}, "
|
||||
|
|
@ -479,50 +538,119 @@ msgstr ""
|
|||
"Available variables: {intervention_code}, {intervention_title}, "
|
||||
"{cancellation_type_label}, {cancellation_reason}"
|
||||
|
||||
#: notifications/models.py:554
|
||||
#: notifications/models.py:633
|
||||
msgid ""
|
||||
"Les notifications seront envoyées à tous les membres (CompanyMember) de ces "
|
||||
"équipes."
|
||||
msgstr ""
|
||||
"Notifications will be sent to all members (CompanyMember) of these teams."
|
||||
|
||||
#: notifications/models.py:560
|
||||
#: notifications/models.py:639
|
||||
msgid "Utilisateurs destinataires supplémentaires"
|
||||
msgstr "Additional individual recipients"
|
||||
|
||||
#: notifications/models.py:568
|
||||
#: notifications/models.py:647
|
||||
msgid ""
|
||||
"Si activé, dès qu'un destinataire marque la notification comme lue (prise en "
|
||||
"charge), elle est automatiquement archivée pour tous les autres "
|
||||
"Si activé, dès qu'un destinataire marque la notification comme lue (prise en"
|
||||
" charge), elle est automatiquement archivée pour tous les autres "
|
||||
"destinataires."
|
||||
msgstr ""
|
||||
"If enabled, as soon as one recipient claims the notification, it is "
|
||||
"automatically archived for all other recipients."
|
||||
|
||||
#: notifications/models.py:574
|
||||
#: notifications/models.py:653
|
||||
msgid "Créée le"
|
||||
msgstr "Created on"
|
||||
|
||||
#: notifications/models.py:575
|
||||
#: notifications/models.py:654
|
||||
msgid "Mise à jour le"
|
||||
msgstr "Updated on"
|
||||
|
||||
#: notifications/models.py:581
|
||||
#: notifications/models.py:660
|
||||
msgid "Règle de notification"
|
||||
msgstr "Notification rule"
|
||||
|
||||
#: notifications/models.py:582
|
||||
#: notifications/models.py:661
|
||||
msgid "Règles de notification"
|
||||
msgstr "Notification rules"
|
||||
|
||||
#: notifications/models.py:618
|
||||
#: notifications/models.py:697
|
||||
msgid "Pièce jointe de message"
|
||||
msgstr "Message attachment"
|
||||
|
||||
#: notifications/models.py:619
|
||||
#: notifications/models.py:698
|
||||
msgid "Pièces jointes de messages"
|
||||
msgstr "Message attachments"
|
||||
|
||||
#: notifications/models.py:717
|
||||
msgid "Endpoint Push"
|
||||
msgstr ""
|
||||
|
||||
#: notifications/models.py:718
|
||||
msgid "URL unique de réception push fournie par le navigateur."
|
||||
msgstr ""
|
||||
|
||||
#: notifications/models.py:722
|
||||
msgid "Clé p256dh"
|
||||
msgstr ""
|
||||
|
||||
#: notifications/models.py:723
|
||||
msgid "Clé publique du client."
|
||||
msgstr ""
|
||||
|
||||
#: notifications/models.py:727
|
||||
msgid "Secret auth"
|
||||
msgstr ""
|
||||
|
||||
#: notifications/models.py:728
|
||||
msgid "Secret d'authentification pour le chiffrement."
|
||||
msgstr ""
|
||||
|
||||
#: notifications/models.py:733
|
||||
msgid "User Agent"
|
||||
msgstr ""
|
||||
|
||||
#: notifications/models.py:738
|
||||
msgid "Navigateur"
|
||||
msgstr ""
|
||||
|
||||
#: notifications/models.py:743
|
||||
msgid "Système d'exploitation"
|
||||
msgstr ""
|
||||
|
||||
#: notifications/models.py:748
|
||||
msgid "Nom de l'appareil"
|
||||
msgstr "Device name"
|
||||
|
||||
#: notifications/models.py:750
|
||||
#: notifications/templates/notifications/notification_settings.html:96
|
||||
msgid "Enregistré le"
|
||||
msgstr "Saved on"
|
||||
|
||||
#: notifications/models.py:754
|
||||
msgid "Appareil inconnu"
|
||||
msgstr ""
|
||||
|
||||
#: notifications/models.py:758
|
||||
msgid "Abonnement Web Push"
|
||||
msgstr ""
|
||||
|
||||
#: notifications/models.py:759
|
||||
msgid "Abonnements Web Push"
|
||||
msgstr ""
|
||||
|
||||
#: notifications/services.py:498
|
||||
#, python-brace-format
|
||||
msgid "{icon} {user} a défini le statut : {label}"
|
||||
msgstr ""
|
||||
|
||||
#: notifications/services.py:504
|
||||
#, python-brace-format
|
||||
msgid ""
|
||||
"<i class=\"bi bi-flag text-muted me-1\"></i> {user} a retiré le drapeau de "
|
||||
"suivi."
|
||||
msgstr ""
|
||||
|
||||
#: notifications/templates/notifications/_new_discussion_modal.html:8
|
||||
#: notifications/templates/notifications/discussion_list.html:74
|
||||
#: notifications/templates/notifications/inbox.html:165
|
||||
|
|
@ -534,40 +662,50 @@ msgstr "New discussion"
|
|||
msgid "Fermer"
|
||||
msgstr "Close"
|
||||
|
||||
#: notifications/templates/notifications/_new_discussion_modal.html:17
|
||||
#: notifications/templates/notifications/_new_discussion_modal.html:18
|
||||
msgid "Sujet / Titre (optionnel)"
|
||||
msgstr "Subject / Title (optional)"
|
||||
|
||||
#: notifications/templates/notifications/_new_discussion_modal.html:20
|
||||
#: notifications/templates/notifications/_new_discussion_modal.html:21
|
||||
msgid "Ex: Question sur le dossier..."
|
||||
msgstr "E.g.: Question about the file..."
|
||||
|
||||
#: notifications/templates/notifications/_new_discussion_modal.html:25
|
||||
#: notifications/templates/notifications/_new_discussion_modal.html:27
|
||||
msgid "Statut initial"
|
||||
msgstr ""
|
||||
|
||||
#: notifications/templates/notifications/_new_discussion_modal.html:29
|
||||
#: notifications/templates/notifications/discussion_detail.html:154
|
||||
msgid "Aucun drapeau"
|
||||
msgstr "No flag"
|
||||
|
||||
#: notifications/templates/notifications/_new_discussion_modal.html:53
|
||||
msgid "Message *"
|
||||
msgstr "Message *"
|
||||
|
||||
#: notifications/templates/notifications/_new_discussion_modal.html:28
|
||||
#: notifications/templates/notifications/_new_discussion_modal.html:56
|
||||
msgid "Tapez @ pour mentionner/tagger des utilisateurs ou des équipes."
|
||||
msgstr "Type @ to mention/tag users or teams."
|
||||
|
||||
#: notifications/templates/notifications/_new_discussion_modal.html:32
|
||||
#: notifications/templates/notifications/_new_discussion_modal.html:60
|
||||
msgid "Rédigez votre message... (@ pour tagger quelqu'un)"
|
||||
msgstr "Write your message... (@ to tag someone)"
|
||||
|
||||
#: notifications/templates/notifications/_new_discussion_modal.html:44
|
||||
#: notifications/templates/notifications/_new_discussion_modal.html:72
|
||||
msgid "Joindre des fichiers"
|
||||
msgstr "Attach files"
|
||||
|
||||
#: notifications/templates/notifications/_new_discussion_modal.html:52
|
||||
#: notifications/templates/notifications/_new_discussion_modal.html:80
|
||||
#: notifications/templates/notifications/create.html:82
|
||||
#: notifications/templates/notifications/notification_settings.html:104
|
||||
#: notifications/templates/notifications/notification_settings.html:200
|
||||
#: notifications/templates/notifications/team_form.html:39
|
||||
msgid "Annuler"
|
||||
msgstr "Cancel"
|
||||
|
||||
#: notifications/templates/notifications/_new_discussion_modal.html:55
|
||||
#: notifications/templates/notifications/_new_discussion_modal.html:83
|
||||
#: notifications/templates/notifications/create.html:85
|
||||
#: notifications/templates/notifications/discussion_detail.html:194
|
||||
#: notifications/templates/notifications/discussion_detail.html:268
|
||||
msgid "Envoyer"
|
||||
msgstr "Send"
|
||||
|
||||
|
|
@ -580,55 +718,68 @@ msgstr "Create notification"
|
|||
msgid "Ctrl+clic pour sélectionner plusieurs"
|
||||
msgstr "Ctrl+click to select multiple"
|
||||
|
||||
#: notifications/templates/notifications/discussion_detail.html:85
|
||||
#: notifications/templates/notifications/discussion_detail.html:86
|
||||
msgid "Retour aux discussions"
|
||||
msgstr "Back to discussions"
|
||||
|
||||
#: notifications/templates/notifications/discussion_detail.html:120
|
||||
#: notifications/templates/notifications/discussion_detail.html:123
|
||||
#: notifications/templates/notifications/discussion_detail.html:504
|
||||
#: notifications/templates/notifications/inbox.html:366
|
||||
msgid "Statut"
|
||||
msgstr ""
|
||||
|
||||
#: notifications/templates/notifications/discussion_detail.html:128
|
||||
msgid "Statut de suivi"
|
||||
msgstr ""
|
||||
|
||||
#: notifications/templates/notifications/discussion_detail.html:179
|
||||
msgid "Aucun message pour l'instant. Soyez le premier à écrire."
|
||||
msgstr "No messages yet. Be the first to write."
|
||||
|
||||
#: notifications/templates/notifications/discussion_detail.html:184
|
||||
#: notifications/templates/notifications/discussion_detail.html:254
|
||||
msgid "Écrire un message... (@ pour mentionner)"
|
||||
msgstr "Write a message... (@ to mention)"
|
||||
|
||||
#: notifications/templates/notifications/discussion_detail.html:187
|
||||
#: notifications/templates/notifications/discussion_detail.html:261
|
||||
msgid "Joindre"
|
||||
msgstr "Attach"
|
||||
|
||||
#: notifications/templates/notifications/discussion_detail.html:202
|
||||
#: notifications/templates/notifications/discussion_detail.html:276
|
||||
msgid "Cette discussion est clôturée."
|
||||
msgstr "This discussion is closed."
|
||||
|
||||
#: notifications/templates/notifications/discussion_detail.html:458
|
||||
msgid "Le message ne peut pas être vide."
|
||||
msgstr "The message cannot be empty."
|
||||
|
||||
#: notifications/templates/notifications/discussion_list.html:79
|
||||
#: notifications/templates/notifications/discussion_list.html:80
|
||||
#: notifications/templates/notifications/inbox.html:170
|
||||
#: notifications/templates/notifications/inbox.html:171
|
||||
#: notifications/templates/notifications/inbox_mobile.html:115
|
||||
#: notifications/templates/notifications/notification_settings.html:4
|
||||
msgid "Paramètres"
|
||||
msgstr "Settings"
|
||||
|
||||
#: notifications/templates/notifications/discussion_list.html:89
|
||||
#: notifications/templates/notifications/inbox.html:366
|
||||
#: notifications/templates/notifications/inbox_mobile.html:301
|
||||
#: notifications/templates/notifications/inbox.html:394
|
||||
#: notifications/templates/notifications/inbox_mobile.html:317
|
||||
msgid "Vous n'avez encore aucune discussion."
|
||||
msgstr "You don't have any discussions yet."
|
||||
|
||||
#: notifications/templates/notifications/discussion_list.html:137
|
||||
#: notifications/templates/notifications/inbox.html:414
|
||||
#: notifications/templates/notifications/inbox_mobile.html:350
|
||||
#: notifications/templates/notifications/discussion_list.html:148
|
||||
#: notifications/templates/notifications/inbox.html:453
|
||||
#: notifications/templates/notifications/inbox_mobile.html:376
|
||||
msgid "Aucun message encore."
|
||||
msgstr "No messages yet."
|
||||
|
||||
#: notifications/templates/notifications/discussion_list.html:160
|
||||
#: notifications/templates/notifications/inbox.html:437
|
||||
#: notifications/templates/notifications/discussion_list.html:171
|
||||
#: notifications/templates/notifications/inbox.html:476
|
||||
msgid "participants au total"
|
||||
msgstr "participants in total"
|
||||
|
||||
#: notifications/templates/notifications/discussion_list.html:170
|
||||
#: notifications/templates/notifications/inbox.html:447
|
||||
#: notifications/templates/notifications/inbox_mobile.html:372
|
||||
#: notifications/templates/notifications/discussion_list.html:181
|
||||
#: notifications/templates/notifications/inbox.html:486
|
||||
#: notifications/templates/notifications/inbox_mobile.html:398
|
||||
msgid "non lu(s)"
|
||||
msgstr "unread"
|
||||
|
||||
|
|
@ -652,6 +803,7 @@ msgid "Archivées"
|
|||
msgstr "Archived"
|
||||
|
||||
#: notifications/templates/notifications/inbox.html:210
|
||||
#: notifications/templates/notifications/inbox.html:383
|
||||
#: notifications/templates/notifications/inbox_mobile.html:194
|
||||
msgid "Réinitialiser"
|
||||
msgstr "Reset"
|
||||
|
|
@ -686,6 +838,11 @@ msgstr "No archived notifications."
|
|||
msgid "Vous n'avez aucune notification."
|
||||
msgstr "You have no notifications."
|
||||
|
||||
#: notifications/templates/notifications/inbox.html:368
|
||||
#: notifications/templates/notifications/inbox_mobile.html:300
|
||||
msgid "Tous"
|
||||
msgstr ""
|
||||
|
||||
#: notifications/templates/notifications/inbox_mobile.html:119
|
||||
msgid "Accueil"
|
||||
msgstr "Home"
|
||||
|
|
@ -698,40 +855,112 @@ msgstr "Take"
|
|||
msgid "Lu"
|
||||
msgstr "Read"
|
||||
|
||||
#: notifications/templates/notifications/notification_settings.html:4
|
||||
#: notifications/templates/notifications/notification_settings.html:17
|
||||
msgid "Paramètres des notifications"
|
||||
msgstr "Notification settings"
|
||||
|
||||
#: notifications/templates/notifications/notification_settings.html:12
|
||||
#: notifications/templates/notifications/team_list.html:18
|
||||
msgid "Retour aux notifications"
|
||||
msgstr "Back to notifications"
|
||||
|
||||
#: notifications/templates/notifications/notification_settings.html:17
|
||||
msgid "Paramètres des notifications"
|
||||
msgstr "Notification settings"
|
||||
|
||||
#: notifications/templates/notifications/notification_settings.html:19
|
||||
msgid ""
|
||||
"Gérez vos préférences de rappel par e-mail pour les notifications non lues."
|
||||
msgstr "Manage your email reminder preferences for unread notifications."
|
||||
"Gérez vos alertes instantanées sur cet appareil et vos rappels par e-mail."
|
||||
msgstr ""
|
||||
|
||||
#: notifications/templates/notifications/notification_settings.html:28
|
||||
msgid "Notifications sur cet appareil (Alertes système / Push)"
|
||||
msgstr ""
|
||||
|
||||
#: notifications/templates/notifications/notification_settings.html:31
|
||||
msgid "Vérification..."
|
||||
msgstr "Verifying..."
|
||||
|
||||
#: notifications/templates/notifications/notification_settings.html:36
|
||||
msgid ""
|
||||
"Recevez des alertes instantanées sur votre écran (ordinateur ou smartphone) "
|
||||
"dès qu'une tâche, intervention ou mention vous concerne, même si le site est"
|
||||
" en arrière-plan."
|
||||
msgstr ""
|
||||
|
||||
#: notifications/templates/notifications/notification_settings.html:42
|
||||
msgid ""
|
||||
"Votre navigateur ou appareil actuel ne prend pas en charge les notifications"
|
||||
" Web Push. (Sur iPhone/iPad, installez l'application via le menu Partager > "
|
||||
"'Sur l'écran d'accueil')."
|
||||
msgstr ""
|
||||
|
||||
#: notifications/templates/notifications/notification_settings.html:48
|
||||
msgid ""
|
||||
"Les notifications sont bloquées dans les paramètres de votre navigateur pour"
|
||||
" ce site. Veuillez modifier vos permissions de site pour les autoriser."
|
||||
msgstr ""
|
||||
|
||||
#: notifications/templates/notifications/notification_settings.html:55
|
||||
msgid "Activer les notifications sur cet appareil"
|
||||
msgstr ""
|
||||
|
||||
#: notifications/templates/notifications/notification_settings.html:58
|
||||
msgid "Cliquez pour autoriser et enregistrer cet appareil."
|
||||
msgstr ""
|
||||
|
||||
#: notifications/templates/notifications/notification_settings.html:64
|
||||
msgid "Activer sur cet appareil"
|
||||
msgstr "Enable on this device"
|
||||
|
||||
#: notifications/templates/notifications/notification_settings.html:66
|
||||
msgid "Envoyer une notification test"
|
||||
msgstr "Send test notification"
|
||||
|
||||
#: notifications/templates/notifications/notification_settings.html:68
|
||||
msgid "Tester"
|
||||
msgstr ""
|
||||
|
||||
#: notifications/templates/notifications/notification_settings.html:76
|
||||
msgid "Appareils enregistrés pour votre compte"
|
||||
msgstr ""
|
||||
|
||||
#: notifications/templates/notifications/notification_settings.html:93
|
||||
#: notifications/views.py:986
|
||||
msgid "Appareil"
|
||||
msgstr ""
|
||||
|
||||
#: notifications/templates/notifications/notification_settings.html:103
|
||||
msgid "Retirer cet appareil"
|
||||
msgstr ""
|
||||
|
||||
#: notifications/templates/notifications/notification_settings.html:103
|
||||
msgid "Voulez-vous retirer cet appareil des notifications push ?"
|
||||
msgstr ""
|
||||
|
||||
#: notifications/templates/notifications/notification_settings.html:112
|
||||
msgid ""
|
||||
"Aucun appareil n'est actuellement enregistré pour recevoir des notifications"
|
||||
" push."
|
||||
msgstr ""
|
||||
|
||||
#: notifications/templates/notifications/notification_settings.html:124
|
||||
msgid "Rappels par e-mail"
|
||||
msgstr "Email reminders"
|
||||
|
||||
#: notifications/templates/notifications/notification_settings.html:41
|
||||
#: notifications/templates/notifications/notification_settings.html:137
|
||||
msgid "Langue préférée pour les e-mails et notifications"
|
||||
msgstr "Preferred language for emails and notifications"
|
||||
|
||||
#: notifications/templates/notifications/notification_settings.html:50
|
||||
#: notifications/templates/notifications/notification_settings.html:146
|
||||
msgid ""
|
||||
"Les e-mails de rappel et les notifications automatiques vous seront envoyés "
|
||||
"dans cette langue."
|
||||
msgstr ""
|
||||
"Reminder emails and automatic notifications will be sent in this language."
|
||||
|
||||
#: notifications/templates/notifications/notification_settings.html:58
|
||||
#: notifications/templates/notifications/notification_settings.html:154
|
||||
msgid "Activer les rappels par e-mail"
|
||||
msgstr "Enable email reminders"
|
||||
|
||||
#: notifications/templates/notifications/notification_settings.html:61
|
||||
#: notifications/templates/notifications/notification_settings.html:157
|
||||
msgid ""
|
||||
"Recevoir un récapitulatif par e-mail si des notifications restent non lues "
|
||||
"au-delà du délai spécifié."
|
||||
|
|
@ -739,27 +968,27 @@ msgstr ""
|
|||
"Receive an email summary if notifications remain unread past the specified "
|
||||
"delay."
|
||||
|
||||
#: notifications/templates/notifications/notification_settings.html:72
|
||||
#: notifications/templates/notifications/notification_settings.html:168
|
||||
msgid "Adresse(s) e-mail de réception"
|
||||
msgstr "Recipient email address(es)"
|
||||
|
||||
#: notifications/templates/notifications/notification_settings.html:80
|
||||
#: notifications/templates/notifications/notification_settings.html:176
|
||||
msgid "Laissez vide pour utiliser l'e-mail principal de votre compte"
|
||||
msgstr "Leave blank to use your account's primary email"
|
||||
|
||||
#: notifications/templates/notifications/notification_settings.html:81
|
||||
#: notifications/templates/notifications/notification_settings.html:177
|
||||
msgid "Pour plusieurs destinataires, séparez les adresses par des virgules."
|
||||
msgstr "For multiple recipients, separate addresses with commas."
|
||||
|
||||
#: notifications/templates/notifications/notification_settings.html:88
|
||||
#: notifications/templates/notifications/notification_settings.html:184
|
||||
msgid "Délai avant l'envoi du rappel (en heures)"
|
||||
msgstr "Delay before sending reminder (in hours)"
|
||||
|
||||
#: notifications/templates/notifications/notification_settings.html:92
|
||||
#: notifications/templates/notifications/notification_settings.html:188
|
||||
msgid "heures"
|
||||
msgstr "hours"
|
||||
|
||||
#: notifications/templates/notifications/notification_settings.html:98
|
||||
#: notifications/templates/notifications/notification_settings.html:194
|
||||
msgid ""
|
||||
"Exemple: 24h = un rappel sera envoyé si une notification n'a pas été lue au "
|
||||
"bout de 24 heures."
|
||||
|
|
@ -767,7 +996,7 @@ msgstr ""
|
|||
"Example: 24h = a reminder will be sent if a notification is unread after 24 "
|
||||
"hours."
|
||||
|
||||
#: notifications/templates/notifications/notification_settings.html:107
|
||||
#: notifications/templates/notifications/notification_settings.html:203
|
||||
msgid "Enregistrer mes préférences"
|
||||
msgstr "Save my preferences"
|
||||
|
||||
|
|
@ -788,7 +1017,7 @@ msgid "Nouvelle équipe"
|
|||
msgstr "New team"
|
||||
|
||||
#: notifications/templates/notifications/team_list.html:46
|
||||
#: notifications/views.py:498
|
||||
#: notifications/views.py:533
|
||||
msgid "Modifier"
|
||||
msgstr "Edit"
|
||||
|
||||
|
|
@ -820,63 +1049,124 @@ msgstr "No teams defined."
|
|||
msgid "Créer une équipe"
|
||||
msgstr "Create team"
|
||||
|
||||
#: notifications/views.py:390
|
||||
#: notifications/tests.py:319
|
||||
msgid "Alerte Intervention"
|
||||
msgstr "Intervention Alert"
|
||||
|
||||
#: notifications/tests.py:320
|
||||
msgid "Nouvelle intervention assignée"
|
||||
msgstr "New intervention assigned"
|
||||
|
||||
#: notifications/views.py:425
|
||||
msgid "Vous n'avez pas les droits pour créer une notification."
|
||||
msgstr "You do not have permission to create a notification."
|
||||
|
||||
#: notifications/views.py:423
|
||||
#: notifications/views.py:458
|
||||
msgid "Notification envoyée avec succès."
|
||||
msgstr "Notification sent successfully."
|
||||
|
||||
#: notifications/views.py:460
|
||||
#: notifications/views.py:495
|
||||
msgid "Vous n'avez pas les droits pour créer une équipe."
|
||||
msgstr "You do not have permission to create a team."
|
||||
|
||||
#: notifications/views.py:470
|
||||
#: notifications/views.py:505
|
||||
msgid "Équipe créée avec succès."
|
||||
msgstr "Team created successfully."
|
||||
|
||||
#: notifications/views.py:475
|
||||
#: notifications/views.py:510
|
||||
msgid "Créer"
|
||||
msgstr "Create"
|
||||
|
||||
#: notifications/views.py:486
|
||||
#: notifications/views.py:521
|
||||
msgid "Vous n'avez pas les droits pour modifier une équipe."
|
||||
msgstr "You do not have permission to edit a team."
|
||||
|
||||
#: notifications/views.py:493
|
||||
#: notifications/views.py:528
|
||||
msgid "Équipe mise à jour."
|
||||
msgstr "Team updated."
|
||||
|
||||
#: notifications/views.py:508
|
||||
#: notifications/views.py:543
|
||||
msgid "Vous n'avez pas les droits pour supprimer une équipe."
|
||||
msgstr "You do not have permission to delete a team."
|
||||
|
||||
#: notifications/views.py:511
|
||||
#: notifications/views.py:546
|
||||
msgid "Équipe supprimée."
|
||||
msgstr "Team deleted."
|
||||
|
||||
#: notifications/views.py:561
|
||||
#: notifications/views.py:604
|
||||
msgid "Vous n'êtes pas participant de cette discussion."
|
||||
msgstr "You are not a participant in this discussion."
|
||||
|
||||
#: notifications/views.py:574
|
||||
#: notifications/views.py:620
|
||||
msgid "Message envoyé."
|
||||
msgstr "Message sent."
|
||||
|
||||
#: notifications/views.py:602
|
||||
#: notifications/views.py:648
|
||||
msgid "Vous n'avez pas accès à cette discussion."
|
||||
msgstr "You do not have access to this discussion."
|
||||
|
||||
#: notifications/views.py:699
|
||||
msgid "Statut de la discussion mis à jour."
|
||||
msgstr "Discussion status updated."
|
||||
|
||||
#: notifications/views.py:722
|
||||
#, python-format
|
||||
msgid "Discussion de %(name)s"
|
||||
msgstr "Discussion from %(name)s"
|
||||
|
||||
#: notifications/views.py:613
|
||||
#: notifications/views.py:736
|
||||
msgid "Discussion créée avec succès."
|
||||
msgstr "Discussion created successfully."
|
||||
|
||||
#: notifications/views.py:616
|
||||
#: notifications/views.py:739
|
||||
msgid "Le contenu du message ne peut pas être vide."
|
||||
msgstr "Message content cannot be empty."
|
||||
|
||||
#: notifications/views.py:640
|
||||
#: notifications/views.py:763
|
||||
msgid "Vos préférences de rappel par e-mail ont été enregistrées."
|
||||
msgstr "Your email reminder preferences have been saved."
|
||||
|
||||
#: notifications/views.py:896
|
||||
msgid "Requête invalide"
|
||||
msgstr ""
|
||||
|
||||
#: notifications/views.py:904
|
||||
msgid "Paramètres d'abonnement push incomplets"
|
||||
msgstr ""
|
||||
|
||||
#: notifications/views.py:954
|
||||
msgid "Aucun appareil actif n'est enregistré pour votre compte."
|
||||
msgstr ""
|
||||
|
||||
#: notifications/views.py:959
|
||||
msgid "Test de notification Loko"
|
||||
msgstr "Loko notification test"
|
||||
|
||||
#: notifications/views.py:960
|
||||
msgid ""
|
||||
"Les notifications instantanées sur votre appareil fonctionnent correctement "
|
||||
"!"
|
||||
msgstr ""
|
||||
|
||||
#: notifications/views.py:968
|
||||
#, python-format
|
||||
msgid "Notification de test envoyée avec succès sur %(count)d appareil(s) !"
|
||||
msgstr "Test notification sent successfully to %(count)d device(s)!"
|
||||
|
||||
#: notifications/views.py:972
|
||||
msgid "Impossible de délivrer la notification au service push."
|
||||
msgstr ""
|
||||
|
||||
#: notifications/views.py:974
|
||||
#, python-format
|
||||
msgid "Échec de distribution : %(error)s"
|
||||
msgstr ""
|
||||
|
||||
#: notifications/views.py:988
|
||||
#, python-format
|
||||
msgid "L'appareil « %(name)s » a été retiré."
|
||||
msgstr ""
|
||||
|
||||
#~ msgid ""
|
||||
#~ "Gérez vos préférences de rappel par e-mail pour les notifications non lues."
|
||||
#~ msgstr "Manage your email reminder preferences for unread notifications."
|
||||
|
|
|
|||
Binary file not shown.
|
|
@ -7,7 +7,7 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: PACKAGE VERSION\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2026-08-19 09:47+0200\n"
|
||||
"POT-Creation-Date: 2026-09-12 15:59+0200\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
|
|
@ -23,7 +23,7 @@ msgid "Titre"
|
|||
msgstr "Titre"
|
||||
|
||||
#: notifications/forms.py:40 notifications/models.py:72
|
||||
#: notifications/models.py:455
|
||||
#: notifications/models.py:529
|
||||
msgid "Contenu"
|
||||
msgstr "Contenu"
|
||||
|
||||
|
|
@ -45,7 +45,7 @@ msgid "Expire le"
|
|||
msgstr "Expire le"
|
||||
|
||||
#: notifications/forms.py:68 notifications/models.py:284
|
||||
#: notifications/templates/notifications/_new_discussion_modal.html:41
|
||||
#: notifications/templates/notifications/_new_discussion_modal.html:69
|
||||
msgid "Pièces jointes"
|
||||
msgstr "Pièces jointes"
|
||||
|
||||
|
|
@ -57,7 +57,7 @@ msgstr "Photos ou documents (plusieurs fichiers possibles)."
|
|||
msgid "Destinataires individuels"
|
||||
msgstr "Destinataires individuels"
|
||||
|
||||
#: notifications/forms.py:82 notifications/models.py:553
|
||||
#: notifications/forms.py:82 notifications/models.py:632
|
||||
msgid "Équipes destinataires"
|
||||
msgstr "Équipes destinataires"
|
||||
|
||||
|
|
@ -94,6 +94,7 @@ msgstr ""
|
|||
"%(delay)d heure(s) :"
|
||||
|
||||
#: notifications/management/commands/send_unread_notification_reminders.py:118
|
||||
#: notifications/services.py:479
|
||||
msgid "Système"
|
||||
msgstr "Système"
|
||||
|
||||
|
|
@ -168,8 +169,8 @@ msgstr "Équipe"
|
|||
msgid "Équipes"
|
||||
msgstr "Équipes"
|
||||
|
||||
#: notifications/models.py:49 notifications/models.py:464
|
||||
#: notifications/models.py:593
|
||||
#: notifications/models.py:49 notifications/models.py:543
|
||||
#: notifications/models.py:672
|
||||
msgid "Message"
|
||||
msgstr "Message"
|
||||
|
||||
|
|
@ -221,7 +222,7 @@ msgstr "Notification système"
|
|||
msgid "Générée automatiquement par le système."
|
||||
msgstr "Générée automatiquement par le système."
|
||||
|
||||
#: notifications/models.py:114 notifications/models.py:566
|
||||
#: notifications/models.py:114 notifications/models.py:645
|
||||
msgid "Prise en charge unique"
|
||||
msgstr "Prise en charge unique"
|
||||
|
||||
|
|
@ -283,11 +284,11 @@ msgstr "Notification d'équipe"
|
|||
msgid "Notifications d'équipe"
|
||||
msgstr "Notifications d'équipe"
|
||||
|
||||
#: notifications/models.py:250 notifications/models.py:597
|
||||
#: notifications/models.py:250 notifications/models.py:676
|
||||
msgid "Fichier"
|
||||
msgstr "Fichier"
|
||||
|
||||
#: notifications/models.py:255 notifications/models.py:599
|
||||
#: notifications/models.py:255 notifications/models.py:678
|
||||
msgid "Nom du fichier"
|
||||
msgstr "Nom du fichier"
|
||||
|
||||
|
|
@ -295,7 +296,7 @@ msgstr "Nom du fichier"
|
|||
msgid "Ajouté par"
|
||||
msgstr "Ajouté par"
|
||||
|
||||
#: notifications/models.py:265 notifications/models.py:600
|
||||
#: notifications/models.py:265 notifications/models.py:679
|
||||
msgid "Ajouté le"
|
||||
msgstr "Ajouté le"
|
||||
|
||||
|
|
@ -303,7 +304,7 @@ msgstr "Ajouté le"
|
|||
msgid "Pièce jointe"
|
||||
msgstr "Pièce jointe"
|
||||
|
||||
#: notifications/models.py:301
|
||||
#: notifications/models.py:301 notifications/models.py:713
|
||||
msgid "Utilisateur"
|
||||
msgstr "Utilisateur"
|
||||
|
||||
|
|
@ -315,22 +316,22 @@ msgstr "Lecture de notification d'équipe"
|
|||
msgid "Lectures de notifications d'équipe"
|
||||
msgstr "Lectures de notifications d'équipe"
|
||||
|
||||
#: notifications/models.py:331
|
||||
#: notifications/models.py:331 notifications/models.py:751
|
||||
msgid "Mis à jour le"
|
||||
msgstr "Mis à jour le"
|
||||
|
||||
#: notifications/models.py:336
|
||||
#: notifications/templates/notifications/discussion_detail.html:105
|
||||
#: notifications/templates/notifications/discussion_list.html:144
|
||||
#: notifications/templates/notifications/inbox.html:421
|
||||
#: notifications/templates/notifications/discussion_detail.html:164
|
||||
#: notifications/templates/notifications/discussion_list.html:155
|
||||
#: notifications/templates/notifications/inbox.html:460
|
||||
msgid "Participants"
|
||||
msgstr "Participants"
|
||||
|
||||
#: notifications/models.py:338
|
||||
#: notifications/templates/notifications/discussion_detail.html:97
|
||||
#: notifications/templates/notifications/discussion_list.html:120
|
||||
#: notifications/templates/notifications/inbox.html:397
|
||||
#: notifications/templates/notifications/inbox_mobile.html:338
|
||||
#: notifications/templates/notifications/discussion_detail.html:98
|
||||
#: notifications/templates/notifications/discussion_list.html:127
|
||||
#: notifications/templates/notifications/inbox.html:432
|
||||
#: notifications/templates/notifications/inbox_mobile.html:360
|
||||
msgid "Clôturée"
|
||||
msgstr "Clôturée"
|
||||
|
||||
|
|
@ -342,106 +343,163 @@ msgstr "Type d'objet lié"
|
|||
msgid "ID objet lié"
|
||||
msgstr "ID objet lié"
|
||||
|
||||
#: notifications/models.py:355
|
||||
#: notifications/models.py:360
|
||||
msgid "Aucun"
|
||||
msgstr ""
|
||||
|
||||
#: notifications/models.py:361 notifications/models.py:368
|
||||
#: notifications/templates/notifications/_new_discussion_modal.html:34
|
||||
#: notifications/templates/notifications/discussion_detail.html:132
|
||||
msgid "Important / À traiter"
|
||||
msgstr ""
|
||||
|
||||
#: notifications/models.py:362 notifications/models.py:377
|
||||
#: notifications/models.py:378
|
||||
#: notifications/templates/notifications/_new_discussion_modal.html:39
|
||||
#: notifications/templates/notifications/discussion_detail.html:139
|
||||
#: notifications/templates/notifications/inbox.html:374
|
||||
#: notifications/templates/notifications/inbox_mobile.html:306
|
||||
msgid "En cours"
|
||||
msgstr ""
|
||||
|
||||
#: notifications/models.py:363 notifications/models.py:386
|
||||
#: notifications/templates/notifications/_new_discussion_modal.html:44
|
||||
#: notifications/templates/notifications/discussion_detail.html:146
|
||||
msgid "Traité / Fait"
|
||||
msgstr ""
|
||||
|
||||
#: notifications/models.py:369
|
||||
#: notifications/templates/notifications/inbox.html:371
|
||||
#: notifications/templates/notifications/inbox_mobile.html:303
|
||||
msgid "Important"
|
||||
msgstr ""
|
||||
|
||||
#: notifications/models.py:387
|
||||
#: notifications/templates/notifications/inbox.html:377
|
||||
#: notifications/templates/notifications/inbox_mobile.html:309
|
||||
msgid "Traité"
|
||||
msgstr ""
|
||||
|
||||
#: notifications/models.py:401
|
||||
msgid "Flag"
|
||||
msgstr ""
|
||||
|
||||
#: notifications/models.py:409
|
||||
msgid "Flag défini par"
|
||||
msgstr ""
|
||||
|
||||
#: notifications/models.py:414
|
||||
msgid "Flag défini le"
|
||||
msgstr ""
|
||||
|
||||
#: notifications/models.py:419
|
||||
msgid "URL objet lié"
|
||||
msgstr "URL objet lié"
|
||||
|
||||
#: notifications/models.py:358
|
||||
#: notifications/models.py:422
|
||||
msgid "Libellé objet lié"
|
||||
msgstr "Libellé objet lié"
|
||||
|
||||
#: notifications/models.py:392
|
||||
#: notifications/models.py:466
|
||||
msgid "Intervention"
|
||||
msgstr "Intervention"
|
||||
|
||||
#: notifications/models.py:400
|
||||
#: notifications/models.py:474
|
||||
msgid "Observation"
|
||||
msgstr "Observation"
|
||||
|
||||
#: notifications/models.py:408
|
||||
#: notifications/models.py:482
|
||||
msgid "Ordre de préparation"
|
||||
msgstr "Ordre de préparation"
|
||||
|
||||
#: notifications/models.py:416
|
||||
#: notifications/models.py:490
|
||||
msgid "Projet"
|
||||
msgstr "Projet"
|
||||
|
||||
#: notifications/models.py:424
|
||||
#: notifications/models.py:498
|
||||
msgid "Générale"
|
||||
msgstr "Générale"
|
||||
|
||||
#: notifications/models.py:429 notifications/models.py:445
|
||||
#: notifications/models.py:503 notifications/models.py:519
|
||||
msgid "Discussion"
|
||||
msgstr "Discussion"
|
||||
|
||||
#: notifications/models.py:430
|
||||
#: notifications/models.py:504
|
||||
#: notifications/templates/notifications/discussion_list.html:70
|
||||
#: notifications/templates/notifications/inbox.html:133
|
||||
#: notifications/templates/notifications/inbox_mobile.html:152
|
||||
msgid "Discussions"
|
||||
msgstr "Discussions"
|
||||
|
||||
#: notifications/models.py:453
|
||||
#: notifications/models.py:527
|
||||
msgid "Auteur"
|
||||
msgstr "Auteur"
|
||||
|
||||
#: notifications/models.py:456
|
||||
#: notifications/models.py:530
|
||||
msgid "Envoyé le"
|
||||
msgstr "Envoyé le"
|
||||
|
||||
#: notifications/models.py:457
|
||||
#: notifications/models.py:531
|
||||
msgid "Supprimé"
|
||||
msgstr "Supprimé"
|
||||
|
||||
#: notifications/models.py:465
|
||||
#: notifications/models.py:534
|
||||
msgid "Message système"
|
||||
msgstr "Message système"
|
||||
|
||||
#: notifications/models.py:535
|
||||
msgid "Indique si le message a été généré automatiquement par le système."
|
||||
msgstr "Indique si le message a été généré automatiquement par le système."
|
||||
|
||||
#: notifications/models.py:544
|
||||
msgid "Messages"
|
||||
msgstr "Messages"
|
||||
|
||||
#: notifications/models.py:490
|
||||
#: notifications/models.py:569
|
||||
msgid "Intervention annulée"
|
||||
msgstr "Intervention annulée"
|
||||
|
||||
#: notifications/models.py:495
|
||||
#: notifications/models.py:574
|
||||
msgid "Tous (pas de filtre)"
|
||||
msgstr "Tous (pas de filtre)"
|
||||
|
||||
#: notifications/models.py:496
|
||||
#: notifications/models.py:575
|
||||
msgid "Doublon"
|
||||
msgstr "Doublon"
|
||||
|
||||
#: notifications/models.py:497
|
||||
#: notifications/models.py:576
|
||||
msgid "A rediriger"
|
||||
msgstr "A rediriger"
|
||||
|
||||
#: notifications/models.py:498
|
||||
#: notifications/models.py:577
|
||||
msgid "Pas sous notre gestion"
|
||||
msgstr "Pas sous notre gestion"
|
||||
|
||||
#: notifications/models.py:499
|
||||
#: notifications/models.py:578
|
||||
msgid "Non-relevant"
|
||||
msgstr "Non-relevant"
|
||||
|
||||
#: notifications/models.py:500
|
||||
#: notifications/models.py:579
|
||||
msgid "Autre"
|
||||
msgstr "Autre"
|
||||
|
||||
#: notifications/models.py:504
|
||||
#: notifications/models.py:583
|
||||
msgid "Nom de la règle"
|
||||
msgstr "Nom de la règle"
|
||||
|
||||
#: notifications/models.py:505
|
||||
#: notifications/models.py:584
|
||||
msgid "Active"
|
||||
msgstr "Active"
|
||||
|
||||
#: notifications/models.py:511
|
||||
#: notifications/models.py:590
|
||||
msgid "Événement déclencheur"
|
||||
msgstr "Événement déclencheur"
|
||||
|
||||
#: notifications/models.py:517
|
||||
#: notifications/models.py:596
|
||||
msgid "Filtre : type d'annulation"
|
||||
msgstr "Filtre : type d'annulation"
|
||||
|
||||
#: notifications/models.py:519
|
||||
#: notifications/models.py:598
|
||||
msgid ""
|
||||
"Laisser vide pour déclencher sur tout type d'annulation. Sélectionner une "
|
||||
"valeur pour n'agir que sur ce type précis."
|
||||
|
|
@ -449,15 +507,15 @@ msgstr ""
|
|||
"Laisser vide pour déclencher sur tout type d'annulation. Sélectionner une "
|
||||
"valeur pour n'agir que sur ce type précis."
|
||||
|
||||
#: notifications/models.py:529
|
||||
#: notifications/models.py:608
|
||||
msgid "Type de notification"
|
||||
msgstr "Type de notification"
|
||||
|
||||
#: notifications/models.py:533
|
||||
#: notifications/models.py:612
|
||||
msgid "Modèle de titre"
|
||||
msgstr "Modèle de titre"
|
||||
|
||||
#: notifications/models.py:535
|
||||
#: notifications/models.py:614
|
||||
#, python-brace-format
|
||||
msgid ""
|
||||
"Variables disponibles : {intervention_code}, {intervention_title}, "
|
||||
|
|
@ -466,11 +524,11 @@ msgstr ""
|
|||
"Variables disponibles : {intervention_code}, {intervention_title}, "
|
||||
"{cancellation_type_label}"
|
||||
|
||||
#: notifications/models.py:541
|
||||
#: notifications/models.py:620
|
||||
msgid "Modèle de contenu"
|
||||
msgstr "Modèle de contenu"
|
||||
|
||||
#: notifications/models.py:543
|
||||
#: notifications/models.py:622
|
||||
#, python-brace-format
|
||||
msgid ""
|
||||
"Variables disponibles : {intervention_code}, {intervention_title}, "
|
||||
|
|
@ -479,7 +537,7 @@ msgstr ""
|
|||
"Variables disponibles : {intervention_code}, {intervention_title}, "
|
||||
"{cancellation_type_label}, {cancellation_reason}"
|
||||
|
||||
#: notifications/models.py:554
|
||||
#: notifications/models.py:633
|
||||
msgid ""
|
||||
"Les notifications seront envoyées à tous les membres (CompanyMember) de ces "
|
||||
"équipes."
|
||||
|
|
@ -487,44 +545,113 @@ msgstr ""
|
|||
"Les notifications seront envoyées à tous les membres (CompanyMember) de ces "
|
||||
"équipes."
|
||||
|
||||
#: notifications/models.py:560
|
||||
#: notifications/models.py:639
|
||||
msgid "Utilisateurs destinataires supplémentaires"
|
||||
msgstr "Utilisateurs destinataires supplémentaires"
|
||||
|
||||
#: notifications/models.py:568
|
||||
#: notifications/models.py:647
|
||||
msgid ""
|
||||
"Si activé, dès qu'un destinataire marque la notification comme lue (prise en "
|
||||
"charge), elle est automatiquement archivée pour tous les autres "
|
||||
"Si activé, dès qu'un destinataire marque la notification comme lue (prise en"
|
||||
" charge), elle est automatiquement archivée pour tous les autres "
|
||||
"destinataires."
|
||||
msgstr ""
|
||||
"Si activé, dès qu'un destinataire marque la notification comme lue (prise en "
|
||||
"charge), elle est automatiquement archivée pour tous les autres "
|
||||
"Si activé, dès qu'un destinataire marque la notification comme lue (prise en"
|
||||
" charge), elle est automatiquement archivée pour tous les autres "
|
||||
"destinataires."
|
||||
|
||||
#: notifications/models.py:574
|
||||
#: notifications/models.py:653
|
||||
msgid "Créée le"
|
||||
msgstr "Créée le"
|
||||
|
||||
#: notifications/models.py:575
|
||||
#: notifications/models.py:654
|
||||
msgid "Mise à jour le"
|
||||
msgstr "Mise à jour le"
|
||||
|
||||
#: notifications/models.py:581
|
||||
#: notifications/models.py:660
|
||||
msgid "Règle de notification"
|
||||
msgstr "Règle de notification"
|
||||
|
||||
#: notifications/models.py:582
|
||||
#: notifications/models.py:661
|
||||
msgid "Règles de notification"
|
||||
msgstr "Règles de notification"
|
||||
|
||||
#: notifications/models.py:618
|
||||
#: notifications/models.py:697
|
||||
msgid "Pièce jointe de message"
|
||||
msgstr "Pièce jointe de message"
|
||||
|
||||
#: notifications/models.py:619
|
||||
#: notifications/models.py:698
|
||||
msgid "Pièces jointes de messages"
|
||||
msgstr "Pièces jointes de messages"
|
||||
|
||||
#: notifications/models.py:717
|
||||
msgid "Endpoint Push"
|
||||
msgstr ""
|
||||
|
||||
#: notifications/models.py:718
|
||||
msgid "URL unique de réception push fournie par le navigateur."
|
||||
msgstr ""
|
||||
|
||||
#: notifications/models.py:722
|
||||
msgid "Clé p256dh"
|
||||
msgstr ""
|
||||
|
||||
#: notifications/models.py:723
|
||||
msgid "Clé publique du client."
|
||||
msgstr ""
|
||||
|
||||
#: notifications/models.py:727
|
||||
msgid "Secret auth"
|
||||
msgstr ""
|
||||
|
||||
#: notifications/models.py:728
|
||||
msgid "Secret d'authentification pour le chiffrement."
|
||||
msgstr ""
|
||||
|
||||
#: notifications/models.py:733
|
||||
msgid "User Agent"
|
||||
msgstr ""
|
||||
|
||||
#: notifications/models.py:738
|
||||
msgid "Navigateur"
|
||||
msgstr ""
|
||||
|
||||
#: notifications/models.py:743
|
||||
msgid "Système d'exploitation"
|
||||
msgstr ""
|
||||
|
||||
#: notifications/models.py:748
|
||||
msgid "Nom de l'appareil"
|
||||
msgstr "Nom de l'appareil"
|
||||
|
||||
#: notifications/models.py:750
|
||||
#: notifications/templates/notifications/notification_settings.html:96
|
||||
msgid "Enregistré le"
|
||||
msgstr "Enregistré le"
|
||||
|
||||
#: notifications/models.py:754
|
||||
msgid "Appareil inconnu"
|
||||
msgstr ""
|
||||
|
||||
#: notifications/models.py:758
|
||||
msgid "Abonnement Web Push"
|
||||
msgstr ""
|
||||
|
||||
#: notifications/models.py:759
|
||||
msgid "Abonnements Web Push"
|
||||
msgstr ""
|
||||
|
||||
#: notifications/services.py:498
|
||||
#, python-brace-format
|
||||
msgid "{icon} {user} a défini le statut : {label}"
|
||||
msgstr ""
|
||||
|
||||
#: notifications/services.py:504
|
||||
#, python-brace-format
|
||||
msgid ""
|
||||
"<i class=\"bi bi-flag text-muted me-1\"></i> {user} a retiré le drapeau de "
|
||||
"suivi."
|
||||
msgstr ""
|
||||
|
||||
#: notifications/templates/notifications/_new_discussion_modal.html:8
|
||||
#: notifications/templates/notifications/discussion_list.html:74
|
||||
#: notifications/templates/notifications/inbox.html:165
|
||||
|
|
@ -536,40 +663,50 @@ msgstr "Nouvelle discussion"
|
|||
msgid "Fermer"
|
||||
msgstr "Fermer"
|
||||
|
||||
#: notifications/templates/notifications/_new_discussion_modal.html:17
|
||||
#: notifications/templates/notifications/_new_discussion_modal.html:18
|
||||
msgid "Sujet / Titre (optionnel)"
|
||||
msgstr "Sujet / Titre (optionnel)"
|
||||
|
||||
#: notifications/templates/notifications/_new_discussion_modal.html:20
|
||||
#: notifications/templates/notifications/_new_discussion_modal.html:21
|
||||
msgid "Ex: Question sur le dossier..."
|
||||
msgstr "Ex: Question sur le dossier..."
|
||||
|
||||
#: notifications/templates/notifications/_new_discussion_modal.html:25
|
||||
#: notifications/templates/notifications/_new_discussion_modal.html:27
|
||||
msgid "Statut initial"
|
||||
msgstr ""
|
||||
|
||||
#: notifications/templates/notifications/_new_discussion_modal.html:29
|
||||
#: notifications/templates/notifications/discussion_detail.html:154
|
||||
msgid "Aucun drapeau"
|
||||
msgstr "Aucun drapeau"
|
||||
|
||||
#: notifications/templates/notifications/_new_discussion_modal.html:53
|
||||
msgid "Message *"
|
||||
msgstr "Message *"
|
||||
|
||||
#: notifications/templates/notifications/_new_discussion_modal.html:28
|
||||
#: notifications/templates/notifications/_new_discussion_modal.html:56
|
||||
msgid "Tapez @ pour mentionner/tagger des utilisateurs ou des équipes."
|
||||
msgstr "Tapez @ pour mentionner/tagger des utilisateurs ou des équipes."
|
||||
|
||||
#: notifications/templates/notifications/_new_discussion_modal.html:32
|
||||
#: notifications/templates/notifications/_new_discussion_modal.html:60
|
||||
msgid "Rédigez votre message... (@ pour tagger quelqu'un)"
|
||||
msgstr "Rédigez votre message... (@ pour tagger quelqu'un)"
|
||||
|
||||
#: notifications/templates/notifications/_new_discussion_modal.html:44
|
||||
#: notifications/templates/notifications/_new_discussion_modal.html:72
|
||||
msgid "Joindre des fichiers"
|
||||
msgstr "Joindre des fichiers"
|
||||
|
||||
#: notifications/templates/notifications/_new_discussion_modal.html:52
|
||||
#: notifications/templates/notifications/_new_discussion_modal.html:80
|
||||
#: notifications/templates/notifications/create.html:82
|
||||
#: notifications/templates/notifications/notification_settings.html:104
|
||||
#: notifications/templates/notifications/notification_settings.html:200
|
||||
#: notifications/templates/notifications/team_form.html:39
|
||||
msgid "Annuler"
|
||||
msgstr "Annuler"
|
||||
|
||||
#: notifications/templates/notifications/_new_discussion_modal.html:55
|
||||
#: notifications/templates/notifications/_new_discussion_modal.html:83
|
||||
#: notifications/templates/notifications/create.html:85
|
||||
#: notifications/templates/notifications/discussion_detail.html:194
|
||||
#: notifications/templates/notifications/discussion_detail.html:268
|
||||
msgid "Envoyer"
|
||||
msgstr "Envoyer"
|
||||
|
||||
|
|
@ -582,55 +719,68 @@ msgstr "Créer une notification"
|
|||
msgid "Ctrl+clic pour sélectionner plusieurs"
|
||||
msgstr "Ctrl+clic pour sélectionner plusieurs"
|
||||
|
||||
#: notifications/templates/notifications/discussion_detail.html:85
|
||||
#: notifications/templates/notifications/discussion_detail.html:86
|
||||
msgid "Retour aux discussions"
|
||||
msgstr "Retour aux discussions"
|
||||
|
||||
#: notifications/templates/notifications/discussion_detail.html:120
|
||||
#: notifications/templates/notifications/discussion_detail.html:123
|
||||
#: notifications/templates/notifications/discussion_detail.html:504
|
||||
#: notifications/templates/notifications/inbox.html:366
|
||||
msgid "Statut"
|
||||
msgstr ""
|
||||
|
||||
#: notifications/templates/notifications/discussion_detail.html:128
|
||||
msgid "Statut de suivi"
|
||||
msgstr ""
|
||||
|
||||
#: notifications/templates/notifications/discussion_detail.html:179
|
||||
msgid "Aucun message pour l'instant. Soyez le premier à écrire."
|
||||
msgstr "Aucun message pour l'instant. Soyez le premier à écrire."
|
||||
|
||||
#: notifications/templates/notifications/discussion_detail.html:184
|
||||
#: notifications/templates/notifications/discussion_detail.html:254
|
||||
msgid "Écrire un message... (@ pour mentionner)"
|
||||
msgstr "Écrire un message... (@ pour mentionner)"
|
||||
|
||||
#: notifications/templates/notifications/discussion_detail.html:187
|
||||
#: notifications/templates/notifications/discussion_detail.html:261
|
||||
msgid "Joindre"
|
||||
msgstr "Joindre"
|
||||
|
||||
#: notifications/templates/notifications/discussion_detail.html:202
|
||||
#: notifications/templates/notifications/discussion_detail.html:276
|
||||
msgid "Cette discussion est clôturée."
|
||||
msgstr "Cette discussion est clôturée."
|
||||
|
||||
#: notifications/templates/notifications/discussion_detail.html:458
|
||||
msgid "Le message ne peut pas être vide."
|
||||
msgstr "Le message ne peut pas être vide."
|
||||
|
||||
#: notifications/templates/notifications/discussion_list.html:79
|
||||
#: notifications/templates/notifications/discussion_list.html:80
|
||||
#: notifications/templates/notifications/inbox.html:170
|
||||
#: notifications/templates/notifications/inbox.html:171
|
||||
#: notifications/templates/notifications/inbox_mobile.html:115
|
||||
#: notifications/templates/notifications/notification_settings.html:4
|
||||
msgid "Paramètres"
|
||||
msgstr "Paramètres"
|
||||
|
||||
#: notifications/templates/notifications/discussion_list.html:89
|
||||
#: notifications/templates/notifications/inbox.html:366
|
||||
#: notifications/templates/notifications/inbox_mobile.html:301
|
||||
#: notifications/templates/notifications/inbox.html:394
|
||||
#: notifications/templates/notifications/inbox_mobile.html:317
|
||||
msgid "Vous n'avez encore aucune discussion."
|
||||
msgstr "Vous n'avez encore aucune discussion."
|
||||
|
||||
#: notifications/templates/notifications/discussion_list.html:137
|
||||
#: notifications/templates/notifications/inbox.html:414
|
||||
#: notifications/templates/notifications/inbox_mobile.html:350
|
||||
#: notifications/templates/notifications/discussion_list.html:148
|
||||
#: notifications/templates/notifications/inbox.html:453
|
||||
#: notifications/templates/notifications/inbox_mobile.html:376
|
||||
msgid "Aucun message encore."
|
||||
msgstr "Aucun message encore."
|
||||
|
||||
#: notifications/templates/notifications/discussion_list.html:160
|
||||
#: notifications/templates/notifications/inbox.html:437
|
||||
#: notifications/templates/notifications/discussion_list.html:171
|
||||
#: notifications/templates/notifications/inbox.html:476
|
||||
msgid "participants au total"
|
||||
msgstr "participants au total"
|
||||
|
||||
#: notifications/templates/notifications/discussion_list.html:170
|
||||
#: notifications/templates/notifications/inbox.html:447
|
||||
#: notifications/templates/notifications/inbox_mobile.html:372
|
||||
#: notifications/templates/notifications/discussion_list.html:181
|
||||
#: notifications/templates/notifications/inbox.html:486
|
||||
#: notifications/templates/notifications/inbox_mobile.html:398
|
||||
msgid "non lu(s)"
|
||||
msgstr "non lu(s)"
|
||||
|
||||
|
|
@ -654,6 +804,7 @@ msgid "Archivées"
|
|||
msgstr "Archivées"
|
||||
|
||||
#: notifications/templates/notifications/inbox.html:210
|
||||
#: notifications/templates/notifications/inbox.html:383
|
||||
#: notifications/templates/notifications/inbox_mobile.html:194
|
||||
msgid "Réinitialiser"
|
||||
msgstr "Réinitialiser"
|
||||
|
|
@ -688,6 +839,11 @@ msgstr "Aucune notification archivée."
|
|||
msgid "Vous n'avez aucune notification."
|
||||
msgstr "Vous n'avez aucune notification."
|
||||
|
||||
#: notifications/templates/notifications/inbox.html:368
|
||||
#: notifications/templates/notifications/inbox_mobile.html:300
|
||||
msgid "Tous"
|
||||
msgstr ""
|
||||
|
||||
#: notifications/templates/notifications/inbox_mobile.html:119
|
||||
msgid "Accueil"
|
||||
msgstr "Accueil"
|
||||
|
|
@ -700,30 +856,101 @@ msgstr "Prendre"
|
|||
msgid "Lu"
|
||||
msgstr "Lu"
|
||||
|
||||
#: notifications/templates/notifications/notification_settings.html:4
|
||||
#: notifications/templates/notifications/notification_settings.html:17
|
||||
msgid "Paramètres des notifications"
|
||||
msgstr "Paramètres des notifications"
|
||||
|
||||
#: notifications/templates/notifications/notification_settings.html:12
|
||||
#: notifications/templates/notifications/team_list.html:18
|
||||
msgid "Retour aux notifications"
|
||||
msgstr "Retour aux notifications"
|
||||
|
||||
#: notifications/templates/notifications/notification_settings.html:17
|
||||
msgid "Paramètres des notifications"
|
||||
msgstr "Paramètres des notifications"
|
||||
|
||||
#: notifications/templates/notifications/notification_settings.html:19
|
||||
msgid ""
|
||||
"Gérez vos préférences de rappel par e-mail pour les notifications non lues."
|
||||
"Gérez vos alertes instantanées sur cet appareil et vos rappels par e-mail."
|
||||
msgstr ""
|
||||
"Gérez vos préférences de rappel par e-mail pour les notifications non lues."
|
||||
|
||||
#: notifications/templates/notifications/notification_settings.html:28
|
||||
msgid "Notifications sur cet appareil (Alertes système / Push)"
|
||||
msgstr ""
|
||||
|
||||
#: notifications/templates/notifications/notification_settings.html:31
|
||||
msgid "Vérification..."
|
||||
msgstr "Vérification..."
|
||||
|
||||
#: notifications/templates/notifications/notification_settings.html:36
|
||||
msgid ""
|
||||
"Recevez des alertes instantanées sur votre écran (ordinateur ou smartphone) "
|
||||
"dès qu'une tâche, intervention ou mention vous concerne, même si le site est"
|
||||
" en arrière-plan."
|
||||
msgstr ""
|
||||
|
||||
#: notifications/templates/notifications/notification_settings.html:42
|
||||
msgid ""
|
||||
"Votre navigateur ou appareil actuel ne prend pas en charge les notifications"
|
||||
" Web Push. (Sur iPhone/iPad, installez l'application via le menu Partager > "
|
||||
"'Sur l'écran d'accueil')."
|
||||
msgstr ""
|
||||
|
||||
#: notifications/templates/notifications/notification_settings.html:48
|
||||
msgid ""
|
||||
"Les notifications sont bloquées dans les paramètres de votre navigateur pour"
|
||||
" ce site. Veuillez modifier vos permissions de site pour les autoriser."
|
||||
msgstr ""
|
||||
|
||||
#: notifications/templates/notifications/notification_settings.html:55
|
||||
msgid "Activer les notifications sur cet appareil"
|
||||
msgstr ""
|
||||
|
||||
#: notifications/templates/notifications/notification_settings.html:58
|
||||
msgid "Cliquez pour autoriser et enregistrer cet appareil."
|
||||
msgstr ""
|
||||
|
||||
#: notifications/templates/notifications/notification_settings.html:64
|
||||
msgid "Activer sur cet appareil"
|
||||
msgstr "Activer sur cet appareil"
|
||||
|
||||
#: notifications/templates/notifications/notification_settings.html:66
|
||||
msgid "Envoyer une notification test"
|
||||
msgstr "Envoyer une notification test"
|
||||
|
||||
#: notifications/templates/notifications/notification_settings.html:68
|
||||
msgid "Tester"
|
||||
msgstr ""
|
||||
|
||||
#: notifications/templates/notifications/notification_settings.html:76
|
||||
msgid "Appareils enregistrés pour votre compte"
|
||||
msgstr ""
|
||||
|
||||
#: notifications/templates/notifications/notification_settings.html:93
|
||||
#: notifications/views.py:986
|
||||
msgid "Appareil"
|
||||
msgstr ""
|
||||
|
||||
#: notifications/templates/notifications/notification_settings.html:103
|
||||
msgid "Retirer cet appareil"
|
||||
msgstr ""
|
||||
|
||||
#: notifications/templates/notifications/notification_settings.html:103
|
||||
msgid "Voulez-vous retirer cet appareil des notifications push ?"
|
||||
msgstr ""
|
||||
|
||||
#: notifications/templates/notifications/notification_settings.html:112
|
||||
msgid ""
|
||||
"Aucun appareil n'est actuellement enregistré pour recevoir des notifications"
|
||||
" push."
|
||||
msgstr ""
|
||||
|
||||
#: notifications/templates/notifications/notification_settings.html:124
|
||||
msgid "Rappels par e-mail"
|
||||
msgstr "Rappels par e-mail"
|
||||
|
||||
#: notifications/templates/notifications/notification_settings.html:41
|
||||
#: notifications/templates/notifications/notification_settings.html:137
|
||||
msgid "Langue préférée pour les e-mails et notifications"
|
||||
msgstr "Langue préférée pour les e-mails et notifications"
|
||||
|
||||
#: notifications/templates/notifications/notification_settings.html:50
|
||||
#: notifications/templates/notifications/notification_settings.html:146
|
||||
msgid ""
|
||||
"Les e-mails de rappel et les notifications automatiques vous seront envoyés "
|
||||
"dans cette langue."
|
||||
|
|
@ -731,11 +958,11 @@ msgstr ""
|
|||
"Les e-mails de rappel et les notifications automatiques vous seront envoyés "
|
||||
"dans cette langue."
|
||||
|
||||
#: notifications/templates/notifications/notification_settings.html:58
|
||||
#: notifications/templates/notifications/notification_settings.html:154
|
||||
msgid "Activer les rappels par e-mail"
|
||||
msgstr "Activer les rappels par e-mail"
|
||||
|
||||
#: notifications/templates/notifications/notification_settings.html:61
|
||||
#: notifications/templates/notifications/notification_settings.html:157
|
||||
msgid ""
|
||||
"Recevoir un récapitulatif par e-mail si des notifications restent non lues "
|
||||
"au-delà du délai spécifié."
|
||||
|
|
@ -743,27 +970,27 @@ msgstr ""
|
|||
"Recevoir un récapitulatif par e-mail si des notifications restent non lues "
|
||||
"au-delà du délai spécifié."
|
||||
|
||||
#: notifications/templates/notifications/notification_settings.html:72
|
||||
#: notifications/templates/notifications/notification_settings.html:168
|
||||
msgid "Adresse(s) e-mail de réception"
|
||||
msgstr "Adresse(s) e-mail de réception"
|
||||
|
||||
#: notifications/templates/notifications/notification_settings.html:80
|
||||
#: notifications/templates/notifications/notification_settings.html:176
|
||||
msgid "Laissez vide pour utiliser l'e-mail principal de votre compte"
|
||||
msgstr "Laissez vide pour utiliser l'e-mail principal de votre compte"
|
||||
|
||||
#: notifications/templates/notifications/notification_settings.html:81
|
||||
#: notifications/templates/notifications/notification_settings.html:177
|
||||
msgid "Pour plusieurs destinataires, séparez les adresses par des virgules."
|
||||
msgstr "Pour plusieurs destinataires, séparez les adresses par des virgules."
|
||||
|
||||
#: notifications/templates/notifications/notification_settings.html:88
|
||||
#: notifications/templates/notifications/notification_settings.html:184
|
||||
msgid "Délai avant l'envoi du rappel (en heures)"
|
||||
msgstr "Délai avant l'envoi du rappel (en heures)"
|
||||
|
||||
#: notifications/templates/notifications/notification_settings.html:92
|
||||
#: notifications/templates/notifications/notification_settings.html:188
|
||||
msgid "heures"
|
||||
msgstr "heures"
|
||||
|
||||
#: notifications/templates/notifications/notification_settings.html:98
|
||||
#: notifications/templates/notifications/notification_settings.html:194
|
||||
msgid ""
|
||||
"Exemple: 24h = un rappel sera envoyé si une notification n'a pas été lue au "
|
||||
"bout de 24 heures."
|
||||
|
|
@ -771,7 +998,7 @@ msgstr ""
|
|||
"Exemple: 24h = un rappel sera envoyé si une notification n'a pas été lue au "
|
||||
"bout de 24 heures."
|
||||
|
||||
#: notifications/templates/notifications/notification_settings.html:107
|
||||
#: notifications/templates/notifications/notification_settings.html:203
|
||||
msgid "Enregistrer mes préférences"
|
||||
msgstr "Enregistrer mes préférences"
|
||||
|
||||
|
|
@ -792,7 +1019,7 @@ msgid "Nouvelle équipe"
|
|||
msgstr "Nouvelle équipe"
|
||||
|
||||
#: notifications/templates/notifications/team_list.html:46
|
||||
#: notifications/views.py:498
|
||||
#: notifications/views.py:533
|
||||
msgid "Modifier"
|
||||
msgstr "Modifier"
|
||||
|
||||
|
|
@ -824,63 +1051,125 @@ msgstr "Aucune équipe définie."
|
|||
msgid "Créer une équipe"
|
||||
msgstr "Créer une équipe"
|
||||
|
||||
#: notifications/views.py:390
|
||||
#: notifications/tests.py:319
|
||||
msgid "Alerte Intervention"
|
||||
msgstr "Alerte Intervention"
|
||||
|
||||
#: notifications/tests.py:320
|
||||
msgid "Nouvelle intervention assignée"
|
||||
msgstr "Nouvelle intervention assignée"
|
||||
|
||||
#: notifications/views.py:425
|
||||
msgid "Vous n'avez pas les droits pour créer une notification."
|
||||
msgstr "Vous n'avez pas les droits pour créer une notification."
|
||||
|
||||
#: notifications/views.py:423
|
||||
#: notifications/views.py:458
|
||||
msgid "Notification envoyée avec succès."
|
||||
msgstr "Notification envoyée avec succès."
|
||||
|
||||
#: notifications/views.py:460
|
||||
#: notifications/views.py:495
|
||||
msgid "Vous n'avez pas les droits pour créer une équipe."
|
||||
msgstr "Vous n'avez pas les droits pour créer une équipe."
|
||||
|
||||
#: notifications/views.py:470
|
||||
#: notifications/views.py:505
|
||||
msgid "Équipe créée avec succès."
|
||||
msgstr "Équipe créée avec succès."
|
||||
|
||||
#: notifications/views.py:475
|
||||
#: notifications/views.py:510
|
||||
msgid "Créer"
|
||||
msgstr "Créer"
|
||||
|
||||
#: notifications/views.py:486
|
||||
#: notifications/views.py:521
|
||||
msgid "Vous n'avez pas les droits pour modifier une équipe."
|
||||
msgstr "Vous n'avez pas les droits pour modifier une équipe."
|
||||
|
||||
#: notifications/views.py:493
|
||||
#: notifications/views.py:528
|
||||
msgid "Équipe mise à jour."
|
||||
msgstr "Équipe mise à jour."
|
||||
|
||||
#: notifications/views.py:508
|
||||
#: notifications/views.py:543
|
||||
msgid "Vous n'avez pas les droits pour supprimer une équipe."
|
||||
msgstr "Vous n'avez pas les droits pour supprimer une équipe."
|
||||
|
||||
#: notifications/views.py:511
|
||||
#: notifications/views.py:546
|
||||
msgid "Équipe supprimée."
|
||||
msgstr "Équipe supprimée."
|
||||
|
||||
#: notifications/views.py:561
|
||||
#: notifications/views.py:604
|
||||
msgid "Vous n'êtes pas participant de cette discussion."
|
||||
msgstr "Vous n'êtes pas participant de cette discussion."
|
||||
|
||||
#: notifications/views.py:574
|
||||
#: notifications/views.py:620
|
||||
msgid "Message envoyé."
|
||||
msgstr "Message envoyé."
|
||||
|
||||
#: notifications/views.py:602
|
||||
#: notifications/views.py:648
|
||||
msgid "Vous n'avez pas accès à cette discussion."
|
||||
msgstr "Vous n'avez pas accès à cette discussion."
|
||||
|
||||
#: notifications/views.py:699
|
||||
msgid "Statut de la discussion mis à jour."
|
||||
msgstr "Statut de la discussion mis à jour."
|
||||
|
||||
#: notifications/views.py:722
|
||||
#, python-format
|
||||
msgid "Discussion de %(name)s"
|
||||
msgstr "Discussion de %(name)s"
|
||||
|
||||
#: notifications/views.py:613
|
||||
#: notifications/views.py:736
|
||||
msgid "Discussion créée avec succès."
|
||||
msgstr "Discussion créée avec succès."
|
||||
|
||||
#: notifications/views.py:616
|
||||
#: notifications/views.py:739
|
||||
msgid "Le contenu du message ne peut pas être vide."
|
||||
msgstr "Le contenu du message ne peut pas être vide."
|
||||
|
||||
#: notifications/views.py:640
|
||||
#: notifications/views.py:763
|
||||
msgid "Vos préférences de rappel par e-mail ont été enregistrées."
|
||||
msgstr "Vos préférences de rappel par e-mail ont été enregistrées."
|
||||
|
||||
#: notifications/views.py:896
|
||||
msgid "Requête invalide"
|
||||
msgstr ""
|
||||
|
||||
#: notifications/views.py:904
|
||||
msgid "Paramètres d'abonnement push incomplets"
|
||||
msgstr ""
|
||||
|
||||
#: notifications/views.py:954
|
||||
msgid "Aucun appareil actif n'est enregistré pour votre compte."
|
||||
msgstr ""
|
||||
|
||||
#: notifications/views.py:959
|
||||
msgid "Test de notification Loko"
|
||||
msgstr "Test de notification Loko"
|
||||
|
||||
#: notifications/views.py:960
|
||||
msgid ""
|
||||
"Les notifications instantanées sur votre appareil fonctionnent correctement "
|
||||
"!"
|
||||
msgstr ""
|
||||
|
||||
#: notifications/views.py:968
|
||||
#, python-format
|
||||
msgid "Notification de test envoyée avec succès sur %(count)d appareil(s) !"
|
||||
msgstr "Notification de test envoyée avec succès sur %(count)d appareil(s) !"
|
||||
|
||||
#: notifications/views.py:972
|
||||
msgid "Impossible de délivrer la notification au service push."
|
||||
msgstr ""
|
||||
|
||||
#: notifications/views.py:974
|
||||
#, python-format
|
||||
msgid "Échec de distribution : %(error)s"
|
||||
msgstr ""
|
||||
|
||||
#: notifications/views.py:988
|
||||
#, python-format
|
||||
msgid "L'appareil « %(name)s » a été retiré."
|
||||
msgstr ""
|
||||
|
||||
#~ msgid ""
|
||||
#~ "Gérez vos préférences de rappel par e-mail pour les notifications non lues."
|
||||
#~ msgstr ""
|
||||
#~ "Gérez vos préférences de rappel par e-mail pour les notifications non lues."
|
||||
|
|
|
|||
Binary file not shown.
|
|
@ -7,7 +7,7 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: PACKAGE VERSION\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2026-08-19 09:47+0200\n"
|
||||
"POT-Creation-Date: 2026-09-12 15:59+0200\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
|
|
@ -23,7 +23,7 @@ msgid "Titre"
|
|||
msgstr "Titel"
|
||||
|
||||
#: notifications/forms.py:40 notifications/models.py:72
|
||||
#: notifications/models.py:455
|
||||
#: notifications/models.py:529
|
||||
msgid "Contenu"
|
||||
msgstr "Inhoud"
|
||||
|
||||
|
|
@ -45,7 +45,7 @@ msgid "Expire le"
|
|||
msgstr "Vervalt op"
|
||||
|
||||
#: notifications/forms.py:68 notifications/models.py:284
|
||||
#: notifications/templates/notifications/_new_discussion_modal.html:41
|
||||
#: notifications/templates/notifications/_new_discussion_modal.html:69
|
||||
msgid "Pièces jointes"
|
||||
msgstr "Bijlagen"
|
||||
|
||||
|
|
@ -57,7 +57,7 @@ msgstr "Foto's of documenten (meerdere bestanden mogelijk)."
|
|||
msgid "Destinataires individuels"
|
||||
msgstr "Individuele ontvangers"
|
||||
|
||||
#: notifications/forms.py:82 notifications/models.py:553
|
||||
#: notifications/forms.py:82 notifications/models.py:632
|
||||
msgid "Équipes destinataires"
|
||||
msgstr "Ontvangende teams"
|
||||
|
||||
|
|
@ -94,6 +94,7 @@ msgstr ""
|
|||
"zijn ontvangen:"
|
||||
|
||||
#: notifications/management/commands/send_unread_notification_reminders.py:118
|
||||
#: notifications/services.py:479
|
||||
msgid "Système"
|
||||
msgstr "Systeem"
|
||||
|
||||
|
|
@ -168,8 +169,8 @@ msgstr "Team"
|
|||
msgid "Équipes"
|
||||
msgstr "Teams"
|
||||
|
||||
#: notifications/models.py:49 notifications/models.py:464
|
||||
#: notifications/models.py:593
|
||||
#: notifications/models.py:49 notifications/models.py:543
|
||||
#: notifications/models.py:672
|
||||
msgid "Message"
|
||||
msgstr "Bericht"
|
||||
|
||||
|
|
@ -221,7 +222,7 @@ msgstr "Systeemmelding"
|
|||
msgid "Générée automatiquement par le système."
|
||||
msgstr "Automatisch gegenereerd door het systeem."
|
||||
|
||||
#: notifications/models.py:114 notifications/models.py:566
|
||||
#: notifications/models.py:114 notifications/models.py:645
|
||||
msgid "Prise en charge unique"
|
||||
msgstr "Enkele overname"
|
||||
|
||||
|
|
@ -283,11 +284,11 @@ msgstr "Teammelding"
|
|||
msgid "Notifications d'équipe"
|
||||
msgstr "Teammeldingen"
|
||||
|
||||
#: notifications/models.py:250 notifications/models.py:597
|
||||
#: notifications/models.py:250 notifications/models.py:676
|
||||
msgid "Fichier"
|
||||
msgstr "Bestand"
|
||||
|
||||
#: notifications/models.py:255 notifications/models.py:599
|
||||
#: notifications/models.py:255 notifications/models.py:678
|
||||
msgid "Nom du fichier"
|
||||
msgstr "Bestandsnaam"
|
||||
|
||||
|
|
@ -295,7 +296,7 @@ msgstr "Bestandsnaam"
|
|||
msgid "Ajouté par"
|
||||
msgstr "Toegevoegd door"
|
||||
|
||||
#: notifications/models.py:265 notifications/models.py:600
|
||||
#: notifications/models.py:265 notifications/models.py:679
|
||||
msgid "Ajouté le"
|
||||
msgstr "Toegevoegd op"
|
||||
|
||||
|
|
@ -303,7 +304,7 @@ msgstr "Toegevoegd op"
|
|||
msgid "Pièce jointe"
|
||||
msgstr "Bijlage"
|
||||
|
||||
#: notifications/models.py:301
|
||||
#: notifications/models.py:301 notifications/models.py:713
|
||||
msgid "Utilisateur"
|
||||
msgstr "Gebruiker"
|
||||
|
||||
|
|
@ -315,22 +316,22 @@ msgstr "Teammelding gelezen"
|
|||
msgid "Lectures de notifications d'équipe"
|
||||
msgstr "Teammeldingen gelezen"
|
||||
|
||||
#: notifications/models.py:331
|
||||
#: notifications/models.py:331 notifications/models.py:751
|
||||
msgid "Mis à jour le"
|
||||
msgstr "Bijgewerkt op"
|
||||
|
||||
#: notifications/models.py:336
|
||||
#: notifications/templates/notifications/discussion_detail.html:105
|
||||
#: notifications/templates/notifications/discussion_list.html:144
|
||||
#: notifications/templates/notifications/inbox.html:421
|
||||
#: notifications/templates/notifications/discussion_detail.html:164
|
||||
#: notifications/templates/notifications/discussion_list.html:155
|
||||
#: notifications/templates/notifications/inbox.html:460
|
||||
msgid "Participants"
|
||||
msgstr "Deelnemers"
|
||||
|
||||
#: notifications/models.py:338
|
||||
#: notifications/templates/notifications/discussion_detail.html:97
|
||||
#: notifications/templates/notifications/discussion_list.html:120
|
||||
#: notifications/templates/notifications/inbox.html:397
|
||||
#: notifications/templates/notifications/inbox_mobile.html:338
|
||||
#: notifications/templates/notifications/discussion_detail.html:98
|
||||
#: notifications/templates/notifications/discussion_list.html:127
|
||||
#: notifications/templates/notifications/inbox.html:432
|
||||
#: notifications/templates/notifications/inbox_mobile.html:360
|
||||
msgid "Clôturée"
|
||||
msgstr "Gesloten"
|
||||
|
||||
|
|
@ -342,106 +343,164 @@ msgstr "Type gekoppeld object"
|
|||
msgid "ID objet lié"
|
||||
msgstr "ID gekoppeld object"
|
||||
|
||||
#: notifications/models.py:355
|
||||
#: notifications/models.py:360
|
||||
msgid "Aucun"
|
||||
msgstr ""
|
||||
|
||||
#: notifications/models.py:361 notifications/models.py:368
|
||||
#: notifications/templates/notifications/_new_discussion_modal.html:34
|
||||
#: notifications/templates/notifications/discussion_detail.html:132
|
||||
msgid "Important / À traiter"
|
||||
msgstr ""
|
||||
|
||||
#: notifications/models.py:362 notifications/models.py:377
|
||||
#: notifications/models.py:378
|
||||
#: notifications/templates/notifications/_new_discussion_modal.html:39
|
||||
#: notifications/templates/notifications/discussion_detail.html:139
|
||||
#: notifications/templates/notifications/inbox.html:374
|
||||
#: notifications/templates/notifications/inbox_mobile.html:306
|
||||
msgid "En cours"
|
||||
msgstr ""
|
||||
|
||||
#: notifications/models.py:363 notifications/models.py:386
|
||||
#: notifications/templates/notifications/_new_discussion_modal.html:44
|
||||
#: notifications/templates/notifications/discussion_detail.html:146
|
||||
msgid "Traité / Fait"
|
||||
msgstr ""
|
||||
|
||||
#: notifications/models.py:369
|
||||
#: notifications/templates/notifications/inbox.html:371
|
||||
#: notifications/templates/notifications/inbox_mobile.html:303
|
||||
msgid "Important"
|
||||
msgstr ""
|
||||
|
||||
#: notifications/models.py:387
|
||||
#: notifications/templates/notifications/inbox.html:377
|
||||
#: notifications/templates/notifications/inbox_mobile.html:309
|
||||
msgid "Traité"
|
||||
msgstr ""
|
||||
|
||||
#: notifications/models.py:401
|
||||
msgid "Flag"
|
||||
msgstr ""
|
||||
|
||||
#: notifications/models.py:409
|
||||
msgid "Flag défini par"
|
||||
msgstr ""
|
||||
|
||||
#: notifications/models.py:414
|
||||
msgid "Flag défini le"
|
||||
msgstr ""
|
||||
|
||||
#: notifications/models.py:419
|
||||
msgid "URL objet lié"
|
||||
msgstr "URL gekoppeld object"
|
||||
|
||||
#: notifications/models.py:358
|
||||
#: notifications/models.py:422
|
||||
msgid "Libellé objet lié"
|
||||
msgstr "Label gekoppeld object"
|
||||
|
||||
#: notifications/models.py:392
|
||||
#: notifications/models.py:466
|
||||
msgid "Intervention"
|
||||
msgstr "Interventie"
|
||||
|
||||
#: notifications/models.py:400
|
||||
#: notifications/models.py:474
|
||||
msgid "Observation"
|
||||
msgstr "Observatie"
|
||||
|
||||
#: notifications/models.py:408
|
||||
#: notifications/models.py:482
|
||||
msgid "Ordre de préparation"
|
||||
msgstr "Voorbereidingsopdracht"
|
||||
|
||||
#: notifications/models.py:416
|
||||
#: notifications/models.py:490
|
||||
msgid "Projet"
|
||||
msgstr "Project"
|
||||
|
||||
#: notifications/models.py:424
|
||||
#: notifications/models.py:498
|
||||
msgid "Générale"
|
||||
msgstr "Algemeen"
|
||||
|
||||
#: notifications/models.py:429 notifications/models.py:445
|
||||
#: notifications/models.py:503 notifications/models.py:519
|
||||
msgid "Discussion"
|
||||
msgstr "Discussie"
|
||||
|
||||
#: notifications/models.py:430
|
||||
#: notifications/models.py:504
|
||||
#: notifications/templates/notifications/discussion_list.html:70
|
||||
#: notifications/templates/notifications/inbox.html:133
|
||||
#: notifications/templates/notifications/inbox_mobile.html:152
|
||||
msgid "Discussions"
|
||||
msgstr "Gesprekken"
|
||||
|
||||
#: notifications/models.py:453
|
||||
#: notifications/models.py:527
|
||||
msgid "Auteur"
|
||||
msgstr "Auteur"
|
||||
|
||||
#: notifications/models.py:456
|
||||
#: notifications/models.py:530
|
||||
msgid "Envoyé le"
|
||||
msgstr "Verzonden op"
|
||||
|
||||
#: notifications/models.py:457
|
||||
#: notifications/models.py:531
|
||||
msgid "Supprimé"
|
||||
msgstr "Verwijderd"
|
||||
|
||||
#: notifications/models.py:465
|
||||
#: notifications/models.py:534
|
||||
msgid "Message système"
|
||||
msgstr "Systeembericht"
|
||||
|
||||
#: notifications/models.py:535
|
||||
msgid "Indique si le message a été généré automatiquement par le système."
|
||||
msgstr ""
|
||||
"Geeft aan of het bericht automatisch door het systeem werd gegenereerd."
|
||||
|
||||
#: notifications/models.py:544
|
||||
msgid "Messages"
|
||||
msgstr "Berichten"
|
||||
|
||||
#: notifications/models.py:490
|
||||
#: notifications/models.py:569
|
||||
msgid "Intervention annulée"
|
||||
msgstr "Interventie geannuleerd"
|
||||
|
||||
#: notifications/models.py:495
|
||||
#: notifications/models.py:574
|
||||
msgid "Tous (pas de filtre)"
|
||||
msgstr "Alle (geen filter)"
|
||||
|
||||
#: notifications/models.py:496
|
||||
#: notifications/models.py:575
|
||||
msgid "Doublon"
|
||||
msgstr "Duplicaat"
|
||||
|
||||
#: notifications/models.py:497
|
||||
#: notifications/models.py:576
|
||||
msgid "A rediriger"
|
||||
msgstr "Door te sturen"
|
||||
|
||||
#: notifications/models.py:498
|
||||
#: notifications/models.py:577
|
||||
msgid "Pas sous notre gestion"
|
||||
msgstr "Niet onder ons beheer"
|
||||
|
||||
#: notifications/models.py:499
|
||||
#: notifications/models.py:578
|
||||
msgid "Non-relevant"
|
||||
msgstr "Niet relevant"
|
||||
|
||||
#: notifications/models.py:500
|
||||
#: notifications/models.py:579
|
||||
msgid "Autre"
|
||||
msgstr "Overige"
|
||||
|
||||
#: notifications/models.py:504
|
||||
#: notifications/models.py:583
|
||||
msgid "Nom de la règle"
|
||||
msgstr "Regelnaam"
|
||||
|
||||
#: notifications/models.py:505
|
||||
#: notifications/models.py:584
|
||||
msgid "Active"
|
||||
msgstr "Actief"
|
||||
|
||||
#: notifications/models.py:511
|
||||
#: notifications/models.py:590
|
||||
msgid "Événement déclencheur"
|
||||
msgstr "Triggergebeurtenis"
|
||||
|
||||
#: notifications/models.py:517
|
||||
#: notifications/models.py:596
|
||||
msgid "Filtre : type d'annulation"
|
||||
msgstr "Filter: annuleringstype"
|
||||
|
||||
#: notifications/models.py:519
|
||||
#: notifications/models.py:598
|
||||
msgid ""
|
||||
"Laisser vide pour déclencher sur tout type d'annulation. Sélectionner une "
|
||||
"valeur pour n'agir que sur ce type précis."
|
||||
|
|
@ -449,15 +508,15 @@ msgstr ""
|
|||
"Leeg laten om te triggeren op elk type annulering. Selecteer een waarde om "
|
||||
"alleen op dit specifieke type te reageren."
|
||||
|
||||
#: notifications/models.py:529
|
||||
#: notifications/models.py:608
|
||||
msgid "Type de notification"
|
||||
msgstr "Type melding"
|
||||
|
||||
#: notifications/models.py:533
|
||||
#: notifications/models.py:612
|
||||
msgid "Modèle de titre"
|
||||
msgstr "Titelsjabloon"
|
||||
|
||||
#: notifications/models.py:535
|
||||
#: notifications/models.py:614
|
||||
#, python-brace-format
|
||||
msgid ""
|
||||
"Variables disponibles : {intervention_code}, {intervention_title}, "
|
||||
|
|
@ -466,11 +525,11 @@ msgstr ""
|
|||
"Beschikbare variabelen: {intervention_code}, {intervention_title}, "
|
||||
"{cancellation_type_label}"
|
||||
|
||||
#: notifications/models.py:541
|
||||
#: notifications/models.py:620
|
||||
msgid "Modèle de contenu"
|
||||
msgstr "Inhoudssjabloon"
|
||||
|
||||
#: notifications/models.py:543
|
||||
#: notifications/models.py:622
|
||||
#, python-brace-format
|
||||
msgid ""
|
||||
"Variables disponibles : {intervention_code}, {intervention_title}, "
|
||||
|
|
@ -479,50 +538,119 @@ msgstr ""
|
|||
"Beschikbare variabelen: {intervention_code}, {intervention_title}, "
|
||||
"{cancellation_type_label}, {cancellation_reason}"
|
||||
|
||||
#: notifications/models.py:554
|
||||
#: notifications/models.py:633
|
||||
msgid ""
|
||||
"Les notifications seront envoyées à tous les membres (CompanyMember) de ces "
|
||||
"équipes."
|
||||
msgstr ""
|
||||
"Meldingen worden verzonden naar alle leden (CompanyMember) van deze teams."
|
||||
|
||||
#: notifications/models.py:560
|
||||
#: notifications/models.py:639
|
||||
msgid "Utilisateurs destinataires supplémentaires"
|
||||
msgstr "Extra individuele ontvangers"
|
||||
|
||||
#: notifications/models.py:568
|
||||
#: notifications/models.py:647
|
||||
msgid ""
|
||||
"Si activé, dès qu'un destinataire marque la notification comme lue (prise en "
|
||||
"charge), elle est automatiquement archivée pour tous les autres "
|
||||
"Si activé, dès qu'un destinataire marque la notification comme lue (prise en"
|
||||
" charge), elle est automatiquement archivée pour tous les autres "
|
||||
"destinataires."
|
||||
msgstr ""
|
||||
"Indien ingeschakeld, zodra een ontvanger de melding als gelezen markeert "
|
||||
"(overname), wordt deze automatisch gearchiveerd voor alle andere ontvangers."
|
||||
|
||||
#: notifications/models.py:574
|
||||
#: notifications/models.py:653
|
||||
msgid "Créée le"
|
||||
msgstr "Aangemaakt op"
|
||||
|
||||
#: notifications/models.py:575
|
||||
#: notifications/models.py:654
|
||||
msgid "Mise à jour le"
|
||||
msgstr "Bijgewerkt op"
|
||||
|
||||
#: notifications/models.py:581
|
||||
#: notifications/models.py:660
|
||||
msgid "Règle de notification"
|
||||
msgstr "Meldingsregel"
|
||||
|
||||
#: notifications/models.py:582
|
||||
#: notifications/models.py:661
|
||||
msgid "Règles de notification"
|
||||
msgstr "Meldingsregels"
|
||||
|
||||
#: notifications/models.py:618
|
||||
#: notifications/models.py:697
|
||||
msgid "Pièce jointe de message"
|
||||
msgstr "Berichtbijlage"
|
||||
|
||||
#: notifications/models.py:619
|
||||
#: notifications/models.py:698
|
||||
msgid "Pièces jointes de messages"
|
||||
msgstr "Berichtbijlagen"
|
||||
|
||||
#: notifications/models.py:717
|
||||
msgid "Endpoint Push"
|
||||
msgstr ""
|
||||
|
||||
#: notifications/models.py:718
|
||||
msgid "URL unique de réception push fournie par le navigateur."
|
||||
msgstr ""
|
||||
|
||||
#: notifications/models.py:722
|
||||
msgid "Clé p256dh"
|
||||
msgstr ""
|
||||
|
||||
#: notifications/models.py:723
|
||||
msgid "Clé publique du client."
|
||||
msgstr ""
|
||||
|
||||
#: notifications/models.py:727
|
||||
msgid "Secret auth"
|
||||
msgstr ""
|
||||
|
||||
#: notifications/models.py:728
|
||||
msgid "Secret d'authentification pour le chiffrement."
|
||||
msgstr ""
|
||||
|
||||
#: notifications/models.py:733
|
||||
msgid "User Agent"
|
||||
msgstr ""
|
||||
|
||||
#: notifications/models.py:738
|
||||
msgid "Navigateur"
|
||||
msgstr ""
|
||||
|
||||
#: notifications/models.py:743
|
||||
msgid "Système d'exploitation"
|
||||
msgstr ""
|
||||
|
||||
#: notifications/models.py:748
|
||||
msgid "Nom de l'appareil"
|
||||
msgstr "Apparaatnaam"
|
||||
|
||||
#: notifications/models.py:750
|
||||
#: notifications/templates/notifications/notification_settings.html:96
|
||||
msgid "Enregistré le"
|
||||
msgstr "Opgeslagen op"
|
||||
|
||||
#: notifications/models.py:754
|
||||
msgid "Appareil inconnu"
|
||||
msgstr ""
|
||||
|
||||
#: notifications/models.py:758
|
||||
msgid "Abonnement Web Push"
|
||||
msgstr ""
|
||||
|
||||
#: notifications/models.py:759
|
||||
msgid "Abonnements Web Push"
|
||||
msgstr ""
|
||||
|
||||
#: notifications/services.py:498
|
||||
#, python-brace-format
|
||||
msgid "{icon} {user} a défini le statut : {label}"
|
||||
msgstr ""
|
||||
|
||||
#: notifications/services.py:504
|
||||
#, python-brace-format
|
||||
msgid ""
|
||||
"<i class=\"bi bi-flag text-muted me-1\"></i> {user} a retiré le drapeau de "
|
||||
"suivi."
|
||||
msgstr ""
|
||||
|
||||
#: notifications/templates/notifications/_new_discussion_modal.html:8
|
||||
#: notifications/templates/notifications/discussion_list.html:74
|
||||
#: notifications/templates/notifications/inbox.html:165
|
||||
|
|
@ -534,40 +662,50 @@ msgstr "Nieuw gesprek"
|
|||
msgid "Fermer"
|
||||
msgstr "Sluiten"
|
||||
|
||||
#: notifications/templates/notifications/_new_discussion_modal.html:17
|
||||
#: notifications/templates/notifications/_new_discussion_modal.html:18
|
||||
msgid "Sujet / Titre (optionnel)"
|
||||
msgstr "Onderwerp / Titel (optioneel)"
|
||||
|
||||
#: notifications/templates/notifications/_new_discussion_modal.html:20
|
||||
#: notifications/templates/notifications/_new_discussion_modal.html:21
|
||||
msgid "Ex: Question sur le dossier..."
|
||||
msgstr "Bijv: Vraag over het dossier..."
|
||||
|
||||
#: notifications/templates/notifications/_new_discussion_modal.html:25
|
||||
#: notifications/templates/notifications/_new_discussion_modal.html:27
|
||||
msgid "Statut initial"
|
||||
msgstr ""
|
||||
|
||||
#: notifications/templates/notifications/_new_discussion_modal.html:29
|
||||
#: notifications/templates/notifications/discussion_detail.html:154
|
||||
msgid "Aucun drapeau"
|
||||
msgstr "Geen vlag"
|
||||
|
||||
#: notifications/templates/notifications/_new_discussion_modal.html:53
|
||||
msgid "Message *"
|
||||
msgstr "Bericht *"
|
||||
|
||||
#: notifications/templates/notifications/_new_discussion_modal.html:28
|
||||
#: notifications/templates/notifications/_new_discussion_modal.html:56
|
||||
msgid "Tapez @ pour mentionner/tagger des utilisateurs ou des équipes."
|
||||
msgstr "Typ @ om gebruikers of teams te vermelden."
|
||||
|
||||
#: notifications/templates/notifications/_new_discussion_modal.html:32
|
||||
#: notifications/templates/notifications/_new_discussion_modal.html:60
|
||||
msgid "Rédigez votre message... (@ pour tagger quelqu'un)"
|
||||
msgstr "Schrijf uw bericht... (@ om iemand te taggen)"
|
||||
|
||||
#: notifications/templates/notifications/_new_discussion_modal.html:44
|
||||
#: notifications/templates/notifications/_new_discussion_modal.html:72
|
||||
msgid "Joindre des fichiers"
|
||||
msgstr "Bestanden bijvoegen"
|
||||
|
||||
#: notifications/templates/notifications/_new_discussion_modal.html:52
|
||||
#: notifications/templates/notifications/_new_discussion_modal.html:80
|
||||
#: notifications/templates/notifications/create.html:82
|
||||
#: notifications/templates/notifications/notification_settings.html:104
|
||||
#: notifications/templates/notifications/notification_settings.html:200
|
||||
#: notifications/templates/notifications/team_form.html:39
|
||||
msgid "Annuler"
|
||||
msgstr "Annuleren"
|
||||
|
||||
#: notifications/templates/notifications/_new_discussion_modal.html:55
|
||||
#: notifications/templates/notifications/_new_discussion_modal.html:83
|
||||
#: notifications/templates/notifications/create.html:85
|
||||
#: notifications/templates/notifications/discussion_detail.html:194
|
||||
#: notifications/templates/notifications/discussion_detail.html:268
|
||||
msgid "Envoyer"
|
||||
msgstr "Verzenden"
|
||||
|
||||
|
|
@ -580,55 +718,68 @@ msgstr "Melding aanmaken"
|
|||
msgid "Ctrl+clic pour sélectionner plusieurs"
|
||||
msgstr "Ctrl+klik om meerdere te selecteren"
|
||||
|
||||
#: notifications/templates/notifications/discussion_detail.html:85
|
||||
#: notifications/templates/notifications/discussion_detail.html:86
|
||||
msgid "Retour aux discussions"
|
||||
msgstr "Terug naar gesprekken"
|
||||
|
||||
#: notifications/templates/notifications/discussion_detail.html:120
|
||||
#: notifications/templates/notifications/discussion_detail.html:123
|
||||
#: notifications/templates/notifications/discussion_detail.html:504
|
||||
#: notifications/templates/notifications/inbox.html:366
|
||||
msgid "Statut"
|
||||
msgstr ""
|
||||
|
||||
#: notifications/templates/notifications/discussion_detail.html:128
|
||||
msgid "Statut de suivi"
|
||||
msgstr ""
|
||||
|
||||
#: notifications/templates/notifications/discussion_detail.html:179
|
||||
msgid "Aucun message pour l'instant. Soyez le premier à écrire."
|
||||
msgstr "Nog geen berichten. Wees de eerste om te schrijven."
|
||||
|
||||
#: notifications/templates/notifications/discussion_detail.html:184
|
||||
#: notifications/templates/notifications/discussion_detail.html:254
|
||||
msgid "Écrire un message... (@ pour mentionner)"
|
||||
msgstr "Schrijf een bericht... (@ om te vermelden)"
|
||||
|
||||
#: notifications/templates/notifications/discussion_detail.html:187
|
||||
#: notifications/templates/notifications/discussion_detail.html:261
|
||||
msgid "Joindre"
|
||||
msgstr "Bijvoegen"
|
||||
|
||||
#: notifications/templates/notifications/discussion_detail.html:202
|
||||
#: notifications/templates/notifications/discussion_detail.html:276
|
||||
msgid "Cette discussion est clôturée."
|
||||
msgstr "Dit gesprek is gesloten."
|
||||
|
||||
#: notifications/templates/notifications/discussion_detail.html:458
|
||||
msgid "Le message ne peut pas être vide."
|
||||
msgstr "Het bericht mag niet leeg zijn."
|
||||
|
||||
#: notifications/templates/notifications/discussion_list.html:79
|
||||
#: notifications/templates/notifications/discussion_list.html:80
|
||||
#: notifications/templates/notifications/inbox.html:170
|
||||
#: notifications/templates/notifications/inbox.html:171
|
||||
#: notifications/templates/notifications/inbox_mobile.html:115
|
||||
#: notifications/templates/notifications/notification_settings.html:4
|
||||
msgid "Paramètres"
|
||||
msgstr "Instellingen"
|
||||
|
||||
#: notifications/templates/notifications/discussion_list.html:89
|
||||
#: notifications/templates/notifications/inbox.html:366
|
||||
#: notifications/templates/notifications/inbox_mobile.html:301
|
||||
#: notifications/templates/notifications/inbox.html:394
|
||||
#: notifications/templates/notifications/inbox_mobile.html:317
|
||||
msgid "Vous n'avez encore aucune discussion."
|
||||
msgstr "U heeft nog geen gesprekken."
|
||||
|
||||
#: notifications/templates/notifications/discussion_list.html:137
|
||||
#: notifications/templates/notifications/inbox.html:414
|
||||
#: notifications/templates/notifications/inbox_mobile.html:350
|
||||
#: notifications/templates/notifications/discussion_list.html:148
|
||||
#: notifications/templates/notifications/inbox.html:453
|
||||
#: notifications/templates/notifications/inbox_mobile.html:376
|
||||
msgid "Aucun message encore."
|
||||
msgstr "Nog geen bericht."
|
||||
|
||||
#: notifications/templates/notifications/discussion_list.html:160
|
||||
#: notifications/templates/notifications/inbox.html:437
|
||||
#: notifications/templates/notifications/discussion_list.html:171
|
||||
#: notifications/templates/notifications/inbox.html:476
|
||||
msgid "participants au total"
|
||||
msgstr "deelnemers in totaal"
|
||||
|
||||
#: notifications/templates/notifications/discussion_list.html:170
|
||||
#: notifications/templates/notifications/inbox.html:447
|
||||
#: notifications/templates/notifications/inbox_mobile.html:372
|
||||
#: notifications/templates/notifications/discussion_list.html:181
|
||||
#: notifications/templates/notifications/inbox.html:486
|
||||
#: notifications/templates/notifications/inbox_mobile.html:398
|
||||
msgid "non lu(s)"
|
||||
msgstr "ongelezen"
|
||||
|
||||
|
|
@ -652,6 +803,7 @@ msgid "Archivées"
|
|||
msgstr "Gearchiveerd"
|
||||
|
||||
#: notifications/templates/notifications/inbox.html:210
|
||||
#: notifications/templates/notifications/inbox.html:383
|
||||
#: notifications/templates/notifications/inbox_mobile.html:194
|
||||
msgid "Réinitialiser"
|
||||
msgstr "Opnieuw instellen"
|
||||
|
|
@ -686,6 +838,11 @@ msgstr "Geen gearchiveerde meldingen."
|
|||
msgid "Vous n'avez aucune notification."
|
||||
msgstr "U heeft geen meldingen."
|
||||
|
||||
#: notifications/templates/notifications/inbox.html:368
|
||||
#: notifications/templates/notifications/inbox_mobile.html:300
|
||||
msgid "Tous"
|
||||
msgstr ""
|
||||
|
||||
#: notifications/templates/notifications/inbox_mobile.html:119
|
||||
msgid "Accueil"
|
||||
msgstr "Startpagina"
|
||||
|
|
@ -698,40 +855,112 @@ msgstr "Nemen"
|
|||
msgid "Lu"
|
||||
msgstr "Gelezen"
|
||||
|
||||
#: notifications/templates/notifications/notification_settings.html:4
|
||||
#: notifications/templates/notifications/notification_settings.html:17
|
||||
msgid "Paramètres des notifications"
|
||||
msgstr "Meldingsinstellingen"
|
||||
|
||||
#: notifications/templates/notifications/notification_settings.html:12
|
||||
#: notifications/templates/notifications/team_list.html:18
|
||||
msgid "Retour aux notifications"
|
||||
msgstr "Terug naar meldingen"
|
||||
|
||||
#: notifications/templates/notifications/notification_settings.html:17
|
||||
msgid "Paramètres des notifications"
|
||||
msgstr "Meldingsinstellingen"
|
||||
|
||||
#: notifications/templates/notifications/notification_settings.html:19
|
||||
msgid ""
|
||||
"Gérez vos préférences de rappel par e-mail pour les notifications non lues."
|
||||
msgstr "Beheer uw e-mailherinneringsvoorkeuren voor ongelezen meldingen."
|
||||
"Gérez vos alertes instantanées sur cet appareil et vos rappels par e-mail."
|
||||
msgstr ""
|
||||
|
||||
#: notifications/templates/notifications/notification_settings.html:28
|
||||
msgid "Notifications sur cet appareil (Alertes système / Push)"
|
||||
msgstr ""
|
||||
|
||||
#: notifications/templates/notifications/notification_settings.html:31
|
||||
msgid "Vérification..."
|
||||
msgstr "Verifiëren..."
|
||||
|
||||
#: notifications/templates/notifications/notification_settings.html:36
|
||||
msgid ""
|
||||
"Recevez des alertes instantanées sur votre écran (ordinateur ou smartphone) "
|
||||
"dès qu'une tâche, intervention ou mention vous concerne, même si le site est"
|
||||
" en arrière-plan."
|
||||
msgstr ""
|
||||
|
||||
#: notifications/templates/notifications/notification_settings.html:42
|
||||
msgid ""
|
||||
"Votre navigateur ou appareil actuel ne prend pas en charge les notifications"
|
||||
" Web Push. (Sur iPhone/iPad, installez l'application via le menu Partager > "
|
||||
"'Sur l'écran d'accueil')."
|
||||
msgstr ""
|
||||
|
||||
#: notifications/templates/notifications/notification_settings.html:48
|
||||
msgid ""
|
||||
"Les notifications sont bloquées dans les paramètres de votre navigateur pour"
|
||||
" ce site. Veuillez modifier vos permissions de site pour les autoriser."
|
||||
msgstr ""
|
||||
|
||||
#: notifications/templates/notifications/notification_settings.html:55
|
||||
msgid "Activer les notifications sur cet appareil"
|
||||
msgstr ""
|
||||
|
||||
#: notifications/templates/notifications/notification_settings.html:58
|
||||
msgid "Cliquez pour autoriser et enregistrer cet appareil."
|
||||
msgstr ""
|
||||
|
||||
#: notifications/templates/notifications/notification_settings.html:64
|
||||
msgid "Activer sur cet appareil"
|
||||
msgstr "Inschakelen op dit apparaat"
|
||||
|
||||
#: notifications/templates/notifications/notification_settings.html:66
|
||||
msgid "Envoyer une notification test"
|
||||
msgstr "Testmelding verzenden"
|
||||
|
||||
#: notifications/templates/notifications/notification_settings.html:68
|
||||
msgid "Tester"
|
||||
msgstr ""
|
||||
|
||||
#: notifications/templates/notifications/notification_settings.html:76
|
||||
msgid "Appareils enregistrés pour votre compte"
|
||||
msgstr ""
|
||||
|
||||
#: notifications/templates/notifications/notification_settings.html:93
|
||||
#: notifications/views.py:986
|
||||
msgid "Appareil"
|
||||
msgstr ""
|
||||
|
||||
#: notifications/templates/notifications/notification_settings.html:103
|
||||
msgid "Retirer cet appareil"
|
||||
msgstr ""
|
||||
|
||||
#: notifications/templates/notifications/notification_settings.html:103
|
||||
msgid "Voulez-vous retirer cet appareil des notifications push ?"
|
||||
msgstr ""
|
||||
|
||||
#: notifications/templates/notifications/notification_settings.html:112
|
||||
msgid ""
|
||||
"Aucun appareil n'est actuellement enregistré pour recevoir des notifications"
|
||||
" push."
|
||||
msgstr ""
|
||||
|
||||
#: notifications/templates/notifications/notification_settings.html:124
|
||||
msgid "Rappels par e-mail"
|
||||
msgstr "E-mailherinneringen"
|
||||
|
||||
#: notifications/templates/notifications/notification_settings.html:41
|
||||
#: notifications/templates/notifications/notification_settings.html:137
|
||||
msgid "Langue préférée pour les e-mails et notifications"
|
||||
msgstr "Voorkeurstaal voor e-mails en meldingen"
|
||||
|
||||
#: notifications/templates/notifications/notification_settings.html:50
|
||||
#: notifications/templates/notifications/notification_settings.html:146
|
||||
msgid ""
|
||||
"Les e-mails de rappel et les notifications automatiques vous seront envoyés "
|
||||
"dans cette langue."
|
||||
msgstr ""
|
||||
"Herinneringsmails en automatische meldingen worden in deze taal verzonden."
|
||||
|
||||
#: notifications/templates/notifications/notification_settings.html:58
|
||||
#: notifications/templates/notifications/notification_settings.html:154
|
||||
msgid "Activer les rappels par e-mail"
|
||||
msgstr "E-mailherinneringen inschakelen"
|
||||
|
||||
#: notifications/templates/notifications/notification_settings.html:61
|
||||
#: notifications/templates/notifications/notification_settings.html:157
|
||||
msgid ""
|
||||
"Recevoir un récapitulatif par e-mail si des notifications restent non lues "
|
||||
"au-delà du délai spécifié."
|
||||
|
|
@ -739,35 +968,35 @@ msgstr ""
|
|||
"Ontvang een samenvatting per e-mail als meldingen langer dan de opgegeven "
|
||||
"tijd ongelezen blijven."
|
||||
|
||||
#: notifications/templates/notifications/notification_settings.html:72
|
||||
#: notifications/templates/notifications/notification_settings.html:168
|
||||
msgid "Adresse(s) e-mail de réception"
|
||||
msgstr "E-mailadres(sen) voor ontvangst"
|
||||
|
||||
#: notifications/templates/notifications/notification_settings.html:80
|
||||
#: notifications/templates/notifications/notification_settings.html:176
|
||||
msgid "Laissez vide pour utiliser l'e-mail principal de votre compte"
|
||||
msgstr "Leeg laten om het primaire e-mailadres van uw account te gebruiken"
|
||||
|
||||
#: notifications/templates/notifications/notification_settings.html:81
|
||||
#: notifications/templates/notifications/notification_settings.html:177
|
||||
msgid "Pour plusieurs destinataires, séparez les adresses par des virgules."
|
||||
msgstr "Voor meerdere ontvangers, scheid de adressen met komma's."
|
||||
|
||||
#: notifications/templates/notifications/notification_settings.html:88
|
||||
#: notifications/templates/notifications/notification_settings.html:184
|
||||
msgid "Délai avant l'envoi du rappel (en heures)"
|
||||
msgstr "Vertraging voor verzending herinnering (in uren)"
|
||||
|
||||
#: notifications/templates/notifications/notification_settings.html:92
|
||||
#: notifications/templates/notifications/notification_settings.html:188
|
||||
msgid "heures"
|
||||
msgstr "uur"
|
||||
|
||||
#: notifications/templates/notifications/notification_settings.html:98
|
||||
#: notifications/templates/notifications/notification_settings.html:194
|
||||
msgid ""
|
||||
"Exemple: 24h = un rappel sera envoyé si une notification n'a pas été lue au "
|
||||
"bout de 24 heures."
|
||||
msgstr ""
|
||||
"Voorbeeld: 24u = er wordt een herinnering gestuurd als een melding na 24 uur "
|
||||
"niet is gelezen."
|
||||
"Voorbeeld: 24u = er wordt een herinnering gestuurd als een melding na 24 uur"
|
||||
" niet is gelezen."
|
||||
|
||||
#: notifications/templates/notifications/notification_settings.html:107
|
||||
#: notifications/templates/notifications/notification_settings.html:203
|
||||
msgid "Enregistrer mes préférences"
|
||||
msgstr "Mijn voorkeuren opslaan"
|
||||
|
||||
|
|
@ -788,7 +1017,7 @@ msgid "Nouvelle équipe"
|
|||
msgstr "Nieuw team"
|
||||
|
||||
#: notifications/templates/notifications/team_list.html:46
|
||||
#: notifications/views.py:498
|
||||
#: notifications/views.py:533
|
||||
msgid "Modifier"
|
||||
msgstr "Bewerken"
|
||||
|
||||
|
|
@ -820,63 +1049,124 @@ msgstr "Geen teams gedefinieerd."
|
|||
msgid "Créer une équipe"
|
||||
msgstr "Team aanmaken"
|
||||
|
||||
#: notifications/views.py:390
|
||||
#: notifications/tests.py:319
|
||||
msgid "Alerte Intervention"
|
||||
msgstr "Interventiewaarschuwing"
|
||||
|
||||
#: notifications/tests.py:320
|
||||
msgid "Nouvelle intervention assignée"
|
||||
msgstr "Nieuwe interventie toegewezen"
|
||||
|
||||
#: notifications/views.py:425
|
||||
msgid "Vous n'avez pas les droits pour créer une notification."
|
||||
msgstr "U heeft geen rechten om een melding aan te maken."
|
||||
|
||||
#: notifications/views.py:423
|
||||
#: notifications/views.py:458
|
||||
msgid "Notification envoyée avec succès."
|
||||
msgstr "Melding succesvol verzonden."
|
||||
|
||||
#: notifications/views.py:460
|
||||
#: notifications/views.py:495
|
||||
msgid "Vous n'avez pas les droits pour créer une équipe."
|
||||
msgstr "U heeft geen rechten om een team aan te maken."
|
||||
|
||||
#: notifications/views.py:470
|
||||
#: notifications/views.py:505
|
||||
msgid "Équipe créée avec succès."
|
||||
msgstr "Team succesvol aangemaakt."
|
||||
|
||||
#: notifications/views.py:475
|
||||
#: notifications/views.py:510
|
||||
msgid "Créer"
|
||||
msgstr "Aanmaken"
|
||||
|
||||
#: notifications/views.py:486
|
||||
#: notifications/views.py:521
|
||||
msgid "Vous n'avez pas les droits pour modifier une équipe."
|
||||
msgstr "U heeft geen rechten om een team te bewerken."
|
||||
|
||||
#: notifications/views.py:493
|
||||
#: notifications/views.py:528
|
||||
msgid "Équipe mise à jour."
|
||||
msgstr "Team bijgewerkt."
|
||||
|
||||
#: notifications/views.py:508
|
||||
#: notifications/views.py:543
|
||||
msgid "Vous n'avez pas les droits pour supprimer une équipe."
|
||||
msgstr "U heeft geen rechten om een team te verwijderen."
|
||||
|
||||
#: notifications/views.py:511
|
||||
#: notifications/views.py:546
|
||||
msgid "Équipe supprimée."
|
||||
msgstr "Team verwijderd."
|
||||
|
||||
#: notifications/views.py:561
|
||||
#: notifications/views.py:604
|
||||
msgid "Vous n'êtes pas participant de cette discussion."
|
||||
msgstr "U bent geen deelnemer aan dit gesprek."
|
||||
|
||||
#: notifications/views.py:574
|
||||
#: notifications/views.py:620
|
||||
msgid "Message envoyé."
|
||||
msgstr "Bericht verzonden."
|
||||
|
||||
#: notifications/views.py:602
|
||||
#: notifications/views.py:648
|
||||
msgid "Vous n'avez pas accès à cette discussion."
|
||||
msgstr "U hebt geen toegang tot dit gesprek."
|
||||
|
||||
#: notifications/views.py:699
|
||||
msgid "Statut de la discussion mis à jour."
|
||||
msgstr "Status van het gesprek bijgewerkt."
|
||||
|
||||
#: notifications/views.py:722
|
||||
#, python-format
|
||||
msgid "Discussion de %(name)s"
|
||||
msgstr "Gesprek van %(name)s"
|
||||
|
||||
#: notifications/views.py:613
|
||||
#: notifications/views.py:736
|
||||
msgid "Discussion créée avec succès."
|
||||
msgstr "Gesprek succesvol aangemaakt."
|
||||
|
||||
#: notifications/views.py:616
|
||||
#: notifications/views.py:739
|
||||
msgid "Le contenu du message ne peut pas être vide."
|
||||
msgstr "De inhoud van het bericht mag niet leeg zijn."
|
||||
|
||||
#: notifications/views.py:640
|
||||
#: notifications/views.py:763
|
||||
msgid "Vos préférences de rappel par e-mail ont été enregistrées."
|
||||
msgstr "Uw e-mailherinneringsvoorkeuren zijn opgeslagen."
|
||||
|
||||
#: notifications/views.py:896
|
||||
msgid "Requête invalide"
|
||||
msgstr ""
|
||||
|
||||
#: notifications/views.py:904
|
||||
msgid "Paramètres d'abonnement push incomplets"
|
||||
msgstr ""
|
||||
|
||||
#: notifications/views.py:954
|
||||
msgid "Aucun appareil actif n'est enregistré pour votre compte."
|
||||
msgstr ""
|
||||
|
||||
#: notifications/views.py:959
|
||||
msgid "Test de notification Loko"
|
||||
msgstr "Loko-meldingstest"
|
||||
|
||||
#: notifications/views.py:960
|
||||
msgid ""
|
||||
"Les notifications instantanées sur votre appareil fonctionnent correctement "
|
||||
"!"
|
||||
msgstr ""
|
||||
|
||||
#: notifications/views.py:968
|
||||
#, python-format
|
||||
msgid "Notification de test envoyée avec succès sur %(count)d appareil(s) !"
|
||||
msgstr "Testmelding succesvol verzonden naar %(count)d apparaat/apparaten!"
|
||||
|
||||
#: notifications/views.py:972
|
||||
msgid "Impossible de délivrer la notification au service push."
|
||||
msgstr ""
|
||||
|
||||
#: notifications/views.py:974
|
||||
#, python-format
|
||||
msgid "Échec de distribution : %(error)s"
|
||||
msgstr ""
|
||||
|
||||
#: notifications/views.py:988
|
||||
#, python-format
|
||||
msgid "L'appareil « %(name)s » a été retiré."
|
||||
msgstr ""
|
||||
|
||||
#~ msgid ""
|
||||
#~ "Gérez vos préférences de rappel par e-mail pour les notifications non lues."
|
||||
#~ msgstr "Beheer uw e-mailherinneringsvoorkeuren voor ongelezen meldingen."
|
||||
|
|
|
|||
Binary file not shown.
|
|
@ -6,7 +6,7 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: PACKAGE VERSION\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2026-08-19 09:47+0200\n"
|
||||
"POT-Creation-Date: 2026-09-13 09:05+0200\n"
|
||||
"PO-Revision-Date: 2025-12-04 12:30+0100\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: English <LL@li.org>\n"
|
||||
|
|
@ -402,6 +402,7 @@ msgstr "To be processed"
|
|||
|
||||
#: observations/models.py:428
|
||||
#: observations/templates/observations/_observations_list_mobile.html:71
|
||||
#: observations/templates/observations/observation_detail.html:876
|
||||
msgid "En cours"
|
||||
msgstr "In progress"
|
||||
|
||||
|
|
@ -493,7 +494,7 @@ msgid "Modifier"
|
|||
msgstr "Edit"
|
||||
|
||||
#: observations/templates/observations/observation_detail.html:146
|
||||
#: observations/templates/observations/observation_detail.html:968
|
||||
#: observations/templates/observations/observation_detail.html:1005
|
||||
#: observations/templates/observations/observation_detail_mobile.html:213
|
||||
#: observations/templates/observations/observation_detail_mobile.html:735
|
||||
msgid "Supprimer"
|
||||
|
|
@ -591,7 +592,7 @@ msgstr "Add a comment..."
|
|||
#: observations/templates/observations/observation_detail.html:537
|
||||
#: observations/templates/observations/observation_detail.html:805
|
||||
#: observations/templates/observations/observation_detail.html:836
|
||||
#: observations/templates/observations/observation_detail.html:965
|
||||
#: observations/templates/observations/observation_detail.html:1002
|
||||
#: observations/templates/observations/observation_detail_mobile.html:659
|
||||
#: observations/templates/observations/observation_detail_mobile.html:732
|
||||
#: observations/templates/observations/observation_detail_mobile.html:765
|
||||
|
|
@ -642,7 +643,7 @@ msgid "Marquer comme traitée"
|
|||
msgstr "Mark as processed"
|
||||
|
||||
#: observations/templates/observations/observation_detail.html:651
|
||||
#: observations/templates/observations/observation_detail.html:931
|
||||
#: observations/templates/observations/observation_detail.html:968
|
||||
#: observations/templates/observations/observation_detail_mobile.html:176
|
||||
#: observations/templates/observations/observation_detail_mobile.html:590
|
||||
#: observations/templates/observations/observation_form.html:1894
|
||||
|
|
@ -727,7 +728,7 @@ msgstr "Code or title…"
|
|||
|
||||
#: observations/templates/observations/observation_detail.html:807
|
||||
#: observations/templates/observations/observation_detail.html:838
|
||||
#: observations/templates/observations/observation_detail.html:1083
|
||||
#: observations/templates/observations/observation_detail.html:1120
|
||||
#: observations/templates/observations/observation_detail_mobile.html:767
|
||||
#: observations/templates/observations/observation_detail_mobile.html:798
|
||||
#: observations/templates/observations/observation_detail_mobile.html:925
|
||||
|
|
@ -749,27 +750,50 @@ msgstr "Code or name…"
|
|||
msgid "Messages"
|
||||
msgstr "Messages"
|
||||
|
||||
#: observations/templates/observations/observation_detail.html:906
|
||||
#: observations/templates/observations/observation_detail.html:870
|
||||
#: observations/templates/observations/observation_detail.html:1916
|
||||
#: observations/templates/observations/observations_index.html:257
|
||||
#: observations/views.py:579
|
||||
msgid "Statut"
|
||||
msgstr "Status"
|
||||
|
||||
#: observations/templates/observations/observation_detail.html:874
|
||||
msgid "Statut de suivi"
|
||||
msgstr "Tracking status"
|
||||
|
||||
#: observations/templates/observations/observation_detail.html:875
|
||||
msgid "Important / À traiter"
|
||||
msgstr "Important / To process"
|
||||
|
||||
#: observations/templates/observations/observation_detail.html:877
|
||||
msgid "Traité / Fait"
|
||||
msgstr "Processed / Done"
|
||||
|
||||
#: observations/templates/observations/observation_detail.html:879
|
||||
msgid "Aucun drapeau"
|
||||
msgstr ""
|
||||
|
||||
#: observations/templates/observations/observation_detail.html:943
|
||||
#: observations/templates/observations/observation_detail_mobile.html:569
|
||||
msgid "Aucun message."
|
||||
msgstr "No message."
|
||||
|
||||
#: observations/templates/observations/observation_detail.html:923
|
||||
#: observations/templates/observations/observation_detail.html:960
|
||||
#: observations/templates/observations/observation_detail_mobile.html:583
|
||||
msgid "Écrire un message… (@ pour mentionner)"
|
||||
msgstr "Write a message… (@ to mention)"
|
||||
|
||||
#: observations/templates/observations/observation_detail.html:934
|
||||
#: observations/templates/observations/observation_detail.html:971
|
||||
#: observations/templates/observations/observation_detail_mobile.html:593
|
||||
msgid "Joindre un fichier"
|
||||
msgstr "Attach a file"
|
||||
|
||||
#: observations/templates/observations/observation_detail.html:958
|
||||
#: observations/templates/observations/observation_detail.html:995
|
||||
#: observations/templates/observations/observation_detail_mobile.html:725
|
||||
msgid "Supprimer l'observation"
|
||||
msgstr "Delete observation"
|
||||
|
||||
#: observations/templates/observations/observation_detail.html:962
|
||||
#: observations/templates/observations/observation_detail.html:999
|
||||
#: observations/templates/observations/observation_detail_mobile.html:729
|
||||
#, python-format
|
||||
msgid ""
|
||||
|
|
@ -779,65 +803,65 @@ msgstr ""
|
|||
"Are you sure you want to delete observation <strong>%(code)s</strong>? This "
|
||||
"action is irreversible."
|
||||
|
||||
#: observations/templates/observations/observation_detail.html:1107
|
||||
#: observations/templates/observations/observation_detail.html:1144
|
||||
msgid "Aucune localisation disponible"
|
||||
msgstr "No location available"
|
||||
|
||||
#: observations/templates/observations/observation_detail.html:1259
|
||||
#: observations/templates/observations/observation_detail.html:1296
|
||||
#: observations/templates/observations/observation_form.html:2321
|
||||
msgid "Voir le détail"
|
||||
msgstr "See details"
|
||||
|
||||
#: observations/templates/observations/observation_detail.html:1288
|
||||
#: observations/templates/observations/observation_detail.html:1325
|
||||
msgid "observations à proximité"
|
||||
msgstr "sightings nearby"
|
||||
|
||||
#: observations/templates/observations/observation_detail.html:1289
|
||||
#: observations/templates/observations/observation_detail.html:1326
|
||||
msgid "Aucune observation similaire à proximité"
|
||||
msgstr "No similar sightings nearby"
|
||||
|
||||
#: observations/templates/observations/observation_detail.html:1407
|
||||
#: observations/templates/observations/observation_detail.html:1444
|
||||
#: observations/templates/observations/observation_form.html:2556
|
||||
msgid "Voir l'intervention"
|
||||
msgstr "View intervention"
|
||||
|
||||
#: observations/templates/observations/observation_detail.html:1437
|
||||
#: observations/templates/observations/observation_detail.html:1474
|
||||
#: observations/templates/observations/observation_form.html:2594
|
||||
msgid "intervention(s) proche(s) dans les 3 derniers mois"
|
||||
msgstr "close intervention(s) in the last 3 months"
|
||||
|
||||
#: observations/templates/observations/observation_detail.html:1438
|
||||
#: observations/templates/observations/observation_detail.html:1475
|
||||
msgid "Aucune intervention récente pour cette catégorie"
|
||||
msgstr "No recent intervention for this category"
|
||||
|
||||
#: observations/templates/observations/observation_detail.html:1529
|
||||
#: observations/templates/observations/observation_detail.html:1566
|
||||
#: observations/templates/observations/observation_detail_mobile.html:1027
|
||||
#: observations/templates/observations/observations_index.html:384
|
||||
#: observations/templates/observations/observations_index_mobile.html:460
|
||||
msgid "Chargement..."
|
||||
msgstr "Loading..."
|
||||
|
||||
#: observations/templates/observations/observation_detail.html:1535
|
||||
#: observations/templates/observations/observation_detail.html:1572
|
||||
#: observations/templates/observations/observation_detail_mobile.html:1033
|
||||
msgid "URL de résumé manquante"
|
||||
msgstr "Summary URL missing"
|
||||
|
||||
#: observations/templates/observations/observation_detail.html:1551
|
||||
#: observations/templates/observations/observation_detail.html:1588
|
||||
#: observations/templates/observations/observation_detail_mobile.html:1049
|
||||
msgid "Erreur lors du chargement du résumé"
|
||||
msgstr "Error loading summary"
|
||||
|
||||
#: observations/templates/observations/observation_detail.html:1614
|
||||
#: observations/templates/observations/observation_detail.html:1651
|
||||
#: observations/templates/observations/observation_detail_mobile.html:1187
|
||||
msgid "Retirer"
|
||||
msgstr "Remove"
|
||||
|
||||
#: observations/templates/observations/observation_detail.html:1791
|
||||
#: observations/templates/observations/observation_detail.html:1828
|
||||
#: observations/views.py:1926
|
||||
msgid "Le message ne peut pas être vide."
|
||||
msgstr "The message cannot be empty."
|
||||
|
||||
#: observations/templates/observations/observation_detail.html:1870
|
||||
#: observations/templates/observations/observation_detail.html:1961
|
||||
#: observations/templates/observations/observation_detail_mobile.html:1079
|
||||
msgid "Aucun résultat"
|
||||
msgstr "No results"
|
||||
|
|
@ -1166,11 +1190,6 @@ msgstr "All"
|
|||
msgid "Aucun"
|
||||
msgstr "None"
|
||||
|
||||
#: observations/templates/observations/observations_index.html:257
|
||||
#: observations/views.py:579
|
||||
msgid "Statut"
|
||||
msgstr "Status"
|
||||
|
||||
#: observations/templates/observations/observations_index.html:276
|
||||
msgid "Période"
|
||||
msgstr "Period"
|
||||
|
|
|
|||
Binary file not shown.
|
|
@ -6,7 +6,7 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: PACKAGE VERSION\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2026-08-19 09:47+0200\n"
|
||||
"POT-Creation-Date: 2026-09-12 15:59+0200\n"
|
||||
"PO-Revision-Date: 2025-12-04 12:30+0100\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: French <LL@li.org>\n"
|
||||
|
|
@ -407,6 +407,7 @@ msgstr "À traiter"
|
|||
|
||||
#: observations/models.py:428
|
||||
#: observations/templates/observations/_observations_list_mobile.html:71
|
||||
#: observations/templates/observations/observation_detail.html:876
|
||||
msgid "En cours"
|
||||
msgstr "En cours"
|
||||
|
||||
|
|
@ -498,7 +499,7 @@ msgid "Modifier"
|
|||
msgstr "Modifier"
|
||||
|
||||
#: observations/templates/observations/observation_detail.html:146
|
||||
#: observations/templates/observations/observation_detail.html:968
|
||||
#: observations/templates/observations/observation_detail.html:1005
|
||||
#: observations/templates/observations/observation_detail_mobile.html:213
|
||||
#: observations/templates/observations/observation_detail_mobile.html:735
|
||||
msgid "Supprimer"
|
||||
|
|
@ -596,7 +597,7 @@ msgstr "Ajoutez un commentaire..."
|
|||
#: observations/templates/observations/observation_detail.html:537
|
||||
#: observations/templates/observations/observation_detail.html:805
|
||||
#: observations/templates/observations/observation_detail.html:836
|
||||
#: observations/templates/observations/observation_detail.html:965
|
||||
#: observations/templates/observations/observation_detail.html:1002
|
||||
#: observations/templates/observations/observation_detail_mobile.html:659
|
||||
#: observations/templates/observations/observation_detail_mobile.html:732
|
||||
#: observations/templates/observations/observation_detail_mobile.html:765
|
||||
|
|
@ -647,7 +648,7 @@ msgid "Marquer comme traitée"
|
|||
msgstr "Marquer comme traitée"
|
||||
|
||||
#: observations/templates/observations/observation_detail.html:651
|
||||
#: observations/templates/observations/observation_detail.html:931
|
||||
#: observations/templates/observations/observation_detail.html:968
|
||||
#: observations/templates/observations/observation_detail_mobile.html:176
|
||||
#: observations/templates/observations/observation_detail_mobile.html:590
|
||||
#: observations/templates/observations/observation_form.html:1894
|
||||
|
|
@ -733,7 +734,7 @@ msgstr "Code ou titre…"
|
|||
|
||||
#: observations/templates/observations/observation_detail.html:807
|
||||
#: observations/templates/observations/observation_detail.html:838
|
||||
#: observations/templates/observations/observation_detail.html:1083
|
||||
#: observations/templates/observations/observation_detail.html:1120
|
||||
#: observations/templates/observations/observation_detail_mobile.html:767
|
||||
#: observations/templates/observations/observation_detail_mobile.html:798
|
||||
#: observations/templates/observations/observation_detail_mobile.html:925
|
||||
|
|
@ -755,27 +756,50 @@ msgstr "Code ou nom…"
|
|||
msgid "Messages"
|
||||
msgstr "Messages"
|
||||
|
||||
#: observations/templates/observations/observation_detail.html:906
|
||||
#: observations/templates/observations/observation_detail.html:870
|
||||
#: observations/templates/observations/observation_detail.html:1916
|
||||
#: observations/templates/observations/observations_index.html:257
|
||||
#: observations/views.py:579
|
||||
msgid "Statut"
|
||||
msgstr "Statut"
|
||||
|
||||
#: observations/templates/observations/observation_detail.html:874
|
||||
msgid "Statut de suivi"
|
||||
msgstr "Statut de suivi"
|
||||
|
||||
#: observations/templates/observations/observation_detail.html:875
|
||||
msgid "Important / À traiter"
|
||||
msgstr "Important / À traiter"
|
||||
|
||||
#: observations/templates/observations/observation_detail.html:877
|
||||
msgid "Traité / Fait"
|
||||
msgstr "Traité / Fait"
|
||||
|
||||
#: observations/templates/observations/observation_detail.html:879
|
||||
msgid "Aucun drapeau"
|
||||
msgstr ""
|
||||
|
||||
#: observations/templates/observations/observation_detail.html:943
|
||||
#: observations/templates/observations/observation_detail_mobile.html:569
|
||||
msgid "Aucun message."
|
||||
msgstr "Aucun message."
|
||||
|
||||
#: observations/templates/observations/observation_detail.html:923
|
||||
#: observations/templates/observations/observation_detail.html:960
|
||||
#: observations/templates/observations/observation_detail_mobile.html:583
|
||||
msgid "Écrire un message… (@ pour mentionner)"
|
||||
msgstr "Écrire un message… (@ pour mentionner)"
|
||||
|
||||
#: observations/templates/observations/observation_detail.html:934
|
||||
#: observations/templates/observations/observation_detail.html:971
|
||||
#: observations/templates/observations/observation_detail_mobile.html:593
|
||||
msgid "Joindre un fichier"
|
||||
msgstr "Joindre un fichier"
|
||||
|
||||
#: observations/templates/observations/observation_detail.html:958
|
||||
#: observations/templates/observations/observation_detail.html:995
|
||||
#: observations/templates/observations/observation_detail_mobile.html:725
|
||||
msgid "Supprimer l'observation"
|
||||
msgstr "Supprimer l'observation"
|
||||
|
||||
#: observations/templates/observations/observation_detail.html:962
|
||||
#: observations/templates/observations/observation_detail.html:999
|
||||
#: observations/templates/observations/observation_detail_mobile.html:729
|
||||
#, python-format
|
||||
msgid ""
|
||||
|
|
@ -786,65 +810,65 @@ msgstr ""
|
|||
"Cette action est irréversible.Voulez-vous vraiment supprimer l'observation "
|
||||
"<strong>%(code)s</strong> ? Cette action est irréversible."
|
||||
|
||||
#: observations/templates/observations/observation_detail.html:1107
|
||||
#: observations/templates/observations/observation_detail.html:1144
|
||||
msgid "Aucune localisation disponible"
|
||||
msgstr "Aucune localisation disponible"
|
||||
|
||||
#: observations/templates/observations/observation_detail.html:1259
|
||||
#: observations/templates/observations/observation_detail.html:1296
|
||||
#: observations/templates/observations/observation_form.html:2321
|
||||
msgid "Voir le détail"
|
||||
msgstr "Voir le détail"
|
||||
|
||||
#: observations/templates/observations/observation_detail.html:1288
|
||||
#: observations/templates/observations/observation_detail.html:1325
|
||||
msgid "observations à proximité"
|
||||
msgstr "observations à proximité"
|
||||
|
||||
#: observations/templates/observations/observation_detail.html:1289
|
||||
#: observations/templates/observations/observation_detail.html:1326
|
||||
msgid "Aucune observation similaire à proximité"
|
||||
msgstr "Aucune observation similaire à proximité"
|
||||
|
||||
#: observations/templates/observations/observation_detail.html:1407
|
||||
#: observations/templates/observations/observation_detail.html:1444
|
||||
#: observations/templates/observations/observation_form.html:2556
|
||||
msgid "Voir l'intervention"
|
||||
msgstr "Voir l'intervention"
|
||||
|
||||
#: observations/templates/observations/observation_detail.html:1437
|
||||
#: observations/templates/observations/observation_detail.html:1474
|
||||
#: observations/templates/observations/observation_form.html:2594
|
||||
msgid "intervention(s) proche(s) dans les 3 derniers mois"
|
||||
msgstr "intervention(s) proche(s) dans les 3 derniers mois"
|
||||
|
||||
#: observations/templates/observations/observation_detail.html:1438
|
||||
#: observations/templates/observations/observation_detail.html:1475
|
||||
msgid "Aucune intervention récente pour cette catégorie"
|
||||
msgstr "Aucune intervention récente pour cette catégorie"
|
||||
|
||||
#: observations/templates/observations/observation_detail.html:1529
|
||||
#: observations/templates/observations/observation_detail.html:1566
|
||||
#: observations/templates/observations/observation_detail_mobile.html:1027
|
||||
#: observations/templates/observations/observations_index.html:384
|
||||
#: observations/templates/observations/observations_index_mobile.html:460
|
||||
msgid "Chargement..."
|
||||
msgstr "Chargement..."
|
||||
|
||||
#: observations/templates/observations/observation_detail.html:1535
|
||||
#: observations/templates/observations/observation_detail.html:1572
|
||||
#: observations/templates/observations/observation_detail_mobile.html:1033
|
||||
msgid "URL de résumé manquante"
|
||||
msgstr "URL de résumé manquante"
|
||||
|
||||
#: observations/templates/observations/observation_detail.html:1551
|
||||
#: observations/templates/observations/observation_detail.html:1588
|
||||
#: observations/templates/observations/observation_detail_mobile.html:1049
|
||||
msgid "Erreur lors du chargement du résumé"
|
||||
msgstr "Erreur lors du chargement du résumé"
|
||||
|
||||
#: observations/templates/observations/observation_detail.html:1614
|
||||
#: observations/templates/observations/observation_detail.html:1651
|
||||
#: observations/templates/observations/observation_detail_mobile.html:1187
|
||||
msgid "Retirer"
|
||||
msgstr "Retirer"
|
||||
|
||||
#: observations/templates/observations/observation_detail.html:1791
|
||||
#: observations/templates/observations/observation_detail.html:1828
|
||||
#: observations/views.py:1926
|
||||
msgid "Le message ne peut pas être vide."
|
||||
msgstr "Le message ne peut pas être vide."
|
||||
|
||||
#: observations/templates/observations/observation_detail.html:1870
|
||||
#: observations/templates/observations/observation_detail.html:1961
|
||||
#: observations/templates/observations/observation_detail_mobile.html:1079
|
||||
msgid "Aucun résultat"
|
||||
msgstr "Aucun résultat"
|
||||
|
|
@ -1175,11 +1199,6 @@ msgstr "Tous"
|
|||
msgid "Aucun"
|
||||
msgstr "Aucun"
|
||||
|
||||
#: observations/templates/observations/observations_index.html:257
|
||||
#: observations/views.py:579
|
||||
msgid "Statut"
|
||||
msgstr "Statut"
|
||||
|
||||
#: observations/templates/observations/observations_index.html:276
|
||||
msgid "Période"
|
||||
msgstr "Période"
|
||||
|
|
|
|||
Binary file not shown.
|
|
@ -6,7 +6,7 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: PACKAGE VERSION\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2026-08-19 09:47+0200\n"
|
||||
"POT-Creation-Date: 2026-09-12 15:59+0200\n"
|
||||
"PO-Revision-Date: 2025-12-04 12:30+0100\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: Dutch <LL@li.org>\n"
|
||||
|
|
@ -406,6 +406,7 @@ msgstr "Te behandelen"
|
|||
|
||||
#: observations/models.py:428
|
||||
#: observations/templates/observations/_observations_list_mobile.html:71
|
||||
#: observations/templates/observations/observation_detail.html:876
|
||||
msgid "En cours"
|
||||
msgstr "In behandeling"
|
||||
|
||||
|
|
@ -497,7 +498,7 @@ msgid "Modifier"
|
|||
msgstr "Bewerken"
|
||||
|
||||
#: observations/templates/observations/observation_detail.html:146
|
||||
#: observations/templates/observations/observation_detail.html:968
|
||||
#: observations/templates/observations/observation_detail.html:1005
|
||||
#: observations/templates/observations/observation_detail_mobile.html:213
|
||||
#: observations/templates/observations/observation_detail_mobile.html:735
|
||||
msgid "Supprimer"
|
||||
|
|
@ -595,7 +596,7 @@ msgstr "Voeg een opmerking toe..."
|
|||
#: observations/templates/observations/observation_detail.html:537
|
||||
#: observations/templates/observations/observation_detail.html:805
|
||||
#: observations/templates/observations/observation_detail.html:836
|
||||
#: observations/templates/observations/observation_detail.html:965
|
||||
#: observations/templates/observations/observation_detail.html:1002
|
||||
#: observations/templates/observations/observation_detail_mobile.html:659
|
||||
#: observations/templates/observations/observation_detail_mobile.html:732
|
||||
#: observations/templates/observations/observation_detail_mobile.html:765
|
||||
|
|
@ -646,7 +647,7 @@ msgid "Marquer comme traitée"
|
|||
msgstr "Markeer als verwerkt"
|
||||
|
||||
#: observations/templates/observations/observation_detail.html:651
|
||||
#: observations/templates/observations/observation_detail.html:931
|
||||
#: observations/templates/observations/observation_detail.html:968
|
||||
#: observations/templates/observations/observation_detail_mobile.html:176
|
||||
#: observations/templates/observations/observation_detail_mobile.html:590
|
||||
#: observations/templates/observations/observation_form.html:1894
|
||||
|
|
@ -730,7 +731,7 @@ msgstr "Code of titel…"
|
|||
|
||||
#: observations/templates/observations/observation_detail.html:807
|
||||
#: observations/templates/observations/observation_detail.html:838
|
||||
#: observations/templates/observations/observation_detail.html:1083
|
||||
#: observations/templates/observations/observation_detail.html:1120
|
||||
#: observations/templates/observations/observation_detail_mobile.html:767
|
||||
#: observations/templates/observations/observation_detail_mobile.html:798
|
||||
#: observations/templates/observations/observation_detail_mobile.html:925
|
||||
|
|
@ -752,27 +753,50 @@ msgstr "Code of naam…"
|
|||
msgid "Messages"
|
||||
msgstr "Berichten"
|
||||
|
||||
#: observations/templates/observations/observation_detail.html:906
|
||||
#: observations/templates/observations/observation_detail.html:870
|
||||
#: observations/templates/observations/observation_detail.html:1916
|
||||
#: observations/templates/observations/observations_index.html:257
|
||||
#: observations/views.py:579
|
||||
msgid "Statut"
|
||||
msgstr "Status"
|
||||
|
||||
#: observations/templates/observations/observation_detail.html:874
|
||||
msgid "Statut de suivi"
|
||||
msgstr "Opvolgingsstatus"
|
||||
|
||||
#: observations/templates/observations/observation_detail.html:875
|
||||
msgid "Important / À traiter"
|
||||
msgstr "Belangrijk / Te behandelen"
|
||||
|
||||
#: observations/templates/observations/observation_detail.html:877
|
||||
msgid "Traité / Fait"
|
||||
msgstr "Verwerkt / Gedaan"
|
||||
|
||||
#: observations/templates/observations/observation_detail.html:879
|
||||
msgid "Aucun drapeau"
|
||||
msgstr ""
|
||||
|
||||
#: observations/templates/observations/observation_detail.html:943
|
||||
#: observations/templates/observations/observation_detail_mobile.html:569
|
||||
msgid "Aucun message."
|
||||
msgstr "Geen bericht."
|
||||
|
||||
#: observations/templates/observations/observation_detail.html:923
|
||||
#: observations/templates/observations/observation_detail.html:960
|
||||
#: observations/templates/observations/observation_detail_mobile.html:583
|
||||
msgid "Écrire un message… (@ pour mentionner)"
|
||||
msgstr "Schrijf een bericht… (@ om te vermelden)"
|
||||
|
||||
#: observations/templates/observations/observation_detail.html:934
|
||||
#: observations/templates/observations/observation_detail.html:971
|
||||
#: observations/templates/observations/observation_detail_mobile.html:593
|
||||
msgid "Joindre un fichier"
|
||||
msgstr "Bestand bijvoegen"
|
||||
|
||||
#: observations/templates/observations/observation_detail.html:958
|
||||
#: observations/templates/observations/observation_detail.html:995
|
||||
#: observations/templates/observations/observation_detail_mobile.html:725
|
||||
msgid "Supprimer l'observation"
|
||||
msgstr "Waarneming verwijderen"
|
||||
|
||||
#: observations/templates/observations/observation_detail.html:962
|
||||
#: observations/templates/observations/observation_detail.html:999
|
||||
#: observations/templates/observations/observation_detail_mobile.html:729
|
||||
#, python-format
|
||||
msgid ""
|
||||
|
|
@ -782,65 +806,65 @@ msgstr ""
|
|||
"Weet u zeker dat u observatie <strong>%(code)s</strong> wilt verwijderen? "
|
||||
"Deze actie is onomkeerbaar."
|
||||
|
||||
#: observations/templates/observations/observation_detail.html:1107
|
||||
#: observations/templates/observations/observation_detail.html:1144
|
||||
msgid "Aucune localisation disponible"
|
||||
msgstr "Geen locatie beschikbaar"
|
||||
|
||||
#: observations/templates/observations/observation_detail.html:1259
|
||||
#: observations/templates/observations/observation_detail.html:1296
|
||||
#: observations/templates/observations/observation_form.html:2321
|
||||
msgid "Voir le détail"
|
||||
msgstr "Zie details"
|
||||
|
||||
#: observations/templates/observations/observation_detail.html:1288
|
||||
#: observations/templates/observations/observation_detail.html:1325
|
||||
msgid "observations à proximité"
|
||||
msgstr "waarnemingen in de buurt"
|
||||
|
||||
#: observations/templates/observations/observation_detail.html:1289
|
||||
#: observations/templates/observations/observation_detail.html:1326
|
||||
msgid "Aucune observation similaire à proximité"
|
||||
msgstr "Geen soortgelijke waarnemingen in de buurt"
|
||||
|
||||
#: observations/templates/observations/observation_detail.html:1407
|
||||
#: observations/templates/observations/observation_detail.html:1444
|
||||
#: observations/templates/observations/observation_form.html:2556
|
||||
msgid "Voir l'intervention"
|
||||
msgstr "Interventie bekijken"
|
||||
|
||||
#: observations/templates/observations/observation_detail.html:1437
|
||||
#: observations/templates/observations/observation_detail.html:1474
|
||||
#: observations/templates/observations/observation_form.html:2594
|
||||
msgid "intervention(s) proche(s) dans les 3 derniers mois"
|
||||
msgstr "nauwe interventie(s) in de afgelopen 3 maanden"
|
||||
|
||||
#: observations/templates/observations/observation_detail.html:1438
|
||||
#: observations/templates/observations/observation_detail.html:1475
|
||||
msgid "Aucune intervention récente pour cette catégorie"
|
||||
msgstr "Geen recente interventie voor deze categorie"
|
||||
|
||||
#: observations/templates/observations/observation_detail.html:1529
|
||||
#: observations/templates/observations/observation_detail.html:1566
|
||||
#: observations/templates/observations/observation_detail_mobile.html:1027
|
||||
#: observations/templates/observations/observations_index.html:384
|
||||
#: observations/templates/observations/observations_index_mobile.html:460
|
||||
msgid "Chargement..."
|
||||
msgstr "Laden..."
|
||||
|
||||
#: observations/templates/observations/observation_detail.html:1535
|
||||
#: observations/templates/observations/observation_detail.html:1572
|
||||
#: observations/templates/observations/observation_detail_mobile.html:1033
|
||||
msgid "URL de résumé manquante"
|
||||
msgstr "Samenvattings-URL ontbreekt"
|
||||
|
||||
#: observations/templates/observations/observation_detail.html:1551
|
||||
#: observations/templates/observations/observation_detail.html:1588
|
||||
#: observations/templates/observations/observation_detail_mobile.html:1049
|
||||
msgid "Erreur lors du chargement du résumé"
|
||||
msgstr "Fout bij het laden van de samenvatting"
|
||||
|
||||
#: observations/templates/observations/observation_detail.html:1614
|
||||
#: observations/templates/observations/observation_detail.html:1651
|
||||
#: observations/templates/observations/observation_detail_mobile.html:1187
|
||||
msgid "Retirer"
|
||||
msgstr "Verwijderen"
|
||||
|
||||
#: observations/templates/observations/observation_detail.html:1791
|
||||
#: observations/templates/observations/observation_detail.html:1828
|
||||
#: observations/views.py:1926
|
||||
msgid "Le message ne peut pas être vide."
|
||||
msgstr "Het bericht mag niet leeg zijn."
|
||||
|
||||
#: observations/templates/observations/observation_detail.html:1870
|
||||
#: observations/templates/observations/observation_detail.html:1961
|
||||
#: observations/templates/observations/observation_detail_mobile.html:1079
|
||||
msgid "Aucun résultat"
|
||||
msgstr "Geen resultaten"
|
||||
|
|
@ -1170,11 +1194,6 @@ msgstr "Alle"
|
|||
msgid "Aucun"
|
||||
msgstr "Geen"
|
||||
|
||||
#: observations/templates/observations/observations_index.html:257
|
||||
#: observations/views.py:579
|
||||
msgid "Statut"
|
||||
msgstr "Status"
|
||||
|
||||
#: observations/templates/observations/observations_index.html:276
|
||||
msgid "Période"
|
||||
msgstr "Periode"
|
||||
|
|
|
|||
|
|
@ -6,7 +6,7 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: PACKAGE VERSION\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2026-08-19 09:47+0200\n"
|
||||
"POT-Creation-Date: 2026-09-13 09:05+0200\n"
|
||||
"PO-Revision-Date: 2025-12-04 13:00+0100\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: English <LL@li.org>\n"
|
||||
|
|
@ -161,8 +161,8 @@ msgstr "Strict access"
|
|||
|
||||
#: projects/models.py:92
|
||||
msgid ""
|
||||
"Si coché, seuls les utilisateurs et équipes explicitement mentionnés peuvent"
|
||||
" accéder à ce projet. Les permissions par thématique ne s'appliquent pas."
|
||||
"Si coché, seuls les utilisateurs et équipes explicitement mentionnés peuvent "
|
||||
"accéder à ce projet. Les permissions par thématique ne s'appliquent pas."
|
||||
msgstr ""
|
||||
"If checked, only explicitly mentioned users and teams can access this "
|
||||
"project. Thematic permissions do not apply."
|
||||
|
|
@ -585,8 +585,8 @@ msgstr "Search for a team..."
|
|||
|
||||
#: projects/templates/projects/projects_detail.html:894
|
||||
msgid ""
|
||||
"Si coché, seuls les utilisateurs et équipes listés peuvent accéder au projet"
|
||||
" (les permissions thématiques ne s'appliquent pas)."
|
||||
"Si coché, seuls les utilisateurs et équipes listés peuvent accéder au projet "
|
||||
"(les permissions thématiques ne s'appliquent pas)."
|
||||
msgstr ""
|
||||
"If checked, only listed users and teams can access the project (thematic "
|
||||
"permissions do not apply)."
|
||||
|
|
@ -672,11 +672,13 @@ msgstr "Create project"
|
|||
#: projects/templates/projects/projects_form.html:46
|
||||
msgid ""
|
||||
"\n"
|
||||
" Les champs avec une <span style=\"border-bottom: 1px dashed #6c757d;\">bordure en pointillés</span> sont facultatifs.\n"
|
||||
" Les champs avec une <span style=\"border-bottom: 1px dashed #6c757d;"
|
||||
"\">bordure en pointillés</span> sont facultatifs.\n"
|
||||
" "
|
||||
msgstr ""
|
||||
"\n"
|
||||
" Fields with a <span style=\"border-bottom: 1px dashed #6c757d;\">dashed border</span> are optional.\n"
|
||||
" Fields with a <span style=\"border-bottom: 1px dashed #6c757d;"
|
||||
"\">dashed border</span> are optional.\n"
|
||||
" "
|
||||
|
||||
#: projects/templates/projects/projects_form.html:176
|
||||
|
|
@ -745,8 +747,8 @@ msgstr "Filter on this area"
|
|||
msgid "Accès introuvable"
|
||||
msgstr "Access not found"
|
||||
|
||||
#: projects/views.py:524 projects/views.py:536 projects/views.py:972
|
||||
#: projects/views.py:991 projects/views.py:1010
|
||||
#: projects/views.py:524 projects/views.py:536 projects/views.py:990
|
||||
#: projects/views.py:1009 projects/views.py:1028
|
||||
msgid "Vous n'avez pas la permission de modifier ce projet."
|
||||
msgstr "You do not have permission to modify this project."
|
||||
|
||||
|
|
@ -754,111 +756,110 @@ msgstr "You do not have permission to modify this project."
|
|||
msgid "Vous n'avez pas la permission d'ajouter des documents."
|
||||
msgstr "You do not have permission to add documents."
|
||||
|
||||
#: projects/views.py:603 projects/views.py:610 projects/views.py:616
|
||||
#: projects/views.py:617 projects/views.py:624 projects/views.py:630
|
||||
msgid "Document(s) sauvegardé(s) avec succès !"
|
||||
msgstr "Document(s) saved successfully!"
|
||||
|
||||
#: projects/views.py:618
|
||||
#: projects/views.py:632
|
||||
msgid "Erreur lors de la sauvegarde des documents."
|
||||
msgstr "Error saving documents."
|
||||
|
||||
#: projects/views.py:644
|
||||
#: projects/views.py:658
|
||||
msgid "Impossible d'ajouter une intervention à un projet terminé ou clôturé."
|
||||
msgstr "Unable to add an intervention to a completed or closed project."
|
||||
|
||||
#: projects/views.py:649
|
||||
#: projects/views.py:663
|
||||
msgid "Vous n'avez pas de configuration utilisateur."
|
||||
msgstr "You do not have a user configuration."
|
||||
|
||||
#: projects/views.py:670
|
||||
#: projects/views.py:684
|
||||
msgid ""
|
||||
"Vous n'avez pas la permission de créer des interventions pour les "
|
||||
"thématiques de ce projet."
|
||||
msgstr ""
|
||||
"You do not have permission to create interventions for this project's "
|
||||
"themes."
|
||||
"You do not have permission to create interventions for this project's themes."
|
||||
|
||||
#: projects/views.py:718
|
||||
#: projects/views.py:732
|
||||
msgid "Seuls les administrateurs ou managers peuvent associer une commande."
|
||||
msgstr "Only administrators or managers can associate an order."
|
||||
|
||||
#: projects/views.py:725
|
||||
#: projects/views.py:739
|
||||
msgid "Commande associée au projet avec succès !"
|
||||
msgstr "Order associated with project successfully!"
|
||||
|
||||
#: projects/views.py:727
|
||||
#: projects/views.py:741
|
||||
msgid "Erreur lors de l'association de la commande."
|
||||
msgstr "Error associating order."
|
||||
|
||||
#: projects/views.py:745
|
||||
#: projects/views.py:759
|
||||
msgid "Cette commande n'est pas associée à ce projet."
|
||||
msgstr "This order is not associated with this project."
|
||||
|
||||
#: projects/views.py:756
|
||||
#: projects/views.py:770
|
||||
msgid "Seuls les administrateurs ou managers peuvent créer une commande."
|
||||
msgstr "Only administrators or managers can create an order."
|
||||
|
||||
#: projects/views.py:781
|
||||
#: projects/views.py:795
|
||||
msgid "Phase ajoutée avec succès !"
|
||||
msgstr "Phase added successfully!"
|
||||
|
||||
#: projects/views.py:783
|
||||
#: projects/views.py:797
|
||||
msgid "Erreur lors de l'ajout de la phase."
|
||||
msgstr "Error adding phase."
|
||||
|
||||
#: projects/views.py:924
|
||||
#: projects/views.py:942
|
||||
msgid "Vous n'avez pas la permission de modifier le statut."
|
||||
msgstr "You do not have permission to modify the status."
|
||||
|
||||
#: projects/views.py:930
|
||||
#: projects/views.py:948
|
||||
msgid "Aucun statut fourni."
|
||||
msgstr "No status provided."
|
||||
|
||||
#: projects/views.py:933
|
||||
#: projects/views.py:951
|
||||
msgid "Statut invalide."
|
||||
msgstr "Invalid status."
|
||||
|
||||
#: projects/views.py:936
|
||||
#: projects/views.py:954
|
||||
msgid "Statut non autorisé pour ce projet."
|
||||
msgstr "Status not allowed for this project."
|
||||
|
||||
#: projects/views.py:939
|
||||
#: projects/views.py:957
|
||||
msgid "Le statut du projet est déjà défini."
|
||||
msgstr "The project status is already set."
|
||||
|
||||
#: projects/views.py:947
|
||||
#: projects/views.py:965
|
||||
msgid "Statut mis à jour avec succès."
|
||||
msgstr "Status updated successfully."
|
||||
|
||||
#: projects/views.py:1016
|
||||
#: projects/views.py:1034
|
||||
msgid "Données invalides."
|
||||
msgstr "Invalid data."
|
||||
|
||||
#: projects/views.py:1026
|
||||
#: projects/views.py:1044
|
||||
#, python-format
|
||||
msgid "Attribut %(id)s introuvable."
|
||||
msgstr "%(id)s attribute not found."
|
||||
|
||||
#: projects/views.py:1034
|
||||
#: projects/views.py:1052
|
||||
#, python-format
|
||||
msgid "Le champ « %(name)s » est obligatoire."
|
||||
msgstr "The “%(name)s” field is mandatory."
|
||||
|
||||
#: projects/views.py:1053
|
||||
#: projects/views.py:1071
|
||||
#, python-format
|
||||
msgid "Valeur numérique invalide pour « %(name)s »."
|
||||
msgstr "Invalid numeric value for “%(name)s”."
|
||||
|
||||
#: projects/views.py:1063
|
||||
#: projects/views.py:1081
|
||||
#, python-format
|
||||
msgid "Valeur booléenne invalide pour « %(name)s »."
|
||||
msgstr "Invalid boolean value for “%(name)s”."
|
||||
|
||||
#: projects/views.py:1078
|
||||
#: projects/views.py:1096
|
||||
#, python-format
|
||||
msgid "Date invalide pour « %(name)s ». Format attendu : AAAA-MM-JJ."
|
||||
msgstr "Invalid date for “%(name)s”. "
|
||||
|
||||
#: projects/views.py:1086
|
||||
#: projects/views.py:1104
|
||||
msgid "Valeurs sauvegardées avec succès."
|
||||
msgstr "Values saved successfully."
|
||||
|
|
|
|||
|
|
@ -6,7 +6,7 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: PACKAGE VERSION\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2026-08-19 09:47+0200\n"
|
||||
"POT-Creation-Date: 2026-09-12 15:59+0200\n"
|
||||
"PO-Revision-Date: 2025-12-04 13:00+0100\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: French <LL@li.org>\n"
|
||||
|
|
@ -160,12 +160,8 @@ msgid "Accès strict"
|
|||
msgstr "Accès strict"
|
||||
|
||||
#: projects/models.py:92
|
||||
msgid ""
|
||||
"Si coché, seuls les utilisateurs et équipes explicitement mentionnés peuvent"
|
||||
" accéder à ce projet. Les permissions par thématique ne s'appliquent pas."
|
||||
msgstr ""
|
||||
"Si coché, seuls les utilisateurs et équipes explicitement mentionnés peuvent"
|
||||
" accéder à ce projet. Les permissions par thématique ne s'appliquent pas."
|
||||
msgid "Si coché, seuls les utilisateurs et équipes explicitement mentionnés peuvent accéder à ce projet. Les permissions par thématique ne s'appliquent pas."
|
||||
msgstr "Si coché, seuls les utilisateurs et équipes explicitement mentionnés peuvent accéder à ce projet. Les permissions par thématique ne s'appliquent pas."
|
||||
|
||||
#: projects/models.py:203 projects/models.py:235
|
||||
#: projects/templates/projects/projects_detail.html:46
|
||||
|
|
@ -584,12 +580,8 @@ msgid "Rechercher une équipe..."
|
|||
msgstr "Rechercher une équipe..."
|
||||
|
||||
#: projects/templates/projects/projects_detail.html:894
|
||||
msgid ""
|
||||
"Si coché, seuls les utilisateurs et équipes listés peuvent accéder au projet"
|
||||
" (les permissions thématiques ne s'appliquent pas)."
|
||||
msgstr ""
|
||||
"Si coché, seuls les utilisateurs et équipes listés peuvent accéder au projet"
|
||||
" (les permissions thématiques ne s'appliquent pas)."
|
||||
msgid "Si coché, seuls les utilisateurs et équipes listés peuvent accéder au projet (les permissions thématiques ne s'appliquent pas)."
|
||||
msgstr "Si coché, seuls les utilisateurs et équipes listés peuvent accéder au projet (les permissions thématiques ne s'appliquent pas)."
|
||||
|
||||
#: projects/templates/projects/projects_detail.html:918
|
||||
msgid "Voulez-vous vraiment supprimer ce membre du projet ?"
|
||||
|
|
@ -745,8 +737,8 @@ msgstr "Filtrer sur cette zone"
|
|||
msgid "Accès introuvable"
|
||||
msgstr "Accès introuvable"
|
||||
|
||||
#: projects/views.py:524 projects/views.py:536 projects/views.py:972
|
||||
#: projects/views.py:991 projects/views.py:1010
|
||||
#: projects/views.py:524 projects/views.py:536 projects/views.py:990
|
||||
#: projects/views.py:1009 projects/views.py:1028
|
||||
msgid "Vous n'avez pas la permission de modifier ce projet."
|
||||
msgstr "Vous n'avez pas la permission de modifier ce projet."
|
||||
|
||||
|
|
@ -754,111 +746,107 @@ msgstr "Vous n'avez pas la permission de modifier ce projet."
|
|||
msgid "Vous n'avez pas la permission d'ajouter des documents."
|
||||
msgstr "Vous n'avez pas la permission d'ajouter des documents."
|
||||
|
||||
#: projects/views.py:603 projects/views.py:610 projects/views.py:616
|
||||
#: projects/views.py:617 projects/views.py:624 projects/views.py:630
|
||||
msgid "Document(s) sauvegardé(s) avec succès !"
|
||||
msgstr "Document(s) sauvegardé(s) avec succès !"
|
||||
|
||||
#: projects/views.py:618
|
||||
#: projects/views.py:632
|
||||
msgid "Erreur lors de la sauvegarde des documents."
|
||||
msgstr "Erreur lors de la sauvegarde des documents."
|
||||
|
||||
#: projects/views.py:644
|
||||
#: projects/views.py:658
|
||||
msgid "Impossible d'ajouter une intervention à un projet terminé ou clôturé."
|
||||
msgstr "Impossible d'ajouter une intervention à un projet terminé ou clôturé."
|
||||
|
||||
#: projects/views.py:649
|
||||
#: projects/views.py:663
|
||||
msgid "Vous n'avez pas de configuration utilisateur."
|
||||
msgstr "Vous n'avez pas de configuration utilisateur."
|
||||
|
||||
#: projects/views.py:670
|
||||
msgid ""
|
||||
"Vous n'avez pas la permission de créer des interventions pour les "
|
||||
"thématiques de ce projet."
|
||||
msgstr ""
|
||||
"Vous n'avez pas la permission de créer des interventions pour les "
|
||||
"thématiques de ce projet."
|
||||
#: projects/views.py:684
|
||||
msgid "Vous n'avez pas la permission de créer des interventions pour les thématiques de ce projet."
|
||||
msgstr "Vous n'avez pas la permission de créer des interventions pour les thématiques de ce projet."
|
||||
|
||||
#: projects/views.py:718
|
||||
#: projects/views.py:732
|
||||
msgid "Seuls les administrateurs ou managers peuvent associer une commande."
|
||||
msgstr "Seuls les administrateurs ou managers peuvent associer une commande."
|
||||
|
||||
#: projects/views.py:725
|
||||
#: projects/views.py:739
|
||||
msgid "Commande associée au projet avec succès !"
|
||||
msgstr "Commande associée au projet avec succès !"
|
||||
|
||||
#: projects/views.py:727
|
||||
#: projects/views.py:741
|
||||
msgid "Erreur lors de l'association de la commande."
|
||||
msgstr "Erreur lors de l'association de la commande."
|
||||
|
||||
#: projects/views.py:745
|
||||
#: projects/views.py:759
|
||||
msgid "Cette commande n'est pas associée à ce projet."
|
||||
msgstr "Cette commande n'est pas associée à ce projet."
|
||||
|
||||
#: projects/views.py:756
|
||||
#: projects/views.py:770
|
||||
msgid "Seuls les administrateurs ou managers peuvent créer une commande."
|
||||
msgstr "Seuls les administrateurs ou managers peuvent créer une commande."
|
||||
|
||||
#: projects/views.py:781
|
||||
#: projects/views.py:795
|
||||
msgid "Phase ajoutée avec succès !"
|
||||
msgstr "Phase ajoutée avec succès !"
|
||||
|
||||
#: projects/views.py:783
|
||||
#: projects/views.py:797
|
||||
msgid "Erreur lors de l'ajout de la phase."
|
||||
msgstr "Erreur lors de l'ajout de la phase."
|
||||
|
||||
#: projects/views.py:924
|
||||
#: projects/views.py:942
|
||||
msgid "Vous n'avez pas la permission de modifier le statut."
|
||||
msgstr "Vous n'avez pas la permission de modifier le statut."
|
||||
|
||||
#: projects/views.py:930
|
||||
#: projects/views.py:948
|
||||
msgid "Aucun statut fourni."
|
||||
msgstr "Aucun statut fourni."
|
||||
|
||||
#: projects/views.py:933
|
||||
#: projects/views.py:951
|
||||
msgid "Statut invalide."
|
||||
msgstr "Statut invalide."
|
||||
|
||||
#: projects/views.py:936
|
||||
#: projects/views.py:954
|
||||
msgid "Statut non autorisé pour ce projet."
|
||||
msgstr "Statut non autorisé pour ce projet."
|
||||
|
||||
#: projects/views.py:939
|
||||
#: projects/views.py:957
|
||||
msgid "Le statut du projet est déjà défini."
|
||||
msgstr "Le statut du projet est déjà défini."
|
||||
|
||||
#: projects/views.py:947
|
||||
#: projects/views.py:965
|
||||
msgid "Statut mis à jour avec succès."
|
||||
msgstr "Statut mis à jour avec succès."
|
||||
|
||||
#: projects/views.py:1016
|
||||
#: projects/views.py:1034
|
||||
msgid "Données invalides."
|
||||
msgstr "Données invalides."
|
||||
|
||||
#: projects/views.py:1026
|
||||
#: projects/views.py:1044
|
||||
#, python-format
|
||||
msgid "Attribut %(id)s introuvable."
|
||||
msgstr "Attribut %(id)s introuvable."
|
||||
|
||||
#: projects/views.py:1034
|
||||
#: projects/views.py:1052
|
||||
#, python-format
|
||||
msgid "Le champ « %(name)s » est obligatoire."
|
||||
msgstr "Le champ « %(name)s » est obligatoire."
|
||||
|
||||
#: projects/views.py:1053
|
||||
#: projects/views.py:1071
|
||||
#, python-format
|
||||
msgid "Valeur numérique invalide pour « %(name)s »."
|
||||
msgstr "Valeur numérique invalide pour « %(name)s »."
|
||||
|
||||
#: projects/views.py:1063
|
||||
#: projects/views.py:1081
|
||||
#, python-format
|
||||
msgid "Valeur booléenne invalide pour « %(name)s »."
|
||||
msgstr "Valeur booléenne invalide pour « %(name)s »."
|
||||
|
||||
#: projects/views.py:1078
|
||||
#: projects/views.py:1096
|
||||
#, python-format
|
||||
msgid "Date invalide pour « %(name)s ». Format attendu : AAAA-MM-JJ."
|
||||
msgstr "Date invalide pour « %(name)s ». Format attendu : AAAA-MM-JJ."
|
||||
|
||||
#: projects/views.py:1086
|
||||
#: projects/views.py:1104
|
||||
msgid "Valeurs sauvegardées avec succès."
|
||||
msgstr "Valeurs sauvegardées avec succès."
|
||||
|
|
|
|||
|
|
@ -6,7 +6,7 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: PACKAGE VERSION\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2026-08-19 09:47+0200\n"
|
||||
"POT-Creation-Date: 2026-09-12 15:59+0200\n"
|
||||
"PO-Revision-Date: 2025-12-04 13:00+0100\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: Dutch <LL@li.org>\n"
|
||||
|
|
@ -160,12 +160,8 @@ msgid "Accès strict"
|
|||
msgstr "Strikte toegang"
|
||||
|
||||
#: projects/models.py:92
|
||||
msgid ""
|
||||
"Si coché, seuls les utilisateurs et équipes explicitement mentionnés peuvent"
|
||||
" accéder à ce projet. Les permissions par thématique ne s'appliquent pas."
|
||||
msgstr ""
|
||||
"Indien aangevinkt, hebben alleen expliciet vermelde gebruikers en teams "
|
||||
"toegang tot dit project. Thema-machtigingen zijn niet van toepassing."
|
||||
msgid "Si coché, seuls les utilisateurs et équipes explicitement mentionnés peuvent accéder à ce projet. Les permissions par thématique ne s'appliquent pas."
|
||||
msgstr "Indien aangevinkt, hebben alleen expliciet vermelde gebruikers en teams toegang tot dit project. Thema-machtigingen zijn niet van toepassing."
|
||||
|
||||
#: projects/models.py:203 projects/models.py:235
|
||||
#: projects/templates/projects/projects_detail.html:46
|
||||
|
|
@ -584,12 +580,8 @@ msgid "Rechercher une équipe..."
|
|||
msgstr "Zoek een team..."
|
||||
|
||||
#: projects/templates/projects/projects_detail.html:894
|
||||
msgid ""
|
||||
"Si coché, seuls les utilisateurs et équipes listés peuvent accéder au projet"
|
||||
" (les permissions thématiques ne s'appliquent pas)."
|
||||
msgstr ""
|
||||
"Indien aangevinkt, hebben alleen vermelde gebruikers en teams toegang tot "
|
||||
"het project (thema-machtigingen zijn niet van toepassing)."
|
||||
msgid "Si coché, seuls les utilisateurs et équipes listés peuvent accéder au projet (les permissions thématiques ne s'appliquent pas)."
|
||||
msgstr "Indien aangevinkt, hebben alleen vermelde gebruikers en teams toegang tot het project (thema-machtigingen zijn niet van toepassing)."
|
||||
|
||||
#: projects/templates/projects/projects_detail.html:918
|
||||
msgid "Voulez-vous vraiment supprimer ce membre du projet ?"
|
||||
|
|
@ -745,8 +737,8 @@ msgstr "Filteren op dit gebied"
|
|||
msgid "Accès introuvable"
|
||||
msgstr "Toegang niet gevonden"
|
||||
|
||||
#: projects/views.py:524 projects/views.py:536 projects/views.py:972
|
||||
#: projects/views.py:991 projects/views.py:1010
|
||||
#: projects/views.py:524 projects/views.py:536 projects/views.py:990
|
||||
#: projects/views.py:1009 projects/views.py:1028
|
||||
msgid "Vous n'avez pas la permission de modifier ce projet."
|
||||
msgstr "U heeft geen toestemming om dit project te wijzigen."
|
||||
|
||||
|
|
@ -754,112 +746,107 @@ msgstr "U heeft geen toestemming om dit project te wijzigen."
|
|||
msgid "Vous n'avez pas la permission d'ajouter des documents."
|
||||
msgstr "U hebt geen toestemming om documenten toe te voegen."
|
||||
|
||||
#: projects/views.py:603 projects/views.py:610 projects/views.py:616
|
||||
#: projects/views.py:617 projects/views.py:624 projects/views.py:630
|
||||
msgid "Document(s) sauvegardé(s) avec succès !"
|
||||
msgstr "Document(en) succesvol opgeslagen!"
|
||||
|
||||
#: projects/views.py:618
|
||||
#: projects/views.py:632
|
||||
msgid "Erreur lors de la sauvegarde des documents."
|
||||
msgstr "Fout bij het opslaan van de documenten."
|
||||
|
||||
#: projects/views.py:644
|
||||
#: projects/views.py:658
|
||||
msgid "Impossible d'ajouter une intervention à un projet terminé ou clôturé."
|
||||
msgstr ""
|
||||
"Kan geen interventie toevoegen aan een voltooid of afgesloten project."
|
||||
msgstr "Kan geen interventie toevoegen aan een voltooid of afgesloten project."
|
||||
|
||||
#: projects/views.py:649
|
||||
#: projects/views.py:663
|
||||
msgid "Vous n'avez pas de configuration utilisateur."
|
||||
msgstr "U hebt geen gebruikersconfiguratie."
|
||||
|
||||
#: projects/views.py:670
|
||||
msgid ""
|
||||
"Vous n'avez pas la permission de créer des interventions pour les "
|
||||
"thématiques de ce projet."
|
||||
msgstr ""
|
||||
"U hebt geen toestemming om interventies te creëren voor de thema's van dit "
|
||||
"project."
|
||||
#: projects/views.py:684
|
||||
msgid "Vous n'avez pas la permission de créer des interventions pour les thématiques de ce projet."
|
||||
msgstr "U hebt geen toestemming om interventies te creëren voor de thema's van dit project."
|
||||
|
||||
#: projects/views.py:718
|
||||
#: projects/views.py:732
|
||||
msgid "Seuls les administrateurs ou managers peuvent associer une commande."
|
||||
msgstr "Alleen beheerders of managers kunnen een bestelling koppelen."
|
||||
|
||||
#: projects/views.py:725
|
||||
#: projects/views.py:739
|
||||
msgid "Commande associée au projet avec succès !"
|
||||
msgstr "Bestelling succesvol aan project gekoppeld!"
|
||||
|
||||
#: projects/views.py:727
|
||||
#: projects/views.py:741
|
||||
msgid "Erreur lors de l'association de la commande."
|
||||
msgstr "Fout bij het koppelen van de bestelling."
|
||||
|
||||
#: projects/views.py:745
|
||||
#: projects/views.py:759
|
||||
msgid "Cette commande n'est pas associée à ce projet."
|
||||
msgstr "Deze bestelling is niet gekoppeld aan dit project."
|
||||
|
||||
#: projects/views.py:756
|
||||
#: projects/views.py:770
|
||||
msgid "Seuls les administrateurs ou managers peuvent créer une commande."
|
||||
msgstr "Alleen beheerders of managers kunnen een bestelling creëren."
|
||||
|
||||
#: projects/views.py:781
|
||||
#: projects/views.py:795
|
||||
msgid "Phase ajoutée avec succès !"
|
||||
msgstr "Fase succesvol toegevoegd!"
|
||||
|
||||
#: projects/views.py:783
|
||||
#: projects/views.py:797
|
||||
msgid "Erreur lors de l'ajout de la phase."
|
||||
msgstr "Fout bij het toevoegen van de fase."
|
||||
|
||||
#: projects/views.py:924
|
||||
#: projects/views.py:942
|
||||
msgid "Vous n'avez pas la permission de modifier le statut."
|
||||
msgstr "U hebt geen toestemming om de status te wijzigen."
|
||||
|
||||
#: projects/views.py:930
|
||||
#: projects/views.py:948
|
||||
msgid "Aucun statut fourni."
|
||||
msgstr "Geen status opgegeven."
|
||||
|
||||
#: projects/views.py:933
|
||||
#: projects/views.py:951
|
||||
msgid "Statut invalide."
|
||||
msgstr "Ongeldige status."
|
||||
|
||||
#: projects/views.py:936
|
||||
#: projects/views.py:954
|
||||
msgid "Statut non autorisé pour ce projet."
|
||||
msgstr "Status niet toegestaan voor dit project."
|
||||
|
||||
#: projects/views.py:939
|
||||
#: projects/views.py:957
|
||||
msgid "Le statut du projet est déjà défini."
|
||||
msgstr "De status van het project is al gedefinieerd."
|
||||
|
||||
#: projects/views.py:947
|
||||
#: projects/views.py:965
|
||||
msgid "Statut mis à jour avec succès."
|
||||
msgstr "Status succesvol bijgewerkt!"
|
||||
|
||||
#: projects/views.py:1016
|
||||
#: projects/views.py:1034
|
||||
msgid "Données invalides."
|
||||
msgstr "Ongeldige gegevens."
|
||||
|
||||
#: projects/views.py:1026
|
||||
#: projects/views.py:1044
|
||||
#, python-format
|
||||
msgid "Attribut %(id)s introuvable."
|
||||
msgstr "%(id)s attribuut niet gevonden."
|
||||
|
||||
#: projects/views.py:1034
|
||||
#: projects/views.py:1052
|
||||
#, python-format
|
||||
msgid "Le champ « %(name)s » est obligatoire."
|
||||
msgstr "Het veld “%(name)s” is verplicht."
|
||||
|
||||
#: projects/views.py:1053
|
||||
#: projects/views.py:1071
|
||||
#, python-format
|
||||
msgid "Valeur numérique invalide pour « %(name)s »."
|
||||
msgstr "Ongeldige numerieke waarde voor “%(name)s”."
|
||||
|
||||
#: projects/views.py:1063
|
||||
#: projects/views.py:1081
|
||||
#, python-format
|
||||
msgid "Valeur booléenne invalide pour « %(name)s »."
|
||||
msgstr "Ongeldige Booleaanse waarde voor “%(name)s”."
|
||||
|
||||
#: projects/views.py:1078
|
||||
#: projects/views.py:1096
|
||||
#, python-format
|
||||
msgid "Date invalide pour « %(name)s ». Format attendu : AAAA-MM-JJ."
|
||||
msgstr "Ongeldige datum voor “%(name)s”. Verwacht formaat: JJJJ-MM-DD."
|
||||
|
||||
#: projects/views.py:1086
|
||||
#: projects/views.py:1104
|
||||
msgid "Valeurs sauvegardées avec succès."
|
||||
msgstr "Waarden succesvol opgeslagen."
|
||||
|
|
|
|||
Binary file not shown.
|
|
@ -7,7 +7,7 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: PACKAGE VERSION\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2026-08-19 09:47+0200\n"
|
||||
"POT-Creation-Date: 2026-09-13 09:05+0200\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
|
|
@ -22,6 +22,7 @@ msgid "Reporting"
|
|||
msgstr "Reporting"
|
||||
|
||||
#: reporting/models.py:19 reporting/templates/reporting/dashboard.html:150
|
||||
#: reporting/templates/reporting/pending_dashboard.html:484
|
||||
#: reporting/templates/reporting/volume_dashboard.html:96
|
||||
#: reporting/templates/reporting/volume_dashboard.html:243
|
||||
msgid "Contrat"
|
||||
|
|
@ -68,6 +69,16 @@ msgstr "Observations"
|
|||
msgid "Nombre d'observations"
|
||||
msgstr "Number of observations"
|
||||
|
||||
#: reporting/templates/reporting/base.html:67
|
||||
#: reporting/templates/reporting/base.html:70
|
||||
msgid "Encours & Blocages"
|
||||
msgstr ""
|
||||
|
||||
#: reporting/templates/reporting/base.html:81
|
||||
#: reporting/templates/reporting/base.html:82
|
||||
msgid "Tableau de bord encours"
|
||||
msgstr ""
|
||||
|
||||
#: reporting/templates/reporting/dashboard.html:28
|
||||
msgid "Évolution du temps de traitement"
|
||||
msgstr "Evolution of processing time"
|
||||
|
|
@ -185,6 +196,8 @@ msgstr "View in app"
|
|||
|
||||
#: reporting/templates/reporting/dashboard.html:145
|
||||
#: reporting/templates/reporting/observations_dashboard.html:274
|
||||
#: reporting/templates/reporting/pending_dashboard.html:417
|
||||
#: reporting/templates/reporting/pending_dashboard.html:439
|
||||
#: reporting/templates/reporting/volume_dashboard.html:238
|
||||
msgid "Code"
|
||||
msgstr "Code"
|
||||
|
|
@ -202,6 +215,8 @@ msgstr "Creation date"
|
|||
|
||||
#: reporting/templates/reporting/dashboard.html:148
|
||||
#: reporting/templates/reporting/observations_dashboard.html:278
|
||||
#: reporting/templates/reporting/pending_dashboard.html:420
|
||||
#: reporting/templates/reporting/pending_dashboard.html:464
|
||||
#: reporting/templates/reporting/volume_dashboard.html:241
|
||||
msgid "Statut"
|
||||
msgstr "Status"
|
||||
|
|
@ -352,6 +367,11 @@ msgid "Type"
|
|||
msgstr "Type"
|
||||
|
||||
#: reporting/templates/reporting/observations_dashboard.html:279
|
||||
#: reporting/templates/reporting/pending_dashboard.html:203
|
||||
#: reporting/templates/reporting/pending_dashboard.html:348
|
||||
#: reporting/templates/reporting/pending_dashboard.html:419
|
||||
#: reporting/templates/reporting/pending_dashboard.html:441
|
||||
#: reporting/templates/reporting/pending_dashboard.html:462
|
||||
#: reporting/templates/reporting/volume_dashboard.html:93
|
||||
msgid "Thématique"
|
||||
msgstr "Thematic"
|
||||
|
|
@ -395,6 +415,284 @@ msgstr "No sightings found."
|
|||
msgid "Erreur lors du chargement des observations."
|
||||
msgstr "Error loading data."
|
||||
|
||||
#: reporting/templates/reporting/pending_dashboard.html:165
|
||||
msgid "Tableau de bord des encours & blocages"
|
||||
msgstr ""
|
||||
|
||||
#: reporting/templates/reporting/pending_dashboard.html:168
|
||||
msgid ""
|
||||
"Suivi des interventions non terminées (< 'finished') et observations "
|
||||
"ouvertes sur les 24 derniers mois"
|
||||
msgstr ""
|
||||
|
||||
#: reporting/templates/reporting/pending_dashboard.html:174
|
||||
msgid "Exporter en Excel (.xlsx)"
|
||||
msgstr ""
|
||||
|
||||
#: reporting/templates/reporting/pending_dashboard.html:185
|
||||
msgid "Horizon temporel"
|
||||
msgstr ""
|
||||
|
||||
#: reporting/templates/reporting/pending_dashboard.html:205
|
||||
msgid "Toutes les thématiques"
|
||||
msgstr "All thematics"
|
||||
|
||||
#: reporting/templates/reporting/pending_dashboard.html:214
|
||||
msgid "Contrat / Prestataire"
|
||||
msgstr "Contract / Contractor"
|
||||
|
||||
#: reporting/templates/reporting/pending_dashboard.html:216
|
||||
msgid "Tous les contrats et prestataires"
|
||||
msgstr ""
|
||||
|
||||
#: reporting/templates/reporting/pending_dashboard.html:226
|
||||
msgid "Filtrer"
|
||||
msgstr ""
|
||||
|
||||
#: reporting/templates/reporting/pending_dashboard.html:228
|
||||
msgid "Réinitialiser"
|
||||
msgstr ""
|
||||
|
||||
#: reporting/templates/reporting/pending_dashboard.html:240
|
||||
msgid "Interventions en cours"
|
||||
msgstr "Ongoing interventions"
|
||||
|
||||
#: reporting/templates/reporting/pending_dashboard.html:248
|
||||
msgid "Observations ouvertes"
|
||||
msgstr "Open observations"
|
||||
|
||||
#: reporting/templates/reporting/pending_dashboard.html:256
|
||||
msgid "En retard SLA"
|
||||
msgstr ""
|
||||
|
||||
#: reporting/templates/reporting/pending_dashboard.html:264
|
||||
#: reporting/templates/reporting/pending_dashboard.html:355
|
||||
msgid "En pause"
|
||||
msgstr ""
|
||||
|
||||
#: reporting/templates/reporting/pending_dashboard.html:266
|
||||
msgid "Attente matériel / tiers"
|
||||
msgstr ""
|
||||
|
||||
#: reporting/templates/reporting/pending_dashboard.html:272
|
||||
#: reporting/templates/reporting/pending_dashboard.html:361
|
||||
msgid "Obs. Orphelines"
|
||||
msgstr ""
|
||||
|
||||
#: reporting/templates/reporting/pending_dashboard.html:274
|
||||
msgid "À traiter sans intervention"
|
||||
msgstr "To process without intervention"
|
||||
|
||||
#: reporting/templates/reporting/pending_dashboard.html:280
|
||||
msgid "Obs. Désynchronisées"
|
||||
msgstr ""
|
||||
|
||||
#: reporting/templates/reporting/pending_dashboard.html:282
|
||||
msgid "Intervention déjà close"
|
||||
msgstr "Intervention already closed"
|
||||
|
||||
#: reporting/templates/reporting/pending_dashboard.html:294
|
||||
msgid "Répartition par Statut d'Intervention"
|
||||
msgstr "Distribution by Intervention Status"
|
||||
|
||||
#: reporting/templates/reporting/pending_dashboard.html:308
|
||||
msgid "Pyramide des Âges"
|
||||
msgstr ""
|
||||
|
||||
#: reporting/templates/reporting/pending_dashboard.html:322
|
||||
msgid "Motifs de Pause (on_pause)"
|
||||
msgstr ""
|
||||
|
||||
#: reporting/templates/reporting/pending_dashboard.html:338
|
||||
msgid "Tableau Croisé Dynamique : Analyse par Thématique"
|
||||
msgstr ""
|
||||
|
||||
#: reporting/templates/reporting/pending_dashboard.html:340
|
||||
msgid ""
|
||||
"Ventilation croisée des statuts, retards, motifs de pause et observations "
|
||||
"par domaine métier"
|
||||
msgstr ""
|
||||
|
||||
#: reporting/templates/reporting/pending_dashboard.html:349
|
||||
msgid "En prép."
|
||||
msgstr ""
|
||||
|
||||
#: reporting/templates/reporting/pending_dashboard.html:350
|
||||
msgid "À approuver"
|
||||
msgstr ""
|
||||
|
||||
#: reporting/templates/reporting/pending_dashboard.html:351
|
||||
msgid "À planifier"
|
||||
msgstr ""
|
||||
|
||||
#: reporting/templates/reporting/pending_dashboard.html:352
|
||||
msgid "À traiter"
|
||||
msgstr ""
|
||||
|
||||
#: reporting/templates/reporting/pending_dashboard.html:353
|
||||
msgid "Pris en charge"
|
||||
msgstr "Taken in charge"
|
||||
|
||||
#: reporting/templates/reporting/pending_dashboard.html:354
|
||||
msgid "Démarré"
|
||||
msgstr ""
|
||||
|
||||
#: reporting/templates/reporting/pending_dashboard.html:356
|
||||
msgid "À corriger"
|
||||
msgstr ""
|
||||
|
||||
#: reporting/templates/reporting/pending_dashboard.html:357
|
||||
msgid "Total Itv"
|
||||
msgstr ""
|
||||
|
||||
#: reporting/templates/reporting/pending_dashboard.html:358
|
||||
#: reporting/templates/reporting/pending_dashboard.html:487
|
||||
msgid "En Retard"
|
||||
msgstr ""
|
||||
|
||||
#: reporting/templates/reporting/pending_dashboard.html:359
|
||||
#: reporting/templates/reporting/pending_dashboard.html:488
|
||||
#, python-format
|
||||
msgid "%% Retard"
|
||||
msgstr ""
|
||||
|
||||
#: reporting/templates/reporting/pending_dashboard.html:360
|
||||
msgid "Obs. Ouvertes"
|
||||
msgstr ""
|
||||
|
||||
#: reporting/templates/reporting/pending_dashboard.html:362
|
||||
msgid "Âge moy. (j)"
|
||||
msgstr ""
|
||||
|
||||
#: reporting/templates/reporting/pending_dashboard.html:368
|
||||
msgid "Chargement des données..."
|
||||
msgstr "Loading data..."
|
||||
|
||||
#: reporting/templates/reporting/pending_dashboard.html:384
|
||||
msgid "Interventions en retard & à corriger"
|
||||
msgstr "Overdue & to correct interventions"
|
||||
|
||||
#: reporting/templates/reporting/pending_dashboard.html:390
|
||||
msgid "Interventions en pause"
|
||||
msgstr "Paused interventions"
|
||||
|
||||
#: reporting/templates/reporting/pending_dashboard.html:396
|
||||
msgid "Observations orphelines & désynchronisées"
|
||||
msgstr "Orphaned & desynchronized observations"
|
||||
|
||||
#: reporting/templates/reporting/pending_dashboard.html:402
|
||||
msgid "Synthèse Prestataires & Contrats"
|
||||
msgstr ""
|
||||
|
||||
#: reporting/templates/reporting/pending_dashboard.html:418
|
||||
#: reporting/templates/reporting/pending_dashboard.html:440
|
||||
msgid "Titre / Objet"
|
||||
msgstr ""
|
||||
|
||||
#: reporting/templates/reporting/pending_dashboard.html:421
|
||||
msgid "Prestataire / Contrat"
|
||||
msgstr ""
|
||||
|
||||
#: reporting/templates/reporting/pending_dashboard.html:422
|
||||
msgid "Retard SLA"
|
||||
msgstr ""
|
||||
|
||||
#: reporting/templates/reporting/pending_dashboard.html:423
|
||||
msgid "Diagnostic / Cause"
|
||||
msgstr ""
|
||||
|
||||
#: reporting/templates/reporting/pending_dashboard.html:427
|
||||
#: reporting/templates/reporting/pending_dashboard.html:789
|
||||
msgid "Aucune intervention en retard."
|
||||
msgstr "No overdue interventions."
|
||||
|
||||
#: reporting/templates/reporting/pending_dashboard.html:442
|
||||
msgid "Motif de Pause"
|
||||
msgstr ""
|
||||
|
||||
#: reporting/templates/reporting/pending_dashboard.html:443
|
||||
#: reporting/templates/reporting/pending_dashboard.html:483
|
||||
msgid "Prestataire"
|
||||
msgstr ""
|
||||
|
||||
#: reporting/templates/reporting/pending_dashboard.html:444
|
||||
msgid "Jours en Pause"
|
||||
msgstr ""
|
||||
|
||||
#: reporting/templates/reporting/pending_dashboard.html:445
|
||||
msgid "Diagnostic"
|
||||
msgstr ""
|
||||
|
||||
#: reporting/templates/reporting/pending_dashboard.html:449
|
||||
#: reporting/templates/reporting/pending_dashboard.html:808
|
||||
msgid "Aucune intervention en pause."
|
||||
msgstr "No paused interventions."
|
||||
|
||||
#: reporting/templates/reporting/pending_dashboard.html:461
|
||||
msgid "Code Obs."
|
||||
msgstr "Obs. Code"
|
||||
|
||||
#: reporting/templates/reporting/pending_dashboard.html:463
|
||||
msgid "Symptôme"
|
||||
msgstr "Symptom"
|
||||
|
||||
#: reporting/templates/reporting/pending_dashboard.html:465
|
||||
msgid "Âge"
|
||||
msgstr ""
|
||||
|
||||
#: reporting/templates/reporting/pending_dashboard.html:466
|
||||
msgid "Itv Liée"
|
||||
msgstr ""
|
||||
|
||||
#: reporting/templates/reporting/pending_dashboard.html:467
|
||||
msgid "Anomalie / Diagnostic"
|
||||
msgstr ""
|
||||
|
||||
#: reporting/templates/reporting/pending_dashboard.html:471
|
||||
#: reporting/templates/reporting/pending_dashboard.html:827
|
||||
msgid "Aucune observation problématique détectée."
|
||||
msgstr "No problematic observations detected."
|
||||
|
||||
#: reporting/templates/reporting/pending_dashboard.html:485
|
||||
msgid "Gestionnaire"
|
||||
msgstr ""
|
||||
|
||||
#: reporting/templates/reporting/pending_dashboard.html:486
|
||||
msgid "Total en cours"
|
||||
msgstr ""
|
||||
|
||||
#: reporting/templates/reporting/pending_dashboard.html:489
|
||||
msgid "Âge Moyen (j)"
|
||||
msgstr ""
|
||||
|
||||
#: reporting/templates/reporting/pending_dashboard.html:493
|
||||
msgid "Aucune donnée de prestataire."
|
||||
msgstr ""
|
||||
|
||||
#: reporting/templates/reporting/pending_dashboard.html:553
|
||||
msgid "Calcul des indicateurs..."
|
||||
msgstr ""
|
||||
|
||||
#: reporting/templates/reporting/pending_dashboard.html:576
|
||||
msgid "Impossible de charger les données d'analyse."
|
||||
msgstr "Unable to load analysis data."
|
||||
|
||||
#: reporting/templates/reporting/pending_dashboard.html:591
|
||||
msgid "de l'encours"
|
||||
msgstr ""
|
||||
|
||||
#: reporting/templates/reporting/pending_dashboard.html:696
|
||||
msgid "Aucune en pause"
|
||||
msgstr ""
|
||||
|
||||
#: reporting/templates/reporting/pending_dashboard.html:764
|
||||
msgid "Total général"
|
||||
msgstr ""
|
||||
|
||||
#: reporting/templates/reporting/pending_dashboard.html:847
|
||||
msgid "Aucun prestataire avec encours."
|
||||
msgstr ""
|
||||
|
||||
#: reporting/templates/reporting/volume_dashboard.html:79
|
||||
msgid "Nombre et répartition des interventions"
|
||||
msgstr "Number and distribution of interventions"
|
||||
|
|
|
|||
Binary file not shown.
|
|
@ -7,7 +7,7 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: PACKAGE VERSION\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2026-08-19 09:47+0200\n"
|
||||
"POT-Creation-Date: 2026-09-12 15:59+0200\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
|
|
@ -22,6 +22,7 @@ msgid "Reporting"
|
|||
msgstr "Reporting"
|
||||
|
||||
#: reporting/models.py:19 reporting/templates/reporting/dashboard.html:150
|
||||
#: reporting/templates/reporting/pending_dashboard.html:484
|
||||
#: reporting/templates/reporting/volume_dashboard.html:96
|
||||
#: reporting/templates/reporting/volume_dashboard.html:243
|
||||
msgid "Contrat"
|
||||
|
|
@ -68,6 +69,16 @@ msgstr "Observations"
|
|||
msgid "Nombre d'observations"
|
||||
msgstr "Nombre d'observations"
|
||||
|
||||
#: reporting/templates/reporting/base.html:67
|
||||
#: reporting/templates/reporting/base.html:70
|
||||
msgid "Encours & Blocages"
|
||||
msgstr ""
|
||||
|
||||
#: reporting/templates/reporting/base.html:81
|
||||
#: reporting/templates/reporting/base.html:82
|
||||
msgid "Tableau de bord encours"
|
||||
msgstr ""
|
||||
|
||||
#: reporting/templates/reporting/dashboard.html:28
|
||||
msgid "Évolution du temps de traitement"
|
||||
msgstr "Évolution du temps de traitement"
|
||||
|
|
@ -185,6 +196,8 @@ msgstr "Voir dans l'application"
|
|||
|
||||
#: reporting/templates/reporting/dashboard.html:145
|
||||
#: reporting/templates/reporting/observations_dashboard.html:274
|
||||
#: reporting/templates/reporting/pending_dashboard.html:417
|
||||
#: reporting/templates/reporting/pending_dashboard.html:439
|
||||
#: reporting/templates/reporting/volume_dashboard.html:238
|
||||
msgid "Code"
|
||||
msgstr "Code"
|
||||
|
|
@ -202,6 +215,8 @@ msgstr "Date de création"
|
|||
|
||||
#: reporting/templates/reporting/dashboard.html:148
|
||||
#: reporting/templates/reporting/observations_dashboard.html:278
|
||||
#: reporting/templates/reporting/pending_dashboard.html:420
|
||||
#: reporting/templates/reporting/pending_dashboard.html:464
|
||||
#: reporting/templates/reporting/volume_dashboard.html:241
|
||||
msgid "Statut"
|
||||
msgstr "Statut"
|
||||
|
|
@ -352,6 +367,11 @@ msgid "Type"
|
|||
msgstr "Type"
|
||||
|
||||
#: reporting/templates/reporting/observations_dashboard.html:279
|
||||
#: reporting/templates/reporting/pending_dashboard.html:203
|
||||
#: reporting/templates/reporting/pending_dashboard.html:348
|
||||
#: reporting/templates/reporting/pending_dashboard.html:419
|
||||
#: reporting/templates/reporting/pending_dashboard.html:441
|
||||
#: reporting/templates/reporting/pending_dashboard.html:462
|
||||
#: reporting/templates/reporting/volume_dashboard.html:93
|
||||
msgid "Thématique"
|
||||
msgstr "Thématique"
|
||||
|
|
@ -395,6 +415,284 @@ msgstr "Aucune observation trouvée."
|
|||
msgid "Erreur lors du chargement des observations."
|
||||
msgstr "Erreur lors du chargement des observations."
|
||||
|
||||
#: reporting/templates/reporting/pending_dashboard.html:165
|
||||
msgid "Tableau de bord des encours & blocages"
|
||||
msgstr ""
|
||||
|
||||
#: reporting/templates/reporting/pending_dashboard.html:168
|
||||
msgid ""
|
||||
"Suivi des interventions non terminées (< 'finished') et observations "
|
||||
"ouvertes sur les 24 derniers mois"
|
||||
msgstr ""
|
||||
|
||||
#: reporting/templates/reporting/pending_dashboard.html:174
|
||||
msgid "Exporter en Excel (.xlsx)"
|
||||
msgstr ""
|
||||
|
||||
#: reporting/templates/reporting/pending_dashboard.html:185
|
||||
msgid "Horizon temporel"
|
||||
msgstr ""
|
||||
|
||||
#: reporting/templates/reporting/pending_dashboard.html:205
|
||||
msgid "Toutes les thématiques"
|
||||
msgstr "Toutes les thématiques"
|
||||
|
||||
#: reporting/templates/reporting/pending_dashboard.html:214
|
||||
msgid "Contrat / Prestataire"
|
||||
msgstr "Contrat / Prestataire"
|
||||
|
||||
#: reporting/templates/reporting/pending_dashboard.html:216
|
||||
msgid "Tous les contrats et prestataires"
|
||||
msgstr ""
|
||||
|
||||
#: reporting/templates/reporting/pending_dashboard.html:226
|
||||
msgid "Filtrer"
|
||||
msgstr ""
|
||||
|
||||
#: reporting/templates/reporting/pending_dashboard.html:228
|
||||
msgid "Réinitialiser"
|
||||
msgstr ""
|
||||
|
||||
#: reporting/templates/reporting/pending_dashboard.html:240
|
||||
msgid "Interventions en cours"
|
||||
msgstr "Interventions en cours"
|
||||
|
||||
#: reporting/templates/reporting/pending_dashboard.html:248
|
||||
msgid "Observations ouvertes"
|
||||
msgstr "Observations ouvertes"
|
||||
|
||||
#: reporting/templates/reporting/pending_dashboard.html:256
|
||||
msgid "En retard SLA"
|
||||
msgstr ""
|
||||
|
||||
#: reporting/templates/reporting/pending_dashboard.html:264
|
||||
#: reporting/templates/reporting/pending_dashboard.html:355
|
||||
msgid "En pause"
|
||||
msgstr ""
|
||||
|
||||
#: reporting/templates/reporting/pending_dashboard.html:266
|
||||
msgid "Attente matériel / tiers"
|
||||
msgstr ""
|
||||
|
||||
#: reporting/templates/reporting/pending_dashboard.html:272
|
||||
#: reporting/templates/reporting/pending_dashboard.html:361
|
||||
msgid "Obs. Orphelines"
|
||||
msgstr ""
|
||||
|
||||
#: reporting/templates/reporting/pending_dashboard.html:274
|
||||
msgid "À traiter sans intervention"
|
||||
msgstr "À traiter sans intervention"
|
||||
|
||||
#: reporting/templates/reporting/pending_dashboard.html:280
|
||||
msgid "Obs. Désynchronisées"
|
||||
msgstr ""
|
||||
|
||||
#: reporting/templates/reporting/pending_dashboard.html:282
|
||||
msgid "Intervention déjà close"
|
||||
msgstr "Intervention déjà close"
|
||||
|
||||
#: reporting/templates/reporting/pending_dashboard.html:294
|
||||
msgid "Répartition par Statut d'Intervention"
|
||||
msgstr "Répartition par Statut d'Intervention"
|
||||
|
||||
#: reporting/templates/reporting/pending_dashboard.html:308
|
||||
msgid "Pyramide des Âges"
|
||||
msgstr ""
|
||||
|
||||
#: reporting/templates/reporting/pending_dashboard.html:322
|
||||
msgid "Motifs de Pause (on_pause)"
|
||||
msgstr ""
|
||||
|
||||
#: reporting/templates/reporting/pending_dashboard.html:338
|
||||
msgid "Tableau Croisé Dynamique : Analyse par Thématique"
|
||||
msgstr ""
|
||||
|
||||
#: reporting/templates/reporting/pending_dashboard.html:340
|
||||
msgid ""
|
||||
"Ventilation croisée des statuts, retards, motifs de pause et observations "
|
||||
"par domaine métier"
|
||||
msgstr ""
|
||||
|
||||
#: reporting/templates/reporting/pending_dashboard.html:349
|
||||
msgid "En prép."
|
||||
msgstr ""
|
||||
|
||||
#: reporting/templates/reporting/pending_dashboard.html:350
|
||||
msgid "À approuver"
|
||||
msgstr ""
|
||||
|
||||
#: reporting/templates/reporting/pending_dashboard.html:351
|
||||
msgid "À planifier"
|
||||
msgstr ""
|
||||
|
||||
#: reporting/templates/reporting/pending_dashboard.html:352
|
||||
msgid "À traiter"
|
||||
msgstr ""
|
||||
|
||||
#: reporting/templates/reporting/pending_dashboard.html:353
|
||||
msgid "Pris en charge"
|
||||
msgstr "Pris en charge"
|
||||
|
||||
#: reporting/templates/reporting/pending_dashboard.html:354
|
||||
msgid "Démarré"
|
||||
msgstr ""
|
||||
|
||||
#: reporting/templates/reporting/pending_dashboard.html:356
|
||||
msgid "À corriger"
|
||||
msgstr ""
|
||||
|
||||
#: reporting/templates/reporting/pending_dashboard.html:357
|
||||
msgid "Total Itv"
|
||||
msgstr ""
|
||||
|
||||
#: reporting/templates/reporting/pending_dashboard.html:358
|
||||
#: reporting/templates/reporting/pending_dashboard.html:487
|
||||
msgid "En Retard"
|
||||
msgstr ""
|
||||
|
||||
#: reporting/templates/reporting/pending_dashboard.html:359
|
||||
#: reporting/templates/reporting/pending_dashboard.html:488
|
||||
#, python-format
|
||||
msgid "%% Retard"
|
||||
msgstr ""
|
||||
|
||||
#: reporting/templates/reporting/pending_dashboard.html:360
|
||||
msgid "Obs. Ouvertes"
|
||||
msgstr ""
|
||||
|
||||
#: reporting/templates/reporting/pending_dashboard.html:362
|
||||
msgid "Âge moy. (j)"
|
||||
msgstr ""
|
||||
|
||||
#: reporting/templates/reporting/pending_dashboard.html:368
|
||||
msgid "Chargement des données..."
|
||||
msgstr "Chargement des données..."
|
||||
|
||||
#: reporting/templates/reporting/pending_dashboard.html:384
|
||||
msgid "Interventions en retard & à corriger"
|
||||
msgstr "Interventions en retard & à corriger"
|
||||
|
||||
#: reporting/templates/reporting/pending_dashboard.html:390
|
||||
msgid "Interventions en pause"
|
||||
msgstr "Interventions en pause"
|
||||
|
||||
#: reporting/templates/reporting/pending_dashboard.html:396
|
||||
msgid "Observations orphelines & désynchronisées"
|
||||
msgstr "Observations orphelines & désynchronisées"
|
||||
|
||||
#: reporting/templates/reporting/pending_dashboard.html:402
|
||||
msgid "Synthèse Prestataires & Contrats"
|
||||
msgstr ""
|
||||
|
||||
#: reporting/templates/reporting/pending_dashboard.html:418
|
||||
#: reporting/templates/reporting/pending_dashboard.html:440
|
||||
msgid "Titre / Objet"
|
||||
msgstr ""
|
||||
|
||||
#: reporting/templates/reporting/pending_dashboard.html:421
|
||||
msgid "Prestataire / Contrat"
|
||||
msgstr ""
|
||||
|
||||
#: reporting/templates/reporting/pending_dashboard.html:422
|
||||
msgid "Retard SLA"
|
||||
msgstr ""
|
||||
|
||||
#: reporting/templates/reporting/pending_dashboard.html:423
|
||||
msgid "Diagnostic / Cause"
|
||||
msgstr ""
|
||||
|
||||
#: reporting/templates/reporting/pending_dashboard.html:427
|
||||
#: reporting/templates/reporting/pending_dashboard.html:789
|
||||
msgid "Aucune intervention en retard."
|
||||
msgstr "Aucune intervention en retard."
|
||||
|
||||
#: reporting/templates/reporting/pending_dashboard.html:442
|
||||
msgid "Motif de Pause"
|
||||
msgstr ""
|
||||
|
||||
#: reporting/templates/reporting/pending_dashboard.html:443
|
||||
#: reporting/templates/reporting/pending_dashboard.html:483
|
||||
msgid "Prestataire"
|
||||
msgstr ""
|
||||
|
||||
#: reporting/templates/reporting/pending_dashboard.html:444
|
||||
msgid "Jours en Pause"
|
||||
msgstr ""
|
||||
|
||||
#: reporting/templates/reporting/pending_dashboard.html:445
|
||||
msgid "Diagnostic"
|
||||
msgstr ""
|
||||
|
||||
#: reporting/templates/reporting/pending_dashboard.html:449
|
||||
#: reporting/templates/reporting/pending_dashboard.html:808
|
||||
msgid "Aucune intervention en pause."
|
||||
msgstr "Aucune intervention en pause."
|
||||
|
||||
#: reporting/templates/reporting/pending_dashboard.html:461
|
||||
msgid "Code Obs."
|
||||
msgstr "Code Obs."
|
||||
|
||||
#: reporting/templates/reporting/pending_dashboard.html:463
|
||||
msgid "Symptôme"
|
||||
msgstr "Symptôme"
|
||||
|
||||
#: reporting/templates/reporting/pending_dashboard.html:465
|
||||
msgid "Âge"
|
||||
msgstr ""
|
||||
|
||||
#: reporting/templates/reporting/pending_dashboard.html:466
|
||||
msgid "Itv Liée"
|
||||
msgstr ""
|
||||
|
||||
#: reporting/templates/reporting/pending_dashboard.html:467
|
||||
msgid "Anomalie / Diagnostic"
|
||||
msgstr ""
|
||||
|
||||
#: reporting/templates/reporting/pending_dashboard.html:471
|
||||
#: reporting/templates/reporting/pending_dashboard.html:827
|
||||
msgid "Aucune observation problématique détectée."
|
||||
msgstr "Aucune observation problématique détectée."
|
||||
|
||||
#: reporting/templates/reporting/pending_dashboard.html:485
|
||||
msgid "Gestionnaire"
|
||||
msgstr ""
|
||||
|
||||
#: reporting/templates/reporting/pending_dashboard.html:486
|
||||
msgid "Total en cours"
|
||||
msgstr ""
|
||||
|
||||
#: reporting/templates/reporting/pending_dashboard.html:489
|
||||
msgid "Âge Moyen (j)"
|
||||
msgstr ""
|
||||
|
||||
#: reporting/templates/reporting/pending_dashboard.html:493
|
||||
msgid "Aucune donnée de prestataire."
|
||||
msgstr ""
|
||||
|
||||
#: reporting/templates/reporting/pending_dashboard.html:553
|
||||
msgid "Calcul des indicateurs..."
|
||||
msgstr ""
|
||||
|
||||
#: reporting/templates/reporting/pending_dashboard.html:576
|
||||
msgid "Impossible de charger les données d'analyse."
|
||||
msgstr "Impossible de charger les données d'analyse."
|
||||
|
||||
#: reporting/templates/reporting/pending_dashboard.html:591
|
||||
msgid "de l'encours"
|
||||
msgstr ""
|
||||
|
||||
#: reporting/templates/reporting/pending_dashboard.html:696
|
||||
msgid "Aucune en pause"
|
||||
msgstr ""
|
||||
|
||||
#: reporting/templates/reporting/pending_dashboard.html:764
|
||||
msgid "Total général"
|
||||
msgstr ""
|
||||
|
||||
#: reporting/templates/reporting/pending_dashboard.html:847
|
||||
msgid "Aucun prestataire avec encours."
|
||||
msgstr ""
|
||||
|
||||
#: reporting/templates/reporting/volume_dashboard.html:79
|
||||
msgid "Nombre et répartition des interventions"
|
||||
msgstr "Nombre et répartition des interventions"
|
||||
|
|
|
|||
Binary file not shown.
|
|
@ -7,7 +7,7 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: PACKAGE VERSION\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2026-08-19 09:47+0200\n"
|
||||
"POT-Creation-Date: 2026-09-12 15:59+0200\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
|
|
@ -22,6 +22,7 @@ msgid "Reporting"
|
|||
msgstr "Rapportering"
|
||||
|
||||
#: reporting/models.py:19 reporting/templates/reporting/dashboard.html:150
|
||||
#: reporting/templates/reporting/pending_dashboard.html:484
|
||||
#: reporting/templates/reporting/volume_dashboard.html:96
|
||||
#: reporting/templates/reporting/volume_dashboard.html:243
|
||||
msgid "Contrat"
|
||||
|
|
@ -69,6 +70,16 @@ msgstr "Interventies"
|
|||
msgid "Nombre d'observations"
|
||||
msgstr "Aantal observaties"
|
||||
|
||||
#: reporting/templates/reporting/base.html:67
|
||||
#: reporting/templates/reporting/base.html:70
|
||||
msgid "Encours & Blocages"
|
||||
msgstr ""
|
||||
|
||||
#: reporting/templates/reporting/base.html:81
|
||||
#: reporting/templates/reporting/base.html:82
|
||||
msgid "Tableau de bord encours"
|
||||
msgstr ""
|
||||
|
||||
#: reporting/templates/reporting/dashboard.html:28
|
||||
msgid "Évolution du temps de traitement"
|
||||
msgstr "Evolutie van de verwerkingstijd"
|
||||
|
|
@ -186,6 +197,8 @@ msgstr "Bekijk in app"
|
|||
|
||||
#: reporting/templates/reporting/dashboard.html:145
|
||||
#: reporting/templates/reporting/observations_dashboard.html:274
|
||||
#: reporting/templates/reporting/pending_dashboard.html:417
|
||||
#: reporting/templates/reporting/pending_dashboard.html:439
|
||||
#: reporting/templates/reporting/volume_dashboard.html:238
|
||||
msgid "Code"
|
||||
msgstr "Code"
|
||||
|
|
@ -203,6 +216,8 @@ msgstr "Aanmaakdatum"
|
|||
|
||||
#: reporting/templates/reporting/dashboard.html:148
|
||||
#: reporting/templates/reporting/observations_dashboard.html:278
|
||||
#: reporting/templates/reporting/pending_dashboard.html:420
|
||||
#: reporting/templates/reporting/pending_dashboard.html:464
|
||||
#: reporting/templates/reporting/volume_dashboard.html:241
|
||||
msgid "Statut"
|
||||
msgstr "Status"
|
||||
|
|
@ -353,6 +368,11 @@ msgid "Type"
|
|||
msgstr "Type"
|
||||
|
||||
#: reporting/templates/reporting/observations_dashboard.html:279
|
||||
#: reporting/templates/reporting/pending_dashboard.html:203
|
||||
#: reporting/templates/reporting/pending_dashboard.html:348
|
||||
#: reporting/templates/reporting/pending_dashboard.html:419
|
||||
#: reporting/templates/reporting/pending_dashboard.html:441
|
||||
#: reporting/templates/reporting/pending_dashboard.html:462
|
||||
#: reporting/templates/reporting/volume_dashboard.html:93
|
||||
msgid "Thématique"
|
||||
msgstr "Thema"
|
||||
|
|
@ -396,6 +416,284 @@ msgstr "Geen waarnemingen gevonden."
|
|||
msgid "Erreur lors du chargement des observations."
|
||||
msgstr "Fout bij het laden van de gegevens."
|
||||
|
||||
#: reporting/templates/reporting/pending_dashboard.html:165
|
||||
msgid "Tableau de bord des encours & blocages"
|
||||
msgstr ""
|
||||
|
||||
#: reporting/templates/reporting/pending_dashboard.html:168
|
||||
msgid ""
|
||||
"Suivi des interventions non terminées (< 'finished') et observations "
|
||||
"ouvertes sur les 24 derniers mois"
|
||||
msgstr ""
|
||||
|
||||
#: reporting/templates/reporting/pending_dashboard.html:174
|
||||
msgid "Exporter en Excel (.xlsx)"
|
||||
msgstr ""
|
||||
|
||||
#: reporting/templates/reporting/pending_dashboard.html:185
|
||||
msgid "Horizon temporel"
|
||||
msgstr ""
|
||||
|
||||
#: reporting/templates/reporting/pending_dashboard.html:205
|
||||
msgid "Toutes les thématiques"
|
||||
msgstr "Alle thema's"
|
||||
|
||||
#: reporting/templates/reporting/pending_dashboard.html:214
|
||||
msgid "Contrat / Prestataire"
|
||||
msgstr "Contract / Dienstverlener"
|
||||
|
||||
#: reporting/templates/reporting/pending_dashboard.html:216
|
||||
msgid "Tous les contrats et prestataires"
|
||||
msgstr ""
|
||||
|
||||
#: reporting/templates/reporting/pending_dashboard.html:226
|
||||
msgid "Filtrer"
|
||||
msgstr ""
|
||||
|
||||
#: reporting/templates/reporting/pending_dashboard.html:228
|
||||
msgid "Réinitialiser"
|
||||
msgstr ""
|
||||
|
||||
#: reporting/templates/reporting/pending_dashboard.html:240
|
||||
msgid "Interventions en cours"
|
||||
msgstr "Lopende interventies"
|
||||
|
||||
#: reporting/templates/reporting/pending_dashboard.html:248
|
||||
msgid "Observations ouvertes"
|
||||
msgstr "Openstaande waarnemingen"
|
||||
|
||||
#: reporting/templates/reporting/pending_dashboard.html:256
|
||||
msgid "En retard SLA"
|
||||
msgstr ""
|
||||
|
||||
#: reporting/templates/reporting/pending_dashboard.html:264
|
||||
#: reporting/templates/reporting/pending_dashboard.html:355
|
||||
msgid "En pause"
|
||||
msgstr ""
|
||||
|
||||
#: reporting/templates/reporting/pending_dashboard.html:266
|
||||
msgid "Attente matériel / tiers"
|
||||
msgstr ""
|
||||
|
||||
#: reporting/templates/reporting/pending_dashboard.html:272
|
||||
#: reporting/templates/reporting/pending_dashboard.html:361
|
||||
msgid "Obs. Orphelines"
|
||||
msgstr ""
|
||||
|
||||
#: reporting/templates/reporting/pending_dashboard.html:274
|
||||
msgid "À traiter sans intervention"
|
||||
msgstr "Te behandelen zonder interventie"
|
||||
|
||||
#: reporting/templates/reporting/pending_dashboard.html:280
|
||||
msgid "Obs. Désynchronisées"
|
||||
msgstr ""
|
||||
|
||||
#: reporting/templates/reporting/pending_dashboard.html:282
|
||||
msgid "Intervention déjà close"
|
||||
msgstr "Interventie reeds gesloten"
|
||||
|
||||
#: reporting/templates/reporting/pending_dashboard.html:294
|
||||
msgid "Répartition par Statut d'Intervention"
|
||||
msgstr "Verdeling per interventiestatus"
|
||||
|
||||
#: reporting/templates/reporting/pending_dashboard.html:308
|
||||
msgid "Pyramide des Âges"
|
||||
msgstr ""
|
||||
|
||||
#: reporting/templates/reporting/pending_dashboard.html:322
|
||||
msgid "Motifs de Pause (on_pause)"
|
||||
msgstr ""
|
||||
|
||||
#: reporting/templates/reporting/pending_dashboard.html:338
|
||||
msgid "Tableau Croisé Dynamique : Analyse par Thématique"
|
||||
msgstr ""
|
||||
|
||||
#: reporting/templates/reporting/pending_dashboard.html:340
|
||||
msgid ""
|
||||
"Ventilation croisée des statuts, retards, motifs de pause et observations "
|
||||
"par domaine métier"
|
||||
msgstr ""
|
||||
|
||||
#: reporting/templates/reporting/pending_dashboard.html:349
|
||||
msgid "En prép."
|
||||
msgstr ""
|
||||
|
||||
#: reporting/templates/reporting/pending_dashboard.html:350
|
||||
msgid "À approuver"
|
||||
msgstr ""
|
||||
|
||||
#: reporting/templates/reporting/pending_dashboard.html:351
|
||||
msgid "À planifier"
|
||||
msgstr ""
|
||||
|
||||
#: reporting/templates/reporting/pending_dashboard.html:352
|
||||
msgid "À traiter"
|
||||
msgstr ""
|
||||
|
||||
#: reporting/templates/reporting/pending_dashboard.html:353
|
||||
msgid "Pris en charge"
|
||||
msgstr "In behandeling genomen"
|
||||
|
||||
#: reporting/templates/reporting/pending_dashboard.html:354
|
||||
msgid "Démarré"
|
||||
msgstr ""
|
||||
|
||||
#: reporting/templates/reporting/pending_dashboard.html:356
|
||||
msgid "À corriger"
|
||||
msgstr ""
|
||||
|
||||
#: reporting/templates/reporting/pending_dashboard.html:357
|
||||
msgid "Total Itv"
|
||||
msgstr ""
|
||||
|
||||
#: reporting/templates/reporting/pending_dashboard.html:358
|
||||
#: reporting/templates/reporting/pending_dashboard.html:487
|
||||
msgid "En Retard"
|
||||
msgstr ""
|
||||
|
||||
#: reporting/templates/reporting/pending_dashboard.html:359
|
||||
#: reporting/templates/reporting/pending_dashboard.html:488
|
||||
#, python-format
|
||||
msgid "%% Retard"
|
||||
msgstr ""
|
||||
|
||||
#: reporting/templates/reporting/pending_dashboard.html:360
|
||||
msgid "Obs. Ouvertes"
|
||||
msgstr ""
|
||||
|
||||
#: reporting/templates/reporting/pending_dashboard.html:362
|
||||
msgid "Âge moy. (j)"
|
||||
msgstr ""
|
||||
|
||||
#: reporting/templates/reporting/pending_dashboard.html:368
|
||||
msgid "Chargement des données..."
|
||||
msgstr "Gegevens laden..."
|
||||
|
||||
#: reporting/templates/reporting/pending_dashboard.html:384
|
||||
msgid "Interventions en retard & à corriger"
|
||||
msgstr "Laattijdige en te corrigeren interventies"
|
||||
|
||||
#: reporting/templates/reporting/pending_dashboard.html:390
|
||||
msgid "Interventions en pause"
|
||||
msgstr "Onderbroken interventies"
|
||||
|
||||
#: reporting/templates/reporting/pending_dashboard.html:396
|
||||
msgid "Observations orphelines & désynchronisées"
|
||||
msgstr "Verweesde & niet-gesynchroniseerde waarnemingen"
|
||||
|
||||
#: reporting/templates/reporting/pending_dashboard.html:402
|
||||
msgid "Synthèse Prestataires & Contrats"
|
||||
msgstr ""
|
||||
|
||||
#: reporting/templates/reporting/pending_dashboard.html:418
|
||||
#: reporting/templates/reporting/pending_dashboard.html:440
|
||||
msgid "Titre / Objet"
|
||||
msgstr ""
|
||||
|
||||
#: reporting/templates/reporting/pending_dashboard.html:421
|
||||
msgid "Prestataire / Contrat"
|
||||
msgstr ""
|
||||
|
||||
#: reporting/templates/reporting/pending_dashboard.html:422
|
||||
msgid "Retard SLA"
|
||||
msgstr ""
|
||||
|
||||
#: reporting/templates/reporting/pending_dashboard.html:423
|
||||
msgid "Diagnostic / Cause"
|
||||
msgstr ""
|
||||
|
||||
#: reporting/templates/reporting/pending_dashboard.html:427
|
||||
#: reporting/templates/reporting/pending_dashboard.html:789
|
||||
msgid "Aucune intervention en retard."
|
||||
msgstr "Geen laattijdige interventies."
|
||||
|
||||
#: reporting/templates/reporting/pending_dashboard.html:442
|
||||
msgid "Motif de Pause"
|
||||
msgstr ""
|
||||
|
||||
#: reporting/templates/reporting/pending_dashboard.html:443
|
||||
#: reporting/templates/reporting/pending_dashboard.html:483
|
||||
msgid "Prestataire"
|
||||
msgstr ""
|
||||
|
||||
#: reporting/templates/reporting/pending_dashboard.html:444
|
||||
msgid "Jours en Pause"
|
||||
msgstr ""
|
||||
|
||||
#: reporting/templates/reporting/pending_dashboard.html:445
|
||||
msgid "Diagnostic"
|
||||
msgstr ""
|
||||
|
||||
#: reporting/templates/reporting/pending_dashboard.html:449
|
||||
#: reporting/templates/reporting/pending_dashboard.html:808
|
||||
msgid "Aucune intervention en pause."
|
||||
msgstr "Geen onderbroken interventies."
|
||||
|
||||
#: reporting/templates/reporting/pending_dashboard.html:461
|
||||
msgid "Code Obs."
|
||||
msgstr "Waarnemingscode"
|
||||
|
||||
#: reporting/templates/reporting/pending_dashboard.html:463
|
||||
msgid "Symptôme"
|
||||
msgstr "Symptoom"
|
||||
|
||||
#: reporting/templates/reporting/pending_dashboard.html:465
|
||||
msgid "Âge"
|
||||
msgstr ""
|
||||
|
||||
#: reporting/templates/reporting/pending_dashboard.html:466
|
||||
msgid "Itv Liée"
|
||||
msgstr ""
|
||||
|
||||
#: reporting/templates/reporting/pending_dashboard.html:467
|
||||
msgid "Anomalie / Diagnostic"
|
||||
msgstr ""
|
||||
|
||||
#: reporting/templates/reporting/pending_dashboard.html:471
|
||||
#: reporting/templates/reporting/pending_dashboard.html:827
|
||||
msgid "Aucune observation problématique détectée."
|
||||
msgstr "Geen problematische waarnemingen gedetecteerd."
|
||||
|
||||
#: reporting/templates/reporting/pending_dashboard.html:485
|
||||
msgid "Gestionnaire"
|
||||
msgstr ""
|
||||
|
||||
#: reporting/templates/reporting/pending_dashboard.html:486
|
||||
msgid "Total en cours"
|
||||
msgstr ""
|
||||
|
||||
#: reporting/templates/reporting/pending_dashboard.html:489
|
||||
msgid "Âge Moyen (j)"
|
||||
msgstr ""
|
||||
|
||||
#: reporting/templates/reporting/pending_dashboard.html:493
|
||||
msgid "Aucune donnée de prestataire."
|
||||
msgstr ""
|
||||
|
||||
#: reporting/templates/reporting/pending_dashboard.html:553
|
||||
msgid "Calcul des indicateurs..."
|
||||
msgstr ""
|
||||
|
||||
#: reporting/templates/reporting/pending_dashboard.html:576
|
||||
msgid "Impossible de charger les données d'analyse."
|
||||
msgstr "Kan analysegegevens niet laden."
|
||||
|
||||
#: reporting/templates/reporting/pending_dashboard.html:591
|
||||
msgid "de l'encours"
|
||||
msgstr ""
|
||||
|
||||
#: reporting/templates/reporting/pending_dashboard.html:696
|
||||
msgid "Aucune en pause"
|
||||
msgstr ""
|
||||
|
||||
#: reporting/templates/reporting/pending_dashboard.html:764
|
||||
msgid "Total général"
|
||||
msgstr ""
|
||||
|
||||
#: reporting/templates/reporting/pending_dashboard.html:847
|
||||
msgid "Aucun prestataire avec encours."
|
||||
msgstr ""
|
||||
|
||||
#: reporting/templates/reporting/volume_dashboard.html:79
|
||||
msgid "Nombre et répartition des interventions"
|
||||
msgstr "Aantal en verdeling van interventies"
|
||||
|
|
|
|||
Binary file not shown.
File diff suppressed because it is too large
Load diff
Binary file not shown.
File diff suppressed because it is too large
Load diff
Binary file not shown.
File diff suppressed because it is too large
Load diff
|
|
@ -1823,11 +1823,11 @@ loadAssetsForCurrentView = async function() {
|
|||
alert('{% translate "Règlement enregistré avec succès" %}');
|
||||
loadRegulationDetail(reg.id, true, { fitBounds: false });
|
||||
} else {
|
||||
alert("{% translate 'Erreur lors de l\'enregistrement' %}");
|
||||
alert('{% translate "Erreur lors de l\'enregistrement" %}');
|
||||
}
|
||||
} catch (error) {
|
||||
console.error('Error saving regulation:', error);
|
||||
alert("{% translate 'Erreur lors de l\'enregistrement' %}");
|
||||
alert('{% translate "Erreur lors de l\'enregistrement" %}');
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
Loading…
Reference in a new issue