From 5401ab5354dd2c93cba40afac8bb46743b54edec Mon Sep 17 00:00:00 2001 From: David Bomba Date: Mon, 18 Dec 2023 07:06:20 +1100 Subject: [PATCH 01/10] filter custom email styles --- app/Http/Requests/Company/UpdateCompanyRequest.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/Http/Requests/Company/UpdateCompanyRequest.php b/app/Http/Requests/Company/UpdateCompanyRequest.php index abd670f6b0..1d9d5be918 100644 --- a/app/Http/Requests/Company/UpdateCompanyRequest.php +++ b/app/Http/Requests/Company/UpdateCompanyRequest.php @@ -115,7 +115,7 @@ class UpdateCompanyRequest extends Request } if (isset($settings['email_style_custom'])) { - $settings['email_style_custom'] = str_replace(['{{','}}'], ['',''], $settings['email_style_custom']); + $settings['email_style_custom'] = str_replace(['{!!','!!}','{{','}}','@if(','@endif','@isset','@unless','@auth','@empty','@guest','@env','@section','@switch', '@foreach', '@while', '@include', '@each', '@once', '@push', '@use', '@forelse', '@verbatim', 'isFreeHostedClient()) { From 4b5b8ae0ba9ce327fcb9c9eb946192a7d88524fa Mon Sep 17 00:00:00 2001 From: David Bomba Date: Mon, 18 Dec 2023 15:25:16 +1100 Subject: [PATCH 02/10] Refactor for Stripe ACSS payments --- .../ClientPortal/PaymentMethodController.php | 4 +- app/Models/Client.php | 43 +++ app/Models/Presenters/CompanyPresenter.php | 10 + app/PaymentDrivers/Stripe/ACSS.php | 293 +++++++++++------- app/PaymentDrivers/Stripe/Charge.php | 3 + app/PaymentDrivers/StripePaymentDriver.php | 10 + public/build/assets/stripe-acss-501a91de.js | 9 - public/build/assets/stripe-acss-946fe54a.js | 9 + public/build/manifest.json | 2 +- resources/js/clients/payments/stripe-acss.js | 115 +++++-- .../livewire/payment-methods-table.blade.php | 5 + .../gateways/stripe/acss/authorize.blade.php | 120 ++++++- .../gateways/stripe/acss/pay.blade.php | 38 ++- 13 files changed, 501 insertions(+), 160 deletions(-) delete mode 100644 public/build/assets/stripe-acss-501a91de.js create mode 100644 public/build/assets/stripe-acss-946fe54a.js diff --git a/app/Http/Controllers/ClientPortal/PaymentMethodController.php b/app/Http/Controllers/ClientPortal/PaymentMethodController.php index 71b26e9efd..0000fc82d9 100644 --- a/app/Http/Controllers/ClientPortal/PaymentMethodController.php +++ b/app/Http/Controllers/ClientPortal/PaymentMethodController.php @@ -167,8 +167,8 @@ class PaymentMethodController extends Controller if (request()->query('method') == GatewayType::BACS) { return $client_contact->client->getBACSGateway(); } - - if (in_array(request()->query('method'), [GatewayType::BANK_TRANSFER, GatewayType::DIRECT_DEBIT, GatewayType::SEPA])) { + + if (in_array(request()->query('method'), [GatewayType::BANK_TRANSFER, GatewayType::DIRECT_DEBIT, GatewayType::SEPA, GatewayType::ACSS])) { return $client_contact->client->getBankTransferGateway(); } diff --git a/app/Models/Client.php b/app/Models/Client.php index c5e41724cf..953d40f0cb 100644 --- a/app/Models/Client.php +++ b/app/Models/Client.php @@ -560,6 +560,7 @@ class Client extends BaseModel implements HasLocalePreference return null; } + public function getBACSGateway() :?CompanyGateway { $pms = $this->service()->getPaymentMethods(-1); @@ -584,6 +585,31 @@ class Client extends BaseModel implements HasLocalePreference return null; } + public function getACSSGateway() :?CompanyGateway + { + $pms = $this->service()->getPaymentMethods(-1); + + foreach ($pms as $pm) { + if ($pm['gateway_type_id'] == GatewayType::ACSS) { + $cg = CompanyGateway::query()->find($pm['company_gateway_id']); + + if ($cg && ! property_exists($cg->fees_and_limits, GatewayType::ACSS)) { + $fees_and_limits = $cg->fees_and_limits; + $fees_and_limits->{GatewayType::ACSS} = new FeesAndLimits; + $cg->fees_and_limits = $fees_and_limits; + $cg->save(); + } + + if ($cg && $cg->fees_and_limits->{GatewayType::ACSS}->is_enabled) { + return $cg; + } + } + } + + return null; + } + + //todo refactor this - it is only searching for existing tokens public function getBankTransferGateway() :?CompanyGateway { @@ -632,6 +658,19 @@ class Client extends BaseModel implements HasLocalePreference } } + if ($this->currency()->code == 'CAD' && in_array(GatewayType::ACSS, array_column($pms, 'gateway_type_id'))) { + foreach ($pms as $pm) { + if ($pm['gateway_type_id'] == GatewayType::ACSS) { + $cg = CompanyGateway::query()->find($pm['company_gateway_id']); + + if ($cg && $cg->fees_and_limits->{GatewayType::ACSS}->is_enabled) { + return $cg; + } + } + } + } + + return null; } @@ -648,6 +687,10 @@ class Client extends BaseModel implements HasLocalePreference if (in_array($this->currency()->code, ['EUR', 'GBP','DKK','SEK','AUD','NZD','USD'])) { return GatewayType::DIRECT_DEBIT; } + + if(in_array($this->currency()->code, ['CAD'])) { + return GatewayType::ACSS; + } } public function getCurrencyCode(): string diff --git a/app/Models/Presenters/CompanyPresenter.php b/app/Models/Presenters/CompanyPresenter.php index 8de23d31ce..2a0c00bbbd 100644 --- a/app/Models/Presenters/CompanyPresenter.php +++ b/app/Models/Presenters/CompanyPresenter.php @@ -94,6 +94,16 @@ class CompanyPresenter extends EntityPresenter } } + public function email() + { + /** @var \App\Models\Company $this */ + if(str_contains($this->settings->email, "@")) + return $this->settings->email; + + return $this->owner()->email; + + } + public function address($settings = null) { $str = ''; diff --git a/app/PaymentDrivers/Stripe/ACSS.php b/app/PaymentDrivers/Stripe/ACSS.php index 2b60283d18..2d8d169ee7 100644 --- a/app/PaymentDrivers/Stripe/ACSS.php +++ b/app/PaymentDrivers/Stripe/ACSS.php @@ -12,26 +12,33 @@ namespace App\PaymentDrivers\Stripe; -use App\Exceptions\PaymentFailed; -use App\Http\Requests\ClientPortal\Payments\PaymentResponseRequest; -use App\Http\Requests\Request; -use App\Jobs\Mail\NinjaMailerJob; -use App\Jobs\Mail\NinjaMailerObject; -use App\Jobs\Mail\PaymentFailureMailer; -use App\Jobs\Util\SystemLogger; -use App\Mail\Gateways\ACHVerificationNotification; -use App\Models\ClientGatewayToken; -use App\Models\GatewayType; -use App\Models\Payment; -use App\Models\PaymentType; -use App\Models\SystemLog; -use App\PaymentDrivers\StripePaymentDriver; use Stripe\Customer; +use App\Models\Payment; +use Stripe\SetupIntent; +use App\Models\SystemLog; +use App\Models\GatewayType; +use App\Models\PaymentHash; +use App\Models\PaymentType; +use Illuminate\Support\Str; +use App\Http\Requests\Request; +use App\Jobs\Util\SystemLogger; +use App\Utils\Traits\MakesHash; +use App\Exceptions\PaymentFailed; +use App\Jobs\Mail\NinjaMailerJob; +use App\Models\ClientGatewayToken; use Stripe\Exception\CardException; +use App\Jobs\Mail\NinjaMailerObject; +use Illuminate\Support\Facades\Cache; +use App\Jobs\Mail\PaymentFailureMailer; +use App\PaymentDrivers\StripePaymentDriver; use Stripe\Exception\InvalidRequestException; +use App\Mail\Gateways\ACHVerificationNotification; +use App\Http\Requests\ClientPortal\Payments\PaymentResponseRequest; class ACSS { + use MakesHash; + /** @var StripePaymentDriver */ public StripePaymentDriver $stripe; @@ -40,107 +47,104 @@ class ACSS $this->stripe = $stripe; $this->stripe->init(); } - + + /** + * Generate mandate for future ACSS billing + * + * @param mixed $data + * @return void + */ public function authorizeView($data) { $data['gateway'] = $this->stripe; + $data['company_gateway'] = $this->stripe->company_gateway; + $data['customer'] = $this->stripe->findOrCreateCustomer()->id; + $data['country'] = $this->stripe->client->country->iso_3166_2; + $data['post_auth_response'] = false; + + $intent = \Stripe\SetupIntent::create([ + 'usage' => 'off_session', + 'payment_method_types' => ['acss_debit'], + 'customer' => $data['customer'], + 'payment_method_options' => [ + 'acss_debit' => [ + 'currency' => 'cad', + 'mandate_options' => [ + 'payment_schedule' => 'combined', + 'interval_description' => 'On any invoice due date', + 'transaction_type' => 'personal', + ], + 'verification_method' => 'instant', + ], + ], + ], $this->stripe->stripe_connect_auth); + + $data['pi_client_secret'] = $intent->client_secret; return render('gateways.stripe.acss.authorize', array_merge($data)); } - + + /** + * Authorizes the mandate for future billing + * + * @param mixed $request + * @return void + */ public function authorizeResponse(Request $request) { - $stripe_response = json_decode($request->input('gateway_response')); + $setup_intent = json_decode($request->input('gateway_response')); - $customer = $this->stripe->findOrCreateCustomer(); + if (isset($setup_intent->type)) { + + $error = "There was a problem setting up this payment method for future use"; - try { - $source = Customer::createSource($customer->id, ['source' => $stripe_response->token->id], array_merge($this->stripe->stripe_connect_auth, ['idempotency_key' => uniqid("st", true)])); - } catch (InvalidRequestException $e) { - throw new PaymentFailed($e->getMessage(), $e->getCode()); + if(in_array($setup_intent->type, ["validation_error", "invalid_request_error"])) { + $error = "Please provide complete payment details."; + } + + SystemLogger::dispatch( + ['response' => (array)$setup_intent, 'data' => $request->all()], + SystemLog::CATEGORY_GATEWAY_RESPONSE, + SystemLog::EVENT_GATEWAY_FAILURE, + SystemLog::TYPE_STRIPE, + $this->stripe->client, + $this->stripe->client->company, + ); + + throw new PaymentFailed($error, 400); } - $client_gateway_token = $this->storePaymentMethod($source, $request->input('method'), $customer); + $stripe_setup_intent = $this->stripe->getSetupIntentId($setup_intent->id); //needed to harvest the Mandate - $verification = route('client.payment_methods.verification', ['payment_method' => $client_gateway_token->hashed_id, 'method' => GatewayType::ACSS], false); + $client_gateway_token = $this->storePaymentMethod($setup_intent->payment_method, $stripe_setup_intent->mandate, $setup_intent->status == 'succeeded' ? 'authorized' : 'unauthorized'); - $mailer = new NinjaMailerObject(); + if($request->has('post_auth_response') && boolval($request->post_auth_response)) { + /** @var array $data */ + $data = Cache::pull($request->post_auth_response); - $mailer->mailable = new ACHVerificationNotification( - auth()->guard('contact')->user()->client->company, - route('client.contact_login', ['contact_key' => auth()->guard('contact')->user()->contact_key, 'next' => $verification]) - ); + if(!$data) + throw new PaymentFailed("There was a problem storing this payment method", 500); - $mailer->company = auth()->guard('contact')->user()->client->company; - $mailer->settings = auth()->guard('contact')->user()->client->company->settings; - $mailer->to_user = auth()->guard('contact')->user(); + $hash = PaymentHash::with('fee_invoice')->where('hash', $data['payment_hash'])->first(); + $data['tokens'] = [$client_gateway_token]; - NinjaMailerJob::dispatch($mailer); + $this->stripe->setPaymentHash($hash); + $this->stripe->setClient($hash->fee_invoice->client); + $this->stripe->setPaymentMethod(GatewayType::ACSS); + + return $this->continuePayment($data); + } + + return redirect()->route('client.payment_methods.show', $client_gateway_token->hashed_id); - return redirect()->route('client.payment_methods.verification', ['payment_method' => $client_gateway_token->hashed_id, 'method' => GatewayType::ACSS]); } - - public function verificationView(ClientGatewayToken $token) + + private function tokenIntent(ClientGatewayToken $token) { - if (isset($token->meta->state) && $token->meta->state === 'authorized') { - return redirect() - ->route('client.payment_methods.show', $token->hashed_id) - ->with('message', __('texts.payment_method_verified')); - } - - $data = [ - 'token' => $token, - 'gateway' => $this->stripe, - ]; - - return render('gateways.stripe.acss.verify', $data); - } - - public function processVerification(Request $request, ClientGatewayToken $token) - { - $request->validate([ - 'transactions.*' => ['integer', 'min:1'], - ]); - - if (isset($token->meta->state) && $token->meta->state === 'authorized') { - return redirect() - ->route('client.payment_methods.show', $token->hashed_id) - ->with('message', __('texts.payment_method_verified')); - } - - $bank_account = Customer::retrieveSource($request->customer, $request->source, [], $this->stripe->stripe_connect_auth); - - try { - $bank_account->verify(['amounts' => request()->transactions]); - - $meta = $token->meta; - $meta->state = 'authorized'; - $token->meta = $meta; - $token->save(); - - return redirect() - ->route('client.payment_methods.show', $token->hashed_id) - ->with('message', __('texts.payment_method_verified')); - } catch (CardException $e) { - return back()->with('error', $e->getMessage()); - } - } - - public function paymentView(array $data) - { - $this->stripe->init(); - - $data['gateway'] = $this->stripe; - $data['return_url'] = $this->buildReturnUrl(); - $data['stripe_amount'] = $this->stripe->convertToStripeAmount($data['total']['amount_with_fee'], $this->stripe->client->currency()->precision, $this->stripe->client->currency()); - $data['client'] = $this->stripe->client; - $data['customer'] = $this->stripe->findOrCreateCustomer()->id; - $data['country'] = $this->stripe->client->country->iso_3166_2; $intent = \Stripe\PaymentIntent::create([ - 'amount' => $data['stripe_amount'], + 'amount' => $this->stripe->convertToStripeAmount($this->stripe->payment_hash->amount_with_fee(), $this->stripe->client->currency()->precision, $this->stripe->client->currency()), 'currency' => $this->stripe->client->currency()->code, - 'setup_future_usage' => 'off_session', 'payment_method_types' => ['acss_debit'], 'customer' => $this->stripe->findOrCreateCustomer(), 'description' => $this->stripe->getDescription(false), @@ -148,20 +152,71 @@ class ACSS 'payment_hash' => $this->stripe->payment_hash->hash, 'gateway_type_id' => GatewayType::ACSS, ], + 'payment_method' => $token->token, + 'mandate' => $token->meta?->mandate, + 'confirm' => true, + ], $this->stripe->stripe_connect_auth); + + return $intent; + } + + public function paymentView(array $data) + { + + if(count($data['tokens']) == 0) { + $hash = Str::random(32); + Cache::put($hash, $data, 3600); + $data['post_auth_response'] = $hash; + + return $this->generateMandate($data); + } + + return $this->continuePayment($data); + } + + private function generateMandate(array $data) + { + + $data['gateway'] = $this->stripe; + $data['company_gateway'] = $this->stripe->company_gateway; + $data['customer'] = $this->stripe->findOrCreateCustomer()->id; + $data['country'] = $this->stripe->client->country->iso_3166_2; + + $intent = \Stripe\SetupIntent::create([ + 'usage' => 'off_session', + 'payment_method_types' => ['acss_debit'], + 'customer' => $data['customer'], 'payment_method_options' => [ 'acss_debit' => [ - 'mandate_options' => [ - 'payment_schedule' => 'combined', - 'interval_description' => 'when any invoice becomes due', - 'transaction_type' => 'personal', // TODO: check if is company or personal https://stripe.com/docs/payments/acss-debit - ], - 'verification_method' => 'instant', + 'currency' => 'cad', + 'mandate_options' => [ + 'payment_schedule' => 'combined', + 'interval_description' => 'On any invoice due date', + 'transaction_type' => 'personal', + ], + 'verification_method' => 'instant', ], ], ], $this->stripe->stripe_connect_auth); $data['pi_client_secret'] = $intent->client_secret; + return render('gateways.stripe.acss.authorize', array_merge($data)); + + } + + private function continuePayment(array $data) + { + + $this->stripe->init(); + + $data['gateway'] = $this->stripe; + $data['return_url'] = $this->buildReturnUrl(); + $data['stripe_amount'] = $this->stripe->convertToStripeAmount($data['total']['amount_with_fee'], $this->stripe->client->currency()->precision, $this->stripe->client->currency()); + $data['client'] = $this->stripe->client; + $data['customer'] = $this->stripe->findOrCreateCustomer()->id; + $data['country'] = $this->stripe->client->country->iso_3166_2; + $this->stripe->payment_hash->data = array_merge((array) $this->stripe->payment_hash->data, ['stripe_amount' => $data['stripe_amount']]); $this->stripe->payment_hash->save(); @@ -179,18 +234,45 @@ class ACSS public function paymentResponse(PaymentResponseRequest $request) { + $gateway_response = json_decode($request->gateway_response); + $cgt = ClientGatewayToken::find($this->decodePrimaryKey($request->token)); + $intent = $this->tokenIntent($cgt); + $this->stripe->payment_hash->data = array_merge((array) $this->stripe->payment_hash->data, $request->all()); $this->stripe->payment_hash->save(); - if (property_exists($gateway_response, 'status') && $gateway_response->status == 'processing') { - return $this->processSuccessfulPayment($gateway_response->id); + if ($intent->status && $intent->status == 'processing') { + + return $this->processSuccessfulPayment($intent->id); } return $this->processUnsuccessfulPayment(); } + public function tokenBilling(ClientGatewayToken $cgt, PaymentHash $payment_hash) + { + $this->stripe->init(); + $this->stripe->setPaymentHash($payment_hash); + $this->stripe->setClient($cgt->client); + $stripe_amount = $this->stripe->convertToStripeAmount($payment_hash->amount_with_fee(), $this->stripe->client->currency()->precision, $this->stripe->client->currency()); + $this->stripe->payment_hash->data = array_merge((array) $this->stripe->payment_hash->data, ['stripe_amount' => $stripe_amount]); + $this->stripe->payment_hash->save(); + + $intent = $this->tokenIntent($cgt); + + if ($intent->status && $intent->status == 'processing') { + $this->processSuccessfulPayment($intent->id); + } + else { + $e = new \Exception("There was a problem processing this payment method", 500); + $this->stripe->processInternallyFailedPayment($this->stripe, $e); + } + + + } + public function processSuccessfulPayment(string $payment_intent): \Illuminate\Http\RedirectResponse { $data = [ @@ -243,24 +325,25 @@ class ACSS throw new PaymentFailed('Failed to process the payment.', 500); } - private function storePaymentMethod($intent) + private function storePaymentMethod(string $payment_method, string $mandate, string $status = 'authorized'): ?ClientGatewayToken { try { - $method = $this->stripe->getStripePaymentMethod($intent->payment_method); + $method = $this->stripe->getStripePaymentMethod($payment_method); $payment_meta = new \stdClass; $payment_meta->brand = (string) $method->acss_debit->bank_name; $payment_meta->last4 = (string) $method->acss_debit->last4; - $payment_meta->state = 'authorized'; + $payment_meta->state = $status; $payment_meta->type = GatewayType::ACSS; + $payment_meta->mandate = $mandate; $data = [ 'payment_meta' => $payment_meta, - 'token' => $intent->payment_method, + 'token' => $payment_method, 'payment_method_id' => GatewayType::ACSS, ]; - $this->stripe->storeGatewayToken($data, ['gateway_customer_reference' => $method->customer]); + return $this->stripe->storeGatewayToken($data, ['gateway_customer_reference' => $method->customer]); } catch (\Exception $e) { return $this->stripe->processInternallyFailedPayment($this->stripe, $e); } diff --git a/app/PaymentDrivers/Stripe/Charge.php b/app/PaymentDrivers/Stripe/Charge.php index 749b527709..bc42fd96e8 100644 --- a/app/PaymentDrivers/Stripe/Charge.php +++ b/app/PaymentDrivers/Stripe/Charge.php @@ -51,6 +51,9 @@ class Charge if ($cgt->gateway_type_id == GatewayType::BANK_TRANSFER) { return (new ACH($this->stripe))->tokenBilling($cgt, $payment_hash); } + elseif($cgt->gateway_type_id == GatewayType::ACSS){ + return (new ACSS($this->stripe))->tokenBilling($cgt, $payment_hash); + } $amount = array_sum(array_column($payment_hash->invoices(), 'amount')) + $payment_hash->fee_total; diff --git a/app/PaymentDrivers/StripePaymentDriver.php b/app/PaymentDrivers/StripePaymentDriver.php index d0395ee6b5..737e27b30d 100644 --- a/app/PaymentDrivers/StripePaymentDriver.php +++ b/app/PaymentDrivers/StripePaymentDriver.php @@ -469,6 +469,16 @@ class StripePaymentDriver extends BaseDriver return SetupIntent::create($params, array_merge($meta, ['idempotency_key' => uniqid("st", true)])); } + public function getSetupIntentId(string $id): SetupIntent + { + $this->init(); + + return SetupIntent::retrieve( + $id, + $this->stripe_connect_auth + ); + } + /** * Returns the Stripe publishable key. * @return null|string The stripe publishable key diff --git a/public/build/assets/stripe-acss-501a91de.js b/public/build/assets/stripe-acss-501a91de.js deleted file mode 100644 index 2104168045..0000000000 --- a/public/build/assets/stripe-acss-501a91de.js +++ /dev/null @@ -1,9 +0,0 @@ -var d=Object.defineProperty;var c=(n,t,e)=>t in n?d(n,t,{enumerable:!0,configurable:!0,writable:!0,value:e}):n[t]=e;var r=(n,t,e)=>(c(n,typeof t!="symbol"?t+"":t,e),e);/** - * Invoice Ninja (https://invoiceninja.com) - * - * @link https://github.com/invoiceninja/invoiceninja source repository - * - * @copyright Copyright (c) 2021. Invoice Ninja LLC (https://invoiceninja.com) - * - * @license https://www.elastic.co/licensing/elastic-license - */class i{constructor(t,e){r(this,"setupStripe",()=>(this.stripeConnect?this.stripe=Stripe(this.key,{stripeAccount:this.stripeConnect}):this.stripe=Stripe(this.key),this));r(this,"handle",()=>{document.getElementById("pay-now").addEventListener("click",t=>{let e=document.getElementById("errors");if(document.getElementById("acss-name").value===""){document.getElementById("acss-name").focus(),e.textContent=document.querySelector("meta[name=translation-name-required]").content,e.hidden=!1;return}if(document.getElementById("acss-email-address").value===""){document.getElementById("acss-email-address").focus(),e.textContent=document.querySelector("meta[name=translation-email-required]").content,e.hidden=!1;return}document.getElementById("pay-now").disabled=!0,document.querySelector("#pay-now > svg").classList.remove("hidden"),document.querySelector("#pay-now > span").classList.add("hidden"),this.stripe.confirmAcssDebitPayment(document.querySelector("meta[name=pi-client-secret").content,{payment_method:{billing_details:{name:document.getElementById("acss-name").value,email:document.getElementById("acss-email-address").value}}}).then(s=>s.error?this.handleFailure(s.error.message):this.handleSuccess(s))})});this.key=t,this.errors=document.getElementById("errors"),this.stripeConnect=e}handleSuccess(t){document.querySelector('input[name="gateway_response"]').value=JSON.stringify(t.paymentIntent),document.getElementById("server-response").submit()}handleFailure(t){let e=document.getElementById("errors");e.textContent="",e.textContent=t,e.hidden=!1,document.getElementById("pay-now").disabled=!1,document.querySelector("#pay-now > svg").classList.add("hidden"),document.querySelector("#pay-now > span").classList.remove("hidden")}}var a;const m=((a=document.querySelector('meta[name="stripe-publishable-key"]'))==null?void 0:a.content)??"";var o;const l=((o=document.querySelector('meta[name="stripe-account-id"]'))==null?void 0:o.content)??"";new i(m,l).setupStripe().handle(); diff --git a/public/build/assets/stripe-acss-946fe54a.js b/public/build/assets/stripe-acss-946fe54a.js new file mode 100644 index 0000000000..8b12e28c4d --- /dev/null +++ b/public/build/assets/stripe-acss-946fe54a.js @@ -0,0 +1,9 @@ +var c=Object.defineProperty;var i=(n,e,t)=>e in n?c(n,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):n[e]=t;var r=(n,e,t)=>(i(n,typeof e!="symbol"?e+"":e,t),t);/** + * Invoice Ninja (https://invoiceninja.com) + * + * @link https://github.com/invoiceninja/invoiceninja source repository + * + * @copyright Copyright (c) 2021. Invoice Ninja LLC (https://invoiceninja.com) + * + * @license https://www.elastic.co/licensing/elastic-license + */class l{constructor(e,t){r(this,"setupStripe",()=>(this.stripeConnect?this.stripe=Stripe(this.key,{stripeAccount:this.stripeConnect}):this.stripe=Stripe(this.key),this));r(this,"handle",()=>{Array.from(document.getElementsByClassName("toggle-payment-with-token")).forEach(e=>e.addEventListener("click",t=>{document.querySelector("input[name=token]").value=t.target.dataset.token,console.log(t.target.dataset.token)})),document.getElementById("toggle-payment-with-new-account")&&document.getElementById("toggle-payment-with-new-account").addEventListener("click",e=>{document.getElementById("save-card--container").style.display="grid",document.querySelector("input[name=token]").value=""}),document.getElementById("pay-now-with-token")?document.getElementById("pay-now-with-token").addEventListener("click",e=>{document.querySelector("input[name=token]").value,document.getElementById("pay-now-with-token").disabled=!0,document.querySelector("#pay-now-with-token > svg").classList.remove("hidden"),document.querySelector("#pay-now-with-token > span").classList.add("hidden"),document.getElementById("server-response").submit()}):document.getElementById("pay-now").addEventListener("click",e=>{let t=document.querySelector('input[name="token-billing-checkbox"]:checked');t&&(document.querySelector('input[name="store_card"]').value=t.value);let o=document.getElementById("errors");if(o.textContent="",o.hidden=!0,document.getElementById("acss-name").value===""){document.getElementById("acss-name").focus(),o.textContent=document.querySelector("meta[name=translation-name-required]").content,o.hidden=!1;return}if(document.getElementById("acss-email-address").value===""){document.getElementById("acss-email-address").focus(),o.textContent=document.querySelector("meta[name=translation-email-required]").content,o.hidden=!1;return}document.getElementById("pay-now").disabled=!0,document.querySelector("#pay-now > svg").classList.remove("hidden"),document.querySelector("#pay-now > span").classList.add("hidden"),this.stripe.confirmAcssDebitPayment(document.querySelector("meta[name=pi-client-secret").content,{payment_method:{billing_details:{name:document.getElementById("acss-name").value,email:document.getElementById("acss-email-address").value}}}).then(s=>s.error?this.handleFailure(s.error.message):this.handleSuccess(s))})});this.key=e,this.errors=document.getElementById("errors"),this.stripeConnect=t}handleSuccess(e){document.querySelector('input[name="gateway_response"]').value=JSON.stringify(e.paymentIntent),document.getElementById("server-response").submit()}handleFailure(e){let t=document.getElementById("errors");t.textContent="",t.textContent=e,t.hidden=!1,document.getElementById("pay-now").disabled=!1,document.querySelector("#pay-now > svg").classList.add("hidden"),document.querySelector("#pay-now > span").classList.remove("hidden")}}var a;const m=((a=document.querySelector('meta[name="stripe-publishable-key"]'))==null?void 0:a.content)??"";var d;const u=((d=document.querySelector('meta[name="stripe-account-id"]'))==null?void 0:d.content)??"";new l(m,u).setupStripe().handle(); diff --git a/public/build/manifest.json b/public/build/manifest.json index 103a050410..33c60cd50d 100644 --- a/public/build/manifest.json +++ b/public/build/manifest.json @@ -116,7 +116,7 @@ "src": "resources/js/clients/payments/stripe-ach.js" }, "resources/js/clients/payments/stripe-acss.js": { - "file": "assets/stripe-acss-501a91de.js", + "file": "assets/stripe-acss-946fe54a.js", "isEntry": true, "src": "resources/js/clients/payments/stripe-acss.js" }, diff --git a/resources/js/clients/payments/stripe-acss.js b/resources/js/clients/payments/stripe-acss.js index 0af5545765..613e8e3734 100644 --- a/resources/js/clients/payments/stripe-acss.js +++ b/resources/js/clients/payments/stripe-acss.js @@ -33,46 +33,95 @@ class ProcessACSS { }; handle = () => { - document.getElementById('pay-now').addEventListener('click', (e) => { - let errors = document.getElementById('errors'); + Array + .from(document.getElementsByClassName('toggle-payment-with-token')) + .forEach((element) => element.addEventListener('click', (element) => { + document.querySelector('input[name=token]').value = element.target.dataset.token; + console.log(element.target.dataset.token); + })); + + if(document.getElementById('toggle-payment-with-new-account')) + { + document + .getElementById('toggle-payment-with-new-account') + .addEventListener('click', (element) => { + document.getElementById('save-card--container').style.display = 'grid'; + document.querySelector('input[name=token]').value = ""; + }); - if (document.getElementById('acss-name').value === "") { - document.getElementById('acss-name').focus(); - errors.textContent = document.querySelector('meta[name=translation-name-required]').content; - errors.hidden = false; - return; } - if (document.getElementById('acss-email-address').value === "") { - document.getElementById('acss-email-address').focus(); - errors.textContent = document.querySelector('meta[name=translation-email-required]').content; - errors.hidden = false; - return ; - } + if (document.getElementById('pay-now-with-token')) + { + document.getElementById('pay-now-with-token').addEventListener('click', (e) => { - document.getElementById('pay-now').disabled = true; - document.querySelector('#pay-now > svg').classList.remove('hidden'); - document.querySelector('#pay-now > span').classList.add('hidden'); + const token = document + .querySelector('input[name=token]') + .value; - this.stripe.confirmAcssDebitPayment( - document.querySelector('meta[name=pi-client-secret').content, - { - payment_method: { - billing_details: { - name: document.getElementById("acss-name").value, - email: document.getElementById("acss-email-address").value, - }, - }, - } - ).then((result) => { - if (result.error) { - return this.handleFailure(result.error.message); - } - - return this.handleSuccess(result); + document.getElementById('pay-now-with-token').disabled = true; + document.querySelector('#pay-now-with-token > svg').classList.remove('hidden'); + document.querySelector('#pay-now-with-token > span').classList.add('hidden'); + document.getElementById('server-response').submit(); + }); - }); + } + else { + + document.getElementById('pay-now').addEventListener('click', (e) => { + + let tokenBillingCheckbox = document.querySelector( + 'input[name="token-billing-checkbox"]:checked' + ); + + if (tokenBillingCheckbox) { + document.querySelector('input[name="store_card"]').value = + tokenBillingCheckbox.value; + } + + let errors = document.getElementById('errors'); + errors.textContent = ''; + errors.hidden = true; + + if (document.getElementById('acss-name').value === "") { + document.getElementById('acss-name').focus(); + errors.textContent = document.querySelector('meta[name=translation-name-required]').content; + errors.hidden = false; + return; + } + + if (document.getElementById('acss-email-address').value === "") { + document.getElementById('acss-email-address').focus(); + errors.textContent = document.querySelector('meta[name=translation-email-required]').content; + errors.hidden = false; + return ; + } + + document.getElementById('pay-now').disabled = true; + document.querySelector('#pay-now > svg').classList.remove('hidden'); + document.querySelector('#pay-now > span').classList.add('hidden'); + + this.stripe.confirmAcssDebitPayment( + document.querySelector('meta[name=pi-client-secret').content, + { + payment_method: { + billing_details: { + name: document.getElementById("acss-name").value, + email: document.getElementById("acss-email-address").value, + }, + }, + } + ).then((result) => { + if (result.error) { + return this.handleFailure(result.error.message); + } + + return this.handleSuccess(result); + }); + }); + + } }; handleSuccess(result) { diff --git a/resources/views/portal/ninja2020/components/livewire/payment-methods-table.blade.php b/resources/views/portal/ninja2020/components/livewire/payment-methods-table.blade.php index 9d77a7c3a2..894eeda2c4 100644 --- a/resources/views/portal/ninja2020/components/livewire/payment-methods-table.blade.php +++ b/resources/views/portal/ninja2020/components/livewire/payment-methods-table.blade.php @@ -30,6 +30,11 @@ {{ ctrans('texts.bacs') }} @endif + @if($client->getACSSGateway()) + + {{ ctrans('texts.acss') }} + + @endif @endif diff --git a/resources/views/portal/ninja2020/gateways/stripe/acss/authorize.blade.php b/resources/views/portal/ninja2020/gateways/stripe/acss/authorize.blade.php index ceb2d28000..c88bc2bbad 100644 --- a/resources/views/portal/ninja2020/gateways/stripe/acss/authorize.blade.php +++ b/resources/views/portal/ninja2020/gateways/stripe/acss/authorize.blade.php @@ -1,7 +1,121 @@ -@extends('portal.ninja2020.layout.payments', ['gateway_title' => ctrans('texts.bank_account'), 'card_title' => ctrans('texts.bank_account')]) +@extends('portal.ninja2020.layout.payments', ['gateway_title' => 'ACSS', 'card_title' => 'ACSS']) + +@section('gateway_head') + + @if($company_gateway->getConfigField('account_id')) + + + @else + + @endif + + +@endsection @section('gateway_content') - @component('portal.ninja2020.components.general.card-element-single', ['title' => ctrans('texts.bank_account'), 'show_title' => false]) - {{ __('texts.sofort_authorize_label') }} +
+ @csrf + + + + + +
+ + + @component('portal.ninja2020.components.general.card-element-single', ['title' => 'SEPA', 'show_title' => false]) +

By clicking submit, you accept this Agreement and authorize {{ $company->present()->name() }} to debit the specified bank account for any amount owed for charges arising from the use of services and/or purchase of products.

+
+

Payments will be debited from the specified account when an invoice becomes due.

+
+

Where a scheduled debit date is not a business day, {{ $company->present()->name() }} will debit on the next business day.

+
+

You agree that any payments due will be debited from your account immediately upon acceptance of this Agreement and that confirmation of this Agreement may be sent within 5 (five) days of acceptance of this Agreement. You further agree to be notified of upcoming debits up to 1 (one) day before payments are collected.

+
+

You have certain recourse rights if any debit does not comply with this agreement. For example, you have the right to receive reimbursement for any debit that is not authorized or is not consistent with this PAD Agreement. To obtain more information on your recourse rights, contact your financial institution.

+
+

You may amend or cancel this authorization at any time by providing the merchant with thirty (30) days notice at {{ $company->present()->email() }}. To obtain a sample cancellation form, or further information on cancelling a PAD agreement, please contact your financial institution.

+
+

{{ $company->present()->name() }} partners with Stripe to provide payment processing.

+ + +
+ + +
+ + @endcomponent + @component('portal.ninja2020.gateways.includes.pay_now', ['id' => 'authorize-acss']) + {{ ctrans('texts.add_payment_method') }} @endcomponent @endsection + +@section('gateway_footer') + + + + + +@endsection + diff --git a/resources/views/portal/ninja2020/gateways/stripe/acss/pay.blade.php b/resources/views/portal/ninja2020/gateways/stripe/acss/pay.blade.php index 3665e954d8..0a6cbc457b 100644 --- a/resources/views/portal/ninja2020/gateways/stripe/acss/pay.blade.php +++ b/resources/views/portal/ninja2020/gateways/stripe/acss/pay.blade.php @@ -9,13 +9,10 @@ @endif - - - @endsection @@ -24,17 +21,44 @@ @include('portal.ninja2020.gateways.includes.payment_details') - - @component('portal.ninja2020.components.general.card-element', ['title' => ctrans('texts.payment_type')]) + + @component('portal.ninja2020.components.general.card-element', ['title' => ctrans('texts.pay_with')]) {{ ctrans('texts.acss') }} ({{ ctrans('texts.bank_transfer') }}) +
+ @csrf + + + + + + +
+ + + @include('portal.ninja2020.gateways.includes.pay_now', ['id' => 'pay-now-with-token']) + @endcomponent - @include('portal.ninja2020.gateways.stripe.acss.acss') - @include('portal.ninja2020.gateways.includes.pay_now') @endsection @push('footer') @vite('resources/js/clients/payments/stripe-acss.js') + @endpush From c026704e838549a454b431b75e3a21319cdd454c Mon Sep 17 00:00:00 2001 From: David Bomba Date: Mon, 18 Dec 2023 15:32:01 +1100 Subject: [PATCH 03/10] Refactor for Stripe ACSS to include mandates for future billing purposes --- app/PaymentDrivers/Stripe/ACSS.php | 85 ++++++++++++++++++++++++------ 1 file changed, 69 insertions(+), 16 deletions(-) diff --git a/app/PaymentDrivers/Stripe/ACSS.php b/app/PaymentDrivers/Stripe/ACSS.php index 2d8d169ee7..e246ee5b18 100644 --- a/app/PaymentDrivers/Stripe/ACSS.php +++ b/app/PaymentDrivers/Stripe/ACSS.php @@ -12,9 +12,7 @@ namespace App\PaymentDrivers\Stripe; -use Stripe\Customer; use App\Models\Payment; -use Stripe\SetupIntent; use App\Models\SystemLog; use App\Models\GatewayType; use App\Models\PaymentHash; @@ -24,16 +22,12 @@ use App\Http\Requests\Request; use App\Jobs\Util\SystemLogger; use App\Utils\Traits\MakesHash; use App\Exceptions\PaymentFailed; -use App\Jobs\Mail\NinjaMailerJob; use App\Models\ClientGatewayToken; -use Stripe\Exception\CardException; -use App\Jobs\Mail\NinjaMailerObject; use Illuminate\Support\Facades\Cache; use App\Jobs\Mail\PaymentFailureMailer; use App\PaymentDrivers\StripePaymentDriver; -use Stripe\Exception\InvalidRequestException; -use App\Mail\Gateways\ACHVerificationNotification; use App\Http\Requests\ClientPortal\Payments\PaymentResponseRequest; +use Stripe\PaymentIntent; class ACSS { @@ -87,7 +81,7 @@ class ACSS /** * Authorizes the mandate for future billing * - * @param mixed $request + * @param Request $request * @return void */ public function authorizeResponse(Request $request) @@ -138,8 +132,14 @@ class ACSS return redirect()->route('client.payment_methods.show', $client_gateway_token->hashed_id); } - - private function tokenIntent(ClientGatewayToken $token) + + /** + * Generates a token Payment Intent + * + * @param ClientGatewayToken $token + * @return void + */ + private function tokenIntent(ClientGatewayToken $token): PaymentIntent { $intent = \Stripe\PaymentIntent::create([ @@ -159,7 +159,15 @@ class ACSS return $intent; } + + /** + * Payment view for ACSS + * + * Determines if any payment tokens are available and if not, generates a mandate + * + * @param array $data + */ public function paymentView(array $data) { @@ -173,7 +181,13 @@ class ACSS return $this->continuePayment($data); } + + /** + * Generate a payment Mandate for ACSS + * + * @param array $data + */ private function generateMandate(array $data) { @@ -204,7 +218,13 @@ class ACSS return render('gateways.stripe.acss.authorize', array_merge($data)); } - + + /** + * Continues the payment flow after a Mandate has been successfully generated + * + * @param array $data + * @return void + */ private function continuePayment(array $data) { @@ -222,7 +242,12 @@ class ACSS return render('gateways.stripe.acss.pay', $data); } - + + /** + * ?redundant + * + * @return string + */ private function buildReturnUrl(): string { return route('client.payments.response', [ @@ -231,13 +256,20 @@ class ACSS 'payment_method_id' => GatewayType::ACSS, ]); } - + + /** + * PaymentResponseRequest + * + * @param mixed $request + */ public function paymentResponse(PaymentResponseRequest $request) { $gateway_response = json_decode($request->gateway_response); $cgt = ClientGatewayToken::find($this->decodePrimaryKey($request->token)); + + /** @var Stripe\PaymentIntent $intent */ $intent = $this->tokenIntent($cgt); $this->stripe->payment_hash->data = array_merge((array) $this->stripe->payment_hash->data, $request->all()); @@ -250,7 +282,13 @@ class ACSS return $this->processUnsuccessfulPayment(); } - + + /** + * Performs token billing using a ACSS payment method + * + * @param ClientGatewayToken $cgt + * @param PaymentHash $payment_hash + */ public function tokenBilling(ClientGatewayToken $cgt, PaymentHash $payment_hash) { $this->stripe->init(); @@ -260,6 +298,7 @@ class ACSS $this->stripe->payment_hash->data = array_merge((array) $this->stripe->payment_hash->data, ['stripe_amount' => $stripe_amount]); $this->stripe->payment_hash->save(); + /** @var Stripe\PaymentIntent $intent */ $intent = $this->tokenIntent($cgt); if ($intent->status && $intent->status == 'processing') { @@ -272,7 +311,13 @@ class ACSS } - + + /** + * Creates a payment for the transaction + * + * @param string $payment_intent + * @return Illuminate\Http\RedirectResponse + */ public function processSuccessfulPayment(string $payment_intent): \Illuminate\Http\RedirectResponse { $data = [ @@ -324,7 +369,15 @@ class ACSS throw new PaymentFailed('Failed to process the payment.', 500); } - + + /** + * Stores the payment token + * + * @param string $payment_method + * @param string $mandate + * @param string $status + * @return ClientGatewayToken + */ private function storePaymentMethod(string $payment_method, string $mandate, string $status = 'authorized'): ?ClientGatewayToken { try { From 3365e93da07fb24a2d1956bb4f0f55533006ced8 Mon Sep 17 00:00:00 2001 From: David Bomba Date: Mon, 18 Dec 2023 15:37:03 +1100 Subject: [PATCH 04/10] Clean up --- app/PaymentDrivers/Stripe/ACSS.php | 12 +++++------- app/PaymentDrivers/Stripe/Charge.php | 7 ++----- 2 files changed, 7 insertions(+), 12 deletions(-) diff --git a/app/PaymentDrivers/Stripe/ACSS.php b/app/PaymentDrivers/Stripe/ACSS.php index e246ee5b18..07b88f3e02 100644 --- a/app/PaymentDrivers/Stripe/ACSS.php +++ b/app/PaymentDrivers/Stripe/ACSS.php @@ -137,7 +137,7 @@ class ACSS * Generates a token Payment Intent * * @param ClientGatewayToken $token - * @return void + * @return PaymentIntent */ private function tokenIntent(ClientGatewayToken $token): PaymentIntent { @@ -223,7 +223,6 @@ class ACSS * Continues the payment flow after a Mandate has been successfully generated * * @param array $data - * @return void */ private function continuePayment(array $data) { @@ -260,7 +259,7 @@ class ACSS /** * PaymentResponseRequest * - * @param mixed $request + * @param PaymentResponseRequest $request */ public function paymentResponse(PaymentResponseRequest $request) { @@ -269,7 +268,7 @@ class ACSS $cgt = ClientGatewayToken::find($this->decodePrimaryKey($request->token)); - /** @var Stripe\PaymentIntent $intent */ + /** @var \Stripe\PaymentIntent $intent */ $intent = $this->tokenIntent($cgt); $this->stripe->payment_hash->data = array_merge((array) $this->stripe->payment_hash->data, $request->all()); @@ -298,7 +297,7 @@ class ACSS $this->stripe->payment_hash->data = array_merge((array) $this->stripe->payment_hash->data, ['stripe_amount' => $stripe_amount]); $this->stripe->payment_hash->save(); - /** @var Stripe\PaymentIntent $intent */ + /** @var \Stripe\PaymentIntent $intent */ $intent = $this->tokenIntent($cgt); if ($intent->status && $intent->status == 'processing') { @@ -316,9 +315,8 @@ class ACSS * Creates a payment for the transaction * * @param string $payment_intent - * @return Illuminate\Http\RedirectResponse */ - public function processSuccessfulPayment(string $payment_intent): \Illuminate\Http\RedirectResponse + public function processSuccessfulPayment(string $payment_intent) { $data = [ 'payment_method' => $payment_intent, diff --git a/app/PaymentDrivers/Stripe/Charge.php b/app/PaymentDrivers/Stripe/Charge.php index bc42fd96e8..513a23adfd 100644 --- a/app/PaymentDrivers/Stripe/Charge.php +++ b/app/PaymentDrivers/Stripe/Charge.php @@ -102,12 +102,9 @@ class Charge ]; switch ($e) { + /** @var \Stripe\Exception\CardException $e */ case $e instanceof CardException: - $data['status'] = $e->getHttpStatus(); - $data['error_type'] = $e->getError()->type; - $data['error_code'] = $e->getError()->code; - $data['param'] = $e->getError()->param; - $data['message'] = $e->getError()->message; + $data['message'] = $e->getError()->message ?? $e->getMessage(); break; case $e instanceof RateLimitException: $data['message'] = 'Too many requests made to the API too quickly'; From 685c21c78a41d7283a47f104bff3a3337fae1aec Mon Sep 17 00:00:00 2001 From: David Bomba Date: Wed, 20 Dec 2023 13:59:48 +1100 Subject: [PATCH 05/10] Import sort filters --- app/Filters/RecurringInvoiceFilters.php | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/app/Filters/RecurringInvoiceFilters.php b/app/Filters/RecurringInvoiceFilters.php index 81060eed61..8c3bb10936 100644 --- a/app/Filters/RecurringInvoiceFilters.php +++ b/app/Filters/RecurringInvoiceFilters.php @@ -114,20 +114,25 @@ class RecurringInvoiceFilters extends QueryFilters */ public function sort(string $sort = ''): Builder { - $sort_col = explode('|', $sort); + $sort_col = explode('|', $sort); + if (!is_array($sort_col) || count($sort_col) != 2) { return $this->builder; } + $dir = ($sort_col[1] == 'asc') ? 'asc' : 'desc'; if ($sort_col[0] == 'client_id') { return $this->builder->orderBy(\App\Models\Client::select('name') - ->whereColumn('clients.id', 'recurring_invoices.client_id'), $sort_col[1]); + ->whereColumn('clients.id', 'recurring_invoices.client_id'), $dir); } + if($sort_col[0] == 'number'){ + return $this->builder->orderByRaw("ABS(number) {$dir}"); + } - return $this->builder->orderBy($sort_col[0], $sort_col[1]); + return $this->builder->orderBy($sort_col[0], $dir); } /** From 93d36abe4c3c01a59d9e314943fdb3d9923e0921 Mon Sep 17 00:00:00 2001 From: David Bomba Date: Wed, 20 Dec 2023 14:10:45 +1100 Subject: [PATCH 06/10] Improve sort filters --- app/Filters/BankIntegrationFilters.php | 4 +++- app/Filters/BankTransactionFilters.php | 10 ++++++---- app/Filters/BankTransactionRuleFilters.php | 4 +++- app/Filters/ClientFilters.php | 4 +++- app/Filters/CompanyGatewayFilters.php | 4 +++- app/Filters/CreditFilters.php | 6 ++++-- app/Filters/DesignFilters.php | 4 +++- app/Filters/DocumentFilters.php | 5 ++++- app/Filters/ExpenseCategoryFilters.php | 2 +- app/Filters/GroupSettingFilters.php | 4 +++- app/Filters/InvoiceFilters.php | 6 ++++-- app/Filters/ProjectFilters.php | 4 +++- app/Filters/PurchaseOrderFilters.php | 6 ++++-- app/Filters/QuoteFilters.php | 6 ++++-- app/Filters/RecurringExpenseFilters.php | 4 +++- app/Filters/RecurringQuoteFilters.php | 4 +++- app/Filters/SchedulerFilters.php | 4 +++- app/Filters/SubscriptionFilters.php | 4 +++- app/Filters/SystemLogFilters.php | 4 +++- app/Filters/TaskFilters.php | 8 +++++--- app/Filters/TaskStatusFilters.php | 4 +++- app/Filters/TaxRateFilters.php | 4 +++- app/Filters/TokenFilters.php | 4 +++- app/Filters/UserFilters.php | 4 +++- app/Filters/VendorFilters.php | 4 +++- app/Filters/WebhookFilters.php | 4 +++- 26 files changed, 86 insertions(+), 35 deletions(-) diff --git a/app/Filters/BankIntegrationFilters.php b/app/Filters/BankIntegrationFilters.php index f637afd9cd..c2ed8cc16b 100644 --- a/app/Filters/BankIntegrationFilters.php +++ b/app/Filters/BankIntegrationFilters.php @@ -97,7 +97,9 @@ class BankIntegrationFilters extends QueryFilters return $this->builder; } - return $this->builder->orderBy($sort_col[0], $sort_col[1]); + $dir = ($sort_col[1] == 'asc') ? 'asc' : 'desc'; + + return $this->builder->orderBy($sort_col[0], $dir); } /** diff --git a/app/Filters/BankTransactionFilters.php b/app/Filters/BankTransactionFilters.php index 11d27df790..815a42402b 100644 --- a/app/Filters/BankTransactionFilters.php +++ b/app/Filters/BankTransactionFilters.php @@ -128,13 +128,15 @@ class BankTransactionFilters extends QueryFilters if (!is_array($sort_col) || count($sort_col) != 2) { return $this->builder; } - + + $dir = ($sort_col[1] == 'asc') ? 'asc' : 'desc'; + if ($sort_col[0] == 'deposit') { - return $this->builder->where('base_type', 'CREDIT')->orderBy('amount', $sort_col[1]); + return $this->builder->where('base_type', 'CREDIT')->orderBy('amount', $dir); } if ($sort_col[0] == 'withdrawal') { - return $this->builder->where('base_type', 'DEBIT')->orderBy('amount', $sort_col[1]); + return $this->builder->where('base_type', 'DEBIT')->orderBy('amount', $dir); } if ($sort_col[0] == 'status') { @@ -145,7 +147,7 @@ class BankTransactionFilters extends QueryFilters return $this->builder; } - return $this->builder->orderBy($sort_col[0], $sort_col[1]); + return $this->builder->orderBy($sort_col[0], $dir); } /** diff --git a/app/Filters/BankTransactionRuleFilters.php b/app/Filters/BankTransactionRuleFilters.php index d7c4a83bb3..4e788ebfb3 100644 --- a/app/Filters/BankTransactionRuleFilters.php +++ b/app/Filters/BankTransactionRuleFilters.php @@ -65,7 +65,9 @@ class BankTransactionRuleFilters extends QueryFilters return $this->builder; } - return $this->builder->orderBy($sort_col[0], $sort_col[1]); + $dir = ($sort_col[1] == 'asc') ? 'asc' : 'desc'; + + return $this->builder->orderBy($sort_col[0], $dir); } /** diff --git a/app/Filters/ClientFilters.php b/app/Filters/ClientFilters.php index b1c7964de3..b2462be0f1 100644 --- a/app/Filters/ClientFilters.php +++ b/app/Filters/ClientFilters.php @@ -161,8 +161,10 @@ class ClientFilters extends QueryFilters if ($sort_col[0] == 'display_name') { $sort_col[0] = 'name'; } + + $dir = ($sort_col[1] == 'asc') ? 'asc' : 'desc'; - return $this->builder->orderBy($sort_col[0], $sort_col[1]); + return $this->builder->orderBy($sort_col[0], $dir); } /** diff --git a/app/Filters/CompanyGatewayFilters.php b/app/Filters/CompanyGatewayFilters.php index e41d61fac4..879e1a5d1e 100644 --- a/app/Filters/CompanyGatewayFilters.php +++ b/app/Filters/CompanyGatewayFilters.php @@ -49,8 +49,10 @@ class CompanyGatewayFilters extends QueryFilters if (!is_array($sort_col) || count($sort_col) != 2) { return $this->builder; } + + $dir = ($sort_col[1] == 'asc') ? 'asc' : 'desc'; - return $this->builder->orderBy($sort_col[0], $sort_col[1]); + return $this->builder->orderBy($sort_col[0], $dir); } /** diff --git a/app/Filters/CreditFilters.php b/app/Filters/CreditFilters.php index 482e5376a3..2aea5eedeb 100644 --- a/app/Filters/CreditFilters.php +++ b/app/Filters/CreditFilters.php @@ -139,12 +139,14 @@ class CreditFilters extends QueryFilters return $this->builder; } + $dir = ($sort_col[1] == 'asc') ? 'asc' : 'desc'; + if ($sort_col[0] == 'client_id') { return $this->builder->orderBy(\App\Models\Client::select('name') - ->whereColumn('clients.id', 'credits.client_id'), $sort_col[1]); + ->whereColumn('clients.id', 'credits.client_id'), $dir); } - return $this->builder->orderBy($sort_col[0], $sort_col[1]); + return $this->builder->orderBy($sort_col[0], $dir); } /** diff --git a/app/Filters/DesignFilters.php b/app/Filters/DesignFilters.php index 1526dcc7e5..69c6cf60df 100644 --- a/app/Filters/DesignFilters.php +++ b/app/Filters/DesignFilters.php @@ -51,7 +51,9 @@ class DesignFilters extends QueryFilters return $this->builder; } - return $this->builder->orderBy($sort_col[0], $sort_col[1]); + $dir = ($sort_col[1] == 'asc') ? 'asc' : 'desc'; + + return $this->builder->orderBy($sort_col[0], $dir); } public function entities(string $entities = ''): Builder diff --git a/app/Filters/DocumentFilters.php b/app/Filters/DocumentFilters.php index 73f9b4a0b2..4599021c08 100644 --- a/app/Filters/DocumentFilters.php +++ b/app/Filters/DocumentFilters.php @@ -12,6 +12,7 @@ namespace App\Filters; use App\Models\Company; +use App\Filters\QueryFilters; use Illuminate\Database\Eloquent\Builder; /** @@ -63,7 +64,9 @@ class DocumentFilters extends QueryFilters return $this->builder; } - return $this->builder->orderBy($sort_col[0], $sort_col[1]); + $dir = ($sort_col[1] == 'asc') ? 'asc' : 'desc'; + + return $this->builder->orderBy($sort_col[0], $dir); } diff --git a/app/Filters/ExpenseCategoryFilters.php b/app/Filters/ExpenseCategoryFilters.php index 6e8edaa0c3..bba89392e7 100644 --- a/app/Filters/ExpenseCategoryFilters.php +++ b/app/Filters/ExpenseCategoryFilters.php @@ -47,7 +47,7 @@ class ExpenseCategoryFilters extends QueryFilters if (!is_array($sort_col) || count($sort_col) != 2) { return $this->builder; } - + if (is_array($sort_col) && in_array($sort_col[1], ['asc', 'desc']) && in_array($sort_col[0], ['name'])) { return $this->builder->orderBy($sort_col[0], $sort_col[1]); } diff --git a/app/Filters/GroupSettingFilters.php b/app/Filters/GroupSettingFilters.php index 8123e6abda..9a1b175379 100644 --- a/app/Filters/GroupSettingFilters.php +++ b/app/Filters/GroupSettingFilters.php @@ -64,8 +64,10 @@ class GroupSettingFilters extends QueryFilters if (!is_array($sort_col) || count($sort_col) != 2) { return $this->builder; } + + $dir = ($sort_col[1] == 'asc') ? 'asc' : 'desc'; - return $this->builder->orderBy($sort_col[0], $sort_col[1]); + return $this->builder->orderBy($sort_col[0], $dir); } /** diff --git a/app/Filters/InvoiceFilters.php b/app/Filters/InvoiceFilters.php index df04af1d07..5e87280707 100644 --- a/app/Filters/InvoiceFilters.php +++ b/app/Filters/InvoiceFilters.php @@ -286,14 +286,16 @@ class InvoiceFilters extends QueryFilters return $this->builder; } + $dir = ($sort_col[1] == 'asc') ? 'asc' : 'desc'; + if ($sort_col[0] == 'client_id') { return $this->builder->orderBy(\App\Models\Client::select('name') - ->whereColumn('clients.id', 'invoices.client_id'), $sort_col[1]); + ->whereColumn('clients.id', 'invoices.client_id'), $dir); } - return $this->builder->orderBy($sort_col[0], $sort_col[1]); + return $this->builder->orderBy($sort_col[0], $dir); } /** diff --git a/app/Filters/ProjectFilters.php b/app/Filters/ProjectFilters.php index 653b440533..2da35693dc 100644 --- a/app/Filters/ProjectFilters.php +++ b/app/Filters/ProjectFilters.php @@ -69,9 +69,11 @@ class ProjectFilters extends QueryFilters return $this->builder; } - if (is_array($sort_col)) { + if (is_array($sort_col) && in_array($sort_col[1], ['asc','desc'])) { return $this->builder->orderBy($sort_col[0], $sort_col[1]); } + + return $this->builder; } /** diff --git a/app/Filters/PurchaseOrderFilters.php b/app/Filters/PurchaseOrderFilters.php index 0d5c124498..5ea22cdfbd 100644 --- a/app/Filters/PurchaseOrderFilters.php +++ b/app/Filters/PurchaseOrderFilters.php @@ -123,12 +123,14 @@ class PurchaseOrderFilters extends QueryFilters return $this->builder; } + $dir = ($sort_col[1] == 'asc') ? 'asc' : 'desc'; + if ($sort_col[0] == 'vendor_id') { return $this->builder->orderBy(\App\Models\Vendor::select('name') - ->whereColumn('vendors.id', 'purchase_orders.vendor_id'), $sort_col[1]); + ->whereColumn('vendors.id', 'purchase_orders.vendor_id'), $dir); } - return $this->builder->orderBy($sort_col[0], $sort_col[1]); + return $this->builder->orderBy($sort_col[0], $dir); } /** diff --git a/app/Filters/QuoteFilters.php b/app/Filters/QuoteFilters.php index c28d0450cb..42a30d63f8 100644 --- a/app/Filters/QuoteFilters.php +++ b/app/Filters/QuoteFilters.php @@ -146,10 +146,12 @@ class QuoteFilters extends QueryFilters return $this->builder; } + $dir = ($sort_col[1] == 'asc') ? 'asc' : 'desc'; + if($sort_col[0] == 'client_id') { return $this->builder->orderBy(\App\Models\Client::select('name') - ->whereColumn('clients.id', 'quotes.client_id'), $sort_col[1]); + ->whereColumn('clients.id', 'quotes.client_id'), $dir); } @@ -157,7 +159,7 @@ class QuoteFilters extends QueryFilters $sort_col[0] = 'due_date'; } - return $this->builder->orderBy($sort_col[0], $sort_col[1]); + return $this->builder->orderBy($sort_col[0], $dir); } /** diff --git a/app/Filters/RecurringExpenseFilters.php b/app/Filters/RecurringExpenseFilters.php index 35d2afd0c9..5342d98ec2 100644 --- a/app/Filters/RecurringExpenseFilters.php +++ b/app/Filters/RecurringExpenseFilters.php @@ -63,7 +63,9 @@ class RecurringExpenseFilters extends QueryFilters return $this->builder; } - return $this->builder->orderBy($sort_col[0], $sort_col[1]); + $dir = ($sort_col[1] == 'asc') ? 'asc' : 'desc'; + + return $this->builder->orderBy($sort_col[0], $dir); } /** diff --git a/app/Filters/RecurringQuoteFilters.php b/app/Filters/RecurringQuoteFilters.php index 2ac2a170d2..55ba0831c1 100644 --- a/app/Filters/RecurringQuoteFilters.php +++ b/app/Filters/RecurringQuoteFilters.php @@ -62,7 +62,9 @@ class RecurringQuoteFilters extends QueryFilters return $this->builder; } - return $this->builder->orderBy($sort_col[0], $sort_col[1]); + $dir = ($sort_col[1] == 'asc') ? 'asc' : 'desc'; + + return $this->builder->orderBy($sort_col[0], $dir); } /** diff --git a/app/Filters/SchedulerFilters.php b/app/Filters/SchedulerFilters.php index 8368b34be0..397db7b12f 100644 --- a/app/Filters/SchedulerFilters.php +++ b/app/Filters/SchedulerFilters.php @@ -50,7 +50,9 @@ class SchedulerFilters extends QueryFilters return $this->builder; } - return $this->builder->orderBy($sort_col[0], $sort_col[1]); + $dir = ($sort_col[1] == 'asc') ? 'asc' : 'desc'; + + return $this->builder->orderBy($sort_col[0], $dir); } /** diff --git a/app/Filters/SubscriptionFilters.php b/app/Filters/SubscriptionFilters.php index b32f692acf..ef75c60728 100644 --- a/app/Filters/SubscriptionFilters.php +++ b/app/Filters/SubscriptionFilters.php @@ -50,7 +50,9 @@ class SubscriptionFilters extends QueryFilters return $this->builder; } - return $this->builder->orderBy($sort_col[0], $sort_col[1]); + $dir = ($sort_col[1] == 'asc') ? 'asc' : 'desc'; + + return $this->builder->orderBy($sort_col[0], $dir); } /** diff --git a/app/Filters/SystemLogFilters.php b/app/Filters/SystemLogFilters.php index 62b63f8b76..2c735ac189 100644 --- a/app/Filters/SystemLogFilters.php +++ b/app/Filters/SystemLogFilters.php @@ -75,7 +75,9 @@ class SystemLogFilters extends QueryFilters return $this->builder; } - return $this->builder->orderBy($sort_col[0], $sort_col[1]); + $dir = ($sort_col[1] == 'asc') ? 'asc' : 'desc'; + + return $this->builder->orderBy($sort_col[0], $dir); } /** diff --git a/app/Filters/TaskFilters.php b/app/Filters/TaskFilters.php index d6db490b26..0e47e6953c 100644 --- a/app/Filters/TaskFilters.php +++ b/app/Filters/TaskFilters.php @@ -131,17 +131,19 @@ class TaskFilters extends QueryFilters return $this->builder; } + $dir = ($sort_col[1] == 'asc') ? 'asc' : 'desc'; + if ($sort_col[0] == 'client_id') { return $this->builder->orderBy(\App\Models\Client::select('name') - ->whereColumn('clients.id', 'tasks.client_id'), $sort_col[1]); + ->whereColumn('clients.id', 'tasks.client_id'), $dir); } if ($sort_col[0] == 'user_id') { return $this->builder->orderBy(\App\Models\User::select('first_name') - ->whereColumn('users.id', 'tasks.user_id'), $sort_col[1]); + ->whereColumn('users.id', 'tasks.user_id'), $dir); } - return $this->builder->orderBy($sort_col[0], $sort_col[1]); + return $this->builder->orderBy($sort_col[0], $dir); } public function task_status(string $value = ''): Builder diff --git a/app/Filters/TaskStatusFilters.php b/app/Filters/TaskStatusFilters.php index 2487a9f5a9..d8e97ba806 100644 --- a/app/Filters/TaskStatusFilters.php +++ b/app/Filters/TaskStatusFilters.php @@ -50,7 +50,9 @@ class TaskStatusFilters extends QueryFilters return $this->builder; } - return $this->builder->orderBy($sort_col[0], $sort_col[1]); + $dir = ($sort_col[1] == 'asc') ? 'asc' : 'desc'; + + return $this->builder->orderBy($sort_col[0], $dir); } /** diff --git a/app/Filters/TaxRateFilters.php b/app/Filters/TaxRateFilters.php index ada581887f..a43bc2b631 100644 --- a/app/Filters/TaxRateFilters.php +++ b/app/Filters/TaxRateFilters.php @@ -50,7 +50,9 @@ class TaxRateFilters extends QueryFilters return $this->builder; } - return $this->builder->orderBy($sort_col[0], $sort_col[1]); + $dir = ($sort_col[1] == 'asc') ? 'asc' : 'desc'; + + return $this->builder->orderBy($sort_col[0], $dir); } /** diff --git a/app/Filters/TokenFilters.php b/app/Filters/TokenFilters.php index 0093ac4f41..807016aaca 100644 --- a/app/Filters/TokenFilters.php +++ b/app/Filters/TokenFilters.php @@ -56,7 +56,9 @@ class TokenFilters extends QueryFilters return $this->builder; } - return $this->builder->orderBy($sort_col[0], $sort_col[1]); + $dir = ($sort_col[1] == 'asc') ? 'asc' : 'desc'; + + return $this->builder->orderBy($sort_col[0], $dir); } /** diff --git a/app/Filters/UserFilters.php b/app/Filters/UserFilters.php index 7034dd0cf4..87475f2563 100644 --- a/app/Filters/UserFilters.php +++ b/app/Filters/UserFilters.php @@ -54,7 +54,9 @@ class UserFilters extends QueryFilters return $this->builder; } - return $this->builder->orderBy($sort_col[0], $sort_col[1]); + $dir = ($sort_col[1] == 'asc') ? 'asc' : 'desc'; + + return $this->builder->orderBy($sort_col[0], $dir); } /** diff --git a/app/Filters/VendorFilters.php b/app/Filters/VendorFilters.php index 1f3adf6d4d..e1a8eedacf 100644 --- a/app/Filters/VendorFilters.php +++ b/app/Filters/VendorFilters.php @@ -69,7 +69,9 @@ class VendorFilters extends QueryFilters return $this->builder; } - return $this->builder->orderBy($sort_col[0], $sort_col[1]); + $dir = ($sort_col[1] == 'asc') ? 'asc' : 'desc'; + + return $this->builder->orderBy($sort_col[0], $dir); } /** diff --git a/app/Filters/WebhookFilters.php b/app/Filters/WebhookFilters.php index 1401b3ad1b..0619b22bfa 100644 --- a/app/Filters/WebhookFilters.php +++ b/app/Filters/WebhookFilters.php @@ -50,7 +50,9 @@ class WebhookFilters extends QueryFilters return $this->builder; } - return $this->builder->orderBy($sort_col[0], $sort_col[1]); + $dir = ($sort_col[1] == 'asc') ? 'asc' : 'desc'; + + return $this->builder->orderBy($sort_col[0], $dir); } /** From 8406f129808e0179f0fd27c7e77c9dcf1e78a994 Mon Sep 17 00:00:00 2001 From: David Bomba Date: Wed, 20 Dec 2023 16:55:33 +1100 Subject: [PATCH 07/10] Fixes for update client webhooks --- app/Console/Commands/TypeCheck.php | 4 +- app/Console/Kernel.php | 2 +- app/Jobs/Ninja/CompanySizeCheck.php | 29 +++++++-- composer.lock | 98 ++++++++++++++--------------- 4 files changed, 75 insertions(+), 58 deletions(-) diff --git a/app/Console/Commands/TypeCheck.php b/app/Console/Commands/TypeCheck.php index 7a57791eb4..5e8aff3754 100644 --- a/app/Console/Commands/TypeCheck.php +++ b/app/Console/Commands/TypeCheck.php @@ -100,7 +100,7 @@ class TypeCheck extends Command $entity_settings = $this->checkSettingType($client->settings); $entity_settings->md5 = md5(time()); $client->settings = $entity_settings; - $client->save(); + $client->saveQuietly(); } private function checkCompany($company) @@ -119,7 +119,7 @@ class TypeCheck extends Command $entity_settings = $this->checkSettingType($client->settings); $entity_settings->md5 = md5(time()); $client->settings = $entity_settings; - $client->save(); + $client->saveQuietly(); }); Company::query()->cursor()->each(function ($company) { diff --git a/app/Console/Kernel.php b/app/Console/Kernel.php index f67dc4af68..9d7067b6bd 100644 --- a/app/Console/Kernel.php +++ b/app/Console/Kernel.php @@ -99,7 +99,7 @@ class Kernel extends ConsoleKernel if (Ninja::isSelfHost()) { $schedule->call(function () { - Account::whereNotNull('id')->update(['is_scheduler_running' => true]); + Account::query()->whereNotNull('id')->update(['is_scheduler_running' => true]); })->everyFiveMinutes(); } diff --git a/app/Jobs/Ninja/CompanySizeCheck.php b/app/Jobs/Ninja/CompanySizeCheck.php index 2eeb238a2e..b1c0ca4449 100644 --- a/app/Jobs/Ninja/CompanySizeCheck.php +++ b/app/Jobs/Ninja/CompanySizeCheck.php @@ -53,11 +53,19 @@ class CompanySizeCheck implements ShouldQueue nlog("updating all client credit balances"); - Client::where('updated_at', '>', now()->subDay()) + Client::query() + ->where('updated_at', '>', now()->subDay()) ->cursor() ->each(function ($client) { - $client->credit_balance = $client->service()->getCreditBalance(); - $client->save(); + + $old_credit_balance = $client->credit_balance; + $new_credit_balance = $client->service()->getCreditBalance(); + + if(floatval($old_credit_balance) !== floatval($new_credit_balance)){ + $client->credit_balance = $client->service()->getCreditBalance(); + $client->saveQuietly(); + } + }); /* Ensures lower permissioned users return the correct dataset and refresh responses */ @@ -87,11 +95,20 @@ class CompanySizeCheck implements ShouldQueue nlog("updating all client credit balances"); - Client::where('updated_at', '>', now()->subDay()) + Client::query()->where('updated_at', '>', now()->subDay()) ->cursor() ->each(function ($client) { - $client->credit_balance = $client->service()->getCreditBalance(); - $client->save(); + + + $old_credit_balance = $client->credit_balance; + $new_credit_balance = $client->service()->getCreditBalance(); + + if(floatval($old_credit_balance) !== floatval($new_credit_balance)) { + $client->credit_balance = $client->service()->getCreditBalance(); + $client->saveQuietly(); + } + + }); Account::where('plan', 'enterprise') diff --git a/composer.lock b/composer.lock index 8939b22cea..7d2e2f9585 100644 --- a/composer.lock +++ b/composer.lock @@ -485,16 +485,16 @@ }, { "name": "aws/aws-sdk-php", - "version": "3.294.1", + "version": "3.294.3", "source": { "type": "git", "url": "https://github.com/aws/aws-sdk-php.git", - "reference": "63c720229a9c9cdedff6bac98d6e72be8cc241f1" + "reference": "05761093c61ca7a02c1b5ae9be279bf69360e060" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/aws/aws-sdk-php/zipball/63c720229a9c9cdedff6bac98d6e72be8cc241f1", - "reference": "63c720229a9c9cdedff6bac98d6e72be8cc241f1", + "url": "https://api.github.com/repos/aws/aws-sdk-php/zipball/05761093c61ca7a02c1b5ae9be279bf69360e060", + "reference": "05761093c61ca7a02c1b5ae9be279bf69360e060", "shasum": "" }, "require": { @@ -574,9 +574,9 @@ "support": { "forum": "https://forums.aws.amazon.com/forum.jspa?forumID=80", "issues": "https://github.com/aws/aws-sdk-php/issues", - "source": "https://github.com/aws/aws-sdk-php/tree/3.294.1" + "source": "https://github.com/aws/aws-sdk-php/tree/3.294.3" }, - "time": "2023-12-15T19:25:52+00:00" + "time": "2023-12-19T19:07:14+00:00" }, { "name": "bacon/bacon-qr-code", @@ -1052,16 +1052,16 @@ }, { "name": "composer/ca-bundle", - "version": "1.3.7", + "version": "1.4.0", "source": { "type": "git", "url": "https://github.com/composer/ca-bundle.git", - "reference": "76e46335014860eec1aa5a724799a00a2e47cc85" + "reference": "b66d11b7479109ab547f9405b97205640b17d385" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/composer/ca-bundle/zipball/76e46335014860eec1aa5a724799a00a2e47cc85", - "reference": "76e46335014860eec1aa5a724799a00a2e47cc85", + "url": "https://api.github.com/repos/composer/ca-bundle/zipball/b66d11b7479109ab547f9405b97205640b17d385", + "reference": "b66d11b7479109ab547f9405b97205640b17d385", "shasum": "" }, "require": { @@ -1073,7 +1073,7 @@ "phpstan/phpstan": "^0.12.55", "psr/log": "^1.0", "symfony/phpunit-bridge": "^4.2 || ^5", - "symfony/process": "^2.5 || ^3.0 || ^4.0 || ^5.0 || ^6.0" + "symfony/process": "^2.5 || ^3.0 || ^4.0 || ^5.0 || ^6.0 || ^7.0" }, "type": "library", "extra": { @@ -1108,7 +1108,7 @@ "support": { "irc": "irc://irc.freenode.org/composer", "issues": "https://github.com/composer/ca-bundle/issues", - "source": "https://github.com/composer/ca-bundle/tree/1.3.7" + "source": "https://github.com/composer/ca-bundle/tree/1.4.0" }, "funding": [ { @@ -1124,7 +1124,7 @@ "type": "tidelift" } ], - "time": "2023-08-30T09:31:38+00:00" + "time": "2023-12-18T12:05:55+00:00" }, { "name": "dasprid/enum", @@ -2039,16 +2039,16 @@ }, { "name": "endroid/qr-code", - "version": "5.0.2", + "version": "5.0.3", "source": { "type": "git", "url": "https://github.com/endroid/qr-code.git", - "reference": "e58d34fa0b86a62696144baba9d80ee98845f957" + "reference": "c4c864a401da6afa763dfef887b131bfcc78b535" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/endroid/qr-code/zipball/e58d34fa0b86a62696144baba9d80ee98845f957", - "reference": "e58d34fa0b86a62696144baba9d80ee98845f957", + "url": "https://api.github.com/repos/endroid/qr-code/zipball/c4c864a401da6afa763dfef887b131bfcc78b535", + "reference": "c4c864a401da6afa763dfef887b131bfcc78b535", "shasum": "" }, "require": { @@ -2059,7 +2059,7 @@ "khanamiryan/qrcode-detector-decoder": "^1.0.6" }, "require-dev": { - "endroid/quality": "dev-master", + "endroid/quality": "dev-main", "ext-gd": "*", "khanamiryan/qrcode-detector-decoder": "^1.0.4||^2.0.2", "setasign/fpdf": "^1.8.2" @@ -2073,7 +2073,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "5.x-dev" + "dev-main": "5.x-dev" } }, "autoload": { @@ -2102,7 +2102,7 @@ ], "support": { "issues": "https://github.com/endroid/qr-code/issues", - "source": "https://github.com/endroid/qr-code/tree/5.0.2" + "source": "https://github.com/endroid/qr-code/tree/5.0.3" }, "funding": [ { @@ -2110,7 +2110,7 @@ "type": "github" } ], - "time": "2023-10-04T22:55:54+00:00" + "time": "2023-12-19T23:41:52+00:00" }, { "name": "eway/eway-rapid-php", @@ -2617,16 +2617,16 @@ }, { "name": "google/apiclient-services", - "version": "v0.327.0", + "version": "v0.328.0", "source": { "type": "git", "url": "https://github.com/googleapis/google-api-php-client-services.git", - "reference": "51a11d4ff70dd9f60334525e71bf4cf592e6d282" + "reference": "211ba786d30a4ab21e012d2b7dbefc49b4fc6a3d" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/googleapis/google-api-php-client-services/zipball/51a11d4ff70dd9f60334525e71bf4cf592e6d282", - "reference": "51a11d4ff70dd9f60334525e71bf4cf592e6d282", + "url": "https://api.github.com/repos/googleapis/google-api-php-client-services/zipball/211ba786d30a4ab21e012d2b7dbefc49b4fc6a3d", + "reference": "211ba786d30a4ab21e012d2b7dbefc49b4fc6a3d", "shasum": "" }, "require": { @@ -2655,9 +2655,9 @@ ], "support": { "issues": "https://github.com/googleapis/google-api-php-client-services/issues", - "source": "https://github.com/googleapis/google-api-php-client-services/tree/v0.327.0" + "source": "https://github.com/googleapis/google-api-php-client-services/tree/v0.328.0" }, - "time": "2023-12-11T00:52:16+00:00" + "time": "2023-12-18T01:00:18+00:00" }, { "name": "google/auth", @@ -4366,16 +4366,16 @@ }, { "name": "laravel/framework", - "version": "v10.37.3", + "version": "v10.38.0", "source": { "type": "git", "url": "https://github.com/laravel/framework.git", - "reference": "996375dd61f8c6e4ac262b57ed485655d71fcbdc" + "reference": "531732a17e4d0fa4fc4fb987a72abbdb93537d3a" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/laravel/framework/zipball/996375dd61f8c6e4ac262b57ed485655d71fcbdc", - "reference": "996375dd61f8c6e4ac262b57ed485655d71fcbdc", + "url": "https://api.github.com/repos/laravel/framework/zipball/531732a17e4d0fa4fc4fb987a72abbdb93537d3a", + "reference": "531732a17e4d0fa4fc4fb987a72abbdb93537d3a", "shasum": "" }, "require": { @@ -4564,7 +4564,7 @@ "issues": "https://github.com/laravel/framework/issues", "source": "https://github.com/laravel/framework" }, - "time": "2023-12-13T20:10:58+00:00" + "time": "2023-12-19T14:59:00+00:00" }, { "name": "laravel/prompts", @@ -4885,16 +4885,16 @@ }, { "name": "laravel/ui", - "version": "v4.2.3", + "version": "v4.3.0", "source": { "type": "git", "url": "https://github.com/laravel/ui.git", - "reference": "eb532ea096ca1c0298c87c19233daf011fda743a" + "reference": "d166e09cdcb2e23836f694774cba77a32edb6007" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/laravel/ui/zipball/eb532ea096ca1c0298c87c19233daf011fda743a", - "reference": "eb532ea096ca1c0298c87c19233daf011fda743a", + "url": "https://api.github.com/repos/laravel/ui/zipball/d166e09cdcb2e23836f694774cba77a32edb6007", + "reference": "d166e09cdcb2e23836f694774cba77a32edb6007", "shasum": "" }, "require": { @@ -4941,9 +4941,9 @@ "ui" ], "support": { - "source": "https://github.com/laravel/ui/tree/v4.2.3" + "source": "https://github.com/laravel/ui/tree/v4.3.0" }, - "time": "2023-11-23T14:44:22+00:00" + "time": "2023-12-19T14:46:09+00:00" }, { "name": "lcobucci/clock", @@ -6156,16 +6156,16 @@ }, { "name": "mollie/mollie-api-php", - "version": "v2.63.0", + "version": "v2.64.0", "source": { "type": "git", "url": "https://github.com/mollie/mollie-api-php.git", - "reference": "642f1b87624bd1535cd198134113e14bc01ba245" + "reference": "b54e0b05b98e15233d89724933c42c249d4b13d4" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/mollie/mollie-api-php/zipball/642f1b87624bd1535cd198134113e14bc01ba245", - "reference": "642f1b87624bd1535cd198134113e14bc01ba245", + "url": "https://api.github.com/repos/mollie/mollie-api-php/zipball/b54e0b05b98e15233d89724933c42c249d4b13d4", + "reference": "b54e0b05b98e15233d89724933c42c249d4b13d4", "shasum": "" }, "require": { @@ -6242,9 +6242,9 @@ ], "support": { "issues": "https://github.com/mollie/mollie-api-php/issues", - "source": "https://github.com/mollie/mollie-api-php/tree/v2.63.0" + "source": "https://github.com/mollie/mollie-api-php/tree/v2.64.0" }, - "time": "2023-11-06T09:20:50+00:00" + "time": "2023-12-19T16:06:39+00:00" }, { "name": "moneyphp/money", @@ -9434,16 +9434,16 @@ }, { "name": "razorpay/razorpay", - "version": "2.8.7", + "version": "2.9.0", "source": { "type": "git", "url": "https://github.com/razorpay/razorpay-php.git", - "reference": "2180c8c3c39678623f5cb8f639c39a706de14c44" + "reference": "a3d7c2bcb416091edd6a76eb5a7600eaf00ac837" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/razorpay/razorpay-php/zipball/2180c8c3c39678623f5cb8f639c39a706de14c44", - "reference": "2180c8c3c39678623f5cb8f639c39a706de14c44", + "url": "https://api.github.com/repos/razorpay/razorpay-php/zipball/a3d7c2bcb416091edd6a76eb5a7600eaf00ac837", + "reference": "a3d7c2bcb416091edd6a76eb5a7600eaf00ac837", "shasum": "" }, "require": { @@ -9495,7 +9495,7 @@ "issues": "https://github.com/Razorpay/razorpay-php/issues", "source": "https://github.com/Razorpay/razorpay-php" }, - "time": "2023-09-11T08:31:26+00:00" + "time": "2023-12-18T04:19:46+00:00" }, { "name": "rmccue/requests", From fb6fd8b0844ff4265f9c905adeefe74d92ec2f2f Mon Sep 17 00:00:00 2001 From: David Bomba Date: Wed, 20 Dec 2023 19:53:03 +1100 Subject: [PATCH 08/10] Add helpers for paid plans --- VERSION.txt | 2 +- app/Models/Account.php | 27 +++++++++++++++++++++++++++ config/ninja.php | 4 ++-- 3 files changed, 30 insertions(+), 3 deletions(-) diff --git a/VERSION.txt b/VERSION.txt index 432493c23c..f7db320c06 100644 --- a/VERSION.txt +++ b/VERSION.txt @@ -1 +1 @@ -5.7.62 \ No newline at end of file +5.7.63 \ No newline at end of file diff --git a/app/Models/Account.php b/app/Models/Account.php index 439c42d80c..81522d60be 100644 --- a/app/Models/Account.php +++ b/app/Models/Account.php @@ -330,6 +330,33 @@ class Account extends BaseModel return $this->plan == 'enterprise'; } + public function isEnterprisePaidClient(): bool + { + if (! Ninja::isNinja()) { + return false; + } + + return $this->isEnterpriseClient() && $this->isPaid(); + } + + public function isProClient(): bool + { + if (! Ninja::isNinja()) { + return false; + } + + return $this->plan == 'pro'; + } + + public function isProPaidClient(): bool + { + if (! Ninja::isNinja()) { + return false; + } + + return $this->isProClient() && $this->isPaid(); + } + public function isTrial(): bool { if (! Ninja::isNinja()) { diff --git a/config/ninja.php b/config/ninja.php index db2b42e4ae..aade77cb0f 100644 --- a/config/ninja.php +++ b/config/ninja.php @@ -17,8 +17,8 @@ return [ 'require_https' => env('REQUIRE_HTTPS', true), 'app_url' => rtrim(env('APP_URL', ''), '/'), 'app_domain' => env('APP_DOMAIN', 'invoicing.co'), - 'app_version' => env('APP_VERSION', '5.7.62'), - 'app_tag' => env('APP_TAG', '5.7.62'), + 'app_version' => env('APP_VERSION', '5.7.63'), + 'app_tag' => env('APP_TAG', '5.7.63'), 'minimum_client_version' => '5.0.16', 'terms_version' => '1.0.1', 'api_secret' => env('API_SECRET', false), From b72cad404e2ac12ecbc37d05bd34abdc11b8072a Mon Sep 17 00:00:00 2001 From: David Bomba Date: Wed, 20 Dec 2023 20:08:18 +1100 Subject: [PATCH 09/10] Updated lang --- lang/ar/texts.php | 67 ++++---- lang/ca/texts.php | 19 ++- lang/da/texts.php | 3 +- lang/es/texts.php | 67 ++++---- lang/es_ES/texts.php | 29 ++-- lang/fr/texts.php | 67 ++++---- lang/fr_CH/texts.php | 7 +- lang/he/texts.php | 379 ++++++++++++++++++++--------------------- lang/hu/texts.php | 263 ++++++++++++++--------------- lang/it/texts.php | 381 ++++++++++++++++++++--------------------- lang/km_KH/texts.php | 381 ++++++++++++++++++++--------------------- lang/nl/texts.php | 315 +++++++++++++++++----------------- lang/pt_BR/texts.php | 141 ++++++++-------- lang/pt_PT/texts.php | 127 +++++++------- lang/sk/texts.php | 391 ++++++++++++++++++++++--------------------- 15 files changed, 1326 insertions(+), 1311 deletions(-) diff --git a/lang/ar/texts.php b/lang/ar/texts.php index 09fa6e5760..aeee277092 100644 --- a/lang/ar/texts.php +++ b/lang/ar/texts.php @@ -1908,7 +1908,7 @@ $lang = array( 'require_quote_signature_help' => 'مطالبة العميل بتقديم توقيعه.', 'i_agree' => 'أنا أوافق على الشروط', 'sign_here' => 'من فضلك وقع هنا:', - 'sign_here_ux_tip' => 'Use the mouse or your touchpad to trace your signature.', + 'sign_here_ux_tip' => 'استخدم الماوس أو لوحة اللمس لتتبع توقيعك.', 'authorization' => 'تفويض', 'signed' => 'وقعت', @@ -3347,7 +3347,7 @@ $lang = array( 'credit_number_counter' => 'عداد رقم الائتمان', 'reset_counter_date' => 'إعادة تعيين تاريخ العداد', 'counter_padding' => 'الحشو العداد', - 'shared_invoice_quote_counter' => 'Share Invoice/Quote Counter', + 'shared_invoice_quote_counter' => 'مشاركة الفاتورة/عداد الأسعار', 'default_tax_name_1' => 'الاسم الضريبي الافتراضي 1', 'default_tax_rate_1' => 'معدل الضريبة الافتراضي 1', 'default_tax_name_2' => 'الاسم الضريبي الافتراضي 2', @@ -4236,7 +4236,7 @@ $lang = array( 'direct_debit' => 'الخصم المباشر', 'clone_to_expense' => 'استنساخ للمصروفات', 'checkout' => 'الدفع', - 'acss' => 'ACSS Debit', + 'acss' => 'الخصم ACSS', 'invalid_amount' => 'مبلغ غير صحيح. عدد / القيم العشرية فقط.', 'client_payment_failure_body' => 'فشل دفع الفاتورة :invoice للمبلغ :amount.', 'browser_pay' => 'جوجل باي ، آبل باي ، ميكروسوفت باي', @@ -5165,36 +5165,37 @@ $lang = array( 'payment_receipt' => 'إيصال الدفع رقم :number', 'load_template_description' => 'سيتم تطبيق القالب على ما يلي:', 'run_template' => 'تشغيل القالب', - 'statement_design' => 'Statement Design', - 'delivery_note_design' => 'Delivery Note Design', - 'payment_receipt_design' => 'Payment Receipt Design', - 'payment_refund_design' => 'Payment Refund Design', - 'task_extension_banner' => 'Add the Chrome extension to manage your tasks', - 'watch_video' => 'Watch Video', - 'view_extension' => 'View Extension', - 'reactivate_email' => 'Reactivate Email', - 'email_reactivated' => 'Successfully reactivated email', - 'template_help' => 'Enable using the design as a template', - 'quarter' => 'Quarter', - 'item_description' => 'Item Description', - 'task_item' => 'Task Item', - 'record_state' => 'Record State', - 'save_files_to_this_folder' => 'Save files to this folder', - 'downloads_folder' => 'Downloads Folder', - 'total_invoiced_quotes' => 'Invoiced Quotes', - 'total_invoice_paid_quotes' => 'Invoice Paid Quotes', - 'downloads_folder_does_not_exist' => 'The downloads folder does not exist :value', - 'user_logged_in_notification' => 'User Logged in Notification', - 'user_logged_in_notification_help' => 'Send an email when logging in from a new location', - 'payment_email_all_contacts' => 'Payment Email To All Contacts', - 'payment_email_all_contacts_help' => 'Sends the payment email to all contacts when enabled', - 'add_line' => 'Add Line', - 'activity_139' => 'Expense :expense notification sent to :contact', - 'vendor_notification_subject' => 'Confirmation of payment :amount sent to :vendor', - 'vendor_notification_body' => 'Payment processed for :amount dated :payment_date.
[Transaction Reference: :transaction_reference]', - 'receipt' => 'Receipt', - 'charges' => 'Charges', - 'email_report' => 'Email Report', + 'statement_design' => 'تصميم البيان', + 'delivery_note_design' => 'تصميم مذكرة التسليم', + 'payment_receipt_design' => 'تصميم إيصال الدفع', + 'payment_refund_design' => 'تصميم استرداد الدفع', + 'task_extension_banner' => 'اضافة ملحق Chrome لإدارة مهامك', + 'watch_video' => 'شاهد الفيديو', + 'view_extension' => 'عرض الامتداد', + 'reactivate_email' => 'إعادة تنشيط البريد الإلكتروني', + 'email_reactivated' => 'تم إعادة تنشيط البريد الإلكتروني بنجاح', + 'template_help' => 'تمكين استخدام التصميم كقالب', + 'quarter' => 'ربع', + 'item_description' => 'وصف السلعة', + 'task_item' => 'عنصر المهمة', + 'record_state' => 'حالة السجل', + 'save_files_to_this_folder' => 'حفظ الملفات في هذا المجلد', + 'downloads_folder' => 'مجلد التنزيلات', + 'total_invoiced_quotes' => 'عروض الأسعار المفوترة', + 'total_invoice_paid_quotes' => 'اقتباسات الفاتورة المدفوعة', + 'downloads_folder_does_not_exist' => 'مجلد التنزيلات غير موجود :value', + 'user_logged_in_notification' => 'إشعار تسجيل دخول المستخدم', + 'user_logged_in_notification_help' => 'إرسال بريد إلكتروني عند تسجيل الدخول من موقع جديد', + 'payment_email_all_contacts' => 'البريد الإلكتروني للدفع لجميع جهات الاتصال', + 'payment_email_all_contacts_help' => 'يرسل بريد الدفع الإلكتروني إلى جميع جهات الاتصال عند تمكينه', + 'add_line' => 'اضافة لاين', + 'activity_139' => 'تم إرسال إشعار النفقات :expense إلى :contact', + 'vendor_notification_subject' => 'تم إرسال تأكيد الدفع :amount إلى :vendor', + 'vendor_notification_body' => 'تمت معالجة الدفعة لـ :amount بتاريخ :payment _date.
[مرجع المعاملة: :transaction_reference ]', + 'receipt' => 'إيصال', + 'charges' => 'رسوم', + 'email_report' => 'تقرير البريد الإلكتروني', + 'payment_type_Pay Later' => 'ادفع لاحقا', ); return $lang; diff --git a/lang/ca/texts.php b/lang/ca/texts.php index 6c78fb0cff..d3583128f9 100644 --- a/lang/ca/texts.php +++ b/lang/ca/texts.php @@ -658,7 +658,7 @@ $lang = array( 'primary_user' => 'Primary User', 'help' => 'Help', 'playground' => 'playground', - 'support_forum' => 'Support Forums', + 'support_forum' => 'Fòrums de suport', 'invoice_due_date' => 'Data de venciment', 'quote_due_date' => 'Valid Until', 'valid_until' => 'Valid Until', @@ -752,7 +752,7 @@ $lang = array( 'activity_7' => ':contact viewed invoice :invoice for :client', 'activity_8' => ':user archived invoice :invoice', 'activity_9' => ':user deleted invoice :invoice', - 'activity_10' => ':user entered payment :payment for :payment_amount on invoice :invoice for :client', + 'activity_10' => ':user ha introduït el pagament :payment per a :payment _import a la factura :invoice per a :client', 'activity_11' => ':user updated payment :payment', 'activity_12' => ':user archived payment :payment', 'activity_13' => ':user deleted payment :payment', @@ -1148,7 +1148,7 @@ $lang = array( 'plan_status' => 'Plan Status', 'plan_upgrade' => 'Upgrade', - 'plan_change' => 'Manage Plan', + 'plan_change' => 'Gestionar el Pla', 'pending_change_to' => 'Changes To', 'plan_changes_to' => ':plan on :date', 'plan_term_changes_to' => ':plan (:term) on :date', @@ -1933,7 +1933,7 @@ $lang = array( 'require_quote_signature_help' => 'Require client to provide their signature.', 'i_agree' => 'I Agree To The Terms', 'sign_here' => 'Please sign here:', - 'sign_here_ux_tip' => 'Use the mouse or your touchpad to trace your signature.', + 'sign_here_ux_tip' => 'Utilitzeu el ratolí o el touchpad per rastrejar la vostra signatura.', 'authorization' => 'Authorization', 'signed' => 'Signed', @@ -1996,7 +1996,7 @@ $lang = array( 'current_quarter' => 'Current Quarter', 'last_quarter' => 'Last Quarter', 'last_year' => 'Last Year', - 'all_time' => 'All Time', + 'all_time' => 'Tot el temps', 'custom_range' => 'Custom Range', 'url' => 'URL', 'debug' => 'Debug', @@ -2256,7 +2256,7 @@ $lang = array( 'restore_recurring_expense' => 'Restore Recurring Expense', 'restored_recurring_expense' => 'Successfully restored recurring expense', 'delete_recurring_expense' => 'Delete Recurring Expense', - 'deleted_recurring_expense' => 'Successfully deleted recurring expense', + 'deleted_recurring_expense' => 'La despesa recurrent s'ha suprimit correctament', 'view_recurring_expense' => 'View Recurring Expense', 'taxes_and_fees' => 'Taxes and fees', 'import_failed' => 'Import Failed', @@ -2400,9 +2400,9 @@ $lang = array( 'currency_cuban_peso' => 'Cuban Peso', 'currency_bz_dollar' => 'Dòlar BZ', - 'currency_libyan_dinar' => 'Libyan Dinar', - 'currency_silver_troy_ounce' => 'Silver Troy Ounce', - 'currency_gold_troy_ounce' => 'Gold Troy Ounce', + 'currency_libyan_dinar' => 'Dinar libi', + 'currency_silver_troy_ounce' => 'Unça Troia de plata', + 'currency_gold_troy_ounce' => 'Unça Troia d'or', 'currency_nicaraguan_córdoba' => 'Nicaraguan Córdoba', 'currency_malagasy_ariary' => 'Malagasy ariary', "currency_tongan_pa_anga" => "Tongan Pa'anga", @@ -5220,6 +5220,7 @@ $lang = array( 'receipt' => 'Receipt', 'charges' => 'Charges', 'email_report' => 'Email Report', + 'payment_type_Pay Later' => 'Pay Later', ); return $lang; diff --git a/lang/da/texts.php b/lang/da/texts.php index 518f6c488b..6d5e1578a6 100644 --- a/lang/da/texts.php +++ b/lang/da/texts.php @@ -4690,7 +4690,7 @@ $lang = array( 'period' => 'Periode', 'fields_per_row' => 'Felter pr. række', 'total_active_invoices' => 'Aktiv Fakturaer', - 'total_outstanding_invoices' => 'Fremragende Fakturaer', + 'total_outstanding_invoices' => 'Udestående Fakturaer', 'total_completed_payments' => 'Gennemført Betalinger', 'total_refunded_payments' => 'Refunderet Betalinger', 'total_active_quotes' => 'Aktive citater', @@ -5219,6 +5219,7 @@ $lang = array( 'receipt' => 'Receipt', 'charges' => 'Charges', 'email_report' => 'Email Report', + 'payment_type_Pay Later' => 'Pay Later', ); return $lang; diff --git a/lang/es/texts.php b/lang/es/texts.php index 488be65da0..32edeb4937 100644 --- a/lang/es/texts.php +++ b/lang/es/texts.php @@ -1931,7 +1931,7 @@ $lang = array( 'require_quote_signature_help' => 'Requerir que el cliente provea su firma.', 'i_agree' => 'Estoy de Acuerdo con los Términos', 'sign_here' => 'Por favor firme aquí:', - 'sign_here_ux_tip' => 'Use the mouse or your touchpad to trace your signature.', + 'sign_here_ux_tip' => 'Utilice el mouse o el panel táctil para rastrear su firma.', 'authorization' => 'Autorización', 'signed' => 'Firmado', @@ -3370,7 +3370,7 @@ $lang = array( 'credit_number_counter' => 'Contador de números de crédito', 'reset_counter_date' => 'Restablecer fecha del contador', 'counter_padding' => 'Acolchado de mostrador', - 'shared_invoice_quote_counter' => 'Share Invoice/Quote Counter', + 'shared_invoice_quote_counter' => 'Compartir contador de facturas/cotizaciones', 'default_tax_name_1' => 'Nombre fiscal predeterminado 1', 'default_tax_rate_1' => 'Tasa impositiva predeterminada 1', 'default_tax_name_2' => 'Nombre fiscal predeterminado 2', @@ -4259,7 +4259,7 @@ $lang = array( 'direct_debit' => 'Débito directo', 'clone_to_expense' => 'Clonar a Gastos', 'checkout' => 'Verificar', - 'acss' => 'ACSS Debit', + 'acss' => 'Débito ACSS', 'invalid_amount' => 'Monto invalido. Sólo valores numéricos/decimales.', 'client_payment_failure_body' => 'Falló el pago de la factura :invoice por el monto :amount.', 'browser_pay' => 'Pago de Google, Pago de Apple, Pago de Microsoft', @@ -5188,36 +5188,37 @@ $lang = array( 'payment_receipt' => 'Recibo de pago # :number', 'load_template_description' => 'La plantilla se aplicará a lo siguiente:', 'run_template' => 'Ejecutar plantilla', - 'statement_design' => 'Statement Design', - 'delivery_note_design' => 'Delivery Note Design', - 'payment_receipt_design' => 'Payment Receipt Design', - 'payment_refund_design' => 'Payment Refund Design', - 'task_extension_banner' => 'Add the Chrome extension to manage your tasks', - 'watch_video' => 'Watch Video', - 'view_extension' => 'View Extension', - 'reactivate_email' => 'Reactivate Email', - 'email_reactivated' => 'Successfully reactivated email', - 'template_help' => 'Enable using the design as a template', - 'quarter' => 'Quarter', - 'item_description' => 'Item Description', - 'task_item' => 'Task Item', - 'record_state' => 'Record State', - 'save_files_to_this_folder' => 'Save files to this folder', - 'downloads_folder' => 'Downloads Folder', - 'total_invoiced_quotes' => 'Invoiced Quotes', - 'total_invoice_paid_quotes' => 'Invoice Paid Quotes', - 'downloads_folder_does_not_exist' => 'The downloads folder does not exist :value', - 'user_logged_in_notification' => 'User Logged in Notification', - 'user_logged_in_notification_help' => 'Send an email when logging in from a new location', - 'payment_email_all_contacts' => 'Payment Email To All Contacts', - 'payment_email_all_contacts_help' => 'Sends the payment email to all contacts when enabled', - 'add_line' => 'Add Line', - 'activity_139' => 'Expense :expense notification sent to :contact', - 'vendor_notification_subject' => 'Confirmation of payment :amount sent to :vendor', - 'vendor_notification_body' => 'Payment processed for :amount dated :payment_date.
[Transaction Reference: :transaction_reference]', - 'receipt' => 'Receipt', - 'charges' => 'Charges', - 'email_report' => 'Email Report', + 'statement_design' => 'Diseño de declaración', + 'delivery_note_design' => 'Diseño de albarán de entrega', + 'payment_receipt_design' => 'Diseño de recibo de pago', + 'payment_refund_design' => 'Diseño de reembolso de pago', + 'task_extension_banner' => 'Añade la extensión de Chrome para gestionar tus tareas', + 'watch_video' => 'Ver video', + 'view_extension' => 'Ver extensión', + 'reactivate_email' => 'Reactivar correo electrónico', + 'email_reactivated' => 'Correo electrónico reactivado exitosamente', + 'template_help' => 'Habilitar el uso del diseño como plantilla.', + 'quarter' => 'Cuarto', + 'item_description' => 'Descripción del Artículo', + 'task_item' => 'Elemento de tarea', + 'record_state' => 'Estado de registro', + 'save_files_to_this_folder' => 'Guardar archivos en esta carpeta', + 'downloads_folder' => 'Carpeta de descargas', + 'total_invoiced_quotes' => 'Cotizaciones facturadas', + 'total_invoice_paid_quotes' => 'Cotizaciones pagadas con factura', + 'downloads_folder_does_not_exist' => 'La carpeta de descargas no existe :value', + 'user_logged_in_notification' => 'Notificación de usuario registrado', + 'user_logged_in_notification_help' => 'Enviar un correo electrónico al iniciar sesión desde una nueva ubicación', + 'payment_email_all_contacts' => 'Correo electrónico de pago a todos los contactos', + 'payment_email_all_contacts_help' => 'Envía el correo electrónico de pago a todos los contactos cuando está habilitado', + 'add_line' => 'Añadir línea', + 'activity_139' => 'Notificación de gastos :expense enviada a :contact', + 'vendor_notification_subject' => 'Confirmación de pago :amount enviada a :vendor', + 'vendor_notification_body' => 'Pago procesado para :amount con fecha :payment _date.
[Referencia de transacción: :transaction_reference ]', + 'receipt' => 'Recibo', + 'charges' => 'Cargos', + 'email_report' => 'Informe por correo electrónico', + 'payment_type_Pay Later' => 'Paga después', ); return $lang; diff --git a/lang/es_ES/texts.php b/lang/es_ES/texts.php index 83f74431e6..7abc12d911 100644 --- a/lang/es_ES/texts.php +++ b/lang/es_ES/texts.php @@ -1430,7 +1430,7 @@ Una vez que tenga los montos, vuelva a esta página de métodos de pago y haga c 'payment_type_Swish' => 'Swish', 'payment_type_Alipay' => 'Alipay', 'payment_type_Sofort' => 'Sofort', - 'payment_type_SEPA' => 'SEPA Direct Debit', + 'payment_type_SEPA' => 'Adeudo Directo SEPA', 'payment_type_Bitcoin' => 'Bitcoin', 'payment_type_GoCardless' => 'GoCardless', 'payment_type_Zelle' => 'Zelle', @@ -1923,7 +1923,7 @@ Una vez que tenga los montos, vuelva a esta página de métodos de pago y haga c 'require_quote_signature_help' => 'Requerir que el cliente proporcione su firma.', 'i_agree' => 'Estoy de acuerdo con los Términos', 'sign_here' => 'Por favor firme aquí:', - 'sign_here_ux_tip' => 'Use the mouse or your touchpad to trace your signature.', + 'sign_here_ux_tip' => 'Utilice el mouse o el panel táctil para hacer su firma.', 'authorization' => 'Autorización', 'signed' => 'Frimado', @@ -2448,7 +2448,7 @@ Una vez que tenga los montos, vuelva a esta página de métodos de pago y haga c 'alipay' => 'Alipay', 'sofort' => 'Sofort', - 'sepa' => 'SEPA Direct Debit', + 'sepa' => 'Adeudo Directo SEPA', 'name_without_special_characters' => 'Ingrese un nombre solo con las letras a-z y espacios en blanco', 'enable_alipay' => 'Aceptar Alipay', 'enable_sofort' => 'Aceptar transferencias bancarias de la UE', @@ -3362,7 +3362,7 @@ Una vez que tenga los montos, vuelva a esta página de métodos de pago y haga c 'credit_number_counter' => 'Contador del Número de Crédito', 'reset_counter_date' => 'Resetear Fecha del Contador', 'counter_padding' => 'Relleno del Contador', - 'shared_invoice_quote_counter' => 'Share Invoice/Quote Counter', + 'shared_invoice_quote_counter' => 'Compartir contador de facturas/presupuestos', 'default_tax_name_1' => 'Nombre de Impuesto por Defecto 1', 'default_tax_rate_1' => 'Tasa de Impuesto por Defecto 1', 'default_tax_name_2' => 'Nombre de Impuesto por Defecto 2', @@ -4242,9 +4242,9 @@ Una vez que tenga los montos, vuelva a esta página de métodos de pago y haga c 'giropay_law' => 'Al ingresar su información de Cliente (como nombre, código de clasificación y número de cuenta), usted (el Cliente) acepta que esta información se proporciona voluntariamente.', 'klarna' => 'Klarna', 'eps' => 'EPS', - 'becs' => 'Débito directo BECS', - 'bacs' => 'Débito Directo BACS', - 'payment_type_BACS' => 'Débito Directo BACS', + 'becs' => 'Adeudo directo BECS', + 'bacs' => 'Adeudo Directo BACS', + 'payment_type_BACS' => 'Adeudo Directo BACS', 'missing_payment_method' => 'Antes de intentar pagar, agregue un método de pago, ', 'becs_mandate' => 'Al proporcionar los detalles de su cuenta bancaria, acepta esta Solicitud de débito directo y el acuerdo de servicio de solicitud de débito directo, y autoriza a Stripe Payments Australia Pty Ltd ACN 160 180 343 Número de identificación de usuario de débito directo 507156 (“Stripe”) para debitar su cuenta a través de Bulk Electronic Clearing System (BECS) en nombre de :company (el “Comerciante”) por cualquier importe que el Comerciante le comunique por separado. Usted certifica que es titular de una cuenta o un signatario autorizado de la cuenta que se menciona arriba.', 'you_need_to_accept_the_terms_before_proceeding' => 'Debe aceptar los términos antes de continuar.', @@ -5204,13 +5204,14 @@ De lo contrario, este campo deberá dejarse en blanco.', 'user_logged_in_notification_help' => 'Enviar un correo electrónico al iniciar sesión desde una nueva ubicación', 'payment_email_all_contacts' => 'Correo electrónico de pago a todos los contactos', 'payment_email_all_contacts_help' => 'Envía el correo electrónico de pago a todos los contactos cuando está habilitado', - 'add_line' => 'Add Line', - 'activity_139' => 'Expense :expense notification sent to :contact', - 'vendor_notification_subject' => 'Confirmation of payment :amount sent to :vendor', - 'vendor_notification_body' => 'Payment processed for :amount dated :payment_date.
[Transaction Reference: :transaction_reference]', - 'receipt' => 'Receipt', - 'charges' => 'Charges', - 'email_report' => 'Email Report', + 'add_line' => 'Añadir línea', + 'activity_139' => 'Notificación de gastos :expense enviada a :contact', + 'vendor_notification_subject' => 'Confirmación de pago :amount enviada a :vendor', + 'vendor_notification_body' => 'Procesado el pago de :amount con fecha :payment_date.
[Referencia de transacción: :transaction_reference]', + 'receipt' => 'Recibo', + 'charges' => 'Cargos', + 'email_report' => 'Informe por correo electrónico', + 'payment_type_Pay Later' => 'Paga después', ); return $lang; diff --git a/lang/fr/texts.php b/lang/fr/texts.php index 6793354455..f8178cea50 100644 --- a/lang/fr/texts.php +++ b/lang/fr/texts.php @@ -1927,7 +1927,7 @@ Lorsque les montant apparaîtront sur votre relevé, veuillez revenir sur cette 'require_quote_signature_help' => 'Exiger que le client signe', 'i_agree' => 'J\'accepte les conditions ci dessus', 'sign_here' => 'Veuillez signer ici:', - 'sign_here_ux_tip' => 'Use the mouse or your touchpad to trace your signature.', + 'sign_here_ux_tip' => 'Utilisez la souris ou votre pavé tactile pour tracer votre signature.', 'authorization' => 'Autorisation', 'signed' => 'Signé', @@ -3366,7 +3366,7 @@ Lorsque les montant apparaîtront sur votre relevé, veuillez revenir sur cette 'credit_number_counter' => 'Modèle de compteur de crédit', 'reset_counter_date' => 'Remise à zéro du compteur de date', 'counter_padding' => 'Espacement du compteur', - 'shared_invoice_quote_counter' => 'Share Invoice/Quote Counter', + 'shared_invoice_quote_counter' => 'Partager le compteur de factures/devis', 'default_tax_name_1' => 'Nom par défaut de la taxe 1', 'default_tax_rate_1' => 'Taux par défaut de la taxe 1', 'default_tax_name_2' => 'Nom par défaut de la taxe 2', @@ -4255,7 +4255,7 @@ Lorsque les montant apparaîtront sur votre relevé, veuillez revenir sur cette 'direct_debit' => 'Prélèvement', 'clone_to_expense' => 'Cloner en dépense', 'checkout' => 'Finaliser la commande', - 'acss' => 'ACSS Debit', + 'acss' => 'Débit du SACR', 'invalid_amount' => 'Montant invalide. Valeurs numériques/décimales uniquement.', 'client_payment_failure_body' => 'Paiement de la facture :invoice pour le montant :amount a échoué.', 'browser_pay' => 'Google Pay, Apple Pay, Microsoft Pay', @@ -5184,36 +5184,37 @@ Lorsque les montant apparaîtront sur votre relevé, veuillez revenir sur cette 'payment_receipt' => 'Reçu de paiement # :number', 'load_template_description' => 'Le modèle sera appliqué aux éléments suivants :', 'run_template' => 'Exécuter le modèle', - 'statement_design' => 'Statement Design', - 'delivery_note_design' => 'Delivery Note Design', - 'payment_receipt_design' => 'Payment Receipt Design', - 'payment_refund_design' => 'Payment Refund Design', - 'task_extension_banner' => 'Add the Chrome extension to manage your tasks', - 'watch_video' => 'Watch Video', - 'view_extension' => 'View Extension', - 'reactivate_email' => 'Reactivate Email', - 'email_reactivated' => 'Successfully reactivated email', - 'template_help' => 'Enable using the design as a template', - 'quarter' => 'Quarter', - 'item_description' => 'Item Description', - 'task_item' => 'Task Item', - 'record_state' => 'Record State', - 'save_files_to_this_folder' => 'Save files to this folder', - 'downloads_folder' => 'Downloads Folder', - 'total_invoiced_quotes' => 'Invoiced Quotes', - 'total_invoice_paid_quotes' => 'Invoice Paid Quotes', - 'downloads_folder_does_not_exist' => 'The downloads folder does not exist :value', - 'user_logged_in_notification' => 'User Logged in Notification', - 'user_logged_in_notification_help' => 'Send an email when logging in from a new location', - 'payment_email_all_contacts' => 'Payment Email To All Contacts', - 'payment_email_all_contacts_help' => 'Sends the payment email to all contacts when enabled', - 'add_line' => 'Add Line', - 'activity_139' => 'Expense :expense notification sent to :contact', - 'vendor_notification_subject' => 'Confirmation of payment :amount sent to :vendor', - 'vendor_notification_body' => 'Payment processed for :amount dated :payment_date.
[Transaction Reference: :transaction_reference]', - 'receipt' => 'Receipt', - 'charges' => 'Charges', - 'email_report' => 'Email Report', + 'statement_design' => 'Conception de la déclaration', + 'delivery_note_design' => 'Conception du bon de livraison', + 'payment_receipt_design' => 'Conception du reçu de paiement', + 'payment_refund_design' => 'Conception de remboursement de paiement', + 'task_extension_banner' => 'Ajoutez l'extension Chrome pour gérer vos tâches', + 'watch_video' => 'Regarder la vidéo', + 'view_extension' => 'Voir l'extension', + 'reactivate_email' => 'Réactiver l'e-mail', + 'email_reactivated' => 'E-mail réactivé avec succès', + 'template_help' => 'Activer l'utilisation du design comme modèle', + 'quarter' => 'Quart', + 'item_description' => 'Description de l'article', + 'task_item' => 'Élément de tâche', + 'record_state' => 'État d'enregistrement', + 'save_files_to_this_folder' => 'Enregistrez les fichiers dans ce dossier', + 'downloads_folder' => 'Dossier de téléchargements', + 'total_invoiced_quotes' => 'Devis facturés', + 'total_invoice_paid_quotes' => 'Devis sur facture payée', + 'downloads_folder_does_not_exist' => 'Le dossier de téléchargement n'existe pas :value', + 'user_logged_in_notification' => 'Notification d'utilisateur connecté', + 'user_logged_in_notification_help' => 'Envoyer un e-mail lors de la connexion à partir d'un nouvel emplacement', + 'payment_email_all_contacts' => 'E-mail de paiement à tous les contacts', + 'payment_email_all_contacts_help' => 'Envoie l'e-mail de paiement à tous les contacts lorsqu'il est activé', + 'add_line' => 'Ajouter une ligne', + 'activity_139' => 'Dépense :expense notification envoyée à :contact', + 'vendor_notification_subject' => 'Confirmation de paiement :amount envoyée à :vendor', + 'vendor_notification_body' => 'Paiement traité pour :amount en date du :payment _date.
[Référence de la transaction : :transaction_reference ]', + 'receipt' => 'Reçu', + 'charges' => 'Des charges', + 'email_report' => 'Rapport par courrier électronique', + 'payment_type_Pay Later' => 'Payer plus tard', ); return $lang; diff --git a/lang/fr_CH/texts.php b/lang/fr_CH/texts.php index 843785e2ee..3aa1fca2f8 100644 --- a/lang/fr_CH/texts.php +++ b/lang/fr_CH/texts.php @@ -34,7 +34,7 @@ $lang = array( 'frequency_id' => 'Fréquence', 'discount' => 'Escompte', 'taxes' => 'Taxes', - 'tax' => 'Taxe', + 'tax' => 'TVA', 'item' => 'Article', 'description' => 'Description', 'unit_cost' => 'Coût unitaire', @@ -722,11 +722,11 @@ $lang = array( 'create_tax_rate' => 'Ajouter un taux de taxe', 'updated_tax_rate' => 'Le taux de taxe a été mis à jour avec succès', 'created_tax_rate' => 'Le taux de taxe a été créé avec succès', - 'edit_tax_rate' => 'Éditer le taux de taxe', + 'edit_tax_rate' => 'Éditer le taux de TVA', 'archive_tax_rate' => 'Archiver le taux de taxe', 'archived_tax_rate' => 'Le taux de taxe a été archivé avec succès', 'default_tax_rate_id' => 'Taux de taxe par défaut', - 'tax_rate' => 'Taux de taxe', + 'tax_rate' => 'Taux de TVA', 'recurring_hour' => 'Heure récurrente', 'pattern' => 'Modèle', 'pattern_help_title' => 'Aide pour les modèles', @@ -5212,6 +5212,7 @@ Lorsque les montant apparaîtront sur votre relevé, veuillez revenir sur cette 'receipt' => 'Receipt', 'charges' => 'Charges', 'email_report' => 'Email Report', + 'payment_type_Pay Later' => 'Pay Later', ); return $lang; diff --git a/lang/he/texts.php b/lang/he/texts.php index ceac5e8d28..0566bf76d0 100644 --- a/lang/he/texts.php +++ b/lang/he/texts.php @@ -650,7 +650,7 @@ $lang = array( 'primary_user' => 'משתמש ראשי', 'help' => 'עזרה', 'playground' => 'אזור ניסוי', - 'support_forum' => 'Support Forums', + 'support_forum' => 'פורומי תמיכה', 'invoice_due_date' => 'תאריך לביצוע', 'quote_due_date' => 'בתוקף עד', 'valid_until' => 'בתוקף עד', @@ -744,7 +744,7 @@ $lang = array( 'activity_7' => 'איש קשר צפה בחשבונית :חשבונית עבור :לקוח', 'activity_8' => ':user archived invoice :invoice', 'activity_9' => ':חשבוניות שנמחקו על ידי משתמש :חשבוניות', - 'activity_10' => ':user entered payment :payment for :payment_amount on invoice :invoice for :client', + 'activity_10' => ':user הזין תשלום :payment עבור :payment _סכום בחשבונית :invoice עבור :client', 'activity_11' => ':user updated payment :payment', 'activity_12' => ':user archived payment :payment', 'activity_13' => ':user deleted payment :payment', @@ -1140,7 +1140,7 @@ $lang = array( 'plan_status' => 'Plan Status', 'plan_upgrade' => 'Upgrade', - 'plan_change' => 'Manage Plan', + 'plan_change' => 'ניהול תוכנית', 'pending_change_to' => 'Changes To', 'plan_changes_to' => ':plan on :date', 'plan_term_changes_to' => ':plan (:term) on :date', @@ -1925,7 +1925,7 @@ $lang = array( 'require_quote_signature_help' => 'חייב את הלקוח לחתום על הצעת המחיר', 'i_agree' => 'אני מסכים לתנאים', 'sign_here' => 'נא לחתום כאן:', - 'sign_here_ux_tip' => 'Use the mouse or your touchpad to trace your signature.', + 'sign_here_ux_tip' => 'השתמש בעכבר או במשטח המגע שלך כדי לאתר את החתימה שלך.', 'authorization' => 'אימות', 'signed' => 'חתום', @@ -1988,7 +1988,7 @@ $lang = array( 'current_quarter' => 'רבעון נוכחי', 'last_quarter' => 'רבעון קודם', 'last_year' => 'שנה שעברה', - 'all_time' => 'All Time', + 'all_time' => 'כל הזמן', 'custom_range' => 'טווח מותאם אישית', 'url' => 'URL', 'debug' => 'Debug', @@ -2248,7 +2248,7 @@ $lang = array( 'restore_recurring_expense' => 'שחזר הוצאה מחזורית', 'restored_recurring_expense' => 'הוצאה מחזורית שוחזרה בהצלחה', 'delete_recurring_expense' => 'מחקהוצאה מחזורית ', - 'deleted_recurring_expense' => 'Successfully deleted recurring expense', + 'deleted_recurring_expense' => 'הוצאה חוזרת נמחקה בהצלחה', 'view_recurring_expense' => 'צפה בהוצאה מחזורית ', 'taxes_and_fees' => 'מיסים ועמלות', 'import_failed' => 'יבא שדות', @@ -2392,12 +2392,12 @@ $lang = array( 'currency_cuban_peso' => 'Cuban Peso', 'currency_bz_dollar' => 'דולר בליזי', - 'currency_libyan_dinar' => 'Libyan Dinar', - 'currency_silver_troy_ounce' => 'Silver Troy Ounce', - 'currency_gold_troy_ounce' => 'Gold Troy Ounce', - 'currency_nicaraguan_córdoba' => 'Nicaraguan Córdoba', - 'currency_malagasy_ariary' => 'Malagasy ariary', - "currency_tongan_pa_anga" => "Tongan Pa'anga", + 'currency_libyan_dinar' => 'דינר לובי', + 'currency_silver_troy_ounce' => 'כסף טרוי אונקה', + 'currency_gold_troy_ounce' => 'זהב טרוי אונקה', + 'currency_nicaraguan_córdoba' => 'קורדובה ניקרגואה', + 'currency_malagasy_ariary' => 'ארית מלגזית', + "currency_tongan_pa_anga" => "פאאנגה טונגנית", 'review_app_help' => 'We hope you\'re enjoying using the app.
If you\'d consider :link we\'d greatly appreciate it!', 'writing_a_review' => 'writing a review', @@ -2509,8 +2509,8 @@ $lang = array( 'partial_due_date' => 'תאריך יעד חלקי', 'task_fields' => 'שדות משימה', 'product_fields_help' => 'גרור שדות לשנות את סדרן', - 'custom_value1' => 'Custom Value 1', - 'custom_value2' => 'Custom Value 2', + 'custom_value1' => 'ערך מותאם אישית 1', + 'custom_value2' => 'ערך מותאם אישית 2', 'enable_two_factor' => 'Two-Factor Authentication', 'enable_two_factor_help' => 'Use your phone to confirm your identity when logging in', 'two_factor_setup' => 'Two-Factor Setup', @@ -3333,9 +3333,9 @@ $lang = array( 'freq_three_years' => 'שלוש שנים', 'military_time_help' => 'תצוגה של 24 שעות', 'click_here_capital' => 'לחץ כאן', - 'marked_invoice_as_paid' => 'Successfully marked invoice as paid', + 'marked_invoice_as_paid' => 'החשבונית סומנה בהצלחה כשולם', 'marked_invoices_as_sent' => 'חשבוניות סומנו כנשלחה בהצלחה', - 'marked_invoices_as_paid' => 'Successfully marked invoices as paid', + 'marked_invoices_as_paid' => 'סומנו בהצלחה חשבוניות כשולמות', 'activity_57' => 'שליחת חשבונית בדוא"ל נכשלה :invoice', 'custom_value3' => 'ערך מותאם אישית 3', 'custom_value4' => 'ערך מותאם אישית 4', @@ -3364,7 +3364,7 @@ $lang = array( 'credit_number_counter' => 'מונה מספרי אשראי', 'reset_counter_date' => 'אפס את תאריך המונה', 'counter_padding' => 'ריפוד דלפק', - 'shared_invoice_quote_counter' => 'Share Invoice/Quote Counter', + 'shared_invoice_quote_counter' => 'שתף מונה חשבונית/הצעות מחיר', 'default_tax_name_1' => 'שם מס ברירת מחדל 1', 'default_tax_rate_1' => 'ברירת המחדל של שיעור מס 1', 'default_tax_name_2' => 'שם מס ברירת מחדל 2', @@ -3675,9 +3675,9 @@ $lang = array( 'send_date' => 'שלח תאריך', 'auto_bill_on' => 'חיוב אוטומטי', 'minimum_under_payment_amount' => 'מינימום מתחת לסכום התשלום', - 'allow_over_payment' => 'Allow Overpayment', + 'allow_over_payment' => 'אפשר תשלום יתר', 'allow_over_payment_help' => 'תמיכה בתשלום נוסף כדי לקבל טיפים', - 'allow_under_payment' => 'Allow Underpayment', + 'allow_under_payment' => 'אפשר תשלום נמוך', 'allow_under_payment_help' => 'תמיכה בתשלום לכל הפחות סכום חלקי/הפקדה', 'test_mode' => 'מצב מבחן', 'calculated_rate' => 'תעריף מחושב', @@ -3857,7 +3857,7 @@ $lang = array( 'notification_credit_viewed' => 'הלקוח הבא :client צפה בקרדיט :credit עבור :amount.', 'reset_password_text' => 'הזן את האימייל שלך כדי לאפס את הסיסמה שלך.', 'password_reset' => 'איפוס סיסמא', - 'account_login_text' => 'Welcome! Glad to see you.', + 'account_login_text' => 'ברוך הבא! שמח לראות אותך.', 'request_cancellation' => 'בקש ביטול', 'delete_payment_method' => 'מחק את אמצעי התשלום', 'about_to_delete_payment_method' => 'אתה עומד למחוק את אמצעי התשלום.', @@ -3971,11 +3971,11 @@ $lang = array( 'add_payment_method_first' => 'להוסיף אמצעי תשלום', 'no_items_selected' => 'לא נבחרו פריטים.', 'payment_due' => 'התשלום מגיע', - 'account_balance' => 'Account Balance', + 'account_balance' => 'יתרת חשבון', 'thanks' => 'תודה', 'minimum_required_payment' => 'התשלום המינימלי הנדרש הוא :amount', - 'under_payments_disabled' => 'Company doesn\'t support underpayments.', - 'over_payments_disabled' => 'Company doesn\'t support overpayments.', + 'under_payments_disabled' => 'החברה לא תומכת בתשלומי חסר.', + 'over_payments_disabled' => 'החברה לא תומכת בתשלומי יתר.', 'saved_at' => 'נשמר ב-:time', 'credit_payment' => 'יתרת זכות עבור :invoice_number', 'credit_subject' => 'קרדיט חדש :number מ-:account', @@ -4253,7 +4253,7 @@ $lang = array( 'direct_debit' => 'חיוב ישיר', 'clone_to_expense' => 'שיבוט להוצאות', 'checkout' => 'לבדוק', - 'acss' => 'ACSS Debit', + 'acss' => 'חיוב ACSS', 'invalid_amount' => 'סכום לא חוקי. ערכים מספר/עשרוני בלבד.', 'client_payment_failure_body' => 'Payment for Invoice :invoice for amount :amount failed.', 'browser_pay' => 'Google Pay, Apple Pay, Microsoft Pay', @@ -4321,7 +4321,7 @@ $lang = array( 'include_drafts' => 'כלול טיוטות', 'include_drafts_help' => 'כלול טיוטות רשומות בדוחות', 'is_invoiced' => 'Is Invoiced', - 'change_plan' => 'Manage Plan', + 'change_plan' => 'ניהול תוכנית', 'persist_data' => 'נתונים מתמשכים', 'customer_count' => 'ספירת לקוחות', 'verify_customers' => 'אמת לקוחות', @@ -4650,8 +4650,8 @@ $lang = array( 'search_purchase_order' => 'חפש בהזמנת רכש', 'search_purchase_orders' => 'חפש הזמנות רכש', 'login_url' => 'כתובת אתר כניסה', - 'enable_applying_payments' => 'Manual Overpayments', - 'enable_applying_payments_help' => 'Support adding an overpayment amount manually on a payment', + 'enable_applying_payments' => 'תשלומי יתר ידניים', + 'enable_applying_payments_help' => 'תמיכה בהוספת סכום תשלום יתר באופן ידני על תשלום', 'stock_quantity' => 'כמות מלאי', 'notification_threshold' => 'סף הודעות', 'track_inventory' => 'עקוב אחר מלאי', @@ -4902,7 +4902,7 @@ $lang = array( 'all_clients' => 'כל הלקוחות', 'show_aging_table' => 'הצג את טבלת ההזדקנות', 'show_payments_table' => 'הצג את טבלת התשלומים', - 'only_clients_with_invoices' => 'Only Clients with Invoices', + 'only_clients_with_invoices' => 'רק לקוחות עם חשבוניות', 'email_statement' => 'הצהרת דואר אלקטרוני', 'once' => 'פַּעַם', 'schedules' => 'לוחות זמנים', @@ -4946,7 +4946,7 @@ $lang = array( 'sync_from' => 'סנכרון מאת', 'gateway_payment_text' => 'חשבוניות: :invoices עבור :amount עבור הלקוח :client', 'gateway_payment_text_no_invoice' => 'תשלום ללא חשבונית עבור סכום :amount עבור הלקוח :client', - 'click_to_variables' => 'Click here to see all variables.', + 'click_to_variables' => 'לחץ כאן כדי לראות את כל המשתנים.', 'ship_to' => 'לשלוח ל', 'stripe_direct_debit_details' => 'נא להעביר לחשבון הבנק הנקוב לעיל.', 'branch_name' => 'שם הסניף', @@ -5052,166 +5052,167 @@ $lang = array( 'tax_exempt' => 'פטור ממס', 'late_fee_added_locked_invoice' => 'עמלת איחור עבור חשבונית :invoice שנוספה ב-:date', 'lang_Khmer' => 'חמר', - 'routing_id' => 'Routing ID', - 'enable_e_invoice' => 'Enable E-Invoice', - 'e_invoice_type' => 'E-Invoice Type', - 'reduced_tax' => 'Reduced Tax', - 'override_tax' => 'Override Tax', - 'zero_rated' => 'Zero Rated', - 'reverse_tax' => 'Reverse Tax', - 'updated_tax_category' => 'Successfully updated the tax category', - 'updated_tax_categories' => 'Successfully updated the tax categories', - 'set_tax_category' => 'Set Tax Category', - 'payment_manual' => 'Payment Manual', - 'expense_payment_type' => 'Expense Payment Type', - 'payment_type_Cash App' => 'Cash App', - 'rename' => 'Rename', - 'renamed_document' => 'Successfully renamed document', - 'e_invoice' => 'E-Invoice', - 'light_dark_mode' => 'Light/Dark Mode', - 'activities' => 'Activities', - 'recent_transactions' => "Here are your company's most recent transactions:", - 'country_Palestine' => "Palestine", - 'country_Taiwan' => 'Taiwan', - 'duties' => 'Duties', - 'order_number' => 'Order Number', - 'order_id' => 'Order', - 'total_invoices_outstanding' => 'Total Invoices Outstanding', - 'recent_activity' => 'Recent Activity', - 'enable_auto_bill' => 'Enable auto billing', - 'email_count_invoices' => 'Email :count invoices', - 'invoice_task_item_description' => 'Invoice Task Item Description', - 'invoice_task_item_description_help' => 'Add the item description to the invoice line items', - 'next_send_time' => 'Next Send Time', - 'uploaded_certificate' => 'Successfully uploaded certificate', - 'certificate_set' => 'Certificate set', - 'certificate_not_set' => 'Certificate not set', - 'passphrase_set' => 'Passphrase set', - 'passphrase_not_set' => 'Passphrase not set', - 'upload_certificate' => 'Upload Certificate', - 'certificate_passphrase' => 'Certificate Passphrase', - 'valid_vat_number' => 'Valid VAT Number', - 'react_notification_link' => 'React Notification Links', - 'react_notification_link_help' => 'Admin emails will contain links to the react application', - 'show_task_billable' => 'Show Task Billable', - 'credit_item' => 'Credit Item', - 'drop_file_here' => 'Drop file here', - 'files' => 'Files', - 'camera' => 'Camera', - 'gallery' => 'Gallery', - 'project_location' => 'Project Location', - 'add_gateway_help_message' => 'Add a payment gateway (ie. Stripe, WePay or PayPal) to accept online payments', - 'lang_Hungarian' => 'Hungarian', - 'use_mobile_to_manage_plan' => 'Use your phone subscription settings to manage your plan', - 'item_tax3' => 'Item Tax3', - 'item_tax_rate1' => 'Item Tax Rate 1', - 'item_tax_rate2' => 'Item Tax Rate 2', - 'item_tax_rate3' => 'Item Tax Rate 3', - 'buy_price' => 'Buy Price', - 'country_Macedonia' => 'Macedonia', - 'admin_initiated_payments' => 'Admin Initiated Payments', - 'admin_initiated_payments_help' => 'Support entering a payment in the admin portal without an invoice', - 'paid_date' => 'Paid Date', - 'downloaded_entities' => 'An email will be sent with the PDFs', - 'lang_French - Swiss' => 'French - Swiss', - 'currency_swazi_lilangeni' => 'Swazi Lilangeni', - 'income' => 'Income', - 'amount_received_help' => 'Enter a value here if the total amount received was MORE than the invoice amount, or when recording a payment with no invoices. Otherwise this field should be left blank.', - 'vendor_phone' => 'Vendor Phone', - 'mercado_pago' => 'Mercado Pago', - 'mybank' => 'MyBank', - 'paypal_paylater' => 'Pay in 4', - 'paid_date' => 'Paid Date', - 'district' => 'District', - 'region' => 'Region', - 'county' => 'County', - 'tax_details' => 'Tax Details', - 'activity_10_online' => ':contact entered payment :payment for invoice :invoice for :client', - 'activity_10_manual' => ':user entered payment :payment for invoice :invoice for :client', - 'default_payment_type' => 'Default Payment Type', - 'number_precision' => 'Number precision', - 'number_precision_help' => 'Controls the number of decimals supported in the interface', - 'is_tax_exempt' => 'Tax Exempt', - 'drop_files_here' => 'Drop files here', - 'upload_files' => 'Upload Files', - 'download_e_invoice' => 'Download E-Invoice', - 'triangular_tax_info' => 'Intra-community triangular transaction', - 'intracommunity_tax_info' => 'Tax-free intra-community delivery', - 'reverse_tax_info' => 'Please note that this supply is subject to reverse charge', - 'currency_nicaraguan_cordoba' => 'Nicaraguan Córdoba', - 'public' => 'Public', - 'private' => 'Private', - 'image' => 'Image', - 'other' => 'Other', - 'linked_to' => 'Linked To', - 'file_saved_in_path' => 'The file has been saved in :path', - 'unlinked_transactions' => 'Successfully unlinked :count transactions', - 'unlinked_transaction' => 'Successfully unlinked transaction', - 'view_dashboard_permission' => 'Allow user to access the dashboard, data is limited to available permissions', - 'marked_sent_credits' => 'Successfully marked credits sent', - 'show_document_preview' => 'Show Document Preview', - 'cash_accounting' => 'Cash accounting', - 'click_or_drop_files_here' => 'Click or drop files here', - 'set_public' => 'Set public', - 'set_private' => 'Set private', - 'individual' => 'Individual', - 'business' => 'Business', - 'partnership' => 'partnership', - 'trust' => 'Trust', - 'charity' => 'Charity', - 'government' => 'Government', - 'in_stock_quantity' => 'Stock quantity', - 'vendor_contact' => 'Vendor Contact', - 'expense_status_4' => 'Unpaid', - 'expense_status_5' => 'Paid', - 'ziptax_help' => 'Note: this feature requires a Zip-Tax API key to lookup US sales tax by address', - 'cache_data' => 'Cache Data', - 'unknown' => 'Unknown', - 'webhook_failure' => 'Webhook Failure', - 'email_opened' => 'Email Opened', - 'email_delivered' => 'Email Delivered', - 'log' => 'Log', - 'classification' => 'Classification', - 'stock_quantity_number' => 'Stock :quantity', - 'upcoming' => 'Upcoming', - 'client_contact' => 'Client Contact', - 'uncategorized' => 'Uncategorized', - 'login_notification' => 'Login Notification', - 'login_notification_help' => 'Sends an email notifying that a login has taken place.', - 'payment_refund_receipt' => 'Payment Refund Receipt # :number', - 'payment_receipt' => 'Payment Receipt # :number', - 'load_template_description' => 'The template will be applied to following:', - 'run_template' => 'Run template', - 'statement_design' => 'Statement Design', - 'delivery_note_design' => 'Delivery Note Design', - 'payment_receipt_design' => 'Payment Receipt Design', - 'payment_refund_design' => 'Payment Refund Design', - 'task_extension_banner' => 'Add the Chrome extension to manage your tasks', - 'watch_video' => 'Watch Video', - 'view_extension' => 'View Extension', - 'reactivate_email' => 'Reactivate Email', - 'email_reactivated' => 'Successfully reactivated email', - 'template_help' => 'Enable using the design as a template', - 'quarter' => 'Quarter', - 'item_description' => 'Item Description', - 'task_item' => 'Task Item', - 'record_state' => 'Record State', - 'save_files_to_this_folder' => 'Save files to this folder', - 'downloads_folder' => 'Downloads Folder', - 'total_invoiced_quotes' => 'Invoiced Quotes', - 'total_invoice_paid_quotes' => 'Invoice Paid Quotes', - 'downloads_folder_does_not_exist' => 'The downloads folder does not exist :value', - 'user_logged_in_notification' => 'User Logged in Notification', - 'user_logged_in_notification_help' => 'Send an email when logging in from a new location', - 'payment_email_all_contacts' => 'Payment Email To All Contacts', - 'payment_email_all_contacts_help' => 'Sends the payment email to all contacts when enabled', - 'add_line' => 'Add Line', - 'activity_139' => 'Expense :expense notification sent to :contact', - 'vendor_notification_subject' => 'Confirmation of payment :amount sent to :vendor', - 'vendor_notification_body' => 'Payment processed for :amount dated :payment_date.
[Transaction Reference: :transaction_reference]', - 'receipt' => 'Receipt', - 'charges' => 'Charges', - 'email_report' => 'Email Report', + 'routing_id' => 'מזהה ניתוב', + 'enable_e_invoice' => 'אפשר חשבונית אלקטרונית', + 'e_invoice_type' => 'סוג חשבונית אלקטרונית', + 'reduced_tax' => 'מס מופחת', + 'override_tax' => 'ביטול מס', + 'zero_rated' => 'דירוג אפס', + 'reverse_tax' => 'מס הפוך', + 'updated_tax_category' => 'קטגוריית המס עודכנה בהצלחה', + 'updated_tax_categories' => 'קטגוריות המס עודכנו בהצלחה', + 'set_tax_category' => 'הגדר קטגוריית מס', + 'payment_manual' => 'מדריך תשלום', + 'expense_payment_type' => 'סוג תשלום הוצאה', + 'payment_type_Cash App' => 'אפליקציית מזומן', + 'rename' => 'שנה שם', + 'renamed_document' => 'שם המסמך שונה בהצלחה', + 'e_invoice' => 'חשבונית אלקטרונית', + 'light_dark_mode' => 'מצב אור/כהה', + 'activities' => 'פעילויות', + 'recent_transactions' => "להלן העסקאות האחרונות של החברה שלך:", + 'country_Palestine' => "פלשתינה", + 'country_Taiwan' => 'טייוואן', + 'duties' => 'חובות', + 'order_number' => 'מספר הזמנה', + 'order_id' => 'להזמין', + 'total_invoices_outstanding' => 'סה"כ חשבוניות שטרם עומדות', + 'recent_activity' => 'פעילות אחרונה', + 'enable_auto_bill' => 'הפעל חיוב אוטומטי', + 'email_count_invoices' => 'דוא"ל חשבוניות :count', + 'invoice_task_item_description' => 'תיאור פריט משימה בחשבונית', + 'invoice_task_item_description_help' => 'הוסף את תיאור הפריט לפריטי החשבונית', + 'next_send_time' => 'זמן השליחה הבא', + 'uploaded_certificate' => 'האישור הועלה בהצלחה', + 'certificate_set' => 'סט תעודות', + 'certificate_not_set' => 'תעודה לא מוגדרת', + 'passphrase_set' => 'סט ביטויי סיסמה', + 'passphrase_not_set' => 'ביטוי סיסמה לא מוגדר', + 'upload_certificate' => 'העלה תעודה', + 'certificate_passphrase' => 'ביטוי סיסמה לאישור', + 'valid_vat_number' => 'מספר מע"מ תקף', + 'react_notification_link' => 'קישורי הודעות תגובה', + 'react_notification_link_help' => 'הודעות דוא"ל של מנהל מערכת יכילו קישורים ליישום React', + 'show_task_billable' => 'הצג משימה ניתנת לחיוב', + 'credit_item' => 'פריט אשראי', + 'drop_file_here' => 'שחרר את הקובץ כאן', + 'files' => 'קבצים', + 'camera' => 'מַצלֵמָה', + 'gallery' => 'גלריה', + 'project_location' => 'מיקום הפרויקט', + 'add_gateway_help_message' => 'הוסף שער תשלום (כלומר Stripe, WePay או PayPal) כדי לקבל תשלומים מקוונים', + 'lang_Hungarian' => 'הוּנגָרִי', + 'use_mobile_to_manage_plan' => 'השתמש בהגדרות המנוי לטלפון שלך כדי לנהל את התוכנית שלך', + 'item_tax3' => 'מס פריטים 3', + 'item_tax_rate1' => 'שיעור מס פריט 1', + 'item_tax_rate2' => 'שיעור מס פריט 2', + 'item_tax_rate3' => 'שיעור מס פריט 3', + 'buy_price' => 'קנה מחיר', + 'country_Macedonia' => 'מוּקדוֹן', + 'admin_initiated_payments' => 'תשלומים ביוזמת מנהל', + 'admin_initiated_payments_help' => 'תמיכה בהזנת תשלום בפורטל הניהול ללא חשבונית', + 'paid_date' => 'תאריך בתשלום', + 'downloaded_entities' => 'ישלח אימייל עם קובצי ה-PDF', + 'lang_French - Swiss' => 'צרפתית - שוויצרית', + 'currency_swazi_lilangeni' => 'לילנגני סוואזי', + 'income' => 'הַכנָסָה', + 'amount_received_help' => 'הזן כאן ערך אם הסכום הכולל שהתקבל היה יותר מסכום החשבונית, או בעת רישום תשלום ללא חשבוניות. אחרת יש להשאיר שדה זה ריק.', + 'vendor_phone' => 'טלפון ספק', + 'mercado_pago' => 'מרקדו פאגו', + 'mybank' => 'הבנק שלי', + 'paypal_paylater' => 'שלם ב-4', + 'paid_date' => 'תאריך בתשלום', + 'district' => 'מָחוֹז', + 'region' => 'אזור', + 'county' => 'מָחוֹז', + 'tax_details' => 'פרטי מס', + 'activity_10_online' => ':contact הזין תשלום :payment עבור חשבונית :invoice עבור :client', + 'activity_10_manual' => ':user הזין תשלום :payment עבור חשבונית :invoice עבור :client', + 'default_payment_type' => 'סוג תשלום ברירת מחדל', + 'number_precision' => 'דיוק מספר', + 'number_precision_help' => 'שולט במספר העשרונים הנתמכים בממשק', + 'is_tax_exempt' => 'פטור ממס', + 'drop_files_here' => 'זרוק קבצים כאן', + 'upload_files' => 'העלה קבצים', + 'download_e_invoice' => 'הורד חשבונית אלקטרונית', + 'triangular_tax_info' => 'עסקה משולשת תוך קהילתית', + 'intracommunity_tax_info' => 'משלוח תוך קהילתי ללא מס', + 'reverse_tax_info' => 'לידיעתך, אספקה זו כפופה לחיוב הפוך', + 'currency_nicaraguan_cordoba' => 'קורדובה ניקרגואה', + 'public' => 'פּוּמְבֵּי', + 'private' => 'פְּרָטִי', + 'image' => 'תמונה', + 'other' => 'אַחֵר', + 'linked_to' => 'מקושר ל', + 'file_saved_in_path' => 'הקובץ נשמר ב-:path', + 'unlinked_transactions' => 'הקישור של עסקאות :count בוטלה בהצלחה', + 'unlinked_transaction' => 'העסקה בוטלה בהצלחה', + 'view_dashboard_permission' => 'אפשר למשתמש לגשת ללוח המחוונים, הנתונים מוגבלים להרשאות זמינות', + 'marked_sent_credits' => 'נשלחו קרדיטים מסומנים בהצלחה', + 'show_document_preview' => 'הצג תצוגה מקדימה של מסמך', + 'cash_accounting' => 'הנהלת חשבונות במזומן', + 'click_or_drop_files_here' => 'לחץ או שחרר קבצים כאן', + 'set_public' => 'הגדר ציבורי', + 'set_private' => 'הגדר פרטי', + 'individual' => 'אִישִׁי', + 'business' => 'עֵסֶק', + 'partnership' => 'שׁוּתָפוּת', + 'trust' => 'אמון', + 'charity' => 'צדקה', + 'government' => 'מֶמְשָׁלָה', + 'in_stock_quantity' => 'כמות מלאי', + 'vendor_contact' => 'יצירת קשר עם הספק', + 'expense_status_4' => 'ללא תשלום', + 'expense_status_5' => 'שולם', + 'ziptax_help' => 'הערה: תכונה זו דורשת מפתח API של Zip-Tax כדי לחפש מס מכירה בארה"ב לפי כתובת', + 'cache_data' => 'נתוני מטמון', + 'unknown' => 'לא ידוע', + 'webhook_failure' => 'כשל ב-Webhook', + 'email_opened' => 'דוא"ל נפתח', + 'email_delivered' => 'דואר אלקטרוני נמסר', + 'log' => 'עֵץ', + 'classification' => 'מִיוּן', + 'stock_quantity_number' => 'מלאי: כמות', + 'upcoming' => 'בקרוב', + 'client_contact' => 'איש קשר ללקוח', + 'uncategorized' => 'לא מסווג', + 'login_notification' => 'הודעת כניסה', + 'login_notification_help' => 'שולח מייל המודיע על התחברות.', + 'payment_refund_receipt' => 'קבלה על החזר תשלום מס' :number', + 'payment_receipt' => 'קבלה על תשלום מס' :number', + 'load_template_description' => 'התבנית תיושם על הבאים:', + 'run_template' => 'הפעל תבנית', + 'statement_design' => 'עיצוב הצהרה', + 'delivery_note_design' => 'עיצוב תעודת משלוח', + 'payment_receipt_design' => 'עיצוב קבלה על תשלום', + 'payment_refund_design' => 'עיצוב החזר תשלום', + 'task_extension_banner' => 'הוסף את התוסף של Chrome כדי לנהל את המשימות שלך', + 'watch_video' => 'צפה בוידאו', + 'view_extension' => 'צפה בהרחבה', + 'reactivate_email' => 'הפעל מחדש את האימייל', + 'email_reactivated' => 'האימייל הופעל מחדש בהצלחה', + 'template_help' => 'אפשר להשתמש בעיצוב כתבנית', + 'quarter' => 'רובע', + 'item_description' => 'תיאור פריט', + 'task_item' => 'פריט משימה', + 'record_state' => 'מצב שיא', + 'save_files_to_this_folder' => 'שמור קבצים בתיקייה זו', + 'downloads_folder' => 'תיקיית הורדות', + 'total_invoiced_quotes' => 'הצעות מחיר עם חשבונית', + 'total_invoice_paid_quotes' => 'הצעות מחיר בתשלום חשבונית', + 'downloads_folder_does_not_exist' => 'תיקיית ההורדות לא קיימת :value', + 'user_logged_in_notification' => 'הודעה על כניסת משתמש', + 'user_logged_in_notification_help' => 'שלח אימייל בעת כניסה ממיקום חדש', + 'payment_email_all_contacts' => 'אימייל תשלום לכל אנשי הקשר', + 'payment_email_all_contacts_help' => 'שולח את אימייל התשלום לכל אנשי הקשר כאשר מופעל', + 'add_line' => 'הוסף שורה', + 'activity_139' => 'הודעת הוצאה :expense נשלחה אל :contact', + 'vendor_notification_subject' => 'אישור תשלום :amount נשלח אל :vendor', + 'vendor_notification_body' => 'התשלום עובד עבור :amount מתאריך :payment _date.
[הפניה לעסקה: :transaction_reference ]', + 'receipt' => 'קַבָּלָה', + 'charges' => 'חיובים', + 'email_report' => 'דוא"ל דו"ח', + 'payment_type_Pay Later' => 'שלם מאוחר יותר', ); return $lang; diff --git a/lang/hu/texts.php b/lang/hu/texts.php index f0dbf68094..82442deaf3 100644 --- a/lang/hu/texts.php +++ b/lang/hu/texts.php @@ -645,7 +645,7 @@ $lang = array( 'primary_user' => 'Elsődleges felhasználó', 'help' => 'Segítség', 'playground' => 'Játszótér', - 'support_forum' => 'Support Forums', + 'support_forum' => 'Támogatási fórumok', 'invoice_due_date' => 'Számla fizetési határideje', 'quote_due_date' => 'Árajánlat érvényessége', 'valid_until' => 'Érvényes', @@ -1123,7 +1123,7 @@ $lang = array( 'plan_status' => 'Csomag állapota', 'plan_upgrade' => 'Csomagfrissítés', - 'plan_change' => 'Manage Plan', + 'plan_change' => 'Terv kezelése', 'pending_change_to' => 'Függőben lévő váltás erre:', 'plan_changes_to' => 'A csomag változik erre:', 'plan_term_changes_to' => 'A csomag időtartama változik erre:', @@ -1911,7 +1911,7 @@ adva :date', 'require_quote_signature_help' => 'Az árajánlat létrehozásakor a felhasználónak kötelező aláírnia.', 'i_agree' => 'Elfogadom', 'sign_here' => 'Itt írja alá', - 'sign_here_ux_tip' => 'Use the mouse or your touchpad to trace your signature.', + 'sign_here_ux_tip' => 'Az aláírás nyomon követéséhez használja az egeret vagy az érintőpadot.', 'authorization' => 'Felhatalmazás', 'signed' => 'Aláírt', @@ -2234,7 +2234,7 @@ adva :date', 'restore_recurring_expense' => 'Ismétlődő költség visszaállítása', 'restored_recurring_expense' => 'Ismétlődő költség visszaállítva', 'delete_recurring_expense' => 'Ismétlődő költség törlése', - 'deleted_recurring_expense' => 'Successfully deleted recurring expense', + 'deleted_recurring_expense' => 'Az ismétlődő kiadások sikeresen törölve', 'view_recurring_expense' => 'Ismétlődő költség megtekintése', 'taxes_and_fees' => 'Adók és díjak', 'import_failed' => 'Importálás sikertelen', @@ -2378,12 +2378,12 @@ adva :date', 'currency_cuban_peso' => 'Kubai peso', 'currency_bz_dollar' => 'Beliz-i dollár', - 'currency_libyan_dinar' => 'Libyan Dinar', - 'currency_silver_troy_ounce' => 'Silver Troy Ounce', - 'currency_gold_troy_ounce' => 'Gold Troy Ounce', - 'currency_nicaraguan_córdoba' => 'Nicaraguan Córdoba', - 'currency_malagasy_ariary' => 'Malagasy ariary', - "currency_tongan_pa_anga" => "Tongan Pa'anga", + 'currency_libyan_dinar' => 'líbiai dínár', + 'currency_silver_troy_ounce' => 'Ezüst Troy uncia', + 'currency_gold_troy_ounce' => 'Arany Troy Unce', + 'currency_nicaraguan_córdoba' => 'nicaraguai Córdoba', + 'currency_malagasy_ariary' => 'madagaszkári ariary', + "currency_tongan_pa_anga" => "Tonga Pa'anga", 'review_app_help' => 'Segítség az értékeléshez', 'writing_a_review' => 'Értékelés írása', @@ -2495,8 +2495,8 @@ adva :date', 'partial_due_date' => 'Részletfizetés határideje', 'task_fields' => 'Feladat mezők', 'product_fields_help' => 'Húzza és állítsa be a termékmezők sorrendjét', - 'custom_value1' => 'Custom Value 1', - 'custom_value2' => 'Custom Value 2', + 'custom_value1' => 'Egyéni érték 1', + 'custom_value2' => 'Egyéni érték 2', 'enable_two_factor' => 'Kétlépcsős azonosítás engedélyezése', 'enable_two_factor_help' => 'Engedélyezze a Kétlépcsős azonosítást a fiókhoz való belépéshez', 'two_factor_setup' => 'Kétlépcsős azonosítás beállítása', @@ -3319,9 +3319,9 @@ adva :date', 'freq_three_years' => '3 év', 'military_time_help' => 'Ha engedélyezve van, a rendszer a katonai időformátumot használja (óra:perc helyett óra:perc am/pm formátumban).', 'click_here_capital' => 'KATTINTSON IDE', - 'marked_invoice_as_paid' => 'Successfully marked invoice as paid', + 'marked_invoice_as_paid' => 'A számla sikeresen kifizetettként megjelölve', 'marked_invoices_as_sent' => 'Számlák elküldöttként jelölve', - 'marked_invoices_as_paid' => 'Successfully marked invoices as paid', + 'marked_invoices_as_paid' => 'A számlákat sikeresen kifizetettként jelölte meg', 'activity_57' => '57. tevékenység', 'custom_value3' => 'Egyéni érték 3', 'custom_value4' => 'Egyéni érték 4', @@ -3350,7 +3350,7 @@ adva :date', 'credit_number_counter' => 'Jóváírásszám számláló', 'reset_counter_date' => 'Számláló visszaállítás dátuma', 'counter_padding' => 'Számláló kitöltése', - 'shared_invoice_quote_counter' => 'Share Invoice/Quote Counter', + 'shared_invoice_quote_counter' => 'Számla/ajánlatszámláló megosztása', 'default_tax_name_1' => 'Alapértelmezett adó neve 1', 'default_tax_rate_1' => 'Alapértelmezett adókulcs 1', 'default_tax_name_2' => 'Alapértelmezett adó neve 2', @@ -3661,9 +3661,9 @@ adva :date', 'send_date' => 'Küldés dátuma', 'auto_bill_on' => 'Automatikus számlázás', 'minimum_under_payment_amount' => 'Minimális alulértékelt összeg', - 'allow_over_payment' => 'Allow Overpayment', + 'allow_over_payment' => 'Túlfizetés engedélyezése', 'allow_over_payment_help' => 'Segítség a túlfizetés engedélyezéséhez', - 'allow_under_payment' => 'Allow Underpayment', + 'allow_under_payment' => 'Alulfizetés engedélyezése', 'allow_under_payment_help' => 'Segítség az alulfizetés engedélyezéséhez', 'test_mode' => 'Teszt üzemmód', 'calculated_rate' => 'Kiszámított árfolyam', @@ -3960,8 +3960,8 @@ adva :date', 'account_balance' => 'Számlaegyenleg', 'thanks' => 'Köszönjük', 'minimum_required_payment' => 'Minimum kötelező fizetés', - 'under_payments_disabled' => 'Company doesn\'t support underpayments.', - 'over_payments_disabled' => 'Company doesn\'t support overpayments.', + 'under_payments_disabled' => 'A cég nem támogatja az alulfizetéseket.', + 'over_payments_disabled' => 'A cég nem támogatja a túlfizetést.', 'saved_at' => 'Mentve', 'credit_payment' => 'Kredit fizetés', 'credit_subject' => 'Kredit', @@ -4239,7 +4239,7 @@ adva :date', 'direct_debit' => 'Közvetlen terhelés', 'clone_to_expense' => 'Klónozás költségbe', 'checkout' => 'Fizetés', - 'acss' => 'ACSS Debit', + 'acss' => 'ACSS terhelés', 'invalid_amount' => 'Érvénytelen összeg', 'client_payment_failure_body' => 'Ügyfél fizetési hiba szövege', 'browser_pay' => 'Böngésző fizetés', @@ -4307,7 +4307,7 @@ adva :date', 'include_drafts' => 'Vázlatok belefoglalása', 'include_drafts_help' => 'Segítség a vázlatok belefoglalásához', 'is_invoiced' => 'Számlázott', - 'change_plan' => 'Manage Plan', + 'change_plan' => 'Terv kezelése', 'persist_data' => 'Adatok tartása', 'customer_count' => 'Ügyfél száma', 'verify_customers' => 'Ügyfelek ellenőrzése', @@ -4636,8 +4636,8 @@ adva :date', 'search_purchase_order' => 'Beszerzési rendelés keresése', 'search_purchase_orders' => 'Beszerzési rendelések keresése', 'login_url' => 'Bejelentkezési URL', - 'enable_applying_payments' => 'Manual Overpayments', - 'enable_applying_payments_help' => 'Support adding an overpayment amount manually on a payment', + 'enable_applying_payments' => 'Kézi túlfizetések', + 'enable_applying_payments_help' => 'Támogatja a túlfizetés összegének manuális hozzáadását a fizetéshez', 'stock_quantity' => 'Készlet mennyisége', 'notification_threshold' => 'Értesítés küszöbértéke', 'track_inventory' => 'Készlet követése', @@ -4932,7 +4932,7 @@ adva :date', 'sync_from' => 'szinkronizálás forrásából', 'gateway_payment_text' => 'fizetési szöveg a fizetési átjárón keresztül', 'gateway_payment_text_no_invoice' => 'fizetési szöveg a fizetési átjárón keresztül (nincs számla)', - 'click_to_variables' => 'Click here to see all variables.', + 'click_to_variables' => 'Kattintson ide az összes változó megtekintéséhez.', 'ship_to' => 'szállítási cím', 'stripe_direct_debit_details' => 'Stripe közvetlen terhelés részletei', 'branch_name' => 'fiók neve', @@ -5089,115 +5089,116 @@ adva :date', 'add_gateway_help_message' => 'segítség az átjáró hozzáadásához', 'lang_Hungarian' => 'Magyar', 'use_mobile_to_manage_plan' => 'Használja telefonos előfizetési beállításait a csomag kezeléséhez', - 'item_tax3' => 'Item Tax3', - 'item_tax_rate1' => 'Item Tax Rate 1', - 'item_tax_rate2' => 'Item Tax Rate 2', - 'item_tax_rate3' => 'Item Tax Rate 3', - 'buy_price' => 'Buy Price', - 'country_Macedonia' => 'Macedonia', - 'admin_initiated_payments' => 'Admin Initiated Payments', - 'admin_initiated_payments_help' => 'Support entering a payment in the admin portal without an invoice', - 'paid_date' => 'Paid Date', - 'downloaded_entities' => 'An email will be sent with the PDFs', - 'lang_French - Swiss' => 'French - Swiss', - 'currency_swazi_lilangeni' => 'Swazi Lilangeni', - 'income' => 'Income', - 'amount_received_help' => 'Enter a value here if the total amount received was MORE than the invoice amount, or when recording a payment with no invoices. Otherwise this field should be left blank.', - 'vendor_phone' => 'Vendor Phone', + 'item_tax3' => 'Tétel Adó3', + 'item_tax_rate1' => 'Tétel Adókulcs 1', + 'item_tax_rate2' => 'Tétel Adókulcs 2', + 'item_tax_rate3' => 'Tétel Adókulcs 3', + 'buy_price' => 'Vásárlási ár', + 'country_Macedonia' => 'Macedónia', + 'admin_initiated_payments' => 'Admin által kezdeményezett kifizetések', + 'admin_initiated_payments_help' => 'Támogatja a fizetés számla nélküli megadását az adminisztrációs portálon', + 'paid_date' => 'Fizetési dátum', + 'downloaded_entities' => 'A PDF-ekkel e-mailt küldünk', + 'lang_French - Swiss' => 'francia - svájci', + 'currency_swazi_lilangeni' => 'Szvázi Lilangeni', + 'income' => 'Jövedelem', + 'amount_received_help' => 'Adjon meg egy értéket, ha a kapott végösszeg TÖBB volt, mint a számla összege, vagy ha számla nélküli fizetést rögzít. Ellenkező esetben ezt a mezőt üresen kell hagyni.', + 'vendor_phone' => 'Eladó telefon', 'mercado_pago' => 'Mercado Pago', 'mybank' => 'MyBank', - 'paypal_paylater' => 'Pay in 4', - 'paid_date' => 'Paid Date', - 'district' => 'District', - 'region' => 'Region', - 'county' => 'County', - 'tax_details' => 'Tax Details', - 'activity_10_online' => ':contact entered payment :payment for invoice :invoice for :client', - 'activity_10_manual' => ':user entered payment :payment for invoice :invoice for :client', - 'default_payment_type' => 'Default Payment Type', - 'number_precision' => 'Number precision', - 'number_precision_help' => 'Controls the number of decimals supported in the interface', - 'is_tax_exempt' => 'Tax Exempt', - 'drop_files_here' => 'Drop files here', - 'upload_files' => 'Upload Files', - 'download_e_invoice' => 'Download E-Invoice', - 'triangular_tax_info' => 'Intra-community triangular transaction', - 'intracommunity_tax_info' => 'Tax-free intra-community delivery', - 'reverse_tax_info' => 'Please note that this supply is subject to reverse charge', - 'currency_nicaraguan_cordoba' => 'Nicaraguan Córdoba', - 'public' => 'Public', - 'private' => 'Private', - 'image' => 'Image', - 'other' => 'Other', - 'linked_to' => 'Linked To', - 'file_saved_in_path' => 'The file has been saved in :path', - 'unlinked_transactions' => 'Successfully unlinked :count transactions', - 'unlinked_transaction' => 'Successfully unlinked transaction', - 'view_dashboard_permission' => 'Allow user to access the dashboard, data is limited to available permissions', - 'marked_sent_credits' => 'Successfully marked credits sent', - 'show_document_preview' => 'Show Document Preview', - 'cash_accounting' => 'Cash accounting', - 'click_or_drop_files_here' => 'Click or drop files here', - 'set_public' => 'Set public', - 'set_private' => 'Set private', - 'individual' => 'Individual', - 'business' => 'Business', - 'partnership' => 'partnership', - 'trust' => 'Trust', - 'charity' => 'Charity', - 'government' => 'Government', - 'in_stock_quantity' => 'Stock quantity', - 'vendor_contact' => 'Vendor Contact', - 'expense_status_4' => 'Unpaid', - 'expense_status_5' => 'Paid', - 'ziptax_help' => 'Note: this feature requires a Zip-Tax API key to lookup US sales tax by address', - 'cache_data' => 'Cache Data', - 'unknown' => 'Unknown', - 'webhook_failure' => 'Webhook Failure', - 'email_opened' => 'Email Opened', - 'email_delivered' => 'Email Delivered', - 'log' => 'Log', - 'classification' => 'Classification', - 'stock_quantity_number' => 'Stock :quantity', - 'upcoming' => 'Upcoming', - 'client_contact' => 'Client Contact', - 'uncategorized' => 'Uncategorized', - 'login_notification' => 'Login Notification', - 'login_notification_help' => 'Sends an email notifying that a login has taken place.', - 'payment_refund_receipt' => 'Payment Refund Receipt # :number', - 'payment_receipt' => 'Payment Receipt # :number', - 'load_template_description' => 'The template will be applied to following:', - 'run_template' => 'Run template', - 'statement_design' => 'Statement Design', - 'delivery_note_design' => 'Delivery Note Design', - 'payment_receipt_design' => 'Payment Receipt Design', - 'payment_refund_design' => 'Payment Refund Design', - 'task_extension_banner' => 'Add the Chrome extension to manage your tasks', - 'watch_video' => 'Watch Video', - 'view_extension' => 'View Extension', - 'reactivate_email' => 'Reactivate Email', - 'email_reactivated' => 'Successfully reactivated email', - 'template_help' => 'Enable using the design as a template', - 'quarter' => 'Quarter', - 'item_description' => 'Item Description', - 'task_item' => 'Task Item', - 'record_state' => 'Record State', - 'save_files_to_this_folder' => 'Save files to this folder', - 'downloads_folder' => 'Downloads Folder', - 'total_invoiced_quotes' => 'Invoiced Quotes', - 'total_invoice_paid_quotes' => 'Invoice Paid Quotes', - 'downloads_folder_does_not_exist' => 'The downloads folder does not exist :value', - 'user_logged_in_notification' => 'User Logged in Notification', - 'user_logged_in_notification_help' => 'Send an email when logging in from a new location', - 'payment_email_all_contacts' => 'Payment Email To All Contacts', - 'payment_email_all_contacts_help' => 'Sends the payment email to all contacts when enabled', - 'add_line' => 'Add Line', - 'activity_139' => 'Expense :expense notification sent to :contact', - 'vendor_notification_subject' => 'Confirmation of payment :amount sent to :vendor', - 'vendor_notification_body' => 'Payment processed for :amount dated :payment_date.
[Transaction Reference: :transaction_reference]', - 'receipt' => 'Receipt', - 'charges' => 'Charges', - 'email_report' => 'Email Report', + 'paypal_paylater' => 'Fizessen be 4-ben', + 'paid_date' => 'Fizetési dátum', + 'district' => 'Kerület', + 'region' => 'Vidék', + 'county' => 'Megye', + 'tax_details' => 'Adóadatok', + 'activity_10_online' => ':contact beírta a :payment fizetést a :invoice számlához a :client számlához', + 'activity_10_manual' => ':user beírta a :payment fizetést a :invoice számlához a :client számlához', + 'default_payment_type' => 'Alapértelmezett fizetési típus', + 'number_precision' => 'Számok pontossága', + 'number_precision_help' => 'Szabályozza a felületen támogatott tizedesjegyek számát', + 'is_tax_exempt' => 'Adómentes', + 'drop_files_here' => 'Dobja ide a fájlokat', + 'upload_files' => 'Fájlok feltöltése', + 'download_e_invoice' => 'E-számla letöltése', + 'triangular_tax_info' => 'Közösségen belüli háromszög tranzakció', + 'intracommunity_tax_info' => 'Adómentes közösségen belüli kiszállítás', + 'reverse_tax_info' => 'Felhívjuk figyelmét, hogy ez a szolgáltatás fordított adózás hatálya alá tartozik', + 'currency_nicaraguan_cordoba' => 'nicaraguai Córdoba', + 'public' => 'Nyilvános', + 'private' => 'Magán', + 'image' => 'Kép', + 'other' => 'Egyéb', + 'linked_to' => 'Kapcsolódó', + 'file_saved_in_path' => 'A fájl a :path címre lett elmentve', + 'unlinked_transactions' => ':count tranzakciók összekapcsolása sikeresen leválasztva', + 'unlinked_transaction' => 'A tranzakció sikeresen leválasztva', + 'view_dashboard_permission' => 'Engedélyezze a felhasználó számára az irányítópult elérését, az adatok a rendelkezésre álló engedélyekre korlátozódnak', + 'marked_sent_credits' => 'Sikeresen megjelölt kreditek elküldve', + 'show_document_preview' => 'Dokumentum előnézetének megjelenítése', + 'cash_accounting' => 'Pénztári könyvelés', + 'click_or_drop_files_here' => 'Kattintson vagy dobja ide a fájlokat', + 'set_public' => 'Állítsa nyilvános', + 'set_private' => 'Privát beállítás', + 'individual' => 'Egyedi', + 'business' => 'Üzleti', + 'partnership' => 'partnerség', + 'trust' => 'Bizalom', + 'charity' => 'Adomány', + 'government' => 'Kormány', + 'in_stock_quantity' => 'Raktári mennyiség', + 'vendor_contact' => 'Eladó kapcsolatfelvétel', + 'expense_status_4' => 'Kifizetetlen', + 'expense_status_5' => 'Fizetett', + 'ziptax_help' => 'Megjegyzés: ehhez a funkcióhoz Zip-Tax API-kulcsra van szükség az USA-beli forgalmi adó cím szerinti kereséséhez', + 'cache_data' => 'Gyorsítótár adatok', + 'unknown' => 'Ismeretlen', + 'webhook_failure' => 'Webhook hiba', + 'email_opened' => 'E-mail megnyitva', + 'email_delivered' => 'E-mail kézbesítve', + 'log' => 'Napló', + 'classification' => 'Osztályozás', + 'stock_quantity_number' => 'Készlet: mennyiség', + 'upcoming' => 'Közelgő', + 'client_contact' => 'Ügyfélkapcsolat', + 'uncategorized' => 'Nincs kategorizálva', + 'login_notification' => 'Bejelentkezési értesítés', + 'login_notification_help' => 'E-mailt küld a bejelentkezés megtörténtéről.', + 'payment_refund_receipt' => 'Fizetési visszatérítési nyugta # :number', + 'payment_receipt' => 'Fizetési nyugta # :number', + 'load_template_description' => 'A sablon a következőkre lesz alkalmazva:', + 'run_template' => 'Sablon futtatása', + 'statement_design' => 'Nyilatkozat tervezése', + 'delivery_note_design' => 'Szállítólevél tervezése', + 'payment_receipt_design' => 'Fizetési nyugta tervezése', + 'payment_refund_design' => 'Fizetési visszatérítés tervezése', + 'task_extension_banner' => 'Adja hozzá a Chrome-bővítményt a feladatok kezeléséhez', + 'watch_video' => 'Videót nézni', + 'view_extension' => 'Kiterjesztés megtekintése', + 'reactivate_email' => 'Aktiválja újra az e-mailt', + 'email_reactivated' => 'Az e-mail sikeresen újraaktiválva', + 'template_help' => 'Engedélyezze a terv sablonként való használatát', + 'quarter' => 'Negyed', + 'item_description' => 'Elem Leírás', + 'task_item' => 'Feladatelem', + 'record_state' => 'Rekord állapot', + 'save_files_to_this_folder' => 'Fájlok mentése ebbe a mappába', + 'downloads_folder' => 'Letöltések mappa', + 'total_invoiced_quotes' => 'Számlázott árajánlatok', + 'total_invoice_paid_quotes' => 'Fizetett árajánlatok', + 'downloads_folder_does_not_exist' => 'A letöltések mappa nem létezik :value', + 'user_logged_in_notification' => 'Felhasználói bejelentkezett értesítés', + 'user_logged_in_notification_help' => 'Küldjön e-mailt, ha új helyről jelentkezik be', + 'payment_email_all_contacts' => 'Fizetési e-mail minden kapcsolattartónak', + 'payment_email_all_contacts_help' => 'A fizetési e-mailt minden kapcsolatnak elküldi, ha engedélyezve van', + 'add_line' => 'Sor hozzáadása', + 'activity_139' => 'Költség :expense értesítés elküldve :contact címre', + 'vendor_notification_subject' => ':amount befizetés visszaigazolása elküldve :vendor címre', + 'vendor_notification_body' => 'Fizetés feldolgozva: :amount , :payment _date.
[Tranzakció hivatkozási száma: :transaction_reference ]', + 'receipt' => 'Nyugta', + 'charges' => 'Díjak', + 'email_report' => 'Jelentés e-mailben', + 'payment_type_Pay Later' => 'Fizess később', ); return $lang; diff --git a/lang/it/texts.php b/lang/it/texts.php index ad5d6b331d..e97ec3baa5 100644 --- a/lang/it/texts.php +++ b/lang/it/texts.php @@ -652,7 +652,7 @@ $lang = array( 'primary_user' => 'Utente principale', 'help' => 'Aiuto', 'playground' => 'terreno di gioco', - 'support_forum' => 'Support Forums', + 'support_forum' => 'Forum di supporto', 'invoice_due_date' => 'Scadenza fattura', 'quote_due_date' => 'Valido fino a', 'valid_until' => 'Valido fino a', @@ -746,7 +746,7 @@ $lang = array( 'activity_7' => ':contact ha visualizzato la fattura :invoice per :client', 'activity_8' => ':user ha archiviato la fattura :invoice', 'activity_9' => ':user ha cancellato la fattura :invoice', - 'activity_10' => ':user entered payment :payment for :payment_amount on invoice :invoice for :client', + 'activity_10' => ':user inserito Pagamento :payment per :payment _importo su Fattura :invoice per :client', 'activity_11' => ':user ha aggiornato il pagamento :payment', 'activity_12' => ':user ha archiviato il pagamento :payment', 'activity_13' => ':user ha cancellato il pagamento :payment', @@ -1130,7 +1130,7 @@ $lang = array( 'plan_status' => 'Stato del piano', 'plan_upgrade' => 'Upgrade', - 'plan_change' => 'Manage Plan', + 'plan_change' => 'Gestisci piano', 'pending_change_to' => 'Changes To', 'plan_changes_to' => ':plan on :date', 'plan_term_changes_to' => ':plan (:term) on :date', @@ -1917,7 +1917,7 @@ $lang = array( 'require_quote_signature_help' => 'Richiedi al cliente di firmare il preventivo.', 'i_agree' => 'Accetto i Termini', 'sign_here' => 'Per favore firma qui:', - 'sign_here_ux_tip' => 'Use the mouse or your touchpad to trace your signature.', + 'sign_here_ux_tip' => 'Usa il mouse o il touchpad per tracciare la tua firma.', 'authorization' => 'Autorizzazione', 'signed' => 'Firmato', @@ -1980,7 +1980,7 @@ $lang = array( 'current_quarter' => 'Quartiere attuale', 'last_quarter' => 'Ultimo quarto', 'last_year' => 'Anno scorso', - 'all_time' => 'All Time', + 'all_time' => 'Sempre', 'custom_range' => 'Intervallo personalizzato', 'url' => 'URL', 'debug' => 'Debug', @@ -2241,7 +2241,7 @@ $lang = array( 'restore_recurring_expense' => 'Riprestina spesa ricorrente', 'restored_recurring_expense' => 'Spesa ricorrente riprestinata con successo', 'delete_recurring_expense' => 'Elimina Spesa Ricorrente', - 'deleted_recurring_expense' => 'Successfully deleted recurring expense', + 'deleted_recurring_expense' => 'Con successo Eliminato Ricorrente Spesa', 'view_recurring_expense' => 'Vedi Spesa Ricorrente', 'taxes_and_fees' => 'Tasse e commissioni', 'import_failed' => 'Importazione Fallita', @@ -2385,12 +2385,12 @@ $lang = array( 'currency_cuban_peso' => 'peso cubano', 'currency_bz_dollar' => 'Dollaro BZ', - 'currency_libyan_dinar' => 'Libyan Dinar', - 'currency_silver_troy_ounce' => 'Silver Troy Ounce', - 'currency_gold_troy_ounce' => 'Gold Troy Ounce', - 'currency_nicaraguan_córdoba' => 'Nicaraguan Córdoba', - 'currency_malagasy_ariary' => 'Malagasy ariary', - "currency_tongan_pa_anga" => "Tongan Pa'anga", + 'currency_libyan_dinar' => 'Dinaro libico', + 'currency_silver_troy_ounce' => 'Oncia Troy d'argento', + 'currency_gold_troy_ounce' => 'Oncia Troy d'oro', + 'currency_nicaraguan_córdoba' => 'Cordova nicaraguense', + 'currency_malagasy_ariary' => 'Ariary malgascio', + "currency_tongan_pa_anga" => "Tongano Pa'anga", 'review_app_help' => 'Ci auguriamo che ti piaccia usare l'app.
Se prendessi in considerazione :link lo apprezzeremmo molto!', 'writing_a_review' => 'scrivendo una recensione', @@ -3357,7 +3357,7 @@ $lang = array( 'credit_number_counter' => 'Contatore numero credito', 'reset_counter_date' => 'Resetta contatore data', 'counter_padding' => 'Riempimento contatore', - 'shared_invoice_quote_counter' => 'Share Invoice/Quote Counter', + 'shared_invoice_quote_counter' => 'Condividi Fattura /Quote Counter', 'default_tax_name_1' => 'Nome fiscale predefinito 1', 'default_tax_rate_1' => 'Aliquota fiscale predefinita 1', 'default_tax_name_2' => 'Nome fiscale predefinito 2', @@ -3668,9 +3668,9 @@ $lang = array( 'send_date' => 'Data di invio', 'auto_bill_on' => 'Fattura automatica attiva', 'minimum_under_payment_amount' => 'Importo minimo sotto pagamento', - 'allow_over_payment' => 'Allow Overpayment', + 'allow_over_payment' => 'Consenti pagamento in eccesso', 'allow_over_payment_help' => 'Accetta il pagamento di un extra', - 'allow_under_payment' => 'Allow Underpayment', + 'allow_under_payment' => 'Consenti pagamento insufficiente', 'allow_under_payment_help' => 'Accetta il pagamento parziale o di cauzione', 'test_mode' => 'Modalità di test', 'calculated_rate' => 'Tariffa calcolata', @@ -3967,8 +3967,8 @@ $lang = array( 'account_balance' => 'Bilancio Account', 'thanks' => 'Grazie', 'minimum_required_payment' => 'Il pagamento minimo richiesto è :amount', - 'under_payments_disabled' => 'Company doesn\'t support underpayments.', - 'over_payments_disabled' => 'Company doesn\'t support overpayments.', + 'under_payments_disabled' => 'L'azienda non supporta i pagamenti insufficienti.', + 'over_payments_disabled' => 'L'azienda non supporta i pagamenti in eccesso.', 'saved_at' => 'Salvato alle :time', 'credit_payment' => 'Credito applicato alla fattura :invoice_number', 'credit_subject' => 'Nuovo credito :number da :account', @@ -3989,7 +3989,7 @@ $lang = array( 'notification_invoice_reminder1_sent_subject' => 'Il promemoria 1 per la fattura :invoice è stato inviato a :client', 'notification_invoice_reminder2_sent_subject' => 'Il promemoria 2 per la fattura :invoice è stato inviato a :client', 'notification_invoice_reminder3_sent_subject' => 'Il promemoria 3 per la fattura :invoice è stato inviato a :client', - 'notification_invoice_custom_sent_subject' => 'Custom reminder for Invoice :invoice was sent to :client', + 'notification_invoice_custom_sent_subject' => 'Il promemoria Personalizzato per Fattura :invoice è stato inviato a :client', 'notification_invoice_reminder_endless_sent_subject' => 'Il promemoria ricorrente per la fattura :invoice è stato inviato a :client', 'assigned_user' => 'Utente assegnato', 'setup_steps_notice' => 'Per procedere al passaggio successivo, assicurati di testare ogni sezione.', @@ -4246,7 +4246,7 @@ $lang = array( 'direct_debit' => 'Addebito diretto', 'clone_to_expense' => 'Clona in spesa', 'checkout' => 'Guardare', - 'acss' => 'ACSS Debit', + 'acss' => 'Addebito ACSS', 'invalid_amount' => 'Importo non valido. Solo valori numerici/decimali.', 'client_payment_failure_body' => 'Il pagamento della fattura :invoice per l'importo :amount non è riuscito.', 'browser_pay' => 'Google Pay, Apple Pay, Microsoft Pay', @@ -4314,7 +4314,7 @@ $lang = array( 'include_drafts' => 'Includi bozze', 'include_drafts_help' => 'Includere bozze di record nei report', 'is_invoiced' => 'Viene fatturato', - 'change_plan' => 'Manage Plan', + 'change_plan' => 'Gestisci piano', 'persist_data' => 'Dati persistenti', 'customer_count' => 'Conteggio clienti', 'verify_customers' => 'Verifica i clienti', @@ -4643,8 +4643,8 @@ $lang = array( 'search_purchase_order' => 'Cerca ordine d'acquisto', 'search_purchase_orders' => 'Cerca ordini di acquisto', 'login_url' => 'URL di accesso', - 'enable_applying_payments' => 'Manual Overpayments', - 'enable_applying_payments_help' => 'Support adding an overpayment amount manually on a payment', + 'enable_applying_payments' => 'Pagamenti manuali in eccesso', + 'enable_applying_payments_help' => 'Supporta l'aggiunta manuale di un pagamento in eccesso Ammontare su un Pagamento', 'stock_quantity' => 'Quantità in magazzino', 'notification_threshold' => 'Soglia di notifica', 'track_inventory' => 'Tieni traccia dell'inventario', @@ -4895,7 +4895,7 @@ $lang = array( 'all_clients' => 'Tutti i clienti', 'show_aging_table' => 'Mostra tabella di invecchiamento', 'show_payments_table' => 'Mostra tabella pagamenti', - 'only_clients_with_invoices' => 'Only Clients with Invoices', + 'only_clients_with_invoices' => 'Solo Clienti con Fatture', 'email_statement' => 'Dichiarazione di posta elettronica', 'once' => 'Una volta', 'schedules' => 'Orari', @@ -4939,7 +4939,7 @@ $lang = array( 'sync_from' => 'Sincronizza da', 'gateway_payment_text' => 'Fatture: :invoices per :amount per cliente :client', 'gateway_payment_text_no_invoice' => 'Pagamento senza fattura per importo :amount per cliente :client', - 'click_to_variables' => 'Click here to see all variables.', + 'click_to_variables' => 'Clicca qui per vedere tutte le variabili.', 'ship_to' => 'Spedire a', 'stripe_direct_debit_details' => 'Si prega di trasferire sul conto bancario indicato sopra.', 'branch_name' => 'Nome ramo', @@ -4959,7 +4959,7 @@ $lang = array( 'payment_type_Interac E Transfer' => 'Interac E Trasferimento', 'xinvoice_payable' => 'Pagabile entro :payeddue giorni netti fino :paydate', 'xinvoice_no_buyers_reference' => "Nessun riferimento dell'acquirente fornito", - 'xinvoice_online_payment' => 'The invoice needs to be paid online via the provided link', + 'xinvoice_online_payment' => 'La Fattura deve essere pagata online tramite il link fornito', 'pre_payment' => 'Pagamento anticipato', 'number_of_payments' => 'Numero di pagamenti', 'number_of_payments_helper' => 'Il numero di volte in cui verrà effettuato questo pagamento', @@ -5035,176 +5035,177 @@ $lang = array( 'here' => 'Qui', 'industry_Restaurant & Catering' => 'Ristorante e ristorazione', 'show_credits_table' => 'Mostra la tabella dei crediti', - 'manual_payment' => 'Payment Manual', - 'tax_summary_report' => 'Tax Summary Report', - 'tax_category' => 'Tax Category', - 'physical_goods' => 'Physical Goods', - 'digital_products' => 'Digital Products', - 'services' => 'Services', - 'shipping' => 'Shipping', - 'tax_exempt' => 'Tax Exempt', - 'late_fee_added_locked_invoice' => 'Late fee for invoice :invoice added on :date', + 'manual_payment' => 'Manuale Pagamento', + 'tax_summary_report' => 'Rapporto riepilogativo fiscale', + 'tax_category' => 'Categoria fiscale', + 'physical_goods' => 'Beni fisici', + 'digital_products' => 'Prodotti digitali', + 'services' => 'Servizi', + 'shipping' => 'Spedizione', + 'tax_exempt' => 'Esente da tasse', + 'late_fee_added_locked_invoice' => 'Penale per ritardo Fattura :invoice aggiunta su :date', 'lang_Khmer' => 'Khmer', - 'routing_id' => 'Routing ID', - 'enable_e_invoice' => 'Enable E-Invoice', - 'e_invoice_type' => 'E-Invoice Type', - 'reduced_tax' => 'Reduced Tax', - 'override_tax' => 'Override Tax', - 'zero_rated' => 'Zero Rated', - 'reverse_tax' => 'Reverse Tax', - 'updated_tax_category' => 'Successfully updated the tax category', - 'updated_tax_categories' => 'Successfully updated the tax categories', - 'set_tax_category' => 'Set Tax Category', - 'payment_manual' => 'Payment Manual', - 'expense_payment_type' => 'Expense Payment Type', - 'payment_type_Cash App' => 'Cash App', - 'rename' => 'Rename', - 'renamed_document' => 'Successfully renamed document', - 'e_invoice' => 'E-Invoice', - 'light_dark_mode' => 'Light/Dark Mode', - 'activities' => 'Activities', - 'recent_transactions' => "Here are your company's most recent transactions:", - 'country_Palestine' => "Palestine", + 'routing_id' => 'ID di instradamento', + 'enable_e_invoice' => 'Abilita E- Fattura', + 'e_invoice_type' => 'Tipo di Fattura E', + 'reduced_tax' => 'Tassa ridotta', + 'override_tax' => 'Ignorare l'imposta', + 'zero_rated' => 'Valutazione zero', + 'reverse_tax' => 'Tassa inversa', + 'updated_tax_category' => 'Con successo aggiornato la categoria fiscale', + 'updated_tax_categories' => 'Con successo aggiornato le categorie fiscali', + 'set_tax_category' => 'Imposta la categoria fiscale', + 'payment_manual' => 'Manuale Pagamento', + 'expense_payment_type' => 'Spesa Pagamento Tipo', + 'payment_type_Cash App' => 'Applicazione contanti', + 'rename' => 'Rinominare', + 'renamed_document' => 'Con successo documento rinominato', + 'e_invoice' => 'E- Fattura', + 'light_dark_mode' => 'Modalità Luce/Scuro', + 'activities' => 'Attività', + 'recent_transactions' => "Ecco le transazioni più recenti della tua azienda:", + 'country_Palestine' => "Palestina", 'country_Taiwan' => 'Taiwan', - 'duties' => 'Duties', - 'order_number' => 'Order Number', - 'order_id' => 'Order', - 'total_invoices_outstanding' => 'Total Invoices Outstanding', - 'recent_activity' => 'Recent Activity', - 'enable_auto_bill' => 'Enable auto billing', - 'email_count_invoices' => 'Email :count invoices', - 'invoice_task_item_description' => 'Invoice Task Item Description', - 'invoice_task_item_description_help' => 'Add the item description to the invoice line items', - 'next_send_time' => 'Next Send Time', - 'uploaded_certificate' => 'Successfully uploaded certificate', - 'certificate_set' => 'Certificate set', - 'certificate_not_set' => 'Certificate not set', - 'passphrase_set' => 'Passphrase set', - 'passphrase_not_set' => 'Passphrase not set', - 'upload_certificate' => 'Upload Certificate', - 'certificate_passphrase' => 'Certificate Passphrase', - 'valid_vat_number' => 'Valid VAT Number', - 'react_notification_link' => 'React Notification Links', - 'react_notification_link_help' => 'Admin emails will contain links to the react application', - 'show_task_billable' => 'Show Task Billable', - 'credit_item' => 'Credit Item', - 'drop_file_here' => 'Drop file here', - 'files' => 'Files', - 'camera' => 'Camera', - 'gallery' => 'Gallery', - 'project_location' => 'Project Location', - 'add_gateway_help_message' => 'Add a payment gateway (ie. Stripe, WePay or PayPal) to accept online payments', - 'lang_Hungarian' => 'Hungarian', - 'use_mobile_to_manage_plan' => 'Use your phone subscription settings to manage your plan', - 'item_tax3' => 'Item Tax3', - 'item_tax_rate1' => 'Item Tax Rate 1', - 'item_tax_rate2' => 'Item Tax Rate 2', - 'item_tax_rate3' => 'Item Tax Rate 3', - 'buy_price' => 'Buy Price', + 'duties' => 'Doveri', + 'order_number' => 'Numero d'ordine', + 'order_id' => 'Ordine', + 'total_invoices_outstanding' => 'Fatture Totale eccezionale', + 'recent_activity' => 'Attività Recente', + 'enable_auto_bill' => 'Abilita la fatturazione automatica', + 'email_count_invoices' => 'email :count Fatture', + 'invoice_task_item_description' => 'Fattura Lavoro Descrizione Articolo', + 'invoice_task_item_description_help' => 'Aggiungi la descrizione dell'articolo alle voci Fattura', + 'next_send_time' => 'Ora di invio successivo', + 'uploaded_certificate' => 'Certificato caricato Con successo', + 'certificate_set' => 'Insieme del certificato', + 'certificate_not_set' => 'Certificato non impostato', + 'passphrase_set' => 'Set di passphrase', + 'passphrase_not_set' => 'Passphrase non impostata', + 'upload_certificate' => 'Carica certificato', + 'certificate_passphrase' => 'Passphrase del certificato', + 'valid_vat_number' => 'Partita IVA valida', + 'react_notification_link' => 'Collegamenti di notifica di reazione', + 'react_notification_link_help' => 'Le e-mail dell'amministratore conterranno collegamenti all'applicazione React', + 'show_task_billable' => 'Mostra Lavoro Fatturabile', + 'credit_item' => 'Voce di credito', + 'drop_file_here' => 'Rilascia il file qui', + 'files' => 'File', + 'camera' => 'Telecamera', + 'gallery' => 'Galleria', + 'project_location' => 'Sede del progetto', + 'add_gateway_help_message' => 'Aggiungi a Piattaforma di Pagamento (es. Stripe, WePay o PayPal) per accettare Pagamenti online', + 'lang_Hungarian' => 'ungherese', + 'use_mobile_to_manage_plan' => 'Utilizza il tuo abbonamento Telefono Impostazioni per gestire il tuo piano', + 'item_tax3' => 'Imposta sugli articoli3', + 'item_tax_rate1' => 'Aliquota fiscale articolo 1', + 'item_tax_rate2' => 'Aliquota fiscale dell'articolo 2', + 'item_tax_rate3' => 'Aliquota fiscale dell'articolo 3', + 'buy_price' => 'Prezzo d'acquisto', 'country_Macedonia' => 'Macedonia', - 'admin_initiated_payments' => 'Admin Initiated Payments', - 'admin_initiated_payments_help' => 'Support entering a payment in the admin portal without an invoice', - 'paid_date' => 'Paid Date', - 'downloaded_entities' => 'An email will be sent with the PDFs', - 'lang_French - Swiss' => 'French - Swiss', + 'admin_initiated_payments' => 'Pagamenti avviati dall'amministratore', + 'admin_initiated_payments_help' => 'Supporta l'inserimento di un Pagamento nel portale amministrativo senza Fattura', + 'paid_date' => 'Data di pagamento', + 'downloaded_entities' => 'Verrà inviata un'e email con i PDF', + 'lang_French - Swiss' => 'Francese - Svizzero', 'currency_swazi_lilangeni' => 'Swazi Lilangeni', - 'income' => 'Income', - 'amount_received_help' => 'Enter a value here if the total amount received was MORE than the invoice amount, or when recording a payment with no invoices. Otherwise this field should be left blank.', - 'vendor_phone' => 'Vendor Phone', - 'mercado_pago' => 'Mercado Pago', + 'income' => 'Reddito', + 'amount_received_help' => 'Invio un valore qui se il Totale Ammontare ricevuto è SUPERIORE alla Fattura Ammontare , oppure quando si registra un Pagamento senza Fatture . Altrimenti questo campo deve essere lasciato vuoto.', + 'vendor_phone' => 'Fornitore Telefono', + 'mercado_pago' => 'Mercato Pago', 'mybank' => 'MyBank', - 'paypal_paylater' => 'Pay in 4', - 'paid_date' => 'Paid Date', - 'district' => 'District', - 'region' => 'Region', - 'county' => 'County', - 'tax_details' => 'Tax Details', - 'activity_10_online' => ':contact entered payment :payment for invoice :invoice for :client', - 'activity_10_manual' => ':user entered payment :payment for invoice :invoice for :client', - 'default_payment_type' => 'Default Payment Type', - 'number_precision' => 'Number precision', - 'number_precision_help' => 'Controls the number of decimals supported in the interface', - 'is_tax_exempt' => 'Tax Exempt', - 'drop_files_here' => 'Drop files here', - 'upload_files' => 'Upload Files', - 'download_e_invoice' => 'Download E-Invoice', - 'triangular_tax_info' => 'Intra-community triangular transaction', - 'intracommunity_tax_info' => 'Tax-free intra-community delivery', - 'reverse_tax_info' => 'Please note that this supply is subject to reverse charge', - 'currency_nicaraguan_cordoba' => 'Nicaraguan Córdoba', - 'public' => 'Public', - 'private' => 'Private', - 'image' => 'Image', - 'other' => 'Other', - 'linked_to' => 'Linked To', - 'file_saved_in_path' => 'The file has been saved in :path', - 'unlinked_transactions' => 'Successfully unlinked :count transactions', - 'unlinked_transaction' => 'Successfully unlinked transaction', - 'view_dashboard_permission' => 'Allow user to access the dashboard, data is limited to available permissions', - 'marked_sent_credits' => 'Successfully marked credits sent', - 'show_document_preview' => 'Show Document Preview', - 'cash_accounting' => 'Cash accounting', - 'click_or_drop_files_here' => 'Click or drop files here', - 'set_public' => 'Set public', - 'set_private' => 'Set private', - 'individual' => 'Individual', - 'business' => 'Business', - 'partnership' => 'partnership', - 'trust' => 'Trust', - 'charity' => 'Charity', - 'government' => 'Government', - 'in_stock_quantity' => 'Stock quantity', - 'vendor_contact' => 'Vendor Contact', - 'expense_status_4' => 'Unpaid', - 'expense_status_5' => 'Paid', - 'ziptax_help' => 'Note: this feature requires a Zip-Tax API key to lookup US sales tax by address', - 'cache_data' => 'Cache Data', - 'unknown' => 'Unknown', - 'webhook_failure' => 'Webhook Failure', - 'email_opened' => 'Email Opened', - 'email_delivered' => 'Email Delivered', - 'log' => 'Log', - 'classification' => 'Classification', - 'stock_quantity_number' => 'Stock :quantity', - 'upcoming' => 'Upcoming', - 'client_contact' => 'Client Contact', - 'uncategorized' => 'Uncategorized', - 'login_notification' => 'Login Notification', - 'login_notification_help' => 'Sends an email notifying that a login has taken place.', - 'payment_refund_receipt' => 'Payment Refund Receipt # :number', - 'payment_receipt' => 'Payment Receipt # :number', - 'load_template_description' => 'The template will be applied to following:', - 'run_template' => 'Run template', - 'statement_design' => 'Statement Design', - 'delivery_note_design' => 'Delivery Note Design', - 'payment_receipt_design' => 'Payment Receipt Design', - 'payment_refund_design' => 'Payment Refund Design', - 'task_extension_banner' => 'Add the Chrome extension to manage your tasks', - 'watch_video' => 'Watch Video', - 'view_extension' => 'View Extension', - 'reactivate_email' => 'Reactivate Email', - 'email_reactivated' => 'Successfully reactivated email', - 'template_help' => 'Enable using the design as a template', - 'quarter' => 'Quarter', - 'item_description' => 'Item Description', - 'task_item' => 'Task Item', - 'record_state' => 'Record State', - 'save_files_to_this_folder' => 'Save files to this folder', - 'downloads_folder' => 'Downloads Folder', - 'total_invoiced_quotes' => 'Invoiced Quotes', - 'total_invoice_paid_quotes' => 'Invoice Paid Quotes', - 'downloads_folder_does_not_exist' => 'The downloads folder does not exist :value', - 'user_logged_in_notification' => 'User Logged in Notification', - 'user_logged_in_notification_help' => 'Send an email when logging in from a new location', - 'payment_email_all_contacts' => 'Payment Email To All Contacts', - 'payment_email_all_contacts_help' => 'Sends the payment email to all contacts when enabled', - 'add_line' => 'Add Line', - 'activity_139' => 'Expense :expense notification sent to :contact', - 'vendor_notification_subject' => 'Confirmation of payment :amount sent to :vendor', - 'vendor_notification_body' => 'Payment processed for :amount dated :payment_date.
[Transaction Reference: :transaction_reference]', - 'receipt' => 'Receipt', - 'charges' => 'Charges', - 'email_report' => 'Email Report', + 'paypal_paylater' => 'Paga in 4', + 'paid_date' => 'Data di pagamento', + 'district' => 'Quartiere', + 'region' => 'Regione', + 'county' => 'contea', + 'tax_details' => 'Dettagli fiscali', + 'activity_10_online' => ':contact inserito Pagamento :payment per Fattura :invoice per :client', + 'activity_10_manual' => ':user inserito Pagamento :payment per Fattura :invoice per :client', + 'default_payment_type' => 'Tipo Pagamento predefinito', + 'number_precision' => 'Precisione dei numeri', + 'number_precision_help' => 'Controlla il numero di decimali supportati nell'interfaccia', + 'is_tax_exempt' => 'Esente da tasse', + 'drop_files_here' => 'Rilascia i file qui', + 'upload_files' => 'Caricare files', + 'download_e_invoice' => 'Scarica E- Fattura', + 'triangular_tax_info' => 'Transazione triangolare intracomunitaria', + 'intracommunity_tax_info' => 'Consegna intracomunitaria esente da imposte', + 'reverse_tax_info' => 'Si prega di Nota che questa fornitura è soggetta a inversione contabile', + 'currency_nicaraguan_cordoba' => 'Cordova nicaraguense', + 'public' => 'Pubblico', + 'private' => 'Privato', + 'image' => 'Immagine', + 'other' => 'Altro', + 'linked_to' => 'Collegato a', + 'file_saved_in_path' => 'Il file è stato salvato in :path', + 'unlinked_transactions' => 'Con successo transazioni :count scollegate', + 'unlinked_transaction' => 'Transazione scollegata Con successo', + 'view_dashboard_permission' => 'Consenti Utente di accedere alla dashboard, i dati sono limitati alle autorizzazioni disponibili', + 'marked_sent_credits' => 'Con successo contrassegnati crediti inviati', + 'show_document_preview' => 'Mostra anteprima documento', + 'cash_accounting' => 'Contabilità di cassa', + 'click_or_drop_files_here' => 'Fare clic o rilasciare i file qui', + 'set_public' => 'Imposta pubblico', + 'set_private' => 'Imposta privato', + 'individual' => 'Individuale', + 'business' => 'Attività commerciale', + 'partnership' => 'associazione', + 'trust' => 'Fiducia', + 'charity' => 'Beneficenza', + 'government' => 'Governo', + 'in_stock_quantity' => 'Quantità di scorta', + 'vendor_contact' => 'contatto Fornitore', + 'expense_status_4' => 'Non pagato', + 'expense_status_5' => 'Pagato', + 'ziptax_help' => 'Nota : questa funzionalità richiede una chiave API Zip-Tax per cercare l'imposta sulle vendite statunitense in base all'indirizzo', + 'cache_data' => 'Dati nella cache', + 'unknown' => 'Sconosciuto', + 'webhook_failure' => 'Errore del webhook', + 'email_opened' => 'email aperta', + 'email_delivered' => 'email consegnata', + 'log' => 'Tronco d'albero', + 'classification' => 'Classificazione', + 'stock_quantity_number' => 'Stock: quantità', + 'upcoming' => 'Prossimamente', + 'client_contact' => 'contatto Cliente', + 'uncategorized' => 'Non categorizzato', + 'login_notification' => 'Notifica di accesso', + 'login_notification_help' => 'Invia un'e email di notifica dell'avvenuto accesso.', + 'payment_refund_receipt' => 'Ricevuta di rimborso Pagamento n. :number', + 'payment_receipt' => 'Ricevuta Pagamento n. :number', + 'load_template_description' => 'Il modello verrà applicato a quanto segue:', + 'run_template' => 'Esegui modello', + 'statement_design' => 'Progettazione di dichiarazioni', + 'delivery_note_design' => 'Progettazione Nota di consegna', + 'payment_receipt_design' => 'Progettazione delle ricevute Pagamento', + 'payment_refund_design' => 'Pagamento Rimborso Design', + 'task_extension_banner' => 'Aggiungi l'estensione Chrome per gestire le tue attività', + 'watch_video' => 'Guarda un video', + 'view_extension' => 'Estensione Vedi', + 'reactivate_email' => 'Riattiva email', + 'email_reactivated' => 'Con successo email riattivata', + 'template_help' => 'Abilita l'utilizzo del design come modello', + 'quarter' => 'Trimestre', + 'item_description' => 'descrizione dell'articolo', + 'task_item' => 'Articolo Lavoro', + 'record_state' => 'Stato della registrazione', + 'save_files_to_this_folder' => 'Salva i file in questa cartella', + 'downloads_folder' => 'Cartella Download', + 'total_invoiced_quotes' => 'Preventivi fatturati', + 'total_invoice_paid_quotes' => 'Fattura preventivi a pagamento', + 'downloads_folder_does_not_exist' => 'La cartella dei download non esiste :value', + 'user_logged_in_notification' => 'Notifica Utente connesso', + 'user_logged_in_notification_help' => 'Invia email quando accedi da una nuova posizione', + 'payment_email_all_contacts' => 'Pagamento email a tutti i contatti', + 'payment_email_all_contacts_help' => 'Quando abilitato, invia l' email Pagamento a tutti i contatti', + 'add_line' => 'Aggiungi riga', + 'activity_139' => 'Spesa :expense notifica inviata a :contact', + 'vendor_notification_subject' => 'Conferma di Pagamento :amount inviata a :vendor', + 'vendor_notification_body' => 'Pagamento elaborato per :amount datato :payment _date.
[Riferimento transazione: :transaction_reference ]', + 'receipt' => 'Ricevuta', + 'charges' => 'Spese', + 'email_report' => 'rapporto email', + 'payment_type_Pay Later' => 'Paga dopo', ); return $lang; diff --git a/lang/km_KH/texts.php b/lang/km_KH/texts.php index 9e7cfd3991..80c733e413 100644 --- a/lang/km_KH/texts.php +++ b/lang/km_KH/texts.php @@ -645,7 +645,7 @@ $lang = array( 'primary_user' => 'អ្នកប្រើប្រាស់បឋម', 'help' => 'ជំនួយ', 'playground' => 'សួនកុមារ', - 'support_forum' => 'Support Forums', + 'support_forum' => 'វេទិកាគាំទ្រ', 'invoice_due_date' => 'កាលបរិច្ឆេទ​កំណត់', 'quote_due_date' => 'មាន​សុពលភាព​ដល់', 'valid_until' => 'មាន​សុពលភាព​ដល់', @@ -739,7 +739,7 @@ $lang = array( 'activity_7' => ':contact បានមើលវិក្កយបត្រ :invoice សម្រាប់ :client', 'activity_8' => ':user បានរក្សាទុកវិក្កយបត្រ :invoice', 'activity_9' => ':user បានលុបវិក្កយបត្រ :invoice', - 'activity_10' => ':user entered payment :payment for :payment_amount on invoice :invoice for :client', + 'activity_10' => ':user បានបញ្ចូលការទូទាត់ :payment សម្រាប់ :payment _ចំនួននៅលើវិក្កយបត្រ :invoice សម្រាប់ :client', 'activity_11' => ':user ការទូទាត់បានធ្វើបច្ចុប្បន្នភាព :payment', 'activity_12' => ':user ការទូទាត់ទុកក្នុងប័ណ្ណសារ :payment', 'activity_13' => ':user បានលុបការទូទាត់ :payment', @@ -1123,7 +1123,7 @@ $lang = array( 'plan_status' => 'ស្ថានភាពផែនការ', 'plan_upgrade' => 'ធ្វើឱ្យប្រសើរឡើង', - 'plan_change' => 'Manage Plan', + 'plan_change' => 'គ្រប់គ្រងផែនការ', 'pending_change_to' => 'ការផ្លាស់ប្តូរទៅ', 'plan_changes_to' => ': ផែនការនៅលើ :date', 'plan_term_changes_to' => ':plan (:term) នៅលើ :date', @@ -1907,7 +1907,7 @@ $lang = array( 'require_quote_signature_help' => 'តម្រូវឱ្យអតិថិជនផ្តល់ហត្ថលេខារបស់ពួកគេ។', 'i_agree' => 'ខ្ញុំយល់ព្រមតាមលក្ខខណ្ឌ', 'sign_here' => 'សូមចុះហត្ថលេខានៅទីនេះ៖', - 'sign_here_ux_tip' => 'Use the mouse or your touchpad to trace your signature.', + 'sign_here_ux_tip' => 'ប្រើកណ្តុរ ឬបន្ទះប៉ះរបស់អ្នក ដើម្បីតាមដានហត្ថលេខារបស់អ្នក។', 'authorization' => 'ការអនុញ្ញាត', 'signed' => 'បាន​ចុះហត្ថលេខា​លើ', @@ -1970,7 +1970,7 @@ $lang = array( 'current_quarter' => 'ត្រីមាសបច្ចុប្បន្ន', 'last_quarter' => 'ត្រីមាសចុងក្រោយ', 'last_year' => 'ឆ្នាំមុន', - 'all_time' => 'All Time', + 'all_time' => 'គ្រប់ពេល', 'custom_range' => 'ជួរផ្ទាល់ខ្លួន', 'url' => 'URL', 'debug' => 'បំបាត់កំហុស', @@ -2230,7 +2230,7 @@ $lang = array( 'restore_recurring_expense' => 'ស្តារការចំណាយឡើងវិញ', 'restored_recurring_expense' => 'បានស្ដារការចំណាយឡើងវិញដោយជោគជ័យ', 'delete_recurring_expense' => 'លុបការចំណាយដែលកើតឡើងដដែលៗ', - 'deleted_recurring_expense' => 'Successfully deleted recurring expense', + 'deleted_recurring_expense' => 'បានលុបការចំណាយដែលកើតឡើងដដែលៗដោយជោគជ័យ', 'view_recurring_expense' => 'មើលការចំណាយបន្ត', 'taxes_and_fees' => 'ពន្ធ និងថ្លៃសេវា', 'import_failed' => 'ការនាំចូលបរាជ័យ', @@ -2374,12 +2374,12 @@ $lang = array( 'currency_cuban_peso' => 'ប្រាក់ប៉េសូគុយបា', 'currency_bz_dollar' => 'ដុល្លារ BZ', - 'currency_libyan_dinar' => 'Libyan Dinar', - 'currency_silver_troy_ounce' => 'Silver Troy Ounce', - 'currency_gold_troy_ounce' => 'Gold Troy Ounce', - 'currency_nicaraguan_córdoba' => 'Nicaraguan Córdoba', - 'currency_malagasy_ariary' => 'Malagasy ariary', - "currency_tongan_pa_anga" => "Tongan Pa'anga", + 'currency_libyan_dinar' => 'ឌីណា លីប៊ី', + 'currency_silver_troy_ounce' => 'ប្រាក់ Troy អោន', + 'currency_gold_troy_ounce' => 'មាស Troy អោន', + 'currency_nicaraguan_córdoba' => 'នីការ៉ាហ្គ័រ Córdoba', + 'currency_malagasy_ariary' => 'អារីរីម៉ាឡាហ្គាស៊ី', + "currency_tongan_pa_anga" => "តុងហ្គាន ប៉ាអង់ហ្គា", 'review_app_help' => 'យើងសង្ឃឹមថាអ្នករីករាយនឹងការប្រើប្រាស់កម្មវិធី។
ប្រសិនបើអ្នកនឹងពិចារណា :link យើងនឹងកោតសរសើរវាយ៉ាងខ្លាំង!', 'writing_a_review' => 'សរសេរការពិនិត្យឡើងវិញ', @@ -2491,8 +2491,8 @@ $lang = array( 'partial_due_date' => 'កាលបរិច្ឆេទផុតកំណត់ផ្នែក', 'task_fields' => 'វាលកិច្ចការ', 'product_fields_help' => 'អូស និងទម្លាក់វាល ដើម្បីផ្លាស់ប្តូរលំដាប់របស់វា។', - 'custom_value1' => 'Custom Value 1', - 'custom_value2' => 'Custom Value 2', + 'custom_value1' => 'តម្លៃផ្ទាល់ខ្លួន 1', + 'custom_value2' => 'តម្លៃផ្ទាល់ខ្លួន 2', 'enable_two_factor' => 'ការផ្ទៀងផ្ទាត់ពីរកត្តា', 'enable_two_factor_help' => 'ប្រើទូរស័ព្ទរបស់អ្នកដើម្បីបញ្ជាក់អត្តសញ្ញាណរបស់អ្នកនៅពេលចូល', 'two_factor_setup' => 'ការដំឡើងកត្តាពីរ', @@ -3315,9 +3315,9 @@ $lang = array( 'freq_three_years' => 'បី​ឆ្នាំ', 'military_time_help' => 'ការបង្ហាញ 24 ម៉ោង។', 'click_here_capital' => 'ចុច​ទីនេះ', - 'marked_invoice_as_paid' => 'Successfully marked invoice as paid', + 'marked_invoice_as_paid' => 'បានសម្គាល់វិក្កយបត្រដោយជោគជ័យថាបានបង់ប្រាក់', 'marked_invoices_as_sent' => 'បានសម្គាល់វិក្កយបត្រដោយជោគជ័យថាបានផ្ញើ', - 'marked_invoices_as_paid' => 'Successfully marked invoices as paid', + 'marked_invoices_as_paid' => 'បានសម្គាល់វិក្កយបត្រដោយជោគជ័យថាបានបង់ប្រាក់', 'activity_57' => 'ប្រព័ន្ធបានបរាជ័យក្នុងការផ្ញើអ៊ីមែលវិក្កយបត្រ :invoice', 'custom_value3' => 'តម្លៃផ្ទាល់ខ្លួន 3', 'custom_value4' => 'តម្លៃផ្ទាល់ខ្លួន ៤', @@ -3346,7 +3346,7 @@ $lang = array( 'credit_number_counter' => 'បញ្ជរលេខឥណទាន', 'reset_counter_date' => 'កំណត់កាលបរិច្ឆេទរាប់ឡើងវិញ', 'counter_padding' => 'Counter Padding', - 'shared_invoice_quote_counter' => 'Share Invoice/Quote Counter', + 'shared_invoice_quote_counter' => 'ចែករំលែកវិក្កយបត្រ/បញ្ជរសម្រង់', 'default_tax_name_1' => 'ឈ្មោះ​ពន្ធ​លំនាំដើម ១', 'default_tax_rate_1' => 'អត្រាពន្ធលំនាំដើម 1', 'default_tax_name_2' => 'ឈ្មោះ​ពន្ធ​លំនាំដើម ២', @@ -3657,9 +3657,9 @@ $lang = array( 'send_date' => 'ផ្ញើកាលបរិច្ឆេទ', 'auto_bill_on' => 'បើកវិក្កយបត្រដោយស្វ័យប្រវត្តិ', 'minimum_under_payment_amount' => 'អប្បបរមាក្រោមចំនួនទឹកប្រាក់ទូទាត់', - 'allow_over_payment' => 'Allow Overpayment', + 'allow_over_payment' => 'អនុញ្ញាតឱ្យបង់ប្រាក់លើស', 'allow_over_payment_help' => 'គាំទ្រការបង់ប្រាក់បន្ថែមដើម្បីទទួលយកព័ត៌មានជំនួយ', - 'allow_under_payment' => 'Allow Underpayment', + 'allow_under_payment' => 'អនុញ្ញាតការបង់ប្រាក់ទាប', 'allow_under_payment_help' => 'គាំទ្រការបង់ប្រាក់អប្បបរមាចំនួនផ្នែក/ការដាក់ប្រាក់', 'test_mode' => 'របៀប​ធ្វើ​តេ​ស្ត', 'calculated_rate' => 'អត្រាគណនា', @@ -3839,7 +3839,7 @@ $lang = array( 'notification_credit_viewed' => 'ម៉ាស៊ីនភ្ញៀវខាងក្រោម :client បានមើលឥណទាន :credit សម្រាប់ :amount ។', 'reset_password_text' => 'បញ្ចូលអ៊ីមែលរបស់អ្នកដើម្បីកំណត់ពាក្យសម្ងាត់របស់អ្នកឡើងវិញ។', 'password_reset' => 'កំណត់ពាក្យសម្ងាត់ឡើងវិញ', - 'account_login_text' => 'Welcome! Glad to see you.', + 'account_login_text' => 'សូមស្វាគមន៍! រីករាយ​ដែល​បាន​ជួប​អ្នក។', 'request_cancellation' => 'ការ​ស្នើ​រ​សុំ​លុបចោល', 'delete_payment_method' => 'លុបវិធីបង់ប្រាក់', 'about_to_delete_payment_method' => 'អ្នកហៀបនឹងលុបវិធីបង់ប្រាក់។', @@ -3953,11 +3953,11 @@ $lang = array( 'add_payment_method_first' => 'បន្ថែមវិធីបង់ប្រាក់', 'no_items_selected' => 'មិនបានជ្រើសរើសធាតុទេ។', 'payment_due' => 'ការទូទាត់ដល់ពេលកំណត់', - 'account_balance' => 'Account Balance', + 'account_balance' => 'សមតុល្យ​គណនី', 'thanks' => 'សូមអរគុណ', 'minimum_required_payment' => 'ការទូទាត់ដែលត្រូវការអប្បបរមាគឺ :amount', - 'under_payments_disabled' => 'Company doesn\'t support underpayments.', - 'over_payments_disabled' => 'Company doesn\'t support overpayments.', + 'under_payments_disabled' => 'ក្រុមហ៊ុនមិនគាំទ្រការបង់ប្រាក់ទាបទេ។', + 'over_payments_disabled' => 'ក្រុមហ៊ុនមិនគាំទ្រការបង់ប្រាក់លើស។', 'saved_at' => 'បានរក្សាទុកនៅ :time', 'credit_payment' => 'ឥណទានបានអនុវត្តទៅវិក្កយបត្រ :invoice_number', 'credit_subject' => 'ឥណទានថ្មី :number ពី :account', @@ -3978,7 +3978,7 @@ $lang = array( 'notification_invoice_reminder1_sent_subject' => 'ការរំលឹក 1 សម្រាប់វិក្កយបត្រ :invoice ត្រូវបានផ្ញើទៅ :client', 'notification_invoice_reminder2_sent_subject' => 'ការរំលឹក 2 សម្រាប់វិក្កយបត្រ :invoice ត្រូវបានផ្ញើទៅ :client', 'notification_invoice_reminder3_sent_subject' => 'ការរំលឹក 3 សម្រាប់វិក្កយបត្រ :invoice ត្រូវបានផ្ញើទៅ :client', - 'notification_invoice_custom_sent_subject' => 'Custom reminder for Invoice :invoice was sent to :client', + 'notification_invoice_custom_sent_subject' => 'ការរំលឹកផ្ទាល់ខ្លួនសម្រាប់វិក្កយបត្រ :invoice ត្រូវបានផ្ញើទៅ :client', 'notification_invoice_reminder_endless_sent_subject' => 'ការរំលឹកគ្មានទីបញ្ចប់សម្រាប់វិក្កយបត្រ :invoice ត្រូវបានផ្ញើទៅ :client', 'assigned_user' => 'អ្នកប្រើប្រាស់ដែលបានកំណត់', 'setup_steps_notice' => 'ដើម្បីបន្តទៅជំហានបន្ទាប់ ត្រូវប្រាកដថាអ្នកសាកល្បងផ្នែកនីមួយៗ។', @@ -4235,7 +4235,7 @@ $lang = array( 'direct_debit' => 'ឥណពន្ធផ្ទាល់', 'clone_to_expense' => 'ក្លូនដើម្បីចំណាយ', 'checkout' => 'ពិនិត្យ​មុន​ពេល​ចេញ', - 'acss' => 'ACSS Debit', + 'acss' => 'ឥណពន្ធ ACSS', 'invalid_amount' => 'ចំនួនទឹកប្រាក់មិនត្រឹមត្រូវ។ លេខ/លេខទសភាគតែប៉ុណ្ណោះ។', 'client_payment_failure_body' => 'ការទូទាត់សម្រាប់វិក្កយបត្រ :invoice សម្រាប់ចំនួនទឹកប្រាក់ :amount បានបរាជ័យ។', 'browser_pay' => 'Google Pay, Apple Pay, Microsoft Pay', @@ -4303,7 +4303,7 @@ $lang = array( 'include_drafts' => 'រួមបញ្ចូលសេចក្តីព្រាង', 'include_drafts_help' => 'រួមបញ្ចូលកំណត់ត្រាព្រាងនៅក្នុងរបាយការណ៍', 'is_invoiced' => 'ត្រូវបានចេញវិក្កយបត្រ', - 'change_plan' => 'Manage Plan', + 'change_plan' => 'គ្រប់គ្រងផែនការ', 'persist_data' => 'ទិន្នន័យបន្ត', 'customer_count' => 'ចំនួនអតិថិជន', 'verify_customers' => 'ផ្ទៀងផ្ទាត់អតិថិជន', @@ -4632,8 +4632,8 @@ $lang = array( 'search_purchase_order' => 'ស្វែងរកការបញ្ជាទិញ', 'search_purchase_orders' => 'ស្វែងរកការបញ្ជាទិញ', 'login_url' => 'ចូល URL', - 'enable_applying_payments' => 'Manual Overpayments', - 'enable_applying_payments_help' => 'Support adding an overpayment amount manually on a payment', + 'enable_applying_payments' => 'ការទូទាត់លើសដោយដៃ', + 'enable_applying_payments_help' => 'គាំទ្រការបន្ថែមចំនួនទឹកប្រាក់ទូទាត់លើសដោយដៃលើការទូទាត់', 'stock_quantity' => 'បរិមាណស្តុក', 'notification_threshold' => 'កម្រិតនៃការជូនដំណឹង', 'track_inventory' => 'តាមដានសារពើភ័ណ្ឌ', @@ -4884,7 +4884,7 @@ $lang = array( 'all_clients' => 'អតិថិជនទាំងអស់។', 'show_aging_table' => 'បង្ហាញតារាងភាពចាស់', 'show_payments_table' => 'បង្ហាញតារាងទូទាត់', - 'only_clients_with_invoices' => 'Only Clients with Invoices', + 'only_clients_with_invoices' => 'មានតែអតិថិជនដែលមានវិក្កយបត្រប៉ុណ្ណោះ។', 'email_statement' => 'សេចក្តីថ្លែងការណ៍អ៊ីមែល', 'once' => 'ម្តង', 'schedules' => 'កាលវិភាគ', @@ -4928,7 +4928,7 @@ $lang = array( 'sync_from' => 'ធ្វើសមកាលកម្មពី', 'gateway_payment_text' => 'វិក្កយបត្រ៖ :invoices សម្រាប់ :amount សម្រាប់អតិថិជន :client', 'gateway_payment_text_no_invoice' => 'ការទូទាត់ដោយគ្មានវិក្កយបត្រសម្រាប់ចំនួនទឹកប្រាក់ :amount សម្រាប់អតិថិជន :client', - 'click_to_variables' => 'Click here to see all variables.', + 'click_to_variables' => 'ចុចទីនេះដើម្បីមើលអថេរទាំងអស់។', 'ship_to' => 'ផ្ញើ​ទៅ', 'stripe_direct_debit_details' => 'សូមផ្ទេរទៅគណនីធនាគារដែលបានតែងតាំងខាងលើ។', 'branch_name' => 'ឈ្មោះសាខា', @@ -5033,167 +5033,168 @@ $lang = array( 'shipping' => 'ការដឹកជញ្ជូន', 'tax_exempt' => 'ការលើកលែងពន្ធ', 'late_fee_added_locked_invoice' => 'ថ្លៃសេវាយឺតយ៉ាវសម្រាប់វិក្កយបត្រ :invoice បានបន្ថែមនៅលើ :date', - 'lang_Khmer' => 'Khmer', - 'routing_id' => 'Routing ID', - 'enable_e_invoice' => 'Enable E-Invoice', - 'e_invoice_type' => 'E-Invoice Type', - 'reduced_tax' => 'Reduced Tax', - 'override_tax' => 'Override Tax', - 'zero_rated' => 'Zero Rated', - 'reverse_tax' => 'Reverse Tax', - 'updated_tax_category' => 'Successfully updated the tax category', - 'updated_tax_categories' => 'Successfully updated the tax categories', - 'set_tax_category' => 'Set Tax Category', - 'payment_manual' => 'Payment Manual', - 'expense_payment_type' => 'Expense Payment Type', - 'payment_type_Cash App' => 'Cash App', - 'rename' => 'Rename', - 'renamed_document' => 'Successfully renamed document', - 'e_invoice' => 'E-Invoice', - 'light_dark_mode' => 'Light/Dark Mode', - 'activities' => 'Activities', - 'recent_transactions' => "Here are your company's most recent transactions:", - 'country_Palestine' => "Palestine", - 'country_Taiwan' => 'Taiwan', - 'duties' => 'Duties', - 'order_number' => 'Order Number', - 'order_id' => 'Order', - 'total_invoices_outstanding' => 'Total Invoices Outstanding', - 'recent_activity' => 'Recent Activity', - 'enable_auto_bill' => 'Enable auto billing', - 'email_count_invoices' => 'Email :count invoices', - 'invoice_task_item_description' => 'Invoice Task Item Description', - 'invoice_task_item_description_help' => 'Add the item description to the invoice line items', - 'next_send_time' => 'Next Send Time', - 'uploaded_certificate' => 'Successfully uploaded certificate', - 'certificate_set' => 'Certificate set', - 'certificate_not_set' => 'Certificate not set', - 'passphrase_set' => 'Passphrase set', - 'passphrase_not_set' => 'Passphrase not set', - 'upload_certificate' => 'Upload Certificate', - 'certificate_passphrase' => 'Certificate Passphrase', - 'valid_vat_number' => 'Valid VAT Number', - 'react_notification_link' => 'React Notification Links', - 'react_notification_link_help' => 'Admin emails will contain links to the react application', - 'show_task_billable' => 'Show Task Billable', - 'credit_item' => 'Credit Item', - 'drop_file_here' => 'Drop file here', - 'files' => 'Files', - 'camera' => 'Camera', - 'gallery' => 'Gallery', - 'project_location' => 'Project Location', - 'add_gateway_help_message' => 'Add a payment gateway (ie. Stripe, WePay or PayPal) to accept online payments', - 'lang_Hungarian' => 'Hungarian', - 'use_mobile_to_manage_plan' => 'Use your phone subscription settings to manage your plan', - 'item_tax3' => 'Item Tax3', - 'item_tax_rate1' => 'Item Tax Rate 1', - 'item_tax_rate2' => 'Item Tax Rate 2', - 'item_tax_rate3' => 'Item Tax Rate 3', - 'buy_price' => 'Buy Price', - 'country_Macedonia' => 'Macedonia', - 'admin_initiated_payments' => 'Admin Initiated Payments', - 'admin_initiated_payments_help' => 'Support entering a payment in the admin portal without an invoice', - 'paid_date' => 'Paid Date', - 'downloaded_entities' => 'An email will be sent with the PDFs', - 'lang_French - Swiss' => 'French - Swiss', - 'currency_swazi_lilangeni' => 'Swazi Lilangeni', - 'income' => 'Income', - 'amount_received_help' => 'Enter a value here if the total amount received was MORE than the invoice amount, or when recording a payment with no invoices. Otherwise this field should be left blank.', - 'vendor_phone' => 'Vendor Phone', + 'lang_Khmer' => 'ខ្មែរ', + 'routing_id' => 'លេខសម្គាល់ផ្លូវ', + 'enable_e_invoice' => 'បើកវិក្កយបត្រអេឡិចត្រូនិច', + 'e_invoice_type' => 'ប្រភេទវិក័យប័ត្រអេឡិចត្រូនិច', + 'reduced_tax' => 'ពន្ធកាត់បន្ថយ', + 'override_tax' => 'បដិសេធពន្ធ', + 'zero_rated' => 'ការវាយតម្លៃសូន្យ', + 'reverse_tax' => 'ពន្ធបញ្ច្រាស', + 'updated_tax_category' => 'បានធ្វើបច្ចុប្បន្នភាពប្រភេទពន្ធដោយជោគជ័យ', + 'updated_tax_categories' => 'បានធ្វើបច្ចុប្បន្នភាពប្រភេទពន្ធដោយជោគជ័យ', + 'set_tax_category' => 'កំណត់ប្រភេទពន្ធ', + 'payment_manual' => 'សៀវភៅណែនាំការទូទាត់', + 'expense_payment_type' => 'ប្រភេទនៃការទូទាត់ចំណាយ', + 'payment_type_Cash App' => 'កម្មវិធីសាច់ប្រាក់', + 'rename' => 'ប្តូរឈ្មោះ', + 'renamed_document' => 'បានប្តូរឈ្មោះឯកសារដោយជោគជ័យ', + 'e_invoice' => 'វិក័យប័ត្រអេឡិចត្រូនិច', + 'light_dark_mode' => 'របៀបពន្លឺ/ងងឹត', + 'activities' => 'សកម្មភាព', + 'recent_transactions' => "នេះគឺជាប្រតិបត្តិការថ្មីៗបំផុតរបស់ក្រុមហ៊ុនអ្នក៖", + 'country_Palestine' => "ប៉ាឡេស្ទីន", + 'country_Taiwan' => 'តៃវ៉ាន់', + 'duties' => 'កាតព្វកិច្ច', + 'order_number' => 'លេខ​លំដាប់', + 'order_id' => 'បញ្ជាទិញ', + 'total_invoices_outstanding' => 'វិក័យប័ត្រសរុបដែលលើស', + 'recent_activity' => 'សកម្មភាពថ្មីៗ', + 'enable_auto_bill' => 'បើកការចេញវិក្កយបត្រដោយស្វ័យប្រវត្តិ', + 'email_count_invoices' => 'អ៊ីមែល :count វិក្កយបត្រ', + 'invoice_task_item_description' => 'ការពិពណ៌នាធាតុកិច្ចការវិក្កយបត្រ', + 'invoice_task_item_description_help' => 'បន្ថែមការពិពណ៌នាធាតុទៅធាតុបន្ទាត់វិក្កយបត្រ', + 'next_send_time' => 'ពេលវេលាផ្ញើបន្ទាប់', + 'uploaded_certificate' => 'បានបង្ហោះវិញ្ញាបនបត្រដោយជោគជ័យ', + 'certificate_set' => 'សំណុំវិញ្ញាបនប័ត្រ', + 'certificate_not_set' => 'វិញ្ញាបនប័ត្រមិនត្រូវបានកំណត់ទេ។', + 'passphrase_set' => 'សំណុំឃ្លាសម្ងាត់', + 'passphrase_not_set' => 'ឃ្លាសម្ងាត់មិនបានកំណត់ទេ។', + 'upload_certificate' => 'បង្ហោះវិញ្ញាបនប័ត្រ', + 'certificate_passphrase' => 'ឃ្លាសម្ងាត់វិញ្ញាបនបត្រ', + 'valid_vat_number' => 'លេខអាករដែលមានសុពលភាព', + 'react_notification_link' => 'តំណភ្ជាប់ការជូនដំណឹងប្រតិកម្ម', + 'react_notification_link_help' => 'អ៊ីមែលអ្នកគ្រប់គ្រងនឹងមានតំណភ្ជាប់ទៅកាន់កម្មវិធីប្រតិកម្ម', + 'show_task_billable' => 'បង្ហាញកិច្ចការដែលអាចចេញវិក្កយបត្របាន។', + 'credit_item' => 'ធាតុឥណទាន', + 'drop_file_here' => 'ទម្លាក់ឯកសារនៅទីនេះ', + 'files' => 'ឯកសារ', + 'camera' => 'កាមេរ៉ា', + 'gallery' => 'វិចិត្រសាល', + 'project_location' => 'ទីតាំងគម្រោង', + 'add_gateway_help_message' => 'បន្ថែមច្រកផ្លូវបង់ប្រាក់ (ឧទាហរណ៍ Stripe, WePay ឬ PayPal) ដើម្បីទទួលយកការទូទាត់តាមអ៊ីនធឺណិត', + 'lang_Hungarian' => 'ហុងគ្រី', + 'use_mobile_to_manage_plan' => 'ប្រើការកំណត់ការជាវទូរស័ព្ទរបស់អ្នកដើម្បីគ្រប់គ្រងគម្រោងរបស់អ្នក។', + 'item_tax3' => 'ពន្ធលើមុខទំនិញ ៣', + 'item_tax_rate1' => 'អត្រាពន្ធលើមុខទំនិញ ១', + 'item_tax_rate2' => 'អត្រាពន្ធលើមុខទំនិញ ២', + 'item_tax_rate3' => 'អត្រាពន្ធលើមុខទំនិញ ៣', + 'buy_price' => 'ទិញតម្លៃ', + 'country_Macedonia' => 'ម៉ាសេដូនៀ', + 'admin_initiated_payments' => 'រដ្ឋបាលចាប់ផ្តើមបង់ប្រាក់', + 'admin_initiated_payments_help' => 'គាំទ្រការបញ្ចូលការទូទាត់នៅក្នុងវិបផតថលគ្រប់គ្រងដោយគ្មានវិក្កយបត្រ', + 'paid_date' => 'កាលបរិច្ឆេទបង់ប្រាក់', + 'downloaded_entities' => 'អ៊ីមែលនឹងត្រូវបានផ្ញើជាមួយឯកសារ PDF', + 'lang_French - Swiss' => 'បារាំង - ស្វីស', + 'currency_swazi_lilangeni' => 'លីឡាងហ្គីនី ស្វាស៊ី', + 'income' => 'ចំណូល', + 'amount_received_help' => 'បញ្ចូលតម្លៃនៅទីនេះ ប្រសិនបើចំនួនសរុបដែលទទួលបានគឺច្រើនជាងចំនួនវិក្កយបត្រ ឬនៅពេលកត់ត្រាការទូទាត់ដោយគ្មានវិក្កយបត្រ។ បើមិនដូច្នេះទេ វាលនេះគួរតែទុកឲ្យនៅទទេ។', + 'vendor_phone' => 'ទូរស័ព្ទអ្នកលក់', 'mercado_pago' => 'Mercado Pago', - 'mybank' => 'MyBank', - 'paypal_paylater' => 'Pay in 4', - 'paid_date' => 'Paid Date', - 'district' => 'District', - 'region' => 'Region', - 'county' => 'County', - 'tax_details' => 'Tax Details', - 'activity_10_online' => ':contact entered payment :payment for invoice :invoice for :client', - 'activity_10_manual' => ':user entered payment :payment for invoice :invoice for :client', - 'default_payment_type' => 'Default Payment Type', - 'number_precision' => 'Number precision', - 'number_precision_help' => 'Controls the number of decimals supported in the interface', - 'is_tax_exempt' => 'Tax Exempt', - 'drop_files_here' => 'Drop files here', - 'upload_files' => 'Upload Files', - 'download_e_invoice' => 'Download E-Invoice', - 'triangular_tax_info' => 'Intra-community triangular transaction', - 'intracommunity_tax_info' => 'Tax-free intra-community delivery', - 'reverse_tax_info' => 'Please note that this supply is subject to reverse charge', - 'currency_nicaraguan_cordoba' => 'Nicaraguan Córdoba', - 'public' => 'Public', - 'private' => 'Private', - 'image' => 'Image', - 'other' => 'Other', - 'linked_to' => 'Linked To', - 'file_saved_in_path' => 'The file has been saved in :path', - 'unlinked_transactions' => 'Successfully unlinked :count transactions', - 'unlinked_transaction' => 'Successfully unlinked transaction', - 'view_dashboard_permission' => 'Allow user to access the dashboard, data is limited to available permissions', - 'marked_sent_credits' => 'Successfully marked credits sent', - 'show_document_preview' => 'Show Document Preview', - 'cash_accounting' => 'Cash accounting', - 'click_or_drop_files_here' => 'Click or drop files here', - 'set_public' => 'Set public', - 'set_private' => 'Set private', - 'individual' => 'Individual', - 'business' => 'Business', - 'partnership' => 'partnership', - 'trust' => 'Trust', - 'charity' => 'Charity', - 'government' => 'Government', - 'in_stock_quantity' => 'Stock quantity', - 'vendor_contact' => 'Vendor Contact', - 'expense_status_4' => 'Unpaid', - 'expense_status_5' => 'Paid', - 'ziptax_help' => 'Note: this feature requires a Zip-Tax API key to lookup US sales tax by address', - 'cache_data' => 'Cache Data', - 'unknown' => 'Unknown', - 'webhook_failure' => 'Webhook Failure', - 'email_opened' => 'Email Opened', - 'email_delivered' => 'Email Delivered', - 'log' => 'Log', - 'classification' => 'Classification', - 'stock_quantity_number' => 'Stock :quantity', - 'upcoming' => 'Upcoming', - 'client_contact' => 'Client Contact', - 'uncategorized' => 'Uncategorized', - 'login_notification' => 'Login Notification', - 'login_notification_help' => 'Sends an email notifying that a login has taken place.', - 'payment_refund_receipt' => 'Payment Refund Receipt # :number', - 'payment_receipt' => 'Payment Receipt # :number', - 'load_template_description' => 'The template will be applied to following:', - 'run_template' => 'Run template', - 'statement_design' => 'Statement Design', - 'delivery_note_design' => 'Delivery Note Design', - 'payment_receipt_design' => 'Payment Receipt Design', - 'payment_refund_design' => 'Payment Refund Design', - 'task_extension_banner' => 'Add the Chrome extension to manage your tasks', - 'watch_video' => 'Watch Video', - 'view_extension' => 'View Extension', - 'reactivate_email' => 'Reactivate Email', - 'email_reactivated' => 'Successfully reactivated email', - 'template_help' => 'Enable using the design as a template', - 'quarter' => 'Quarter', - 'item_description' => 'Item Description', - 'task_item' => 'Task Item', - 'record_state' => 'Record State', - 'save_files_to_this_folder' => 'Save files to this folder', - 'downloads_folder' => 'Downloads Folder', - 'total_invoiced_quotes' => 'Invoiced Quotes', - 'total_invoice_paid_quotes' => 'Invoice Paid Quotes', - 'downloads_folder_does_not_exist' => 'The downloads folder does not exist :value', - 'user_logged_in_notification' => 'User Logged in Notification', - 'user_logged_in_notification_help' => 'Send an email when logging in from a new location', - 'payment_email_all_contacts' => 'Payment Email To All Contacts', - 'payment_email_all_contacts_help' => 'Sends the payment email to all contacts when enabled', - 'add_line' => 'Add Line', - 'activity_139' => 'Expense :expense notification sent to :contact', - 'vendor_notification_subject' => 'Confirmation of payment :amount sent to :vendor', - 'vendor_notification_body' => 'Payment processed for :amount dated :payment_date.
[Transaction Reference: :transaction_reference]', - 'receipt' => 'Receipt', - 'charges' => 'Charges', - 'email_report' => 'Email Report', + 'mybank' => 'ធនាគារ MyBank', + 'paypal_paylater' => 'បង់ក្នុង 4', + 'paid_date' => 'កាលបរិច្ឆេទបង់ប្រាក់', + 'district' => 'ស្រុក', + 'region' => 'តំបន់', + 'county' => 'ខោនធី', + 'tax_details' => 'ព័ត៌មានលម្អិតអំពីពន្ធ', + 'activity_10_online' => ':contact បានបញ្ចូលការទូទាត់ :payment សម្រាប់វិក្កយបត្រ :invoice សម្រាប់ :client', + 'activity_10_manual' => ':user បានបញ្ចូលការទូទាត់ :payment សម្រាប់វិក្កយបត្រ :invoice សម្រាប់ :client', + 'default_payment_type' => 'ប្រភេទការទូទាត់លំនាំដើម', + 'number_precision' => 'ភាពជាក់លាក់នៃលេខ', + 'number_precision_help' => 'គ្រប់គ្រងចំនួនទសភាគដែលបានគាំទ្រនៅក្នុងចំណុចប្រទាក់', + 'is_tax_exempt' => 'ការលើកលែងពន្ធ', + 'drop_files_here' => 'ទម្លាក់ឯកសារនៅទីនេះ', + 'upload_files' => 'ផ្ទុកឯកសារឡើង', + 'download_e_invoice' => 'ទាញយក E-Invoice', + 'triangular_tax_info' => 'ប្រតិបត្តិការត្រីកោណក្នុងសហគមន៍', + 'intracommunity_tax_info' => 'ការដឹកជញ្ជូនក្នុងសហគមន៍ដោយមិនគិតពន្ធ', + 'reverse_tax_info' => 'សូមចំណាំថាការផ្គត់ផ្គង់នេះគឺត្រូវគិតថ្លៃបញ្ច្រាស', + 'currency_nicaraguan_cordoba' => 'នីការ៉ាហ្គ័រ Córdoba', + 'public' => 'សាធារណៈ', + 'private' => 'ឯកជន', + 'image' => 'រូបភាព', + 'other' => 'ផ្សេងទៀត', + 'linked_to' => 'ភ្ជាប់ទៅ', + 'file_saved_in_path' => 'ឯកសារត្រូវបានរក្សាទុកក្នុង :path', + 'unlinked_transactions' => 'បានផ្ដាច់ប្រតិបត្តិការ :count ដោយជោគជ័យ', + 'unlinked_transaction' => 'បានផ្ដាច់ប្រតិបត្តិការដោយជោគជ័យ', + 'view_dashboard_permission' => 'អនុញ្ញាតឱ្យអ្នកប្រើចូលប្រើផ្ទាំងគ្រប់គ្រងទិន្នន័យត្រូវបានកំណត់ចំពោះការអនុញ្ញាតដែលមាន', + 'marked_sent_credits' => 'បានសម្គាល់ដោយជោគជ័យនូវឥណទានដែលបានផ្ញើ', + 'show_document_preview' => 'បង្ហាញការមើលឯកសារជាមុន', + 'cash_accounting' => 'គណនេយ្យសាច់ប្រាក់', + 'click_or_drop_files_here' => 'ចុច ឬទម្លាក់ឯកសារនៅទីនេះ', + 'set_public' => 'កំណត់ជាសាធារណៈ', + 'set_private' => 'កំណត់ឯកជន', + 'individual' => 'បុគ្គល', + 'business' => 'អាជីវកម្ម', + 'partnership' => 'ភាពជាដៃគូ', + 'trust' => 'ទុកចិត្ត', + 'charity' => 'សប្បុរសធម៌', + 'government' => 'រដ្ឋាភិបាល', + 'in_stock_quantity' => 'បរិមាណស្តុក', + 'vendor_contact' => 'ទំនាក់ទំនងអ្នកលក់', + 'expense_status_4' => 'មិនទាន់បង់ប្រាក់', + 'expense_status_5' => 'បង់', + 'ziptax_help' => 'ចំណាំ៖ មុខងារនេះទាមទារលេខកូដ Zip-Tax API ដើម្បីរកមើលពន្ធលក់នៅសហរដ្ឋអាមេរិកតាមអាសយដ្ឋាន', + 'cache_data' => 'ទិន្នន័យឃ្លាំងសម្ងាត់', + 'unknown' => 'មិនស្គាល់', + 'webhook_failure' => 'បរាជ័យ Webhook', + 'email_opened' => 'អ៊ីមែលបានបើក', + 'email_delivered' => 'ផ្ញើអ៊ីមែល', + 'log' => 'កំណត់ហេតុ', + 'classification' => 'ចំណាត់ថ្នាក់', + 'stock_quantity_number' => 'ស្តុក៖ បរិមាណ', + 'upcoming' => 'នាពេលខាងមុខ', + 'client_contact' => 'ទំនាក់ទំនងអតិថិជន', + 'uncategorized' => 'មិនបានចាត់ថ្នាក់', + 'login_notification' => 'ការជូនដំណឹងអំពីការចូល', + 'login_notification_help' => 'ផ្ញើអ៊ីមែលជូនដំណឹងថាការចូលបានកើតឡើង។', + 'payment_refund_receipt' => 'បង្កាន់ដៃការសងប្រាក់វិញ # :number', + 'payment_receipt' => 'បង្កាន់ដៃបង់ប្រាក់ # :number', + 'load_template_description' => 'គំរូនឹងត្រូវបានអនុវត្តចំពោះដូចខាងក្រោម៖', + 'run_template' => 'ដំណើរការគំរូ', + 'statement_design' => 'ការរចនាសេចក្តីថ្លែងការណ៍', + 'delivery_note_design' => 'ការរចនាកំណត់ចំណាំដឹកជញ្ជូន', + 'payment_receipt_design' => 'ការរចនាបង្កាន់ដៃបង់ប្រាក់', + 'payment_refund_design' => 'ការរចនាការសងប្រាក់វិញ', + 'task_extension_banner' => 'បន្ថែមផ្នែកបន្ថែម Chrome ដើម្បីគ្រប់គ្រងកិច្ចការរបស់អ្នក។', + 'watch_video' => 'មើល​វីដេអូ', + 'view_extension' => 'មើលផ្នែកបន្ថែម', + 'reactivate_email' => 'ដំណើរការអ៊ីមែលឡើងវិញ', + 'email_reactivated' => 'បានដំណើរការអ៊ីមែលឡើងវិញដោយជោគជ័យ', + 'template_help' => 'បើកដោយប្រើការរចនាជាគំរូ', + 'quarter' => 'ត្រីមាស', + 'item_description' => 'ការពិពណ៌នាធាតុ', + 'task_item' => 'ធាតុភារកិច្ច', + 'record_state' => 'រដ្ឋកត់ត្រា', + 'save_files_to_this_folder' => 'រក្សាទុកឯកសារទៅថតនេះ។', + 'downloads_folder' => 'ថតឯកសារទាញយក', + 'total_invoiced_quotes' => 'សម្រង់វិក្កយបត្រ', + 'total_invoice_paid_quotes' => 'វិក្កយបត្រដែលបានបង់ថ្លៃសម្រង់', + 'downloads_folder_does_not_exist' => 'ថតឯកសារទាញយកមិនមាន :value', + 'user_logged_in_notification' => 'អ្នកប្រើប្រាស់បានចូលការជូនដំណឹង', + 'user_logged_in_notification_help' => 'ផ្ញើអ៊ីមែលនៅពេលចូលពីទីតាំងថ្មី។', + 'payment_email_all_contacts' => 'អ៊ីមែលបង់ប្រាក់ទៅកាន់ទំនាក់ទំនងទាំងអស់។', + 'payment_email_all_contacts_help' => 'ផ្ញើអ៊ីមែលបង់ប្រាក់ទៅទំនាក់ទំនងទាំងអស់នៅពេលបើកដំណើរការ', + 'add_line' => 'បន្ថែមបន្ទាត់', + 'activity_139' => 'ការជូនដំណឹងអំពីការចំណាយ :expense ផ្ញើទៅ :contact', + 'vendor_notification_subject' => 'ការបញ្ជាក់ពីការទូទាត់ :amount ផ្ញើទៅ :vendor', + 'vendor_notification_body' => 'ការទូទាត់ត្រូវបានដំណើរការសម្រាប់ :amount ចុះកាលបរិច្ឆេទ :payment _date ។
[ឯកសារយោងប្រតិបត្តិការ៖ :transaction_reference ]', + 'receipt' => 'បង្កាន់ដៃ', + 'charges' => 'ការចោទប្រកាន់', + 'email_report' => 'របាយការណ៍អ៊ីមែល', + 'payment_type_Pay Later' => 'បង់ពេលក្រោយ', ); return $lang; diff --git a/lang/nl/texts.php b/lang/nl/texts.php index c168fc4889..1c62e38575 100644 --- a/lang/nl/texts.php +++ b/lang/nl/texts.php @@ -652,7 +652,7 @@ $lang = array( 'primary_user' => 'Primaire gebruiker', 'help' => 'Help', 'playground' => 'playground', - 'support_forum' => 'Support Forums', + 'support_forum' => 'Ondersteuningsforums', 'invoice_due_date' => 'Vervaldatum', 'quote_due_date' => 'Geldig tot', 'valid_until' => 'Geldig tot', @@ -746,7 +746,7 @@ $lang = array( 'activity_7' => ':contact heeft factuur :invoice voor :client bekeken', 'activity_8' => ':user heeft factuur :invoice gearchiveerd', 'activity_9' => ':user heeft factuur :invoice verwijderd', - 'activity_10' => ':user entered payment :payment for :payment_amount on invoice :invoice for :client', + 'activity_10' => ':user ingevoerde betaling :payment voor :payment _bedrag op factuur :invoice voor :client', 'activity_11' => ':user heeft betaling :payment bijgewerkt', 'activity_12' => ':user heeft betaling :payment gearchiveerd', 'activity_13' => ':user heeft betaling :payment verwijderd', @@ -1139,7 +1139,7 @@ $lang = array( 'plan_status' => 'Status abonnement', 'plan_upgrade' => 'Upgraden', - 'plan_change' => 'Manage Plan', + 'plan_change' => 'Plan beheren', 'pending_change_to' => 'Veranderd naar', 'plan_changes_to' => ':plan op :date', 'plan_term_changes_to' => ':plan (:term) op :date', @@ -1924,7 +1924,7 @@ Kom terug naar deze betalingsmethode pagina zodra u de bedragen heeft ontvangen 'require_quote_signature_help' => 'Verplicht de klant zijn handtekening te zetten.', 'i_agree' => 'Ik ga akkoord met de voorwaarden', 'sign_here' => 'Gelieve hier te tekenen:', - 'sign_here_ux_tip' => 'Use the mouse or your touchpad to trace your signature.', + 'sign_here_ux_tip' => 'Gebruik de muis of uw touchpad om uw handtekening te traceren.', 'authorization' => 'Autorisatie', 'signed' => 'Getekend', @@ -1987,7 +1987,7 @@ Kom terug naar deze betalingsmethode pagina zodra u de bedragen heeft ontvangen 'current_quarter' => 'Huidig Kwartaal', 'last_quarter' => 'Laatste Kwartaal', 'last_year' => 'Vorig jaar', - 'all_time' => 'All Time', + 'all_time' => 'Altijd', 'custom_range' => 'Aangepast bereik', 'url' => 'URL', 'debug' => 'Debug', @@ -2247,7 +2247,7 @@ Kom terug naar deze betalingsmethode pagina zodra u de bedragen heeft ontvangen 'restore_recurring_expense' => 'Herstel terugkerende uitgave', 'restored_recurring_expense' => 'De terugkerende uitgave is hersteld', 'delete_recurring_expense' => 'Terugkerende uitgave verwijderen', - 'deleted_recurring_expense' => 'Successfully deleted recurring expense', + 'deleted_recurring_expense' => 'Terugkerende uitgaven zijn verwijderd', 'view_recurring_expense' => 'Terugkerende uitgave tonen', 'taxes_and_fees' => 'Belastingen en heffingen', 'import_failed' => 'Importeren mislukt', @@ -2391,12 +2391,12 @@ Kom terug naar deze betalingsmethode pagina zodra u de bedragen heeft ontvangen 'currency_cuban_peso' => 'Cubaanse Peso', 'currency_bz_dollar' => 'BZ Dollar', - 'currency_libyan_dinar' => 'Libyan Dinar', - 'currency_silver_troy_ounce' => 'Silver Troy Ounce', - 'currency_gold_troy_ounce' => 'Gold Troy Ounce', - 'currency_nicaraguan_córdoba' => 'Nicaraguan Córdoba', - 'currency_malagasy_ariary' => 'Malagasy ariary', - "currency_tongan_pa_anga" => "Tongan Pa'anga", + 'currency_libyan_dinar' => 'Libische dinar', + 'currency_silver_troy_ounce' => 'Zilveren Troy Ounce', + 'currency_gold_troy_ounce' => 'Gouden Troy Ounce', + 'currency_nicaraguan_córdoba' => 'Nicaraguaans Córdoba', + 'currency_malagasy_ariary' => 'Malagassische ariarium', + "currency_tongan_pa_anga" => "Tongaanse Pa'anga", 'review_app_help' => 'We hopen dat je het leuk vindt om de app te gebruiken.
Als je zou overwegen :link, zouden we dat zeer op prijs stellen!', 'writing_a_review' => 'een recensie schrijven', @@ -2508,8 +2508,8 @@ Kom terug naar deze betalingsmethode pagina zodra u de bedragen heeft ontvangen 'partial_due_date' => 'Gedeeltelijke vervaldatum', 'task_fields' => 'Taak velden', 'product_fields_help' => 'Versleep de velden om hun volgorde te wijzigen', - 'custom_value1' => 'Custom Value 1', - 'custom_value2' => 'Custom Value 2', + 'custom_value1' => 'Aangepaste waarde 1', + 'custom_value2' => 'Aangepaste waarde 2', 'enable_two_factor' => 'Tweestaps-authenticatie', 'enable_two_factor_help' => 'Gebruik je telefoon om je identiteit te bevestigen bij het inloggen', 'two_factor_setup' => 'Tweestaps-authenticatie instellen', @@ -3363,7 +3363,7 @@ Kom terug naar deze betalingsmethode pagina zodra u de bedragen heeft ontvangen 'credit_number_counter' => 'Kredietnummer teller', 'reset_counter_date' => 'Teller datum resetten', 'counter_padding' => 'Teller patroon', - 'shared_invoice_quote_counter' => 'Share Invoice/Quote Counter', + 'shared_invoice_quote_counter' => 'Factuur-/offerteteller delen', 'default_tax_name_1' => 'Standaard BTW naam 1', 'default_tax_rate_1' => 'Standaard BTW-tarief 1', 'default_tax_name_2' => 'Standaard BTW naam 2', @@ -3674,9 +3674,9 @@ Kom terug naar deze betalingsmethode pagina zodra u de bedragen heeft ontvangen 'send_date' => 'Verzenddatum', 'auto_bill_on' => 'Automatische betaling aan', 'minimum_under_payment_amount' => 'Minimum onder het te betalen bedrag', - 'allow_over_payment' => 'Allow Overpayment', + 'allow_over_payment' => 'Overbetaling toestaan', 'allow_over_payment_help' => 'Draag bij aan extra betalen om fooi te accepteren', - 'allow_under_payment' => 'Allow Underpayment', + 'allow_under_payment' => 'Onderbetaling toestaan', 'allow_under_payment_help' => 'Ondersteun het betalen van een minimaal gedeeltelijk / aanbetalingsbedrag', 'test_mode' => 'Test modus', 'calculated_rate' => 'Berekend tarief', @@ -3973,8 +3973,8 @@ Kom terug naar deze betalingsmethode pagina zodra u de bedragen heeft ontvangen 'account_balance' => 'Account Saldo', 'thanks' => 'Dank u wel', 'minimum_required_payment' => 'Minimaal vereiste betaling is :amount', - 'under_payments_disabled' => 'Company doesn\'t support underpayments.', - 'over_payments_disabled' => 'Company doesn\'t support overpayments.', + 'under_payments_disabled' => 'Het bedrijf ondersteunt geen onderbetalingen.', + 'over_payments_disabled' => 'Het bedrijf ondersteunt geen te hoge betalingen.', 'saved_at' => 'Opgeslagen op :time', 'credit_payment' => 'Krediet toegepast op factuur :invoice_number', 'credit_subject' => 'Nieuw krediet :number van :account', @@ -4255,7 +4255,7 @@ Email: :email
', 'direct_debit' => 'Automatische Incasso', 'clone_to_expense' => 'Dupliceer naar uitgave', 'checkout' => 'Afrekenen', - 'acss' => 'ACSS Debit', + 'acss' => 'ACSS-debet', 'invalid_amount' => 'Ongeldige hoeveelheid. Alleen getallen/decimale waarden.', 'client_payment_failure_body' => 'Betaling voor factuur :invoice voor een bedrag van :amount is mislukt.', 'browser_pay' => 'Google Pay, Apple Pay, Microsoft Pay', @@ -4652,8 +4652,8 @@ Email: :email
', 'search_purchase_order' => 'Zoek verkoop order', 'search_purchase_orders' => 'Zoek verkoop orders', 'login_url' => 'Inlog-URL', - 'enable_applying_payments' => 'Manual Overpayments', - 'enable_applying_payments_help' => 'Support adding an overpayment amount manually on a payment', + 'enable_applying_payments' => 'Handmatige teveelbetalingen', + 'enable_applying_payments_help' => 'Ondersteuning voor het handmatig toevoegen van een te veel betaald bedrag aan een betaling', 'stock_quantity' => 'Voorraad hoeveelheid', 'notification_threshold' => 'Meldingsdrempel', 'track_inventory' => 'Voorraad bijhouden', @@ -5054,7 +5054,7 @@ Email: :email
', 'tax_exempt' => 'Vrijgesteld van belasting', 'late_fee_added_locked_invoice' => 'Late vergoeding voor factuur :invoice toegevoegd op :date', 'lang_Khmer' => 'Khmer', - 'routing_id' => 'Routing ID', + 'routing_id' => 'Routerings-ID', 'enable_e_invoice' => 'E-Factuur activeren', 'e_invoice_type' => 'E-Factuur type', 'reduced_tax' => 'Verlaagde belasting', @@ -5073,147 +5073,148 @@ Email: :email
', 'light_dark_mode' => 'Licht/Donkere modus', 'activities' => 'Activiteiten', 'recent_transactions' => "Hier zijn het bedrijfs meest recente transacties:", - 'country_Palestine' => "Palestine", + 'country_Palestine' => "Palestina", 'country_Taiwan' => 'Taiwan', - 'duties' => 'Duties', - 'order_number' => 'Order Number', - 'order_id' => 'Order', - 'total_invoices_outstanding' => 'Total Invoices Outstanding', - 'recent_activity' => 'Recent Activity', - 'enable_auto_bill' => 'Enable auto billing', - 'email_count_invoices' => 'Email :count invoices', - 'invoice_task_item_description' => 'Invoice Task Item Description', - 'invoice_task_item_description_help' => 'Add the item description to the invoice line items', - 'next_send_time' => 'Next Send Time', - 'uploaded_certificate' => 'Successfully uploaded certificate', - 'certificate_set' => 'Certificate set', - 'certificate_not_set' => 'Certificate not set', - 'passphrase_set' => 'Passphrase set', - 'passphrase_not_set' => 'Passphrase not set', - 'upload_certificate' => 'Upload Certificate', - 'certificate_passphrase' => 'Certificate Passphrase', - 'valid_vat_number' => 'Valid VAT Number', - 'react_notification_link' => 'React Notification Links', - 'react_notification_link_help' => 'Admin emails will contain links to the react application', - 'show_task_billable' => 'Show Task Billable', - 'credit_item' => 'Credit Item', - 'drop_file_here' => 'Drop file here', - 'files' => 'Files', + 'duties' => 'Taken', + 'order_number' => 'Bestellingsnummer', + 'order_id' => 'Volgorde', + 'total_invoices_outstanding' => 'Totaal openstaande facturen', + 'recent_activity' => 'Recente activiteit', + 'enable_auto_bill' => 'Schakel automatische facturering in', + 'email_count_invoices' => 'E-mail :count -facturen', + 'invoice_task_item_description' => 'Factuurtaak Itembeschrijving', + 'invoice_task_item_description_help' => 'Voeg de artikelbeschrijving toe aan de factuurregelitems', + 'next_send_time' => 'Volgende verzendtijd', + 'uploaded_certificate' => 'Certificaat succesvol geüpload', + 'certificate_set' => 'Certificaat ingesteld', + 'certificate_not_set' => 'Certificaat niet ingesteld', + 'passphrase_set' => 'Wachtwoordzin ingesteld', + 'passphrase_not_set' => 'Wachtwoordzin niet ingesteld', + 'upload_certificate' => 'Certificaat uploaden', + 'certificate_passphrase' => 'Wachtwoordzin voor certificaat', + 'valid_vat_number' => 'Geldig BTW-nummer', + 'react_notification_link' => 'Reageer op meldingslinks', + 'react_notification_link_help' => 'E-mails van beheerders bevatten links naar de reactietoepassing', + 'show_task_billable' => 'Toon taak factureerbaar', + 'credit_item' => 'Kredietartikel', + 'drop_file_here' => 'Zet het bestand hier neer', + 'files' => 'Bestanden', 'camera' => 'Camera', - 'gallery' => 'Gallery', - 'project_location' => 'Project Location', - 'add_gateway_help_message' => 'Add a payment gateway (ie. Stripe, WePay or PayPal) to accept online payments', - 'lang_Hungarian' => 'Hungarian', - 'use_mobile_to_manage_plan' => 'Use your phone subscription settings to manage your plan', - 'item_tax3' => 'Item Tax3', - 'item_tax_rate1' => 'Item Tax Rate 1', - 'item_tax_rate2' => 'Item Tax Rate 2', - 'item_tax_rate3' => 'Item Tax Rate 3', - 'buy_price' => 'Buy Price', - 'country_Macedonia' => 'Macedonia', - 'admin_initiated_payments' => 'Admin Initiated Payments', - 'admin_initiated_payments_help' => 'Support entering a payment in the admin portal without an invoice', - 'paid_date' => 'Paid Date', - 'downloaded_entities' => 'An email will be sent with the PDFs', - 'lang_French - Swiss' => 'French - Swiss', - 'currency_swazi_lilangeni' => 'Swazi Lilangeni', - 'income' => 'Income', - 'amount_received_help' => 'Enter a value here if the total amount received was MORE than the invoice amount, or when recording a payment with no invoices. Otherwise this field should be left blank.', - 'vendor_phone' => 'Vendor Phone', + 'gallery' => 'Galerij', + 'project_location' => 'Project Locatie', + 'add_gateway_help_message' => 'Voeg een betalingsgateway toe (bijv. Stripe, WePay of PayPal) om online betalingen te accepteren', + 'lang_Hungarian' => 'Hongaars', + 'use_mobile_to_manage_plan' => 'Gebruik de instellingen van uw telefoonabonnement om uw abonnement te beheren', + 'item_tax3' => 'Artikelbelasting3', + 'item_tax_rate1' => 'Artikelbelastingtarief 1', + 'item_tax_rate2' => 'Artikelbelastingtarief 2', + 'item_tax_rate3' => 'Artikelbelastingtarief 3', + 'buy_price' => 'Koop prijs', + 'country_Macedonia' => 'Macedonië', + 'admin_initiated_payments' => 'Door de beheerder geïnitieerde betalingen', + 'admin_initiated_payments_help' => 'Ondersteuning voor het invoeren van een betaling in het adminportaal zonder factuur', + 'paid_date' => 'Betaalde datum', + 'downloaded_entities' => 'Er wordt een e-mail verzonden met de PDF's', + 'lang_French - Swiss' => 'Frans - Zwitsers', + 'currency_swazi_lilangeni' => 'Swazische Lilangeni', + 'income' => 'Inkomen', + 'amount_received_help' => 'Vul hier een waarde in als het totaal ontvangen bedrag MEER was dan het factuurbedrag, of bij het vastleggen van een betaling zonder facturen. Anders moet dit veld leeg worden gelaten.', + 'vendor_phone' => 'Verkoper telefoon', 'mercado_pago' => 'Mercado Pago', - 'mybank' => 'MyBank', - 'paypal_paylater' => 'Pay in 4', - 'paid_date' => 'Paid Date', - 'district' => 'District', - 'region' => 'Region', - 'county' => 'County', - 'tax_details' => 'Tax Details', - 'activity_10_online' => ':contact entered payment :payment for invoice :invoice for :client', - 'activity_10_manual' => ':user entered payment :payment for invoice :invoice for :client', - 'default_payment_type' => 'Default Payment Type', - 'number_precision' => 'Number precision', - 'number_precision_help' => 'Controls the number of decimals supported in the interface', - 'is_tax_exempt' => 'Tax Exempt', - 'drop_files_here' => 'Drop files here', - 'upload_files' => 'Upload Files', - 'download_e_invoice' => 'Download E-Invoice', - 'triangular_tax_info' => 'Intra-community triangular transaction', - 'intracommunity_tax_info' => 'Tax-free intra-community delivery', - 'reverse_tax_info' => 'Please note that this supply is subject to reverse charge', - 'currency_nicaraguan_cordoba' => 'Nicaraguan Córdoba', - 'public' => 'Public', - 'private' => 'Private', - 'image' => 'Image', - 'other' => 'Other', - 'linked_to' => 'Linked To', - 'file_saved_in_path' => 'The file has been saved in :path', + 'mybank' => 'Mijn bank', + 'paypal_paylater' => 'Betaal in 4', + 'paid_date' => 'Betaalde datum', + 'district' => 'Wijk', + 'region' => 'Regio', + 'county' => 'District', + 'tax_details' => 'Belastinggegevens', + 'activity_10_online' => ':contact ingevoerde betaling :payment voor factuur :invoice voor :client', + 'activity_10_manual' => ':user ingevoerde betaling :payment voor factuur :invoice voor :client', + 'default_payment_type' => 'Standaard betalingstype', + 'number_precision' => 'Cijferprecisie', + 'number_precision_help' => 'Bepaalt het aantal decimalen dat in de interface wordt ondersteund', + 'is_tax_exempt' => 'Vrijgesteld van belasting', + 'drop_files_here' => 'Zet hier bestanden neer', + 'upload_files' => 'Upload bestanden', + 'download_e_invoice' => 'E-factuur downloaden', + 'triangular_tax_info' => 'Intracommunautaire driehoekstransactie', + 'intracommunity_tax_info' => 'Belastingvrije intracommunautaire levering', + 'reverse_tax_info' => 'Houd er rekening mee dat op deze levering een verleggingsregeling van toepassing is', + 'currency_nicaraguan_cordoba' => 'Nicaraguaans Córdoba', + 'public' => 'Openbaar', + 'private' => 'Privaat', + 'image' => 'Afbeelding', + 'other' => 'Ander', + 'linked_to' => 'Gekoppeld aan', + 'file_saved_in_path' => 'Het bestand is opgeslagen in :path', 'unlinked_transactions' => 'Succesvol :count transacties ontkoppeld.', - 'unlinked_transaction' => 'Successfully unlinked transaction', + 'unlinked_transaction' => 'Transactie ontkoppeld', 'view_dashboard_permission' => 'Geef de gebruiker toegang tot het dashboard, waarbij de beschikbare rechten bepalen welke gegevens zij kunnen zien', - 'marked_sent_credits' => 'Successfully marked credits sent', + 'marked_sent_credits' => 'Succesvol gemarkeerde verzonden credits', 'show_document_preview' => 'Toon Documentvoorbeeld', - 'cash_accounting' => 'Cash accounting', + 'cash_accounting' => 'Kasboekhouding', 'click_or_drop_files_here' => 'Klik hier of sleep bestanden hierheen', - 'set_public' => 'Set public', - 'set_private' => 'Set private', - 'individual' => 'Individual', - 'business' => 'Business', - 'partnership' => 'partnership', - 'trust' => 'Trust', - 'charity' => 'Charity', - 'government' => 'Government', - 'in_stock_quantity' => 'Stock quantity', - 'vendor_contact' => 'Vendor Contact', - 'expense_status_4' => 'Unpaid', - 'expense_status_5' => 'Paid', - 'ziptax_help' => 'Note: this feature requires a Zip-Tax API key to lookup US sales tax by address', - 'cache_data' => 'Cache Data', - 'unknown' => 'Unknown', - 'webhook_failure' => 'Webhook Failure', - 'email_opened' => 'Email Opened', - 'email_delivered' => 'Email Delivered', - 'log' => 'Log', - 'classification' => 'Classification', - 'stock_quantity_number' => 'Stock :quantity', - 'upcoming' => 'Upcoming', - 'client_contact' => 'Client Contact', - 'uncategorized' => 'Uncategorized', - 'login_notification' => 'Login Notification', - 'login_notification_help' => 'Sends an email notifying that a login has taken place.', - 'payment_refund_receipt' => 'Payment Refund Receipt # :number', - 'payment_receipt' => 'Payment Receipt # :number', - 'load_template_description' => 'The template will be applied to following:', - 'run_template' => 'Run template', - 'statement_design' => 'Statement Design', - 'delivery_note_design' => 'Delivery Note Design', - 'payment_receipt_design' => 'Payment Receipt Design', - 'payment_refund_design' => 'Payment Refund Design', - 'task_extension_banner' => 'Add the Chrome extension to manage your tasks', - 'watch_video' => 'Watch Video', - 'view_extension' => 'View Extension', - 'reactivate_email' => 'Reactivate Email', - 'email_reactivated' => 'Successfully reactivated email', - 'template_help' => 'Enable using the design as a template', - 'quarter' => 'Quarter', - 'item_description' => 'Item Description', - 'task_item' => 'Task Item', - 'record_state' => 'Record State', - 'save_files_to_this_folder' => 'Save files to this folder', - 'downloads_folder' => 'Downloads Folder', - 'total_invoiced_quotes' => 'Invoiced Quotes', - 'total_invoice_paid_quotes' => 'Invoice Paid Quotes', - 'downloads_folder_does_not_exist' => 'The downloads folder does not exist :value', - 'user_logged_in_notification' => 'User Logged in Notification', - 'user_logged_in_notification_help' => 'Send an email when logging in from a new location', - 'payment_email_all_contacts' => 'Payment Email To All Contacts', - 'payment_email_all_contacts_help' => 'Sends the payment email to all contacts when enabled', - 'add_line' => 'Add Line', - 'activity_139' => 'Expense :expense notification sent to :contact', - 'vendor_notification_subject' => 'Confirmation of payment :amount sent to :vendor', - 'vendor_notification_body' => 'Payment processed for :amount dated :payment_date.
[Transaction Reference: :transaction_reference]', - 'receipt' => 'Receipt', - 'charges' => 'Charges', - 'email_report' => 'Email Report', + 'set_public' => 'Openbaar instellen', + 'set_private' => 'Privé instellen', + 'individual' => 'Individueel', + 'business' => 'Bedrijf', + 'partnership' => 'vennootschap', + 'trust' => 'Vertrouwen', + 'charity' => 'Goed doel', + 'government' => 'Regering', + 'in_stock_quantity' => 'Voorraadhoeveelheid', + 'vendor_contact' => 'Contactpersoon leverancier', + 'expense_status_4' => 'Onbetaald', + 'expense_status_5' => 'Betaald', + 'ziptax_help' => 'Let op: deze functie vereist een Zip-Tax API-sleutel om de Amerikaanse omzetbelasting op adres op te zoeken', + 'cache_data' => 'Cachegegevens', + 'unknown' => 'Onbekend', + 'webhook_failure' => 'Webhook-fout', + 'email_opened' => 'E-mail geopend', + 'email_delivered' => 'E-mail afgeleverd', + 'log' => 'Logboek', + 'classification' => 'Classificatie', + 'stock_quantity_number' => 'Voorraad: hoeveelheid', + 'upcoming' => 'Aankomend', + 'client_contact' => 'Klantcontact', + 'uncategorized' => 'Niet gecategoriseerd', + 'login_notification' => 'Aanmeldingsmelding', + 'login_notification_help' => 'Stuurt een e-mail met de melding dat er een login heeft plaatsgevonden.', + 'payment_refund_receipt' => 'Betalingsrestitutieontvangst # :number', + 'payment_receipt' => 'Betalingsbewijs # :number', + 'load_template_description' => 'De sjabloon wordt toegepast op het volgende:', + 'run_template' => 'Sjabloon uitvoeren', + 'statement_design' => 'Verklaring ontwerp', + 'delivery_note_design' => 'Ontwerp van leveringsbon', + 'payment_receipt_design' => 'Ontwerp van betalingsontvangst', + 'payment_refund_design' => 'Betaling Terugbetaling Ontwerp', + 'task_extension_banner' => 'Voeg de Chrome-extensie toe om uw taken te beheren', + 'watch_video' => 'Bekijk video', + 'view_extension' => 'Bekijk Extensie', + 'reactivate_email' => 'E-mail opnieuw activeren', + 'email_reactivated' => 'E-mail opnieuw geactiveerd', + 'template_help' => 'Schakel het gebruik van het ontwerp als sjabloon in', + 'quarter' => 'Kwartaal', + 'item_description' => 'product beschrijving', + 'task_item' => 'Taakitem', + 'record_state' => 'Recordstatus', + 'save_files_to_this_folder' => 'Sla bestanden op in deze map', + 'downloads_folder' => 'Map Downloads', + 'total_invoiced_quotes' => 'Gefactureerde offertes', + 'total_invoice_paid_quotes' => 'Factuur betaalde offertes', + 'downloads_folder_does_not_exist' => 'De downloadmap bestaat niet :value', + 'user_logged_in_notification' => 'Gebruiker ingelogd melding', + 'user_logged_in_notification_help' => 'Stuur een e-mail wanneer u inlogt vanaf een nieuwe locatie', + 'payment_email_all_contacts' => 'Betalings-e-mail naar alle contacten', + 'payment_email_all_contacts_help' => 'Stuurt de betalings-e-mail naar alle contacten indien ingeschakeld', + 'add_line' => 'Lijn toevoegen', + 'activity_139' => 'Melding onkosten :expense verzonden naar :contact', + 'vendor_notification_subject' => 'Bevestiging van betaling :amount verzonden naar :vendor', + 'vendor_notification_body' => 'Betaling verwerkt voor :amount gedateerd :payment _date.
[Transactiereferentie: :transaction_reference ]', + 'receipt' => 'Ontvangst', + 'charges' => 'Kosten', + 'email_report' => 'E-mailrapport', + 'payment_type_Pay Later' => 'Betaal later', ); return $lang; diff --git a/lang/pt_BR/texts.php b/lang/pt_BR/texts.php index c22d8a4eb4..0ae42e9b51 100644 --- a/lang/pt_BR/texts.php +++ b/lang/pt_BR/texts.php @@ -1927,7 +1927,7 @@ Quando tiver as quantias, volte a esta página de formas de pagamento e clique " 'require_quote_signature_help' => 'Exigir que o cliente providencie sua assinatura.', 'i_agree' => 'Eu Aceito os Termos', 'sign_here' => 'Por favor assine aqui:', - 'sign_here_ux_tip' => 'Use the mouse or your touchpad to trace your signature.', + 'sign_here_ux_tip' => 'Use o mouse ou o touchpad para rastrear sua assinatura.', 'authorization' => 'Autorização', 'signed' => 'Assinado', @@ -2397,9 +2397,9 @@ Quando tiver as quantias, volte a esta página de formas de pagamento e clique " 'currency_libyan_dinar' => 'Dinar Líbio', 'currency_silver_troy_ounce' => 'Onça Troy de Prata', 'currency_gold_troy_ounce' => 'Onça Troy de Ouro', - 'currency_nicaraguan_córdoba' => 'Nicaraguan Córdoba', - 'currency_malagasy_ariary' => 'Malagasy ariary', - "currency_tongan_pa_anga" => "Tongan Pa'anga", + 'currency_nicaraguan_córdoba' => 'Córdoba Nicaraguense', + 'currency_malagasy_ariary' => 'Ariário malgaxe', + "currency_tongan_pa_anga" => "Pa'anga de Tonga", 'review_app_help' => 'Esperamos que esteja aproveitando o app.
Se você considerar :link agradeceríamos bastante!', 'writing_a_review' => 'Escrevendo uma avaliação', @@ -3366,7 +3366,7 @@ Quando tiver as quantias, volte a esta página de formas de pagamento e clique " 'credit_number_counter' => 'Contador Numérico de Créditos', 'reset_counter_date' => 'Reiniciar Data do Contador', 'counter_padding' => 'Padrão do Contador', - 'shared_invoice_quote_counter' => 'Share Invoice/Quote Counter', + 'shared_invoice_quote_counter' => 'Compartilhar fatura/contador de cotações', 'default_tax_name_1' => 'Nome fiscal padrão 1', 'default_tax_rate_1' => 'Taxa de imposto padrão 1', 'default_tax_name_2' => 'Nome fiscal padrão 2', @@ -3677,9 +3677,9 @@ Quando tiver as quantias, volte a esta página de formas de pagamento e clique " 'send_date' => 'Data de envio', 'auto_bill_on' => 'Faturamento Automático Ativado', 'minimum_under_payment_amount' => 'Valor mínimo abaixo do pagamento', - 'allow_over_payment' => 'Allow Overpayment', + 'allow_over_payment' => 'Permitir pagamento a maior', 'allow_over_payment_help' => 'Permite aceitar gorjetas para pagamentos extras', - 'allow_under_payment' => 'Allow Underpayment', + 'allow_under_payment' => 'Permitir pagamento insuficiente', 'allow_under_payment_help' => 'Permite o pagamento mínimo do valor parcial/depósito', 'test_mode' => 'Modo de teste', 'calculated_rate' => 'Taxa Calculada', @@ -3838,7 +3838,7 @@ Quando tiver as quantias, volte a esta página de formas de pagamento e clique " 'enter_taxes' => 'Insira os impostos', 'by_rate' => 'Por taxa', 'by_amount' => 'Por valor', - 'enter_amount' => 'Enter Amount', + 'enter_amount' => 'Insira o valor', 'before_taxes' => 'Antes de impostos', 'after_taxes' => 'Depois dos impostos', 'color' => 'Cor', @@ -3976,8 +3976,8 @@ Quando tiver as quantias, volte a esta página de formas de pagamento e clique " 'account_balance' => 'Saldo da conta', 'thanks' => 'Obrigado', 'minimum_required_payment' => 'O pagamento mínimo exigido é :amount', - 'under_payments_disabled' => 'Company doesn\'t support underpayments.', - 'over_payments_disabled' => 'Company doesn\'t support overpayments.', + 'under_payments_disabled' => 'A empresa não suporta pagamentos insuficientes.', + 'over_payments_disabled' => 'A empresa não suporta pagamentos indevidos.', 'saved_at' => 'Salvo em :time', 'credit_payment' => 'Crédito aplicado à fatura :invoice _número', 'credit_subject' => 'Novo crédito :number de :account', @@ -4157,8 +4157,8 @@ Quando tiver as quantias, volte a esta página de formas de pagamento e clique " 'activity_81' => ':user assinatura atualizada :subscription', 'activity_82' => 'assinatura arquivada :user :subscription', 'activity_83' => ':user assinatura excluída :subscription', - 'activity_84' => ':user restored subscription :subscription', - 'amount_greater_than_balance_v5' => 'The amount is greater than the invoice balance. You cannot overpay an invoice.', + 'activity_84' => ':user assinatura restaurada :subscription', + 'amount_greater_than_balance_v5' => 'O valor é maior que o saldo da fatura. Você não pode pagar a mais em uma fatura.', 'click_to_continue' => 'Clique para continuar', 'notification_invoice_created_body' => 'A seguinte fatura :invoice foi criada para o cliente :client para :amount .', 'notification_invoice_created_subject' => 'A fatura :invoice foi criada para :client', @@ -4255,7 +4255,7 @@ Quando tiver as quantias, volte a esta página de formas de pagamento e clique " 'direct_debit' => 'Débito Direto', 'clone_to_expense' => 'Clonar para Despesa', 'checkout' => 'Confira', - 'acss' => 'ACSS Debit', + 'acss' => 'Débito ACSS', 'invalid_amount' => 'Montante inválido. Somente valores numéricos/decimais.', 'client_payment_failure_body' => 'Falha no pagamento da fatura :invoice no valor :amount .', 'browser_pay' => 'Google Pay, Apple Pay, Microsoft Pay', @@ -4322,7 +4322,7 @@ Quando tiver as quantias, volte a esta página de formas de pagamento e clique " 'last_sent_date' => 'Data do último envio', 'include_drafts' => 'Incluir rascunhos', 'include_drafts_help' => 'Incluir rascunhos de registros em relatórios', - 'is_invoiced' => 'Is Invoiced', + 'is_invoiced' => 'É faturado', 'change_plan' => 'Gerenciar plano', 'persist_data' => 'Persistir dados', 'customer_count' => 'Contagem de clientes', @@ -4484,7 +4484,7 @@ Quando tiver as quantias, volte a esta página de formas de pagamento e clique " 'client_currency' => 'Moeda do cliente', 'company_currency' => 'Moeda da empresa', 'custom_emails_disabled_help' => 'Para evitar spam, exigimos a atualização para uma conta paga para personalizar o e-mail', - 'upgrade_to_add_company' => 'Upgrade your plan to add companies', + 'upgrade_to_add_company' => 'Atualize seu plano para adicionar empresas', 'file_saved_in_downloads_folder' => 'O arquivo foi salvo na pasta de downloads', 'small' => 'Pequeno', 'quotes_backup_subject' => 'Suas cotações estão prontas para download', @@ -4652,8 +4652,8 @@ Quando tiver as quantias, volte a esta página de formas de pagamento e clique " 'search_purchase_order' => 'Pesquisar pedido de compra', 'search_purchase_orders' => 'Pesquisar pedidos de compra', 'login_url' => 'URL de login', - 'enable_applying_payments' => 'Manual Overpayments', - 'enable_applying_payments_help' => 'Support adding an overpayment amount manually on a payment', + 'enable_applying_payments' => 'Pagamentos indevidos manuais', + 'enable_applying_payments_help' => 'Suporte para adição manual de um valor de pagamento a maior em um pagamento', 'stock_quantity' => 'Quantidade de estoque', 'notification_threshold' => 'Limite de notificação', 'track_inventory' => 'Rastrear inventário', @@ -4798,7 +4798,7 @@ Quando tiver as quantias, volte a esta página de formas de pagamento e clique " 'email_template_change' => 'O corpo do modelo de e-mail pode ser alterado em', 'task_update_authorization_error' => 'Permissões insuficientes ou a tarefa pode estar bloqueada', 'cash_vs_accrual' => 'Contabilidade de exercício', - 'cash_vs_accrual_help' => 'Turn on for accrual reporting, turn off for cash basis reporting.', + 'cash_vs_accrual_help' => 'Ative para relatórios de acumulação e desative para relatórios de regime de caixa.', 'expense_paid_report' => 'Relatórios de despesas', 'expense_paid_report_help' => 'Ative para relatar todas as despesas, desative para relatar apenas despesas pagas', 'online_payment_email_help' => 'Envie um e-mail quando um pagamento online for feito', @@ -4943,8 +4943,8 @@ Quando tiver as quantias, volte a esta página de formas de pagamento e clique " 'no_documents_to_download' => 'Não há documentos nos registros selecionados para download', 'pixels' => 'Píxeis', 'logo_size' => 'Tamanho do logotipo', - 'failed' => 'Failed', - 'client_contacts' => 'Client Contacts', + 'failed' => 'Fracassado', + 'client_contacts' => 'Contatos do cliente', 'sync_from' => 'Sincronizar de', 'gateway_payment_text' => 'Faturas: :invoice s para :amount para o cliente :client', 'gateway_payment_text_no_invoice' => 'Pagamento sem fatura no valor :amount para o cliente :client', @@ -5164,56 +5164,57 @@ Quando tiver as quantias, volte a esta página de formas de pagamento e clique " 'government' => 'Governo', 'in_stock_quantity' => 'Quantidade em estoque', 'vendor_contact' => 'Contato do fornecedor', - 'expense_status_4' => 'Unpaid', - 'expense_status_5' => 'Paid', - 'ziptax_help' => 'Note: this feature requires a Zip-Tax API key to lookup US sales tax by address', - 'cache_data' => 'Cache Data', - 'unknown' => 'Unknown', - 'webhook_failure' => 'Webhook Failure', - 'email_opened' => 'Email Opened', - 'email_delivered' => 'Email Delivered', - 'log' => 'Log', - 'classification' => 'Classification', - 'stock_quantity_number' => 'Stock :quantity', - 'upcoming' => 'Upcoming', - 'client_contact' => 'Client Contact', - 'uncategorized' => 'Uncategorized', - 'login_notification' => 'Login Notification', - 'login_notification_help' => 'Sends an email notifying that a login has taken place.', - 'payment_refund_receipt' => 'Payment Refund Receipt # :number', - 'payment_receipt' => 'Payment Receipt # :number', - 'load_template_description' => 'The template will be applied to following:', - 'run_template' => 'Run template', - 'statement_design' => 'Statement Design', - 'delivery_note_design' => 'Delivery Note Design', - 'payment_receipt_design' => 'Payment Receipt Design', - 'payment_refund_design' => 'Payment Refund Design', - 'task_extension_banner' => 'Add the Chrome extension to manage your tasks', - 'watch_video' => 'Watch Video', - 'view_extension' => 'View Extension', - 'reactivate_email' => 'Reactivate Email', - 'email_reactivated' => 'Successfully reactivated email', - 'template_help' => 'Enable using the design as a template', - 'quarter' => 'Quarter', - 'item_description' => 'Item Description', - 'task_item' => 'Task Item', - 'record_state' => 'Record State', - 'save_files_to_this_folder' => 'Save files to this folder', - 'downloads_folder' => 'Downloads Folder', - 'total_invoiced_quotes' => 'Invoiced Quotes', - 'total_invoice_paid_quotes' => 'Invoice Paid Quotes', - 'downloads_folder_does_not_exist' => 'The downloads folder does not exist :value', - 'user_logged_in_notification' => 'User Logged in Notification', - 'user_logged_in_notification_help' => 'Send an email when logging in from a new location', - 'payment_email_all_contacts' => 'Payment Email To All Contacts', - 'payment_email_all_contacts_help' => 'Sends the payment email to all contacts when enabled', - 'add_line' => 'Add Line', - 'activity_139' => 'Expense :expense notification sent to :contact', - 'vendor_notification_subject' => 'Confirmation of payment :amount sent to :vendor', - 'vendor_notification_body' => 'Payment processed for :amount dated :payment_date.
[Transaction Reference: :transaction_reference]', - 'receipt' => 'Receipt', - 'charges' => 'Charges', - 'email_report' => 'Email Report', + 'expense_status_4' => 'Não pago', + 'expense_status_5' => 'Pago', + 'ziptax_help' => 'Observação: esse recurso requer uma chave de API Zip-Tax para pesquisar impostos sobre vendas dos EUA por endereço', + 'cache_data' => 'Dados de cache', + 'unknown' => 'Desconhecido', + 'webhook_failure' => 'Falha no webhook', + 'email_opened' => 'E-mail aberto', + 'email_delivered' => 'E-mail entregue', + 'log' => 'Registro', + 'classification' => 'Classificação', + 'stock_quantity_number' => 'Estoque: quantidade', + 'upcoming' => 'Por vir', + 'client_contact' => 'Contato do cliente', + 'uncategorized' => 'Sem categoria', + 'login_notification' => 'Notificação de login', + 'login_notification_help' => 'Envia um e-mail notificando que um login foi realizado.', + 'payment_refund_receipt' => 'Recibo de reembolso de pagamento # :number', + 'payment_receipt' => 'Recibo de pagamento # :number', + 'load_template_description' => 'O modelo será aplicado ao seguinte:', + 'run_template' => 'Executar modelo', + 'statement_design' => 'Design de declaração', + 'delivery_note_design' => 'Design de nota de entrega', + 'payment_receipt_design' => 'Design de recibo de pagamento', + 'payment_refund_design' => 'Projeto de reembolso de pagamento', + 'task_extension_banner' => 'Adicione a extensão do Chrome para gerenciar suas tarefas', + 'watch_video' => 'Assista vídeo', + 'view_extension' => 'Ver extensão', + 'reactivate_email' => 'Reativar e-mail', + 'email_reactivated' => 'E-mail reativado com sucesso', + 'template_help' => 'Habilite o uso do design como modelo', + 'quarter' => 'Trimestre', + 'item_description' => 'descrição do item', + 'task_item' => 'Item de tarefa', + 'record_state' => 'Estado do registro', + 'save_files_to_this_folder' => 'Salve os arquivos nesta pasta', + 'downloads_folder' => 'Pasta de downloads', + 'total_invoiced_quotes' => 'Cotações faturadas', + 'total_invoice_paid_quotes' => 'Cotações de faturas pagas', + 'downloads_folder_does_not_exist' => 'A pasta de downloads não existe :value', + 'user_logged_in_notification' => 'Notificação de usuário logado', + 'user_logged_in_notification_help' => 'Envie um e-mail ao fazer login em um novo local', + 'payment_email_all_contacts' => 'Email de pagamento para todos os contatos', + 'payment_email_all_contacts_help' => 'Envia o e-mail de pagamento para todos os contatos quando ativado', + 'add_line' => 'Adicionar linha', + 'activity_139' => 'Notificação de despesa :expense enviada para :contact', + 'vendor_notification_subject' => 'Confirmação de pagamento :amount enviada para :vendor', + 'vendor_notification_body' => 'Pagamento processado para :amount datado de :payment _data.
[Referência da transação: :transaction_reference ]', + 'receipt' => 'Recibo', + 'charges' => 'Cobranças', + 'email_report' => 'Relatório por e-mail', + 'payment_type_Pay Later' => 'Pague depois', ); return $lang; diff --git a/lang/pt_PT/texts.php b/lang/pt_PT/texts.php index 8185e19f9a..c1a2769e64 100644 --- a/lang/pt_PT/texts.php +++ b/lang/pt_PT/texts.php @@ -1928,7 +1928,7 @@ Quando tiver os valores dos depósitos, volte a esta página e conclua a verific 'require_quote_signature_help' => 'Pedir ao cliente para providenciar a sua assinatura.', 'i_agree' => 'Concordo com os termos', 'sign_here' => 'Por favor assine aqui:', - 'sign_here_ux_tip' => 'Use the mouse or your touchpad to trace your signature.', + 'sign_here_ux_tip' => 'Use o mouse ou o touchpad para rastrear sua assinatura.', 'authorization' => 'Autorização', 'signed' => 'Assinado', @@ -2398,9 +2398,9 @@ Quando tiver os valores dos depósitos, volte a esta página e conclua a verific 'currency_libyan_dinar' => 'Dinar Líbio', 'currency_silver_troy_ounce' => 'Onça Troy de Prata', 'currency_gold_troy_ounce' => 'Onça Troy de Ouro', - 'currency_nicaraguan_córdoba' => 'Nicaraguan Córdoba', - 'currency_malagasy_ariary' => 'Malagasy ariary', - "currency_tongan_pa_anga" => "Tongan Pa'anga", + 'currency_nicaraguan_córdoba' => 'Córdoba Nicaraguense', + 'currency_malagasy_ariary' => 'Ariário malgaxe', + "currency_tongan_pa_anga" => "Pa'anga de Tonga", 'review_app_help' => 'Esperamos que esteja a gostar da aplicação.
Se eventualmente considerar :link agradecíamos muito!', 'writing_a_review' => 'escrever uma avaliação', @@ -3368,7 +3368,7 @@ debitar da sua conta de acordo com essas instruções. Está elegível a um reem 'credit_number_counter' => 'Contador Numérico de Créditos', 'reset_counter_date' => 'Reiniciar Data do Contador', 'counter_padding' => 'Padrão do Contador', - 'shared_invoice_quote_counter' => 'Share Invoice/Quote Counter', + 'shared_invoice_quote_counter' => 'Compartilhar fatura/contador de cotações', 'default_tax_name_1' => 'Nome fiscal padrão 1', 'default_tax_rate_1' => 'Taxa de imposto padrão 1', 'default_tax_name_2' => 'Nome fiscal padrão 2', @@ -3679,9 +3679,9 @@ debitar da sua conta de acordo com essas instruções. Está elegível a um reem 'send_date' => 'Data de envio', 'auto_bill_on' => 'Faturamento Automático Ativado', 'minimum_under_payment_amount' => 'Valor mínimo de pagamento', - 'allow_over_payment' => 'Allow Overpayment', + 'allow_over_payment' => 'Permitir pagamento a maior', 'allow_over_payment_help' => 'Suportar pagamentos com quantias superiores à pedida para aceitar gorjetas', - 'allow_under_payment' => 'Allow Underpayment', + 'allow_under_payment' => 'Permitir pagamento insuficiente', 'allow_under_payment_help' => 'Deve pagar no mínimo o valor parcial/depósito', 'test_mode' => 'Modo de teste', 'calculated_rate' => 'Taxa Calculada', @@ -3978,8 +3978,8 @@ debitar da sua conta de acordo com essas instruções. Está elegível a um reem 'account_balance' => 'Saldo da conta', 'thanks' => 'Obrigado', 'minimum_required_payment' => 'O pagamento mínimo é de :amount', - 'under_payments_disabled' => 'Company doesn\'t support underpayments.', - 'over_payments_disabled' => 'Company doesn\'t support overpayments.', + 'under_payments_disabled' => 'A empresa não suporta pagamentos insuficientes.', + 'over_payments_disabled' => 'A empresa não suporta pagamentos indevidos.', 'saved_at' => 'Guardado em :time', 'credit_payment' => 'Nota de crédito aplicada à Nota de Pagamento :invoice_number', 'credit_subject' => 'Nova nota de crédito :number de :account', @@ -4258,7 +4258,7 @@ O envio de E-mails foi suspenso. Será retomado às 23:00 UTC.', 'direct_debit' => 'Débito Direto', 'clone_to_expense' => 'Clonar para despesas', 'checkout' => 'Confira', - 'acss' => 'ACSS Debit', + 'acss' => 'Débito ACSS', 'invalid_amount' => 'Montante inválido. Apenas valores numéricos/decimais.', 'client_payment_failure_body' => 'Falha no pagamento da fatura :invoice para o valor :amount.', 'browser_pay' => 'Google Pay, Apple Pay, Microsoft Pay', @@ -4655,8 +4655,8 @@ O envio de E-mails foi suspenso. Será retomado às 23:00 UTC.', 'search_purchase_order' => 'Pesquisar ordem de compra', 'search_purchase_orders' => 'Pesquisar Pedidos de Compra', 'login_url' => 'URL de login', - 'enable_applying_payments' => 'Manual Overpayments', - 'enable_applying_payments_help' => 'Support adding an overpayment amount manually on a payment', + 'enable_applying_payments' => 'Pagamentos indevidos manuais', + 'enable_applying_payments_help' => 'Suporte para adição manual de um valor de pagamento a maior em um pagamento', 'stock_quantity' => 'Quantidade em Stock', 'notification_threshold' => 'Limite de Notificação', 'track_inventory' => 'Rastreie o Inventário', @@ -5137,7 +5137,7 @@ O envio de E-mails foi suspenso. Será retomado às 23:00 UTC.', 'number_precision' => 'Precisão numérica', 'number_precision_help' => 'Controla o número de decimais suportados na interface', 'is_tax_exempt' => 'Isento de imposto', - 'drop_files_here' => 'Drop files here', + 'drop_files_here' => 'Solte os arquivos aqui', 'upload_files' => 'Fazer upload de arquivos', 'download_e_invoice' => 'Baixar fatura eletrônica', 'triangular_tax_info' => 'Transação triangular intracomunitária', @@ -5167,56 +5167,57 @@ O envio de E-mails foi suspenso. Será retomado às 23:00 UTC.', 'government' => 'Governo', 'in_stock_quantity' => 'Quantidade em estoque', 'vendor_contact' => 'Contato do fornecedor', - 'expense_status_4' => 'Unpaid', - 'expense_status_5' => 'Paid', - 'ziptax_help' => 'Note: this feature requires a Zip-Tax API key to lookup US sales tax by address', - 'cache_data' => 'Cache Data', - 'unknown' => 'Unknown', - 'webhook_failure' => 'Webhook Failure', - 'email_opened' => 'Email Opened', - 'email_delivered' => 'Email Delivered', - 'log' => 'Log', - 'classification' => 'Classification', - 'stock_quantity_number' => 'Stock :quantity', - 'upcoming' => 'Upcoming', - 'client_contact' => 'Client Contact', - 'uncategorized' => 'Uncategorized', - 'login_notification' => 'Login Notification', - 'login_notification_help' => 'Sends an email notifying that a login has taken place.', - 'payment_refund_receipt' => 'Payment Refund Receipt # :number', - 'payment_receipt' => 'Payment Receipt # :number', - 'load_template_description' => 'The template will be applied to following:', - 'run_template' => 'Run template', - 'statement_design' => 'Statement Design', - 'delivery_note_design' => 'Delivery Note Design', - 'payment_receipt_design' => 'Payment Receipt Design', - 'payment_refund_design' => 'Payment Refund Design', - 'task_extension_banner' => 'Add the Chrome extension to manage your tasks', - 'watch_video' => 'Watch Video', - 'view_extension' => 'View Extension', - 'reactivate_email' => 'Reactivate Email', - 'email_reactivated' => 'Successfully reactivated email', - 'template_help' => 'Enable using the design as a template', - 'quarter' => 'Quarter', - 'item_description' => 'Item Description', - 'task_item' => 'Task Item', - 'record_state' => 'Record State', - 'save_files_to_this_folder' => 'Save files to this folder', - 'downloads_folder' => 'Downloads Folder', - 'total_invoiced_quotes' => 'Invoiced Quotes', - 'total_invoice_paid_quotes' => 'Invoice Paid Quotes', - 'downloads_folder_does_not_exist' => 'The downloads folder does not exist :value', - 'user_logged_in_notification' => 'User Logged in Notification', - 'user_logged_in_notification_help' => 'Send an email when logging in from a new location', - 'payment_email_all_contacts' => 'Payment Email To All Contacts', - 'payment_email_all_contacts_help' => 'Sends the payment email to all contacts when enabled', - 'add_line' => 'Add Line', - 'activity_139' => 'Expense :expense notification sent to :contact', - 'vendor_notification_subject' => 'Confirmation of payment :amount sent to :vendor', - 'vendor_notification_body' => 'Payment processed for :amount dated :payment_date.
[Transaction Reference: :transaction_reference]', - 'receipt' => 'Receipt', - 'charges' => 'Charges', - 'email_report' => 'Email Report', + 'expense_status_4' => 'Não pago', + 'expense_status_5' => 'Pago', + 'ziptax_help' => 'Observação: esse recurso requer uma chave de API Zip-Tax para pesquisar impostos sobre vendas dos EUA por endereço', + 'cache_data' => 'Dados de cache', + 'unknown' => 'Desconhecido', + 'webhook_failure' => 'Falha no webhook', + 'email_opened' => 'E-mail aberto', + 'email_delivered' => 'E-mail entregue', + 'log' => 'Registro', + 'classification' => 'Classificação', + 'stock_quantity_number' => 'Estoque: quantidade', + 'upcoming' => 'Por vir', + 'client_contact' => 'Contato do cliente', + 'uncategorized' => 'Sem categoria', + 'login_notification' => 'Notificação de login', + 'login_notification_help' => 'Envia um e-mail notificando que um login foi realizado.', + 'payment_refund_receipt' => 'Recibo de reembolso de pagamento # :number', + 'payment_receipt' => 'Recibo de pagamento # :number', + 'load_template_description' => 'O modelo será aplicado ao seguinte:', + 'run_template' => 'Executar modelo', + 'statement_design' => 'Design de declaração', + 'delivery_note_design' => 'Design de nota de entrega', + 'payment_receipt_design' => 'Design de recibo de pagamento', + 'payment_refund_design' => 'Projeto de reembolso de pagamento', + 'task_extension_banner' => 'Adicione a extensão do Chrome para gerenciar suas tarefas', + 'watch_video' => 'Assista vídeo', + 'view_extension' => 'Ver extensão', + 'reactivate_email' => 'Reativar e-mail', + 'email_reactivated' => 'E-mail reativado com sucesso', + 'template_help' => 'Habilite o uso do design como modelo', + 'quarter' => 'Trimestre', + 'item_description' => 'descrição do item', + 'task_item' => 'Item de tarefa', + 'record_state' => 'Estado do registro', + 'save_files_to_this_folder' => 'Salve os arquivos nesta pasta', + 'downloads_folder' => 'Pasta de downloads', + 'total_invoiced_quotes' => 'Cotações faturadas', + 'total_invoice_paid_quotes' => 'Cotações de faturas pagas', + 'downloads_folder_does_not_exist' => 'A pasta de downloads não existe :value', + 'user_logged_in_notification' => 'Notificação de usuário logado', + 'user_logged_in_notification_help' => 'Envie um e-mail ao fazer login em um novo local', + 'payment_email_all_contacts' => 'Email de pagamento para todos os contatos', + 'payment_email_all_contacts_help' => 'Envia o e-mail de pagamento para todos os contatos quando ativado', + 'add_line' => 'Adicionar linha', + 'activity_139' => 'Notificação de despesa :expense enviada para :contact', + 'vendor_notification_subject' => 'Confirmação de pagamento :amount enviada para :vendor', + 'vendor_notification_body' => 'Pagamento processado para :amount datado de :payment _data.
[Referência da transação: :transaction_reference ]', + 'receipt' => 'Recibo', + 'charges' => 'Cobranças', + 'email_report' => 'Relatório por e-mail', + 'payment_type_Pay Later' => 'Pague depois', ); return $lang; diff --git a/lang/sk/texts.php b/lang/sk/texts.php index 44da5b0700..1846a08caf 100644 --- a/lang/sk/texts.php +++ b/lang/sk/texts.php @@ -655,7 +655,7 @@ Nemôžete nájsť faktúru? Potrebujete poradiť? Radi Vám pomôžeme 'primary_user' => 'Primárny používateľ', 'help' => 'Pomoc', 'playground' => 'ihrisko', - 'support_forum' => 'Support Forums', + 'support_forum' => 'Fóra podpory', 'invoice_due_date' => 'Dátum splatnosti', 'quote_due_date' => 'Platné do', 'valid_until' => 'Platné do', @@ -749,7 +749,7 @@ Nemôžete nájsť faktúru? Potrebujete poradiť? Radi Vám pomôžeme 'activity_7' => ':contact zobrazil faktúru :invoice pre zákazníka :client', 'activity_8' => ':user archivoval faktúru :invoice', 'activity_9' => ':user odstránil faktúru :invoice', - 'activity_10' => ':user entered payment :payment for :payment_amount on invoice :invoice for :client', + 'activity_10' => ':user zadaná platba :payment za :payment _suma na faktúre :invoice za :client', 'activity_11' => ':user upravil platbu :payment', 'activity_12' => ':user archivoval platbu :payment', 'activity_13' => ':user odstránil platbu :payment', @@ -1133,7 +1133,7 @@ Nemôžete nájsť faktúru? Potrebujete poradiť? Radi Vám pomôžeme 'plan_status' => 'Stav plánu', 'plan_upgrade' => 'Vylepšiť', - 'plan_change' => 'Manage Plan', + 'plan_change' => 'Spravovať plán', 'pending_change_to' => 'Zmeniť na', 'plan_changes_to' => ':plan ku :date', 'plan_term_changes_to' => ':plan (:term) ku :date', @@ -1917,7 +1917,7 @@ Nemôžete nájsť faktúru? Potrebujete poradiť? Radi Vám pomôžeme 'require_quote_signature_help' => 'Vyžadovať od klienta podpis.', 'i_agree' => 'Súhlasím s podmienkami', 'sign_here' => 'Podpis:', - 'sign_here_ux_tip' => 'Use the mouse or your touchpad to trace your signature.', + 'sign_here_ux_tip' => 'Pomocou myši alebo touchpadu sledujte svoj podpis.', 'authorization' => 'Oprávnenie', 'signed' => 'Podpísaný', @@ -1980,7 +1980,7 @@ Nemôžete nájsť faktúru? Potrebujete poradiť? Radi Vám pomôžeme 'current_quarter' => 'Aktuálny Štvrťrok', 'last_quarter' => 'Posledný Štvrťrok', 'last_year' => 'Posledný Rok', - 'all_time' => 'All Time', + 'all_time' => 'Vždy', 'custom_range' => 'Vlastný rozsah', 'url' => 'URL', 'debug' => 'Ladiť', @@ -2240,7 +2240,7 @@ Nemôžete nájsť faktúru? Potrebujete poradiť? Radi Vám pomôžeme 'restore_recurring_expense' => 'Obnoviť pravidelné výdaje', 'restored_recurring_expense' => 'Pravidelné výdaje úspešne obnovené', 'delete_recurring_expense' => 'Zmazať pravidelné výdaje', - 'deleted_recurring_expense' => 'Successfully deleted recurring expense', + 'deleted_recurring_expense' => 'Opakovaný výdavok bol úspešne odstránený', 'view_recurring_expense' => 'Zobraziť pravidelné výdaje', 'taxes_and_fees' => 'Dane a poplatky', 'import_failed' => 'Import zlyhal', @@ -2384,12 +2384,12 @@ Nemôžete nájsť faktúru? Potrebujete poradiť? Radi Vám pomôžeme 'currency_cuban_peso' => 'Kubánske Peso', 'currency_bz_dollar' => 'BZ dolár', - 'currency_libyan_dinar' => 'Libyan Dinar', - 'currency_silver_troy_ounce' => 'Silver Troy Ounce', - 'currency_gold_troy_ounce' => 'Gold Troy Ounce', - 'currency_nicaraguan_córdoba' => 'Nicaraguan Córdoba', - 'currency_malagasy_ariary' => 'Malagasy ariary', - "currency_tongan_pa_anga" => "Tongan Pa'anga", + 'currency_libyan_dinar' => 'líbyjský dinár', + 'currency_silver_troy_ounce' => 'Strieborná trójska unca', + 'currency_gold_troy_ounce' => 'Zlatá trójska unca', + 'currency_nicaraguan_córdoba' => 'Nikaragujská Córdoba', + 'currency_malagasy_ariary' => 'Madagaskarský ariár', + "currency_tongan_pa_anga" => "Tongan Pa'anga", 'review_app_help' => 'Dúfame, že sa vám používanie aplikácie páči.
Ak by ste zvážili :link, veľmi by sme to ocenili!', 'writing_a_review' => 'písanie recenzie', @@ -2501,8 +2501,8 @@ Nemôžete nájsť faktúru? Potrebujete poradiť? Radi Vám pomôžeme 'partial_due_date' => 'Čiastočný dátum splatnosti', 'task_fields' => 'Polia úloh', 'product_fields_help' => 'Presunutím polí zmeníte ich poradie', - 'custom_value1' => 'Custom Value 1', - 'custom_value2' => 'Custom Value 2', + 'custom_value1' => 'Vlastná hodnota 1', + 'custom_value2' => 'Vlastná hodnota 2', 'enable_two_factor' => 'Dvojfaktorové overovanie', 'enable_two_factor_help' => 'Použiť telefón na potvrdenie identity pri prihlasovaní', 'two_factor_setup' => 'Nastavenie dvojfaktorového overovania', @@ -3325,9 +3325,9 @@ Nemôžete nájsť faktúru? Potrebujete poradiť? Radi Vám pomôžeme 'freq_three_years' => 'Tri roky', 'military_time_help' => '24-hodinové zobrazenie', 'click_here_capital' => 'Kliknite tu', - 'marked_invoice_as_paid' => 'Successfully marked invoice as paid', + 'marked_invoice_as_paid' => 'Faktúra bola úspešne označená ako zaplatená', 'marked_invoices_as_sent' => 'Faktúry boli úspešne označené ako odoslané', - 'marked_invoices_as_paid' => 'Successfully marked invoices as paid', + 'marked_invoices_as_paid' => 'Faktúry boli úspešne označené ako zaplatené', 'activity_57' => 'Systému sa nepodarilo odoslať e-mailom faktúru :invoice', 'custom_value3' => 'Vlastná hodnota 3', 'custom_value4' => 'Vlastná hodnota 4', @@ -3356,7 +3356,7 @@ Nemôžete nájsť faktúru? Potrebujete poradiť? Radi Vám pomôžeme 'credit_number_counter' => 'Počítadlo kreditných čísel', 'reset_counter_date' => 'Vynulovať dátum počítadla', 'counter_padding' => 'Polstrovanie pultu', - 'shared_invoice_quote_counter' => 'Share Invoice/Quote Counter', + 'shared_invoice_quote_counter' => 'Zdieľanie faktúry/počítadla cenovej ponuky', 'default_tax_name_1' => 'Predvolený názov dane 1', 'default_tax_rate_1' => 'Predvolená sadzba dane 1', 'default_tax_name_2' => 'Predvolený názov dane 2', @@ -3667,9 +3667,9 @@ Nemôžete nájsť faktúru? Potrebujete poradiť? Radi Vám pomôžeme 'send_date' => 'Dátum odoslania', 'auto_bill_on' => 'Zapnúť Automatické účtovanie', 'minimum_under_payment_amount' => 'Minimálna čiastka platby', - 'allow_over_payment' => 'Allow Overpayment', + 'allow_over_payment' => 'Povoliť preplatok', 'allow_over_payment_help' => 'Podporte platenie navyše za prijímanie tipov', - 'allow_under_payment' => 'Allow Underpayment', + 'allow_under_payment' => 'Povoliť nedoplatok', 'allow_under_payment_help' => 'Podpora platenia minimálnej čiastky/vkladu', 'test_mode' => 'Testovací mód', 'calculated_rate' => 'Vypočítaná sadzba', @@ -3849,7 +3849,7 @@ Nemôžete nájsť faktúru? Potrebujete poradiť? Radi Vám pomôžeme 'notification_credit_viewed' => 'Následovný klient :client si zobrazil kredit :credit na :amount.', 'reset_password_text' => 'Zadajte svoj e-mail na obnovenie hesla.', 'password_reset' => 'Resetovanie hesla', - 'account_login_text' => 'Welcome! Glad to see you.', + 'account_login_text' => 'Vitajte! Rád, že ťa vidím.', 'request_cancellation' => 'Požiadať o zrušenie', 'delete_payment_method' => 'Odstrániť spôsob platby', 'about_to_delete_payment_method' => 'Chystáte sa odstrániť spôsob platby.', @@ -3963,11 +3963,11 @@ Nemôžete nájsť faktúru? Potrebujete poradiť? Radi Vám pomôžeme 'add_payment_method_first' => 'pridať spôsob platby', 'no_items_selected' => 'Nevybratá žiadna z možností', 'payment_due' => 'Splatné due', - 'account_balance' => 'Account Balance', + 'account_balance' => 'Zostatok na účte', 'thanks' => 'Vďaka', 'minimum_required_payment' => 'Minimálna požadovaná platba je: amount', - 'under_payments_disabled' => 'Company doesn\'t support underpayments.', - 'over_payments_disabled' => 'Company doesn\'t support overpayments.', + 'under_payments_disabled' => 'Spoločnosť nepodporuje nedoplatky.', + 'over_payments_disabled' => 'Spoločnosť nepodporuje preplatky.', 'saved_at' => 'Uložené o :time', 'credit_payment' => 'Kredit bol pripísaný na faktúru :invoice_number', 'credit_subject' => 'Nový kredit :number z :account', @@ -3988,7 +3988,7 @@ Nemôžete nájsť faktúru? Potrebujete poradiť? Radi Vám pomôžeme 'notification_invoice_reminder1_sent_subject' => 'Pripomienka faktúry č.1 :faktúra bola odoslaná :klient', 'notification_invoice_reminder2_sent_subject' => 'Pripomienka 2 pre Faktúra :invoice bola odoslaná :client', 'notification_invoice_reminder3_sent_subject' => 'Pripomienka 3 pre Faktúra :invoice bola odoslaná :client', - 'notification_invoice_custom_sent_subject' => 'Custom reminder for Invoice :invoice was sent to :client', + 'notification_invoice_custom_sent_subject' => 'Vlastná pripomienka pre faktúru :invoice bola odoslaná na :client', 'notification_invoice_reminder_endless_sent_subject' => 'Nekonečná pripomienka pre Faktúra :invoice bola odoslaná :client', 'assigned_user' => 'Prihlásený používateľ', 'setup_steps_notice' => 'Ak chcete prejsť na ďalší krok, nezabudnite otestovať každú časť.', @@ -4245,7 +4245,7 @@ Nemôžete nájsť faktúru? Potrebujete poradiť? Radi Vám pomôžeme 'direct_debit' => 'Inkaso', 'clone_to_expense' => 'Clone to Expense', 'checkout' => 'Odhlásiť sa', - 'acss' => 'ACSS Debit', + 'acss' => 'ACSS debet', 'invalid_amount' => 'Neplatná suma. Len číselné/desatinné hodnoty.', 'client_payment_failure_body' => 'Platba za faktúru :invoice za sumu :amount zlyhala.', 'browser_pay' => 'Google Pay, Apple Pay, Microsoft Pay', @@ -4313,7 +4313,7 @@ Nemôžete nájsť faktúru? Potrebujete poradiť? Radi Vám pomôžeme 'include_drafts' => 'Zahrnúť koncepty', 'include_drafts_help' => 'Zahrňte do správ koncepty záznamov', 'is_invoiced' => 'Je fakturované', - 'change_plan' => 'Manage Plan', + 'change_plan' => 'Spravovať plán', 'persist_data' => 'Trvalé údaje', 'customer_count' => 'Počet zákazníkov', 'verify_customers' => 'Overiť zákazníkov', @@ -4642,8 +4642,8 @@ Nemôžete nájsť faktúru? Potrebujete poradiť? Radi Vám pomôžeme 'search_purchase_order' => 'Vyhľadajte objednávku', 'search_purchase_orders' => 'Vyhľadajte objednávky', 'login_url' => 'Prihlasovacia adresa URL', - 'enable_applying_payments' => 'Manual Overpayments', - 'enable_applying_payments_help' => 'Support adding an overpayment amount manually on a payment', + 'enable_applying_payments' => 'Manuálne preplatky', + 'enable_applying_payments_help' => 'Podpora manuálneho pridania sumy preplatku k platbe', 'stock_quantity' => 'Skladové množstvo', 'notification_threshold' => 'Limit upozornení', 'track_inventory' => 'Sledovať inventár', @@ -4894,7 +4894,7 @@ Nemôžete nájsť faktúru? Potrebujete poradiť? Radi Vám pomôžeme 'all_clients' => 'Všetci klienti', 'show_aging_table' => 'Zobraziť tabuľku starnutia', 'show_payments_table' => 'Zobraziť tabuľku platieb', - 'only_clients_with_invoices' => 'Only Clients with Invoices', + 'only_clients_with_invoices' => 'Iba klienti s faktúrami', 'email_statement' => 'E-mailové vyhlásenie', 'once' => 'Raz', 'schedules' => 'Rozvrhy', @@ -4938,7 +4938,7 @@ Nemôžete nájsť faktúru? Potrebujete poradiť? Radi Vám pomôžeme 'sync_from' => 'Synchronizovať z', 'gateway_payment_text' => 'Faktúry: :invoices pre :amount pre klienta :client', 'gateway_payment_text_no_invoice' => 'Platba bez faktúry za sumu :amount pre klienta :client', - 'click_to_variables' => 'Click here to see all variables.', + 'click_to_variables' => 'Kliknutím sem zobrazíte všetky premenné.', 'ship_to' => 'Odoslať do', 'stripe_direct_debit_details' => 'Preveďte prosím na vyššie uvedený bankový účet.', 'branch_name' => 'Meno pobočky', @@ -4958,7 +4958,7 @@ Nemôžete nájsť faktúru? Potrebujete poradiť? Radi Vám pomôžeme 'payment_type_Interac E Transfer' => 'Interac E Transfer', 'xinvoice_payable' => 'Splatné do :payeddue dní netto do :paydate', 'xinvoice_no_buyers_reference' => "Nebola uvedená žiadna referencia kupujúceho", - 'xinvoice_online_payment' => 'The invoice needs to be paid online via the provided link', + 'xinvoice_online_payment' => 'Faktúru je potrebné uhradiť online cez uvedený odkaz', 'pre_payment' => 'Platba vopred', 'number_of_payments' => 'Počet platieb', 'number_of_payments_helper' => 'Koľkokrát sa táto platba uskutoční', @@ -5034,176 +5034,177 @@ Nemôžete nájsť faktúru? Potrebujete poradiť? Radi Vám pomôžeme 'here' => 'tu', 'industry_Restaurant & Catering' => 'Reštaurácia & Catering', 'show_credits_table' => 'Zobraziť tabuľku kreditov', - 'manual_payment' => 'Payment Manual', - 'tax_summary_report' => 'Tax Summary Report', - 'tax_category' => 'Tax Category', - 'physical_goods' => 'Physical Goods', - 'digital_products' => 'Digital Products', - 'services' => 'Services', - 'shipping' => 'Shipping', - 'tax_exempt' => 'Tax Exempt', - 'late_fee_added_locked_invoice' => 'Late fee for invoice :invoice added on :date', - 'lang_Khmer' => 'Khmer', - 'routing_id' => 'Routing ID', - 'enable_e_invoice' => 'Enable E-Invoice', - 'e_invoice_type' => 'E-Invoice Type', - 'reduced_tax' => 'Reduced Tax', - 'override_tax' => 'Override Tax', + 'manual_payment' => 'Manuál platby', + 'tax_summary_report' => 'Súhrnný prehľad daní', + 'tax_category' => 'Daňová kategória', + 'physical_goods' => 'Fyzický tovar', + 'digital_products' => 'Digitálne produkty', + 'services' => 'Služby', + 'shipping' => 'Doprava', + 'tax_exempt' => 'Oslobodené od dane', + 'late_fee_added_locked_invoice' => 'Poplatok za omeškanie za faktúru :invoice pridaný dňa :date', + 'lang_Khmer' => 'khmérsky', + 'routing_id' => 'ID smerovania', + 'enable_e_invoice' => 'Povoliť elektronickú faktúru', + 'e_invoice_type' => 'Typ elektronickej faktúry', + 'reduced_tax' => 'Znížená daň', + 'override_tax' => 'Prepísať daň', 'zero_rated' => 'Zero Rated', - 'reverse_tax' => 'Reverse Tax', - 'updated_tax_category' => 'Successfully updated the tax category', - 'updated_tax_categories' => 'Successfully updated the tax categories', - 'set_tax_category' => 'Set Tax Category', - 'payment_manual' => 'Payment Manual', - 'expense_payment_type' => 'Expense Payment Type', - 'payment_type_Cash App' => 'Cash App', - 'rename' => 'Rename', - 'renamed_document' => 'Successfully renamed document', - 'e_invoice' => 'E-Invoice', - 'light_dark_mode' => 'Light/Dark Mode', - 'activities' => 'Activities', - 'recent_transactions' => "Here are your company's most recent transactions:", - 'country_Palestine' => "Palestine", + 'reverse_tax' => 'Spätná daň', + 'updated_tax_category' => 'Kategória dane bola úspešne aktualizovaná', + 'updated_tax_categories' => 'Úspešne aktualizované daňové kategórie', + 'set_tax_category' => 'Nastavte kategóriu dane', + 'payment_manual' => 'Manuál platby', + 'expense_payment_type' => 'Typ platby výdavkov', + 'payment_type_Cash App' => 'Hotovostná aplikácia', + 'rename' => 'Premenovať', + 'renamed_document' => 'Dokument bol úspešne premenovaný', + 'e_invoice' => 'Elektronická faktúra', + 'light_dark_mode' => 'Svetlý/Tmavý režim', + 'activities' => 'Aktivity', + 'recent_transactions' => "Tu sú posledné transakcie vašej spoločnosti:", + 'country_Palestine' => "Palestíne", 'country_Taiwan' => 'Taiwan', - 'duties' => 'Duties', - 'order_number' => 'Order Number', - 'order_id' => 'Order', - 'total_invoices_outstanding' => 'Total Invoices Outstanding', - 'recent_activity' => 'Recent Activity', - 'enable_auto_bill' => 'Enable auto billing', - 'email_count_invoices' => 'Email :count invoices', - 'invoice_task_item_description' => 'Invoice Task Item Description', - 'invoice_task_item_description_help' => 'Add the item description to the invoice line items', - 'next_send_time' => 'Next Send Time', - 'uploaded_certificate' => 'Successfully uploaded certificate', - 'certificate_set' => 'Certificate set', - 'certificate_not_set' => 'Certificate not set', - 'passphrase_set' => 'Passphrase set', - 'passphrase_not_set' => 'Passphrase not set', - 'upload_certificate' => 'Upload Certificate', - 'certificate_passphrase' => 'Certificate Passphrase', - 'valid_vat_number' => 'Valid VAT Number', - 'react_notification_link' => 'React Notification Links', - 'react_notification_link_help' => 'Admin emails will contain links to the react application', - 'show_task_billable' => 'Show Task Billable', - 'credit_item' => 'Credit Item', - 'drop_file_here' => 'Drop file here', - 'files' => 'Files', - 'camera' => 'Camera', - 'gallery' => 'Gallery', - 'project_location' => 'Project Location', - 'add_gateway_help_message' => 'Add a payment gateway (ie. Stripe, WePay or PayPal) to accept online payments', - 'lang_Hungarian' => 'Hungarian', - 'use_mobile_to_manage_plan' => 'Use your phone subscription settings to manage your plan', - 'item_tax3' => 'Item Tax3', - 'item_tax_rate1' => 'Item Tax Rate 1', - 'item_tax_rate2' => 'Item Tax Rate 2', - 'item_tax_rate3' => 'Item Tax Rate 3', - 'buy_price' => 'Buy Price', - 'country_Macedonia' => 'Macedonia', - 'admin_initiated_payments' => 'Admin Initiated Payments', - 'admin_initiated_payments_help' => 'Support entering a payment in the admin portal without an invoice', - 'paid_date' => 'Paid Date', - 'downloaded_entities' => 'An email will be sent with the PDFs', - 'lang_French - Swiss' => 'French - Swiss', - 'currency_swazi_lilangeni' => 'Swazi Lilangeni', - 'income' => 'Income', - 'amount_received_help' => 'Enter a value here if the total amount received was MORE than the invoice amount, or when recording a payment with no invoices. Otherwise this field should be left blank.', - 'vendor_phone' => 'Vendor Phone', + 'duties' => 'Povinnosti', + 'order_number' => 'Číslo objednávky', + 'order_id' => 'objednať', + 'total_invoices_outstanding' => 'Celkové neuhradené faktúry', + 'recent_activity' => 'Posledná aktivita', + 'enable_auto_bill' => 'Povoliť automatickú fakturáciu', + 'email_count_invoices' => 'E-mailové faktúry :count', + 'invoice_task_item_description' => 'Popis položky fakturačnej úlohy', + 'invoice_task_item_description_help' => 'Pridajte popis položky k riadkovým položkám faktúry', + 'next_send_time' => 'Ďalší čas odoslania', + 'uploaded_certificate' => 'Certifikát bol úspešne nahraný', + 'certificate_set' => 'Sada certifikátov', + 'certificate_not_set' => 'Certifikát nie je nastavený', + 'passphrase_set' => 'Nastavená prístupová fráza', + 'passphrase_not_set' => 'Prístupová fráza nie je nastavená', + 'upload_certificate' => 'Nahrať certifikát', + 'certificate_passphrase' => 'Prístupová fráza certifikátu', + 'valid_vat_number' => 'Platné IČ DPH', + 'react_notification_link' => 'Odkazy na upozornenia', + 'react_notification_link_help' => 'E-maily správcu budú obsahovať odkazy na aplikáciu reagovať', + 'show_task_billable' => 'Zobraziť fakturovateľnú úlohu', + 'credit_item' => 'Kreditná položka', + 'drop_file_here' => 'Sem presuňte súbor', + 'files' => 'Súbory', + 'camera' => 'fotoaparát', + 'gallery' => 'Galéria', + 'project_location' => 'Miesto projektu', + 'add_gateway_help_message' => 'Pridajte platobnú bránu (napr. Stripe, WePay alebo PayPal), aby ste mohli prijímať online platby', + 'lang_Hungarian' => 'maďarský', + 'use_mobile_to_manage_plan' => 'Na správu plánu použite nastavenia predplatného telefónu', + 'item_tax3' => 'Daň z položky 3', + 'item_tax_rate1' => 'Sadzba dane položky 1', + 'item_tax_rate2' => 'Sadzba dane z položky 2', + 'item_tax_rate3' => 'Sadzba dane z položky 3', + 'buy_price' => 'Kúpiť Cena', + 'country_Macedonia' => 'Macedónsko', + 'admin_initiated_payments' => 'Platby iniciované správcom', + 'admin_initiated_payments_help' => 'Podpora zadania platby na admin portáli bez faktúry', + 'paid_date' => 'Dátum platby', + 'downloaded_entities' => 'S PDF sa odošle e-mail', + 'lang_French - Swiss' => 'francúzsko - švajčiarsky', + 'currency_swazi_lilangeni' => 'Svazijský Lilangeni', + 'income' => 'Príjem', + 'amount_received_help' => 'Tu zadajte hodnotu, ak celková prijatá suma bola VYŠŠIA ako suma faktúry alebo pri zaznamenávaní platby bez faktúr. V opačnom prípade by toto pole malo zostať prázdne.', + 'vendor_phone' => 'Telefón predajcu', 'mercado_pago' => 'Mercado Pago', 'mybank' => 'MyBank', - 'paypal_paylater' => 'Pay in 4', - 'paid_date' => 'Paid Date', - 'district' => 'District', - 'region' => 'Region', + 'paypal_paylater' => 'Zaplatiť do 4', + 'paid_date' => 'Dátum platby', + 'district' => 'okres', + 'region' => 'región', 'county' => 'County', - 'tax_details' => 'Tax Details', - 'activity_10_online' => ':contact entered payment :payment for invoice :invoice for :client', - 'activity_10_manual' => ':user entered payment :payment for invoice :invoice for :client', - 'default_payment_type' => 'Default Payment Type', - 'number_precision' => 'Number precision', - 'number_precision_help' => 'Controls the number of decimals supported in the interface', - 'is_tax_exempt' => 'Tax Exempt', - 'drop_files_here' => 'Drop files here', - 'upload_files' => 'Upload Files', - 'download_e_invoice' => 'Download E-Invoice', - 'triangular_tax_info' => 'Intra-community triangular transaction', - 'intracommunity_tax_info' => 'Tax-free intra-community delivery', - 'reverse_tax_info' => 'Please note that this supply is subject to reverse charge', - 'currency_nicaraguan_cordoba' => 'Nicaraguan Córdoba', - 'public' => 'Public', - 'private' => 'Private', - 'image' => 'Image', - 'other' => 'Other', - 'linked_to' => 'Linked To', - 'file_saved_in_path' => 'The file has been saved in :path', - 'unlinked_transactions' => 'Successfully unlinked :count transactions', - 'unlinked_transaction' => 'Successfully unlinked transaction', - 'view_dashboard_permission' => 'Allow user to access the dashboard, data is limited to available permissions', - 'marked_sent_credits' => 'Successfully marked credits sent', - 'show_document_preview' => 'Show Document Preview', - 'cash_accounting' => 'Cash accounting', - 'click_or_drop_files_here' => 'Click or drop files here', - 'set_public' => 'Set public', - 'set_private' => 'Set private', - 'individual' => 'Individual', - 'business' => 'Business', - 'partnership' => 'partnership', - 'trust' => 'Trust', - 'charity' => 'Charity', - 'government' => 'Government', - 'in_stock_quantity' => 'Stock quantity', - 'vendor_contact' => 'Vendor Contact', - 'expense_status_4' => 'Unpaid', - 'expense_status_5' => 'Paid', - 'ziptax_help' => 'Note: this feature requires a Zip-Tax API key to lookup US sales tax by address', - 'cache_data' => 'Cache Data', - 'unknown' => 'Unknown', - 'webhook_failure' => 'Webhook Failure', - 'email_opened' => 'Email Opened', - 'email_delivered' => 'Email Delivered', + 'tax_details' => 'Daňové podrobnosti', + 'activity_10_online' => ':contact zadaná platba :payment pre faktúru :invoice pre :client', + 'activity_10_manual' => ':user zadaná platba :payment pre faktúru :invoice pre :client', + 'default_payment_type' => 'Predvolený typ platby', + 'number_precision' => 'Presnosť čísel', + 'number_precision_help' => 'Riadi počet desatinných miest podporovaných v rozhraní', + 'is_tax_exempt' => 'Oslobodené od dane', + 'drop_files_here' => 'Sem presuňte súbory', + 'upload_files' => 'Nahrať súbory', + 'download_e_invoice' => 'Stiahnite si elektronickú faktúru', + 'triangular_tax_info' => 'Trojstranná transakcia v rámci Spoločenstva', + 'intracommunity_tax_info' => 'Dodanie v rámci Spoločenstva oslobodené od dane', + 'reverse_tax_info' => 'Upozorňujeme, že táto dodávka podlieha preneseniu daňovej povinnosti', + 'currency_nicaraguan_cordoba' => 'Nikaragujská Córdoba', + 'public' => 'Verejné', + 'private' => 'Súkromné', + 'image' => 'Obrázok', + 'other' => 'Iné', + 'linked_to' => 'Spojené s', + 'file_saved_in_path' => 'Súbor bol uložený v :path', + 'unlinked_transactions' => 'Transakcie :count boli úspešne odpojené', + 'unlinked_transaction' => 'Transakcia bola úspešne odpojená', + 'view_dashboard_permission' => 'Povoľte používateľovi prístup k ovládaciemu panelu, údaje sú obmedzené na dostupné povolenia', + 'marked_sent_credits' => 'Úspešne označené kredity boli odoslané', + 'show_document_preview' => 'Zobraziť ukážku dokumentu', + 'cash_accounting' => 'Účtovníctvo v hotovosti', + 'click_or_drop_files_here' => 'Kliknite alebo presuňte súbory sem', + 'set_public' => 'Nastaviť ako verejné', + 'set_private' => 'Nastaviť ako súkromné', + 'individual' => 'Individuálne', + 'business' => 'Podnikanie', + 'partnership' => 'partnerstvo', + 'trust' => 'Dôvera', + 'charity' => 'Dobročinnosť', + 'government' => 'vláda', + 'in_stock_quantity' => 'Skladové množstvo', + 'vendor_contact' => 'Kontakt na predajcu', + 'expense_status_4' => 'Nezaplatené', + 'expense_status_5' => 'Zaplatené', + 'ziptax_help' => 'Poznámka: Táto funkcia vyžaduje kľúč API Zip-Tax na vyhľadanie dane z predaja v USA podľa adresy', + 'cache_data' => 'Údaje do vyrovnávacej pamäte', + 'unknown' => 'Neznámy', + 'webhook_failure' => 'Zlyhanie webhooku', + 'email_opened' => 'E-mail bol otvorený', + 'email_delivered' => 'Email doručený', 'log' => 'Log', - 'classification' => 'Classification', - 'stock_quantity_number' => 'Stock :quantity', - 'upcoming' => 'Upcoming', - 'client_contact' => 'Client Contact', - 'uncategorized' => 'Uncategorized', - 'login_notification' => 'Login Notification', - 'login_notification_help' => 'Sends an email notifying that a login has taken place.', - 'payment_refund_receipt' => 'Payment Refund Receipt # :number', - 'payment_receipt' => 'Payment Receipt # :number', - 'load_template_description' => 'The template will be applied to following:', - 'run_template' => 'Run template', - 'statement_design' => 'Statement Design', - 'delivery_note_design' => 'Delivery Note Design', - 'payment_receipt_design' => 'Payment Receipt Design', - 'payment_refund_design' => 'Payment Refund Design', - 'task_extension_banner' => 'Add the Chrome extension to manage your tasks', - 'watch_video' => 'Watch Video', - 'view_extension' => 'View Extension', - 'reactivate_email' => 'Reactivate Email', - 'email_reactivated' => 'Successfully reactivated email', - 'template_help' => 'Enable using the design as a template', - 'quarter' => 'Quarter', - 'item_description' => 'Item Description', - 'task_item' => 'Task Item', - 'record_state' => 'Record State', - 'save_files_to_this_folder' => 'Save files to this folder', - 'downloads_folder' => 'Downloads Folder', - 'total_invoiced_quotes' => 'Invoiced Quotes', - 'total_invoice_paid_quotes' => 'Invoice Paid Quotes', - 'downloads_folder_does_not_exist' => 'The downloads folder does not exist :value', - 'user_logged_in_notification' => 'User Logged in Notification', - 'user_logged_in_notification_help' => 'Send an email when logging in from a new location', - 'payment_email_all_contacts' => 'Payment Email To All Contacts', - 'payment_email_all_contacts_help' => 'Sends the payment email to all contacts when enabled', - 'add_line' => 'Add Line', - 'activity_139' => 'Expense :expense notification sent to :contact', - 'vendor_notification_subject' => 'Confirmation of payment :amount sent to :vendor', - 'vendor_notification_body' => 'Payment processed for :amount dated :payment_date.
[Transaction Reference: :transaction_reference]', - 'receipt' => 'Receipt', - 'charges' => 'Charges', - 'email_report' => 'Email Report', + 'classification' => 'Klasifikácia', + 'stock_quantity_number' => 'Zásoba: množstvo', + 'upcoming' => 'Nadchádzajúce', + 'client_contact' => 'Kontakt na klienta', + 'uncategorized' => 'Nezaradené do kategórie', + 'login_notification' => 'Oznámenie o prihlásení', + 'login_notification_help' => 'Odošle e-mail s upozornením, že prihlásenie prebehlo.', + 'payment_refund_receipt' => 'Potvrdenie o vrátení platby # :number', + 'payment_receipt' => 'Potvrdenie o platbe # :number', + 'load_template_description' => 'Šablóna sa použije na nasledujúce:', + 'run_template' => 'Spustiť šablónu', + 'statement_design' => 'Návrh vyhlásenia', + 'delivery_note_design' => 'Dizajn dodacieho listu', + 'payment_receipt_design' => 'Návrh potvrdenia o platbe', + 'payment_refund_design' => 'Dizajn vrátenia platby', + 'task_extension_banner' => 'Ak chcete spravovať svoje úlohy, pridajte si rozšírenie pre Chrome', + 'watch_video' => 'Pozeraj video', + 'view_extension' => 'Zobraziť rozšírenie', + 'reactivate_email' => 'Znova aktivujte e-mail', + 'email_reactivated' => 'E-mail bol úspešne znova aktivovaný', + 'template_help' => 'Povoliť použitie dizajnu ako šablóny', + 'quarter' => 'Štvrťrok', + 'item_description' => 'popis položky', + 'task_item' => 'Položka úlohy', + 'record_state' => 'Stav záznamu', + 'save_files_to_this_folder' => 'Uložte súbory do tohto priečinka', + 'downloads_folder' => 'Priečinok sťahovania', + 'total_invoiced_quotes' => 'Fakturované cenové ponuky', + 'total_invoice_paid_quotes' => 'Cenové ponuky zaplatené na faktúre', + 'downloads_folder_does_not_exist' => 'Priečinok sťahovania neexistuje :value', + 'user_logged_in_notification' => 'Oznámenie o prihlásení používateľa', + 'user_logged_in_notification_help' => 'Pošlite e-mail pri prihlásení z nového miesta', + 'payment_email_all_contacts' => 'Platobný e-mail všetkým kontaktom', + 'payment_email_all_contacts_help' => 'Keď je táto možnosť povolená, odošle platobný e-mail všetkým kontaktom', + 'add_line' => 'Pridať riadok', + 'activity_139' => 'Oznámenie o výdavkoch :expense odoslané na adresu :contact', + 'vendor_notification_subject' => 'Potvrdenie o platbe :amount odoslané na :vendor', + 'vendor_notification_body' => 'Platba spracovaná za :amount zo dňa :payment _date.
[Referenčné číslo transakcie: :transaction_reference ]', + 'receipt' => 'Potvrdenie', + 'charges' => 'Poplatky', + 'email_report' => 'E-mailová správa', + 'payment_type_Pay Later' => 'Zaplatiť neskôr', ); return $lang; From 846cafde968d00b02a7870c04004a00f791b4c2c Mon Sep 17 00:00:00 2001 From: David Bomba Date: Thu, 21 Dec 2023 01:31:26 +1100 Subject: [PATCH 10/10] updated lang files --- lang/en/texts.php | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/lang/en/texts.php b/lang/en/texts.php index a4bc7734fc..baeb39ccc1 100644 --- a/lang/en/texts.php +++ b/lang/en/texts.php @@ -5221,6 +5221,12 @@ $lang = array( 'charges' => 'Charges', 'email_report' => 'Email Report', 'payment_type_Pay Later' => 'Pay Later', + 'payment_type_credit' => 'Payment Type Credit', + 'payment_type_debit' => 'Payment Type Debit', + 'send_emails_to' => 'Send Emails To', + 'primary_contact' => 'Primary Contact', + 'all_contacts' => 'All Contacts', + 'insert_below' => 'Insert Below', ); return $lang;