diff --git a/resources/lang/en/texts.php b/resources/lang/en/texts.php
index 046989e73..6a7ee530c 100644
--- a/resources/lang/en/texts.php
+++ b/resources/lang/en/texts.php
@@ -71,6 +71,7 @@ $LANG = array(
'enable_invoice_tax' => 'Enable specifying an invoice tax',
'enable_line_item_tax' => 'Enable specifying line item taxes',
'dashboard' => 'Dashboard',
+ 'dashboard_totals_in_all_currencies_help' => 'Note: add a :link named ":name" to show the totals using a single base currency.',
'clients' => 'Clients',
'invoices' => 'Invoices',
'payments' => 'Payments',
@@ -103,6 +104,7 @@ $LANG = array(
":YEAR+1 yearly subscription" >> "2015 Yearly Subscription"
"Retainer payment for :QUARTER+1" >> "Retainer payment for Q2"
',
+ 'recurring_quotes' => 'Recurring Quotes',
'in_total_revenue' => 'in total revenue',
'billed_client' => 'billed client',
'billed_clients' => 'billed clients',
@@ -399,7 +401,7 @@ $LANG = array(
'vat_number' => 'VAT Number',
'timesheets' => 'Timesheets',
'payment_title' => 'Enter Your Billing Address and Credit Card information',
- 'payment_cvv' => '*This is the 3-4 digit number onthe back of your card',
+ 'payment_cvv' => '*This is the 3-4 digit number on the back of your card',
'payment_footer1' => '*Billing address must match address associated with credit card.',
'payment_footer2' => '*Please click "PAY NOW" only once - transaction may take up to 1 minute to process.',
'id_number' => 'ID Number',
@@ -565,6 +567,7 @@ $LANG = array(
'hours' => 'Hours',
'task_details' => 'Task Details',
'duration' => 'Duration',
+ 'time_log'=> 'Time Log',
'end_time' => 'End Time',
'end' => 'End',
'invoiced' => 'Invoiced',
@@ -653,6 +656,8 @@ $LANG = array(
'current_user' => 'Current User',
'new_recurring_invoice' => 'New Recurring Invoice',
'recurring_invoice' => 'Recurring Invoice',
+ 'new_recurring_quote' => 'New Recurring Quote',
+ 'recurring_quote' => 'Recurring Quote',
'recurring_too_soon' => 'It\'s too soon to create the next recurring invoice, it\'s scheduled for :date',
'created_by_invoice' => 'Created by :invoice',
'primary_user' => 'Primary User',
@@ -787,6 +792,16 @@ $LANG = array(
'activity_45' => ':user deleted task :task',
'activity_46' => ':user restored task :task',
'activity_47' => ':user updated expense :expense',
+ 'activity_48' => ':user updated ticket :ticket',
+ 'activity_49' => ':user closed ticket :ticket',
+ 'activity_50' => ':user merged ticket :ticket',
+ 'activity_51' => ':user split ticket :ticket',
+ 'activity_52' => ':contact opened ticket :ticket',
+ 'activity_53' => ':contact reopened ticket :ticket',
+ 'activity_54' => ':user reopened ticket :ticket',
+ 'activity_55' => ':contact replied ticket :ticket',
+ 'activity_56' => ':user viewed ticket :ticket',
+
'payment' => 'Payment',
'system' => 'System',
'signature' => 'Email Signature',
@@ -812,6 +827,12 @@ $LANG = array(
'deleted_recurring_invoice' => 'Successfully deleted recurring invoice',
'restore_recurring_invoice' => 'Restore Recurring Invoice',
'restored_recurring_invoice' => 'Successfully restored recurring invoice',
+ 'archive_recurring_quote' => 'Archive Recurring Quote',
+ 'archived_recurring_quote' => 'Successfully archived recurring quote',
+ 'delete_recurring_quote' => 'Delete Recurring Quote',
+ 'deleted_recurring_quote' => 'Successfully deleted recurring quote',
+ 'restore_recurring_quote' => 'Restore Recurring Quote',
+ 'restored_recurring_quote' => 'Successfully restored recurring quote',
'archived' => 'Archived',
'untitled_account' => 'Untitled Company',
'before' => 'Before',
@@ -1114,6 +1135,7 @@ $LANG = array(
'download_documents' => 'Download Documents (:size)',
'documents_from_expenses' => 'From Expenses:',
'dropzone_default_message' => 'Drop files or click to upload',
+ 'dropzone_default_message_disabled' => 'Uploads disabled',
'dropzone_fallback_message' => 'Your browser does not support drag\'n\'drop file uploads.',
'dropzone_fallback_text' => 'Please use the fallback form below to upload your files like in the olden days.',
'dropzone_file_too_big' => 'File is too big ({{filesize}}MiB). Max filesize: {{maxFilesize}}MiB.',
@@ -1737,6 +1759,7 @@ $LANG = array(
'lang_Spanish - Spain' => 'Spanish - Spain',
'lang_Swedish' => 'Swedish',
'lang_Albanian' => 'Albanian',
+ 'lang_Greek' => 'Greek',
'lang_English - United Kingdom' => 'English - United Kingdom',
'lang_Slovenian' => 'Slovenian',
'lang_Finnish' => 'Finnish',
@@ -1745,6 +1768,8 @@ $LANG = array(
'lang_Portuguese - Brazilian' => 'Portuguese - Brazilian',
'lang_Portuguese - Portugal' => 'Portuguese - Portugal',
'lang_Thai' => 'Thai',
+ 'lang_Macedonian' => 'Macedonian',
+ 'lang_Chinese - Taiwan' => 'Chinese - Taiwan',
// Industries
'industry_Accounting & Legal' => 'Accounting & Legal',
@@ -1863,6 +1888,7 @@ $LANG = array(
'toggle_history' => 'Toggle History',
'unassigned' => 'Unassigned',
'task' => 'Task',
+ 'task_details'=>'Task Details',
'contact_name' => 'Contact Name',
'city_state_postal' => 'City/State/Postal',
'custom_field' => 'Custom Field',
@@ -2186,7 +2212,6 @@ $LANG = array(
'error_refresh_page' => 'An error occurred, please refresh the page and try again.',
'data' => 'Data',
'imported_settings' => 'Successfully imported settings',
- 'lang_Greek' => 'Greek',
'reset_counter' => 'Reset Counter',
'next_reset' => 'Next Reset',
'reset_counter_help' => 'Automatically reset the invoice and quote counters.',
@@ -2411,6 +2436,8 @@ $LANG = array(
'currency_qatari_riyal' => 'Qatari Riyal',
'currency_honduran_lempira' => 'Honduran Lempira',
'currency_surinamese_dollar' => 'Surinamese Dollar',
+ 'currency_bahraini_dinar' => 'Bahraini Dinar',
+ 'currency_venezuelan_bolivars' => 'Venezuelan Bolivars',
'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',
@@ -2616,6 +2643,7 @@ $LANG = array(
'module_quote' => 'Quotes & Proposals',
'module_task' => 'Tasks & Projects',
'module_expense' => 'Expenses & Vendors',
+ 'module_ticket' => 'Tickets',
'reminders' => 'Reminders',
'send_client_reminders' => 'Send email reminders',
'can_view_tasks' => 'Tasks are visible in the portal',
@@ -2789,6 +2817,8 @@ $LANG = array(
'auto_archive_invoice_help' => 'Automatically archive invoices when they are paid.',
'auto_archive_quote' => 'Auto Archive',
'auto_archive_quote_help' => 'Automatically archive quotes when they are converted.',
+ 'allow_approve_expired_quote' => 'Allow approve expired quote',
+ 'allow_approve_expired_quote_help' => 'Allow clients to approve expired quotes.',
'invoice_workflow' => 'Invoice Workflow',
'quote_workflow' => 'Quote Workflow',
'client_must_be_active' => 'Error: the client must be active',
@@ -2850,6 +2880,228 @@ $LANG = array(
'my_invoices' => 'My Invoices',
'mobile_refresh_warning' => 'If you\'re using the mobile app you may need to do a full refresh.',
'enable_proposals_for_background' => 'To upload a background image :link to enable the proposals module.',
+ 'payment_reference' => 'Payment Reference',
+ 'maximum' => 'Maximum',
+ 'sort' => 'Sort',
+ 'refresh_complete' => 'Refresh Complete',
+ 'please_enter_your_email' => 'Please enter your email',
+ 'please_enter_your_password' => 'Please enter your password',
+ 'please_enter_your_url' => 'Please enter your URL',
+ 'please_enter_a_product_key' => 'Please enter a product key',
+ 'an_error_occurred' => 'An error occurred',
+ 'overview' => 'Overview',
+ 'copied_to_clipboard' => 'Copied :value to the clipboard',
+ 'error' => 'Error',
+ 'could_not_launch' => 'Could not launch',
+ 'additional' => 'Additional',
+ 'ok' => 'Ok',
+ 'email_is_invalid' => 'Email is invalid',
+ 'items' => 'Items',
+ 'partial_deposit' => 'Partial/Deposit',
+ 'add_item' => 'Add Item',
+ 'total_amount' => 'Total Amount',
+ 'pdf' => 'PDF',
+ 'invoice_status_id' => 'Invoice Status',
+ 'click_plus_to_add_item' => 'Click + to add an item',
+ 'count_selected' => ':count selected',
+ 'dismiss' => 'Dismiss',
+ 'please_select_a_date' => 'Please select a date',
+ 'please_select_a_client' => 'Please select a client',
+ 'language' => 'Language',
+ 'updated_at' => 'Updated',
+ 'please_enter_an_invoice_number' => 'Please enter an invoice number',
+ 'please_enter_a_quote_number' => 'Please enter a quote number',
+ 'clients_invoices' => ':client\'s invoices',
+ 'viewed' => 'Viewed',
+ 'approved' => 'Approved',
+ 'invoice_status_1' => 'Draft',
+ 'invoice_status_2' => 'Sent',
+ 'invoice_status_3' => 'Viewed',
+ 'invoice_status_4' => 'Approved',
+ 'invoice_status_5' => 'Partial',
+ 'invoice_status_6' => 'Paid',
+ 'marked_invoice_as_sent' => 'Successfully marked invoice as sent',
+ 'please_enter_a_client_or_contact_name' => 'Please enter a client or contact name',
+ 'restart_app_to_apply_change' => 'Restart the app to apply the change',
+ 'refresh_data' => 'Refresh Data',
+ 'blank_contact' => 'Blank Contact',
+ 'no_records_found' => 'No records found',
+ 'industry' => 'Industry',
+ 'size' => 'Size',
+ 'net' => 'Net',
+ 'show_tasks' => 'Show tasks',
+ 'email_reminders' => 'Email Reminders',
+ 'reminder1' => 'First Reminder',
+ 'reminder2' => 'Second Reminder',
+ 'reminder3' => 'Third Reminder',
+ 'send' => 'Send',
+ 'auto_billing' => 'Auto billing',
+ 'button' => 'Button',
+ 'more' => 'More',
+ 'edit_recurring_invoice' => 'Edit Recurring Invoice',
+ 'edit_recurring_quote' => 'Edit Recurring Quote',
+ 'quote_status' => 'Quote Status',
+ 'please_select_an_invoice' => 'Please select an invoice',
+ 'filtered_by' => 'Filtered by',
+ 'payment_status' => 'Payment Status',
+ 'payment_status_1' => 'Pending',
+ 'payment_status_2' => 'Voided',
+ 'payment_status_3' => 'Failed',
+ 'payment_status_4' => 'Completed',
+ 'payment_status_5' => 'Partially Refunded',
+ 'payment_status_6' => 'Refunded',
+ 'send_receipt_to_client' => 'Send receipt to the client',
+ 'refunded' => 'Refunded',
+ 'marked_quote_as_sent' => 'Successfully marked quote as sent',
+ 'custom_module_settings' => 'Custom Module Settings',
+ 'ticket' => 'Ticket',
+ 'tickets' => 'Tickets',
+ 'ticket_number' => 'Ticket #',
+ 'new_ticket' => 'New Ticket',
+ 'edit_ticket' => 'Edit Ticket',
+ 'view_ticket' => 'View Ticket',
+ 'archive_ticket' => 'Archive Ticket',
+ 'restore_ticket' => 'Restore Ticket',
+ 'delete_ticket' => 'Delete Ticket',
+ 'archived_ticket' => 'Successfully archived ticket',
+ 'archived_tickets' => 'Successfully archived tickets',
+ 'restored_ticket' => 'Successfully restored ticket',
+ 'deleted_ticket' => 'Successfully deleted ticket',
+ 'open' => 'Open',
+ 'new' => 'New',
+ 'closed' => 'Closed',
+ 'reopened' => 'Reopened',
+ 'priority' => 'Priority',
+ 'last_updated' => 'Last Updated',
+ 'comment' => 'Comments',
+ 'tags' => 'Tags',
+ 'linked_objects' => 'Linked Objects',
+ 'low' => 'Low',
+ 'medium' => 'Medium',
+ 'high' => 'High',
+ 'no_due_date' => 'No due date set',
+ 'assigned_to' => 'Assigned to',
+ 'reply' => 'Reply',
+ 'awaiting_reply' => 'Awaiting reply',
+ 'ticket_close' => 'Close Ticket',
+ 'ticket_reopen' => 'Reopen Ticket',
+ 'ticket_open' => 'Open Ticket',
+ 'ticket_split' => 'Split Ticket',
+ 'ticket_merge' => 'Merge Ticket',
+ 'ticket_update' => 'Update Ticket',
+ 'ticket_settings' => 'Ticket Settings',
+ 'updated_ticket' => 'Ticket Updated',
+ 'mark_spam' => 'Mark as Spam',
+ 'local_part' => 'Local Part',
+ 'local_part_unavailable' => 'Name taken',
+ 'local_part_available' => 'Name available',
+ 'local_part_invalid' => 'Invalid name (alpha numeric only, no spaces',
+ 'local_part_help' => 'Customize the local part of your inbound support email, ie. YOUR_NAME@support.invoiceninja.com',
+ 'from_name_help' => 'From name is the recognizable sender which is displayed instead of the email address, ie Support Center',
+ 'local_part_placeholder' => 'YOUR_NAME',
+ 'from_name_placeholder' => 'Support Center',
+ 'attachments' => 'Attachments',
+ 'client_upload' => 'Client uploads',
+ 'enable_client_upload_help' => 'Allow clients to upload documents/attachments',
+ 'max_file_size_help' => 'Maximum file size (KB) is limited by your post_max_size and upload_max_filesize variables as set in your PHP.INI',
+ 'max_file_size' => 'Maximum file size',
+ 'mime_types' => 'Mime types',
+ 'mime_types_placeholder' => '.pdf , .docx, .jpg',
+ 'mime_types_help' => 'Comma separated list of allowed mime types, leave blank for all',
+ 'ticket_number_start_help' => 'Ticket number must be greater than the current ticket number',
+ 'new_ticket_template_id' => 'New ticket',
+ 'new_ticket_autoresponder_help' => 'Selecting a template will send an auto response to a client/contact when a new ticket is created',
+ 'update_ticket_template_id' => 'Updated ticket',
+ 'update_ticket_autoresponder_help' => 'Selecting a template will send an auto response to a client/contact when a ticket is updated',
+ 'close_ticket_template_id' => 'Closed ticket',
+ 'close_ticket_autoresponder_help' => 'Selecting a template will send an auto response to a client/contact when a ticket is closed',
+ 'default_priority' => 'Default priority',
+ 'alert_new_comment_id' => 'New comment',
+ 'alert_comment_ticket_help' => 'Selecting a template will send a notification (to agent) when a comment is made.',
+ 'alert_comment_ticket_email_help' => 'Comma separated emails to bcc on new comment.',
+ 'new_ticket_notification_list' => 'Additional new ticket notifications',
+ 'update_ticket_notification_list' => 'Additional new comment notifications',
+ 'comma_separated_values' => 'admin@example.com, supervisor@example.com',
+ 'alert_ticket_assign_agent_id' => 'Ticket assignment',
+ 'alert_ticket_assign_agent_id_hel' => 'Selecting a template will send a notification (to agent) when a ticket is assigned.',
+ 'alert_ticket_assign_agent_id_notifications' => 'Additional ticket assigned notifications',
+ 'alert_ticket_assign_agent_id_help' => 'Comma separated emails to bcc on ticket assignment.',
+ 'alert_ticket_transfer_email_help' => 'Comma separated emails to bcc on ticket transfer.',
+ 'alert_ticket_overdue_agent_id' => 'Ticket overdue',
+ 'alert_ticket_overdue_email' => 'Additional overdue ticket notifications',
+ 'alert_ticket_overdue_email_help' => 'Comma separated emails to bcc on ticket overdue.',
+ 'alert_ticket_overdue_agent_id_help' => 'Selecting a template will send a notification (to agent) when a ticket becomes overdue.',
+ 'ticket_master' => 'Ticket Master',
+ 'ticket_master_help' => 'Has the ability to assign and transfer tickets. Assigned as the default agent for all tickets.',
+ 'default_agent' => 'Default Agent',
+ 'default_agent_help' => 'If selected will automatically be assigned to all inbound tickets',
+ 'show_agent_details' => 'Show agent details on responses',
+ 'avatar' => 'Avatar',
+ 'remove_avatar' => 'Remove avatar',
+ 'ticket_not_found' => 'Ticket not found',
+ 'add_template' => 'Add Template',
+ 'ticket_template' => 'Ticket Template',
+ 'ticket_templates' => 'Ticket Templates',
+ 'updated_ticket_template' => 'Updated Ticket Template',
+ 'created_ticket_template' => 'Created Ticket Template',
+ 'archive_ticket_template' => 'Archive Template',
+ 'restore_ticket_template' => 'Restore Template',
+ 'archived_ticket_template' => 'Successfully archived template',
+ 'restored_ticket_template' => 'Successfully restored template',
+ 'close_reason' => 'Let us know why you are closing this ticket',
+ 'reopen_reason' => 'Let us know why you are reopening this ticket',
+ 'enter_ticket_message' => 'Please enter a message to update the ticket',
+ 'show_hide_all' => 'Show / Hide all',
+ 'subject_required' => 'Subject required',
+ 'mobile_refresh_warning' => 'If you\'re using the mobile app you may need to do a full refresh.',
+ 'enable_proposals_for_background' => 'To upload a background image :link to enable the proposals module.',
+ 'ticket_assignment' => 'Ticket :ticket_number has been assigned to :agent',
+ 'ticket_contact_reply' => 'Ticket :ticket_number has been updated by client :contact',
+ 'ticket_new_template_subject' => 'Ticket :ticket_number has been created.',
+ 'ticket_updated_template_subject' => 'Ticket :ticket_number has been updated.',
+ 'ticket_closed_template_subject' => 'Ticket :ticket_number has been closed.',
+ 'ticket_overdue_template_subject' => 'Ticket :ticket_number is now overdue',
+ 'merge' => 'Merge',
+ 'merged' => 'Merged',
+ 'agent' => 'Agent',
+ 'parent_ticket' => 'Parent Ticket',
+ 'linked_tickets' => 'Linked Tickets',
+ 'merge_prompt' => 'Enter ticket number to merge into',
+ 'merge_from_to' => 'Ticket #:old_ticket merged into Ticket #:new_ticket',
+ 'merge_closed_ticket_text' => 'Ticket #:old_ticket was closed and merged into Ticket#:new_ticket - :subject',
+ 'merge_updated_ticket_text' => 'Ticket #:old_ticket was closed and merged into this ticket',
+ 'merge_placeholder' => 'Merge ticket #:ticket into the following ticket',
+ 'select_ticket' => 'Select Ticket',
+ 'new_internal_ticket' => 'New internal ticket',
+ 'internal_ticket' => 'Internal ticket',
+ 'create_ticket' => 'Create ticket',
+ 'allow_inbound_email_tickets_external' => 'New Tickets by email (Client)',
+ 'allow_inbound_email_tickets_external_help' => 'Allow clients to create new tickets by email',
+ 'include_in_filter' => 'Include in filter',
+ 'custom_client1' => ':VALUE',
+ 'custom_client2' => ':VALUE',
+ 'compare' => 'Compare',
+ 'hosted_login' => 'Hosted Login',
+ 'selfhost_login' => 'Selfhost Login',
+ 'google_login' => 'Google Login',
+ 'thanks_for_patience' => 'Thank for your patience while we work to implement these features.\n\nWe hope to have them completed in the next few months.\n\nUntil then we\'ll continue to support the',
+ 'legacy_mobile_app' => 'legacy mobile app',
+ 'today' => 'Today',
+ 'current' => 'Current',
+ 'previous' => 'Previous',
+ 'current_period' => 'Current Period',
+ 'comparison_period' => 'Comparison Period',
+ 'previous_period' => 'Previous Period',
+ 'previous_year' => 'Previous Year',
+ 'compare_to' => 'Compare to',
+ 'last_week' => 'Last Week',
+ 'clone_to_invoice' => 'Clone to Invoice',
+ 'clone_to_quote' => 'Clone to Quote',
+ 'convert' => 'Convert',
+ 'last7_days' => 'Last 7 Days',
+ 'last30_days' => 'Last 30 days',
+ 'custom_js' => 'Custom JS',
+ 'adjust_fee_percent_help' => 'Adjust percent to account for fee',
);