Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/ferdiunal/nova-translations
This package helps you manage translation keys and language files using spatie/laravel-translation-loader. It includes free tools like Google Translate, Bing Translate, and MyMemory Translate, and paid tools like DeepL Translate and NLPCloud Translate. Additional translation tools can be added as needed.
https://github.com/ferdiunal/nova-translations
i18n language laravel laravel-nova laravel-nova-tool laravel-translation-manager php
Last synced: 17 days ago
JSON representation
This package helps you manage translation keys and language files using spatie/laravel-translation-loader. It includes free tools like Google Translate, Bing Translate, and MyMemory Translate, and paid tools like DeepL Translate and NLPCloud Translate. Additional translation tools can be added as needed.
- Host: GitHub
- URL: https://github.com/ferdiunal/nova-translations
- Owner: ferdiunal
- License: mit
- Created: 2024-08-07T21:06:07.000Z (3 months ago)
- Default Branch: main
- Last Pushed: 2024-09-16T19:05:27.000Z (about 2 months ago)
- Last Synced: 2024-10-09T19:31:34.197Z (29 days ago)
- Topics: i18n, language, laravel, laravel-nova, laravel-nova-tool, laravel-translation-manager, php
- Language: PHP
- Homepage: https://ferdiunal.tech
- Size: 657 KB
- Stars: 6
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Funding: .github/FUNDING.yml
- License: LICENSE
Awesome Lists containing this project
README
# Nova Translations - WIP
This package allows you to find and manage the translation keys and language files in your project using the **[spatie/laravel-translation-loader](https://github.com/spatie/laravel-translation-loader)** package. By default, it includes free translation tools like **Google Translate**, **Bing Translate**, and **MyMemory Translate**, as well as paid tools that offer a certain amount of free usage, such as **DeepL Translate** and **NLPCloud Translate**. You can also add other translation tools as shown in the example below.
## Installation
To install, run the following command in your project directory:
```bash
composer require ferdiunal/nova-translations
```
## ConfigurationOptionally, you can publish the migration file using this command:
```bash
php artisan vendor:publish --tag nova-translations-migrations
```Optionally, you can publish the configuration file using this command:
```bash
php artisan vendor:publish --tag nova-translations-config
```## Usage
To import the translation keys and language files used in your project into a table, you can run the following command. You can use the -T|--translater parameter to specify the supported translation tools for this process.
```bash
php artisan nova-translations:import --help
Description:
Import translations from the language filesUsage:
nova-translation:import [options]Options:
-T, --translater[=TRANSLATER] The translater to use: google,bing,deepl,mymemory,nlpcloud
-h, --help Display help for the given command. When no command is given display help for the list command
-q, --quiet Do not output any message
-V, --version Display this application version
--ansi|--no-ansi Force (or disable --no-ansi) ANSI output
-n, --no-interaction Do not ask any interactive question
--env[=ENV] The environment the command should run under
-v|vv|vvv, --verbose Increase the verbosity of messages: 1 for normal output, 2 for more verbose output and 3 for debug
```Then, update the tools method in the app/NovaServiceProvider file as follows:
```php
// app/NovaServiceProvider.php
class NovaServiceProvider extends NovaApplicationServiceProvider
{
/**
* Get the tools that should be listed in the Nova sidebar.
*
* @return array
*/
public function tools()
{
return [
... // Other Nova Tools
new NovaTranslations,
];
}
}```
## Translators
### Google Translate
If you want to use Google Translate in your project, you need to add the following package:
```bash
composer require stichoza/google-translate-php
```### DeepL Translate
If you want to use DeepL Translate in your project, you need to add the following package:
```bash
composer require deeplcom/deepl-php
```Then, add the following key to your environment file:
```
DEEPL_API_KEY=xxxxxxxx...
```### NLPCloud Translate
If you want to use NLP Translate in your project, you need to add the following package:
```bash
composer require nlpcloud/nlpcloud-client
```Then, add the following key to your environment file:
```
NLPCLOUD_API_KEY=xxxxxxxx
```For different languages, you need to add the required language code to the config/nova-translations configuration file from [here](https://docs.nlpcloud.com/#translation).
```php
return [
....
'services' => [
'nlpcloud' => [
// https://nlpcloud.com/
'api_key' => env('NLPCLOUD_API_KEY'),
'languages' => [
// https://docs.nlpcloud.com/#translation
// Add the language code you want here
],
],
],
];
```## OTHER NOVA PACKAGES
* [Nova Settings](https://github.com/ferdiunal/nova-settings)
This package provides an interface for Spatie's settings package in Laravel Nova. It allows you to easily manage your application's configuration settings.
* [Laravel Nova Media Field](https://github.com/ferdiunal/laravel-nova-media-field)This package integrates Spatie's Media Library package with Laravel Nova, allowing you to manage and organize your media files efficiently.
* [Nova Password Confirm Modal](https://github.com/ferdiunal/nova-password-confirm-modal)
This package provides a Nova field that controls the accessibility of encrypted data in the database and is managed by model casts. It ensures that your sensitive data is securely stored.## Contributing
Contributions are welcome, and any contributors must adhere to the project's code of conduct and licensing terms.
## Support
For support, please open an issue in the GitHub repository.
## Licence
This project is open-sourced software licensed under the [MIT license](LICENSE).