Language files for Laravel Nova translated into 40+ languages.
This is not an official Laravel package, but is built from community contributions. If you are able to help by submitting a new language, reviewing an existing language, or adding missing keys, please read our contributing guidelines and raise a PR.
Installation
composer require coderello/laravel-nova-lang
Usage
Publish Command
-
Publish translations for one language:
php artisan nova-lang:publish de
-
Publish translations for multiple languages (comma-separated):
php artisan nova-lang:publish de,ru
-
Publish translations for all available languages:
php artisan nova-lang:publish --all
-
Publish translations and override existing files:
php artisan nova-lang:publish de,ru --force
Aliases
The language codes chosen for the files in this repository may not match the preferences for your project. You can use the ‑‑alias
option to publish locales using a different filename.
-
Publish translations for one language with an alias, using the simple format
{alias}
:php artisan nova-lang:publish de --alias=de-DE
This will publish the file
de-DE.json
. -
Publish translations for multiple languages with multiple aliases, using the format
{locale}:{alias}
(comma-separated):php artisan nova-lang:publish de,ru,fr --alias=de:de-DE,ru:ru-RU
This will publish the files
de-DE.json
,ru-RU.json
andfr.json
(no alias). -
Aliases can also be used with the
--all
flag:php artisan nova-lang:publish --all --alias=es:es-ES
You do not need to supply an alias for every locale that is to be published, only those that you wish to override.
-
Here are some example aliases for common use cases:
- Use Chinese with scripts instead of regions:
zh-CN:zh-Hans,zh-TW:zh-Hant
- Default to Brazilian Portuguese over European:
pt:pt-PT,pt-BR:pt
- Default to Serbian in Latin script over Cyrillic:
sr-Latn:sr,sr:sr-Cyrl
- Use Chinese with scripts instead of regions:
-
There is also an
‑‑underscore
or‑U
switch to publish locales with an underscore separator instead of a hyphen. This can be used in combination with aliases.
Development Commands (debug mode only)
You must have the app.debug
config option set to true for these commands to be available:
Missing Command
This command is to assist contributors to find any untranslated keys for their chosen language.
A stub JSON file will be created at storage_path('app/nova-lang/missing/{locale}.json')
. You can copy those keys into the resources/lang/{locale}.json
language file in your own fork of the repository, translate them and create a pull request.
- Output missing translation keys for one or more languages:
php artisan nova-lang:missing de,ru
- Output missing translation keys for all languages:
php artisan nova-lang:missing --all
Reorder Command
This command is to assist contributors to ensure that the translation keys for their chosen language are in the same order as the en.json
source file from Laravel Nova.
If you have imported the keys you are translating into a translation string management tool, the original order of the keys may be lost when you reexport the file. This makes the diff difficult to read because it will highlight all keys rather than just those which you have added or updated.
A new JSON file will be created at storage_path('app/nova-lang/reorder/{locale}.json')
. You can copy the contents of this file to resources/lang/{locale}.json
in your fork before you raise a PR.
- Output reordered translation keys for one or more languages:
php artisan nova-lang:reorder de,ru
- Output reordered translation keys for all languages:
php artisan nova-lang:reorder --all
Country Names Command
This command is to assist contributors to download the country names automatically from the Unicode Common Locale Data Repository (CLDR). We use the CLDR as the definitive source for country names, as described in the contribution guidelines.
A new JSON file will be created at storage_path('app/nova-lang/countries/{locale}.json')
. You can merge the keys from this file into resources/lang/{locale}.json
in your fork before you raise a PR.
- Output country names for one or more languages:
php artisan nova-lang:country de,ru
- Output country names for all languages:
php artisan nova-lang:country --all
Stats Command
This command is to assist maintainers to update the completeness of each language and list of contributors in this README file.
A README.excerpt.md
and contributors.json
file will be created at storage_path('app/nova-lang')
. You can copy those files into your own fork of the repository and create a pull request.
- Output list of languages, lines translated and contributors:
php artisan nova-lang:stats
Ensure you have created a GitHub personal access token and saved it as a GITHUB_TOKEN_NOVALANG
env variable in your master Laravel application in order to download the most recent contributions.
Available Languages
Note: There is no need to update the count of translated strings and add your username below, as this is done by script when your PR is merged.
Total languages
Total lines translated
Missing Languages
The following languages are supported for the main Laravel framework by the excellent caouecs/laravel-lang package. We would love for our package to make these languages available for Nova as well. If you are able to contribute to any of these or other languages, please read our contributing guidelines and raise a PR.
Parity with caouecs/laravel-lang