Previously Localization in Laravel was done by creating separate directories for each locales and place in under resources/lang/
and add key value pairs to every single keyword in a number of files as per their modules.
Laravel later introduced a great helper function __()
which could be used for JSON based translations.
For instance, in your blade files,
{{ __(‘The Web Tier’) }}
Whereas “The Web Tier” is added in a JSON file inside of resources/lang
directory i.e {locale}.json
likeso,
{
“The Web Tier”: “TWT”
}
If that key is not present, it will return the default language functionality.
Example
Let us translate our desired text in Spanish language, create a new file in resources/lang/es.json
{
“Example Heading”: “ Ejemplo de encabezado”
}
Now inside of your blade template, you may call it like{{ __(‘Example Heading’,[],’es’)}}
Conclusion
For JSON translations, there's only one file per locale, so we can simply load the file & will be ready to check the array for key.
You may read more about Localization from official documentation.