Internationalisation - Datatables for Laravel                  [               Datatables for Laravel  ](/) 

  Toggle main menu         [Docs](https://laravel-datatables.com/docs) [Demos](/demos) [Blog](https://laravel-datatables.com/blog) [Pricing](/pricing)        Search  ⌘ K   [ Log in ](/login) 

  [Docs](https://laravel-datatables.com/docs) [Demos](/demos) [Blog](https://laravel-datatables.com/blog) [Pricing](/pricing) 

 Search docs and demos  

Type at least 2 characters to search.

    Documentation menu      ### Getting Started

- [ Installation ](https://laravel-datatables.com/docs)
- [ Dark Mode ](https://laravel-datatables.com/docs/dark-mode)

### Basics

- [ Creating a Table ](https://laravel-datatables.com/docs/creating-a-table)
- [ Displaying Columns ](https://laravel-datatables.com/docs/displaying-columns)
- [ Data Sources ](https://laravel-datatables.com/docs/data-sources)
- [ Internationalisation ](https://laravel-datatables.com/docs/internationalisation)
- [ Multi-Language ](https://laravel-datatables.com/docs/multi-language)
- [ Styling ](https://laravel-datatables.com/docs/styling)

### Customization

- [ Columns ](https://laravel-datatables.com/docs/customization-columns)
- [ Cell Renderer ](https://laravel-datatables.com/docs/customization-cell-renderer)
- [ Value Formatter ](https://laravel-datatables.com/docs/customization-value-formatter)
- [ Filters ](https://laravel-datatables.com/docs/customization-filters)
- [ Pagination ](https://laravel-datatables.com/docs/customization-pagination)
- [ Sorting Icons ](https://laravel-datatables.com/docs/customization-sorting-icons)
- [ Row Actions ](https://laravel-datatables.com/docs/customization-row-actions)
- [ Multi Row Actions ](https://laravel-datatables.com/docs/customization-multi-row-actions)
- [ Loading Indicator ](https://laravel-datatables.com/docs/customization-loading-indicator)
- [ Exporting ](https://laravel-datatables.com/docs/customization-exporting)
- [ Components ](https://laravel-datatables.com/docs/customization-components)
- [ Data Sources ](https://laravel-datatables.com/docs/customization-data-sources)
- [ State Persistence ](https://laravel-datatables.com/docs/customization-state-persistence)

### Features

- [ Accessibility ](https://laravel-datatables.com/docs/feature-accessibility)
- [ Actions and Forms ](https://laravel-datatables.com/docs/actions-and-forms)
- [ Aggregate Columns ](https://laravel-datatables.com/docs/feature-aggregate-columns)
- [ Column Reordering ](https://laravel-datatables.com/docs/feature-column-reordering)
- [ Column Visibility ](https://laravel-datatables.com/docs/feature-column-visibility)
- [ Custom Filters ](https://laravel-datatables.com/docs/feature-custom-filters)
- [ Custom Controls ](https://laravel-datatables.com/docs/feature-custom-controls)
- [ Exporting ](https://laravel-datatables.com/docs/feature-exporting)
- [ Freeze Columns and Headers ](https://laravel-datatables.com/docs/feature-freeze-columns-and-headers)
- [ Pagination ](https://laravel-datatables.com/docs/feature-pagination)
- [ Responsive Mobile ](https://laravel-datatables.com/docs/feature-responsive-mobile)
- [ Row Grouping ](https://laravel-datatables.com/docs/feature-row-grouping)
- [ Row Selection ](https://laravel-datatables.com/docs/feature-row-selection)
- [ Sorting and Searching ](https://laravel-datatables.com/docs/sorting-and-searching)
- [ State Persistence ](https://laravel-datatables.com/docs/feature-state-persistence)
- [ Value Preparation ](https://laravel-datatables.com/docs/feature-value-preparation)

### Cell Renderer

- [ Action Buttons ](https://laravel-datatables.com/docs/renderer-action-buttons)
- [ Avatar ](https://laravel-datatables.com/docs/renderer-avatar)
- [ Checkmark ](https://laravel-datatables.com/docs/renderer-checkmark)
- [ Color Sample ](https://laravel-datatables.com/docs/renderer-color-sample)
- [ Email Link ](https://laravel-datatables.com/docs/renderer-email-to-link)
- [ External Link ](https://laravel-datatables.com/docs/renderer-external-link)
- [ Friendly Timestamp ](https://laravel-datatables.com/docs/renderer-friendly-timestamp)
- [ Image ](https://laravel-datatables.com/docs/renderer-image)
- [ Long Text ](https://laravel-datatables.com/docs/renderer-long-text)
- [ Phone Link ](https://laravel-datatables.com/docs/renderer-phone-link)
- [ Progress Bar ](https://laravel-datatables.com/docs/renderer-progress-bar)
- [ Status Badge ](https://laravel-datatables.com/docs/renderer-status-badge)
- [ URL Link ](https://laravel-datatables.com/docs/renderer-url-link)
- [ Wire Link ](https://laravel-datatables.com/docs/renderer-wire-link)

### Value Formatter

- [ Compact Number ](https://laravel-datatables.com/docs/formatter-compact-number)
- [ Currency ](https://laravel-datatables.com/docs/formatter-currency)
- [ Duration ](https://laravel-datatables.com/docs/formatter-duration)
- [ Friendly Filesize ](https://laravel-datatables.com/docs/formatter-friendly-filesize)
- [ Friendly Timestamp ](https://laravel-datatables.com/docs/formatter-friendly-timestamp)
- [ Locale Timestamp ](https://laravel-datatables.com/docs/formatter-locale-timestamp)
- [ Number ](https://laravel-datatables.com/docs/formatter-number)
- [ Percent ](https://laravel-datatables.com/docs/formatter-percent)

  Internationalisation
====================

This page covers internationalisation behavior that is built into the datatable package itself.

It focuses on package UI strings, package renderers that output text, and where to translate or override each surface.

1. Package UI Text Surfaces
---------------------------

The package theme views already wrap control and helper text with Laravel translation helpers.

 Tailwind theme examples BLADE     `{{-- vendor/morrow-it/laravel-datatable/resources/views/themes/tailwind/partials/controls.blade.php --}}placeholder="{{ __('Search...') }}"aria-label="{{ __('Search items') }}"{{-- vendor/morrow-it/laravel-datatable/resources/views/themes/tailwind/partials/settings-dropdown.blade.php --}}{{ __('Items per page') }}{{ __('Filters') }}{{ __('Export') }}{{ __('Columns') }}{{-- vendor/morrow-it/laravel-datatable/resources/views/themes/tailwind/partials/filters-modal.blade.php --}}{{ __('Filter options') }}{{ __('All') }}{{ __('From') }}{{ __('To') }}{{ __('Contains...') }}{{ __('Clear all') }}{{ __('Done') }}{{-- vendor/morrow-it/laravel-datatable/resources/views/themes/tailwind/partials/table-body.blade.php --}}{{ __('No records found.') }}{{ __('Total') }}{{ __('Previous') }}{{ __('Next') }}` 

 ```
{{-- vendor/morrow-it/laravel-datatable/resources/views/themes/tailwind/partials/controls.blade.php --}}
placeholder="{{ __('Search...') }}"
aria-label="{{ __('Search items') }}"

{{-- vendor/morrow-it/laravel-datatable/resources/views/themes/tailwind/partials/settings-dropdown.blade.php --}}
{{ __('Items per page') }}
{{ __('Filters') }}
{{ __('Export') }}
{{ __('Columns') }}

{{-- vendor/morrow-it/laravel-datatable/resources/views/themes/tailwind/partials/filters-modal.blade.php --}}
{{ __('Filter options') }}
{{ __('All') }}
{{ __('From') }}
{{ __('To') }}
{{ __('Contains...') }}
{{ __('Clear all') }}
{{ __('Done') }}

{{-- vendor/morrow-it/laravel-datatable/resources/views/themes/tailwind/partials/table-body.blade.php --}}
{{ __('No records found.') }}
{{ __('Total') }}
{{ __('Previous') }}
{{ __('Next') }}
```

2. Translation Keys and Files Used by the Package
-------------------------------------------------

The package uses two translation styles: direct text keys and Laravel pagination keys.

 lang/en.json JSON     `{  "Search...": "Search...",  "Search items": "Search items",  "Items per page": "Items per page",  "Filter options": "Filter options",  "No records found.": "No records found.",  "Total": "Total",  "Unknown": "Unknown"}` 

 ```
{
  "Search...": "Search...",
  "Search items": "Search items",
  "Items per page": "Items per page",
  "Filter options": "Filter options",
  "No records found.": "No records found.",
  "Total": "Total",
  "Unknown": "Unknown"
}
```

 lang/en/pagination.php PHP     `return [    'previous' => '&laquo; Previous',    'next' => 'Next &raquo;',];` 

 ```
return [
    'previous' => '&laquo; Previous',
    'next' => 'Next &raquo;',
];
```

Pagination views use pagination.previous and pagination.next, so those should be translated in your locale pagination file.

3. Package Renderers That Emit Text
-----------------------------------

Some renderers produce user-facing text and are translation-aware by design.

 ActionButtons renderer PHP     `use MorrowIt\LaravelDatatable\Renderers\ActionButtons;Column::make('actions', __('Actions'))    ->renderer(new ActionButtons(        variant: 'icon',        viewLabel: 'datatable.actions.view',        editLabel: 'datatable.actions.edit',        deleteLabel: 'datatable.actions.delete'    ));` 

 ```
use MorrowIt\LaravelDatatable\Renderers\ActionButtons;

Column::make('actions', __('Actions'))
    ->renderer(new ActionButtons(
        variant: 'icon',
        viewLabel: 'datatable.actions.view',
        editLabel: 'datatable.actions.edit',
        deleteLabel: 'datatable.actions.delete'
    ));
```

 StatusBadge fallback PHP     `use MorrowIt\LaravelDatatable\Renderers\StatusBadge;Column::make('status', __('Status'))    ->renderer(new StatusBadge());// If status is empty, renderer fallback uses __('Unknown').` 

 ```
use MorrowIt\LaravelDatatable\Renderers\StatusBadge;

Column::make('status', __('Status'))
    ->renderer(new StatusBadge());

// If status is empty, renderer fallback uses __('Unknown').
```

If your row values are domain words like Active or Paid, translate those values before rendering, or map them to translation keys in a formatter.

4. Where to Override Package Text
---------------------------------

Use translation files for wording changes first. Publish package views only when you need structural or markup-level customization.

 terminal     `php artisan vendor:publish --tag="laravel-datatable-views" --provider="MorrowIt\LaravelDatatable\LaravelDatatableServiceProvider"` 

 ```
php artisan vendor:publish --tag="laravel-datatable-views" --provider="MorrowIt\LaravelDatatable\LaravelDatatableServiceProvider"
```

 Published override path TEXT     `resources/views/vendor/laravel-datatable/themes/tailwind/resources/views/vendor/laravel-datatable/themes/bootstrap/` 

 ```
resources/views/vendor/laravel-datatable/themes/tailwind/
resources/views/vendor/laravel-datatable/themes/bootstrap/
```

5. Directionality (LTR and RTL)
-------------------------------

The package supports both left-to-right and right-to-left direction contexts when the table container or any ancestor sets a `dir` attribute.

 Blade usage with dir attribute BLADE     `    ` 

 ```

```

 What updates automatically in RTL TEXT     `- Frozen columns pin from the right edge instead of the left.- Column drag drop indicators mirror start/end placement.- Settings panel alignment and flyout placement mirror horizontal direction.- Progress bar fill starts from the logical inline start in each direction.` 

 ```
- Frozen columns pin from the right edge instead of the left.
- Column drag drop indicators mirror start/end placement.
- Settings panel alignment and flyout placement mirror horizontal direction.
- Progress bar fill starts from the logical inline start in each direction.
```

Use the Directionality (LTR / RTL) feature demo to test these behaviors interactively with one table instance.

For release validation, use the visual regression checklist at docs/phase-b-visual-regression-checklist.md to verify desktop/mobile LTR and RTL behavior.

Internationalisation Checklist
------------------------------

Use this checklist when localizing package UI text:

    Check Expected Result     Theme controls Search input, settings labels, modal labels, and table helper text resolve through translation helpers.   Pagination labels pagination.previous and pagination.next are translated in locale pagination files.   Renderer labels ActionButtons labels and StatusBadge fallback are translated or mapped to translation keys.   Overrides View publishing is used only when translation files are not enough.   Direction mode A `dir` attribute is set to `ltr` or `rtl` where the datatable is rendered, and mirrored behavior is verified.    

 Related documentation

 [Multi-Language](https://laravel-datatables.com/docs/multi-language) [Value Formatter: Locale Timestamp](https://laravel-datatables.com/docs/formatter-locale-timestamp) 

   © 2026 Copyright (C)  [ Morrow IT Consulting &amp; Services ](https://morrow-it.services)  

 [Terms of Service](https://laravel-datatables.com/legal/terms) [Privacy](https://laravel-datatables.com/legal/privacy) [Legal Disclosure](https://laravel-datatables.com/legal/disclosure)
