mirror of
				https://github.com/invoiceninja/invoiceninja.git
				synced 2025-10-31 10:17:33 -04:00 
			
		
		
		
	Merge pull request #5443 from turbo124/v5-develop
Custom Translations in emails
This commit is contained in:
		
						commit
						ec471283ba
					
				| @ -11,11 +11,14 @@ | |||||||
| 
 | 
 | ||||||
| namespace App\Http\Controllers; | namespace App\Http\Controllers; | ||||||
| 
 | 
 | ||||||
|  | use App\Utils\Ninja; | ||||||
| use App\Utils\TemplateEngine; | use App\Utils\TemplateEngine; | ||||||
| use App\Utils\Traits\MakesHash; | use App\Utils\Traits\MakesHash; | ||||||
| use App\Utils\Traits\MakesInvoiceHtml; | use App\Utils\Traits\MakesInvoiceHtml; | ||||||
| use App\Utils\Traits\MakesTemplateData; | use App\Utils\Traits\MakesTemplateData; | ||||||
| use Illuminate\Http\Response; | use Illuminate\Http\Response; | ||||||
|  | use Illuminate\Support\Facades\App; | ||||||
|  | use Illuminate\Support\Facades\Lang; | ||||||
| 
 | 
 | ||||||
| class TemplateController extends BaseController | class TemplateController extends BaseController | ||||||
| { | { | ||||||
|  | |||||||
| @ -12,7 +12,10 @@ | |||||||
| namespace App\Mail\Engine; | namespace App\Mail\Engine; | ||||||
| 
 | 
 | ||||||
| use App\Utils\HtmlEngine; | use App\Utils\HtmlEngine; | ||||||
|  | use App\Utils\Ninja; | ||||||
| use App\Utils\Number; | use App\Utils\Number; | ||||||
|  | use Illuminate\Support\Facades\App; | ||||||
|  | use Illuminate\Support\Facades\Lang; | ||||||
| 
 | 
 | ||||||
| class CreditEmailEngine extends BaseEmailEngine | class CreditEmailEngine extends BaseEmailEngine | ||||||
| { | { | ||||||
| @ -40,6 +43,9 @@ class CreditEmailEngine extends BaseEmailEngine | |||||||
| 
 | 
 | ||||||
|     public function build() |     public function build() | ||||||
|     { |     { | ||||||
|  |         App::forgetInstance('translator'); | ||||||
|  |         Lang::replace(Ninja::transformTranslations($this->client->getMergedSettings())); | ||||||
|  |          | ||||||
|         if (is_array($this->template_data) &&  array_key_exists('body', $this->template_data) && strlen($this->template_data['body']) > 0) { |         if (is_array($this->template_data) &&  array_key_exists('body', $this->template_data) && strlen($this->template_data['body']) > 0) { | ||||||
|             $body_template = $this->template_data['body']; |             $body_template = $this->template_data['body']; | ||||||
|         } else { |         } else { | ||||||
|  | |||||||
| @ -14,7 +14,10 @@ namespace App\Mail\Engine; | |||||||
| use App\DataMapper\EmailTemplateDefaults; | use App\DataMapper\EmailTemplateDefaults; | ||||||
| use App\Models\Account; | use App\Models\Account; | ||||||
| use App\Utils\HtmlEngine; | use App\Utils\HtmlEngine; | ||||||
|  | use App\Utils\Ninja; | ||||||
| use App\Utils\Number; | use App\Utils\Number; | ||||||
|  | use Illuminate\Support\Facades\App; | ||||||
|  | use Illuminate\Support\Facades\Lang; | ||||||
| 
 | 
 | ||||||
| class InvoiceEmailEngine extends BaseEmailEngine | class InvoiceEmailEngine extends BaseEmailEngine | ||||||
| { | { | ||||||
| @ -42,6 +45,10 @@ class InvoiceEmailEngine extends BaseEmailEngine | |||||||
| 
 | 
 | ||||||
|     public function build() |     public function build() | ||||||
|     { |     { | ||||||
|  | 
 | ||||||
|  |         App::forgetInstance('translator'); | ||||||
|  |         Lang::replace(Ninja::transformTranslations($this->client->getMergedSettings())); | ||||||
|  | 
 | ||||||
|         if (is_array($this->template_data) &&  array_key_exists('body', $this->template_data) && strlen($this->template_data['body']) > 0) { |         if (is_array($this->template_data) &&  array_key_exists('body', $this->template_data) && strlen($this->template_data['body']) > 0) { | ||||||
|             $body_template = $this->template_data['body']; |             $body_template = $this->template_data['body']; | ||||||
|         } elseif (strlen($this->client->getSetting('email_template_'.$this->reminder_template)) > 0) { |         } elseif (strlen($this->client->getSetting('email_template_'.$this->reminder_template)) > 0) { | ||||||
|  | |||||||
| @ -13,7 +13,10 @@ namespace App\Mail\Engine; | |||||||
| 
 | 
 | ||||||
| use App\Models\Account; | use App\Models\Account; | ||||||
| use App\Utils\HtmlEngine; | use App\Utils\HtmlEngine; | ||||||
|  | use App\Utils\Ninja; | ||||||
| use App\Utils\Number; | use App\Utils\Number; | ||||||
|  | use Illuminate\Support\Facades\App; | ||||||
|  | use Illuminate\Support\Facades\Lang; | ||||||
| 
 | 
 | ||||||
| class QuoteEmailEngine extends BaseEmailEngine | class QuoteEmailEngine extends BaseEmailEngine | ||||||
| { | { | ||||||
| @ -41,6 +44,9 @@ class QuoteEmailEngine extends BaseEmailEngine | |||||||
| 
 | 
 | ||||||
|     public function build() |     public function build() | ||||||
|     { |     { | ||||||
|  |         App::forgetInstance('translator'); | ||||||
|  |         Lang::replace(Ninja::transformTranslations($this->client->getMergedSettings())); | ||||||
|  |          | ||||||
|         if (is_array($this->template_data) &&  array_key_exists('body', $this->template_data) && strlen($this->template_data['body']) > 0) { |         if (is_array($this->template_data) &&  array_key_exists('body', $this->template_data) && strlen($this->template_data['body']) > 0) { | ||||||
|             $body_template = $this->template_data['body']; |             $body_template = $this->template_data['body']; | ||||||
|         } else { |         } else { | ||||||
|  | |||||||
| @ -33,7 +33,21 @@ class NinjaTranslationServiceProvider extends TranslationServiceProvider | |||||||
|          * |          * | ||||||
|          */ |          */ | ||||||
| 
 | 
 | ||||||
|  |         // $this->app->bind('translator', function($app) {
 | ||||||
|  | 
 | ||||||
|  |         //     $loader = $app['translation.loader'];
 | ||||||
|  |         //     $locale = $app['config']['app.locale'];
 | ||||||
|  | 
 | ||||||
|  |         //     $trans = new NinjaTranslator($loader, $locale);
 | ||||||
|  | 
 | ||||||
|  |         //     $trans->setFallback($app['config']['app.fallback_locale']);
 | ||||||
|  | 
 | ||||||
|  |         //     return $trans;
 | ||||||
|  | 
 | ||||||
|  |         // });
 | ||||||
|  |          | ||||||
|         $this->app->singleton('translator', function ($app) { |         $this->app->singleton('translator', function ($app) { | ||||||
|  | 
 | ||||||
|             $loader = $app['translation.loader']; |             $loader = $app['translation.loader']; | ||||||
|             $locale = $app['config']['app.locale']; |             $locale = $app['config']['app.locale']; | ||||||
| 
 | 
 | ||||||
| @ -42,6 +56,8 @@ class NinjaTranslationServiceProvider extends TranslationServiceProvider | |||||||
|             $trans->setFallback($app['config']['app.fallback_locale']); |             $trans->setFallback($app['config']['app.fallback_locale']); | ||||||
| 
 | 
 | ||||||
|             return $trans; |             return $trans; | ||||||
|  | 
 | ||||||
|         }); |         }); | ||||||
|     } |     } | ||||||
|  | 
 | ||||||
| } | } | ||||||
|  | |||||||
| @ -16,10 +16,13 @@ use App\Models\Client; | |||||||
| use App\Models\ClientContact; | use App\Models\ClientContact; | ||||||
| use App\Models\Invoice; | use App\Models\Invoice; | ||||||
| use App\Models\InvoiceInvitation; | use App\Models\InvoiceInvitation; | ||||||
|  | use App\Utils\Ninja; | ||||||
| use App\Utils\Traits\MakesHash; | use App\Utils\Traits\MakesHash; | ||||||
| use App\Utils\Traits\MakesInvoiceHtml; | use App\Utils\Traits\MakesInvoiceHtml; | ||||||
| use App\Utils\Traits\MakesTemplateData; | use App\Utils\Traits\MakesTemplateData; | ||||||
| use DB; | use DB; | ||||||
|  | use Illuminate\Support\Facades\App; | ||||||
|  | use Illuminate\Support\Facades\Lang; | ||||||
| use League\CommonMark\CommonMarkConverter; | use League\CommonMark\CommonMarkConverter; | ||||||
| 
 | 
 | ||||||
| class TemplateEngine | class TemplateEngine | ||||||
| @ -96,6 +99,9 @@ class TemplateEngine | |||||||
|             $this->settings = $this->settings_entity->settings; |             $this->settings = $this->settings_entity->settings; | ||||||
|         } |         } | ||||||
| 
 | 
 | ||||||
|  |         App::forgetInstance('translator'); | ||||||
|  |         Lang::replace(Ninja::transformTranslations($this->settings)); | ||||||
|  | 
 | ||||||
|         return $this; |         return $this; | ||||||
|     } |     } | ||||||
| 
 | 
 | ||||||
|  | |||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user