121 lines
6.2 KiB
PHP
121 lines
6.2 KiB
PHP
<?php
|
|
|
|
return [
|
|
'title' => 'Finance',
|
|
'subtitle' => 'Company details for invoices, the VAT rate, and the invoice series.',
|
|
|
|
// What is missing before anything may be issued. An invoice without a name,
|
|
// an address or a VAT number is not a valid invoice — issuing one is worse
|
|
// than refusing to.
|
|
'incomplete' => 'Some details are still missing, and no invoice can be issued without them: :fields',
|
|
|
|
'company_title' => 'Company details',
|
|
'company_sub' => 'These appear in the header and footer of every invoice. A change applies from the next invoice onwards — anything already issued keeps the details it was issued under.',
|
|
'company_saved' => 'Company details saved.',
|
|
'save' => 'Save',
|
|
'logo_remove' => 'Remove logo',
|
|
'logo_removed' => 'Logo removed.',
|
|
|
|
'field' => [
|
|
'name' => 'Registered name',
|
|
'address' => 'Street and number',
|
|
'postcode' => 'Postcode',
|
|
'city' => 'City',
|
|
'country' => 'Country',
|
|
'phone' => 'Phone',
|
|
'email' => 'Email',
|
|
'website' => 'Website',
|
|
'register_number' => 'Register number',
|
|
'register_court' => 'Registering court',
|
|
'vat_id' => 'VAT ID',
|
|
'bank_name' => 'Bank',
|
|
'iban' => 'IBAN',
|
|
'bic' => 'BIC',
|
|
'archive_path' => 'Archive path',
|
|
'logo' => 'Logo',
|
|
'tax_rate' => 'VAT (%)',
|
|
'setup_fee' => 'Setup, one-off (net)',
|
|
'payment_days' => 'Payment terms (days)',
|
|
'payment_terms' => 'Payment conditions',
|
|
],
|
|
|
|
'archive_failed' => ':n invoice(s) could not be written to the archive.',
|
|
'archive_pending' => ':n invoice(s) are still waiting for the archive.',
|
|
'archive_clear' => 'Every invoice is on the archive.',
|
|
|
|
'hint' => [
|
|
'archive_path' => 'Directory a copy of every invoice is written to — your NAS mount point, for instance. Leave empty to copy nothing.',
|
|
'vat_id' => 'Required on every invoice.',
|
|
'tax_rate' => 'Frozen into every invoice. A change affects new invoices only.',
|
|
'setup_fee' => 'Shown as-is on the public price sheet. 0 means there is no setup fee, and the sentence disappears from it.',
|
|
'logo' => 'PNG or WEBP, 1 MB at most. Embedded into every invoice rendered.',
|
|
],
|
|
|
|
'series_edit_title' => 'Edit invoice series',
|
|
'series_saved' => 'Invoice series saved.',
|
|
'series_locked' => 'No longer editable: :n document(s) already carry this prefix in their number.',
|
|
'series_floor' => 'Can only be raised. A lower number has already been issued — at least :n.',
|
|
'cancel' => 'Cancel',
|
|
|
|
'pull_create' => 'Create collection access',
|
|
'pull_local_only' => 'Collection access only works for a directory on this server.',
|
|
'pull_requested' => 'The server is creating the key …',
|
|
'pull_waiting' => 'The server is generating the key and installing it — one moment.',
|
|
'pull_ready_title' => 'Collection access created',
|
|
'pull_ready_body' => 'This private key is shown exactly once and stored nowhere. Put it on the NAS at /root/.ssh/clupilot (mode 600) and use the command below as a scheduled task.',
|
|
'pull_key_label' => 'Private key (shown once)',
|
|
'pull_command_label' => 'Command for the scheduled task on the NAS',
|
|
'pull_ready_hint' => 'The key may read this one directory and nothing else — no shell, no writing, no other path. Check the server name in the command if the NAS reaches it differently.',
|
|
|
|
'targets_title' => 'Export destinations',
|
|
'targets_sub' => 'Where a copy of every invoice is written. Several is the point — the reason for a second is that the first can fail.',
|
|
'targets_add' => 'Add destination',
|
|
'targets_edit' => 'Edit destination',
|
|
'targets_empty' => 'No destination yet — nothing is copied.',
|
|
'targets_saved' => 'Destination saved.',
|
|
'targets_inactive' => 'inactive',
|
|
|
|
'target' => [
|
|
'name' => 'Name',
|
|
'driver' => 'Kind',
|
|
'driver_local' => 'Directory on this server (NFS, SMB, disk)',
|
|
'driver_sftp' => 'SFTP (storage at a provider)',
|
|
'driver_hint' => 'A directory is anything this server can already write to — a NAS over NFS 4.1, a bind mount, a disk. The mount is set up on the server, and which protocol is behind it is no business of the application. SFTP is for a destination that is not mounted.',
|
|
'path' => 'Path',
|
|
'path_local_hint' => 'Absolute path. The mount point itself is never created — if it is missing, the mount counts as gone and nothing is written.',
|
|
'path_sftp_hint' => 'Directory on the far side.',
|
|
'layout' => 'Folder layout',
|
|
'layout_year' => 'One folder per year',
|
|
'layout_day' => 'One folder per day',
|
|
'layout_hint' => 'Year for an archive that stays. Day for a handover point somebody collects from.',
|
|
'keep_days' => 'Keep for (days)',
|
|
'keep_days_hint' => 'Empty means nothing is deleted. A value removes folders older than that — safe, because every invoice can be produced again from the database.',
|
|
'host' => 'Host',
|
|
'port' => 'Port',
|
|
'username' => 'Username',
|
|
'password' => 'Password',
|
|
'password_hint' => 'Stored in the credential vault, not in this table.',
|
|
'password_stored' => 'A password is stored. Leave empty to keep it.',
|
|
'active_label' => 'Write copies here',
|
|
'active_hint' => 'Switched off, everything already written stays; only nothing new is added.',
|
|
],
|
|
|
|
'series_title' => 'Invoice series',
|
|
'series_sub' => 'Each series keeps its own prefix and its own gapless counter. A credit note is not an invoice with a minus sign in front of it.',
|
|
'series' => [
|
|
'name' => 'Name',
|
|
'prefix' => 'Prefix',
|
|
'next' => 'Next number',
|
|
'reset' => 'Counter',
|
|
'reset_yearly' => 'restarts yearly',
|
|
'reset_never' => 'continuous',
|
|
'actions' => 'Actions',
|
|
'digits' => 'Digits',
|
|
'reset_label' => 'Restart the counter each year',
|
|
'reset_hint' => 'The year then appears in the number: RE-2026-0001. Not editable once a document has been issued.',
|
|
'active_label' => 'Available for new documents',
|
|
'active_hint' => 'Switched off, everything already issued stays; only nothing new is issued from it.',
|
|
'edit' => 'Edit',
|
|
],
|
|
];
|