Clés de traduction, namespaces et stratégies de surcharge
Les traductions sont fortement typées. Vous pouvez fournir des surcharges soit via le provider, soit directement dans la configuration de table sous translations.keys.
Important : quand vous utilisez le catalogue form (create/edit via getFormConfig), le formulaire utilise la même fonction de traduction t() que la table, c'est-à-dire le même objet DataTableTranslations passé au provider. Vous devez inclure les clés form et value dans cet objet pour que les labels de champs, placeholders (y compris le champ value-type) et boutons de formulaire se résolvent correctement. Sinon, vous verrez des clés brutes comme value.string_placeholder dans l'UI.
type DataTableTranslations = {
actions : { delete : string ; edit : string ; copy : string ; export : string ; save : string ; cancel : string ; confirm : string ; title : string ; view : string };
bulk : { close_menu : string ; confirm_copy_description : string ; confirm_delete_description : string ; confirm_title : string };
calculations : { none : string ; count : string ; percent : string ; more : string ; count_all : string ; count_values : string ; count_unique : string ; count_empty : string ; count_not_empty : string ; count_true : string ; count_false : string ; percent_empty : string ; percent_not_empty : string ; percent_true : string ; percent_false : string ; sum : string ; average : string ; median : string ; min : string ; max : string ; range : string ; calculate : string };
columns : { title : string ; hide : string ; show : string ; visible : string ; hidden : string ; drag : string ; resetOrder : string ; toggleVisibility : string ; hideAll : string ; showAll : string ; edit_property : string ; filter : string ; hide_in_view : string ; reorder : string ; sort_ascending : string ; sort_descending : string };
menu : { /* ... */ footer_calculations : string ; footer_calculations_on : string ; footer_calculations_off : string };
pagination : { first : string ; last : string ; next : string ; previous : string ; of : string ; page : string ; rowsPerPage : string ; showing : string ; selectedCount : string };
selection : { rows : string };
// ... see full type in types/translations.ts
}
translations : {
namespace : 'common' ,
keys : {
'columns.title' : 'Columns' ,
'actions.title' : 'Actions' ,
},
}
Vous pouvez fournir un objet DataTableTranslations complet au provider pour une localisation cohérente sur toutes les tables.
Filtres (avancés) : les libellés d'opérateurs (Contains, Equals, Starts with, etc.) utilisent les clés filters.operators.*. Les options du menu et la valeur sélectionnée affichée lorsque le select est fermé sont traduites, donc l'opérateur courant apparaît toujours dans la locale active (par ex. “Contient” au lieu de “contains”).
Pagination : tous les libellés sont traduits : “Rows per page” (pagination.rowsPerPage), le texte “Page X of Y” (pagination.showing, avec {page} et {total}), et les labels des boutons first/previous/next/last (pagination.first, pagination.previous, etc.). La pagination par défaut et la pagination de style boutons (SafePagination) utilisent ces clés.
Calculs de footer : les libellés du menu de calcul et les résultats utilisent les clés calculations.*. Le toggle du menu options utilise menu.footer_calculations, menu.footer_calculations_on et menu.footer_calculations_off.
Quand vous utilisez getFormConfig et le formulaire create/edit intégré (catalogue form), le formulaire résout tous les labels, placeholders et textes de boutons depuis le même objet DataTableTranslations passé au provider. Ajoutez une section form et value dans cet objet.
form – Labels de champs (utilisez labelKey dans votre form config, par ex. form.name), boutons de formulaire (cancel, submit, create, update) et messages succès/erreur. Le catalogue form utilise aussi createForm.title et createForm.description pour l'en-tête de dialog/drawer. Pour les champs select, utilisez form.valueType_options.boolean etc. si vous utilisez optionKeys.
value – Utilisé par le champ value-type : value.string_placeholder, value.json_placeholder, value.number_placeholder, et pour le switch booléen value.enabled / value.disabled.
Dans votre form config, définissez labelKey (et éventuellement placeholderKey, optionKeys) sur chaque champ pour que le form builder remplace labels/options par t(labelKey).
Fusionnez ceci dans l'objet DataTableTranslations que vous passez à la table (par ex. à côté de actions, columns, filters, etc.) :
const myTableTranslations = {
// ... actions, columns, filters, etc. ...
form: {
cancel: "Cancel" ,
create: "Create" ,
createError: "Failed to create" ,
createForm: {
description: "Add a new item." ,
title: "Create item" ,
},
created: "Created successfully" ,
name: "Name" ,
slug: "Slug" ,
category: "Category" ,
description: "Description" ,
enabled: "Enabled" ,
valueType: "Value type" ,
value: "Value" ,
submit: "Save" ,
update: "Update" ,
updateError: "Failed to update" ,
updated: "Updated successfully" ,
valueType_options: {
boolean: "Boolean" ,
number: "Number" ,
string: "String" ,
json: "JSON" ,
},
},
value: {
string_placeholder: "Default string value" ,
json_placeholder: "{}" ,
number_placeholder: "0" ,
enabled: "Enabled" ,
disabled: "Disabled" ,
},
};
Exemple de form config avec labelKey et optionKeys pour utiliser ces clés :
defineFormConfig ({
id: "my-entity" ,
defaultValues: { name: "" , slug: "" , valueType: "string" , value: null , enabled: false },
fields: [
{ name: "name" , type: "text" , label: "Name" , labelKey: "form.name" , required: true },
{ name: "slug" , type: "text" , label: "Slug" , labelKey: "form.slug" , required: true },
{
name: "valueType" ,
type: "select" ,
label: "Value type" ,
labelKey: "form.valueType" ,
optionKeys: [
"form.valueType_options.boolean" ,
"form.valueType_options.number" ,
"form.valueType_options.string" ,
"form.valueType_options.json" ,
],
options: [
{ label: "boolean" , value: "boolean" },
{ label: "number" , value: "number" },
{ label: "string" , value: "string" },
{ label: "json" , value: "json" },
],
},
{
name: "value" ,
type: "value-type" ,
label: "Value" ,
labelKey: "form.value" ,
valueTypeField: "valueType" ,
supportedTypes: [ "boolean" , "json" , "number" , "string" ],
},
],
schema: mySchema,
translations: {
namespace: "my.namespace" ,
keys: {
cancel: "form.cancel" ,
submit: "form.submit" ,
create: "form.create" ,
update: "form.update" ,
created: "form.created" ,
updated: "form.updated" ,
createError: "form.createError" ,
updateError: "form.updateError" ,
"createForm.title" : "form.createForm.title" ,
"createForm.description" : "form.createForm.description" ,
},
},
});
Voir aussi :
Utilisez les clés suivantes pour construire votre objet de traduction. Toutes les valeurs sont des strings.
Utilisé par les actions de ligne, le bouton d'export de la barre d'outils et le menu des actions de masse (onglets Edit, Copy, Export, Delete et boutons de dialogue).
Key Type actions.delete string actions.edit string actions.copy string actions.export string actions.save string actions.cancel string actions.confirm string actions.title string actions.view string
Chaînes utilisées par le panneau des actions de masse (affiché quand une ou plusieurs lignes sont sélectionnées). Supporte {action}, {count} et le pluriel ICU : {count, plural, one {item} other {items}}.
Key Type bulk.close_menu string bulk.confirm_copy_description string bulk.confirm_delete_description string bulk.confirm_title string
Key Type columns.title string columns.hide string columns.show string columns.visible string columns.hidden string columns.drag string columns.resetOrder string columns.toggleVisibility string columns.hideAll string columns.showAll string columns.edit_property string columns.filter string columns.hide_in_view string columns.reorder string columns.sort_ascending string columns.sort_descending string
Key Type common.true string common.false string common.loading string common.error string common.success string common.reset string common.search string
Key Type filters.title string filters.add string filters.remove string filters.apply string filters.clear string filters.select_all string filters.noResults string filters.noFilters string filters.search string filters.selectedCount string filters.active_count string filters.column string filters.value string filters.value_to string filters.select_operator string filters.error string
Key Type filters.operators.contains string filters.operators.equals string filters.operators.starts_with string filters.operators.ends_with string filters.operators.not_contains string filters.operators.empty string filters.operators.not_empty string filters.operators.greater_than string filters.operators.less_than string filters.operators.greater_than_or_equal string filters.operators.less_than_or_equal string filters.operators.between string filters.operators.not_equals string filters.operators.is string filters.operators.is_not string filters.operators.is_any_of string filters.operators.is_none_of string filters.operators.contains_all string filters.operators.contains_none string filters.operators.before string filters.operators.after string filters.operators.on_or_before string filters.operators.on_or_after string
Key Type filters.types.text string filters.types.number string filters.types.date string filters.types.option string filters.types.multiOption string
Key Type filters.date_shortcuts.today string filters.date_shortcuts.yesterday string filters.date_shortcuts.last_7_days string filters.date_shortcuts.last_30_days string filters.date_shortcuts.this_month string
Key Type filters.advanced.title string filters.advanced.basic_title string filters.advanced.convert_to_advanced string filters.advanced.filter_options string filters.advanced.edit_filter string filters.advanced.enable_filter string filters.advanced.disable_filter string filters.advanced.edit_filter_for string filters.advanced.editing string filters.advanced.done string filters.advanced.reset_filters string filters.advanced.empty_description string filters.advanced.add_first_filter string filters.advanced.quick_start string filters.advanced.quick_start_search string filters.advanced.quick_start_status string filters.advanced.quick_start_date string filters.advanced.load_error_title string filters.advanced.load_error_description string filters.advanced.retry string filters.advanced.results_count string filters.advanced.no_results_with_search string filters.advanced.no_results_description string filters.advanced.adjust_filters_hint string filters.advanced.modify_filters string filters.advanced.filtered_in string filters.advanced.search_columns string filters.advanced.no_columns_found string filters.advanced.no_columns_available string filters.advanced.no_popular_filters string filters.advanced.no_recent_filters string filters.advanced.try_different_search string filters.advanced.add_column string filters.advanced.active string filters.advanced.activate string filters.advanced.off string
Key Type filters.faceted.sort_by_label string filters.faceted.sort_by_count string filters.faceted.sort_by_value string filters.faceted.sort_by_trending string filters.faceted.selected_of_total string filters.faceted.options_count string filters.faceted.select_all string filters.faceted.select_none string filters.faceted.top_5 string filters.faceted.trending string filters.faceted.no_options_found string filters.faceted.no_options_available string filters.faceted.try_different_search string filters.faceted.no_data_for_filter string filters.faceted.statistics string filters.faceted.options string filters.faceted.records string filters.faceted.coverage string
Key Type filters.add_menu.all string filters.add_menu.popular string filters.add_menu.recent string filters.add_menu.clear_search_hint string filters.add_menu.navigate_hint string filters.add_menu.categories.recent string filters.add_menu.categories.popular string filters.add_menu.categories.text string filters.add_menu.categories.number string filters.add_menu.categories.date string filters.add_menu.categories.option string
Key Type filters.presets.title string filters.presets.panel_title string filters.presets.share string filters.presets.duplicate string filters.presets.load string filters.presets.used_times string filters.presets.last_used string filters.presets.save_dialog_title string filters.presets.save_dialog_description string filters.presets.name_label string filters.presets.name_placeholder string filters.presets.description_label string filters.presets.description_placeholder string filters.presets.tags_label string filters.presets.tags_placeholder string filters.presets.make_public string filters.presets.no_active_filters_to_save string filters.presets.save_preset string filters.presets.saving string filters.presets.delete_title string filters.presets.delete_description string filters.presets.save_current string filters.presets.import string filters.presets.export_all string filters.presets.search_placeholder string filters.presets.no_presets_found string filters.presets.try_different_search string filters.presets.create_first_hint string filters.presets.save_first string filters.presets.tabs.all string filters.presets.tabs.recent string filters.presets.tabs.popular string filters.presets.tabs.system string
Utilisé par la pagination par défaut et la pagination de style boutons (par ex. “Lignes par page”, “Page 1 of 2”). pagination.showing est utilisé pour le texte “Page X of Y” et supporte {page} et {total}. Valeur anglaise par défaut : "Page {page} of {total}" (exemple français : "Page {page} sur {total}").
Key Type pagination.first string pagination.last string pagination.next string pagination.previous string pagination.of string pagination.page string pagination.rowsPerPage string pagination.showing string (supports {page}, {total}) pagination.selectedCount string
Key Type search.placeholder string
Utilisé pour l'en-tête de la colonne de sélection et le compteur du menu des actions de masse (par ex. “3 rows selected”). Supporte {count} et l'ICU plural.
Key Type selection.rows string
Key Type sorting.ascending string sorting.descending string sorting.choose_column string sorting.current string
Key Type views.title string views.current string views.save string views.saveAs string views.update string views.delete string views.rename string views.setDefault string views.defaultView string views.default_system_view string views.systemView string views.custom_view string views.temporary_view string views.viewName string views.noViews string views.confirmDelete string views.confirmDeleteWithName string views.manage string views.saveChanges string views.saveChangesTooltip string views.add_view string views.view_options string views.view_name string views.cannot_delete_system_view string views.cannot_update_system_view string views.view_created_successfully string views.view_updated_successfully string views.view_deleted_successfully string views.error_saving_view string views.error_updating_view string views.error_deleting_view string views.error_loading_views string views.history.undo string views.history.redo string views.history.nothing_to_undo string views.history.nothing_to_redo string views.notifications.created string views.notifications.updated string views.notifications.deleted string views.notifications.setAsDefault string views.notifications.error.create string views.notifications.error.update string views.notifications.error.delete string views.notifications.error.setDefault string views.dialog.save.title string views.dialog.save.description string views.dialog.save.name string views.dialog.save.namePlaceholder string views.dialog.save.default string views.dialog.save.global string views.dialog.save.save string views.dialog.save.saving string views.dialog.manage.title string views.dialog.manage.description string views.dialog.manage.name string views.dialog.manage.type string views.dialog.manage.created string views.dialog.manage.actions string views.dialog.manage.rename string views.dialog.manage.delete string views.dialog.manage.setDefault string views.dialog.manage.editColumns string views.dialog.manage.stopEdit string views.dialog.manage.editSystemViewWarning string
Key Type state.loading string state.noData string state.error string state.error_description string
Key Type url_state.copy_link string url_state.link_copied string url_state.reset string url_state.share string url_state.auto_save string url_state.save_success string
Key Type demo.title string demo.copy_url string demo.save_view string demo.reset string demo.view string demo.sort_by string demo.select_view string demo.select_sort string demo.view_name_placeholder string demo.save string demo.current_state string demo.data string demo.loading string demo.name_asc string demo.name_desc string demo.date_asc string demo.date_desc string
Key Type table.no_results string table.no_results_description string table.hide_column string table.show_column string table.toggle_columns string table.selected_rows string table.sort_ascending string table.sort_descending string table.drag_column string
Key Type calculations.none string calculations.count string calculations.percent string calculations.more string calculations.count_all string calculations.count_values string calculations.count_unique string calculations.count_empty string calculations.count_not_empty string calculations.count_true string calculations.count_false string calculations.percent_empty string calculations.percent_not_empty string calculations.percent_true string calculations.percent_false string calculations.sum string calculations.average string calculations.median string calculations.min string calculations.max string calculations.range string calculations.calculate string
Key Type menu.back string menu.columns string menu.columns_visible string menu.filter string menu.filters string menu.group string menu.select_column string menu.current_groups string menu.active_groups string menu.options string menu.properties string menu.sort string menu.subgroup string menu.title string menu.footer_calculations string menu.footer_calculations_on string menu.footer_calculations_off string
Incluez ces clés lors de l'utilisation des formulaires create/edit pour que labels, placeholders et boutons se résolvent. Utilisez labelKey / optionKeys dans votre form config pour pointer vers ces clés.
Key Type form.cancel string form.create string form.createError string form.createForm.title string form.createForm.description string form.created string form.name string form.slug string form.category string form.description string form.enabled string form.valueType string form.value string form.submit string form.update string form.updateError string form.updated string form.valueType_options.boolean string form.valueType_options.number string form.valueType_options.string string form.valueType_options.json string
Utilisé par le champ value-type du formulaire pour les placeholders et labels booléens.
Key Type value.string_placeholder string value.json_placeholder string value.number_placeholder string value.enabled string value.disabled string