Clean up translations and strings in import routine.

This commit is contained in:
James Cole 2018-04-29 19:28:07 +02:00
parent d2bb65bf04
commit fa41d6df04
No known key found for this signature in database
GPG Key ID: C16961E655E74B5E
7 changed files with 205 additions and 184 deletions

View File

@ -162,7 +162,7 @@ class IndexController extends Controller
$providers[$name]['prereq_complete'] = $result;
}
$subTitle = trans('firefly.import_index_sub_title');
$subTitle = trans('import.index_breadcrumb');
$subTitleIcon = 'fa-home';
return view('import.index', compact('subTitle', 'subTitleIcon', 'providers'));

View File

@ -1,6 +1,6 @@
<?php
/**
* ConfigurationController.php
* JobConfigurationController.php
* Copyright (c) 2017 thegrumpydictator@gmail.com
*
* This file is part of Firefly III.
@ -32,9 +32,9 @@ use Illuminate\Http\Request;
use Log;
/**
* Class ConfigurationController
* Class JobConfigurationController
*/
class ConfigurationController extends Controller
class JobConfigurationController extends Controller
{
/** @var ImportJobRepositoryInterface */
public $repository;

View File

@ -52,6 +52,8 @@ class PrerequisitesController extends Controller
app('view')->share('mainTitleIcon', 'fa-archive');
app('view')->share('title', trans('firefly.import_index_title'));
app('view')->share('subTitleIcon', 'fa-check');
$this->repository = app(ImportJobRepositoryInterface::class);
return $next($request);
@ -73,6 +75,7 @@ class PrerequisitesController extends Controller
*/
public function index(string $importProvider, ImportJob $importJob = null)
{
app('view')->share('subTitle', trans('import.prerequisites_breadcrumb_' . $importProvider));
$class = (string)config(sprintf('import.prerequisites.%s', $importProvider));
if (!class_exists($class)) {
throw new FireflyException(sprintf('No class to handle configuration for "%s".', $importProvider)); // @codeCoverageIgnore
@ -134,7 +137,7 @@ class PrerequisitesController extends Controller
}
// session flash!
$request->session()->flash('success', (string)trans('firefly.prerequisites_saved_for_' . $importProvider));
$request->session()->flash('success', (string)trans('import.prerequisites_saved_for_' . $importProvider));
// if has job, redirect to global config for provider
// if no job, back to index!
@ -142,8 +145,8 @@ class PrerequisitesController extends Controller
return redirect(route('import.index'));
}
// redirect to global config:
return redirect(route('import.index'));
// redirect to job config:
return redirect(route('import.job.configuration.index', [$importJob->key]));
}

View File

