diff --git a/README.md b/README.md index 1be56f78a9..0017b5bcb8 100644 --- a/README.md +++ b/README.md @@ -10,8 +10,11 @@ The high level instructions for setting up the site are below but there's also a For updates follow [@invoiceninja](https://twitter.com/invoiceninja) or join the [Facebook Group](https://www.facebook.com/invoiceninja). +If you'd like to translate the site please use [caouecs/Laravel4-long](https://github.com/caouecs/Laravel4-lang) for the starter files. + Site design by [kantorp-wegl.in](http://kantorp-wegl.in/) + ### Features * Core application built using Laravel 4.1 * Invoice PDF generation directly in the browser diff --git a/app/filters.php b/app/filters.php index bc6bf6185b..18ed154ca0 100755 --- a/app/filters.php +++ b/app/filters.php @@ -26,8 +26,9 @@ App::before(function($request) App::setLocale(Input::get('lang')); } else if (Auth::check()) - { - App::setLocale(Auth::user()->getLocale()); + { + $locale = Session::get(SESSION_LOCALE, DEFUALT_LOCALE); + App::setLocale($locale); } }); diff --git a/app/lang/de/fields.php b/app/lang/de/fields.php deleted file mode 100644 index d1f9dd7f1c..0000000000 --- a/app/lang/de/fields.php +++ /dev/null @@ -1,54 +0,0 @@ - 'Organisation', - 'name' => 'Name', - 'website' => 'Webseite', - 'work_phone' => 'Telefon', - 'address' => 'Adresse', - 'address1' => 'Straße', - 'address2' => 'Adresszusatz', - 'city' => 'Stadt', - 'state' => 'Bundesland', - 'postal_code' => 'Postleitzahl', - 'country_id' => 'Land', - 'contacts' => 'Kontakte', - 'first_name' => 'Vorname', - 'last_name' => 'Nachname', - 'phone' => 'Telefon', - 'email' => 'Email', - 'additional_info' => 'Zusätzliche Info', - 'payment_terms' => 'Zahlungsbedingungen', - 'currency_id' => 'Währung', - 'size_id' => 'Größe', - 'industry_id' => 'Kategorie', - 'private_notes' => 'Notizen', - - // invoice - 'invoice' => 'Rechnung', - 'client' => 'Kunde', - 'invoice_date' => 'Rechnungsdatum', - 'due_date' => 'Fällig am', - 'invoice_number' => 'Rechungsnummer', - 'invoice_number_short' => 'Rechnung #', - 'po_number' => 'Bestell Nummer', - 'po_number_short' => 'BN #', - 'frequency_id' => 'Wie oft', - 'dicount' => 'Rabatt', - 'taxes' => 'Steuern', - 'tax' => 'Steuer', - 'item' => 'Artikel', - 'description' => 'Beschreibung', - 'unit_cost' => 'Kosten pro Einheit', - 'quantity' => 'Menge', - 'line_total' => 'Summe', - 'subtotal' => 'Zwischensumme', - 'paid_to_date' => 'Zahlungsdatum', - 'balance_due' => 'Rechnungsbetrag', - 'invoice_design_id' => 'Design', - 'terms' => 'Bedingungen', - 'your_invoice' => 'Ihre Rechnung', - -); diff --git a/app/lang/de/texts.php b/app/lang/de/texts.php index b2b291ddaa..4e18294698 100644 --- a/app/lang/de/texts.php +++ b/app/lang/de/texts.php @@ -20,7 +20,7 @@ return array( 'phone' => 'Telefon', 'email' => 'Email', 'additional_info' => 'Zusätzliche Info', - 'payment_terms' => 'Payment Terms', + 'payment_terms' => 'Zahlungsbedingungen', 'currency_id' => 'Währung', 'size_id' => 'Größe', 'industry_id' => 'Kategorie', @@ -51,4 +51,231 @@ return array( 'terms' => 'Bedingungen', 'your_invoice' => 'Ihre Rechnung', + 'remove_contact' => 'Remove contact', + 'add_contact' => 'Add contact', + 'create_new_client' => 'Create new client', + 'edit_client_details' => 'Edit client details', + 'enable' => 'Enable', + 'learn_more' => 'Learn more', + 'manage_rates' => 'Manage rates', + 'note_to_client' => 'Note to client', + 'invoice_terms' => 'Invoice terms', + 'save_as_default_terms' => 'Save as default terms', + 'download_pdf' => 'Download PDF', + 'pay_now' => 'Pay Now', + 'save_invoice' => 'Save Invoice', + 'clone_invoice' => 'Clone Invoice', + 'archive_invoice' => 'Archive Invoice', + 'delete_invoice' => 'Delete Invoice', + 'email_invoice' => 'Email Invoice', + 'enter_payment' => 'Enter Payment', + 'tax_rates' => 'Tax Rates', + 'rate' => 'Rate', + 'settings' => 'Settings', + 'enable_invoice_tax' => 'Enable specifying an invoice tax', + 'enable_line_item_tax' => 'Enable specifying line item taxes', + + // navigation + 'dashboard' => 'Dashboard', + 'clients' => 'Clients', + 'invoices' => 'Invoices', + 'payments' => 'Payments', + 'credits' => 'Credits', + 'history' => 'History', + 'search' => 'Search', + 'sign_up' => 'Sign Up', + 'guest' => 'Guest', + 'company_details' => 'Company Details', + 'online_payments' => 'Online Payments', + 'notifications' => 'Notifications', + 'import_export' => 'Import/Export', + 'done' => 'Done', + 'save' => 'Save', + 'create' => 'Create', + 'upload' => 'Upload', + 'import' => 'Import', + 'download' => 'Download', + 'cancel' => 'Cancel', + 'provide_email' => 'Please provide a valid email address', + 'powered_by' => 'Powered by', + 'no_items' => 'No items', + + // recurring invoices + 'recurring_invoices' => 'Recurring Invoices', + 'recurring_help' => '

Automatically send clients the same invoices weekly, bi-monthly, monthly, quarterly or annually.

+

Use :MONTH, :QUARTER or :YEAR for dynamic dates. Basic math works as well, for example :MONTH-1.

+

Examples of dynamic invoice variables:

+ ', + + // dashboard + 'in_total_revenue' => 'in total revenue', + 'billed_client' => 'billed client', + 'billed_clients' => 'billed clients', + 'active_client' => 'active client', + 'active_clients' => 'active clients', + 'invoices_past_due' => 'Invoices Past Due', + 'upcoming_invoices' => 'Upcoming invoices', + 'average_invoice' => 'Average invoice', + + // list pages + 'archive' => 'Archive', + 'delete' => 'Delete', + 'archive_client' => 'Archive client', + 'delete_client' => 'Delete client', + 'archive_payment' => 'Archive payment', + 'delete_payment' => 'Delete payment', + 'archive_credit' => 'Archive credit', + 'delete_credit' => 'Delete credit', + 'show_archived_deleted' => 'Show archived/deleted', + 'filter' => 'Filter', + 'new_client' => 'New Client', + 'new_invoice' => 'New Invoice', + 'new_payment' => 'New Payment', + 'new_credit' => 'New Credit', + 'contact' => 'Contact', + 'date_created' => 'Date Created', + 'last_login' => 'Last Login', + 'balance' => 'Balance', + 'action' => 'Action', + 'status' => 'Status', + 'invoice_total' => 'Invoice Total', + 'frequency' => 'Frequency', + 'start_date' => 'Start Date', + 'end_date' => 'End Date', + 'transaction_reference' => 'Transaction Reference', + 'method' => 'Method', + 'payment_amount' => 'Payment Amount', + 'payment_date' => 'Payment Date', + 'credit_amount' => 'Credit Amount', + 'credit_balance' => 'Credit Balance', + 'credit_date' => 'Credit Date', + 'empty_table' => 'No data available in table', + 'select' => 'Select', + 'edit_client' => 'Edit Client', + 'edit_invoice' => 'Edit Invoice', + + // client view page + 'create_invoice' => 'Create Invoice', + 'enter_credit' => 'Enter Credit', + 'last_logged_in' => 'Last logged in', + 'details' => 'Details', + 'standing' => 'Standing', + 'credit' => 'Credit', + 'activity' => 'Activity', + 'date' => 'Date', + 'message' => 'Message', + 'adjustment' => 'Adjustment', + 'are_you_sure' => 'Are you sure?', + + // payment pages + 'payment_type_id' => 'Payment type', + 'amount' => 'Amount', + + // account/company pages + 'work_email' => 'Email', + 'language_id' => 'Language', + 'timezone_id' => 'Timezone', + 'date_format_id' => 'Date format', + 'datetime_format_id' => 'Date/Time Format', + 'users' => 'Users', + 'localization' => 'Localization', + 'remove_logo' => 'Remove logo', + 'logo_help' => 'Supported: JPEG, GIF and PNG. Recommended height: 120px', + 'payment_gateway' => 'Payment Gateway', + 'gateway_id' => 'Provider', + 'email_notifications' => 'Email Notifications', + 'email_sent' => 'Email me when an invoice is sent', + 'email_viewed' => 'Email me when an invoice is viewed', + 'email_paid' => 'Email me when an invoice is paid', + 'site_updates' => 'Site Updates', + 'custom_messages' => 'Custom Messages', + 'default_invoice_terms' => 'Set default invoice terms', + 'default_email_footer' => 'Set default email signature', + 'import_clients' => 'Import Client Data', + 'csv_file' => 'Select CSV file', + 'export_clients' => 'Export Client Data', + 'select_file' => 'Please select a file', + 'first_row_headers' => 'Use first row as headers', + 'column' => 'Column', + 'sample' => 'Sample', + 'import_to' => 'Import to', + 'client_will_create' => 'client will be created', + 'clients_will_create' => 'clients will be created', + + // application messages + 'created_client' => 'Successfully created client', + 'created_clients' => 'Successfully created :count clients', + 'updated_settings' => 'Successfully updated settings', + 'removed_logo' => 'Successfully removed logo', + 'sent_message' => 'Successfully sent message', + 'invoice_error' => 'Please make sure to select a client and correct any errors', + 'limit_clients' => 'Sorry, this will exceed the limit of :count clients', + 'payment_error' => 'There was an error processing your payment. Please try again later.', + 'registration_required' => 'Please sign up to email an invoice', + 'confirmation_required' => 'Please confirm your email address', + + 'updated_client' => 'Successfully updated client', + 'created_client' => 'Successfully created client', + 'archived_client' => 'Successfully archived client', + 'archived_clients' => 'Successfully archived :count clients', + 'deleted_client' => 'Successfully deleted client', + 'deleted_clients' => 'Successfully deleted :count clients', + + 'updated_invoice' => 'Successfully updated invoice', + 'created_invoice' => 'Successfully created invoice', + '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', + + 'created_payment' => 'Successfully created payment', + 'archived_payment' => 'Successfully archived payment', + 'archived_payments' => 'Successfully archived :count payments', + 'deleted_payment' => 'Successfully deleted payment', + 'deleted_payments' => 'Successfully deleted :count payments', + 'applied_payment' => 'Successfully applied payment', + + 'created_credit' => 'Successfully created credit', + 'archived_credit' => 'Successfully archived credit', + 'archived_credits' => 'Successfully archived :count credits', + 'deleted_credit' => 'Successfully deleted credit', + 'deleted_credits' => 'Successfully deleted :count credits', + + // Emails + 'confirmation_subject' => 'Invoice Ninja Account Confirmation', + 'confirmation_header' => 'Account Confirmation', + 'confirmation_message' => 'Please access the link below to confirm your account.', + 'invoice_subject' => 'New invoice :invoice', + 'invoice_message' => 'To view your invoice for :amount, click the link below.', + 'payment_subject' => 'Payment Received :invoice', + 'payment_message' => 'Thank you for your payment of :amount.', + 'email_salutation' => 'Dear :name,', + 'email_signature' => 'Regards,', + 'email_from' => 'The InvoiceNinja Team', + 'user_email_footer' => 'To adjust your email notification settings please visit http://www.invoiceninja.com/company/notifications', + 'invoice_link_message' => 'To view your client invoice click the link below:', + 'notification_paid_subject' => 'Invoice :invoice was paid by :client', + 'notification_sent_subject' => 'Invoice :invoice was sent by :client', + 'notification_viewed_subject' => 'Invoice :invoice was viewed by :client', + 'notification_paid' => 'A payment of :amount was made by client :client towards Invoice :invoice.', + 'notification_sent' => 'The following client :client was emailed Invoice :invoice for :amount.', + 'notification_viewed' => 'The following client :client viewed Invoice :invoice for :amount.', + 'reset_password' => 'You can reset your account password by clicking the following link:', + 'reset_password_footer' => 'If you did not request this password reset please email our support: ' . CONTACT_EMAIL, + + // Payment page + 'secure_payment' => 'Secure Payment', + 'card_number' => 'Card number', + 'expiration_month' => 'Expiration month', + 'expiration_year' => 'Expiration year', + 'cvv' => 'CVV', + + ); diff --git a/app/lang/en/texts.php b/app/lang/en/texts.php index 93ce3dcfbb..f9a64304f0 100644 --- a/app/lang/en/texts.php +++ b/app/lang/en/texts.php @@ -62,6 +62,7 @@ return array( 'invoice_terms' => 'Invoice terms', 'save_as_default_terms' => 'Save as default terms', 'download_pdf' => 'Download PDF', + 'pay_now' => 'Pay Now', 'save_invoice' => 'Save Invoice', 'clone_invoice' => 'Clone Invoice', 'archive_invoice' => 'Archive Invoice', @@ -207,12 +208,12 @@ return array( // application messages 'created_client' => 'Successfully created client', - 'created_clients' => 'Successfully created ? clients', + 'created_clients' => 'Successfully created :count clients', 'updated_settings' => 'Successfully updated settings', 'removed_logo' => 'Successfully removed logo', 'sent_message' => 'Successfully sent message', 'invoice_error' => 'Please make sure to select a client and correct any errors', - 'limit_clients' => 'Sorry, this will exceed the limit of ? clients', + 'limit_clients' => 'Sorry, this will exceed the limit of :count clients', 'payment_error' => 'There was an error processing your payment. Please try again later.', 'registration_required' => 'Please sign up to email an invoice', 'confirmation_required' => 'Please confirm your email address', @@ -220,9 +221,9 @@ return array( 'updated_client' => 'Successfully updated client', 'created_client' => 'Successfully created client', 'archived_client' => 'Successfully archived client', - 'archived_clients' => 'Successfully archived ? clients', + 'archived_clients' => 'Successfully archived :count clients', 'deleted_client' => 'Successfully deleted client', - 'deleted_clients' => 'Successfully deleted ? clients', + 'deleted_clients' => 'Successfully deleted :count clients', 'updated_invoice' => 'Successfully updated invoice', 'created_invoice' => 'Successfully created invoice', @@ -230,22 +231,22 @@ return array( 'emailed_invoice' => 'Successfully emailed invoice', 'and_created_client' => 'and created client', 'archived_invoice' => 'Successfully archived credit', - 'archived_invoices' => 'Successfully archived ? credits', + 'archived_invoices' => 'Successfully archived :count credits', 'deleted_invoice' => 'Successfully deleted credit', - 'deleted_invoices' => 'Successfully deleted ? credits', + 'deleted_invoices' => 'Successfully deleted :count credits', 'created_payment' => 'Successfully created payment', 'archived_payment' => 'Successfully archived payment', - 'archived_payments' => 'Successfully archived ? payments', + 'archived_payments' => 'Successfully archived :count payments', 'deleted_payment' => 'Successfully deleted payment', - 'deleted_payments' => 'Successfully deleted ? payments', + 'deleted_payments' => 'Successfully deleted :count payments', 'applied_payment' => 'Successfully applied payment', 'created_credit' => 'Successfully created credit', 'archived_credit' => 'Successfully archived credit', - 'archived_credits' => 'Successfully archived ? credits', + 'archived_credits' => 'Successfully archived :count credits', 'deleted_credit' => 'Successfully deleted credit', - 'deleted_credits' => 'Successfully deleted ? credits', + 'deleted_credits' => 'Successfully deleted :count credits', // Emails 'confirmation_subject' => 'Invoice Ninja Account Confirmation', @@ -269,4 +270,13 @@ return array( 'reset_password' => 'You can reset your account password by clicking the following link:', 'reset_password_footer' => 'If you did not request this password reset please email our support: ' . CONTACT_EMAIL, + // Payment page + 'secure_payment' => 'Secure Payment', + 'card_number' => 'Card number', + 'expiration_month' => 'Expiration month', + 'expiration_year' => 'Expiration year', + 'cvv' => 'CVV', + + + ); \ No newline at end of file diff --git a/app/lang/es/fields.php b/app/lang/es/fields.php deleted file mode 100644 index c5761739d7..0000000000 --- a/app/lang/es/fields.php +++ /dev/null @@ -1,52 +0,0 @@ - 'Organización', - 'name' => 'Nombre', - 'website' => 'Página Web', - 'work_phone' => 'Teléfono', - 'address' => 'Dirección', - 'address1' => 'Calle', - 'address2' => 'Bloq/Pta', - 'city' => 'Ciudad', - 'state' => 'Región/Provincia', - 'postal_code' => 'Código Postal', - 'country_id' => 'País', - 'contacts' => 'Contactos', - 'first_name' => 'Nombre', - 'last_name' => 'Apellidos', - 'phone' => 'Teléfono', - 'email' => 'Email', - 'additional_info' => 'Información extra', - 'payment_terms' => 'Términos de pago', - 'currency_id' => 'Divisa', - 'size_id' => 'Tamaño', - 'industry_id' => 'Industria', - 'private_notes' => 'Notas Privadas', - - // invoice - 'invoice' => 'Factura', - 'client' => 'Clienta', - 'invoice_date' => 'Fecha de factura', - 'due_date' => 'Fecha de pago', - 'invoice_number' => 'Número de Factura', - 'invoice_number_short' => 'Nº de Factura', - 'po_number' => 'Apartado de correos', - 'po_number_short' => 'Apdo.', - 'frequency_id' => 'Fracuencia', - 'discount' => 'Descuento', - 'taxes' => 'Impuestos', - 'tax' => 'Impuesto', - 'item' => 'Elemento', - 'description' => 'Descripción', - 'unit_cost' => 'Coste unitario', - 'quantity' => 'Cantidad', - 'line_total' => 'Total línea', - 'subtotal' => 'Subtotal', - 'paid_to_date' => 'Pagado', - 'balance_due' => 'Pendiente', - 'invoice_design_id' => 'Diseño', - 'terms' => 'Términos', - 'your_invoice' => 'Tu factura', -); diff --git a/app/lang/es/messages.php b/app/lang/es/messages.php deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/app/lang/es/texts.php b/app/lang/es/texts.php new file mode 100644 index 0000000000..7d36ed2d3d --- /dev/null +++ b/app/lang/es/texts.php @@ -0,0 +1,280 @@ + 'Organización', + 'name' => 'Nombre', + 'website' => 'Página Web', + 'work_phone' => 'Teléfono', + 'address' => 'Dirección', + 'address1' => 'Calle', + 'address2' => 'Bloq/Pta', + 'city' => 'Ciudad', + 'state' => 'Región/Provincia', + 'postal_code' => 'Código Postal', + 'country_id' => 'País', + 'contacts' => 'Contactos', + 'first_name' => 'Nombre', + 'last_name' => 'Apellidos', + 'phone' => 'Teléfono', + 'email' => 'Email', + 'additional_info' => 'Información extra', + 'payment_terms' => 'Términos de pago', + 'currency_id' => 'Divisa', + 'size_id' => 'Tamaño', + 'industry_id' => 'Industria', + 'private_notes' => 'Notas Privadas', + + // invoice + 'invoice' => 'Factura', + 'client' => 'Clienta', + 'invoice_date' => 'Fecha de factura', + 'due_date' => 'Fecha de pago', + 'invoice_number' => 'Número de Factura', + 'invoice_number_short' => 'Nº de Factura', + 'po_number' => 'Apartado de correos', + 'po_number_short' => 'Apdo.', + 'frequency_id' => 'Fracuencia', + 'discount' => 'Descuento', + 'taxes' => 'Impuestos', + 'tax' => 'Impuesto', + 'item' => 'Elemento', + 'description' => 'Descripción', + 'unit_cost' => 'Coste unitario', + 'quantity' => 'Cantidad', + 'line_total' => 'Total línea', + 'subtotal' => 'Subtotal', + 'paid_to_date' => 'Pagado', + 'balance_due' => 'Pendiente', + 'invoice_design_id' => 'Diseño', + 'terms' => 'Términos', + 'your_invoice' => 'Tu factura', + + 'remove_contact' => 'Remove contact', + 'add_contact' => 'Add contact', + 'create_new_client' => 'Create new client', + 'edit_client_details' => 'Edit client details', + 'enable' => 'Enable', + 'learn_more' => 'Learn more', + 'manage_rates' => 'Manage rates', + 'note_to_client' => 'Note to client', + 'invoice_terms' => 'Invoice terms', + 'save_as_default_terms' => 'Save as default terms', + 'download_pdf' => 'Download PDF', + 'pay_now' => 'Pay Now', + 'save_invoice' => 'Save Invoice', + 'clone_invoice' => 'Clone Invoice', + 'archive_invoice' => 'Archive Invoice', + 'delete_invoice' => 'Delete Invoice', + 'email_invoice' => 'Email Invoice', + 'enter_payment' => 'Enter Payment', + 'tax_rates' => 'Tax Rates', + 'rate' => 'Rate', + 'settings' => 'Settings', + 'enable_invoice_tax' => 'Enable specifying an invoice tax', + 'enable_line_item_tax' => 'Enable specifying line item taxes', + + // navigation + 'dashboard' => 'Dashboard', + 'clients' => 'Clients', + 'invoices' => 'Invoices', + 'payments' => 'Payments', + 'credits' => 'Credits', + 'history' => 'History', + 'search' => 'Search', + 'sign_up' => 'Sign Up', + 'guest' => 'Guest', + 'company_details' => 'Company Details', + 'online_payments' => 'Online Payments', + 'notifications' => 'Notifications', + 'import_export' => 'Import/Export', + 'done' => 'Done', + 'save' => 'Save', + 'create' => 'Create', + 'upload' => 'Upload', + 'import' => 'Import', + 'download' => 'Download', + 'cancel' => 'Cancel', + 'provide_email' => 'Please provide a valid email address', + 'powered_by' => 'Powered by', + 'no_items' => 'No items', + + // recurring invoices + 'recurring_invoices' => 'Recurring Invoices', + 'recurring_help' => '

Automatically send clients the same invoices weekly, bi-monthly, monthly, quarterly or annually.

+

Use :MONTH, :QUARTER or :YEAR for dynamic dates. Basic math works as well, for example :MONTH-1.

+

Examples of dynamic invoice variables:

+ ', + + // dashboard + 'in_total_revenue' => 'in total revenue', + 'billed_client' => 'billed client', + 'billed_clients' => 'billed clients', + 'active_client' => 'active client', + 'active_clients' => 'active clients', + 'invoices_past_due' => 'Invoices Past Due', + 'upcoming_invoices' => 'Upcoming invoices', + 'average_invoice' => 'Average invoice', + + // list pages + 'archive' => 'Archive', + 'delete' => 'Delete', + 'archive_client' => 'Archive client', + 'delete_client' => 'Delete client', + 'archive_payment' => 'Archive payment', + 'delete_payment' => 'Delete payment', + 'archive_credit' => 'Archive credit', + 'delete_credit' => 'Delete credit', + 'show_archived_deleted' => 'Show archived/deleted', + 'filter' => 'Filter', + 'new_client' => 'New Client', + 'new_invoice' => 'New Invoice', + 'new_payment' => 'New Payment', + 'new_credit' => 'New Credit', + 'contact' => 'Contact', + 'date_created' => 'Date Created', + 'last_login' => 'Last Login', + 'balance' => 'Balance', + 'action' => 'Action', + 'status' => 'Status', + 'invoice_total' => 'Invoice Total', + 'frequency' => 'Frequency', + 'start_date' => 'Start Date', + 'end_date' => 'End Date', + 'transaction_reference' => 'Transaction Reference', + 'method' => 'Method', + 'payment_amount' => 'Payment Amount', + 'payment_date' => 'Payment Date', + 'credit_amount' => 'Credit Amount', + 'credit_balance' => 'Credit Balance', + 'credit_date' => 'Credit Date', + 'empty_table' => 'No data available in table', + 'select' => 'Select', + 'edit_client' => 'Edit Client', + 'edit_invoice' => 'Edit Invoice', + + // client view page + 'create_invoice' => 'Create Invoice', + 'enter_credit' => 'Enter Credit', + 'last_logged_in' => 'Last logged in', + 'details' => 'Details', + 'standing' => 'Standing', + 'credit' => 'Credit', + 'activity' => 'Activity', + 'date' => 'Date', + 'message' => 'Message', + 'adjustment' => 'Adjustment', + 'are_you_sure' => 'Are you sure?', + + // payment pages + 'payment_type_id' => 'Payment type', + 'amount' => 'Amount', + + // account/company pages + 'work_email' => 'Email', + 'language_id' => 'Language', + 'timezone_id' => 'Timezone', + 'date_format_id' => 'Date format', + 'datetime_format_id' => 'Date/Time Format', + 'users' => 'Users', + 'localization' => 'Localization', + 'remove_logo' => 'Remove logo', + 'logo_help' => 'Supported: JPEG, GIF and PNG. Recommended height: 120px', + 'payment_gateway' => 'Payment Gateway', + 'gateway_id' => 'Provider', + 'email_notifications' => 'Email Notifications', + 'email_sent' => 'Email me when an invoice is sent', + 'email_viewed' => 'Email me when an invoice is viewed', + 'email_paid' => 'Email me when an invoice is paid', + 'site_updates' => 'Site Updates', + 'custom_messages' => 'Custom Messages', + 'default_invoice_terms' => 'Set default invoice terms', + 'default_email_footer' => 'Set default email signature', + 'import_clients' => 'Import Client Data', + 'csv_file' => 'Select CSV file', + 'export_clients' => 'Export Client Data', + 'select_file' => 'Please select a file', + 'first_row_headers' => 'Use first row as headers', + 'column' => 'Column', + 'sample' => 'Sample', + 'import_to' => 'Import to', + 'client_will_create' => 'client will be created', + 'clients_will_create' => 'clients will be created', + + // application messages + 'created_client' => 'Successfully created client', + 'created_clients' => 'Successfully created :count clients', + 'updated_settings' => 'Successfully updated settings', + 'removed_logo' => 'Successfully removed logo', + 'sent_message' => 'Successfully sent message', + 'invoice_error' => 'Please make sure to select a client and correct any errors', + 'limit_clients' => 'Sorry, this will exceed the limit of :count clients', + 'payment_error' => 'There was an error processing your payment. Please try again later.', + 'registration_required' => 'Please sign up to email an invoice', + 'confirmation_required' => 'Please confirm your email address', + + 'updated_client' => 'Successfully updated client', + 'created_client' => 'Successfully created client', + 'archived_client' => 'Successfully archived client', + 'archived_clients' => 'Successfully archived :count clients', + 'deleted_client' => 'Successfully deleted client', + 'deleted_clients' => 'Successfully deleted :count clients', + + 'updated_invoice' => 'Successfully updated invoice', + 'created_invoice' => 'Successfully created invoice', + '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', + + 'created_payment' => 'Successfully created payment', + 'archived_payment' => 'Successfully archived payment', + 'archived_payments' => 'Successfully archived :count payments', + 'deleted_payment' => 'Successfully deleted payment', + 'deleted_payments' => 'Successfully deleted :count payments', + 'applied_payment' => 'Successfully applied payment', + + 'created_credit' => 'Successfully created credit', + 'archived_credit' => 'Successfully archived credit', + 'archived_credits' => 'Successfully archived :count credits', + 'deleted_credit' => 'Successfully deleted credit', + 'deleted_credits' => 'Successfully deleted :count credits', + + // Emails + 'confirmation_subject' => 'Invoice Ninja Account Confirmation', + 'confirmation_header' => 'Account Confirmation', + 'confirmation_message' => 'Please access the link below to confirm your account.', + 'invoice_subject' => 'New invoice :invoice', + 'invoice_message' => 'To view your invoice for :amount, click the link below.', + 'payment_subject' => 'Payment Received :invoice', + 'payment_message' => 'Thank you for your payment of :amount.', + 'email_salutation' => 'Dear :name,', + 'email_signature' => 'Regards,', + 'email_from' => 'The InvoiceNinja Team', + 'user_email_footer' => 'To adjust your email notification settings please visit http://www.invoiceninja.com/company/notifications', + 'invoice_link_message' => 'To view your client invoice click the link below:', + 'notification_paid_subject' => 'Invoice :invoice was paid by :client', + 'notification_sent_subject' => 'Invoice :invoice was sent by :client', + 'notification_viewed_subject' => 'Invoice :invoice was viewed by :client', + 'notification_paid' => 'A payment of :amount was made by client :client towards Invoice :invoice.', + 'notification_sent' => 'The following client :client was emailed Invoice :invoice for :amount.', + 'notification_viewed' => 'The following client :client viewed Invoice :invoice for :amount.', + 'reset_password' => 'You can reset your account password by clicking the following link:', + 'reset_password_footer' => 'If you did not request this password reset please email our support: ' . CONTACT_EMAIL, + + // Payment page + 'secure_payment' => 'Secure Payment', + 'card_number' => 'Card number', + 'expiration_month' => 'Expiration month', + 'expiration_year' => 'Expiration year', + 'cvv' => 'CVV', + + +); diff --git a/app/lang/fr/texts.php b/app/lang/fr/texts.php index 37dc8e1df8..5813864148 100644 --- a/app/lang/fr/texts.php +++ b/app/lang/fr/texts.php @@ -50,5 +50,232 @@ return array( 'invoice_design_id' => 'Design', //if you speak about invoice's design -> "Modèle" 'terms' => 'Conditions', 'your_invoice' => 'Votre Facture', + + 'remove_contact' => 'Remove contact', + 'add_contact' => 'Add contact', + 'create_new_client' => 'Create new client', + 'edit_client_details' => 'Edit client details', + 'enable' => 'Enable', + 'learn_more' => 'Learn more', + 'manage_rates' => 'Manage rates', + 'note_to_client' => 'Note to client', + 'invoice_terms' => 'Invoice terms', + 'save_as_default_terms' => 'Save as default terms', + 'download_pdf' => 'Download PDF', + 'pay_now' => 'Pay Now', + 'save_invoice' => 'Save Invoice', + 'clone_invoice' => 'Clone Invoice', + 'archive_invoice' => 'Archive Invoice', + 'delete_invoice' => 'Delete Invoice', + 'email_invoice' => 'Email Invoice', + 'enter_payment' => 'Enter Payment', + 'tax_rates' => 'Tax Rates', + 'rate' => 'Rate', + 'settings' => 'Settings', + 'enable_invoice_tax' => 'Enable specifying an invoice tax', + 'enable_line_item_tax' => 'Enable specifying line item taxes', + + // navigation + 'dashboard' => 'Dashboard', + 'clients' => 'Clients', + 'invoices' => 'Invoices', + 'payments' => 'Payments', + 'credits' => 'Credits', + 'history' => 'History', + 'search' => 'Search', + 'sign_up' => 'Sign Up', + 'guest' => 'Guest', + 'company_details' => 'Company Details', + 'online_payments' => 'Online Payments', + 'notifications' => 'Notifications', + 'import_export' => 'Import/Export', + 'done' => 'Done', + 'save' => 'Save', + 'create' => 'Create', + 'upload' => 'Upload', + 'import' => 'Import', + 'download' => 'Download', + 'cancel' => 'Cancel', + 'provide_email' => 'Please provide a valid email address', + 'powered_by' => 'Powered by', + 'no_items' => 'No items', + + // recurring invoices + 'recurring_invoices' => 'Recurring Invoices', + 'recurring_help' => '

Automatically send clients the same invoices weekly, bi-monthly, monthly, quarterly or annually.

+

Use :MONTH, :QUARTER or :YEAR for dynamic dates. Basic math works as well, for example :MONTH-1.

+

Examples of dynamic invoice variables:

+ ', + + // dashboard + 'in_total_revenue' => 'in total revenue', + 'billed_client' => 'billed client', + 'billed_clients' => 'billed clients', + 'active_client' => 'active client', + 'active_clients' => 'active clients', + 'invoices_past_due' => 'Invoices Past Due', + 'upcoming_invoices' => 'Upcoming invoices', + 'average_invoice' => 'Average invoice', + // list pages + 'archive' => 'Archive', + 'delete' => 'Delete', + 'archive_client' => 'Archive client', + 'delete_client' => 'Delete client', + 'archive_payment' => 'Archive payment', + 'delete_payment' => 'Delete payment', + 'archive_credit' => 'Archive credit', + 'delete_credit' => 'Delete credit', + 'show_archived_deleted' => 'Show archived/deleted', + 'filter' => 'Filter', + 'new_client' => 'New Client', + 'new_invoice' => 'New Invoice', + 'new_payment' => 'New Payment', + 'new_credit' => 'New Credit', + 'contact' => 'Contact', + 'date_created' => 'Date Created', + 'last_login' => 'Last Login', + 'balance' => 'Balance', + 'action' => 'Action', + 'status' => 'Status', + 'invoice_total' => 'Invoice Total', + 'frequency' => 'Frequency', + 'start_date' => 'Start Date', + 'end_date' => 'End Date', + 'transaction_reference' => 'Transaction Reference', + 'method' => 'Method', + 'payment_amount' => 'Payment Amount', + 'payment_date' => 'Payment Date', + 'credit_amount' => 'Credit Amount', + 'credit_balance' => 'Credit Balance', + 'credit_date' => 'Credit Date', + 'empty_table' => 'No data available in table', + 'select' => 'Select', + 'edit_client' => 'Edit Client', + 'edit_invoice' => 'Edit Invoice', + + // client view page + 'create_invoice' => 'Create Invoice', + 'enter_credit' => 'Enter Credit', + 'last_logged_in' => 'Last logged in', + 'details' => 'Details', + 'standing' => 'Standing', + 'credit' => 'Credit', + 'activity' => 'Activity', + 'date' => 'Date', + 'message' => 'Message', + 'adjustment' => 'Adjustment', + 'are_you_sure' => 'Are you sure?', + + // payment pages + 'payment_type_id' => 'Payment type', + 'amount' => 'Amount', + + // account/company pages + 'work_email' => 'Email', + 'language_id' => 'Language', + 'timezone_id' => 'Timezone', + 'date_format_id' => 'Date format', + 'datetime_format_id' => 'Date/Time Format', + 'users' => 'Users', + 'localization' => 'Localization', + 'remove_logo' => 'Remove logo', + 'logo_help' => 'Supported: JPEG, GIF and PNG. Recommended height: 120px', + 'payment_gateway' => 'Payment Gateway', + 'gateway_id' => 'Provider', + 'email_notifications' => 'Email Notifications', + 'email_sent' => 'Email me when an invoice is sent', + 'email_viewed' => 'Email me when an invoice is viewed', + 'email_paid' => 'Email me when an invoice is paid', + 'site_updates' => 'Site Updates', + 'custom_messages' => 'Custom Messages', + 'default_invoice_terms' => 'Set default invoice terms', + 'default_email_footer' => 'Set default email signature', + 'import_clients' => 'Import Client Data', + 'csv_file' => 'Select CSV file', + 'export_clients' => 'Export Client Data', + 'select_file' => 'Please select a file', + 'first_row_headers' => 'Use first row as headers', + 'column' => 'Column', + 'sample' => 'Sample', + 'import_to' => 'Import to', + 'client_will_create' => 'client will be created', + 'clients_will_create' => 'clients will be created', + + // application messages + 'created_client' => 'Successfully created client', + 'created_clients' => 'Successfully created :count clients', + 'updated_settings' => 'Successfully updated settings', + 'removed_logo' => 'Successfully removed logo', + 'sent_message' => 'Successfully sent message', + 'invoice_error' => 'Please make sure to select a client and correct any errors', + 'limit_clients' => 'Sorry, this will exceed the limit of :count clients', + 'payment_error' => 'There was an error processing your payment. Please try again later.', + 'registration_required' => 'Please sign up to email an invoice', + 'confirmation_required' => 'Please confirm your email address', + + 'updated_client' => 'Successfully updated client', + 'created_client' => 'Successfully created client', + 'archived_client' => 'Successfully archived client', + 'archived_clients' => 'Successfully archived :count clients', + 'deleted_client' => 'Successfully deleted client', + 'deleted_clients' => 'Successfully deleted :count clients', + + 'updated_invoice' => 'Successfully updated invoice', + 'created_invoice' => 'Successfully created invoice', + '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', + + 'created_payment' => 'Successfully created payment', + 'archived_payment' => 'Successfully archived payment', + 'archived_payments' => 'Successfully archived :count payments', + 'deleted_payment' => 'Successfully deleted payment', + 'deleted_payments' => 'Successfully deleted :count payments', + 'applied_payment' => 'Successfully applied payment', + + 'created_credit' => 'Successfully created credit', + 'archived_credit' => 'Successfully archived credit', + 'archived_credits' => 'Successfully archived :count credits', + 'deleted_credit' => 'Successfully deleted credit', + 'deleted_credits' => 'Successfully deleted :count credits', + + // Emails + 'confirmation_subject' => 'Invoice Ninja Account Confirmation', + 'confirmation_header' => 'Account Confirmation', + 'confirmation_message' => 'Please access the link below to confirm your account.', + 'invoice_subject' => 'New invoice :invoice', + 'invoice_message' => 'To view your invoice for :amount, click the link below.', + 'payment_subject' => 'Payment Received :invoice', + 'payment_message' => 'Thank you for your payment of :amount.', + 'email_salutation' => 'Dear :name,', + 'email_signature' => 'Regards,', + 'email_from' => 'The InvoiceNinja Team', + 'user_email_footer' => 'To adjust your email notification settings please visit http://www.invoiceninja.com/company/notifications', + 'invoice_link_message' => 'To view your client invoice click the link below:', + 'notification_paid_subject' => 'Invoice :invoice was paid by :client', + 'notification_sent_subject' => 'Invoice :invoice was sent by :client', + 'notification_viewed_subject' => 'Invoice :invoice was viewed by :client', + 'notification_paid' => 'A payment of :amount was made by client :client towards Invoice :invoice.', + 'notification_sent' => 'The following client :client was emailed Invoice :invoice for :amount.', + 'notification_viewed' => 'The following client :client viewed Invoice :invoice for :amount.', + 'reset_password' => 'You can reset your account password by clicking the following link:', + 'reset_password_footer' => 'If you did not request this password reset please email our support: ' . CONTACT_EMAIL, + + // Payment page + 'secure_payment' => 'Secure Payment', + 'card_number' => 'Card number', + 'expiration_month' => 'Expiration month', + 'expiration_year' => 'Expiration year', + 'cvv' => 'CVV', + + ); diff --git a/app/lang/it/texts.php b/app/lang/it/texts.php index 10f5d738c3..fd7bdf8ae9 100644 --- a/app/lang/it/texts.php +++ b/app/lang/it/texts.php @@ -50,5 +50,233 @@ return array( 'invoice_design_id' => 'Design', 'terms' => 'Terms', 'your_invoice' => 'Your Invoice', + + 'remove_contact' => 'Remove contact', + 'add_contact' => 'Add contact', + 'create_new_client' => 'Create new client', + 'edit_client_details' => 'Edit client details', + 'enable' => 'Enable', + 'learn_more' => 'Learn more', + 'manage_rates' => 'Manage rates', + 'note_to_client' => 'Note to client', + 'invoice_terms' => 'Invoice terms', + 'save_as_default_terms' => 'Save as default terms', + 'download_pdf' => 'Download PDF', + 'pay_now' => 'Pay Now', + 'save_invoice' => 'Save Invoice', + 'clone_invoice' => 'Clone Invoice', + 'archive_invoice' => 'Archive Invoice', + 'delete_invoice' => 'Delete Invoice', + 'email_invoice' => 'Email Invoice', + 'enter_payment' => 'Enter Payment', + 'tax_rates' => 'Tax Rates', + 'rate' => 'Rate', + 'settings' => 'Settings', + 'enable_invoice_tax' => 'Enable specifying an invoice tax', + 'enable_line_item_tax' => 'Enable specifying line item taxes', + + // navigation + 'dashboard' => 'Dashboard', + 'clients' => 'Clients', + 'invoices' => 'Invoices', + 'payments' => 'Payments', + 'credits' => 'Credits', + 'history' => 'History', + 'search' => 'Search', + 'sign_up' => 'Sign Up', + 'guest' => 'Guest', + 'company_details' => 'Company Details', + 'online_payments' => 'Online Payments', + 'notifications' => 'Notifications', + 'import_export' => 'Import/Export', + 'done' => 'Done', + 'save' => 'Save', + 'create' => 'Create', + 'upload' => 'Upload', + 'import' => 'Import', + 'download' => 'Download', + 'cancel' => 'Cancel', + 'provide_email' => 'Please provide a valid email address', + 'powered_by' => 'Powered by', + 'no_items' => 'No items', + + // recurring invoices + 'recurring_invoices' => 'Recurring Invoices', + 'recurring_help' => '

Automatically send clients the same invoices weekly, bi-monthly, monthly, quarterly or annually.

+

Use :MONTH, :QUARTER or :YEAR for dynamic dates. Basic math works as well, for example :MONTH-1.

+

Examples of dynamic invoice variables:

+ ', + + // dashboard + 'in_total_revenue' => 'in total revenue', + 'billed_client' => 'billed client', + 'billed_clients' => 'billed clients', + 'active_client' => 'active client', + 'active_clients' => 'active clients', + 'invoices_past_due' => 'Invoices Past Due', + 'upcoming_invoices' => 'Upcoming invoices', + 'average_invoice' => 'Average invoice', + + // list pages + 'archive' => 'Archive', + 'delete' => 'Delete', + 'archive_client' => 'Archive client', + 'delete_client' => 'Delete client', + 'archive_payment' => 'Archive payment', + 'delete_payment' => 'Delete payment', + 'archive_credit' => 'Archive credit', + 'delete_credit' => 'Delete credit', + 'show_archived_deleted' => 'Show archived/deleted', + 'filter' => 'Filter', + 'new_client' => 'New Client', + 'new_invoice' => 'New Invoice', + 'new_payment' => 'New Payment', + 'new_credit' => 'New Credit', + 'contact' => 'Contact', + 'date_created' => 'Date Created', + 'last_login' => 'Last Login', + 'balance' => 'Balance', + 'action' => 'Action', + 'status' => 'Status', + 'invoice_total' => 'Invoice Total', + 'frequency' => 'Frequency', + 'start_date' => 'Start Date', + 'end_date' => 'End Date', + 'transaction_reference' => 'Transaction Reference', + 'method' => 'Method', + 'payment_amount' => 'Payment Amount', + 'payment_date' => 'Payment Date', + 'credit_amount' => 'Credit Amount', + 'credit_balance' => 'Credit Balance', + 'credit_date' => 'Credit Date', + 'empty_table' => 'No data available in table', + 'select' => 'Select', + 'edit_client' => 'Edit Client', + 'edit_invoice' => 'Edit Invoice', + + // client view page + 'create_invoice' => 'Create Invoice', + 'enter_credit' => 'Enter Credit', + 'last_logged_in' => 'Last logged in', + 'details' => 'Details', + 'standing' => 'Standing', + 'credit' => 'Credit', + 'activity' => 'Activity', + 'date' => 'Date', + 'message' => 'Message', + 'adjustment' => 'Adjustment', + 'are_you_sure' => 'Are you sure?', + + // payment pages + 'payment_type_id' => 'Payment type', + 'amount' => 'Amount', + + // account/company pages + 'work_email' => 'Email', + 'language_id' => 'Language', + 'timezone_id' => 'Timezone', + 'date_format_id' => 'Date format', + 'datetime_format_id' => 'Date/Time Format', + 'users' => 'Users', + 'localization' => 'Localization', + 'remove_logo' => 'Remove logo', + 'logo_help' => 'Supported: JPEG, GIF and PNG. Recommended height: 120px', + 'payment_gateway' => 'Payment Gateway', + 'gateway_id' => 'Provider', + 'email_notifications' => 'Email Notifications', + 'email_sent' => 'Email me when an invoice is sent', + 'email_viewed' => 'Email me when an invoice is viewed', + 'email_paid' => 'Email me when an invoice is paid', + 'site_updates' => 'Site Updates', + 'custom_messages' => 'Custom Messages', + 'default_invoice_terms' => 'Set default invoice terms', + 'default_email_footer' => 'Set default email signature', + 'import_clients' => 'Import Client Data', + 'csv_file' => 'Select CSV file', + 'export_clients' => 'Export Client Data', + 'select_file' => 'Please select a file', + 'first_row_headers' => 'Use first row as headers', + 'column' => 'Column', + 'sample' => 'Sample', + 'import_to' => 'Import to', + 'client_will_create' => 'client will be created', + 'clients_will_create' => 'clients will be created', + + // application messages + 'created_client' => 'Successfully created client', + 'created_clients' => 'Successfully created :count clients', + 'updated_settings' => 'Successfully updated settings', + 'removed_logo' => 'Successfully removed logo', + 'sent_message' => 'Successfully sent message', + 'invoice_error' => 'Please make sure to select a client and correct any errors', + 'limit_clients' => 'Sorry, this will exceed the limit of :count clients', + 'payment_error' => 'There was an error processing your payment. Please try again later.', + 'registration_required' => 'Please sign up to email an invoice', + 'confirmation_required' => 'Please confirm your email address', + + 'updated_client' => 'Successfully updated client', + 'created_client' => 'Successfully created client', + 'archived_client' => 'Successfully archived client', + 'archived_clients' => 'Successfully archived :count clients', + 'deleted_client' => 'Successfully deleted client', + 'deleted_clients' => 'Successfully deleted :count clients', + + 'updated_invoice' => 'Successfully updated invoice', + 'created_invoice' => 'Successfully created invoice', + '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', + + 'created_payment' => 'Successfully created payment', + 'archived_payment' => 'Successfully archived payment', + 'archived_payments' => 'Successfully archived :count payments', + 'deleted_payment' => 'Successfully deleted payment', + 'deleted_payments' => 'Successfully deleted :count payments', + 'applied_payment' => 'Successfully applied payment', + + 'created_credit' => 'Successfully created credit', + 'archived_credit' => 'Successfully archived credit', + 'archived_credits' => 'Successfully archived :count credits', + 'deleted_credit' => 'Successfully deleted credit', + 'deleted_credits' => 'Successfully deleted :count credits', + + // Emails + 'confirmation_subject' => 'Invoice Ninja Account Confirmation', + 'confirmation_header' => 'Account Confirmation', + 'confirmation_message' => 'Please access the link below to confirm your account.', + 'invoice_subject' => 'New invoice :invoice', + 'invoice_message' => 'To view your invoice for :amount, click the link below.', + 'payment_subject' => 'Payment Received :invoice', + 'payment_message' => 'Thank you for your payment of :amount.', + 'email_salutation' => 'Dear :name,', + 'email_signature' => 'Regards,', + 'email_from' => 'The InvoiceNinja Team', + 'user_email_footer' => 'To adjust your email notification settings please visit http://www.invoiceninja.com/company/notifications', + 'invoice_link_message' => 'To view your client invoice click the link below:', + 'notification_paid_subject' => 'Invoice :invoice was paid by :client', + 'notification_sent_subject' => 'Invoice :invoice was sent by :client', + 'notification_viewed_subject' => 'Invoice :invoice was viewed by :client', + 'notification_paid' => 'A payment of :amount was made by client :client towards Invoice :invoice.', + 'notification_sent' => 'The following client :client was emailed Invoice :invoice for :amount.', + 'notification_viewed' => 'The following client :client viewed Invoice :invoice for :amount.', + 'reset_password' => 'You can reset your account password by clicking the following link:', + 'reset_password_footer' => 'If you did not request this password reset please email our support: ' . CONTACT_EMAIL, + + // Payment page + 'secure_payment' => 'Secure Payment', + 'card_number' => 'Card number', + 'expiration_month' => 'Expiration month', + 'expiration_year' => 'Expiration year', + 'cvv' => 'CVV', + + ); \ No newline at end of file diff --git a/app/lang/pt_BR/texts.php b/app/lang/pt_BR/texts.php index a405467cfe..0431661945 100644 --- a/app/lang/pt_BR/texts.php +++ b/app/lang/pt_BR/texts.php @@ -50,4 +50,231 @@ return array( 'terms' => 'Terms', 'your_invoice' => 'Your Invoice', + 'remove_contact' => 'Remove contact', + 'add_contact' => 'Add contact', + 'create_new_client' => 'Create new client', + 'edit_client_details' => 'Edit client details', + 'enable' => 'Enable', + 'learn_more' => 'Learn more', + 'manage_rates' => 'Manage rates', + 'note_to_client' => 'Note to client', + 'invoice_terms' => 'Invoice terms', + 'save_as_default_terms' => 'Save as default terms', + 'download_pdf' => 'Download PDF', + 'pay_now' => 'Pay Now', + 'save_invoice' => 'Save Invoice', + 'clone_invoice' => 'Clone Invoice', + 'archive_invoice' => 'Archive Invoice', + 'delete_invoice' => 'Delete Invoice', + 'email_invoice' => 'Email Invoice', + 'enter_payment' => 'Enter Payment', + 'tax_rates' => 'Tax Rates', + 'rate' => 'Rate', + 'settings' => 'Settings', + 'enable_invoice_tax' => 'Enable specifying an invoice tax', + 'enable_line_item_tax' => 'Enable specifying line item taxes', + + // navigation + 'dashboard' => 'Dashboard', + 'clients' => 'Clients', + 'invoices' => 'Invoices', + 'payments' => 'Payments', + 'credits' => 'Credits', + 'history' => 'History', + 'search' => 'Search', + 'sign_up' => 'Sign Up', + 'guest' => 'Guest', + 'company_details' => 'Company Details', + 'online_payments' => 'Online Payments', + 'notifications' => 'Notifications', + 'import_export' => 'Import/Export', + 'done' => 'Done', + 'save' => 'Save', + 'create' => 'Create', + 'upload' => 'Upload', + 'import' => 'Import', + 'download' => 'Download', + 'cancel' => 'Cancel', + 'provide_email' => 'Please provide a valid email address', + 'powered_by' => 'Powered by', + 'no_items' => 'No items', + + // recurring invoices + 'recurring_invoices' => 'Recurring Invoices', + 'recurring_help' => '

Automatically send clients the same invoices weekly, bi-monthly, monthly, quarterly or annually.

+

Use :MONTH, :QUARTER or :YEAR for dynamic dates. Basic math works as well, for example :MONTH-1.

+

Examples of dynamic invoice variables:

+ ', + + // dashboard + 'in_total_revenue' => 'in total revenue', + 'billed_client' => 'billed client', + 'billed_clients' => 'billed clients', + 'active_client' => 'active client', + 'active_clients' => 'active clients', + 'invoices_past_due' => 'Invoices Past Due', + 'upcoming_invoices' => 'Upcoming invoices', + 'average_invoice' => 'Average invoice', + + // list pages + 'archive' => 'Archive', + 'delete' => 'Delete', + 'archive_client' => 'Archive client', + 'delete_client' => 'Delete client', + 'archive_payment' => 'Archive payment', + 'delete_payment' => 'Delete payment', + 'archive_credit' => 'Archive credit', + 'delete_credit' => 'Delete credit', + 'show_archived_deleted' => 'Show archived/deleted', + 'filter' => 'Filter', + 'new_client' => 'New Client', + 'new_invoice' => 'New Invoice', + 'new_payment' => 'New Payment', + 'new_credit' => 'New Credit', + 'contact' => 'Contact', + 'date_created' => 'Date Created', + 'last_login' => 'Last Login', + 'balance' => 'Balance', + 'action' => 'Action', + 'status' => 'Status', + 'invoice_total' => 'Invoice Total', + 'frequency' => 'Frequency', + 'start_date' => 'Start Date', + 'end_date' => 'End Date', + 'transaction_reference' => 'Transaction Reference', + 'method' => 'Method', + 'payment_amount' => 'Payment Amount', + 'payment_date' => 'Payment Date', + 'credit_amount' => 'Credit Amount', + 'credit_balance' => 'Credit Balance', + 'credit_date' => 'Credit Date', + 'empty_table' => 'No data available in table', + 'select' => 'Select', + 'edit_client' => 'Edit Client', + 'edit_invoice' => 'Edit Invoice', + + // client view page + 'create_invoice' => 'Create Invoice', + 'enter_credit' => 'Enter Credit', + 'last_logged_in' => 'Last logged in', + 'details' => 'Details', + 'standing' => 'Standing', + 'credit' => 'Credit', + 'activity' => 'Activity', + 'date' => 'Date', + 'message' => 'Message', + 'adjustment' => 'Adjustment', + 'are_you_sure' => 'Are you sure?', + + // payment pages + 'payment_type_id' => 'Payment type', + 'amount' => 'Amount', + + // account/company pages + 'work_email' => 'Email', + 'language_id' => 'Language', + 'timezone_id' => 'Timezone', + 'date_format_id' => 'Date format', + 'datetime_format_id' => 'Date/Time Format', + 'users' => 'Users', + 'localization' => 'Localization', + 'remove_logo' => 'Remove logo', + 'logo_help' => 'Supported: JPEG, GIF and PNG. Recommended height: 120px', + 'payment_gateway' => 'Payment Gateway', + 'gateway_id' => 'Provider', + 'email_notifications' => 'Email Notifications', + 'email_sent' => 'Email me when an invoice is sent', + 'email_viewed' => 'Email me when an invoice is viewed', + 'email_paid' => 'Email me when an invoice is paid', + 'site_updates' => 'Site Updates', + 'custom_messages' => 'Custom Messages', + 'default_invoice_terms' => 'Set default invoice terms', + 'default_email_footer' => 'Set default email signature', + 'import_clients' => 'Import Client Data', + 'csv_file' => 'Select CSV file', + 'export_clients' => 'Export Client Data', + 'select_file' => 'Please select a file', + 'first_row_headers' => 'Use first row as headers', + 'column' => 'Column', + 'sample' => 'Sample', + 'import_to' => 'Import to', + 'client_will_create' => 'client will be created', + 'clients_will_create' => 'clients will be created', + + // application messages + 'created_client' => 'Successfully created client', + 'created_clients' => 'Successfully created :count clients', + 'updated_settings' => 'Successfully updated settings', + 'removed_logo' => 'Successfully removed logo', + 'sent_message' => 'Successfully sent message', + 'invoice_error' => 'Please make sure to select a client and correct any errors', + 'limit_clients' => 'Sorry, this will exceed the limit of :count clients', + 'payment_error' => 'There was an error processing your payment. Please try again later.', + 'registration_required' => 'Please sign up to email an invoice', + 'confirmation_required' => 'Please confirm your email address', + + 'updated_client' => 'Successfully updated client', + 'created_client' => 'Successfully created client', + 'archived_client' => 'Successfully archived client', + 'archived_clients' => 'Successfully archived :count clients', + 'deleted_client' => 'Successfully deleted client', + 'deleted_clients' => 'Successfully deleted :count clients', + + 'updated_invoice' => 'Successfully updated invoice', + 'created_invoice' => 'Successfully created invoice', + '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', + + 'created_payment' => 'Successfully created payment', + 'archived_payment' => 'Successfully archived payment', + 'archived_payments' => 'Successfully archived :count payments', + 'deleted_payment' => 'Successfully deleted payment', + 'deleted_payments' => 'Successfully deleted :count payments', + 'applied_payment' => 'Successfully applied payment', + + 'created_credit' => 'Successfully created credit', + 'archived_credit' => 'Successfully archived credit', + 'archived_credits' => 'Successfully archived :count credits', + 'deleted_credit' => 'Successfully deleted credit', + 'deleted_credits' => 'Successfully deleted :count credits', + + // Emails + 'confirmation_subject' => 'Invoice Ninja Account Confirmation', + 'confirmation_header' => 'Account Confirmation', + 'confirmation_message' => 'Please access the link below to confirm your account.', + 'invoice_subject' => 'New invoice :invoice', + 'invoice_message' => 'To view your invoice for :amount, click the link below.', + 'payment_subject' => 'Payment Received :invoice', + 'payment_message' => 'Thank you for your payment of :amount.', + 'email_salutation' => 'Dear :name,', + 'email_signature' => 'Regards,', + 'email_from' => 'The InvoiceNinja Team', + 'user_email_footer' => 'To adjust your email notification settings please visit http://www.invoiceninja.com/company/notifications', + 'invoice_link_message' => 'To view your client invoice click the link below:', + 'notification_paid_subject' => 'Invoice :invoice was paid by :client', + 'notification_sent_subject' => 'Invoice :invoice was sent by :client', + 'notification_viewed_subject' => 'Invoice :invoice was viewed by :client', + 'notification_paid' => 'A payment of :amount was made by client :client towards Invoice :invoice.', + 'notification_sent' => 'The following client :client was emailed Invoice :invoice for :amount.', + 'notification_viewed' => 'The following client :client viewed Invoice :invoice for :amount.', + 'reset_password' => 'You can reset your account password by clicking the following link:', + 'reset_password_footer' => 'If you did not request this password reset please email our support: ' . CONTACT_EMAIL, + + // Payment page + 'secure_payment' => 'Secure Payment', + 'card_number' => 'Card number', + 'expiration_month' => 'Expiration month', + 'expiration_year' => 'Expiration year', + 'cvv' => 'CVV', + + ); diff --git a/app/libraries/utils.php b/app/libraries/utils.php index 766b78679a..865b6ffc7d 100755 --- a/app/libraries/utils.php +++ b/app/libraries/utils.php @@ -123,8 +123,7 @@ class Utils public static function pluralize($string, $count) { $field = $count == 1 ? $string : $string . 's'; - $string = trans("texts.$field"); - $string = str_replace('?', $count, $string); + $string = trans("texts.$field", ['count' => $count]); return $string; } diff --git a/app/models/Account.php b/app/models/Account.php index c69e781376..bc500de3d6 100755 --- a/app/models/Account.php +++ b/app/models/Account.php @@ -39,6 +39,11 @@ class Account extends Eloquent return $this->belongsTo('Timezone'); } + public function language() + { + return $this->belongsTo('Language'); + } + public function date_format() { return $this->belongsTo('DateFormat'); @@ -158,15 +163,22 @@ class Account extends Eloquent } } + public function getLocale() + { + $language = Language::remember(DEFAULT_QUERY_CACHE)->where('id', '=', $this->account->language_id)->first(); + return $language->locale; + } + public function loadLocalizationSettings() { - $this->load('timezone', 'date_format', 'datetime_format'); + $this->load('timezone', 'date_format', 'datetime_format', 'language'); Session::put(SESSION_TIMEZONE, $this->timezone ? $this->timezone->name : DEFAULT_TIMEZONE); Session::put(SESSION_DATE_FORMAT, $this->date_format ? $this->date_format->format : DEFAULT_DATE_FORMAT); Session::put(SESSION_DATE_PICKER_FORMAT, $this->date_format ? $this->date_format->picker_format : DEFAULT_DATE_PICKER_FORMAT); Session::put(SESSION_DATETIME_FORMAT, $this->datetime_format ? $this->datetime_format->format : DEFAULT_DATETIME_FORMAT); Session::put(SESSION_CURRENCY, $this->currency_id ? $this->currency_id : DEFAULT_CURRENCY); + Session::put(SESSION_LOCALE, $this->language_id ? $this->language->locale : DEFUALT_LOCALE); } public function getInvoiceLabels() diff --git a/app/models/User.php b/app/models/User.php index f9fb73acb8..ace29f4745 100755 --- a/app/models/User.php +++ b/app/models/User.php @@ -104,12 +104,6 @@ class User extends ConfideUser implements UserInterface, RemindableInterface } } - public function getLocale() - { - $language = Language::remember(DEFAULT_QUERY_CACHE)->where('id', '=', $this->account->language_id)->first(); - return $language->locale; - } - public function showGreyBackground() { return !$this->theme_id || in_array($this->theme_id, [2, 3, 5, 6, 7, 8, 10, 11, 12]); diff --git a/app/routes.php b/app/routes.php index f355ee5cf7..bb7fc82e22 100755 --- a/app/routes.php +++ b/app/routes.php @@ -228,6 +228,7 @@ define('SESSION_DATE_FORMAT', 'dateFormat'); define('SESSION_DATE_PICKER_FORMAT', 'datePickerFormat'); define('SESSION_DATETIME_FORMAT', 'datetimeFormat'); define('SESSION_COUNTER', 'sessionCounter'); +define('SESSION_LOCALE', 'sessionLocale'); define('DEFAULT_TIMEZONE', 'US/Eastern'); define('DEFAULT_CURRENCY', 1); // US Dollar @@ -235,6 +236,7 @@ define('DEFAULT_DATE_FORMAT', 'M j, Y'); define('DEFAULT_DATE_PICKER_FORMAT', 'M d, yyyy'); define('DEFAULT_DATETIME_FORMAT', 'F j, Y, g:i a'); define('DEFAULT_QUERY_CACHE', 120); // minutes +define('DEFUALT_LOCALE', 'en'); define('GATEWAY_PAYPAL_EXPRESS', 17); diff --git a/app/views/invoices/view.blade.php b/app/views/invoices/view.blade.php index 628ec4774b..75baab8850 100755 --- a/app/views/invoices/view.blade.php +++ b/app/views/invoices/view.blade.php @@ -11,8 +11,8 @@ @if ($invoice->client->account->isGatewayConfigured())
- {{ Button::normal('Download PDF', array('onclick' => 'onDownloadClick()', 'class' => 'btn-lg')) }} - {{ Button::primary_link(URL::to('payment/' . $invitation->invitation_key), 'Pay Now', array('class' => 'btn-lg pull-right')) }} + {{ Button::normal(trans('texts.download_pdf'), array('onclick' => 'onDownloadClick()', 'class' => 'btn-lg')) }} + {{ Button::primary_link(URL::to('payment/' . $invitation->invitation_key), trans('texts.pay_now'), array('class' => 'btn-lg pull-right')) }}
@else
diff --git a/app/views/payments/payment.blade.php b/app/views/payments/payment.blade.php index 5c1fc06057..67337e9edc 100755 --- a/app/views/payments/payment.blade.php +++ b/app/views/payments/payment.blade.php @@ -29,10 +29,12 @@
- {{ Former::legend('Secure Payment') }} + {{ Former::legend('secure_payment') }} {{ Former::text('first_name') }} {{ Former::text('last_name') }} +

 

+ {{ Former::text('card_number') }} {{ Former::select('expiration_month')->addOption('','') ->addOption('01 - January', '1') @@ -58,15 +60,17 @@ ->addOption('2020', '2020') }} - {{ Former::text('cvv')->label('CVV') }} + {{ Former::text('cvv') }} +

 

+ {{ Former::text('address1')->label('Street') }} {{ Former::text('address2')->label('Apt/Suite') }} {{ Former::text('city') }} {{ Former::text('state')->label('State/Province') }} {{ Former::text('postal_code') }} - {{ Former::actions( Button::primary_submit_lg('Pay Now - ' . Utils::formatMoney($invoice->amount, $client->currency_id) )) }} + {{ Former::actions( Button::primary_submit_lg(trans('texts.pay_now') . ' - ' . Utils::formatMoney($invoice->amount, $client->currency_id) )) }}