feat(tableau): traduire les libellés de filtre AG Grid en français (#41)
Menu de filtre de colonne (Contient, Égal à, Vide, ET/OU, etc.) traduit via l'option native AG Grid localeText, exposée par dashGridOptions. N'affecte pas l'apparence de base conservée au Lot 1 (aucun thème/CSS custom) — uniquement le texte des libellés. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
+37
-1
@@ -1069,10 +1069,45 @@ def get_top_org_table(data, org_type: str, extra_columns: list, filters: bool =
|
|||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
|
# Libellés du menu de filtre AG Grid, traduits en français (option native
|
||||||
|
# AG Grid localeText, exposée via dashGridOptions — n'affecte pas l'apparence
|
||||||
|
# de base conservée au Lot 1, seulement le texte).
|
||||||
|
AG_GRID_LOCALE_FR = {
|
||||||
|
# Filtres texte / nombre / date
|
||||||
|
"contains": "Contient",
|
||||||
|
"notContains": "Ne contient pas",
|
||||||
|
"equals": "Égal à",
|
||||||
|
"notEqual": "Différent de",
|
||||||
|
"startsWith": "Commence par",
|
||||||
|
"endsWith": "Se termine par",
|
||||||
|
"blank": "Vide",
|
||||||
|
"notBlank": "Non vide",
|
||||||
|
"empty": "Choisir une option",
|
||||||
|
"lessThan": "Inférieur à",
|
||||||
|
"lessThanOrEqual": "Inférieur ou égal à",
|
||||||
|
"greaterThan": "Supérieur à",
|
||||||
|
"greaterThanOrEqual": "Supérieur ou égal à",
|
||||||
|
"inRange": "Entre",
|
||||||
|
"inRangeStart": "de",
|
||||||
|
"inRangeEnd": "à",
|
||||||
|
# Chrome du menu de filtre
|
||||||
|
"filterOoo": "Filtrer...",
|
||||||
|
"applyFilter": "Appliquer",
|
||||||
|
"resetFilter": "Réinitialiser",
|
||||||
|
"clearFilter": "Effacer",
|
||||||
|
"cancelFilter": "Annuler",
|
||||||
|
"andCondition": "ET",
|
||||||
|
"orCondition": "OU",
|
||||||
|
"noRowsToShow": "Aucune ligne à afficher",
|
||||||
|
"loadingOoo": "Chargement...",
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
def ag_grid(grid_id: str, column_defs: list[dict]) -> "dag.AgGrid":
|
def ag_grid(grid_id: str, column_defs: list[dict]) -> "dag.AgGrid":
|
||||||
"""Grille AG Grid server-side (infinite) pour la page Tableau.
|
"""Grille AG Grid server-side (infinite) pour la page Tableau.
|
||||||
|
|
||||||
Apparence de base d'AG Grid (aucun thème custom au Lot 1).
|
Apparence de base d'AG Grid (aucun thème custom au Lot 1) ; libellés
|
||||||
|
de filtre traduits en français via localeText.
|
||||||
"""
|
"""
|
||||||
return dag.AgGrid(
|
return dag.AgGrid(
|
||||||
id=grid_id,
|
id=grid_id,
|
||||||
@@ -1086,6 +1121,7 @@ def ag_grid(grid_id: str, column_defs: list[dict]) -> "dag.AgGrid":
|
|||||||
"rowBuffer": 0,
|
"rowBuffer": 0,
|
||||||
"infiniteInitialRowCount": 100,
|
"infiniteInitialRowCount": 100,
|
||||||
"suppressCellFocus": True,
|
"suppressCellFocus": True,
|
||||||
|
"localeText": AG_GRID_LOCALE_FR,
|
||||||
},
|
},
|
||||||
columnSize="responsiveSizeToFit",
|
columnSize="responsiveSizeToFit",
|
||||||
style={"height": "70vh", "width": "100%"},
|
style={"height": "70vh", "width": "100%"},
|
||||||
|
|||||||
@@ -349,3 +349,24 @@ def test_bounds_to_center_zoom_center_is_bbox_midpoint():
|
|||||||
center, _ = bounds_to_center_zoom(40.0, 0.0, 50.0, 4.0)
|
center, _ = bounds_to_center_zoom(40.0, 0.0, 50.0, 4.0)
|
||||||
|
|
||||||
assert center == [45.0, 2.0]
|
assert center == [45.0, 2.0]
|
||||||
|
|
||||||
|
|
||||||
|
def test_ag_grid_locale_text_translates_common_filter_labels():
|
||||||
|
from src.figures import ag_grid
|
||||||
|
|
||||||
|
grid = ag_grid("tableau_grid", [])
|
||||||
|
locale_text = grid.dashGridOptions["localeText"]
|
||||||
|
|
||||||
|
assert locale_text["equals"] == "Égal à"
|
||||||
|
assert locale_text["contains"] == "Contient"
|
||||||
|
assert locale_text["blank"] == "Vide"
|
||||||
|
assert locale_text["notBlank"] == "Non vide"
|
||||||
|
|
||||||
|
|
||||||
|
def test_ag_grid_keeps_base_appearance():
|
||||||
|
"""Pas de thème/className custom au Lot 1 (spec de design)."""
|
||||||
|
from src.figures import ag_grid
|
||||||
|
|
||||||
|
grid = ag_grid("tableau_grid", [])
|
||||||
|
|
||||||
|
assert getattr(grid, "className", None) in (None, "")
|
||||||
|
|||||||
Reference in New Issue
Block a user