-
{{ $t('Please refresh the page and try again. If the error is still displayed, make sure that server map settings are set correctly.') }}
+
{{ $t('Please refresh the page and try again. If the error persists, ensure that the server\'s map settings are correctly configured.') }}
diff --git a/src/consts/account.js b/src/consts/account.js
index cc1f8675..550cd73b 100644
--- a/src/consts/account.js
+++ b/src/consts/account.js
@@ -45,7 +45,7 @@ const allAccountTypesArray = [
name: 'Single Account'
}, {
id: allAccountTypes.MultiSubAccounts,
- name: 'Multi Sub Accounts'
+ name: 'Multiple Sub-accounts'
}
];
diff --git a/src/lib/services.js b/src/lib/services.js
index c5dca4a3..84b05015 100644
--- a/src/lib/services.js
+++ b/src/lib/services.js
@@ -50,8 +50,8 @@ axios.interceptors.response.use(response => {
|| errorCode === 202002 // current token is invalid
|| errorCode === 202003 // current token is expired
|| errorCode === 202004 // current token type is invalid
- || errorCode === 202005 // current token requires two factor authorization
- || errorCode === 202006 // current token does not require two factor authorization
+ || errorCode === 202005 // current token requires two-factor authorization
+ || errorCode === 202006 // current token does not require two-factor authorization
|| errorCode === 202012 // token is empty
) {
userState.clearTokenAndUserInfo(false);
diff --git a/src/locales/en.js b/src/locales/en.js
index d2e73975..65e39ad2 100644
--- a/src/locales/en.js
+++ b/src/locales/en.js
@@ -595,8 +595,8 @@ export default {
'current token is invalid': 'Current token is invalid',
'current token is expired': 'Current token is expired',
'current token type is invalid': 'Current token type is invalid',
- 'current token requires two factor authorization': 'Current token requires two factor authorization',
- 'current token does not require two factor authorization': 'Current token does not require two factor authorization',
+ 'current token requires two-factor authorization': 'Current token requires two-factor authorization',
+ 'current token does not require two-factor authorization': 'Current token does not require two-factor authorization',
'token is invalid': 'Token is invalid',
'token id is invalid': 'Token ID is invalid',
'user token id is invalid': 'User token ID is invalid',
@@ -606,21 +606,21 @@ export default {
'email verify token is invalid or expired': 'Email verify token is invalid or expired',
'password reset token is invalid or expired': 'Password reset token is invalid or expired',
'passcode is invalid': 'Passcode is invalid',
- 'two factor backup code is invalid': 'Two factor backup code is invalid',
- 'two factor is not enabled': 'Two factor is not enabled',
- 'two factor has already been enabled': 'Two factor has already been enabled',
- 'two factor backup code does not exist': 'Two factor backup code does not exist',
+ 'two-factor backup code is invalid': 'Two-factor backup code is invalid',
+ 'two-factor is not enabled': 'Two-factor is not enabled',
+ 'two-factor has already been enabled': 'Two-factor has already been enabled',
+ 'two-factor backup code does not exist': 'Two-factor backup code does not exist',
'account id is invalid': 'Account ID is invalid',
'account not found': 'Account is not found',
'account type is invalid': 'Account type is invalid',
'account currency is invalid': 'Account currency is invalid',
- 'account must have at least one sub account': 'Account must have at least one sub account',
- 'account cannot have sub accounts': 'Account cannot have sub accounts',
+ 'account must have at least one sub-account': 'Account must have at least one sub-account',
+ 'account cannot have sub-accounts': 'Account cannot have sub-accounts',
'parent account cannot set currency': 'Parent account cannot set currency',
'parent account cannot set balance': 'Parent account cannot set balance',
- 'sub account category not equals to parent': 'Sub account category does not equal to parent',
- 'sub account type invalid': 'Sub account type is invalid',
- 'cannot add or delete sub accounts when modify account': 'You cannot add or delete sub accounts when modify account',
+ 'sub-account category not equals to parent': 'Sub-account category does not equal to parent',
+ 'sub-account type invalid': 'Sub-account type is invalid',
+ 'cannot add or delete sub-accounts when modify account': 'You cannot add or delete sub-accounts when modify account',
'source account not found': 'Source account is not found',
'destination account not found': 'Destination account is not found',
'account is in use and cannot be deleted': 'Account is in use and it cannot be deleted',
@@ -654,7 +654,7 @@ export default {
'transaction tag name already exists': 'Transaction tag title already exists',
'transaction tag is in use and cannot be deleted': 'Transaction tag is in use and it cannot be deleted',
'data export not allowed': 'User data export is not allowed',
- 'query items cannot be empty': 'There are no query items',
+ 'query items cannot be blank': 'There are no query items',
'query items too much': 'There are too many query items',
'query items have invalid item': 'There is invalid item in query items',
'parameter invalid': 'Parameter is invalid',
@@ -669,7 +669,7 @@ export default {
'oldPassword': 'Current Password',
'defaultCurrency': 'Default Currency',
'firstDayOfWeek': 'First Day of Week',
- 'transactionEditScope': 'Editable Transaction Scope',
+ 'transactionEditScope': 'Editable Transaction Range',
'name': 'Name',
'category': 'Category',
'type': 'Type',
@@ -713,13 +713,13 @@ export default {
'Add': 'Add',
'Apply': 'Apply',
'Save': 'Save',
- 'Save changes': 'Save changes',
+ 'Save Changes': 'Save Changes',
'Reset': 'Reset',
'Update': 'Update',
'Refresh': 'Refresh',
'Clear': 'Clear',
'None': 'None',
- 'Not Specified': 'Not Specified',
+ 'Unspecified': 'Unspecified',
'No results': 'No results',
'Unknown': 'Unknown',
'Miscellaneous': 'Miscellaneous',
@@ -760,7 +760,7 @@ export default {
'This year': 'This year',
'Last year': 'Last year',
'Custom Date': 'Custom Date',
- 'Begin Time': 'Begin Time',
+ 'Start Time': 'Start Time',
'End Time': 'End Time',
'Select Date': 'Select Date',
'Select Time': 'Select Time',
@@ -768,7 +768,7 @@ export default {
'Custom': 'Custom',
'Pie Chart': 'Pie Chart',
'Bar Chart': 'Bar Chart',
- 'Sort By': 'Sort By',
+ 'Sort by': 'Sort by',
'User': 'User',
'Application': 'Application',
'Danger Zone': 'Danger Zone',
@@ -787,15 +787,15 @@ export default {
'No data': 'No data',
'Zoom in': 'Zoom in',
'Zoom out': 'Zoom out',
- 'Drag and Drop to Change Order': 'Drag and Drop to Change Order',
+ 'Drag to Reorder': 'Drag to Reorder',
'Save Display Order': 'Save Display Order',
'Change Language': 'Change Language',
'Date is too early': 'Date is too early',
'Welcome to ezBookkeeping': 'Welcome to ezBookkeeping',
'Please log in with your ezBookkeeping account': 'Please log in with your ezBookkeeping account',
'Unlock Application': 'Unlock Application',
- 'Please input your PIN code or use WebAuthn to unlock application': 'Please input your PIN code or use WebAuthn to unlock application',
- 'Please input your PIN code to unlock application': 'Please input your PIN code to unlock application',
+ 'Please enter your PIN code or use WebAuthn to unlock application': 'Please enter your PIN code or use WebAuthn to unlock application',
+ 'Please enter your PIN code to unlock application': 'Please enter your PIN code to unlock application',
'Can\'t Unlock?': 'Can\'t Unlock?',
'Re-login': 'Re-login',
'Username': 'Username',
@@ -804,7 +804,7 @@ export default {
'Password': 'Password',
'Your password': 'Your password',
'Your password, at least 6 characters': 'Your password, at least 6 characters',
- 'Confirmation Password': 'Confirmation Password',
+ 'Confirm Password': 'Confirm Password',
'Re-enter the password': 'Re-enter the password',
'E-mail': 'E-mail',
'Your email address': 'Your email address',
@@ -817,7 +817,7 @@ export default {
'Short Date Format': 'Short Date Format',
'Long Time Format': 'Long Time Format',
'Short Time Format': 'Short Time Format',
- 'Editable Transaction Scope': 'Editable Transaction Scope',
+ 'Editable Transaction Range': 'Editable Transaction Range',
'Today or later': 'Today or later',
'Recent 24 hours or later': 'Recent 24 hours or later',
'This week or later': 'This week or later',
@@ -825,55 +825,53 @@ export default {
'This year or later': 'This year or later',
'Log In': 'Log In',
'Click here to log in': 'Click here to log in',
- 'Back to log in': 'Back to log in',
- 'Back to home': 'Back to home',
+ 'Back to login page': 'Back to login page',
+ 'Back to home page': 'Back to home page',
'Don\'t have an account?': 'Don\'t have an account?',
'Forget Password?': 'Forget Password?',
'Create an account': 'Create an account',
- 'Username cannot be empty': 'Username cannot be empty',
- 'Password cannot be empty': 'Password cannot be empty',
- 'Current password cannot be empty': 'Current password cannot be empty',
- 'New password cannot be empty': 'New password cannot be empty',
- 'Confirmation password cannot be empty': 'Confirmation password cannot be empty',
- 'Password and confirmation password do not match': 'Password and confirmation password do not match',
- 'Email address cannot be empty': 'Email address cannot be empty',
- 'Nickname cannot be empty': 'Nickname cannot be empty',
- 'Default currency cannot be empty': 'Default currency cannot be empty',
- 'Unable to login': 'Unable to login',
+ 'Username cannot be blank': 'Username cannot be blank',
+ 'Password cannot be blank': 'Password cannot be blank',
+ 'Current password cannot be blank': 'Current password cannot be blank',
+ 'New password cannot be blank': 'New password cannot be blank',
+ 'Password confirmation cannot be blank': 'Password confirmation cannot be blank',
+ 'Password and password confirmation do not match': 'Password and password confirmation do not match',
+ 'Email address cannot be blank': 'Email address cannot be blank',
+ 'Nickname cannot be blank': 'Nickname cannot be blank',
+ 'Default currency cannot be blank': 'Default currency cannot be blank',
+ 'Unable to log in': 'Unable to log in',
'Two-Factor Authentication': 'Two-Factor Authentication',
'Two-factor authentication is not enabled yet.': 'Two-factor authentication is not enabled yet.',
- 'Two-factor authentication has been enabled.': 'Two-factor authentication has been enabled.',
- 'Disable two-factor authentication': 'Disable two-factor authentication',
- 'Enable two-factor authentication': 'Enable two-factor authentication',
+ 'Two-factor authentication is already enabled.': 'Two-factor authentication is already enabled.',
'Passcode': 'Passcode',
'Backup Code': 'Backup Code',
'Verify': 'Verify',
- 'Passcode cannot be empty': 'Passcode cannot be empty',
- 'Backup code cannot be empty': 'Backup code cannot be empty',
+ 'Passcode cannot be blank': 'Passcode cannot be blank',
+ 'Backup code cannot be blank': 'Backup code cannot be blank',
'Unable to verify': 'Unable to verify',
- 'Use a backup code': 'Use a backup code',
- 'Use a passcode': 'Use a passcode',
- 'PIN code is invalid': 'PIN code is invalid',
- 'PIN code is wrong': 'PIN code is wrong',
+ 'Use Backup Code': 'Use Backup Code',
+ 'Use Passcode': 'Use Passcode',
+ 'Invalid PIN code': 'Invalid PIN code',
+ 'Incorrect PIN code': 'Incorrect PIN code',
'Verify your email': 'Verify your email',
'Verifying...': 'Verifying...',
'Resend Validation Email': 'Resend Validation Email',
'Validation email has been sent': 'Validation email has been sent',
'Unable to verify email': 'Unable to verify email',
- 'Unable to resend verify email': 'Unable to resend verify email',
+ 'Unable to resend validation email': 'Unable to resend validation email',
'Send Reset Link': 'Send Reset Link',
- 'Please input your email address used for registration and we\'ll send you an email with reset password link': 'Please input your email address used for registration and we\'ll send you an email with reset password link',
+ 'Please enter your email address used for registration and we\'ll send you an email with a reset password link': 'Please enter your email address used for registration and we\'ll send you an email with a reset password link',
'Password reset email has been sent': 'Password reset email has been sent',
'Unable to send password reset email': 'Unable to send password reset email',
'Reset Password': 'Reset Password',
'Update Password': 'Update Password',
- 'Please input your email address again, and input the new password.': 'Please input your email address again, and input the new password.',
+ 'Please re-enter your email address, and then enter a new password.': 'Please re-enter your email address, and then enter a new password.',
'Password has been updated': 'Password has been updated',
'Unable to reset password': 'Unable to reset password',
'Sign Up': 'Sign Up',
'Overview': 'Overview',
'Asset Summary': 'Asset Summary',
- 'Trend in Income and Expense': 'Trend in Income and Expense',
+ 'Income and Expense Trends': 'Income and Expense Trends',
'View Details': 'View Details',
'Transaction List': 'Transaction List',
'Transaction Details': 'Transaction Details',
@@ -883,7 +881,7 @@ export default {
'This Month': 'This Month',
'This Year': 'This Year',
'Monthly income': 'Monthly income',
- 'Unable to get transaction overview': 'Unable to get transaction overview',
+ 'Unable to retrieve transaction overview': 'Unable to retrieve transaction overview',
'Data is up to date': 'Data is up to date',
'Data has been updated': 'Data has been updated',
'Net assets': 'Net assets',
@@ -900,7 +898,7 @@ export default {
'Receivables': 'Receivables',
'Investment Account': 'Investment Account',
'Balance': 'Balance',
- 'Unable to get account list': 'Unable to get account list',
+ 'Unable to retrieve account list': 'Unable to retrieve account list',
'Account list is up to date': 'Account list is up to date',
'Account list has been updated': 'Account list has been updated',
'All Accounts': 'All Accounts',
@@ -909,38 +907,38 @@ export default {
'Edit Account': 'Edit Account',
'Account Category': 'Account Category',
'Single Account': 'Single Account',
- 'Multi Sub Accounts': 'Multi Sub Accounts',
+ 'Multiple Sub-accounts': 'Multiple Sub-accounts',
'Account Type': 'Account Type',
'Account Name': 'Account Name',
'Your account name': 'Your account name',
'Main Account': 'Main Account',
'Sub Account': 'Sub Account',
- 'Sub Account Name': 'Sub Account Name',
- 'Your sub account name': 'Your sub account name',
+ 'Sub-account Name': 'Sub-account Name',
+ 'Your sub-account name': 'Your sub-account name',
'Account Icon': 'Account Icon',
- 'Sub Account Icon': 'Sub Account Icon',
+ 'Sub-account Icon': 'Sub-account Icon',
'Account Color': 'Account Color',
- 'Sub Account Color': 'Sub Account Color',
+ 'Sub-account Color': 'Sub-account Color',
'Currency': 'Currency',
'Account Balance': 'Account Balance',
- 'Sub Account Balance': 'Sub Account Balance',
+ 'Sub-account Balance': 'Sub-account Balance',
'Description': 'Description',
'Your account description (optional)': 'Your account description (optional)',
- 'Your sub account description (optional)': 'Your sub account description (optional)',
- 'Add Sub Account': 'Add Sub Account',
- 'Remove Sub Account': 'Remove Sub Account',
- 'Are you sure you want to remove this sub account?': 'Are you sure you want to remove this sub account?',
- 'Account category cannot be empty': 'Account category cannot be empty',
- 'Account type cannot be empty': 'Account type cannot be empty',
- 'Account name cannot be empty': 'Account name cannot be empty',
- 'Account currency cannot be empty': 'Account currency cannot be empty',
+ 'Your sub-account description (optional)': 'Your sub-account description (optional)',
+ 'Add Sub-account': 'Add Sub-account',
+ 'Remove Sub-account': 'Remove Sub-account',
+ 'Are you sure you want to remove this sub-account?': 'Are you sure you want to remove this sub-account?',
+ 'Account category cannot be blank': 'Account category cannot be blank',
+ 'Account type cannot be blank': 'Account type cannot be blank',
+ 'Account name cannot be blank': 'Account name cannot be blank',
+ 'Account currency cannot be blank': 'Account currency cannot be blank',
'You have added a new account': 'You have added a new account',
'You have saved this account': 'You have saved this account',
'Unable to add account': 'Unable to add account',
'Unable to save account': 'Unable to save account',
- 'Show Hidden Account': 'Show Hidden Account',
- 'Hide Hidden Account': 'Hide Hidden Account',
- 'Unable to get account': 'Unable to get account',
+ 'Show Hidden Accounts': 'Show Hidden Accounts',
+ 'Hide Hidden Accounts': 'Hide Hidden Accounts',
+ 'Unable to retrieve account': 'Unable to retrieve account',
'Unable to hide this account': 'Unable to hide this account',
'Unable to unhide this account': 'Unable to unhide this account',
'Unable to move account': 'Unable to move account',
@@ -965,7 +963,7 @@ export default {
'Source Account': 'Source Account',
'Destination Account': 'Destination Account',
'Transaction Time': 'Transaction Time',
- 'Transaction Time Zone': 'Transaction Time Zone',
+ 'Transaction Timezone': 'Transaction Timezone',
'Same time as default timezone': 'Same time as default timezone',
'Geographic Location': 'Geographic Location',
'No Location': 'No Location',
@@ -974,20 +972,20 @@ export default {
'Location on Map': 'Location on Map',
'Update Geographic Location': 'Update Geographic Location',
'Clear Geographic Location': 'Clear Geographic Location',
- 'Unable to get current position': 'Unable to get current position',
+ 'Unable to retrieve current position': 'Unable to retrieve current position',
'Cannot Initialize Map': 'Cannot Initialize Map',
'Unsupported Map Provider': 'Unsupported Map Provider',
- 'Please refresh the page and try again. If the error is still displayed, make sure that server map settings are set correctly.': 'Please refresh the page and try again. If the error is still displayed, make sure that server map settings are set correctly.',
+ 'Please refresh the page and try again. If the error persists, ensure that the server\'s map settings are correctly configured.': 'Please refresh the page and try again. If the error persists, ensure that the server\'s map settings are correctly configured.',
'Tags': 'Tags',
'Your transaction description (optional)': 'Your transaction description (optional)',
- 'Are you sure you want to save this transaction whose amount is 0?': 'Are you sure you want to save this transaction whose amount is 0?',
- 'Unable to get transaction': 'Unable to get transaction',
+ 'Are you sure you want to save this transaction with a zero amount?': 'Are you sure you want to save this transaction with a zero amount?',
+ 'Unable to retrieve transaction': 'Unable to retrieve transaction',
'Unable to add transaction': 'Unable to add transaction',
'Unable to save transaction': 'Unable to save transaction',
'You have added a new transaction': 'You have added a new transaction',
'You have saved this transaction': 'You have saved this transaction',
'Search transaction description': 'Search transaction description',
- 'Unable to get transaction list': 'Unable to get transaction list',
+ 'Unable to retrieve transaction list': 'Unable to retrieve transaction list',
'Custom Date Range': 'Custom Date Range',
'Transaction Detail': 'Transaction Detail',
'No transaction data': 'No transaction data',
@@ -995,18 +993,16 @@ export default {
'Amount value is not number': 'Amount value is not number',
'Amount value exceeds limitation': 'Amount value exceeds limitation',
'Unable to delete this transaction': 'Unable to delete this transaction',
- 'Unable to get transaction statistics': 'Unable to get transaction statistics',
+ 'Unable to retrieve transaction statistics': 'Unable to retrieve transaction statistics',
'Categorical Analysis': 'Categorical Analysis',
'Total Amount': 'Total Amount',
'Total Assets': 'Total Assets',
'Total Liabilities': 'Total Liabilities',
'Total Expense': 'Total Expense',
'Total Income': 'Total Income',
- 'Expense Chart': 'Expense Chart',
'Expense By Account': 'Expense By Account',
'Expense By Primary Category': 'Expense By Primary Category',
'Expense By Secondary Category': 'Expense By Secondary Category',
- 'Income Chart': 'Income Chart',
'Income By Account': 'Income By Account',
'Income By Primary Category': 'Income By Primary Category',
'Income By Secondary Category': 'Income By Secondary Category',
@@ -1021,7 +1017,8 @@ export default {
'Default Date Range': 'Default Date Range',
'Default Account Filter': 'Default Account Filter',
'Default Transaction Category Filter': 'Default Transaction Category Filter',
- 'Default Sort By': 'Default Sort By',
+ 'Sort Order': 'Sort Order',
+ 'Default Sort Order': 'Default Sort Order',
'Amount': 'Amount',
'Display Order': 'Display Order',
'Name': 'Name',
@@ -1062,24 +1059,24 @@ export default {
'Use preset transaction categories': 'Use preset transaction categories',
'Use Preset Transaction Categories': 'Use Preset Transaction Categories',
'Preset Categories': 'Preset Categories',
- 'Set Whether You Use The Preset Transaction Categories': 'Set Whether You Use The Preset Transaction Categories',
+ 'Set whether to use preset transaction categories': 'Set whether to use preset transaction categories',
'Complete': 'Complete',
- 'Registration Complete': 'Registration Complete',
+ 'Registration Completed': 'Registration Completed',
'You have been successfully registered': 'You have been successfully registered',
- 'You have been successfully registered, but something wrong with adding preset categories. You can re-add preset categories in settings page anytime.': 'You have been successfully registered, but something wrong with adding preset categories. You can re-add preset categories in settings page anytime.',
- 'You have been successfully registered. Account activation link has been sent to your email address, please activate your account first.': 'You have been successfully registered. Account activation link has been sent to your email address, please activate your account first.',
+ 'You have been successfully registered, but there was an failure when adding preset categories. You can re-add preset categories in settings page anytime.': 'You have been successfully registered, but there was an failure when adding preset categories. You can re-add preset categories in settings page anytime.',
+ 'You have been successfully registered. An account activation link has been sent to your email address, please activate your account first.': 'You have been successfully registered. An account activation link has been sent to your email address, please activate your account first.',
'Unable to sign up': 'Unable to sign up',
'User registration is disabled': 'User registration is disabled',
- 'Unable to get user profile': 'Unable to get user profile',
+ 'Unable to retrieve user profile': 'Unable to retrieve user profile',
'Basic': 'Basic',
'Security': 'Security',
'Basic Settings': 'Basic Settings',
'Security Settings': 'Security Settings',
'Two-Factor Authentication Settings': 'Two-Factor Authentication Settings',
'(Verified)': '(Verified)',
- '(Unverified)': '(Unverified)',
- 'Email has been verified': 'Email has been verified',
- 'Email has not been verified': 'Email has not been verified',
+ '(Not Verified)': '(Not Verified)',
+ 'Email address is verified': 'Email address is verified',
+ 'Email address is not verified': 'Email address is not verified',
'Username:': 'Username:',
'Current Password': 'Current Password',
'New Password': 'New Password',
@@ -1088,9 +1085,9 @@ export default {
'Nothing has been modified': 'Nothing has been modified',
'Your profile has been successfully updated': 'Your profile has been successfully updated',
'Unable to update user profile': 'Unable to update user profile',
- 'After the password is changed, other devices will be logged out, please log in again on other devices by using the new password.': 'After the password is changed, other devices will be logged out, please log in again on other devices by using the new password.',
+ 'After changing the password, other devices will be logged out. Please use the new password to log in on other devices.': 'After changing the password, other devices will be logged out. Please use the new password to log in on other devices.',
'Data Management': 'Data Management',
- 'Unable to get user statistics data': 'Unable to get user statistics data',
+ 'Unable to retrieve user statistics data': 'Unable to retrieve user statistics data',
'Export Data': 'Export Data',
'CSV (Comma-separated values) File': 'CSV (Comma-separated values) File',
'TSV (Tab-separated values) File': 'TSV (Tab-separated values) File',
@@ -1098,17 +1095,17 @@ export default {
'Export all transaction data to file.': 'Export all transaction data to file.',
'Are you sure you want to export all transaction data to file?': 'Are you sure you want to export all transaction data to file?',
'It may take a long time, please wait for a few minutes.': 'It may take a long time, please wait for a few minutes.',
- 'Unable to get exported user data': 'Unable to get exported user data',
+ 'Unable to retrieve exported user data': 'Unable to retrieve exported user data',
'Save Data': 'Save Data',
'Are you sure you want to clear all data?': 'Are you sure you want to clear all data?',
- 'You CANNOT undo this action. This will clear your accounts, categories, tags and transactions data. Please input your current password to confirm.': 'You CANNOT undo this action. This will clear your accounts, categories, tags and transactions data. Please input your current password to confirm.',
+ 'You CANNOT undo this action. This will clear your accounts, categories, tags and transactions data. Please enter your current password to confirm.': 'You CANNOT undo this action. This will clear your accounts, categories, tags and transactions data. Please enter your current password to confirm.',
'All user data has been cleared': 'All user data has been cleared',
'Unable to clear user data': 'Unable to clear user data',
'Device & Sessions': 'Device & Sessions',
'Device Info': 'Device Info',
'Last Activity Time': 'Last Activity Time',
'Logout All': 'Logout All',
- 'Unable to get session list': 'Unable to get session list',
+ 'Unable to retrieve session list': 'Unable to retrieve session list',
'Session list is up to date': 'Session list is up to date',
'Session list has been updated': 'Session list has been updated',
'Current': 'Current',
@@ -1131,7 +1128,7 @@ export default {
'No available category': 'No available category',
'Add Default Categories': 'Add Default Categories',
'Default Categories': 'Default Categories',
- 'Unable to get category list': 'Unable to get category list',
+ 'Unable to retrieve category list': 'Unable to retrieve category list',
'Category list is up to date': 'Category list is up to date',
'Category list has been updated': 'Category list has been updated',
'Unable to move category': 'Unable to move category',
@@ -1147,20 +1144,20 @@ export default {
'Category Icon': 'Category Icon',
'Category Color': 'Category Color',
'Your category description (optional)': 'Your category description (optional)',
- 'Category name cannot be empty': 'Category name cannot be empty',
- 'Unable to get category': 'Unable to get category',
+ 'Category name cannot be blank': 'Category name cannot be blank',
+ 'Unable to retrieve category': 'Unable to retrieve category',
'Unable to add category': 'Unable to add category',
'Unable to save category': 'Unable to save category',
'Unable to add preset categories': 'Unable to add preset categories',
'You have added a new category': 'You have added a new category',
'You have added preset categories': 'You have added preset categories',
'You have saved this category': 'You have saved this category',
- 'Show Hidden Transaction Category': 'Show Hidden Transaction Category',
- 'Hide Hidden Transaction Category': 'Hide Hidden Transaction Category',
+ 'Show Hidden Transaction Categories': 'Show Hidden Transaction Categories',
+ 'Hide Hidden Transaction Categories': 'Hide Hidden Transaction Categories',
'Transaction Tags': 'Transaction Tags',
'Tag Title': 'Tag Title',
'No available tag': 'No available tag',
- 'Unable to get tag list': 'Unable to get tag list',
+ 'Unable to retrieve tag list': 'Unable to retrieve tag list',
'Tag list is up to date': 'Tag list is up to date',
'Tag list has been updated': 'Tag list has been updated',
'Unable to add tag': 'Unable to add tag',
@@ -1170,8 +1167,8 @@ export default {
'Unable to unhide this tag': 'Unable to unhide this tag',
'Are you sure you want to delete this tag?': 'Are you sure you want to delete this tag?',
'Unable to delete this tag': 'Unable to delete this tag',
- 'Show Hidden Transaction Tag': 'Show Hidden Transaction Tag',
- 'Hide Hidden Transaction Tag': 'Hide Hidden Transaction Tag',
+ 'Show Hidden Transaction Tags': 'Show Hidden Transaction Tags',
+ 'Hide Hidden Transaction Tags': 'Hide Hidden Transaction Tags',
'Are you sure you want to logout from this session?': 'Are you sure you want to logout from this session?',
'Unable to logout from this session': 'Unable to logout from this session',
'Are you sure you want to logout all other sessions?': 'Are you sure you want to logout all other sessions?',
@@ -1180,16 +1177,16 @@ export default {
'Regenerate Backup Codes': 'Regenerate Backup Codes',
'Enable Two-Factor Authentication': 'Enable Two-Factor Authentication',
'Disable Two-Factor Authentication': 'Disable Two-Factor Authentication',
- 'Please use two factor authentication app scan the below qrcode and input current passcode': 'Please use two factor authentication app scan the below qrcode and input current passcode',
- 'Please enter your current password when disable two factor authentication': 'Please enter your current password when disable two factor authentication',
- 'Please enter your current password when regenerate two factor authentication backup codes. If you regenerate backup codes, the old codes will be invalidated.': 'Please enter your current password when regenerate two factor authentication backup codes. If you regenerate backup codes, the old codes will be invalidated.',
- 'Please enter your current password when disable two factor authentication or regenerate two factor authentication backup codes. If you regenerate backup codes, the old codes will be invalidated.': 'Please enter your current password when disable two factor authentication or regenerate two factor authentication backup codes. If you regenerate backup codes, the old codes will be invalidated.',
- 'Please copy these backup codes to safe place, the below codes can only be shown once. If these codes were lost, you can regenerate backup codes at any time.': 'Please copy these backup codes to safe place, the below codes can only be shown once. If these codes were lost, you can regenerate backup codes at any time.',
+ 'Please use a two-factor authentication app to scan the qrcode below and enter the current passcode.': 'Please use a two-factor authentication app to scan the qrcode below and enter the current passcode.',
+ 'Your current password is required to disable two-factor authentication.': 'Your current password is required to disable two-factor authentication.',
+ 'Your current password is required to regenerate backup codes for two-factor authentication. If you regenerate backup codes, the previous ones will become invalid.': 'Your current password is required to regenerate backup codes for two-factor authentication. If you regenerate backup codes, the previous ones will become invalid.',
+ 'Your current password is required to disable two-factor authentication or regenerate backup codes for two-factor authentication. If you regenerate backup codes, the previous ones will become invalid.': 'Your current password is required to disable two-factor authentication or regenerate backup codes for two-factor authentication. If you regenerate backup codes, the previous ones will become invalid.',
+ 'Please copy these backup codes to safe place, the following backup codes will be displayed only once. If these codes were lost, you can regenerate them at any time.': 'Please copy these backup codes to safe place, the following backup codes will be displayed only once. If these codes were lost, you can regenerate them at any time.',
'Backup codes copied': 'Backup codes copied',
- 'Two factor authentication has been disabled': 'Two factor authentication has been disabled',
- 'Unable to get current two factor authentication status': 'Unable to get current two factor authentication status',
- 'Unable to enable two factor authentication': 'Unable to enable two factor authentication',
- 'Unable to disable two factor authentication': 'Unable to disable two factor authentication',
+ 'Two-factor authentication has been disabled': 'Two-factor authentication has been disabled',
+ 'Unable to retrieve current two-factor authentication status': 'Unable to retrieve current two-factor authentication status',
+ 'Unable to enable two-factor authentication': 'Unable to enable two-factor authentication',
+ 'Unable to disable two-factor authentication': 'Unable to disable two-factor authentication',
'Lock Application': 'Lock Application',
'Log Out': 'Log Out',
'Are you sure you want to log out?': 'Are you sure you want to log out?',
@@ -1200,38 +1197,38 @@ export default {
'Enable Application Lock': 'Enable Application Lock',
'Disable Application Lock': 'Disable Application Lock',
'PIN Code': 'PIN Code',
- 'Unlock By PIN Code': 'Unlock By PIN Code',
- 'Unlock By WebAuthn': 'Unlock By WebAuthn',
- 'Please input a new 6-digit PIN code. PIN code would encrypt your local data, so you need input this PIN code when you launch this app. If this PIN code is lost, you should re-login.': 'Please input a new 6-digit PIN code. PIN code would encrypt your local data, so you need input this PIN code when you launch this app. If this PIN code is lost, you should re-login.',
- 'Please enter your current PIN code when disable application lock.': 'Please enter your current PIN code when disable application lock.',
+ 'Unlock with PIN Code': 'Unlock with PIN Code',
+ 'Unlock with WebAuthn': 'Unlock with WebAuthn',
+ 'Please enter a new 6-digit PIN code. The PIN code would encrypt your local data, so you need to enter it every time you open this app. If this PIN code is lost, you will need to log in again.': 'Please enter a new 6-digit PIN code. The PIN code would encrypt your local data, so you need to enter it every time you open this app. If this PIN code is lost, you will need to log in again.',
+ 'Your current PIN code is required to disable application lock.': 'Your current PIN code is required to disable application lock.',
'You have enabled WebAuthn successfully': 'You have enabled WebAuthn successfully',
- 'This device does not support WebAuthn': 'This device does not support WebAuthn',
+ 'WebAuth is not supported on this device': 'WebAuth is not supported on this device',
'Failed to enable WebAuthn': 'Failed to enable WebAuthn',
'User has canceled authentication': 'User has canceled authentication',
'User has canceled or this device does not support WebAuthn': 'User has canceled or this device does not support WebAuthn',
- 'Failed to authenticate by WebAuthn': 'Failed to authenticate by WebAuthn',
+ 'Failed to authenticate with WebAuthn': 'Failed to authenticate with WebAuthn',
'WebAuthn is not enabled': 'WebAuthn is not enabled',
'Are you sure you want to re-login?': 'Are you sure you want to re-login?',
'Exchange Rates Data': 'Exchange Rates Data',
'Base Currency': 'Base Currency',
'Base Amount': 'Base Amount',
- 'Set As Baseline': 'Set As Baseline',
+ 'Set as Base': 'Set as Base',
'Last Updated': 'Last Updated',
'Data source': 'Data source',
'No exchange rates data': 'No exchange rates data',
'There is no exchange rates data for your default currency': 'There is no exchange rates data for your default currency',
'Exchange rates data has been updated': 'Exchange rates data has been updated',
'Exchange rates data is up to date': 'Exchange rates data is up to date',
- 'Unable to get exchange rates data': 'Unable to get exchange rates data',
+ 'Unable to retrieve exchange rates data': 'Unable to retrieve exchange rates data',
'Use on Mobile Device': 'Use on Mobile Device',
- 'You can scan the below QR code on your mobile device.': 'You can scan the below QR code on your mobile device.',
+ 'You can scan the QR code below on your mobile device.': 'You can scan the QR code below on your mobile device.',
'Switch to Mobile Version': 'Switch to Mobile Version',
'Switch to Desktop Version': 'Switch to Desktop Version',
'About': 'About',
'Build Time': 'Build Time',
'Official Website': 'Official Website',
'License': 'License',
- 'An error has occurred': 'An error has occurred',
+ 'An error occurred': 'An error occurred',
'Parameter Invalid': 'Parameter Invalid',
'Numeric Overflow': 'Numeric Overflow',
};
diff --git a/src/locales/zh_Hans.js b/src/locales/zh_Hans.js
index 082d5a82..1e4322d8 100644
--- a/src/locales/zh_Hans.js
+++ b/src/locales/zh_Hans.js
@@ -595,8 +595,8 @@ export default {
'current token is invalid': '当前认证令牌无效',
'current token is expired': '当前认证令牌已过期',
'current token type is invalid': '当前认证令牌类型无效',
- 'current token requires two factor authorization': '当前认证令牌需要两步验证',
- 'current token does not require two factor authorization': '当前认证令牌不需要两步验证',
+ 'current token requires two-factor authorization': '当前认证令牌需要两步验证',
+ 'current token does not require two-factor authorization': '当前认证令牌不需要两步验证',
'token is invalid': '认证令牌无效',
'token id is invalid': '认证令牌ID无效',
'user token id is invalid': '用户认证令牌ID无效',
@@ -606,21 +606,21 @@ export default {
'email verify token is invalid or expired': '邮箱验证令牌无效或已过期',
'password reset token is invalid or expired': '密码重置令牌无效或已过期',
'passcode is invalid': '验证码无效',
- 'two factor backup code is invalid': '两步验证备用码无效',
- 'two factor is not enabled': '两步验证没有启用',
- 'two factor has already been enabled': '两步验证已经启用',
- 'two factor backup code does not exist': '两步验证备用码不存在',
+ 'two-factor backup code is invalid': '两步验证备用码无效',
+ 'two-factor is not enabled': '两步验证没有启用',
+ 'two-factor has already been enabled': '两步验证已经启用',
+ 'two-factor backup code does not exist': '两步验证备用码不存在',
'account id is invalid': '账户ID无效',
'account not found': '账户不存在',
'account type is invalid': '账户类型无效',
'account currency is invalid': '账户货币无效',
- 'account must have at least one sub account': '账户必须包含至少一个子账户',
- 'account cannot have sub accounts': '账户不能包含子账户',
+ 'account must have at least one sub-account': '账户必须包含至少一个子账户',
+ 'account cannot have sub-accounts': '账户不能包含子账户',
'parent account cannot set currency': '父账户不能设置货币',
'parent account cannot set balance': '父账户不能设置余额',
- 'sub account category not equals to parent': '子账户类别与父账户不同',
- 'sub account type invalid': '子账户类型无效',
- 'cannot add or delete sub accounts when modify account': '您不能在修改账户时添加或删除子账户',
+ 'sub-account category not equals to parent': '子账户类别与父账户不同',
+ 'sub-account type invalid': '子账户类型无效',
+ 'cannot add or delete sub-accounts when modify account': '您不能在修改账户时添加或删除子账户',
'source account not found': '来源账户不存在',
'destination account not found': '目标账户不存在',
'account is in use and cannot be deleted': '账户正在被使用,无法删除',
@@ -654,7 +654,7 @@ export default {
'transaction tag name already exists': '交易标签标题已经存在',
'transaction tag is in use and cannot be deleted': '交易标签正在被使用,无法删除',
'data export not allowed': '不允许用户数据导出',
- 'query items cannot be empty': '请求项目不能为空',
+ 'query items cannot be blank': '请求项目不能为空',
'query items too much': '请求项目过多',
'query items have invalid item': '请求项目中有非法项目',
'parameter invalid': '参数错误',
@@ -713,13 +713,13 @@ export default {
'Add': '添加',
'Apply': '应用',
'Save': '保存',
- 'Save changes': '保存修改',
+ 'Save Changes': '保存修改',
'Reset': '重置',
'Update': '更新',
'Refresh': '刷新',
'Clear': '清除',
'None': '无',
- 'Not Specified': '未指定',
+ 'Unspecified': '未指定',
'No results': '无结果',
'Unknown': '未知',
'Miscellaneous': '杂项',
@@ -760,7 +760,7 @@ export default {
'This year': '今年',
'Last year': '去年',
'Custom Date': '自定义日期',
- 'Begin Time': '开始时间',
+ 'Start Time': '开始时间',
'End Time': '结束时间',
'Select Date': '选择日期',
'Select Time': '选择时间',
@@ -768,7 +768,7 @@ export default {
'Custom': '自定义',
'Pie Chart': '饼图',
'Bar Chart': '条形图',
- 'Sort By': '排序方式',
+ 'Sort by': '排序方式',
'User': '用户',
'Application': '应用',
'Danger Zone': '危险区域',
@@ -787,16 +787,16 @@ export default {
'No data': '没有数据',
'Zoom in': '放大',
'Zoom out': '缩小',
- 'Drag and Drop to Change Order': '拖拽改变顺序',
+ 'Drag to Reorder': '拖拽改变顺序',
'Save Display Order': '保存显示顺序',
'Change Language': '修改语言',
'Date is too early': '日期过早',
'Welcome to ezBookkeeping': '欢迎使用 ezBookkeeping',
'Please log in with your ezBookkeeping account': '请使用您的 ezBookkeeping 账号登录',
'Unlock Application': '解锁应用',
- 'Please input your PIN code or use WebAuthn to unlock application': '请输入您的 PIN 码,或使用 WebAuthn 解锁应用',
- 'Please input your PIN code to unlock application': '请输入您的 PIN 码解锁应用',
- 'Can\'t Unlock?': '无法登录?',
+ 'Please enter your PIN code or use WebAuthn to unlock application': '请输入您的 PIN 码,或使用 WebAuthn 解锁应用',
+ 'Please enter your PIN code to unlock application': '请输入您的 PIN 码解锁应用',
+ 'Can\'t Unlock?': '无法解锁?',
'Re-login': '重新登录',
'Username': '用户名',
'Your username': '你的用户名',
@@ -804,7 +804,7 @@ export default {
'Password': '密码',
'Your password': '你的密码',
'Your password, at least 6 characters': '你的密码,至少6个字符',
- 'Confirmation Password': '确认密码',
+ 'Confirm Password': '确认密码',
'Re-enter the password': '再次输入密码',
'E-mail': '电子邮箱',
'Your email address': '你的电子邮箱地址',
@@ -817,7 +817,7 @@ export default {
'Short Date Format': '短日期格式',
'Long Time Format': '长时间格式',
'Short Time Format': '短时间格式',
- 'Editable Transaction Scope': '可编辑交易范围',
+ 'Editable Transaction Range': '可编辑交易范围',
'Today or later': '今天或更晚',
'Recent 24 hours or later': '最近24小时或更晚',
'This week or later': '本周或更晚',
@@ -825,55 +825,53 @@ export default {
'This year or later': '今年或更晚',
'Log In': '登录',
'Click here to log in': '点击这里登录',
- 'Back to log in': '返回登录页',
- 'Back to home': '返回首页',
+ 'Back to login page': '返回登录页',
+ 'Back to home page': '返回首页',
'Don\'t have an account?': '还没有账号?',
'Forget Password?': '忘记密码?',
'Create an account': '创建新账号',
- 'Username cannot be empty': '用户名不能为空',
- 'Password cannot be empty': '密码不能为空',
- 'Current password cannot be empty': '当前密码不能为空',
- 'New password cannot be empty': '新密码不能为空',
- 'Confirmation password cannot be empty': '确认密码不能为空',
- 'Password and confirmation password do not match': '密码和确认密码不匹配',
- 'Email address cannot be empty': '电子邮箱地址不能为空',
- 'Nickname cannot be empty': '昵称不能为空',
- 'Default currency cannot be empty': '默认货币不能为空',
- 'Unable to login': '无法登录',
+ 'Username cannot be blank': '用户名不能为空',
+ 'Password cannot be blank': '密码不能为空',
+ 'Current password cannot be blank': '当前密码不能为空',
+ 'New password cannot be blank': '新密码不能为空',
+ 'Password confirmation cannot be blank': '确认密码不能为空',
+ 'Password and password confirmation do not match': '密码和确认密码不匹配',
+ 'Email address cannot be blank': '电子邮箱地址不能为空',
+ 'Nickname cannot be blank': '昵称不能为空',
+ 'Default currency cannot be blank': '默认货币不能为空',
+ 'Unable to log in': '无法登录',
'Two-Factor Authentication': '两步验证',
'Two-factor authentication is not enabled yet.': '两步验证没有启用。',
- 'Two-factor authentication has been enabled.': '两步验证已经启用。',
- 'Disable two-factor authentication': '禁用两步验证',
- 'Enable two-factor authentication': '启用两步验证',
+ 'Two-factor authentication is already enabled.': '两步验证已经启用。',
'Passcode': '验证码',
'Backup Code': '备用码',
'Verify': '验证',
- 'Passcode cannot be empty': '验证码不能为空',
- 'Backup code cannot be empty': '备用码不能为空',
+ 'Passcode cannot be blank': '验证码不能为空',
+ 'Backup code cannot be blank': '备用码不能为空',
'Unable to verify': '无法验证',
- 'Use a backup code': '使用备用码',
- 'Use a passcode': '使用验证码',
- 'PIN code is invalid': 'PIN码无效',
- 'PIN code is wrong': 'PIN码错误',
+ 'Use Backup Code': '使用备用码',
+ 'Use Passcode': '使用验证码',
+ 'Invalid PIN code': 'PIN码无效',
+ 'Incorrect PIN code': 'PIN码错误',
'Verify your email': '验证您的邮箱',
'Verifying...': '正在验证...',
'Resend Validation Email': '重发验证邮件',
'Validation email has been sent': '验证邮件已发送',
'Unable to verify email': '无法验证邮箱',
- 'Unable to resend verify email': '无法重新发送验证邮件',
+ 'Unable to resend validation email': '无法重新发送验证邮件',
'Send Reset Link': '发送重置链接',
- 'Please input your email address used for registration and we\'ll send you an email with reset password link': '请输入您注册时使用的电子邮箱地址,我们将发送一封包含重置密码链接的邮件给您',
+ 'Please enter your email address used for registration and we\'ll send you an email with a reset password link': '请输入您注册时使用的电子邮箱地址,我们将发送一封包含重置密码链接的邮件给您',
'Password reset email has been sent': '重置密码邮件已发送',
'Unable to send password reset email': '无法发送重置密码邮件',
'Reset Password': '重置密码',
'Update Password': '更新密码',
- 'Please input your email address again, and input the new password.': '请再次输入您的邮箱,然后输入新的密码。',
+ 'Please re-enter your email address, and then enter a new password.': '请再次输入您的邮箱,然后输入新的密码。',
'Password has been updated': '密码已经更新',
'Unable to reset password': '无法重置密码',
'Sign Up': '注册',
'Overview': '总览',
'Asset Summary': '资产概要',
- 'Trend in Income and Expense': '收入与支出趋势',
+ 'Income and Expense Trends': '收入与支出趋势',
'View Details': '查看详情',
'Transaction List': '交易列表',
'Transaction Details': '交易详情',
@@ -883,7 +881,7 @@ export default {
'This Month': '本月',
'This Year': '今年',
'Monthly income': '当月收入',
- 'Unable to get transaction overview': '无法获取交易概要',
+ 'Unable to retrieve transaction overview': '无法获取交易概要',
'Data is up to date': '数据已是最新',
'Data has been updated': '数据已更新',
'Net assets': '净资产',
@@ -900,7 +898,7 @@ export default {
'Receivables': '应收款项',
'Investment Account': '投资账户',
'Balance': '余额',
- 'Unable to get account list': '无法获取账户列表',
+ 'Unable to retrieve account list': '无法获取账户列表',
'Account list is up to date': '账户列表已是最新',
'Account list has been updated': '账户列表已更新',
'All Accounts': '全部账户',
@@ -909,38 +907,38 @@ export default {
'Edit Account': '编辑账户',
'Account Category': '账户分类',
'Single Account': '单一账户',
- 'Multi Sub Accounts': '多个子账户',
+ 'Multiple Sub-accounts': '多个子账户',
'Account Type': '账户类型',
'Account Name': '账户名称',
'Your account name': '你的账户名称',
'Main Account': '主账户',
'Sub Account': '子账户',
- 'Sub Account Name': '子账户名称',
- 'Your sub account name': '你的子账户名称',
+ 'Sub-account Name': '子账户名称',
+ 'Your sub-account name': '你的子账户名称',
'Account Icon': '账户图标',
- 'Sub Account Icon': '子账户图标',
+ 'Sub-account Icon': '子账户图标',
'Account Color': '账户颜色',
- 'Sub Account Color': '子账户颜色',
+ 'Sub-account Color': '子账户颜色',
'Currency': '货币',
'Account Balance': '账户余额',
- 'Sub Account Balance': '子账户余额',
+ 'Sub-account Balance': '子账户余额',
'Description': '描述',
'Your account description (optional)': '你的账户描述 (可选)',
- 'Your sub account description (optional)': '你的子账户描述 (可选)',
- 'Add Sub Account': '添加子账户',
- 'Remove Sub Account': '删除子账户',
- 'Are you sure you want to remove this sub account?': '您确定要移除该子账户?',
- 'Account category cannot be empty': '账户分类不能为空',
- 'Account type cannot be empty': '账户类型不能为空',
- 'Account name cannot be empty': '账户名称不能为空',
- 'Account currency cannot be empty': '账户货币不能为空',
+ 'Your sub-account description (optional)': '你的子账户描述 (可选)',
+ 'Add Sub-account': '添加子账户',
+ 'Remove Sub-account': '删除子账户',
+ 'Are you sure you want to remove this sub-account?': '您确定要移除该子账户?',
+ 'Account category cannot be blank': '账户分类不能为空',
+ 'Account type cannot be blank': '账户类型不能为空',
+ 'Account name cannot be blank': '账户名称不能为空',
+ 'Account currency cannot be blank': '账户货币不能为空',
'You have added a new account': '您已经添加新账户',
'You have saved this account': '您已经保存该账户',
'Unable to add account': '无法添加账户',
'Unable to save account': '无法保存账户',
- 'Show Hidden Account': '显示隐藏的账户',
- 'Hide Hidden Account': '不显示隐藏的账户',
- 'Unable to get account': '无法获取账户',
+ 'Show Hidden Accounts': '显示隐藏的账户',
+ 'Hide Hidden Accounts': '不显示隐藏的账户',
+ 'Unable to retrieve account': '无法获取账户',
'Unable to hide this account': '无法隐藏账户',
'Unable to unhide this account': '无法取消隐藏账户',
'Unable to move account': '无法移动账户',
@@ -965,7 +963,7 @@ export default {
'Source Account': '来源账户',
'Destination Account': '目标账户',
'Transaction Time': '交易时间',
- 'Transaction Time Zone': '交易时区',
+ 'Transaction Timezone': '交易时区',
'Same time as default timezone': '与默认时区时间相同',
'Geographic Location': '地理位置',
'No Location': '没有位置',
@@ -974,20 +972,20 @@ export default {
'Location on Map': '地图上的位置',
'Update Geographic Location': '更新地理位置',
'Clear Geographic Location': '清除地理位置',
- 'Unable to get current position': '无法获取当前地理位置',
+ 'Unable to retrieve current position': '无法获取当前地理位置',
'Cannot Initialize Map': '无法初始化地图',
'Unsupported Map Provider': '不支持的地图提供方',
- 'Please refresh the page and try again. If the error is still displayed, make sure that server map settings are set correctly.': '请刷新页面并重试。如果仍然显示错误,请确保正确设置了服务器地图设置。',
+ 'Please refresh the page and try again. If the error persists, ensure that the server\'s map settings are correctly configured.': '请刷新页面并重试。如果仍然显示错误,请确保正确设置了服务器地图设置。',
'Tags': '标签',
'Your transaction description (optional)': '你的交易描述 (可选)',
- 'Are you sure you want to save this transaction whose amount is 0?': '您确定要保存这个金额为0的交易?',
- 'Unable to get transaction': '无法获取交易',
+ 'Are you sure you want to save this transaction with a zero amount?': '您确定要保存这个金额为0的交易?',
+ 'Unable to retrieve transaction': '无法获取交易',
'Unable to add transaction': '无法添加交易',
'Unable to save transaction': '无法保存交易',
'You have added a new transaction': '您已经添加新交易',
'You have saved this transaction': '您已经保存该交易',
'Search transaction description': '搜索交易描述',
- 'Unable to get transaction list': '无法获取交易列表',
+ 'Unable to retrieve transaction list': '无法获取交易列表',
'Custom Date Range': '自定义日期范围',
'Transaction Detail': '交易详情',
'No transaction data': '没有交易数据',
@@ -995,18 +993,16 @@ export default {
'Amount value is not number': '金额值不是数值',
'Amount value exceeds limitation': '金额数值超出限制',
'Unable to delete this transaction': '无法删除该交易',
- 'Unable to get transaction statistics': '无法获取交易统计数据',
+ 'Unable to retrieve transaction statistics': '无法获取交易统计数据',
'Categorical Analysis': '分类分析',
'Total Amount': '总金额',
'Total Assets': '总资产',
'Total Liabilities': '总负债',
'Total Expense': '总支出',
'Total Income': '总收入',
- 'Expense Chart': '支出图表',
'Expense By Account': '账户支出',
'Expense By Primary Category': '一级分类支出',
'Expense By Secondary Category': '二级分类支出',
- 'Income Chart': '收入图表',
'Income By Account': '账户收入',
'Income By Primary Category': '一级分类收入',
'Income By Secondary Category': '二级分类收入',
@@ -1021,7 +1017,8 @@ export default {
'Default Date Range': '默认时间范围',
'Default Account Filter': '默认账号过滤',
'Default Transaction Category Filter': '默认交易分类过滤',
- 'Default Sort By': '默认排序方式',
+ 'Sort Order': '排序方式',
+ 'Default Sort Order': '默认排序方式',
'Amount': '金额',
'Display Order': '显示顺序',
'Name': '名称',
@@ -1062,24 +1059,24 @@ export default {
'Use preset transaction categories': '使用预设交易分类',
'Use Preset Transaction Categories': '使用预设交易分类',
'Preset Categories': '预设分类',
- 'Set Whether You Use The Preset Transaction Categories': '设置是否使用预设交易分类',
+ 'Set whether to use preset transaction categories': '设置是否使用预设交易分类',
'Complete': '完成',
- 'Registration Complete': '注册完成',
+ 'Registration Completed': '注册完成',
'You have been successfully registered': '注册成功',
- 'You have been successfully registered, but something wrong with adding preset categories. You can re-add preset categories in settings page anytime.': '您已经注册成功,但是添加预设分类时出错。您可以随时在设置页面中重新添加预设分类。',
- 'You have been successfully registered. Account activation link has been sent to your email address, please activate your account first.': '您已经注册成功。账号激活链接已经发送到您的邮箱地址,请先激活您的账号。',
+ 'You have been successfully registered, but there was an failure when adding preset categories. You can re-add preset categories in settings page anytime.': '您已经注册成功,但是添加预设分类时出错。您可以随时在设置页面中重新添加预设分类。',
+ 'You have been successfully registered. An account activation link has been sent to your email address, please activate your account first.': '您已经注册成功。账号激活链接已经发送到您的邮箱地址,请先激活您的账号。',
'Unable to sign up': '无法注册',
'User registration is disabled': '用户注册已禁用',
- 'Unable to get user profile': '无法获取用户信息',
+ 'Unable to retrieve user profile': '无法获取用户信息',
'Basic': '基本',
'Security': '安全',
'Basic Settings': '基本设置',
'Security Settings': '安全设置',
'Two-Factor Authentication Settings': '两步验证设置',
'(Verified)': '(已验证)',
- '(Unverified)': '(未验证)',
- 'Email has been verified': '邮箱地址已验证',
- 'Email has not been verified': '邮箱地址未验证',
+ '(Not Verified)': '(未验证)',
+ 'Email address is verified': '邮箱地址已验证',
+ 'Email address is not verified': '邮箱地址未验证',
'Username:': '用户名:',
'Current Password': '当前密码',
'New Password': '新密码',
@@ -1088,9 +1085,9 @@ export default {
'Nothing has been modified': '没有修改的项目',
'Your profile has been successfully updated': '您的用户信息更新成功',
'Unable to update user profile': '无法更新用户信息',
- 'After the password is changed, other devices will be logged out, please log in again on other devices by using the new password.': '密码修改后,其他设备将会退出登录,请使用新密码在其他设备上重新登录。',
+ 'After changing the password, other devices will be logged out. Please use the new password to log in on other devices.': '密码修改后,其他设备将会退出登录,请使用新密码在其他设备上重新登录。',
'Data Management': '数据管理',
- 'Unable to get user statistics data': '无法获取用户统计数据',
+ 'Unable to retrieve user statistics data': '无法获取用户统计数据',
'Export Data': '导出数据',
'CSV (Comma-separated values) File': 'CSV (逗号分隔的值) 文件',
'TSV (Tab-separated values) File': 'TSV (制表符分隔的值) 文件',
@@ -1098,17 +1095,17 @@ export default {
'Export all transaction data to file.': '导出所有交易数据到文件。',
'Are you sure you want to export all transaction data to file?': '您确定要导出所有交易数据到文件?',
'It may take a long time, please wait for a few minutes.': '这可能花费一些时间,请稍等几分钟。',
- 'Unable to get exported user data': '无法获取导出的用户数据',
+ 'Unable to retrieve exported user data': '无法获取导出的用户数据',
'Save Data': '保存数据',
'Are you sure you want to clear all data?': '您确定要清除所有数据?',
- 'You CANNOT undo this action. This will clear your accounts, categories, tags and transactions data. Please input your current password to confirm.': '您不能撤销该操作。该操作将会清除您的账户、分类、标签以及交易数据。请输入您当前的密码以确认。',
+ 'You CANNOT undo this action. This will clear your accounts, categories, tags and transactions data. Please enter your current password to confirm.': '您不能撤销该操作。该操作将会清除您的账户、分类、标签以及交易数据。请输入您当前的密码以确认。',
'All user data has been cleared': '用户所有数据已经清空',
'Unable to clear user data': '无法清除用户数据',
'Device & Sessions': '设备和会话',
'Device Info': '设备信息',
'Last Activity Time': '最后活跃时间',
'Logout All': '注销全部',
- 'Unable to get session list': '无法获取会话列表',
+ 'Unable to retrieve session list': '无法获取会话列表',
'Session list is up to date': '会话列表已是最新',
'Session list has been updated': '会话列表已更新',
'Current': '当前',
@@ -1131,7 +1128,7 @@ export default {
'No available category': '没有可用的分类',
'Add Default Categories': '添加默认分类',
'Default Categories': '默认分类',
- 'Unable to get category list': '无法获取分类列表',
+ 'Unable to retrieve category list': '无法获取分类列表',
'Category list is up to date': '分类列表已是最新',
'Category list has been updated': '分类列表已更新',
'Unable to move category': '无法移动分类',
@@ -1147,20 +1144,20 @@ export default {
'Category Icon': '分类图标',
'Category Color': '分类颜色',
'Your category description (optional)': '你的分类描述 (可选)',
- 'Category name cannot be empty': '分类名称不能为空',
- 'Unable to get category': '无法获取分类',
+ 'Category name cannot be blank': '分类名称不能为空',
+ 'Unable to retrieve category': '无法获取分类',
'Unable to add category': '无法添加分类',
'Unable to save category': '无法保存分类',
'Unable to add preset categories': '无法添加预设分类',
'You have added a new category': '您已经添加新分类',
'You have added preset categories': '您已经添加预设分类',
'You have saved this category': '您已经保存该分类',
- 'Show Hidden Transaction Category': '显示隐藏的交易分类',
- 'Hide Hidden Transaction Category': '不显示隐藏的交易分类',
+ 'Show Hidden Transaction Categories': '显示隐藏的交易分类',
+ 'Hide Hidden Transaction Categories': '不显示隐藏的交易分类',
'Transaction Tags': '交易标签',
'Tag Title': '标签标题',
'No available tag': '没有可用的标签',
- 'Unable to get tag list': '无法获取标签列表',
+ 'Unable to retrieve tag list': '无法获取标签列表',
'Tag list is up to date': '标签列表已是最新',
'Tag list has been updated': '标签列表已更新',
'Unable to add tag': '无法添加标签',
@@ -1170,8 +1167,8 @@ export default {
'Unable to unhide this tag': '无法取消隐藏该标签',
'Are you sure you want to delete this tag?': '您确定要删除该标签?',
'Unable to delete this tag': '无法删除该标签',
- 'Show Hidden Transaction Tag': '显示隐藏的交易标签',
- 'Hide Hidden Transaction Tag': '不显示隐藏的交易标签',
+ 'Show Hidden Transaction Tags': '显示隐藏的交易标签',
+ 'Hide Hidden Transaction Tags': '不显示隐藏的交易标签',
'Are you sure you want to logout from this session?': '您确定要退出该会话?',
'Unable to logout from this session': '无法退出该会话',
'Are you sure you want to logout all other sessions?': '您确定要退出其他所有会话?',
@@ -1180,16 +1177,16 @@ export default {
'Regenerate Backup Codes': '重新生成备用码',
'Enable Two-Factor Authentication': '启用两步验证',
'Disable Two-Factor Authentication': '禁用两步验证',
- 'Please use two factor authentication app scan the below qrcode and input current passcode': '请使用两步验证应用扫描下方的二维码并输入当前的验证码',
- 'Please enter your current password when disable two factor authentication': '禁用两步验证时需要输入您的当前密码',
- 'Please enter your current password when regenerate two factor authentication backup codes. If you regenerate backup codes, the old codes will be invalidated.': '重新生成两步验证备用码时需要输入您的当前密码。如果您重新生成备用码,之前的备用码将失效。',
- 'Please enter your current password when disable two factor authentication or regenerate two factor authentication backup codes. If you regenerate backup codes, the old codes will be invalidated.': '禁用两步验证或重新生成两步验证备用码时需要输入您的当前密码。如果您重新生成备用码,之前的备用码将失效。',
- 'Please copy these backup codes to safe place, the below codes can only be shown once. If these codes were lost, you can regenerate backup codes at any time.': '请将备用码复制到安全的地方,下列备用码只会展示一次。如果这些备用码丢失,您可以随时重新生成备用码。',
+ 'Please use a two-factor authentication app to scan the qrcode below and enter the current passcode.': '请使用两步验证应用扫描下方的二维码并输入当前的验证码。',
+ 'Your current password is required to disable two-factor authentication.': '禁用两步验证时需要输入您的当前密码。',
+ 'Your current password is required to regenerate backup codes for two-factor authentication. If you regenerate backup codes, the previous ones will become invalid.': '重新生成两步验证备用码时需要输入您的当前密码。如果您重新生成备用码,之前的备用码将失效。',
+ 'Your current password is required to disable two-factor authentication or regenerate backup codes for two-factor authentication. If you regenerate backup codes, the previous ones will become invalid.': '禁用两步验证或重新生成两步验证备用码时需要输入您的当前密码。如果您重新生成备用码,之前的备用码将失效。',
+ 'Please copy these backup codes to safe place, the following backup codes will be displayed only once. If these codes were lost, you can regenerate them at any time.': '请将备用码复制到安全的地方,下列备用码只会展示一次。如果这些备用码丢失,您可以随时重新生成。',
'Backup codes copied': '备用码已复制',
- 'Two factor authentication has been disabled': '两步验证已经禁用',
- 'Unable to get current two factor authentication status': '无法获取当前两步验证状态',
- 'Unable to enable two factor authentication': '无法启用两步验证',
- 'Unable to disable two factor authentication': '无法禁用两步验证',
+ 'Two-factor authentication has been disabled': '两步验证已经禁用',
+ 'Unable to retrieve current two-factor authentication status': '无法获取当前两步验证状态',
+ 'Unable to enable two-factor authentication': '无法启用两步验证',
+ 'Unable to disable two-factor authentication': '无法禁用两步验证',
'Lock Application': '锁定应用',
'Log Out': '退出登录',
'Are you sure you want to log out?': '您确定要退出登录?',
@@ -1200,38 +1197,38 @@ export default {
'Enable Application Lock': '启用应用锁',
'Disable Application Lock': '禁用应用锁',
'PIN Code': 'PIN码',
- 'Unlock By PIN Code': '使用PIN码解锁',
- 'Unlock By WebAuthn': '使用WebAuthn解锁',
- 'Please input a new 6-digit PIN code. PIN code would encrypt your local data, so you need input this PIN code when you launch this app. If this PIN code is lost, you should re-login.': '请输入一个新的6位数字PIN码,PIN码会加密你的本地数据,所以您每次打开应用时都需要输入PIN码。如果您忘记了PIN码,您需要重新登录。',
- 'Please enter your current PIN code when disable application lock.': '禁用应用锁时需要输入当前的PIN码。',
+ 'Unlock with PIN Code': '使用PIN码解锁',
+ 'Unlock with WebAuthn': '使用WebAuthn解锁',
+ 'Please enter a new 6-digit PIN code. The PIN code would encrypt your local data, so you need to enter it every time you open this app. If this PIN code is lost, you will need to log in again.': '请输入一个新的6位数字PIN码,PIN码会加密你的本地数据,所以您每次打开应用时都需要输入PIN码。如果您忘记了PIN码,您需要重新登录。',
+ 'Your current PIN code is required to disable application lock.': '禁用应用锁时需要输入当前的PIN码。',
'You have enabled WebAuthn successfully': '您已经成功开启 WebAuth',
- 'This device does not support WebAuthn': '当前设备不支持 WebAuth',
+ 'WebAuth is not supported on this device': '当前设备不支持 WebAuth',
'Failed to enable WebAuthn': '启用 WebAuthn 失败',
'User has canceled authentication': '用户已经取消认证',
'User has canceled or this device does not support WebAuthn': '用户已取消或当前设备不支持 WebAuthn',
- 'Failed to authenticate by WebAuthn': '使用 WebAuthn 认证失败',
+ 'Failed to authenticate with WebAuthn': '使用 WebAuthn 认证失败',
'WebAuthn is not enabled': 'WebAuthn 没有启用',
'Are you sure you want to re-login?': '您确定要重新登录?',
'Exchange Rates Data': '汇率数据',
'Base Currency': '基准货币',
'Base Amount': '基准金额',
- 'Set As Baseline': '设置为基准',
+ 'Set as Base': '设置为基准',
'Last Updated': '最后更新',
'Data source': '数据来源',
'No exchange rates data': '没有汇率数据',
'There is no exchange rates data for your default currency': '没有您默认货币的汇率数据',
'Exchange rates data has been updated': '汇率数据已更新',
'Exchange rates data is up to date': '汇率数据已是最新',
- 'Unable to get exchange rates data': '无法获取汇率数据',
+ 'Unable to retrieve exchange rates data': '无法获取汇率数据',
'Use on Mobile Device': '在移动设备使用',
- 'You can scan the below QR code on your mobile device.': '您可以在您的移动设备上扫描下方二维码。',
+ 'You can scan the QR code below on your mobile device.': '您可以在您的移动设备上扫描下方二维码。',
'Switch to Mobile Version': '切换到移动版',
'Switch to Desktop Version': '切换到桌面版',
'About': '关于',
'Build Time': '编译时间',
'Official Website': '官方网站',
'License': '许可协议',
- 'An error has occurred': '发生错误',
+ 'An error occurred': '发生错误',
'Parameter Invalid': '参数错误',
'Numeric Overflow': '数值溢出',
};
diff --git a/src/stores/account.js b/src/stores/account.js
index 0414dd61..70f598ca 100644
--- a/src/stores/account.js
+++ b/src/stores/account.js
@@ -677,7 +677,7 @@ export const useAccountsStore = defineStore('accounts', {
const data = response.data;
if (!data || !data.success || !data.result) {
- reject({ message: 'Unable to get account list' });
+ reject({ message: 'Unable to retrieve account list' });
return;
}
@@ -703,7 +703,7 @@ export const useAccountsStore = defineStore('accounts', {
if (error.response && error.response.data && error.response.data.errorMessage) {
reject({ error: error.response.data });
} else if (!error.processed) {
- reject({ message: 'Unable to get account list' });
+ reject({ message: 'Unable to retrieve account list' });
} else {
reject(error);
}
@@ -718,7 +718,7 @@ export const useAccountsStore = defineStore('accounts', {
const data = response.data;
if (!data || !data.success || !data.result) {
- reject({ message: 'Unable to get account' });
+ reject({ message: 'Unable to retrieve account' });
return;
}
@@ -729,7 +729,7 @@ export const useAccountsStore = defineStore('accounts', {
if (error.response && error.response.data && error.response.data.errorMessage) {
reject({ error: error.response.data });
} else if (!error.processed) {
- reject({ message: 'Unable to get account' });
+ reject({ message: 'Unable to retrieve account' });
} else {
reject(error);
}
diff --git a/src/stores/exchangeRates.js b/src/stores/exchangeRates.js
index d7fdc3cc..265c703b 100644
--- a/src/stores/exchangeRates.js
+++ b/src/stores/exchangeRates.js
@@ -75,7 +75,7 @@ export const useExchangeRatesStore = defineStore('exchangeRates', {
const data = response.data;
if (!data || !data.success || !data.result) {
- reject({ message: 'Unable to get exchange rates data' });
+ reject({ message: 'Unable to retrieve exchange rates data' });
return;
}
@@ -94,14 +94,14 @@ export const useExchangeRatesStore = defineStore('exchangeRates', {
resolve(data.result);
}).catch(error => {
- logger.error('failed to get latest exchange rates data', error);
+ logger.error('failed to retrieve latest exchange rates data', error);
if (error && error.processed) {
reject(error);
} else if (error.response && error.response.data && error.response.data.errorMessage) {
reject({ error: error.response.data });
} else {
- reject({ message: 'Unable to get exchange rates data' });
+ reject({ message: 'Unable to retrieve exchange rates data' });
}
});
});
diff --git a/src/stores/index.js b/src/stores/index.js
index 2676f7e7..6bcea117 100644
--- a/src/stores/index.js
+++ b/src/stores/index.js
@@ -57,7 +57,7 @@ export const useRootStore = defineStore('root', {
const data = response.data;
if (!data || !data.success || !data.result || !data.result.token) {
- reject({ message: 'Unable to login' });
+ reject({ message: 'Unable to log in' });
return;
}
@@ -93,7 +93,7 @@ export const useRootStore = defineStore('root', {
} else if (error.response && error.response.data && error.response.data.errorMessage) {
reject({ error: error.response.data });
} else {
- reject({ message: 'Unable to login' });
+ reject({ message: 'Unable to log in' });
}
});
});
@@ -115,7 +115,7 @@ export const useRootStore = defineStore('root', {
token: token
});
} else {
- reject({ message: 'An error has occurred' });
+ reject({ message: 'An error occurred' });
return;
}
@@ -293,7 +293,7 @@ export const useRootStore = defineStore('root', {
const data = response.data;
if (!data || !data.success || !data.result) {
- reject({ message: 'Unable to resend verify email' });
+ reject({ message: 'Unable to resend validation email' });
return;
}
@@ -306,7 +306,7 @@ export const useRootStore = defineStore('root', {
} else if (error.response && error.response.data && error.response.data.errorMessage) {
reject({ error: error.response.data });
} else {
- reject({ message: 'Unable to resend verify email' });
+ reject({ message: 'Unable to resend validation email' });
}
});
});
@@ -433,7 +433,7 @@ export const useRootStore = defineStore('root', {
const data = response.data;
if (!data || !data.success || !data.result) {
- reject({ message: 'Unable to resend verify email' });
+ reject({ message: 'Unable to resend validation email' });
return;
}
@@ -446,7 +446,7 @@ export const useRootStore = defineStore('root', {
} else if (error.response && error.response.data && error.response.data.errorMessage) {
reject({ error: error.response.data });
} else {
- reject({ message: 'Unable to resend verify email' });
+ reject({ message: 'Unable to resend validation email' });
}
});
});
diff --git a/src/stores/overview.js b/src/stores/overview.js
index 142fd9bf..9d4e186d 100644
--- a/src/stores/overview.js
+++ b/src/stores/overview.js
@@ -264,7 +264,7 @@ export const useOverviewStore = defineStore('overview', {
const data = response.data;
if (!data || !data.success || !data.result) {
- reject({ message: 'Unable to get transaction overview' });
+ reject({ message: 'Unable to retrieve transaction overview' });
return;
}
@@ -291,7 +291,7 @@ export const useOverviewStore = defineStore('overview', {
if (error.response && error.response.data && error.response.data.errorMessage) {
reject({ error: error.response.data });
} else if (!error.processed) {
- reject({ message: 'Unable to get transaction overview' });
+ reject({ message: 'Unable to retrieve transaction overview' });
} else {
reject(error);
}
diff --git a/src/stores/statistics.js b/src/stores/statistics.js
index a9c7a715..b33f6bce 100644
--- a/src/stores/statistics.js
+++ b/src/stores/statistics.js
@@ -589,7 +589,7 @@ export const useStatisticsStore = defineStore('statistics', {
const data = response.data;
if (!data || !data.success || !data.result) {
- reject({ message: 'Unable to get transaction statistics' });
+ reject({ message: 'Unable to retrieve transaction statistics' });
return;
}
@@ -606,12 +606,12 @@ export const useStatisticsStore = defineStore('statistics', {
resolve(data.result);
}).catch(error => {
- logger.error('failed to get transaction statistics', error);
+ logger.error('failed to retrieve transaction statistics', error);
if (error.response && error.response.data && error.response.data.errorMessage) {
reject({ error: error.response.data });
} else if (!error.processed) {
- reject({ message: 'Unable to get transaction statistics' });
+ reject({ message: 'Unable to retrieve transaction statistics' });
} else {
reject(error);
}
diff --git a/src/stores/token.js b/src/stores/token.js
index ef9765cf..1101376b 100644
--- a/src/stores/token.js
+++ b/src/stores/token.js
@@ -15,7 +15,7 @@ export const useTokensStore = defineStore('tokens', {
const data = response.data;
if (!data || !data.success || !data.result) {
- reject({ message: 'Unable to get session list' });
+ reject({ message: 'Unable to retrieve session list' });
return;
}
@@ -26,7 +26,7 @@ export const useTokensStore = defineStore('tokens', {
if (error.response && error.response.data && error.response.data.errorMessage) {
reject({ error: error.response.data });
} else if (!error.processed) {
- reject({ message: 'Unable to get session list' });
+ reject({ message: 'Unable to retrieve session list' });
} else {
reject(error);
}
diff --git a/src/stores/transaction.js b/src/stores/transaction.js
index bd6aba6f..5b55a787 100644
--- a/src/stores/transaction.js
+++ b/src/stores/transaction.js
@@ -515,7 +515,7 @@ export const useTransactionsStore = defineStore('transactions', {
}
}
- reject({ message: 'Unable to get transaction list' });
+ reject({ message: 'Unable to retrieve transaction list' });
return;
}
@@ -552,7 +552,7 @@ export const useTransactionsStore = defineStore('transactions', {
if (error.response && error.response.data && error.response.data.errorMessage) {
reject({ error: error.response.data });
} else if (!error.processed) {
- reject({ message: 'Unable to get transaction list' });
+ reject({ message: 'Unable to retrieve transaction list' });
} else {
reject(error);
}
@@ -587,7 +587,7 @@ export const useTransactionsStore = defineStore('transactions', {
self.updateTransactionListInvalidState(true);
}
- reject({ message: 'Unable to get transaction list' });
+ reject({ message: 'Unable to retrieve transaction list' });
return;
}
@@ -620,7 +620,7 @@ export const useTransactionsStore = defineStore('transactions', {
if (error.response && error.response.data && error.response.data.errorMessage) {
reject({ error: error.response.data });
} else if (!error.processed) {
- reject({ message: 'Unable to get transaction list' });
+ reject({ message: 'Unable to retrieve transaction list' });
} else {
reject(error);
}
@@ -635,7 +635,7 @@ export const useTransactionsStore = defineStore('transactions', {
const data = response.data;
if (!data || !data.success || !data.result) {
- reject({ message: 'Unable to get transaction' });
+ reject({ message: 'Unable to retrieve transaction' });
return;
}
@@ -646,7 +646,7 @@ export const useTransactionsStore = defineStore('transactions', {
if (error.response && error.response.data && error.response.data.errorMessage) {
reject({ error: error.response.data });
} else if (!error.processed) {
- reject({ message: 'Unable to get transaction' });
+ reject({ message: 'Unable to retrieve transaction' });
} else {
reject(error);
}
@@ -681,7 +681,7 @@ export const useTransactionsStore = defineStore('transactions', {
submitTransaction.destinationAccountId = transaction.destinationAccountId;
submitTransaction.destinationAmount = transaction.destinationAmount;
} else {
- return Promise.reject('An error has occurred');
+ return Promise.reject('An error occurred');
}
if (isEdit) {
diff --git a/src/stores/transactionCategory.js b/src/stores/transactionCategory.js
index c2cb281b..370f70f7 100644
--- a/src/stores/transactionCategory.js
+++ b/src/stores/transactionCategory.js
@@ -161,7 +161,7 @@ export const useTransactionCategoriesStore = defineStore('transactionCategories'
const data = response.data;
if (!data || !data.success || !data.result) {
- reject({ message: 'Unable to get category list' });
+ reject({ message: 'Unable to retrieve category list' });
return;
}
@@ -215,7 +215,7 @@ export const useTransactionCategoriesStore = defineStore('transactionCategories'
if (error.response && error.response.data && error.response.data.errorMessage) {
reject({ error: error.response.data });
} else if (!error.processed) {
- reject({ message: 'Unable to get category list' });
+ reject({ message: 'Unable to retrieve category list' });
} else {
reject(error);
}
@@ -230,7 +230,7 @@ export const useTransactionCategoriesStore = defineStore('transactionCategories'
const data = response.data;
if (!data || !data.success || !data.result) {
- reject({ message: 'Unable to get category' });
+ reject({ message: 'Unable to retrieve category' });
return;
}
@@ -241,7 +241,7 @@ export const useTransactionCategoriesStore = defineStore('transactionCategories'
if (error.response && error.response.data && error.response.data.errorMessage) {
reject({ error: error.response.data });
} else if (!error.processed) {
- reject({ message: 'Unable to get category' });
+ reject({ message: 'Unable to retrieve category' });
} else {
reject(error);
}
diff --git a/src/stores/transactionTag.js b/src/stores/transactionTag.js
index 28a4db5c..3d2503c3 100644
--- a/src/stores/transactionTag.js
+++ b/src/stores/transactionTag.js
@@ -103,7 +103,7 @@ export const useTransactionTagsStore = defineStore('transactionTags', {
const data = response.data;
if (!data || !data.success || !data.result) {
- reject({ message: 'Unable to get tag list' });
+ reject({ message: 'Unable to retrieve tag list' });
return;
}
@@ -129,7 +129,7 @@ export const useTransactionTagsStore = defineStore('transactionTags', {
if (error.response && error.response.data && error.response.data.errorMessage) {
reject({ error: error.response.data });
} else if (!error.processed) {
- reject({ message: 'Unable to get tag list' });
+ reject({ message: 'Unable to retrieve tag list' });
} else {
reject(error);
}
diff --git a/src/stores/twoFactorAuth.js b/src/stores/twoFactorAuth.js
index d5d23b95..ff406a0a 100644
--- a/src/stores/twoFactorAuth.js
+++ b/src/stores/twoFactorAuth.js
@@ -13,18 +13,18 @@ export const useTwoFactorAuthStore = defineStore('twoFactorAuth', {
const data = response.data;
if (!data || !data.success || !data.result || !isBoolean(data.result.enable)) {
- reject({ message: 'Unable to get current two factor authentication status' });
+ reject({ message: 'Unable to retrieve current two-factor authentication status' });
return;
}
resolve(data.result);
}).catch(error => {
- logger.error('failed to get 2fa status', error);
+ logger.error('failed to retrieve 2fa status', error);
if (error.response && error.response.data && error.response.data.errorMessage) {
reject({ error: error.response.data });
} else if (!error.processed) {
- reject({ message: 'Unable to get current two factor authentication status' });
+ reject({ message: 'Unable to retrieve current two-factor authentication status' });
} else {
reject(error);
}
@@ -37,7 +37,7 @@ export const useTwoFactorAuthStore = defineStore('twoFactorAuth', {
const data = response.data;
if (!data || !data.success || !data.result || !data.result.qrcode || !data.result.secret) {
- reject({ message: 'Unable to enable two factor authentication' });
+ reject({ message: 'Unable to enable two-factor authentication' });
return;
}
@@ -48,7 +48,7 @@ export const useTwoFactorAuthStore = defineStore('twoFactorAuth', {
if (error.response && error.response.data && error.response.data.errorMessage) {
reject({ error: error.response.data });
} else if (!error.processed) {
- reject({ message: 'Unable to enable two factor authentication' });
+ reject({ message: 'Unable to enable two-factor authentication' });
} else {
reject(error);
}
@@ -64,7 +64,7 @@ export const useTwoFactorAuthStore = defineStore('twoFactorAuth', {
const data = response.data;
if (!data || !data.success || !data.result || !data.result.token) {
- reject({ message: 'Unable to enable two factor authentication' });
+ reject({ message: 'Unable to enable two-factor authentication' });
return;
}
@@ -79,7 +79,7 @@ export const useTwoFactorAuthStore = defineStore('twoFactorAuth', {
if (error.response && error.response.data && error.response.data.errorMessage) {
reject({ error: error.response.data });
} else if (!error.processed) {
- reject({ message: 'Unable to enable two factor authentication' });
+ reject({ message: 'Unable to enable two-factor authentication' });
} else {
reject(error);
}
@@ -94,7 +94,7 @@ export const useTwoFactorAuthStore = defineStore('twoFactorAuth', {
const data = response.data;
if (!data || !data.success || !data.result) {
- reject({ message: 'Unable to disable two factor authentication' });
+ reject({ message: 'Unable to disable two-factor authentication' });
return;
}
@@ -105,7 +105,7 @@ export const useTwoFactorAuthStore = defineStore('twoFactorAuth', {
if (error.response && error.response.data && error.response.data.errorMessage) {
reject({ error: error.response.data });
} else if (!error.processed) {
- reject({ message: 'Unable to disable two factor authentication' });
+ reject({ message: 'Unable to disable two-factor authentication' });
} else {
reject(error);
}
@@ -120,7 +120,7 @@ export const useTwoFactorAuthStore = defineStore('twoFactorAuth', {
const data = response.data;
if (!data || !data.success || !data.result || !data.result.recoveryCodes || !data.result.recoveryCodes.length) {
- reject({ message: 'Unable to regenerate two factor authentication backup codes' });
+ reject({ message: 'Unable to regenerate two-factor authentication backup codes' });
return;
}
@@ -131,7 +131,7 @@ export const useTwoFactorAuthStore = defineStore('twoFactorAuth', {
if (error.response && error.response.data && error.response.data.errorMessage) {
reject({ error: error.response.data });
} else if (!error.processed) {
- reject({ message: 'Unable to regenerate two factor authentication backup codes' });
+ reject({ message: 'Unable to regenerate two-factor authentication backup codes' });
} else {
reject(error);
}
diff --git a/src/stores/user.js b/src/stores/user.js
index 6ae0c4d0..995c0728 100644
--- a/src/stores/user.js
+++ b/src/stores/user.js
@@ -89,18 +89,18 @@ export const useUserStore = defineStore('user', {
const data = response.data;
if (!data || !data.success || !data.result) {
- reject({ message: 'Unable to get user profile' });
+ reject({ message: 'Unable to retrieve user profile' });
return;
}
resolve(data.result);
}).catch(error => {
- logger.error('failed to get user profile', error);
+ logger.error('failed to retrieve user profile', error);
if (error.response && error.response.data && error.response.data.errorMessage) {
reject({ error: error.response.data });
} else if (!error.processed) {
- reject({ message: 'Unable to get user profile' });
+ reject({ message: 'Unable to retrieve user profile' });
} else {
reject(error);
}
@@ -113,18 +113,18 @@ export const useUserStore = defineStore('user', {
const data = response.data;
if (!data || !data.success || !data.result) {
- reject({ message: 'Unable to get user statistics data' });
+ reject({ message: 'Unable to retrieve user statistics data' });
return;
}
resolve(data.result);
}).catch(error => {
- logger.error('failed to get user statistics data', error);
+ logger.error('failed to retrieve user statistics data', error);
if (error.response && error.response.data && error.response.data.errorMessage) {
reject({ error: error.response.data });
} else if (!error.processed) {
- reject({ message: 'Unable to get user statistics data' });
+ reject({ message: 'Unable to retrieve user statistics data' });
} else {
reject(error);
}
@@ -136,10 +136,10 @@ export const useUserStore = defineStore('user', {
services.getExportedUserData(fileType).then(response => {
if (response && response.headers) {
if (fileType === 'csv' && response.headers['content-type'] !== 'text/csv') {
- reject({ message: 'Unable to get exported user data' });
+ reject({ message: 'Unable to retrieve exported user data' });
return;
} else if (fileType === 'tsv' && response.headers['content-type'] !== 'text/tab-separated-values') {
- reject({ message: 'Unable to get exported user data' });
+ reject({ message: 'Unable to retrieve exported user data' });
return;
}
}
@@ -147,12 +147,12 @@ export const useUserStore = defineStore('user', {
const blob = new Blob([response.data], { type: response.headers['content-type'] });
resolve(blob);
}).catch(error => {
- logger.error('failed to get user statistics data', error);
+ logger.error('failed to retrieve user statistics data', error);
if (error.response && error.response.headers['content-type'] === 'text/text' && error.response && error.response.data) {
reject({ message: 'error.' + error.response.data });
} else if (!error.processed) {
- reject({ message: 'Unable to get exported user data' });
+ reject({ message: 'Unable to retrieve exported user data' });
} else {
reject(error);
}
diff --git a/src/views/desktop/ExchangeRatesPage.vue b/src/views/desktop/ExchangeRatesPage.vue
index c13d3279..5bf103b3 100644
--- a/src/views/desktop/ExchangeRatesPage.vue
+++ b/src/views/desktop/ExchangeRatesPage.vue
@@ -112,7 +112,7 @@
:class="{ 'd-none': loading, 'hover-display': !loading }"
v-if="exchangeRate.currencyCode !== baseCurrency"
@click="setAsBaseline(exchangeRate.currencyCode, getConvertedAmount(exchangeRate))">
- {{ $t('Set As Baseline') }}
+ {{ $t('Set as Base') }}
{{ getDisplayConvertedAmount(exchangeRate, isEnableThousandsSeparator) }}
diff --git a/src/views/desktop/ForgetPasswordPage.vue b/src/views/desktop/ForgetPasswordPage.vue
index 81d29cb9..f7295842 100644
--- a/src/views/desktop/ForgetPasswordPage.vue
+++ b/src/views/desktop/ForgetPasswordPage.vue
@@ -23,7 +23,7 @@