FesaComponents
DataTableEmpezar

Labels e idiomas

Textos en español por defecto y puente con next-intl para las apps bilingües.

Todos los textos de la tabla (toolbar, paginación, filtros, arias, toasts) salen de un contexto con defaults en español.

  • App solo en español (FesaStore): no configures nada.
  • App bilingüe (fesa.com.pa, Fesa ID): monta el bridge una vez, dentro del provider de i18n.
components/datatable-labels-bridge.tsx
"use client";

import { useMemo } from "react";
import { useTranslations } from "next-intl";
import { DataTableLabelsProvider, type DataTableLabelsOverride } from "@fesa/components/datatable";

export function DataTableLabelsBridge({ children }: { children: React.ReactNode }) {
  const t = useTranslations("DataTable");
  const labels = useMemo<DataTableLabelsOverride>(() => ({
    table: { empty: t("empty") },
    toolbar: {
      search: t("toolbar.search"),
      columns: t("toolbar.columns"),
      export: t("toolbar.export"),
      // …el resto de claves del namespace DataTable
    },
    pagination: {
      showing: (start, end, total) => t("pagination.showing", { start, end, total }),
      rowsPerPage: t("pagination.rowsPerPage"),
    },
  }), [t]);

  return <DataTableLabelsProvider labels={labels}>{children}</DataTableLabelsProvider>;
}

El merge es parcial por grupo: lo que no pases conserva el default en español. La lista completa de claves está en la referencia de labels.