diff --git a/app/lang/en/texts.php b/app/lang/en/texts.php
index f8614863490e..fb6572b95e60 100644
--- a/app/lang/en/texts.php
+++ b/app/lang/en/texts.php
@@ -230,10 +230,10 @@ return array(
'cloned_invoice' => 'Successfully cloned invoice',
'emailed_invoice' => 'Successfully emailed invoice',
'and_created_client' => 'and created client',
- 'archived_invoice' => 'Successfully archived credit',
- 'archived_invoices' => 'Successfully archived :count credits',
- 'deleted_invoice' => 'Successfully deleted credit',
- 'deleted_invoices' => 'Successfully deleted :count credits',
+ 'archived_invoice' => 'Successfully archived invoice',
+ 'archived_invoices' => 'Successfully archived :count invoices',
+ 'deleted_invoice' => 'Successfully deleted invoice',
+ 'deleted_invoices' => 'Successfully deleted :count invoices',
'created_payment' => 'Successfully created payment',
'archived_payment' => 'Successfully archived payment',
@@ -294,4 +294,4 @@ return array(
'remove_logo_link' => 'Click here',
],
-);
\ No newline at end of file
+);
diff --git a/app/lang/nl/pagination.php b/app/lang/nl/pagination.php
new file mode 100644
index 000000000000..583b463a6375
--- /dev/null
+++ b/app/lang/nl/pagination.php
@@ -0,0 +1,20 @@
+ '« Vorige',
+
+ 'next' => 'Volgende »',
+
+);
\ No newline at end of file
diff --git a/app/lang/nl/reminders.php b/app/lang/nl/reminders.php
new file mode 100644
index 000000000000..1a517a658edd
--- /dev/null
+++ b/app/lang/nl/reminders.php
@@ -0,0 +1,24 @@
+ "Wachtwoord moet minimaal zes tekens lang zijn en de wachtwoorden moeten overeenkomen.",
+
+ "user" => "Geen gebruiker bekend met dat e-mailadres.",
+
+ "token" => "Dit wachtwoord reset token is niet geldig.",
+
+ "sent" => "Wachtwoord herinnering verzonden!",
+
+);
diff --git a/app/lang/nl/texts.php b/app/lang/nl/texts.php
new file mode 100644
index 000000000000..612ed0ac501d
--- /dev/null
+++ b/app/lang/nl/texts.php
@@ -0,0 +1,297 @@
+ 'Organisatie',
+ 'name' => 'Naam',
+ 'website' => 'Website',
+ 'work_phone' => 'Telefoon',
+ 'address' => 'Adres',
+ 'address1' => 'Straat',
+ 'address2' => 'App/Suite',
+ 'city' => 'Stad',
+ 'state' => 'Staat/Provincie',
+ 'postal_code' => 'Postcode',
+ 'country_id' => 'Land',
+ 'contacts' => 'Contacten',
+ 'first_name' => 'Voornaam',
+ 'last_name' => 'Achternaam',
+ 'phone' => 'Telefoon',
+ 'email' => 'Email',
+ 'additional_info' => 'Extra Informatie',
+ 'payment_terms' => 'Betalingsvoorwaarden',
+ 'currency_id' => 'Munteenheid',
+ 'size_id' => 'Grootte',
+ 'industry_id' => 'Industrie',
+ 'private_notes' => 'Privé Berichten',
+
+ // invoice
+ 'invoice' => 'Factuur',
+ 'client' => 'Klant',
+ 'invoice_date' => 'Factuur Datum',
+ 'due_date' => 'Verval Datum',
+ 'invoice_number' => 'Factuur Nummer',
+ 'invoice_number_short' => 'Factuur #',
+ 'po_number' => 'BTW Nummer',
+ 'po_number_short' => 'BTW #',
+ 'frequency_id' => 'Hoe vaak',
+ 'discount' => 'Korting',
+ 'taxes' => 'Belastingen',
+ 'tax' => 'Belasting',
+ 'item' => 'Artikel',
+ 'description' => 'Beschrijving',
+ 'unit_cost' => 'Stuksprijs',
+ 'quantity' => 'Hoeveelheid',
+ 'line_total' => 'Totaal lijn',
+ 'subtotal' => 'Subtotaal',
+ 'paid_to_date' => 'Betaal Datum',
+ 'balance_due' => 'Openstaand saldo',
+ 'invoice_design_id' => 'Ontwerp',
+ 'terms' => 'Voorwaarden',
+ 'your_invoice' => 'Jouw factuur',
+
+ 'remove_contact' => 'Verwijder contact',
+ 'add_contact' => 'Voeg contact toe',
+ 'create_new_client' => 'Maak nieuwe klant',
+ 'edit_client_details' => 'Pas klantdetails aan',
+ 'enable' => 'Activeer',
+ 'learn_more' => 'Meer te weten komen',
+ 'manage_rates' => 'Beheer prijzen',
+ 'note_to_client' => 'Bericht aan klant',
+ 'invoice_terms' => 'Factuur voorwaarden',
+ 'save_as_default_terms' => 'Opslaan als standaard voorwaarden',
+ 'download_pdf' => 'Download PDF',
+ 'pay_now' => 'Betaal nu',
+ 'save_invoice' => 'Sla Factuur op',
+ 'clone_invoice' => 'Kopieer Factuur',
+ 'archive_invoice' => 'Archiveer Factuur',
+ 'delete_invoice' => 'Verwijder Factuur',
+ 'email_invoice' => 'Email Factuur',
+ 'enter_payment' => 'Betaling ingeven',
+ 'tax_rates' => 'BTW tarief',
+ 'rate' => 'Tarief',
+ 'settings' => 'Instellingen',
+ 'enable_invoice_tax' => 'Activeer instelling van BTW op volledige factuur',
+ 'enable_line_item_tax' => 'Activeer instelling van BTW per lijn',
+
+ // navigation
+ 'dashboard' => 'Dashboard',
+ 'clients' => 'Klanten',
+ 'invoices' => 'Facturen',
+ 'payments' => 'Betalingen',
+ 'credits' => 'Kredietnota\'s',
+ 'history' => 'Geschiedenis',
+ 'search' => 'Zoeken',
+ 'sign_up' => 'Aanmelden',
+ 'guest' => 'Gast',
+ 'company_details' => 'Bedrijfsdetails',
+ 'online_payments' => 'Online betalingen',
+ 'notifications' => 'Meldingen',
+ 'import_export' => 'Importeer/Exporteer',
+ 'done' => 'Klaar',
+ 'save' => 'Opslaan',
+ 'create' => 'Aanmaken',
+ 'upload' => 'Uploaden',
+ 'import' => 'Importeer',
+ 'download' => 'Downloaden',
+ 'cancel' => 'Annuleren',
+ 'provide_email' => 'Geef een geldig email-adres aub.',
+ 'powered_by' => 'Factuur gemaakt via',
+ 'no_items' => 'Geen artikelen',
+
+ // recurring invoices
+ 'recurring_invoices' => 'Terugkerende facturen',
+ 'recurring_help' => '
Zend klanten automatisch wekelijks, twee keer per maand, maandelijks, per kwartaal of jaarlijks dezelfde facturen.
+ Gebruik :MONTH, :QUARTER of :YEAR voor dynamische datums. Eenvoudige wiskunde werkt ook, bijvoorbeeld :MONTH-1.
+ Voorbeelden van dynamische factuur variabelen:
+
+ - "Fitness lidmaatschap voor de maand :MONTH" => "Fitness lidmaatschap voor de maand juli"
+ - "Jaarlijks abonnement :YEAR+1" => "Jaarlijks abonnement 2015"
+ - "Betaling voor :QUARTER+1" => "Betaling voor Q2"
+
',
+
+ // dashboard
+ 'in_total_revenue' => 'in totale opbrengst',
+ 'billed_client' => 'Gefactureerde klant',
+ 'billed_clients' => 'Gefactureerde klanten',
+ 'active_client' => 'Actieve klant',
+ 'active_clients' => 'Actieve klanten',
+ 'invoices_past_due' => 'Facturen voorbij vervaldatum',
+ 'upcoming_invoices' => 'Aankomende facturen',
+ 'average_invoice' => 'Gemiddelde factuur',
+
+ // list pages
+ 'archive' => 'Archiveer',
+ 'delete' => 'Verwijder',
+ 'archive_client' => 'Archiveer klant',
+ 'delete_client' => 'Verwijder klant',
+ 'archive_payment' => 'Archiveer betaling',
+ 'delete_payment' => 'Verwijder betaling',
+ 'archive_credit' => 'Archiveer kredietnota',
+ 'delete_credit' => 'Verwijder kredietnota',
+ 'show_archived_deleted' => 'Toon gearchiveerde/verwijderde',
+ 'filter' => 'Filter',
+ 'new_client' => 'Nieuwe Klant',
+ 'new_invoice' => 'Nieuwe Factuur',
+ 'new_payment' => 'Nieuwe Betaling',
+ 'new_credit' => 'Nieuwe Kredietnota',
+ 'contact' => 'Contact',
+ 'date_created' => 'Aanmaakdatum',
+ 'last_login' => 'Laatste login',
+ 'balance' => 'Saldo',
+ 'action' => 'Actie',
+ 'status' => 'Status',
+ 'invoice_total' => 'Factuur totaal',
+ 'frequency' => 'Frequentie',
+ 'start_date' => 'Startdatum',
+ 'end_date' => 'Einddatum',
+ 'transaction_reference' => 'Transactie Referentie',
+ 'method' => 'Methode',
+ 'payment_amount' => 'Betalingsbedrag',
+ 'payment_date' => 'Betalingsdatum',
+ 'credit_amount' => 'Kredietbedrag',
+ 'credit_balance' => 'Kredietsaldo',
+ 'credit_date' => 'Kredietdatum',
+ 'empty_table' => 'Geen gegevens beschikbaar in de tabel',
+ 'select' => 'Selecteer',
+ 'edit_client' => 'Klant aanpassen',
+ 'edit_invoice' => 'Factuur aanpassen',
+
+ // client view page
+ 'create_invoice' => 'Factuur aanmaken',
+ 'enter_credit' => 'Kredietnota ingeven',
+ 'last_logged_in' => 'Laatste login',
+ 'details' => 'Details',
+ 'standing' => 'Openstaand',
+ 'credit' => 'Krediet',
+ 'activity' => 'Activiteit',
+ 'date' => 'Datum',
+ 'message' => 'Bericht',
+ 'adjustment' => 'Aanpassing',
+ 'are_you_sure' => 'Ben je zeker?',
+
+ // payment pages
+ 'payment_type_id' => 'Betalingstype',
+ 'amount' => 'Bedrag',
+
+ // account/company pages
+ 'work_email' => 'Email',
+ 'language_id' => 'Taal',
+ 'timezone_id' => 'Tijdszone',
+ 'date_format_id' => 'Formaat datum',
+ 'datetime_format_id' => 'Datum/Tijd Formaat',
+ 'users' => 'Gebruikers',
+ 'localization' => 'Localisatie',
+ 'remove_logo' => 'Verwijder logo',
+ 'logo_help' => 'Ondersteund: JPEG, GIF en PNG. Aangeraden hoogte: 120px',
+ 'payment_gateway' => 'Betalingsmiddel',
+ 'gateway_id' => 'Leverancier',
+ 'email_notifications' => 'Email Notificaties',
+ 'email_sent' => 'Email me wanneer een factuur is verzonden',
+ 'email_viewed' => 'Email me wanneer een factuur is bekeken',
+ 'email_paid' => 'Email me wanneer een factuur is betaald',
+ 'site_updates' => 'Site Aanpassingen',
+ 'custom_messages' => 'Aangepaste berichten',
+ 'default_invoice_terms' => 'Stel standaard factuursvoorwaarden in',
+ 'default_email_footer' => 'Stel standaard email signatuur in',
+ 'import_clients' => 'Importeer Klant Gegevens',
+ 'csv_file' => 'Selecteer CSV bestand',
+ 'export_clients' => 'Exporteer Klant Gegevens',
+ 'select_file' => 'Selecteer alstublieft een bestand',
+ 'first_row_headers' => 'Gebruik eerste rij als hoofdding',
+ 'column' => 'Kolom',
+ 'sample' => 'Voorbeeld',
+ 'import_to' => 'Importeer naar',
+ 'client_will_create' => 'klant zal aangemaakt worden',
+ 'clients_will_create' => 'klanten zullen aangemaakt worden',
+
+ // application messages
+ 'created_client' => 'Klant succesvol aangemaakt',
+ 'created_clients' => ':count klanten succesvol aangemaakt',
+ 'updated_settings' => 'Instellingen succesvol aangepast',
+ 'removed_logo' => 'Logo succesvol verwijderd',
+ 'sent_message' => 'Bericht succesvol verzonden',
+ 'invoice_error' => 'Selecteer een klant alstublieft en corrigeer mogelijke fouten',
+ 'limit_clients' => 'Sorry, dit zal de klantenlimiet van :count klanten overschrijden',
+ 'payment_error' => 'Er was een fout bij het verwerken van uw betaling. Probeer later alstublieft opnieuw.',
+ 'registration_required' => 'Meld je aan om een factuur te mailen',
+ 'confirmation_required' => 'Bevestig je email adres alstublieft',
+
+ 'updated_client' => 'Klant succesvol aangepast',
+ 'created_client' => 'Klant succesvol aangemaakt',
+ 'archived_client' => 'Klant succesvol gearchiveerd',
+ 'archived_clients' => ':count klanten succesvol gearchiveerd',
+ 'deleted_client' => 'Klant succesvol verwijderd',
+ 'deleted_clients' => ':count klanten succesvol verwijderd',
+
+ 'updated_invoice' => 'Factuur succesvol aangepast',
+ 'created_invoice' => 'Factuur succesvol aangemaakt',
+ 'cloned_invoice' => 'Factuur succesvol gekopieerd',
+ 'emailed_invoice' => 'Factuur succesvol gemaild',
+ 'and_created_client' => 'en klant aangemaakt',
+ 'archived_invoice' => 'Factuur succesvol gearchiveerd',
+ 'archived_invoices' => ':count facturen succesvol gearchiveerd',
+ 'deleted_invoice' => 'Factuur succesvol verwijderd',
+ 'deleted_invoices' => ':count facturen succesvol verwijderd',
+
+ 'created_payment' => 'Betaling succesvol aangemaakt',
+ 'archived_payment' => 'Betaling succesvol gearchiveerd',
+ 'archived_payments' => ':count betalingen succesvol gearchiveerd',
+ 'deleted_payment' => 'Betaling succesvol verwijderd',
+ 'deleted_payments' => ':count betalingen succesvol verwijderd',
+ 'applied_payment' => 'Betaling succesvol toegepast',
+
+ 'created_credit' => 'Kredietnota succesvol aangemaakt',
+ 'archived_credit' => 'Kredietnota succesvol gearchiveerd',
+ 'archived_credits' => ':count kredietnota\'s succesvol gearchiveerd',
+ 'deleted_credit' => 'Kredietnota succesvol verwijderd',
+ 'deleted_credits' => ':count kredietnota\'s succesvol verwijderd',
+
+ // Emails
+ 'confirmation_subject' => 'Invoice Ninja Bevestiging Account',
+ 'confirmation_header' => 'Bevestiging Account',
+ 'confirmation_message' => 'Ga alstublieft naar onderstaande link om je account te bevestiging.',
+ 'invoice_subject' => 'Nieuwe factuur :invoice',
+ 'invoice_message' => 'Om je factuur voor :amount te bekijken, klik op onderstaande link.',
+ 'payment_subject' => 'Betaling ontvangen :invoice',
+ 'payment_message' => 'Bedankt voor je betaling van :amount.',
+ 'email_salutation' => 'Beste :name,',
+ 'email_signature' => 'Met vriendelijke groeten,',
+ 'email_from' => 'Het InvoiceNinja Team',
+ 'user_email_footer' => 'Ga alstublieft naar http://www.invoiceninja.com/company/notifications om je email notificatie instellingen aan te passen ',
+ 'invoice_link_message' => 'Klik op volgende link om de Factuur van je klant te bekijken:',
+ 'notification_paid_subject' => 'Factuur :invoice is betaald door :client',
+ 'notification_sent_subject' => 'Factuur :invoice is gezonden door :client',
+ 'notification_viewed_subject' => 'Factuur :invoice is bekeken door :client',
+ 'notification_paid' => 'Een betaling voor :amount is gemaakt door klant :client voor Factuur :invoice.',
+ 'notification_sent' => 'De volgende klant :client heeft Factuur :invoice voor :amount gemaild gekregen.',
+ 'notification_viewed' => 'De volgende klant :client heeft Factuur :invoice voor :amount bekeken.',
+ 'reset_password' => 'Je kan het paswoord van je account resetten door op volgende link te klikken:',
+ 'reset_password_footer' => 'Als je deze paswoord reset niet aangevraagd hebt contacteer dan onze helpdesk alstublieft: ' . CONTACT_EMAIL,
+
+ // Payment page
+ 'secure_payment' => 'Veilige betaling',
+ 'card_number' => 'Kaart nummer',
+ 'expiration_month' => 'Verval maand',
+ 'expiration_year' => 'Verval jaar',
+ 'cvv' => 'CVV',
+
+ // Security alerts
+ 'confide' => [
+ 'too_many_attempts' => 'Te veel pogingen. Probeer opnieuw binnen enkele minuten.',
+ 'wrong_credentials' => 'Verkeerd emailadres of paswoord.',
+ 'confirmation' => 'Je account is bevestigd!',
+ 'wrong_confirmation' => 'Verkeerde bevestigingscode.',
+ 'password_forgot' => 'De informatie over je paswoord reset is verzonden naar je emailadres.',
+ 'password_reset' => 'Je paswoord is succesvol aangepast.',
+ 'wrong_password_reset' => 'Ongeldig paswoord. Probeer opnieuw',
+ ],
+
+ // Pro Plan
+ 'pro_plan' => [
+ 'remove_logo' => ':link om het Invoice Ninja logo te verwijderen door het pro plan te nemen',
+ 'remove_logo_link' => 'Klik hier',
+ ],
+
+);
diff --git a/app/lang/nl/validation.php b/app/lang/nl/validation.php
new file mode 100644
index 000000000000..39fce046e258
--- /dev/null
+++ b/app/lang/nl/validation.php
@@ -0,0 +1,107 @@
+ ":attribute moet geaccepteerd zijn.",
+ "active_url" => ":attribute is geen geldige URL.",
+ "after" => ":attribute moet een datum na :date zijn.",
+ "alpha" => ":attribute mag alleen letters bevatten.",
+ "alpha_dash" => ":attribute mag alleen letters, nummers, onderstreep(_) en strepen(-) bevatten.",
+ "alpha_num" => ":attribute mag alleen letters en nummers bevatten.",
+ "array" => ":attribute moet geselecteerde elementen bevatten.",
+ "before" => ":attribute moet een datum voor :date zijn.",
+ "between" => array(
+ "numeric" => ":attribute moet tussen :min en :max zijn.",
+ "file" => ":attribute moet tussen :min en :max kilobytes zijn.",
+ "string" => ":attribute moet tussen :min en :max karakters zijn.",
+ "array" => ":attribute moet tussen :min en :max items bevatten."
+ ),
+ "confirmed" => ":attribute bevestiging komt niet overeen.",
+ "count" => ":attribute moet precies :count geselecteerde elementen bevatten.",
+ "countbetween" => ":attribute moet tussen :min en :max geselecteerde elementen bevatten.",
+ "countmax" => ":attribute moet minder dan :max geselecteerde elementen bevatten.",
+ "countmin" => ":attribute moet minimaal :min geselecteerde elementen bevatten.",
+ "date_format" => ":attribute moet een geldig datum formaat bevatten.",
+ "different" => ":attribute en :other moeten verschillend zijn.",
+ "email" => ":attribute is geen geldig e-mailadres.",
+ "exists" => ":attribute bestaat niet.",
+ "image" => ":attribute moet een afbeelding zijn.",
+ "in" => ":attribute is ongeldig.",
+ "integer" => ":attribute moet een getal zijn.",
+ "ip" => ":attribute moet een geldig IP-adres zijn.",
+ "match" => "Het formaat van :attribute is ongeldig.",
+ "max" => array(
+ "numeric" => ":attribute moet minder dan :max zijn.",
+ "file" => ":attribute moet minder dan :max kilobytes zijn.",
+ "string" => ":attribute moet minder dan :max karakters zijn.",
+ "array" => ":attribute mag maximaal :max items bevatten."
+ ),
+ "mimes" => ":attribute moet een bestand zijn van het bestandstype :values.",
+ "min" => array(
+ "numeric" => ":attribute moet minimaal :min zijn.",
+ "file" => ":attribute moet minimaal :min kilobytes zijn.",
+ "string" => ":attribute moet minimaal :min karakters zijn.",
+ "array" => ":attribute moet minimaal :min items bevatten."
+ ),
+ "not_in" => "Het formaat van :attribute is ongeldig.",
+ "numeric" => ":attribute moet een nummer zijn.",
+ "required" => ":attribute is verplicht.",
+ "required_with" => ":attribute is verplicht i.c.m. :values",
+ "required_with_all" => ":attribute is verplicht i.c.m. :values",
+ "required_without" => ":attribute is verplicht als :values niet ingevuld is.",
+ "required_without_all" => ":attribute is verplicht als :values niet ingevuld zijn.",
+ "same" => ":attribute en :other moeten overeenkomen.",
+ "size" => array(
+ "numeric" => ":attribute moet :size zijn.",
+ "file" => ":attribute moet :size kilobyte zijn.",
+ "string" => ":attribute moet :size characters zijn.",
+ "array" => ":attribute moet :size items bevatten."
+ ),
+ "unique" => ":attribute is al in gebruik.",
+ "url" => ":attribute is geen geldige URL.",
+
+ "positive" => ":attribute moet groter zijn dan nul.",
+ "has_credit" => "De klant heeft niet voldoende krediet.",
+
+ /*
+ |--------------------------------------------------------------------------
+ | Custom Validation Language Lines
+ |--------------------------------------------------------------------------
+ |
+ | Here you may specify custom validation messages for attributes using the
+ | convention "attribute.rule" to name the lines. This makes it quick to
+ | specify a specific custom language line for a given attribute rule.
+ |
+ */
+
+ 'custom' => array(
+ 'attribute-name' => array(
+ 'rule-name' => 'custom-message',
+ ),
+ ),
+
+ /*
+ |--------------------------------------------------------------------------
+ | Custom Validation Attributes
+ |--------------------------------------------------------------------------
+ |
+ | The following language lines are used to swap attribute place-holders
+ | with something more reader friendly such as E-Mail Address instead
+ | of "email". This simply helps us make messages a little cleaner.
+ |
+ */
+
+ 'attributes' => array(),
+
+);