summaryrefslogtreecommitdiff
path: root/locale/ca_en
diff options
context:
space:
mode:
authorchristopherm <christopherm@4979c152-3d1c-0410-bac9-87ea11338e46>2006-09-01 01:16:38 +0000
committerchristopherm <christopherm@4979c152-3d1c-0410-bac9-87ea11338e46>2006-09-01 01:16:38 +0000
commitac5b087ea2d9ba7428d367aaeb288534158fee9a (patch)
tree2dbe0bdea0b653a215ba9ddfdf627cb57855050d /locale/ca_en
Initial Import
git-svn-id: https://ledger-smb.svn.sourceforge.net/svnroot/ledger-smb/ledger-smb@1 4979c152-3d1c-0410-bac9-87ea11338e46
Diffstat (limited to 'locale/ca_en')
-rwxr-xr-xlocale/ca_en/COPYING23
-rwxr-xr-xlocale/ca_en/LANGUAGE1
-rwxr-xr-xlocale/ca_en/aa27
-rwxr-xr-xlocale/ca_en/admin37
-rwxr-xr-xlocale/ca_en/all890
-rwxr-xr-xlocale/ca_en/am90
-rwxr-xr-xlocale/ca_en/ap58
-rwxr-xr-xlocale/ca_en/ar58
-rwxr-xr-xlocale/ca_en/arap29
-rwxr-xr-xlocale/ca_en/arapprn18
-rwxr-xr-xlocale/ca_en/bp20
-rwxr-xr-xlocale/ca_en/ca12
-rwxr-xr-xlocale/ca_en/cp57
-rwxr-xr-xlocale/ca_en/ct51
-rwxr-xr-xlocale/ca_en/gl48
-rwxr-xr-xlocale/ca_en/hr38
-rwxr-xr-xlocale/ca_en/ic66
-rwxr-xr-xlocale/ca_en/io30
-rwxr-xr-xlocale/ca_en/ir66
-rwxr-xr-xlocale/ca_en/is67
-rwxr-xr-xlocale/ca_en/jc44
-rwxr-xr-xlocale/ca_en/locales.pl351
-rwxr-xr-xlocale/ca_en/login12
-rwxr-xr-xlocale/ca_en/menu14
-rwxr-xr-xlocale/ca_en/oe92
-rwxr-xr-xlocale/ca_en/pe59
-rwxr-xr-xlocale/ca_en/pos26
-rwxr-xr-xlocale/ca_en/ps95
-rwxr-xr-xlocale/ca_en/pw9
-rwxr-xr-xlocale/ca_en/rc20
-rwxr-xr-xlocale/ca_en/rp54
31 files changed, 2462 insertions, 0 deletions
diff --git a/locale/ca_en/COPYING b/locale/ca_en/COPYING
new file mode 100755
index 00000000..aefd9af8
--- /dev/null
+++ b/locale/ca_en/COPYING
@@ -0,0 +1,23 @@
+######################################################################
+# LedgerSMB Small Medium Business Accounting
+# Copyright (c) 2005
+#
+# British English texts:
+#
+# Author:
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+#
+#######################################################################
+
diff --git a/locale/ca_en/LANGUAGE b/locale/ca_en/LANGUAGE
new file mode 100755
index 00000000..f9c465e5
--- /dev/null
+++ b/locale/ca_en/LANGUAGE
@@ -0,0 +1 @@
+English/Canada
diff --git a/locale/ca_en/aa b/locale/ca_en/aa
new file mode 100755
index 00000000..5347421a
--- /dev/null
+++ b/locale/ca_en/aa
@@ -0,0 +1,27 @@
+$self{texts} = {
+ 'Check' => 'Cheque',
+};
+
+$self{subs} = {
+ 'acc_menu' => 'acc_menu',
+ 'add' => 'add',
+ 'create_links' => 'create_links',
+ 'delete' => 'delete',
+ 'display' => 'display',
+ 'display_form' => 'display_form',
+ 'edit' => 'edit',
+ 'form_footer' => 'form_footer',
+ 'form_header' => 'form_header',
+ 'js_menu' => 'js_menu',
+ 'menubar' => 'menubar',
+ 'post' => 'post',
+ 'search' => 'search',
+ 'section_menu' => 'section_menu',
+ 'subtotal' => 'subtotal',
+ 'transactions' => 'transactions',
+ 'update' => 'update',
+ 'yes' => 'yes',
+};
+
+1;
+
diff --git a/locale/ca_en/admin b/locale/ca_en/admin
new file mode 100755
index 00000000..54fc5353
--- /dev/null
+++ b/locale/ca_en/admin
@@ -0,0 +1,37 @@
+$self{texts} = {
+};
+
+$self{subs} = {
+ 'add_user' => 'add_user',
+ 'adminlogin' => 'adminlogin',
+ 'change_admin_password' => 'change_admin_password',
+ 'change_password' => 'change_password',
+ 'check_password' => 'check_password',
+ 'continue' => 'continue',
+ 'create_dataset' => 'create_dataset',
+ 'dbcreate' => 'dbcreate',
+ 'dbdelete' => 'dbdelete',
+ 'dbdriver_defaults' => 'dbdriver_defaults',
+ 'dbselect_source' => 'dbselect_source',
+ 'dbupdate' => 'dbupdate',
+ 'delete' => 'delete',
+ 'delete_dataset' => 'delete_dataset',
+ 'edit' => 'edit',
+ 'form_footer' => 'form_footer',
+ 'form_header' => 'form_header',
+ 'getpassword' => 'getpassword',
+ 'list_users' => 'list_users',
+ 'lock_system' => 'lock_system',
+ 'login' => 'login',
+ 'login_name' => 'login_name',
+ 'logout' => 'logout',
+ 'oracle_database_administration' => 'oracle_database_administration',
+ 'pg_database_administration' => 'pg_database_administration',
+ 'pgpp_database_administration' => 'pgpp_database_administration',
+ 'save' => 'save',
+ 'unlock_system' => 'unlock_system',
+ 'update_dataset' => 'update_dataset',
+};
+
+1;
+
diff --git a/locale/ca_en/all b/locale/ca_en/all
new file mode 100755
index 00000000..0fa0723d
--- /dev/null
+++ b/locale/ca_en/all
@@ -0,0 +1,890 @@
+# These are all the texts to build the translations files.
+# to build unique strings edit the module files instead
+# this file is just a shortcut to build strings which are the same
+
+$self{texts} = {
+ 'A' => '',
+ 'AP' => '',
+ 'AP Aging' => '',
+ 'AP Outstanding' => '',
+ 'AP Transaction' => '',
+ 'AP Transactions' => '',
+ 'AR' => '',
+ 'AR Aging' => '',
+ 'AR Outstanding' => '',
+ 'AR Transaction' => '',
+ 'AR Transactions' => '',
+ 'AR/AP' => '',
+ 'About' => '',
+ 'Above' => '',
+ 'Access Control' => '',
+ 'Access Denied!' => '',
+ 'Account' => '',
+ 'Account Number' => '',
+ 'Account Number missing!' => '',
+ 'Account Type' => '',
+ 'Account Type missing!' => '',
+ 'Account deleted!' => '',
+ 'Account does not exist!' => '',
+ 'Account saved!' => '',
+ 'Accounting' => '',
+ 'Accounting Menu' => '',
+ 'Accounts' => '',
+ 'Accrual' => '',
+ 'Activate Audit trail' => '',
+ 'Active' => '',
+ 'Add' => '',
+ 'Add AP Transaction' => '',
+ 'Add AR Transaction' => '',
+ 'Add Account' => '',
+ 'Add Assembly' => '',
+ 'Add Business' => '',
+ 'Add Cash Transfer Transaction' => '',
+ 'Add Customer' => '',
+ 'Add Deduction' => '',
+ 'Add Department' => '',
+ 'Add Employee' => '',
+ 'Add Exchange Rate' => '',
+ 'Add GIFI' => '',
+ 'Add General Ledger Transaction' => '',
+ 'Add Group' => '',
+ 'Add Job' => '',
+ 'Add Labor/Overhead' => '',
+ 'Add Language' => '',
+ 'Add POS Invoice' => '',
+ 'Add Part' => '',
+ 'Add Pricegroup' => '',
+ 'Add Project' => '',
+ 'Add Purchase Order' => '',
+ 'Add Quotation' => '',
+ 'Add Request for Quotation' => '',
+ 'Add SIC' => '',
+ 'Add Sales Invoice' => '',
+ 'Add Sales Order' => '',
+ 'Add Service' => '',
+ 'Add Timecard' => '',
+ 'Add Transaction' => '',
+ 'Add User' => '',
+ 'Add Vendor' => '',
+ 'Add Vendor Invoice' => '',
+ 'Add Warehouse' => '',
+ 'Address' => '',
+ 'Administration' => '',
+ 'Administrator' => '',
+ 'After Deduction' => '',
+ 'All' => '',
+ 'All Accounts' => '',
+ 'All Datasets up to date!' => '',
+ 'All Items' => '',
+ 'Allowances' => '',
+ 'Amount' => '',
+ 'Amount Due' => '',
+ 'Amount missing!' => '',
+ 'Apr' => '',
+ 'April' => '',
+ 'Are you sure you want to delete Invoice Number' => '',
+ 'Are you sure you want to delete Order Number' => '',
+ 'Are you sure you want to delete Quotation Number' => '',
+ 'Are you sure you want to delete Timecard for' => '',
+ 'Are you sure you want to delete Transaction' => '',
+ 'Are you sure you want to remove the marked entries from the queue?' => '',
+ 'Assemblies' => '',
+ 'Assemblies restocked!' => '',
+ 'Assembly' => '',
+ 'Assembly stocked!' => '',
+ 'Asset' => '',
+ 'Attachment' => '',
+ 'Audit Control' => '',
+ 'Audit trail disabled' => '',
+ 'Audit trail enabled' => '',
+ 'Audit trail removed up to' => '',
+ 'Aug' => '',
+ 'August' => '',
+ 'Average Cost' => '',
+ 'Avg Cost' => '',
+ 'BIC' => '',
+ 'BOM' => '',
+ 'Backup' => '',
+ 'Backup sent to' => '',
+ 'Balance' => '',
+ 'Balance Sheet' => '',
+ 'Based on' => '',
+ 'Bcc' => '',
+ 'Before Deduction' => '',
+ 'Beginning Balance' => '',
+ 'Below' => '',
+ 'Billing Address' => '',
+ 'Bin' => '',
+ 'Bin List' => '',
+ 'Bin Lists' => '',
+ 'Books are open' => '',
+ 'Break' => '',
+ 'Business' => '',
+ 'Business Number' => '',
+ 'Business deleted!' => '',
+ 'Business saved!' => '',
+ 'C' => '',
+ 'COGS' => '',
+ 'COGS account does not exist!' => '',
+ 'Cannot add timecard for a completed job!' => '',
+ 'Cannot change timecard for a completed job!' => '',
+ 'Cannot create Assembly' => '',
+ 'Cannot create Labor' => '',
+ 'Cannot create Lock!' => '',
+ 'Cannot create Part' => '',
+ 'Cannot create Service' => '',
+ 'Cannot delete Timecard!' => '',
+ 'Cannot delete account!' => '',
+ 'Cannot delete customer!' => '',
+ 'Cannot delete default account!' => '',
+ 'Cannot delete invoice!' => '',
+ 'Cannot delete item!' => '',
+ 'Cannot delete order!' => '',
+ 'Cannot delete quotation!' => '',
+ 'Cannot delete transaction!' => '',
+ 'Cannot delete vendor!' => '',
+ 'Cannot post Payment!' => '',
+ 'Cannot post Receipt!' => '',
+ 'Cannot post invoice for a closed period!' => '',
+ 'Cannot post invoice!' => '',
+ 'Cannot post payment for a closed period!' => '',
+ 'Cannot post transaction for a closed period!' => '',
+ 'Cannot post transaction with a debit and credit entry for the same account!' => '',
+ 'Cannot post transaction!' => '',
+ 'Cannot remove files!' => '',
+ 'Cannot save account!' => '',
+ 'Cannot save defaults!' => '',
+ 'Cannot save order!' => '',
+ 'Cannot save preferences!' => '',
+ 'Cannot save quotation!' => '',
+ 'Cannot save timecard for a closed period!' => '',
+ 'Cannot save timecard!' => '',
+ 'Cannot set account for more than one of AR, AP or IC' => '',
+ 'Cannot set multiple options for' => '',
+ 'Cannot set multiple options for Item' => '',
+ 'Cannot stock Assembly!' => '',
+ 'Cannot stock assemblies!' => '',
+ 'Cash' => '',
+ 'Cc' => '',
+ 'Change' => '',
+ 'Change Admin Password' => '',
+ 'Change Password' => '',
+ 'Charge' => '',
+ 'Chart of Accounts' => '',
+ 'Check' => 'Cheque',
+ 'Check Inventory' => '',
+ 'Checks' => 'Cheques',
+ 'City' => '',
+ 'Cleared' => '',
+ 'Click on login name to edit!' => '',
+ 'Clocked' => '',
+ 'Close Books up to' => '',
+ 'Closed' => '',
+ 'Code' => '',
+ 'Code missing!' => '',
+ 'Company' => '',
+ 'Company Name' => '',
+ 'Compare to' => '',
+ 'Completed' => '',
+ 'Components' => '',
+ 'Confirm' => '',
+ 'Confirm!' => '',
+ 'Connect to' => '',
+ 'Contact' => '',
+ 'Continue' => '',
+ 'Contra' => '',
+ 'Copies' => '',
+ 'Copy to COA' => '',
+ 'Cost' => '',
+ 'Cost Center' => '',
+ 'Could not save pricelist!' => '',
+ 'Could not save!' => '',
+ 'Could not transfer Inventory!' => '',
+ 'Country' => '',
+ 'Create Chart of Accounts' => '',
+ 'Create Dataset' => '',
+ 'Credit' => '',
+ 'Credit Limit' => '',
+ 'Curr' => '',
+ 'Currency' => '',
+ 'Current' => '',
+ 'Current Earnings' => '',
+ 'Customer' => '',
+ 'Customer History' => '',
+ 'Customer Number' => '',
+ 'Customer deleted!' => '',
+ 'Customer missing!' => '',
+ 'Customer not on file!' => '',
+ 'Customer saved!' => '',
+ 'Customers' => '',
+ 'DBI not installed!' => '',
+ 'DOB' => '',
+ 'Database' => '',
+ 'Database Administration' => '',
+ 'Database Driver not checked!' => '',
+ 'Database Host' => '',
+ 'Database User missing!' => '',
+ 'Dataset' => '',
+ 'Dataset is newer than version!' => '',
+ 'Dataset missing!' => '',
+ 'Dataset updated!' => '',
+ 'Date' => '',
+ 'Date Format' => '',
+ 'Date Paid' => '',
+ 'Date Received' => '',
+ 'Date missing!' => '',
+ 'Date received missing!' => '',
+ 'Date worked' => '',
+ 'Day' => '',
+ 'Day(s)' => '',
+ 'Days' => '',
+ 'Debit' => '',
+ 'Dec' => '',
+ 'December' => '',
+ 'Decimalplaces' => '',
+ 'Decrease' => '',
+ 'Deduct after' => '',
+ 'Deduction deleted!' => '',
+ 'Deduction saved!' => '',
+ 'Deductions' => '',
+ 'Default Template' => '',
+ 'Defaults' => '',
+ 'Defaults saved!' => '',
+ 'Delete' => '',
+ 'Delete Account' => '',
+ 'Delete Dataset' => '',
+ 'Delete Schedule' => '',
+ 'Deleting a language will also delete the templates for the language' => '',
+ 'Delivery Date' => '',
+ 'Department' => '',
+ 'Department deleted!' => '',
+ 'Department saved!' => '',
+ 'Departments' => '',
+ 'Deposit' => '',
+ 'Description' => '',
+ 'Description Translations' => '',
+ 'Description missing!' => '',
+ 'Detail' => '',
+ 'Difference' => '',
+ 'Directory' => '',
+ 'Discount' => '',
+ 'Done' => '',
+ 'Drawing' => '',
+ 'Driver' => '',
+ 'Dropdown Limit' => '',
+ 'Due Date' => '',
+ 'Due Date missing!' => '',
+ 'E-mail' => '',
+ 'E-mail Statement to' => '',
+ 'E-mail address missing!' => '',
+ 'E-mail message' => '',
+ 'E-mailed' => '',
+ 'Edit' => '',
+ 'Edit AP Transaction' => '',
+ 'Edit AR Transaction' => '',
+ 'Edit Account' => '',
+ 'Edit Assembly' => '',
+ 'Edit Business' => '',
+ 'Edit Cash Transfer Transaction' => '',
+ 'Edit Customer' => '',
+ 'Edit Deduction' => '',
+ 'Edit Department' => '',
+ 'Edit Description Translations' => '',
+ 'Edit Employee' => '',
+ 'Edit GIFI' => '',
+ 'Edit General Ledger Transaction' => '',
+ 'Edit Group' => '',
+ 'Edit Job' => '',
+ 'Edit Labor/Overhead' => '',
+ 'Edit Language' => '',
+ 'Edit POS Invoice' => '',
+ 'Edit Part' => '',
+ 'Edit Preferences for' => '',
+ 'Edit Pricegroup' => '',
+ 'Edit Project' => '',
+ 'Edit Purchase Order' => '',
+ 'Edit Quotation' => '',
+ 'Edit Request for Quotation' => '',
+ 'Edit SIC' => '',
+ 'Edit Sales Invoice' => '',
+ 'Edit Sales Order' => '',
+ 'Edit Service' => '',
+ 'Edit Template' => '',
+ 'Edit Timecard' => '',
+ 'Edit User' => '',
+ 'Edit Vendor' => '',
+ 'Edit Vendor Invoice' => '',
+ 'Edit Warehouse' => '',
+ 'Employee' => '',
+ 'Employee Name' => '',
+ 'Employee Number' => '',
+ 'Employee deleted!' => '',
+ 'Employee pays' => '',
+ 'Employee saved!' => '',
+ 'Employees' => '',
+ 'Employer' => '',
+ 'Employer pays' => '',
+ 'Enddate' => '',
+ 'Ends' => '',
+ 'Enforce transaction reversal for all dates' => '',
+ 'Enter up to 3 letters separated by a colon (i.e CAD:USD:EUR) for your native and foreign currencies' => '',
+ 'Equity' => '',
+ 'Every' => '',
+ 'Excempt age <' => '',
+ 'Exch' => '',
+ 'Exchange Rate' => '',
+ 'Exchange rate for payment missing!' => '',
+ 'Exchange rate missing!' => '',
+ 'Existing Datasets' => '',
+ 'Expense' => '',
+ 'Expense account does not exist!' => '',
+ 'Expense/Asset' => '',
+ 'Extended' => '',
+ 'FX' => '',
+ 'Failed to save order!' => '',
+ 'Fax' => '',
+ 'Feb' => '',
+ 'February' => '',
+ 'For' => '',
+ 'Foreign Exchange Gain' => '',
+ 'Foreign Exchange Loss' => '',
+ 'Friday' => '',
+ 'From' => '',
+ 'From Warehouse' => '',
+ 'GIFI' => '',
+ 'GIFI deleted!' => '',
+ 'GIFI missing!' => '',
+ 'GIFI saved!' => '',
+ 'GL' => '',
+ 'GL Reference Number' => '',
+ 'GL Transaction' => '',
+ 'General Ledger' => '',
+ 'Generate' => '',
+ 'Generate Orders' => '',
+ 'Generate Purchase Orders' => '',
+ 'Generate Purchase Orders from Sales Order' => '',
+ 'Generate Sales Order' => '',
+ 'Generate Sales Order from Purchase Orders' => '',
+ 'Generate Sales Orders' => '',
+ 'Goods & Services' => '',
+ 'Group' => '',
+ 'Group Items' => '',
+ 'Group Translations' => '',
+ 'Group deleted!' => '',
+ 'Group missing!' => '',
+ 'Group saved!' => '',
+ 'Groups' => '',
+ 'HR' => '',
+ 'HTML Templates' => '',
+ 'Heading' => '',
+ 'History' => '',
+ 'Home Phone' => '',
+ 'Host' => '',
+ 'Hostname missing!' => '',
+ 'IBAN' => '',
+ 'ID' => '',
+ 'Image' => '',
+ 'In-line' => '',
+ 'Inactive' => '',
+ 'Include Exchange Rate Difference' => '',
+ 'Include Payment' => '',
+ 'Include in Report' => '',
+ 'Include in drop-down menus' => '',
+ 'Income' => '',
+ 'Income Statement' => '',
+ 'Income account does not exist!' => '',
+ 'Incorrect Dataset version!' => '',
+ 'Increase' => '',
+ 'Individual Items' => '',
+ 'Internal Notes' => '',
+ 'Inventory' => '',
+ 'Inventory account does not exist!' => '',
+ 'Inventory quantity must be zero before you can set this assembly obsolete!' => '',
+ 'Inventory quantity must be zero before you can set this part obsolete!' => '',
+ 'Inventory saved!' => '',
+ 'Inventory transferred!' => '',
+ 'Invoice' => '',
+ 'Invoice Date' => '',
+ 'Invoice Date missing!' => '',
+ 'Invoice Number' => '',
+ 'Invoice Number missing!' => '',
+ 'Invoice deleted!' => '',
+ 'Invoices' => '',
+ 'Is this a summary account to record' => '',
+ 'Item already on pricelist!' => '',
+ 'Item deleted!' => '',
+ 'Item not on file!' => '',
+ 'Items' => '',
+ 'Jan' => '',
+ 'January' => '',
+ 'Job' => '',
+ 'Job Name' => '',
+ 'Job Number' => '',
+ 'Job Number missing!' => '',
+ 'Job deleted!' => '',
+ 'Job saved!' => '',
+ 'Jobs' => '',
+ 'Jul' => '',
+ 'July' => '',
+ 'Jun' => '',
+ 'June' => '',
+ 'LaTeX Templates' => '',
+ 'Labor Code' => '',
+ 'Labor/Overhead' => '',
+ 'Language' => '',
+ 'Language deleted!' => '',
+ 'Language saved!' => '',
+ 'Languages' => '',
+ 'Languages not defined!' => '',
+ 'Last Cost' => '',
+ 'Last Numbers & Default Accounts' => '',
+ 'Lead' => '',
+ 'Leadtime' => '',
+ 'Leave host and port field empty unless you want to make a remote connection.' => '',
+ 'Liability' => '',
+ 'Licensed to' => '',
+ 'Line Total' => '',
+ 'Link' => '',
+ 'Link Accounts' => '',
+ 'List' => '',
+ 'List Accounts' => '',
+ 'List Businesses' => '',
+ 'List Departments' => '',
+ 'List GIFI' => '',
+ 'List Languages' => '',
+ 'List Price' => '',
+ 'List Projects' => '',
+ 'List SIC' => '',
+ 'List Transactions' => '',
+ 'List Warehouses' => '',
+ 'Lock System' => '',
+ 'Lockfile created!' => '',
+ 'Lockfile removed!' => '',
+ 'Login' => '',
+ 'Login name missing!' => '',
+ 'Logout' => '',
+ 'Make' => '',
+ 'Manager' => '',
+ 'Mar' => '',
+ 'March' => '',
+ 'Marked entries printed!' => '',
+ 'Markup' => '',
+ 'Maximum' => '',
+ 'May' => '',
+ 'May ' => '',
+ 'Memo' => '',
+ 'Menu Width' => '',
+ 'Message' => '',
+ 'Method' => '',
+ 'Microfiche' => '',
+ 'Model' => '',
+ 'Monday' => '',
+ 'Month' => '',
+ 'Month(s)' => '',
+ 'Months' => '',
+ 'Multibyte Encoding' => '',
+ 'N/A' => '',
+ 'Name' => '',
+ 'Name missing!' => '',
+ 'New Templates' => '',
+ 'New Window' => '',
+ 'Next' => '',
+ 'Next Date' => '',
+ 'Next Number' => '',
+ 'No' => '',
+ 'No Database Drivers available!' => '',
+ 'No Dataset selected!' => '',
+ 'No Employees on file!' => '',
+ 'No Labor codes on file!' => '',
+ 'No email address for' => '',
+ 'No open Jobs!' => '',
+ 'No open Projects!' => '',
+ 'No.' => '',
+ 'Non-taxable' => '',
+ 'Non-taxable Purchases' => '',
+ 'Non-taxable Sales' => '',
+ 'Non-tracking Items' => '',
+ 'Notes' => '',
+ 'Nothing entered!' => '',
+ 'Nothing selected!' => '',
+ 'Nothing to delete!' => '',
+ 'Nothing to print!' => '',
+ 'Nothing to transfer!' => '',
+ 'Nov' => '',
+ 'November' => '',
+ 'Number' => '',
+ 'Number Format' => '',
+ 'Number missing in Row' => '',
+ 'O' => '',
+ 'OH' => '',
+ 'Obsolete' => '',
+ 'Oct' => '',
+ 'October' => '',
+ 'On Hand' => '',
+ 'Open' => '',
+ 'Oracle Database Administration' => '',
+ 'Order' => '',
+ 'Order Date' => '',
+ 'Order Date missing!' => '',
+ 'Order Entry' => '',
+ 'Order Number' => '',
+ 'Order Number missing!' => '',
+ 'Order deleted!' => '',
+ 'Order generation failed!' => '',
+ 'Order saved!' => '',
+ 'Orders generated!' => '',
+ 'Orphaned' => '',
+ 'Out of balance transaction!' => '',
+ 'Out of balance!' => '',
+ 'Outstanding' => '',
+ 'PDF' => '',
+ 'PO Number' => '',
+ 'POS' => '',
+ 'POS Invoice' => '',
+ 'Packing List' => '',
+ 'Packing List Date missing!' => '',
+ 'Packing List Number missing!' => '',
+ 'Packing Lists' => '',
+ 'Paid' => '',
+ 'Part' => '',
+ 'Part Number' => '',
+ 'Partnumber' => '',
+ 'Parts' => '',
+ 'Password' => '',
+ 'Password changed!' => '',
+ 'Password does not match!' => '',
+ 'Passwords do not match!' => '',
+ 'Payables' => '',
+ 'Payment' => '',
+ 'Payment date missing!' => '',
+ 'Payment posted!' => '',
+ 'Payments' => '',
+ 'Payments posted!' => '',
+ 'Payroll Deduction' => '',
+ 'Period' => '',
+ 'Pg Database Administration' => '',
+ 'PgPP Database Administration' => '',
+ 'Phone' => '',
+ 'Pick List' => '',
+ 'Pick Lists' => '',
+ 'Port' => '',
+ 'Port missing!' => '',
+ 'Pos' => '',
+ 'Post' => '',
+ 'Post as new' => '',
+ 'Posted!' => '',
+ 'Posting' => '',
+ 'Posting failed!' => '',
+ 'Postscript' => '',
+ 'Preferences' => '',
+ 'Preferences saved!' => '',
+ 'Prepayment' => '',
+ 'Price' => '',
+ 'Pricegroup' => '',
+ 'Pricegroup deleted!' => '',
+ 'Pricegroup missing!' => '',
+ 'Pricegroup saved!' => '',
+ 'Pricegroups' => '',
+ 'Pricelist' => '',
+ 'Print' => '',
+ 'Print and Post' => '',
+ 'Print and Post as new' => '',
+ 'Print and Save' => '',
+ 'Print and Save as new' => '',
+ 'Print and post as new' => '',
+ 'Print and save as new' => '',
+ 'Printed' => '',
+ 'Printer' => '',
+ 'Printing' => '',
+ 'Printing ... ' => '',
+ 'Process Transactions' => '',
+ 'Production' => '',
+ 'Profit Center' => '',
+ 'Project' => '',
+ 'Project Description Translations' => '',
+ 'Project Name' => '',
+ 'Project Number' => '',
+ 'Project Number missing!' => '',
+ 'Project Transactions' => '',
+ 'Project deleted!' => '',
+ 'Project not on file!' => '',
+ 'Project saved!' => '',
+ 'Project/Job Name' => '',
+ 'Project/Job Number' => '',
+ 'Projects' => '',
+ 'Purchase Order' => '',
+ 'Purchase Order Number' => '',
+ 'Purchase Orders' => '',
+ 'Qty' => '',
+ 'Quantity exceeds available units to stock!' => '',
+ 'Quarter' => '',
+ 'Quotation' => '',
+ 'Quotation ' => '',
+ 'Quotation Date' => '',
+ 'Quotation Date missing!' => '',
+ 'Quotation Number' => '',
+ 'Quotation Number missing!' => '',
+ 'Quotation deleted!' => '',
+ 'Quotations' => '',
+ 'R' => '',
+ 'RFQ' => '',
+ 'RFQ ' => '',
+ 'RFQ Number' => '',
+ 'RFQs' => '',
+ 'ROP' => '',
+ 'Rate' => '',
+ 'Rate missing!' => '',
+ 'Recd' => '',
+ 'Receipt' => '',
+ 'Receipt posted!' => '',
+ 'Receipts' => '',
+ 'Receivables' => '',
+ 'Receive' => '',
+ 'Receive Merchandise' => '',
+ 'Reconciliation' => '',
+ 'Reconciliation Report' => '',
+ 'Record in' => '',
+ 'Recurring Transaction' => '',
+ 'Recurring Transactions' => '',
+ 'Reference' => '',
+ 'Remaining' => '',
+ 'Remove' => '',
+ 'Remove Audit trail up to' => '',
+ 'Removed spoolfiles!' => '',
+ 'Removing marked entries from queue ...' => '',
+ 'Repeat' => '',
+ 'Report for' => '',
+ 'Reports' => '',
+ 'Req' => '',
+ 'Request for Quotation' => '',
+ 'Request for Quotations' => '',
+ 'Required by' => '',
+ 'Retained Earnings' => '',
+ 'Role' => '',
+ 'S' => '',
+ 'SIC' => '',
+ 'SIC deleted!' => '',
+ 'SIC saved!' => '',
+ 'SKU' => '',
+ 'SSN' => '',
+ 'Sale' => '',
+ 'Sales' => '',
+ 'Sales Invoice' => '',
+ 'Sales Invoice ' => '',
+ 'Sales Invoice.' => '',
+ 'Sales Invoice/AR Transaction Number' => '',
+ 'Sales Invoices' => '',
+ 'Sales Order' => '',
+ 'Sales Order Number' => '',
+ 'Sales Orders' => '',
+ 'Sales Quotation Number' => '',
+ 'Salesperson' => '',
+ 'Saturday' => '',
+ 'Save' => '',
+ 'Save Pricelist' => '',
+ 'Save Schedule' => '',
+ 'Save as new' => '',
+ 'Save to File' => '',
+ 'Saving' => '',
+ 'Schedule' => '',
+ 'Scheduled' => '',
+ 'Screen' => '',
+ 'Search' => '',
+ 'Select' => '',
+ 'Select Customer' => '',
+ 'Select Vendor' => '',
+ 'Select a Printer!' => '',
+ 'Select a printer!' => '',
+ 'Select all' => '',
+ 'Select from one of the items below' => '',
+ 'Select from one of the names below' => '',
+ 'Select from one of the projects below' => '',
+ 'Select items' => '',
+ 'Select payment' => '',
+ 'Select postscript or PDF!' => '',
+ 'Select txt, postscript or PDF!' => '',
+ 'Sell' => '',
+ 'Sell Price' => '',
+ 'Send by E-Mail' => '',
+ 'Sending' => '',
+ 'Sep' => '',
+ 'September' => '',
+ 'Serial No.' => '',
+ 'Serial Number' => '',
+ 'Service' => '',
+ 'Service Code' => '',
+ 'Service/Labor Code' => '',
+ 'Services' => '',
+ 'Session Timeout' => '',
+ 'Session expired!' => '',
+ 'Setup Templates' => '',
+ 'Ship' => '',
+ 'Ship Merchandise' => '',
+ 'Ship to' => '',
+ 'Ship via' => '',
+ 'Shipping' => '',
+ 'Shipping Address' => '',
+ 'Shipping Date' => '',
+ 'Shipping Date missing!' => '',
+ 'Shipping Point' => '',
+ 'Short' => '',
+ 'Signature' => '',
+ 'Source' => '',
+ 'Spoolfile' => '',
+ 'Standard' => '',
+ 'Standard Industrial Codes' => '',
+ 'Startdate' => '',
+ 'State' => '',
+ 'State/Province' => '',
+ 'Statement' => '',
+ 'Statement Balance' => '',
+ 'Statement sent to' => '',
+ 'Statements sent to printer!' => '',
+ 'Stock' => '',
+ 'Stock Assembly' => '',
+ 'Stocking Date' => '',
+ 'Stylesheet' => '',
+ 'Sub-contract GIFI' => '',
+ 'Subject' => '',
+ 'Subtotal' => '',
+ 'Summary' => '',
+ 'Sunday' => '',
+ 'Supervisor' => '',
+ 'System' => '',
+ 'System Defaults' => '',
+ 'Tax' => '',
+ 'Tax Accounts' => '',
+ 'Tax Included' => '',
+ 'Tax Number' => '',
+ 'Tax Number / SSN' => '',
+ 'Tax collected' => '',
+ 'Tax paid' => '',
+ 'Taxable' => '',
+ 'Template saved!' => '',
+ 'Templates' => '',
+ 'Terms' => '',
+ 'Text' => '',
+ 'Text Templates' => '',
+ 'The following Datasets are not in use and can be deleted' => '',
+ 'The following Datasets need to be updated' => '',
+ 'This is a preliminary check for existing sources. Nothing will be created or deleted at this stage!' => '',
+ 'Thursday' => '',
+ 'Till' => '',
+ 'Time In' => '',
+ 'Time Out' => '',
+ 'Timecard' => '',
+ 'Timecard deleted!' => '',
+ 'Timecard saved!' => '',
+ 'Timecards' => '',
+ 'Times' => '',
+ 'To' => '',
+ 'To Warehouse' => '',
+ 'To add a user to a group edit a name, change the login name and save. A new user with the same variables will then be saved under the new login name.' => '',
+ 'Top Level' => '',
+ 'Total' => '',
+ 'Tracking Items' => '',
+ 'Trade Discount' => '',
+ 'Transaction' => '',
+ 'Transaction Date missing!' => '',
+ 'Transaction Dates' => '',
+ 'Transaction deleted!' => '',
+ 'Transaction posted!' => '',
+ 'Transaction reversal enforced for all dates' => '',
+ 'Transaction reversal enforced up to' => '',
+ 'Transactions' => '',
+ 'Transfer' => '',
+ 'Transfer Inventory' => '',
+ 'Transfer from' => '',
+ 'Transfer to' => '',
+ 'Translation' => '',
+ 'Translation deleted!' => '',
+ 'Translation not on file!' => '',
+ 'Translations' => '',
+ 'Translations saved!' => '',
+ 'Trial Balance' => '',
+ 'Tuesday' => '',
+ 'Type of Business' => '',
+ 'Unit' => '',
+ 'Unit of measure' => '',
+ 'Unlock System' => '',
+ 'Update' => '',
+ 'Update Dataset' => '',
+ 'Updated' => '',
+ 'Upgrading to Version' => '',
+ 'Use Templates' => '',
+ 'User' => '',
+ 'User deleted!' => '',
+ 'User saved!' => '',
+ 'Valid until' => '',
+ 'Vendor' => '',
+ 'Vendor History' => '',
+ 'Vendor Invoice' => '',
+ 'Vendor Invoice ' => '',
+ 'Vendor Invoice.' => '',
+ 'Vendor Invoice/AP Transaction Number' => '',
+ 'Vendor Invoices' => '',
+ 'Vendor Number' => '',
+ 'Vendor deleted!' => '',
+ 'Vendor missing!' => '',
+ 'Vendor not on file!' => '',
+ 'Vendor saved!' => '',
+ 'Vendors' => '',
+ 'Version' => '',
+ 'Warehouse' => '',
+ 'Warehouse deleted!' => '',
+ 'Warehouse saved!' => '',
+ 'Warehouses' => '',
+ 'Warning!' => '',
+ 'Wednesday' => '',
+ 'Week' => '',
+ 'Week(s)' => '',
+ 'Weeks' => '',
+ 'Weight' => '',
+ 'Weight Unit' => '',
+ 'What type of item is this?' => '',
+ 'Work Order' => '',
+ 'Work Orders' => '',
+ 'Work Phone' => '',
+ 'Year' => '',
+ 'Year(s)' => '',
+ 'Yearend' => '',
+ 'Yearend date missing!' => '',
+ 'Yearend posted!' => '',
+ 'Yearend posting failed!' => '',
+ 'Years' => '',
+ 'Yes' => '',
+ 'You are logged out' => '',
+ 'You are posting an existing transaction!' => '',
+ 'You are printing and posting an existing transaction!' => '',
+ 'You are printing and saving an existing order' => '',
+ 'You are printing and saving an existing quotation' => '',
+ 'You are printing and saving an existing transaction!' => '',
+ 'You are saving an existing order' => '',
+ 'You are saving an existing quotation' => '',
+ 'You are saving an existing transaction!' => '',
+ 'You did not enter a name!' => '',
+ 'You must enter a host and port for local and remote connections!' => '',
+ 'Zip/Postal Code' => '',
+ 'account cannot be set to any other type of account' => '',
+ 'as at' => '',
+ 'days' => '',
+ 'does not exist' => '',
+ 'done' => '',
+ 'ea' => '',
+ 'failed' => '',
+ 'for' => '',
+ 'for Period' => '',
+ 'is already a member!' => '',
+ 'localhost' => '',
+ 'locked!' => '',
+ 'partsgroup' => '',
+ 'posted!' => '',
+ 'sent' => '',
+ 'successfully created!' => '',
+ 'successfully deleted!' => '',
+ 'time(s)' => '',
+ 'unexpected error!' => '',
+ 'website' => '',
+};
+
+1;
diff --git a/locale/ca_en/am b/locale/ca_en/am
new file mode 100755
index 00000000..c213e407
--- /dev/null
+++ b/locale/ca_en/am
@@ -0,0 +1,90 @@
+$self{texts} = {
+};
+
+$self{subs} = {
+ 'acc_menu' => 'acc_menu',
+ 'account_header' => 'account_header',
+ 'add' => 'add',
+ 'add_account' => 'add_account',
+ 'add_business' => 'add_business',
+ 'add_department' => 'add_department',
+ 'add_gifi' => 'add_gifi',
+ 'add_language' => 'add_language',
+ 'add_sic' => 'add_sic',
+ 'add_warehouse' => 'add_warehouse',
+ 'audit_control' => 'audit_control',
+ 'backup' => 'backup',
+ 'business_header' => 'business_header',
+ 'company_logo' => 'company_logo',
+ 'config' => 'config',
+ 'continue' => 'continue',
+ 'copy_to_coa' => 'copy_to_coa',
+ 'defaults' => 'defaults',
+ 'delete' => 'delete',
+ 'delete_account' => 'delete_account',
+ 'delete_business' => 'delete_business',
+ 'delete_department' => 'delete_department',
+ 'delete_gifi' => 'delete_gifi',
+ 'delete_language' => 'delete_language',
+ 'delete_sic' => 'delete_sic',
+ 'delete_warehouse' => 'delete_warehouse',
+ 'department_header' => 'department_header',
+ 'display' => 'display',
+ 'display_form' => 'display_form',
+ 'display_stylesheet' => 'display_stylesheet',
+ 'display_taxes' => 'display_taxes',
+ 'doclose' => 'doclose',
+ 'edit' => 'edit',
+ 'edit_account' => 'edit_account',
+ 'edit_business' => 'edit_business',
+ 'edit_department' => 'edit_department',
+ 'edit_gifi' => 'edit_gifi',
+ 'edit_language' => 'edit_language',
+ 'edit_recurring' => 'edit_recurring',
+ 'edit_sic' => 'edit_sic',
+ 'edit_template' => 'edit_template',
+ 'edit_warehouse' => 'edit_warehouse',
+ 'email_recurring' => 'email_recurring',
+ 'form_footer' => 'form_footer',
+ 'formnames' => 'formnames',
+ 'generate_yearend' => 'generate_yearend',
+ 'gifi_footer' => 'gifi_footer',
+ 'gifi_header' => 'gifi_header',
+ 'js_menu' => 'js_menu',
+ 'language_header' => 'language_header',
+ 'list_account' => 'list_account',
+ 'list_business' => 'list_business',
+ 'list_department' => 'list_department',
+ 'list_gifi' => 'list_gifi',
+ 'list_language' => 'list_language',
+ 'list_sic' => 'list_sic',
+ 'list_templates' => 'list_templates',
+ 'list_warehouse' => 'list_warehouse',
+ 'menubar' => 'menubar',
+ 'print_recurring' => 'print_recurring',
+ 'process_transactions' => 'process_transactions',
+ 'recurring_transactions' => 'recurring_transactions',
+ 'save' => 'save',
+ 'save_account' => 'save_account',
+ 'save_as_new' => 'save_as_new',
+ 'save_business' => 'save_business',
+ 'save_defaults' => 'save_defaults',
+ 'save_department' => 'save_department',
+ 'save_gifi' => 'save_gifi',
+ 'save_language' => 'save_language',
+ 'save_preferences' => 'save_preferences',
+ 'save_sic' => 'save_sic',
+ 'save_taxes' => 'save_taxes',
+ 'save_template' => 'save_template',
+ 'save_warehouse' => 'save_warehouse',
+ 'section_menu' => 'section_menu',
+ 'sic_header' => 'sic_header',
+ 'taxes' => 'taxes',
+ 'update' => 'update',
+ 'warehouse_header' => 'warehouse_header',
+ 'yearend' => 'yearend',
+ 'yes_delete_language' => 'yes_delete_language',
+};
+
+1;
+
diff --git a/locale/ca_en/ap b/locale/ca_en/ap
new file mode 100755
index 00000000..b3b6c719
--- /dev/null
+++ b/locale/ca_en/ap
@@ -0,0 +1,58 @@
+$self{texts} = {
+ 'Check' => 'Cheque',
+};
+
+$self{subs} = {
+ 'acc_menu' => 'acc_menu',
+ 'add' => 'add',
+ 'add_transaction' => 'add_transaction',
+ 'ap_transaction' => 'ap_transaction',
+ 'ar_transaction' => 'ar_transaction',
+ 'check_name' => 'check_name',
+ 'check_project' => 'check_project',
+ 'continue' => 'continue',
+ 'create_links' => 'create_links',
+ 'customer_details' => 'customer_details',
+ 'delete' => 'delete',
+ 'delete_schedule' => 'delete_schedule',
+ 'display' => 'display',
+ 'display_form' => 'display_form',
+ 'edit' => 'edit',
+ 'form_footer' => 'form_footer',
+ 'form_header' => 'form_header',
+ 'gl_transaction' => 'gl_transaction',
+ 'js_menu' => 'js_menu',
+ 'menubar' => 'menubar',
+ 'name_selected' => 'name_selected',
+ 'payment_selected' => 'payment_selected',
+ 'post' => 'post',
+ 'post_as_new' => 'post_as_new',
+ 'print' => 'print',
+ 'print_and_post' => 'print_and_post',
+ 'print_and_post_as_new' => 'print_and_post_as_new',
+ 'print_check' => 'print_check',
+ 'print_options' => 'print_options',
+ 'print_receipt' => 'print_receipt',
+ 'print_transaction' => 'print_transaction',
+ 'project_selected' => 'project_selected',
+ 'rebuild_vc' => 'rebuild_vc',
+ 'repost' => 'repost',
+ 'reprint' => 'reprint',
+ 'sales_invoice_' => 'sales_invoice_',
+ 'save_schedule' => 'save_schedule',
+ 'schedule' => 'schedule',
+ 'search' => 'search',
+ 'section_menu' => 'section_menu',
+ 'select_name' => 'select_name',
+ 'select_payment' => 'select_payment',
+ 'select_project' => 'select_project',
+ 'subtotal' => 'subtotal',
+ 'transactions' => 'transactions',
+ 'update' => 'update',
+ 'vendor_details' => 'vendor_details',
+ 'vendor_invoice_' => 'vendor_invoice_',
+ 'yes' => 'yes',
+};
+
+1;
+
diff --git a/locale/ca_en/ar b/locale/ca_en/ar
new file mode 100755
index 00000000..b3b6c719
--- /dev/null
+++ b/locale/ca_en/ar
@@ -0,0 +1,58 @@
+$self{texts} = {
+ 'Check' => 'Cheque',
+};
+
+$self{subs} = {
+ 'acc_menu' => 'acc_menu',
+ 'add' => 'add',
+ 'add_transaction' => 'add_transaction',
+ 'ap_transaction' => 'ap_transaction',
+ 'ar_transaction' => 'ar_transaction',
+ 'check_name' => 'check_name',
+ 'check_project' => 'check_project',
+ 'continue' => 'continue',
+ 'create_links' => 'create_links',
+ 'customer_details' => 'customer_details',
+ 'delete' => 'delete',
+ 'delete_schedule' => 'delete_schedule',
+ 'display' => 'display',
+ 'display_form' => 'display_form',
+ 'edit' => 'edit',
+ 'form_footer' => 'form_footer',
+ 'form_header' => 'form_header',
+ 'gl_transaction' => 'gl_transaction',
+ 'js_menu' => 'js_menu',
+ 'menubar' => 'menubar',
+ 'name_selected' => 'name_selected',
+ 'payment_selected' => 'payment_selected',
+ 'post' => 'post',
+ 'post_as_new' => 'post_as_new',
+ 'print' => 'print',
+ 'print_and_post' => 'print_and_post',
+ 'print_and_post_as_new' => 'print_and_post_as_new',
+ 'print_check' => 'print_check',
+ 'print_options' => 'print_options',
+ 'print_receipt' => 'print_receipt',
+ 'print_transaction' => 'print_transaction',
+ 'project_selected' => 'project_selected',
+ 'rebuild_vc' => 'rebuild_vc',
+ 'repost' => 'repost',
+ 'reprint' => 'reprint',
+ 'sales_invoice_' => 'sales_invoice_',
+ 'save_schedule' => 'save_schedule',
+ 'schedule' => 'schedule',
+ 'search' => 'search',
+ 'section_menu' => 'section_menu',
+ 'select_name' => 'select_name',
+ 'select_payment' => 'select_payment',
+ 'select_project' => 'select_project',
+ 'subtotal' => 'subtotal',
+ 'transactions' => 'transactions',
+ 'update' => 'update',
+ 'vendor_details' => 'vendor_details',
+ 'vendor_invoice_' => 'vendor_invoice_',
+ 'yes' => 'yes',
+};
+
+1;
+
diff --git a/locale/ca_en/arap b/locale/ca_en/arap
new file mode 100755
index 00000000..d25b4bbe
--- /dev/null
+++ b/locale/ca_en/arap
@@ -0,0 +1,29 @@
+$self{texts} = {
+};
+
+$self{subs} = {
+ 'add_transaction' => 'add_transaction',
+ 'ap_transaction' => 'ap_transaction',
+ 'ar_transaction' => 'ar_transaction',
+ 'check_name' => 'check_name',
+ 'check_project' => 'check_project',
+ 'continue' => 'continue',
+ 'delete_schedule' => 'delete_schedule',
+ 'gl_transaction' => 'gl_transaction',
+ 'name_selected' => 'name_selected',
+ 'post_as_new' => 'post_as_new',
+ 'print_and_post_as_new' => 'print_and_post_as_new',
+ 'project_selected' => 'project_selected',
+ 'rebuild_vc' => 'rebuild_vc',
+ 'repost' => 'repost',
+ 'reprint' => 'reprint',
+ 'sales_invoice_' => 'sales_invoice_',
+ 'save_schedule' => 'save_schedule',
+ 'schedule' => 'schedule',
+ 'select_name' => 'select_name',
+ 'select_project' => 'select_project',
+ 'vendor_invoice_' => 'vendor_invoice_',
+};
+
+1;
+
diff --git a/locale/ca_en/arapprn b/locale/ca_en/arapprn
new file mode 100755
index 00000000..a2d2335a
--- /dev/null
+++ b/locale/ca_en/arapprn
@@ -0,0 +1,18 @@
+$self{texts} = {
+};
+
+$self{subs} = {
+ 'customer_details' => 'customer_details',
+ 'payment_selected' => 'payment_selected',
+ 'print' => 'print',
+ 'print_and_post' => 'print_and_post',
+ 'print_check' => 'print_check',
+ 'print_options' => 'print_options',
+ 'print_receipt' => 'print_receipt',
+ 'print_transaction' => 'print_transaction',
+ 'select_payment' => 'select_payment',
+ 'vendor_details' => 'vendor_details',
+};
+
+1;
+
diff --git a/locale/ca_en/bp b/locale/ca_en/bp
new file mode 100755
index 00000000..a680e621
--- /dev/null
+++ b/locale/ca_en/bp
@@ -0,0 +1,20 @@
+$self{texts} = {
+};
+
+$self{subs} = {
+ 'acc_menu' => 'acc_menu',
+ 'continue' => 'continue',
+ 'display' => 'display',
+ 'js_menu' => 'js_menu',
+ 'list_spool' => 'list_spool',
+ 'menubar' => 'menubar',
+ 'print' => 'print',
+ 'remove' => 'remove',
+ 'search' => 'search',
+ 'section_menu' => 'section_menu',
+ 'select_all' => 'select_all',
+ 'yes' => 'yes',
+};
+
+1;
+
diff --git a/locale/ca_en/ca b/locale/ca_en/ca
new file mode 100755
index 00000000..f7985928
--- /dev/null
+++ b/locale/ca_en/ca
@@ -0,0 +1,12 @@
+$self{texts} = {
+};
+
+$self{subs} = {
+ 'ca_subtotal' => 'ca_subtotal',
+ 'chart_of_accounts' => 'chart_of_accounts',
+ 'list' => 'list',
+ 'list_transactions' => 'list_transactions',
+};
+
+1;
+
diff --git a/locale/ca_en/cp b/locale/ca_en/cp
new file mode 100755
index 00000000..b086a0fd
--- /dev/null
+++ b/locale/ca_en/cp
@@ -0,0 +1,57 @@
+$self{texts} = {
+};
+
+$self{subs} = {
+ 'acc_menu' => 'acc_menu',
+ 'add_transaction' => 'add_transaction',
+ 'ap_transaction' => 'ap_transaction',
+ 'ar_transaction' => 'ar_transaction',
+ 'check_form' => 'check_form',
+ 'check_name' => 'check_name',
+ 'check_openvc' => 'check_openvc',
+ 'check_project' => 'check_project',
+ 'continue' => 'continue',
+ 'customer_details' => 'customer_details',
+ 'delete_schedule' => 'delete_schedule',
+ 'display' => 'display',
+ 'gl_transaction' => 'gl_transaction',
+ 'invoices_due' => 'invoices_due',
+ 'js_menu' => 'js_menu',
+ 'list_invoices' => 'list_invoices',
+ 'menubar' => 'menubar',
+ 'name_selected' => 'name_selected',
+ 'payment' => 'payment',
+ 'payment_footer' => 'payment_footer',
+ 'payment_header' => 'payment_header',
+ 'payments' => 'payments',
+ 'payments_footer' => 'payments_footer',
+ 'payments_header' => 'payments_header',
+ 'post' => 'post',
+ 'post_as_new' => 'post_as_new',
+ 'post_payment' => 'post_payment',
+ 'post_payments' => 'post_payments',
+ 'print' => 'print',
+ 'print_and_post_as_new' => 'print_and_post_as_new',
+ 'print_form' => 'print_form',
+ 'print_payment' => 'print_payment',
+ 'print_payments' => 'print_payments',
+ 'project_selected' => 'project_selected',
+ 'rebuild_vc' => 'rebuild_vc',
+ 'repost' => 'repost',
+ 'reprint' => 'reprint',
+ 'sales_invoice_' => 'sales_invoice_',
+ 'save_schedule' => 'save_schedule',
+ 'schedule' => 'schedule',
+ 'section_menu' => 'section_menu',
+ 'select_all' => 'select_all',
+ 'select_name' => 'select_name',
+ 'select_project' => 'select_project',
+ 'update' => 'update',
+ 'update_payment' => 'update_payment',
+ 'update_payments' => 'update_payments',
+ 'vendor_details' => 'vendor_details',
+ 'vendor_invoice_' => 'vendor_invoice_',
+};
+
+1;
+
diff --git a/locale/ca_en/ct b/locale/ca_en/ct
new file mode 100755
index 00000000..2a51b541
--- /dev/null
+++ b/locale/ca_en/ct
@@ -0,0 +1,51 @@
+$self{texts} = {
+};
+
+$self{subs} = {
+ 'acc_menu' => 'acc_menu',
+ 'add' => 'add',
+ 'add_customer' => 'add_customer',
+ 'add_transaction' => 'add_transaction',
+ 'add_vendor' => 'add_vendor',
+ 'ap_transaction' => 'ap_transaction',
+ 'ar_transaction' => 'ar_transaction',
+ 'continue' => 'continue',
+ 'customer_pricelist' => 'customer_pricelist',
+ 'delete' => 'delete',
+ 'display' => 'display',
+ 'display_pricelist' => 'display_pricelist',
+ 'edit' => 'edit',
+ 'form_footer' => 'form_footer',
+ 'form_header' => 'form_header',
+ 'history' => 'history',
+ 'include_in_report' => 'include_in_report',
+ 'item_selected' => 'item_selected',
+ 'js_menu' => 'js_menu',
+ 'list_history' => 'list_history',
+ 'list_names' => 'list_names',
+ 'list_subtotal' => 'list_subtotal',
+ 'menubar' => 'menubar',
+ 'pos' => 'pos',
+ 'pricelist' => 'pricelist',
+ 'pricelist_footer' => 'pricelist_footer',
+ 'pricelist_header' => 'pricelist_header',
+ 'purchase_order' => 'purchase_order',
+ 'quotation' => 'quotation',
+ 'rfq' => 'rfq',
+ 'sales_invoice' => 'sales_invoice',
+ 'sales_order' => 'sales_order',
+ 'save' => 'save',
+ 'save_as_new' => 'save_as_new',
+ 'save_pricelist' => 'save_pricelist',
+ 'search' => 'search',
+ 'search_name' => 'search_name',
+ 'section_menu' => 'section_menu',
+ 'select_item' => 'select_item',
+ 'transactions' => 'transactions',
+ 'update' => 'update',
+ 'vendor_invoice' => 'vendor_invoice',
+ 'vendor_pricelist' => 'vendor_pricelist',
+};
+
+1;
+
diff --git a/locale/ca_en/gl b/locale/ca_en/gl
new file mode 100755
index 00000000..596273d2
--- /dev/null
+++ b/locale/ca_en/gl
@@ -0,0 +1,48 @@
+$self{texts} = {
+};
+
+$self{subs} = {
+ 'acc_menu' => 'acc_menu',
+ 'add' => 'add',
+ 'add_transaction' => 'add_transaction',
+ 'ap_transaction' => 'ap_transaction',
+ 'ar_transaction' => 'ar_transaction',
+ 'check_name' => 'check_name',
+ 'check_project' => 'check_project',
+ 'continue' => 'continue',
+ 'create_links' => 'create_links',
+ 'delete' => 'delete',
+ 'delete_schedule' => 'delete_schedule',
+ 'display' => 'display',
+ 'display_form' => 'display_form',
+ 'display_rows' => 'display_rows',
+ 'edit' => 'edit',
+ 'form_footer' => 'form_footer',
+ 'form_header' => 'form_header',
+ 'generate_report' => 'generate_report',
+ 'gl_subtotal' => 'gl_subtotal',
+ 'gl_transaction' => 'gl_transaction',
+ 'js_menu' => 'js_menu',
+ 'menubar' => 'menubar',
+ 'name_selected' => 'name_selected',
+ 'post' => 'post',
+ 'post_as_new' => 'post_as_new',
+ 'print_and_post_as_new' => 'print_and_post_as_new',
+ 'project_selected' => 'project_selected',
+ 'rebuild_vc' => 'rebuild_vc',
+ 'repost' => 'repost',
+ 'reprint' => 'reprint',
+ 'sales_invoice_' => 'sales_invoice_',
+ 'save_schedule' => 'save_schedule',
+ 'schedule' => 'schedule',
+ 'search' => 'search',
+ 'section_menu' => 'section_menu',
+ 'select_name' => 'select_name',
+ 'select_project' => 'select_project',
+ 'update' => 'update',
+ 'vendor_invoice_' => 'vendor_invoice_',
+ 'yes' => 'yes',
+};
+
+1;
+
diff --git a/locale/ca_en/hr b/locale/ca_en/hr
new file mode 100755
index 00000000..b94418ee
--- /dev/null
+++ b/locale/ca_en/hr
@@ -0,0 +1,38 @@
+$self{texts} = {
+};
+
+$self{subs} = {
+ 'acc_menu' => 'acc_menu',
+ 'add' => 'add',
+ 'add_deduction' => 'add_deduction',
+ 'add_employee' => 'add_employee',
+ 'continue' => 'continue',
+ 'deduction_footer' => 'deduction_footer',
+ 'deduction_header' => 'deduction_header',
+ 'deduction_links' => 'deduction_links',
+ 'delete' => 'delete',
+ 'delete_deduction' => 'delete_deduction',
+ 'delete_employee' => 'delete_employee',
+ 'display' => 'display',
+ 'edit' => 'edit',
+ 'employee_footer' => 'employee_footer',
+ 'employee_header' => 'employee_header',
+ 'employee_links' => 'employee_links',
+ 'js_menu' => 'js_menu',
+ 'list_employees' => 'list_employees',
+ 'menubar' => 'menubar',
+ 'save' => 'save',
+ 'save_as_new' => 'save_as_new',
+ 'save_deduction' => 'save_deduction',
+ 'save_employee' => 'save_employee',
+ 'search' => 'search',
+ 'search_deduction' => 'search_deduction',
+ 'search_employee' => 'search_employee',
+ 'section_menu' => 'section_menu',
+ 'update' => 'update',
+ 'update_deduction' => 'update_deduction',
+ 'update_employee' => 'update_employee',
+};
+
+1;
+
diff --git a/locale/ca_en/ic b/locale/ca_en/ic
new file mode 100755
index 00000000..b917546f
--- /dev/null
+++ b/locale/ca_en/ic
@@ -0,0 +1,66 @@
+$self{texts} = {
+};
+
+$self{subs} = {
+ 'acc_menu' => 'acc_menu',
+ 'add' => 'add',
+ 'add_assembly' => 'add_assembly',
+ 'add_labor_overhead' => 'add_labor_overhead',
+ 'add_part' => 'add_part',
+ 'add_service' => 'add_service',
+ 'assembly_row' => 'assembly_row',
+ 'calc_markup' => 'calc_markup',
+ 'check_customer' => 'check_customer',
+ 'check_form' => 'check_form',
+ 'check_vendor' => 'check_vendor',
+ 'continue' => 'continue',
+ 'create_form' => 'create_form',
+ 'customer_details' => 'customer_details',
+ 'customer_row' => 'customer_row',
+ 'delete' => 'delete',
+ 'display' => 'display',
+ 'display_form' => 'display_form',
+ 'display_row' => 'display_row',
+ 'e_mail' => 'e_mail',
+ 'edit' => 'edit',
+ 'edit_assemblyitem' => 'edit_assemblyitem',
+ 'form_footer' => 'form_footer',
+ 'form_header' => 'form_header',
+ 'generate_report' => 'generate_report',
+ 'invoicetotal' => 'invoicetotal',
+ 'item_selected' => 'item_selected',
+ 'js_menu' => 'js_menu',
+ 'link_part' => 'link_part',
+ 'list_assemblies' => 'list_assemblies',
+ 'makemodel_row' => 'makemodel_row',
+ 'menubar' => 'menubar',
+ 'name_selected' => 'name_selected',
+ 'new_item' => 'new_item',
+ 'parts_subtotal' => 'parts_subtotal',
+ 'print' => 'print',
+ 'print_form' => 'print_form',
+ 'print_options' => 'print_options',
+ 'purchase_order' => 'purchase_order',
+ 'quotation' => 'quotation',
+ 'requirements' => 'requirements',
+ 'requirements_report' => 'requirements_report',
+ 'restock_assemblies' => 'restock_assemblies',
+ 'rfq' => 'rfq',
+ 'sales_order' => 'sales_order',
+ 'save' => 'save',
+ 'save_as_new' => 'save_as_new',
+ 'search' => 'search',
+ 'section_menu' => 'section_menu',
+ 'select_item' => 'select_item',
+ 'select_name' => 'select_name',
+ 'send_email' => 'send_email',
+ 'ship_to' => 'ship_to',
+ 'stock_assembly' => 'stock_assembly',
+ 'update' => 'update',
+ 'validate_items' => 'validate_items',
+ 'vendor_details' => 'vendor_details',
+ 'vendor_row' => 'vendor_row',
+};
+
+1;
+
diff --git a/locale/ca_en/io b/locale/ca_en/io
new file mode 100755
index 00000000..d86e9fae
--- /dev/null
+++ b/locale/ca_en/io
@@ -0,0 +1,30 @@
+$self{texts} = {
+};
+
+$self{subs} = {
+ 'calc_markup' => 'calc_markup',
+ 'check_form' => 'check_form',
+ 'create_form' => 'create_form',
+ 'customer_details' => 'customer_details',
+ 'display_form' => 'display_form',
+ 'display_row' => 'display_row',
+ 'e_mail' => 'e_mail',
+ 'invoicetotal' => 'invoicetotal',
+ 'item_selected' => 'item_selected',
+ 'new_item' => 'new_item',
+ 'print' => 'print',
+ 'print_form' => 'print_form',
+ 'print_options' => 'print_options',
+ 'purchase_order' => 'purchase_order',
+ 'quotation' => 'quotation',
+ 'rfq' => 'rfq',
+ 'sales_order' => 'sales_order',
+ 'select_item' => 'select_item',
+ 'send_email' => 'send_email',
+ 'ship_to' => 'ship_to',
+ 'validate_items' => 'validate_items',
+ 'vendor_details' => 'vendor_details',
+};
+
+1;
+
diff --git a/locale/ca_en/ir b/locale/ca_en/ir
new file mode 100755
index 00000000..b642c588
--- /dev/null
+++ b/locale/ca_en/ir
@@ -0,0 +1,66 @@
+$self{texts} = {
+};
+
+$self{subs} = {
+ 'acc_menu' => 'acc_menu',
+ 'add' => 'add',
+ 'add_transaction' => 'add_transaction',
+ 'ap_transaction' => 'ap_transaction',
+ 'ar_transaction' => 'ar_transaction',
+ 'calc_markup' => 'calc_markup',
+ 'check_form' => 'check_form',
+ 'check_name' => 'check_name',
+ 'check_project' => 'check_project',
+ 'continue' => 'continue',
+ 'create_form' => 'create_form',
+ 'customer_details' => 'customer_details',
+ 'delete' => 'delete',
+ 'delete_schedule' => 'delete_schedule',
+ 'display' => 'display',
+ 'display_form' => 'display_form',
+ 'display_row' => 'display_row',
+ 'e_mail' => 'e_mail',
+ 'edit' => 'edit',
+ 'form_footer' => 'form_footer',
+ 'form_header' => 'form_header',
+ 'gl_transaction' => 'gl_transaction',
+ 'invoice_links' => 'invoice_links',
+ 'invoicetotal' => 'invoicetotal',
+ 'item_selected' => 'item_selected',
+ 'js_menu' => 'js_menu',
+ 'menubar' => 'menubar',
+ 'name_selected' => 'name_selected',
+ 'new_item' => 'new_item',
+ 'post' => 'post',
+ 'post_as_new' => 'post_as_new',
+ 'prepare_invoice' => 'prepare_invoice',
+ 'print' => 'print',
+ 'print_and_post_as_new' => 'print_and_post_as_new',
+ 'print_form' => 'print_form',
+ 'print_options' => 'print_options',
+ 'project_selected' => 'project_selected',
+ 'purchase_order' => 'purchase_order',
+ 'quotation' => 'quotation',
+ 'rebuild_vc' => 'rebuild_vc',
+ 'repost' => 'repost',
+ 'reprint' => 'reprint',
+ 'rfq' => 'rfq',
+ 'sales_invoice_' => 'sales_invoice_',
+ 'sales_order' => 'sales_order',
+ 'save_schedule' => 'save_schedule',
+ 'schedule' => 'schedule',
+ 'section_menu' => 'section_menu',
+ 'select_item' => 'select_item',
+ 'select_name' => 'select_name',
+ 'select_project' => 'select_project',
+ 'send_email' => 'send_email',
+ 'ship_to' => 'ship_to',
+ 'update' => 'update',
+ 'validate_items' => 'validate_items',
+ 'vendor_details' => 'vendor_details',
+ 'vendor_invoice_' => 'vendor_invoice_',
+ 'yes' => 'yes',
+};
+
+1;
+
diff --git a/locale/ca_en/is b/locale/ca_en/is
new file mode 100755
index 00000000..73f6fdba
--- /dev/null
+++ b/locale/ca_en/is
@@ -0,0 +1,67 @@
+$self{texts} = {
+};
+
+$self{subs} = {
+ 'acc_menu' => 'acc_menu',
+ 'add' => 'add',
+ 'add_transaction' => 'add_transaction',
+ 'ap_transaction' => 'ap_transaction',
+ 'ar_transaction' => 'ar_transaction',
+ 'calc_markup' => 'calc_markup',
+ 'check_form' => 'check_form',
+ 'check_name' => 'check_name',
+ 'check_project' => 'check_project',
+ 'continue' => 'continue',
+ 'create_form' => 'create_form',
+ 'customer_details' => 'customer_details',
+ 'delete' => 'delete',
+ 'delete_schedule' => 'delete_schedule',
+ 'display' => 'display',
+ 'display_form' => 'display_form',
+ 'display_row' => 'display_row',
+ 'e_mail' => 'e_mail',
+ 'edit' => 'edit',
+ 'form_footer' => 'form_footer',
+ 'form_header' => 'form_header',
+ 'gl_transaction' => 'gl_transaction',
+ 'invoice_links' => 'invoice_links',
+ 'invoicetotal' => 'invoicetotal',
+ 'item_selected' => 'item_selected',
+ 'js_menu' => 'js_menu',
+ 'menubar' => 'menubar',
+ 'name_selected' => 'name_selected',
+ 'new_item' => 'new_item',
+ 'post' => 'post',
+ 'post_as_new' => 'post_as_new',
+ 'prepare_invoice' => 'prepare_invoice',
+ 'print' => 'print',
+ 'print_and_post' => 'print_and_post',
+ 'print_and_post_as_new' => 'print_and_post_as_new',
+ 'print_form' => 'print_form',
+ 'print_options' => 'print_options',
+ 'project_selected' => 'project_selected',
+ 'purchase_order' => 'purchase_order',
+ 'quotation' => 'quotation',
+ 'rebuild_vc' => 'rebuild_vc',
+ 'repost' => 'repost',
+ 'reprint' => 'reprint',
+ 'rfq' => 'rfq',
+ 'sales_invoice_' => 'sales_invoice_',
+ 'sales_order' => 'sales_order',
+ 'save_schedule' => 'save_schedule',
+ 'schedule' => 'schedule',
+ 'section_menu' => 'section_menu',
+ 'select_item' => 'select_item',
+ 'select_name' => 'select_name',
+ 'select_project' => 'select_project',
+ 'send_email' => 'send_email',
+ 'ship_to' => 'ship_to',
+ 'update' => 'update',
+ 'validate_items' => 'validate_items',
+ 'vendor_details' => 'vendor_details',
+ 'vendor_invoice_' => 'vendor_invoice_',
+ 'yes' => 'yes',
+};
+
+1;
+
diff --git a/locale/ca_en/jc b/locale/ca_en/jc
new file mode 100755
index 00000000..31503ed9
--- /dev/null
+++ b/locale/ca_en/jc
@@ -0,0 +1,44 @@
+$self{texts} = {
+};
+
+$self{subs} = {
+ 'acc_menu' => 'acc_menu',
+ 'add' => 'add',
+ 'add_stores_card' => 'add_stores_card',
+ 'add_time_card' => 'add_time_card',
+ 'continue' => 'continue',
+ 'delete' => 'delete',
+ 'delete_timecard' => 'delete_timecard',
+ 'display' => 'display',
+ 'display_form' => 'display_form',
+ 'edit' => 'edit',
+ 'form_footer' => 'form_footer',
+ 'form_header' => 'form_header',
+ 'jcitems_links' => 'jcitems_links',
+ 'js_menu' => 'js_menu',
+ 'list_storescard' => 'list_storescard',
+ 'list_timecard' => 'list_timecard',
+ 'menubar' => 'menubar',
+ 'prepare_storescard' => 'prepare_storescard',
+ 'prepare_timecard' => 'prepare_timecard',
+ 'print' => 'print',
+ 'print_and_save' => 'print_and_save',
+ 'print_and_save_as_new' => 'print_and_save_as_new',
+ 'print_options' => 'print_options',
+ 'print_timecard' => 'print_timecard',
+ 'resave' => 'resave',
+ 'save' => 'save',
+ 'save_as_new' => 'save_as_new',
+ 'search' => 'search',
+ 'section_menu' => 'section_menu',
+ 'storescard_footer' => 'storescard_footer',
+ 'storescard_header' => 'storescard_header',
+ 'timecard_footer' => 'timecard_footer',
+ 'timecard_header' => 'timecard_header',
+ 'update' => 'update',
+ 'yes' => 'yes',
+ 'yes_delete_timecard' => 'yes_delete_timecard',
+};
+
+1;
+
diff --git a/locale/ca_en/locales.pl b/locale/ca_en/locales.pl
new file mode 100755
index 00000000..cc8d2be7
--- /dev/null
+++ b/locale/ca_en/locales.pl
@@ -0,0 +1,351 @@
+#!/usr/bin/perl
+
+# -n do not include custom_ scripts
+# -a build all file
+# -m do not generate missing files
+
+use FileHandle;
+
+
+$basedir = "../..";
+$bindir = "$basedir/bin/mozilla";
+$menufile = "menu.ini";
+
+foreach $item (@ARGV) {
+ $item =~ s/-//g;
+ $arg{$item} = 1;
+}
+
+open(FH, "LANGUAGE");
+$language = <FH>;
+close(FH);
+chomp $language;
+$language =~ s/\((.*)\)/$1/;
+$charset = $1;
+
+opendir DIR, "$bindir" or die "$!";
+@progfiles = grep { /\.pl/; !/(_|^\.)/ } readdir DIR;
+seekdir DIR, 0;
+@customfiles = grep /_/, readdir DIR;
+closedir DIR;
+
+# put customized files into @customfiles
+@customfiles = () if ($arg{n});
+
+if ($arg{n}) {
+ @menufiles = ($menufile);
+} else {
+ opendir DIR, "$basedir" or die "$!";
+ @menufiles = grep { /.*?_$menufile$/ } readdir DIR;
+ closedir DIR;
+ unshift @menufiles, $menufile;
+}
+
+if (-f "all") {
+ eval { require "all"; };
+ %all = %{$self{texts}};
+ %{$self{texts}} = ();
+} else {
+ # build %all file from individual files
+ foreach $file (@progfiles) {
+ &scanfile("$bindir/$file");
+ }
+}
+
+# remove the old missing file
+if (-f 'missing') {
+ unlink "missing";
+}
+
+foreach $file (@progfiles) {
+
+ %locale = ();
+ %submit = ();
+ %subrt = ();
+ @missing = ();
+ %missing = ();
+
+ &scanfile("$bindir/$file");
+
+ # scan custom_{module}.pl or {login}_{module}.pl files
+ foreach $customfile (@customfiles) {
+ if ($customfile =~ /_$file/) {
+ if (-f "$bindir/$customfile") {
+ &scanfile("$bindir/$customfile");
+ }
+ }
+ }
+
+ # if this is the menu.pl file
+ if ($file eq 'menu.pl') {
+ foreach $item (@menufiles) {
+ &scanmenu("$basedir/$item");
+ }
+ }
+
+ $file =~ s/\.pl//;
+
+ if (-f "$file.missing") {
+ eval { require "$file.missing"; };
+ unlink "$file.missing";
+
+ for (keys %$missing) {
+ $self{texts}{$_} ||= $missing->{$_};
+ }
+ }
+
+ open FH, ">$file" or die "$! : $file";
+
+ if ($charset) {
+ print FH qq|\$self{charset} = '$charset';\n\n|;
+ }
+
+ print FH q|$self{texts} = {
+|;
+
+ foreach $key (sort keys %locale) {
+ $text = ($self{texts}{$key}) ? $self{texts}{$key} : $all{$key};
+ $count++;
+
+ $text =~ s/'/\\'/g;
+ $text =~ s/\\$/\\\\/;
+
+ $keytext = $key;
+ $keytext =~ s/'/\\'/g;
+ $keytext =~ s/\\$/\\\\/;
+
+ if (!$text) {
+ $notext++;
+ push @missing, $keytext;
+ next;
+ }
+
+ print FH qq| '$keytext'|.(' ' x (27-length($keytext))).qq| => '$text',\n|;
+ }
+
+ print FH q|};
+
+$self{subs} = {
+|;
+
+ foreach $key (sort keys %subrt) {
+ $text = $key;
+ $text =~ s/'/\\'/g;
+ $text =~ s/\\$/\\\\/;
+ print FH qq| '$text'|.(' ' x (27-length($text))).qq| => '$text',\n|;
+ }
+
+ foreach $key (sort keys %submit) {
+ $text = ($self{texts}{$key}) ? $self{texts}{$key} : $all{$key};
+ next unless $text;
+
+ $text =~ s/'/\\'/g;
+ $text =~ s/\\$/\\\\/;
+
+ $english_sub = $key;
+ $english_sub =~ s/'/\\'/g;
+ $english_sub =~ s/\\$/\\\\/;
+ $english_sub = lc $key;
+
+ $translated_sub = lc $text;
+ $english_sub =~ s/( |-|,|\/|\.$)/_/g;
+ $translated_sub =~ s/( |-|,|\/|\.$)/_/g;
+ print FH qq| '$translated_sub'|.(' ' x (27-length($translated_sub))).qq| => '$english_sub',\n|;
+ }
+
+ print FH q|};
+
+1;
+
+|;
+
+ close FH;
+
+ if (!$arg{m}) {
+ if (@missing) {
+ open FH, ">$file.missing" or die "$! : missing";
+
+ print FH qq|# module $file
+# add the missing texts and run locales.pl to rebuild
+
+\$missing = {
+|;
+
+ foreach $text (@missing) {
+ $text =~ s/'/\\'/g;
+ $text =~ s/\\$/\\\\/;
+ print FH qq| '$text'|.(' ' x (27-length($text))).qq| => '',\n|;
+ }
+
+ print FH q|};
+
+1;
+|;
+
+ close FH;
+
+ }
+ }
+
+
+ # redo the all file
+ if ($arg{a}) {
+ open FH, ">all" or die "$! : all";
+
+ print FH q|# These are all the texts to build the translations files.
+# to build unique strings edit the module files instead
+# this file is just a shortcut to build strings which are the same
+|;
+
+ if ($charset) {
+ print FH qq|\$self{charset} = '$charset';\n\n|;
+ }
+
+ print FH q|
+$self{texts} = {
+|;
+
+ foreach $key (sort keys %all) {
+ $keytext = $key;
+ $keytext =~ s/'/\\'/g;
+ $keytext =~ s/\\$/\\\\/;
+
+ $text = $all{$key};
+ $text =~ s/'/\\'/g;
+ $text =~ s/\\$/\\\\/;
+ print FH qq| '$keytext'|.(' ' x (27-length($keytext))).qq| => '$text',\n|;
+ }
+
+ print FH q|};
+
+1;
+|;
+
+ close FH;
+
+ }
+
+}
+
+$per = sprintf("%.1f", ($count - $notext) / $count * 100);
+print "\n$language - ${per}%\n";
+
+exit;
+# eof
+
+
+sub scanfile {
+ my ($file, $level) = @_;
+
+ my $fh = new FileHandle;
+ open $fh, "$file" or die "$! : $file";
+
+ $file =~ s/\.pl//;
+ $file =~ s/$bindir\///;
+
+ %temp = ();
+ for (keys %{$self{texts}}) {
+ $temp{$_} = $self{texts}{$_};
+ }
+
+ # read translation file if it exists
+ if (-f $file) {
+ eval { do "$file"; };
+ for (keys %{$self{texts}}) {
+ $all{$_} ||= $self{texts}{$_};
+ if ($level) {
+ $temp{$_} ||= $self{texts}{$_};
+ } else {
+ $temp{$_} = $self{texts}{$_};
+ }
+ }
+ }
+
+ %{$self{texts}} = ();
+ for (sort keys %temp) {
+ $self{texts}{$_} = $temp{$_};
+ }
+
+
+ while (<$fh>) {
+ # is this another file
+ if (/require\s+\W.*\.pl/) {
+ my $newfile = $&;
+ $newfile =~ s/require\s+\W//;
+ $newfile =~ s/\$form->{path}\///;
+ &scanfile("$bindir/$newfile", 1) if $newfile !~ /_/;
+ }
+
+ # is this a sub ?
+ if (/^sub /) {
+ ($null, $subrt) = split / +/;
+ $subrt{$subrt} = 1;
+ next;
+ }
+
+ my $rc = 1;
+
+ while ($rc) {
+ if (/Locale/) {
+ if (!/^use /) {
+ my ($null, $country) = split /,/;
+ $country =~ s/^ +["']//;
+ $country =~ s/["'].*//;
+ }
+ }
+
+ if (/\$locale->text.*?\W\)/) {
+ my $string = $&;
+ $string =~ s/\$locale->text\(\s*['"(q|qq)]['\/\\\|~]*//;
+ $string =~ s/\W\)+.*$//;
+
+ # if there is no $ in the string record it
+ unless ($string =~ /\$\D.*/) {
+ # this guarantees one instance of string
+ $locale{$string} = 1;
+
+ # is it a submit button before $locale->
+ if (/type=submit/i) {
+ $submit{$string} = 1;
+ }
+ }
+ }
+
+ # exit loop if there are no more locales on this line
+ ($rc) = ($' =~ /\$locale->text/);
+ # strip text
+ s/^.*?\$locale->text.*?\)//;
+ }
+ }
+
+ close($fh);
+
+}
+
+
+sub scanmenu {
+ my $file = shift;
+
+ my $fh = new FileHandle;
+ open $fh, "$file" or die "$! : $file";
+
+ my @a = grep /^\[/, <$fh>;
+ close($fh);
+
+ # strip []
+ grep { s/(\[|\])//g } @a;
+
+ foreach my $item (@a) {
+ $item =~ s/ *$//;
+ @b = split /--/, $item;
+ foreach $string (@b) {
+ chomp $string;
+ if ($string !~ /^\s*$/) {
+ $locale{$string} = 1;
+ }
+ }
+ }
+
+}
+
+
diff --git a/locale/ca_en/login b/locale/ca_en/login
new file mode 100755
index 00000000..e3112e15
--- /dev/null
+++ b/locale/ca_en/login
@@ -0,0 +1,12 @@
+$self{texts} = {
+};
+
+$self{subs} = {
+ 'login' => 'login',
+ 'login_screen' => 'login_screen',
+ 'logout' => 'logout',
+ 'selectdataset' => 'selectdataset',
+};
+
+1;
+
diff --git a/locale/ca_en/menu b/locale/ca_en/menu
new file mode 100755
index 00000000..ea7cb026
--- /dev/null
+++ b/locale/ca_en/menu
@@ -0,0 +1,14 @@
+$self{texts} = {
+ 'Check' => 'Cheque',
+};
+
+$self{subs} = {
+ 'acc_menu' => 'acc_menu',
+ 'display' => 'display',
+ 'js_menu' => 'js_menu',
+ 'menubar' => 'menubar',
+ 'section_menu' => 'section_menu',
+};
+
+1;
+
diff --git a/locale/ca_en/oe b/locale/ca_en/oe
new file mode 100755
index 00000000..70cb00ff
--- /dev/null
+++ b/locale/ca_en/oe
@@ -0,0 +1,92 @@
+$self{texts} = {
+};
+
+$self{subs} = {
+ 'acc_menu' => 'acc_menu',
+ 'add' => 'add',
+ 'add_transaction' => 'add_transaction',
+ 'ap_transaction' => 'ap_transaction',
+ 'ar_transaction' => 'ar_transaction',
+ 'backorder_exchangerate' => 'backorder_exchangerate',
+ 'calc_markup' => 'calc_markup',
+ 'check_form' => 'check_form',
+ 'check_name' => 'check_name',
+ 'check_project' => 'check_project',
+ 'consolidate_orders' => 'consolidate_orders',
+ 'continue' => 'continue',
+ 'create_backorder' => 'create_backorder',
+ 'create_form' => 'create_form',
+ 'customer_details' => 'customer_details',
+ 'delete' => 'delete',
+ 'delete_schedule' => 'delete_schedule',
+ 'display' => 'display',
+ 'display_form' => 'display_form',
+ 'display_row' => 'display_row',
+ 'display_ship_receive' => 'display_ship_receive',
+ 'done' => 'done',
+ 'e_mail' => 'e_mail',
+ 'edit' => 'edit',
+ 'form_footer' => 'form_footer',
+ 'form_header' => 'form_header',
+ 'generate_orders' => 'generate_orders',
+ 'generate_purchase_orders' => 'generate_purchase_orders',
+ 'gl_transaction' => 'gl_transaction',
+ 'invoice' => 'invoice',
+ 'invoicetotal' => 'invoicetotal',
+ 'item_selected' => 'item_selected',
+ 'js_menu' => 'js_menu',
+ 'list_transfer' => 'list_transfer',
+ 'menubar' => 'menubar',
+ 'name_selected' => 'name_selected',
+ 'new_item' => 'new_item',
+ 'order_links' => 'order_links',
+ 'po_orderitems' => 'po_orderitems',
+ 'post_as_new' => 'post_as_new',
+ 'prepare_order' => 'prepare_order',
+ 'print' => 'print',
+ 'print_and_post_as_new' => 'print_and_post_as_new',
+ 'print_and_save' => 'print_and_save',
+ 'print_and_save_as_new' => 'print_and_save_as_new',
+ 'print_form' => 'print_form',
+ 'print_options' => 'print_options',
+ 'project_selected' => 'project_selected',
+ 'purchase_order' => 'purchase_order',
+ 'quotation' => 'quotation',
+ 'quotation_' => 'quotation_',
+ 'rebuild_vc' => 'rebuild_vc',
+ 'repost' => 'repost',
+ 'reprint' => 'reprint',
+ 'rfq' => 'rfq',
+ 'rfq_' => 'rfq_',
+ 'sales_invoice' => 'sales_invoice',
+ 'sales_invoice_' => 'sales_invoice_',
+ 'sales_order' => 'sales_order',
+ 'save' => 'save',
+ 'save_as_new' => 'save_as_new',
+ 'save_exchangerate' => 'save_exchangerate',
+ 'save_schedule' => 'save_schedule',
+ 'schedule' => 'schedule',
+ 'search' => 'search',
+ 'search_transfer' => 'search_transfer',
+ 'section_menu' => 'section_menu',
+ 'select_item' => 'select_item',
+ 'select_name' => 'select_name',
+ 'select_project' => 'select_project',
+ 'select_vendor' => 'select_vendor',
+ 'send_email' => 'send_email',
+ 'ship_receive' => 'ship_receive',
+ 'ship_to' => 'ship_to',
+ 'subtotal' => 'subtotal',
+ 'transactions' => 'transactions',
+ 'transfer' => 'transfer',
+ 'update' => 'update',
+ 'validate_items' => 'validate_items',
+ 'vendor_details' => 'vendor_details',
+ 'vendor_invoice' => 'vendor_invoice',
+ 'vendor_invoice_' => 'vendor_invoice_',
+ 'vendor_selected' => 'vendor_selected',
+ 'yes' => 'yes',
+};
+
+1;
+
diff --git a/locale/ca_en/pe b/locale/ca_en/pe
new file mode 100755
index 00000000..d27990b4
--- /dev/null
+++ b/locale/ca_en/pe
@@ -0,0 +1,59 @@
+$self{texts} = {
+};
+
+$self{subs} = {
+ 'acc_menu' => 'acc_menu',
+ 'add' => 'add',
+ 'add_group' => 'add_group',
+ 'add_job' => 'add_job',
+ 'add_pricegroup' => 'add_pricegroup',
+ 'add_project' => 'add_project',
+ 'continue' => 'continue',
+ 'customer_selected' => 'customer_selected',
+ 'delete' => 'delete',
+ 'display' => 'display',
+ 'display_form' => 'display_form',
+ 'edit' => 'edit',
+ 'edit_translation' => 'edit_translation',
+ 'generate_sales_orders' => 'generate_sales_orders',
+ 'jcitems' => 'jcitems',
+ 'job_footer' => 'job_footer',
+ 'job_header' => 'job_header',
+ 'job_report' => 'job_report',
+ 'js_menu' => 'js_menu',
+ 'list_projects' => 'list_projects',
+ 'list_stock' => 'list_stock',
+ 'list_translations' => 'list_translations',
+ 'menubar' => 'menubar',
+ 'name_selected' => 'name_selected',
+ 'partsgroup_footer' => 'partsgroup_footer',
+ 'partsgroup_header' => 'partsgroup_header',
+ 'partsgroup_report' => 'partsgroup_report',
+ 'prepare_job' => 'prepare_job',
+ 'prepare_partsgroup' => 'prepare_partsgroup',
+ 'prepare_pricegroup' => 'prepare_pricegroup',
+ 'prepare_project' => 'prepare_project',
+ 'pricegroup_footer' => 'pricegroup_footer',
+ 'pricegroup_header' => 'pricegroup_header',
+ 'pricegroup_report' => 'pricegroup_report',
+ 'project_footer' => 'project_footer',
+ 'project_header' => 'project_header',
+ 'project_jcitems_list' => 'project_jcitems_list',
+ 'project_report' => 'project_report',
+ 'project_sales_order' => 'project_sales_order',
+ 'sales_order_footer' => 'sales_order_footer',
+ 'sales_order_header' => 'sales_order_header',
+ 'save' => 'save',
+ 'search' => 'search',
+ 'section_menu' => 'section_menu',
+ 'select_customer' => 'select_customer',
+ 'select_name' => 'select_name',
+ 'stock' => 'stock',
+ 'translation' => 'translation',
+ 'translation_footer' => 'translation_footer',
+ 'translation_header' => 'translation_header',
+ 'update' => 'update',
+};
+
+1;
+
diff --git a/locale/ca_en/pos b/locale/ca_en/pos
new file mode 100755
index 00000000..e2b1ca16
--- /dev/null
+++ b/locale/ca_en/pos
@@ -0,0 +1,26 @@
+$self{texts} = {
+};
+
+$self{subs} = {
+ 'acc_menu' => 'acc_menu',
+ 'add' => 'add',
+ 'display' => 'display',
+ 'display_row' => 'display_row',
+ 'edit' => 'edit',
+ 'form_footer' => 'form_footer',
+ 'form_header' => 'form_header',
+ 'js_menu' => 'js_menu',
+ 'lookup_partsgroup' => 'lookup_partsgroup',
+ 'menubar' => 'menubar',
+ 'openinvoices' => 'openinvoices',
+ 'post' => 'post',
+ 'print' => 'print',
+ 'print_and_post' => 'print_and_post',
+ 'print_form' => 'print_form',
+ 'print_options' => 'print_options',
+ 'receipts' => 'receipts',
+ 'section_menu' => 'section_menu',
+};
+
+1;
+
diff --git a/locale/ca_en/ps b/locale/ca_en/ps
new file mode 100755
index 00000000..524b9504
--- /dev/null
+++ b/locale/ca_en/ps
@@ -0,0 +1,95 @@
+$self{texts} = {
+ 'Check' => 'Cheque',
+};
+
+$self{subs} = {
+ 'acc_menu' => 'acc_menu',
+ 'add' => 'add',
+ 'add_transaction' => 'add_transaction',
+ 'aging' => 'aging',
+ 'ap_transaction' => 'ap_transaction',
+ 'ar_transaction' => 'ar_transaction',
+ 'calc_markup' => 'calc_markup',
+ 'check_form' => 'check_form',
+ 'check_name' => 'check_name',
+ 'check_project' => 'check_project',
+ 'continue' => 'continue',
+ 'create_form' => 'create_form',
+ 'create_links' => 'create_links',
+ 'customer_details' => 'customer_details',
+ 'delete' => 'delete',
+ 'delete_schedule' => 'delete_schedule',
+ 'display' => 'display',
+ 'display_form' => 'display_form',
+ 'display_row' => 'display_row',
+ 'e_mail' => 'e_mail',
+ 'edit' => 'edit',
+ 'form_footer' => 'form_footer',
+ 'form_header' => 'form_header',
+ 'generate_ap_aging' => 'generate_ap_aging',
+ 'generate_ar_aging' => 'generate_ar_aging',
+ 'generate_balance_sheet' => 'generate_balance_sheet',
+ 'generate_income_statement' => 'generate_income_statement',
+ 'generate_projects' => 'generate_projects',
+ 'generate_tax_report' => 'generate_tax_report',
+ 'generate_trial_balance' => 'generate_trial_balance',
+ 'gl_transaction' => 'gl_transaction',
+ 'invoice_links' => 'invoice_links',
+ 'invoicetotal' => 'invoicetotal',
+ 'item_selected' => 'item_selected',
+ 'js_menu' => 'js_menu',
+ 'list_accounts' => 'list_accounts',
+ 'list_payments' => 'list_payments',
+ 'lookup_partsgroup' => 'lookup_partsgroup',
+ 'menubar' => 'menubar',
+ 'name_selected' => 'name_selected',
+ 'new_item' => 'new_item',
+ 'openinvoices' => 'openinvoices',
+ 'payment_selected' => 'payment_selected',
+ 'payment_subtotal' => 'payment_subtotal',
+ 'post' => 'post',
+ 'post_as_new' => 'post_as_new',
+ 'prepare_invoice' => 'prepare_invoice',
+ 'print' => 'print',
+ 'print_and_post' => 'print_and_post',
+ 'print_and_post_as_new' => 'print_and_post_as_new',
+ 'print_check' => 'print_check',
+ 'print_form' => 'print_form',
+ 'print_options' => 'print_options',
+ 'print_receipt' => 'print_receipt',
+ 'print_transaction' => 'print_transaction',
+ 'project_selected' => 'project_selected',
+ 'purchase_order' => 'purchase_order',
+ 'quotation' => 'quotation',
+ 'rebuild_vc' => 'rebuild_vc',
+ 'receipts' => 'receipts',
+ 'report' => 'report',
+ 'repost' => 'repost',
+ 'reprint' => 'reprint',
+ 'rfq' => 'rfq',
+ 'sales_invoice_' => 'sales_invoice_',
+ 'sales_order' => 'sales_order',
+ 'save_schedule' => 'save_schedule',
+ 'schedule' => 'schedule',
+ 'search' => 'search',
+ 'section_menu' => 'section_menu',
+ 'select_all' => 'select_all',
+ 'select_item' => 'select_item',
+ 'select_name' => 'select_name',
+ 'select_payment' => 'select_payment',
+ 'select_project' => 'select_project',
+ 'send_email' => 'send_email',
+ 'ship_to' => 'ship_to',
+ 'statement_details' => 'statement_details',
+ 'subtotal' => 'subtotal',
+ 'tax_subtotal' => 'tax_subtotal',
+ 'transactions' => 'transactions',
+ 'update' => 'update',
+ 'validate_items' => 'validate_items',
+ 'vendor_details' => 'vendor_details',
+ 'vendor_invoice_' => 'vendor_invoice_',
+ 'yes' => 'yes',
+};
+
+1;
+
diff --git a/locale/ca_en/pw b/locale/ca_en/pw
new file mode 100755
index 00000000..b18ff8cf
--- /dev/null
+++ b/locale/ca_en/pw
@@ -0,0 +1,9 @@
+$self{texts} = {
+};
+
+$self{subs} = {
+ 'getpassword' => 'getpassword',
+};
+
+1;
+
diff --git a/locale/ca_en/rc b/locale/ca_en/rc
new file mode 100755
index 00000000..9163d154
--- /dev/null
+++ b/locale/ca_en/rc
@@ -0,0 +1,20 @@
+$self{texts} = {
+};
+
+$self{subs} = {
+ 'acc_menu' => 'acc_menu',
+ 'continue' => 'continue',
+ 'display' => 'display',
+ 'display_form' => 'display_form',
+ 'done' => 'done',
+ 'get_payments' => 'get_payments',
+ 'js_menu' => 'js_menu',
+ 'menubar' => 'menubar',
+ 'reconciliation' => 'reconciliation',
+ 'section_menu' => 'section_menu',
+ 'select_all' => 'select_all',
+ 'update' => 'update',
+};
+
+1;
+
diff --git a/locale/ca_en/rp b/locale/ca_en/rp
new file mode 100755
index 00000000..61081ea0
--- /dev/null
+++ b/locale/ca_en/rp
@@ -0,0 +1,54 @@
+$self{texts} = {
+};
+
+$self{subs} = {
+ 'acc_menu' => 'acc_menu',
+ 'add_transaction' => 'add_transaction',
+ 'aging' => 'aging',
+ 'ap_transaction' => 'ap_transaction',
+ 'ar_transaction' => 'ar_transaction',
+ 'check_name' => 'check_name',
+ 'check_project' => 'check_project',
+ 'continue' => 'continue',
+ 'delete_schedule' => 'delete_schedule',
+ 'display' => 'display',
+ 'e_mail' => 'e_mail',
+ 'generate_ap_aging' => 'generate_ap_aging',
+ 'generate_ar_aging' => 'generate_ar_aging',
+ 'generate_balance_sheet' => 'generate_balance_sheet',
+ 'generate_income_statement' => 'generate_income_statement',
+ 'generate_projects' => 'generate_projects',
+ 'generate_tax_report' => 'generate_tax_report',
+ 'generate_trial_balance' => 'generate_trial_balance',
+ 'gl_transaction' => 'gl_transaction',
+ 'js_menu' => 'js_menu',
+ 'list_accounts' => 'list_accounts',
+ 'list_payments' => 'list_payments',
+ 'menubar' => 'menubar',
+ 'name_selected' => 'name_selected',
+ 'payment_subtotal' => 'payment_subtotal',
+ 'post_as_new' => 'post_as_new',
+ 'print' => 'print',
+ 'print_and_post_as_new' => 'print_and_post_as_new',
+ 'print_form' => 'print_form',
+ 'print_options' => 'print_options',
+ 'project_selected' => 'project_selected',
+ 'rebuild_vc' => 'rebuild_vc',
+ 'report' => 'report',
+ 'repost' => 'repost',
+ 'reprint' => 'reprint',
+ 'sales_invoice_' => 'sales_invoice_',
+ 'save_schedule' => 'save_schedule',
+ 'schedule' => 'schedule',
+ 'section_menu' => 'section_menu',
+ 'select_all' => 'select_all',
+ 'select_name' => 'select_name',
+ 'select_project' => 'select_project',
+ 'send_email' => 'send_email',
+ 'statement_details' => 'statement_details',
+ 'tax_subtotal' => 'tax_subtotal',
+ 'vendor_invoice_' => 'vendor_invoice_',
+};
+
+1;
+