@ -1149,51 +1149,9 @@ return [
'no_edit_multiple_left' => 'You have selected no valid transactions to edit.',
'cannot_convert_split_journal' => 'Cannot convert a split transaction',
// import bread crumbs and titles:
'import' => 'Import',
'import_data' => 'Import data',
'import_general_index_file' => 'Import a file',
'import_from_bunq' => 'Import from bunq',
'import_using_spectre' => 'Import using Spectre',
'import_using_plaid' => 'Import using Plaid',
'import_config_bread_crumb' => 'Set up your import',
// import index page:
// Import page (general strings only)
'import_index_title' => 'Import data into Firefly III',
'import_index_sub_title' => 'Index',
'import_general_index_intro' => 'Welcome to Firefly III\'s import routine. There are a few ways of importing data into Firefly III, displayed here as buttons.',
'upload_error' => 'The file you have uploaded could not be processed. Possibly it is of an invalid file type or encoding. The log files will have more information.',
'reset_import_settings_title' => 'Reset import configuration',
'reset_import_settings_text' => 'You can use these links to reset your import settings for specific providers. This is useful when bad settings stop you from importing data.',
'reset_settings_bunq' => 'Remove bunq API key, local external IP address and bunq related RSA keys.',
'reset_settings_spectre' => 'Remove Spectre secrets and ID\'s. This will also remove your Spectre keypair. Remember to update the new one.',
'settings_reset_for_bunq' => 'Bunq settings reset.',
'settings_reset_for_spectre' => 'Spectre settings reset.',
'import_need_prereq_title' => 'Import prerequisites',
'import_need_prereq_intro' => 'Some import methods need your attention before they can be used. For example, they might require special API keys or application secrets. You can configure them here. The icon indicates if these prerequisites have been met.',
'import_need_config_title' => 'Import configuration',
'import_need_config_intro' => 'Some import methods can be configured to your liking. They have extra settings you can tweak.',
'import_button_fake' => 'Fake an import',
'import_button_file' => 'Import a file',
'import_button_bunq' => 'Import from bunq',
'import_button_spectre' => 'Import using Spectre',
'import_button_plaid' => 'Import using Plaid',
'import_button_yodlee' => 'Import using Yodlee',
'import_button_quovo' => 'Import using Quovo',
'import_do_prereq_fake' => 'Prerequisites for the fake provider',
'import_do_prereq_bunq' => 'Prerequisites for imports from bunq',
'import_do_prereq_spectre' => 'Prerequisites for imports using Spectre',
'import_do_prereq_plaid' => 'Prerequisites for imports using Plaid',
'import_do_prereq_yodlee' => 'Prerequisites for imports using Yodlee',
'import_do_prereq_quovo' => 'Prerequisites for imports using Quovo',
'import_do_config_fake' => 'Configuration for the fake provider',
'import_do_config_file' => 'Configuration for file imports',
'import_do_config_bunq' => 'Configuration for bunq imports',
'import_do_config_spectre' => 'Configuration for imports from Spectre',
'import_do_config_plaid' => 'Configuration for imports from Plaid',
'import_do_config_yodlee' => 'Configuration for imports from Yodlee',
'import_do_config_quovo' => 'Configuration for imports from Quovo',
'import_data' => 'Import data',
// sandstorm.io errors and messages:
'sandstorm_not_available' => 'This function is not available when you are using Firefly III within a Sandstorm.io environment.',

View File

@ -23,143 +23,203 @@ declare(strict_types=1);
return [
// status of import:
'status_wait_title' => 'Please hold...',
'status_wait_text' => 'This box will disappear in a moment.',
'status_fatal_title' => 'A fatal error occurred',
'status_fatal_text' => 'A fatal error occurred, which the import-routine cannot recover from. Please see the explanation in red below.',
'status_fatal_more' => 'If the error is a time-out, the import will have stopped half-way. For some server configurations, it is merely the server that stopped while the import keeps running in the background. To verify this, check out the log files. If the problem persists, consider importing over the command line instead.',
'status_ready_title' => 'Import is ready to start',
'status_ready_text' => 'The import is ready to start. All the configuration you needed to do has been done. Please download the configuration file. It will help you with the import should it not go as planned. To actually run the import, you can either execute the following command in your console, or run the web-based import. Depending on your configuration, the console import will give you more feedback.',
'status_ready_noconfig_text' => 'The import is ready to start. All the configuration you needed to do has been done. To actually run the import, you can either execute the following command in your console, or run the web-based import. Depending on your configuration, the console import will give you more feedback.',
'status_ready_config' => 'Download configuration',
'status_ready_start' => 'Start the import',
'status_ready_share' => 'Please consider downloading your configuration and sharing it at the <strong><a href="https://github.com/firefly-iii/import-configurations/wiki">import configuration center</a></strong>. This will allow other users of Firefly III to import their files more easily.',
'status_job_new' => 'The job is brand new.',
'status_job_configuring' => 'The import is being configured.',
'status_job_configured' => 'The import is configured.',
'status_job_running' => 'The import is running.. Please wait..',
'status_job_error' => 'The job has generated an error.',
'status_job_finished' => 'The import has finished!',
'status_running_title' => 'The import is running',
'status_running_placeholder' => 'Please hold for an update...',
'status_finished_title' => 'Import routine finished',
'status_finished_text' => 'The import routine has imported your data.',
'status_errors_title' => 'Errors during the import',
'status_errors_single' => 'An error has occurred during the import. It does not appear to be fatal.',
'status_errors_multi' => 'Some errors occurred during the import. These do not appear to be fatal.',
'status_bread_crumb' => 'Import status',
'status_sub_title' => 'Import status',
'config_sub_title' => 'Set up your import',
'status_finished_job' => 'The :count transactions imported can be found in tag <a href=":link" class="label label-success" style="font-size:100%;font-weight:normal;">:tag</a>.',
'status_finished_no_tag' => 'Firefly III has not collected any transactions from your import file.',
'import_with_key' => 'Import with key \':key\'',
'status_wait_title' => 'Please hold...',
'status_wait_text' => 'This box will disappear in a moment.',
'status_fatal_title' => 'A fatal error occurred',
'status_fatal_text' => 'A fatal error occurred, which the import-routine cannot recover from. Please see the explanation in red below.',
'status_fatal_more' => 'If the error is a time-out, the import will have stopped half-way. For some server configurations, it is merely the server that stopped while the import keeps running in the background. To verify this, check out the log files. If the problem persists, consider importing over the command line instead.',
'status_ready_title' => 'Import is ready to start',
'status_ready_text' => 'The import is ready to start. All the configuration you needed to do has been done. Please download the configuration file. It will help you with the import should it not go as planned. To actually run the import, you can either execute the following command in your console, or run the web-based import. Depending on your configuration, the console import will give you more feedback.',
'status_ready_noconfig_text' => 'The import is ready to start. All the configuration you needed to do has been done. To actually run the import, you can either execute the following command in your console, or run the web-based import. Depending on your configuration, the console import will give you more feedback.',
'status_ready_config' => 'Download configuration',
'status_ready_start' => 'Start the import',
'status_ready_share' => 'Please consider downloading your configuration and sharing it at the <strong><a href="https://github.com/firefly-iii/import-configurations/wiki">import configuration center</a></strong>. This will allow other users of Firefly III to import their files more easily.',
'status_job_new' => 'The job is brand new.',
'status_job_configuring' => 'The import is being configured.',
'status_job_configured' => 'The import is configured.',
'status_job_running' => 'The import is running.. Please wait..',
'status_job_error' => 'The job has generated an error.',
'status_job_finished' => 'The import has finished!',
'status_running_title' => 'The import is running',
'status_running_placeholder' => 'Please hold for an update...',
'status_finished_title' => 'Import routine finished',
'status_finished_text' => 'The import routine has imported your data.',
'status_errors_title' => 'Errors during the import',
'status_errors_single' => 'An error has occurred during the import. It does not appear to be fatal.',
'status_errors_multi' => 'Some errors occurred during the import. These do not appear to be fatal.',
'status_bread_crumb' => 'Import status',
'status_sub_title' => 'Import status',
'config_sub_title' => 'Set up your import',
'status_finished_job' => 'The :count transactions imported can be found in tag <a href=":link" class="label label-success" style="font-size:100%;font-weight:normal;">:tag</a>.',
'status_finished_no_tag' => 'Firefly III has not collected any transactions from your import file.',
'import_with_key' => 'Import with key \':key\'',
// file, upload something
'file_upload_title' => 'Import setup (1/4) - Upload your file',
'file_upload_text' => 'This routine will help you import files from your bank into Firefly III. Please check out the help pages in the top right corner.',
'file_upload_fields' => 'Fields',
'file_upload_help' => 'Select your file',
'file_upload_config_help' => 'If you have previously imported data into Firefly III, you may have a configuration file, which will pre-set configuration values for you. For some banks, other users have kindly provided their <a href="https://github.com/firefly-iii/import-configurations/wiki">configuration file</a>',
'file_upload_type_help' => 'Select the type of file you will upload',
'file_upload_submit' => 'Upload files',
'file_upload_title' => 'Import setup (1/4) - Upload your file',
'file_upload_text' => 'This routine will help you import files from your bank into Firefly III. Please check out the help pages in the top right corner.',
'file_upload_fields' => 'Fields',
'file_upload_help' => 'Select your file',
'file_upload_config_help' => 'If you have previously imported data into Firefly III, you may have a configuration file, which will pre-set configuration values for you. For some banks, other users have kindly provided their <a href="https://github.com/firefly-iii/import-configurations/wiki">configuration file</a>',
'file_upload_type_help' => 'Select the type of file you will upload',
'file_upload_submit' => 'Upload files',
// file, upload types
'import_file_type_csv' => 'CSV (comma separated values)',
'import_file_type_csv' => 'CSV (comma separated values)',
// file, initial config for CSV
'csv_initial_title' => 'Import setup (2/4) - Basic CSV import setup',
'csv_initial_text' => 'To be able to import your file correctly, please validate the options below.',
'csv_initial_box' => 'Basic CSV import setup',
'csv_initial_box_title' => 'Basic CSV import setup options',
'csv_initial_header_help' => 'Check this box if the first row of your CSV file are the column titles.',
'csv_initial_date_help' => 'Date time format in your CSV. Follow the format like <a href="https://secure.php.net/manual/en/datetime.createfromformat.php#refsect1-datetime.createfromformat-parameters">this page</a> indicates. The default value will parse dates that look like this: :dateExample.',
'csv_initial_delimiter_help' => 'Choose the field delimiter that is used in your input file. If not sure, comma is the safest option.',
'csv_initial_import_account_help' => 'If your CSV file does NOT contain information about your asset account(s), use this dropdown to select to which account the transactions in the CSV belong to.',
'csv_initial_submit' => 'Continue with step 3/4',
'csv_initial_title' => 'Import setup (2/4) - Basic CSV import setup',
'csv_initial_text' => 'To be able to import your file correctly, please validate the options below.',
'csv_initial_box' => 'Basic CSV import setup',
'csv_initial_box_title' => 'Basic CSV import setup options',
'csv_initial_header_help' => 'Check this box if the first row of your CSV file are the column titles.',
'csv_initial_date_help' => 'Date time format in your CSV. Follow the format like <a href="https://secure.php.net/manual/en/datetime.createfromformat.php#refsect1-datetime.createfromformat-parameters">this page</a> indicates. The default value will parse dates that look like this: :dateExample.',
'csv_initial_delimiter_help' => 'Choose the field delimiter that is used in your input file. If not sure, comma is the safest option.',
'csv_initial_import_account_help' => 'If your CSV file does NOT contain information about your asset account(s), use this dropdown to select to which account the transactions in the CSV belong to.',
'csv_initial_submit' => 'Continue with step 3/4',
// file, new options:
'file_apply_rules_title' => 'Apply rules',
'file_apply_rules_description' => 'Apply your rules. Note that this slows the import significantly.',
'file_match_bills_title' => 'Match bills',
'file_match_bills_description' => 'Match your bills to newly created withdrawals. Note that this slows the import significantly.',
'file_apply_rules_title' => 'Apply rules',
'file_apply_rules_description' => 'Apply your rules. Note that this slows the import significantly.',
'file_match_bills_title' => 'Match bills',
'file_match_bills_description' => 'Match your bills to newly created withdrawals. Note that this slows the import significantly.',
// file, roles config
'csv_roles_title' => 'Import setup (3/4) - Define each column\'s role',
'csv_roles_text' => 'Each column in your CSV file contains certain data. Please indicate what kind of data the importer should expect. The option to "map" data means that you will link each entry found in the column to a value in your database. An often mapped column is the column that contains the IBAN of the opposing account. That can be easily matched to IBAN\'s present in your database already.',
'csv_roles_table' => 'Table',
'csv_roles_column_name' => 'Name of column',
'csv_roles_column_example' => 'Column example data',
'csv_roles_column_role' => 'Column data meaning',
'csv_roles_do_map_value' => 'Map these values',
'csv_roles_column' => 'Column',
'csv_roles_no_example_data' => 'No example data available',
'csv_roles_submit' => 'Continue with step 4/4',
'csv_roles_title' => 'Import setup (3/4) - Define each column\'s role',
'csv_roles_text' => 'Each column in your CSV file contains certain data. Please indicate what kind of data the importer should expect. The option to "map" data means that you will link each entry found in the column to a value in your database. An often mapped column is the column that contains the IBAN of the opposing account. That can be easily matched to IBAN\'s present in your database already.',
'csv_roles_table' => 'Table',
'csv_roles_column_name' => 'Name of column',
'csv_roles_column_example' => 'Column example data',
'csv_roles_column_role' => 'Column data meaning',
'csv_roles_do_map_value' => 'Map these values',
'csv_roles_column' => 'Column',
'csv_roles_no_example_data' => 'No example data available',
'csv_roles_submit' => 'Continue with step 4/4',
// not csv, but normal warning
'roles_warning' => 'At the very least, mark one column as the amount-column. It is advisable to also select a column for the description, date and the opposing account.',
'foreign_amount_warning' => 'If you mark a column as containing an amount in a foreign currency, you must also set the column that contains which currency it is.',
'roles_warning' => 'At the very least, mark one column as the amount-column. It is advisable to also select a column for the description, date and the opposing account.',
'foreign_amount_warning' => 'If you mark a column as containing an amount in a foreign currency, you must also set the column that contains which currency it is.',
// file, map data
'file_map_title' => 'Import setup (4/4) - Connect import data to Firefly III data',
'file_map_text' => 'In the following tables, the left value shows you information found in your uploaded file. It is your task to map this value, if possible, to a value already present in your database. Firefly will stick to this mapping. If there is no value to map to, or you do not wish to map the specific value, select nothing.',
'file_map_field_value' => 'Field value',
'file_map_field_mapped_to' => 'Mapped to',
'map_do_not_map' => '(do not map)',
'file_map_submit' => 'Start the import',
'file_nothing_to_map' => 'There is no data present in your file that you can map to existing values. Please press "Start the import" to continue.',
'file_map_title' => 'Import setup (4/4) - Connect import data to Firefly III data',
'file_map_text' => 'In the following tables, the left value shows you information found in your uploaded file. It is your task to map this value, if possible, to a value already present in your database. Firefly will stick to this mapping. If there is no value to map to, or you do not wish to map the specific value, select nothing.',
'file_map_field_value' => 'Field value',
'file_map_field_mapped_to' => 'Mapped to',
'map_do_not_map' => '(do not map)',
'file_map_submit' => 'Start the import',
'file_nothing_to_map' => 'There is no data present in your file that you can map to existing values. Please press "Start the import" to continue.',
// map things.
'column__ignore' => '(ignore this column)',
'column_account-iban' => 'Asset account (IBAN)',
'column_account-id' => 'Asset account ID (matching FF3)',
'column_account-name' => 'Asset account (name)',
'column_amount' => 'Amount',
'column_amount_foreign' => 'Amount (in foreign currency)',
'column_amount_debit' => 'Amount (debit column)',
'column_amount_credit' => 'Amount (credit column)',
'column_amount-comma-separated' => 'Amount (comma as decimal separator)',
'column_bill-id' => 'Bill ID (matching FF3)',
'column_bill-name' => 'Bill name',
'column_budget-id' => 'Budget ID (matching FF3)',
'column_budget-name' => 'Budget name',
'column_category-id' => 'Category ID (matching FF3)',
'column_category-name' => 'Category name',
'column_currency-code' => 'Currency code (ISO 4217)',
'column_foreign-currency-code' => 'Foreign currency code (ISO 4217)',
'column_currency-id' => 'Currency ID (matching FF3)',
'column_currency-name' => 'Currency name (matching FF3)',
'column_currency-symbol' => 'Currency symbol (matching FF3)',
'column_date-interest' => 'Interest calculation date',
'column_date-book' => 'Transaction booking date',
'column_date-process' => 'Transaction process date',
'column_date-transaction' => 'Date',
'column_date-due' => 'Transaction due date',
'column_date-payment' => 'Transaction payment date',
'column_date-invoice' => 'Transaction invoice date',
'column_description' => 'Description',
'column_opposing-iban' => 'Opposing account (IBAN)',
'column_opposing-bic' => 'Opposing account (BIC)',
'column_opposing-id' => 'Opposing account ID (matching FF3)',
'column_external-id' => 'External ID',
'column_opposing-name' => 'Opposing account (name)',
'column_rabo-debit-credit' => 'Rabobank specific debit/credit indicator',
'column_ing-debit-credit' => 'ING specific debit/credit indicator',
'column_sepa-ct-id' => 'SEPA end-to-end Identifier',
'column_sepa-ct-op' => 'SEPA Opposing Account Identifier',
'column_sepa-db' => 'SEPA Mandate Identifier',
'column_sepa-cc' => 'SEPA Clearing Code',
'column_sepa-ci' => 'SEPA Creditor Identifier',
'column_sepa-ep' => 'SEPA External Purpose',
'column_sepa-country' => 'SEPA Country Code',
'column_tags-comma' => 'Tags (comma separated)',
'column_tags-space' => 'Tags (space separated)',
'column_account-number' => 'Asset account (account number)',
'column_opposing-number' => 'Opposing account (account number)',
'column_note' => 'Note(s)',
'column_internal-reference' => 'Internal reference',
'column__ignore' => '(ignore this column)',
'column_account-iban' => 'Asset account (IBAN)',
'column_account-id' => 'Asset account ID (matching FF3)',
'column_account-name' => 'Asset account (name)',
'column_amount' => 'Amount',
'column_amount_foreign' => 'Amount (in foreign currency)',
'column_amount_debit' => 'Amount (debit column)',
'column_amount_credit' => 'Amount (credit column)',
'column_amount-comma-separated' => 'Amount (comma as decimal separator)',
'column_bill-id' => 'Bill ID (matching FF3)',
'column_bill-name' => 'Bill name',
'column_budget-id' => 'Budget ID (matching FF3)',
'column_budget-name' => 'Budget name',
'column_category-id' => 'Category ID (matching FF3)',
'column_category-name' => 'Category name',
'column_currency-code' => 'Currency code (ISO 4217)',
'column_foreign-currency-code' => 'Foreign currency code (ISO 4217)',
'column_currency-id' => 'Currency ID (matching FF3)',
'column_currency-name' => 'Currency name (matching FF3)',
'column_currency-symbol' => 'Currency symbol (matching FF3)',
'column_date-interest' => 'Interest calculation date',
'column_date-book' => 'Transaction booking date',
'column_date-process' => 'Transaction process date',
'column_date-transaction' => 'Date',
'column_date-due' => 'Transaction due date',
'column_date-payment' => 'Transaction payment date',
'column_date-invoice' => 'Transaction invoice date',
'column_description' => 'Description',
'column_opposing-iban' => 'Opposing account (IBAN)',
'column_opposing-bic' => 'Opposing account (BIC)',
'column_opposing-id' => 'Opposing account ID (matching FF3)',
'column_external-id' => 'External ID',
'column_opposing-name' => 'Opposing account (name)',
'column_rabo-debit-credit' => 'Rabobank specific debit/credit indicator',
'column_ing-debit-credit' => 'ING specific debit/credit indicator',
'column_sepa-ct-id' => 'SEPA end-to-end Identifier',
'column_sepa-ct-op' => 'SEPA Opposing Account Identifier',
'column_sepa-db' => 'SEPA Mandate Identifier',
'column_sepa-cc' => 'SEPA Clearing Code',
'column_sepa-ci' => 'SEPA Creditor Identifier',
'column_sepa-ep' => 'SEPA External Purpose',
'column_sepa-country' => 'SEPA Country Code',
'column_tags-comma' => 'Tags (comma separated)',
'column_tags-space' => 'Tags (space separated)',
'column_account-number' => 'Asset account (account number)',
'column_opposing-number' => 'Opposing account (account number)',
'column_note' => 'Note(s)',
'column_internal-reference' => 'Internal reference',
// prerequisites
'prerequisites' => 'Prerequisites',
'prerequisites' => 'Prerequisites',
'prerequisites_breadcrumb_fake' => 'Prerequisites for fake provider',
'prerequisites_breadcrumb_file' => 'Prerequisites for file imports',
'prerequisites_breadcrumb_bunq' => 'Prerequisites for Bunq',
'prerequisites_breadcrumb_spectre' => 'Prerequisites for Spectre',
'prerequisites_breadcrumb_plaid' => 'Prerequisites for Plaid',
'prerequisites_breadcrumb_quovo' => 'Prerequisites for Quovo',
'prerequisites_breadcrumb_yodlee' => 'Prerequisites for Yodlee',
// success messages:
'prerequisites_saved_for_fake' => 'API key stored for fake provider',
'prerequisites_saved_for_file' => 'Data stored for file imports',
'prerequisites_saved_for_bunq' => 'API key and IP stored for bunq',
'prerequisites_saved_for_spectre' => 'App ID and secret stored for Spectre',
'prerequisites_saved_for_plaid' => 'Data stored for Plaid',
'prerequisites_saved_for_quovo' => 'Data stored for Quovo',
'prerequisites_saved_for_yodlee' => 'Data stored for Yodlee',
// index of import:
'general_index_title' => 'Import a file',
'general_index_intro' => 'Welcome to Firefly III\'s import routine. There are a few ways of importing data into Firefly III, displayed here as buttons.',
// import provider strings (index):
'button_fake' => 'Fake an import',
'button_file' => 'Import a file',
'button_bunq' => 'Import from bunq',
'button_spectre' => 'Import using Spectre',
'button_plaid' => 'Import using Plaid',
'button_yodlee' => 'Import using Yodlee',
'button_quovo' => 'Import using Quovo',
// global config box
'global_config_title' => 'Global import configuration',
'global_config_text' => 'In the future, this box will feature preferences that apply to ALL import providers above.',
// prereq box:
'need_prereq_title' => 'Import prerequisites',
'need_prereq_intro' => 'Some import methods need your attention before they can be used. For example, they might require special API keys or application secrets. You can configure them here. The icon indicates if these prerequisites have been met.',
'do_prereq_fake' => 'Prerequisites for the fake provider',
'do_prereq_file' => 'Prerequisites for file imports',
'do_prereq_bunq' => 'Prerequisites for imports from bunq',
'do_prereq_spectre' => 'Prerequisites for imports using Spectre',
'do_prereq_plaid' => 'Prerequisites for imports using Plaid',
'do_prereq_yodlee' => 'Prerequisites for imports using Yodlee',
'do_prereq_quovo' => 'Prerequisites for imports using Quovo',
// provider config box:
'can_config_title' => 'Import configuration',
'can_config_intro' => 'Some import methods can be configured to your liking. They have extra settings you can tweak.',
'do_config_fake' => 'Configuration for the fake provider',
'do_config_file' => 'Configuration for file imports',
'do_config_bunq' => 'Configuration for bunq imports',
'do_config_spectre' => 'Configuration for imports from Spectre',
'do_config_plaid' => 'Configuration for imports from Plaid',
'do_config_yodlee' => 'Configuration for imports from Yodlee',
'do_config_quovo' => 'Configuration for imports from Quovo',
// import index page:
'index_breadcrumb' => 'Index',
'upload_error' => 'The file you have uploaded could not be processed. Possibly it is of an invalid file type or encoding. The log files will have more information.',
// bunq
'bunq_prerequisites_title' => 'Prerequisites for an import from bunq',

View File

@ -8,19 +8,19 @@
<div class="col-lg-12 col-md-12 col-sm-12 col-xs-12">
<div class="box box-default">
<div class="box-header with-border">
<h3 class="box-title">{{ 'import_index_title'|_ }}</h3>
<h3 class="box-title">{{ trans('firefly.import_index_title') }}</h3>
</div>
<div class="box-body">
<p>
{{ 'import_general_index_intro'|_ }}
{{ trans('import.general_index_intro') }}
</p>
<div class="row">
{% for name, provider in providers %}
{# button for each import thing: #}
<div class="col-lg-1 col-md-4 col-sm-6 text-center">
<a href="{{ route('import.create', [name]) }}">
<img src="images/logos/{{ name }}.png" alt="{{ ('import_button_'~name)|_ }}"/><br/>
{{ ('import_button_'~name)|_ }}
<img src="images/logos/{{ name }}.png" alt="{{ trans(('import.button_'~name)) }}"/><br/>
{{ trans(('import.button_'~name)) }}
</a>
</div>
{% endfor %}
@ -34,11 +34,11 @@
<div class="col-lg-4 col-md-12 col-sm-12 col-xs-12">
<div class="box box-default">
<div class="box-header with-border">
<h3 class="box-title">{{ 'import_global_config_title'|_ }}</h3>
<h3 class="box-title">{{ trans('import.global_config_title') }}</h3>
</div>
<div class="box-body">
<p>
{{ 'import_global_config_text'|_ }}
{{ trans('import.global_config_text') }}
</p>
</div>
</div>
@ -46,11 +46,11 @@
<div class="col-lg-4 col-md-12 col-sm-12 col-xs-12">
<div class="box box-default">
<div class="box-header with-border">
<h3 class="box-title">{{ 'import_need_prereq_title'|_ }}</h3>
<h3 class="box-title">{{ trans('import.need_prereq_title') }}</h3>
</div>
<div class="box-body">
<p>
{{ 'import_need_prereq_intro'|_ }}
{{ trans('import.need_prereq_intro') }}
</p>
<ul>
{% for name, provider in providers %}
@ -61,7 +61,7 @@
{% else %}
<i class="fa fa-fw fa-warning text-danger"></i>
{% endif %}
<a href="#">{{ ('import_do_prereq_'~name)|_ }}</a>
<a href="{{ route('import.prerequisites.index', [name]) }}">{{ trans('import.do_prereq_'~name) }}</a>
</li>
{% endif %}
{% endfor %}
@ -72,16 +72,16 @@
<div class="col-lg-4 col-md-12 col-sm-12 col-xs-12">
<div class="box box-default">
<div class="box-header with-border">
<h3 class="box-title">{{ 'import_need_config_title'|_ }}</h3>
<h3 class="box-title">{{ trans('import.can_config_title') }}</h3>
</div>
<div class="box-body">
<p>
{{ 'import_need_config_intro'|_ }}
{{ trans('import.can_config_title') }}
</p>
<ul>
{% for name, provider in providers %}
{% if provider.has_config %}
<li><i class="fa fa-fw fa-wrench"></i> <a href="#">{{ ('import_do_config_'~name)|_ }}</a></li>
<li><i class="fa fa-fw fa-wrench"></i> <a href="#">{{ trans('import.do_config_'~name) }}</a></li>
{% endif %}
{% endfor %}
</ul>

View File

@ -580,7 +580,7 @@ Breadcrumbs::register(
'import.index',
function (BreadCrumbsGenerator $breadcrumbs) {
$breadcrumbs->parent('home');
$breadcrumbs->push(trans('firefly.import'), route('import.index'));
$breadcrumbs->push(trans('firefly.import_index_title'), route('import.index'));
}
);
@ -596,7 +596,7 @@ Breadcrumbs::register(
'import.prerequisites.index',
function (BreadCrumbsGenerator $breadcrumbs, string $importProvider) {
$breadcrumbs->parent('import.index');
$breadcrumbs->push(trans('import.prerequisites'), route('import.prerequisites.index', [$importProvider]));
$breadcrumbs->push(trans('import.prerequisites_breadcrumb_'.$importProvider), route('import.prerequisites.index', [$importProvider]));
}
);