Elyra
Elyra The coding agent eTerm The terminal that knows where each command ends Huskarl AI colleagues on your own Mac Starf An activity monitor for Apple silicon that never invents a number etrans An SSH and SFTP client for macOS Elyra VM Virtual machines for macOS, Linux and Windows on your Mac Litr A small, native web browser for macOS Notr A notebook for macOS e The native code editor Elyra Grove Native local development environment Askr The real server for Laravel & PHP Elyra Framework Rust + Svelte 5 framework for desktop apps Elyra Conductor Local project conductor Refr Local-first PDF workspace for macOS Elyra Workspace A desktop workspace for coding agents Elyra SQL Server MySQL-compatible SQL server in Rust Elyra Félagi Agents as teammates on one board Elyra SQL Client Native desktop SQL workbench Elyra SQL Anywhere Replication-ready SQL engine Elyra Sjá SEO & GEO workspace for macOS Elyra DataGrid Server-driven data grid for Laravel
Elyra
Localization & state persistence

Localization & state persistence

Localization (i18n)

All UI strings are translatable. English is the default; nothing is hardcoded.

Livewire (Laravel translations)

Strings flow through __('elyra-datagrid::grid.*'). Ship your own translations by publishing the language files and setting the app locale:

php artisan vendor:publish --tag=elyra-datagrid-lang
lang/vendor/elyra-datagrid/nb/grid.php

The package includes en (default). Operator labels live under grid.operators.*.

Svelte / Vue (messages)

Pass a messages object (partial — anything omitted falls back to English):

import { DataGrid } from '@elyra/datagrid-vue';

const messages = {
  search: 'Søk…',
  itemsPerPage: 'per side',
  of: 'av',
  operators: { contains: 'inneholder', eq: 'er lik' /* ... */ },
};
<DataGrid :options="options" :messages="messages" />

Full key list: search, new, excel, clearFilters, clearGrouping, loading, facets, noRows, rows, selected, itemsPerPage, of, all, total, editRow, newRow, save, cancel, apply, clear, value, valueFrom, valueTo, groupHint, sortAsc, sortDesc, groupBy, freeze, unfreeze, hide, moveLeft, moveRight, columns, operators.

Number formatting

The clients format numbers with en-US by default (1,234.56). Provide a format function per column, or a cell template with locale-appropriate symbol/decimals, to localize.

State persistence

Persist column order/width/visibility/frozen, sort, filters, grouping, collapsed groups, page size, and pinned rows.

Svelte / Vue (localStorage)

Set a persistKey; the grid saves state to localStorage and restores it on load:

const options = { /* ... */ persistKey: 'sales-grid' };

State is saved (debounced) on change and merged into the initial state on creation.

Livewire

Grid state lives in the component. Common bits (sort, q, page) are already #[Url] so they survive refresh and are shareable. For fuller persistence, apply Livewire's #[Session]/#[Url] to the relevant public properties, or persist them yourself in dehydrate()/mount().