109 lines
5.5 KiB
PHP
109 lines
5.5 KiB
PHP
<?php
|
|
|
|
return [
|
|
'title' => 'Users',
|
|
'subtitle' => 'Manage the people who use your cloud.',
|
|
'seats_used' => 'seats used',
|
|
'seats_note' => 'The owner occupies seat 1.',
|
|
|
|
'invite_email' => 'Email',
|
|
'invite_name' => 'Name (optional)',
|
|
// Two buttons, two words: 'add' creates the row and sends nothing, 'invite'
|
|
// is the button in the table that really does it. An add button labelled
|
|
// "Invite" would be exactly the pretence this change removed.
|
|
'add' => 'Add',
|
|
'invite' => 'Invite',
|
|
'role' => 'Role',
|
|
'role_readonly_means' => 'Cannot upload or create anything. What is shared with them, they can edit within that share.',
|
|
|
|
'role_owner' => 'Owner',
|
|
'role_admin' => 'Administrator',
|
|
'role_member' => 'Member',
|
|
'role_readonly' => 'Read-only',
|
|
|
|
// Counted next to the seat figure, so the card says something true
|
|
// underneath the number instead of repeating it.
|
|
'role_count' => [
|
|
'owner' => '{1} :count owner|[2,*] :count owner',
|
|
'admin' => '{1} :count administrator|[2,*] :count administrators',
|
|
'member' => '{1} :count member|[2,*] :count members',
|
|
'readonly' => '{1} :count read-only|[2,*] :count read-only',
|
|
'guest' => '{1} :count guest|[2,*] :count guests',
|
|
],
|
|
|
|
'col_person' => 'Person',
|
|
'col_status' => 'Status',
|
|
'owner_no_actions' => 'The owner cannot be removed.',
|
|
'col_actions' => 'Actions',
|
|
|
|
'suspend' => 'Suspend',
|
|
'reactivate' => 'Reactivate',
|
|
'suspended' => 'Access suspended.',
|
|
'reactivated' => 'Access restored.',
|
|
// Three actions, three separate sentences: the owner seat is the access
|
|
// the customer uses to manage their own cloud, and each sentence says
|
|
// what is blocked HERE — not just that something is locked.
|
|
'owner_locked' => 'The owner cannot lock themselves out — the owner seat is the access the customer uses to manage their own cloud.',
|
|
'owner_role_locked' => 'The owner\'s role cannot be changed — the owner seat is the access the customer uses to manage their own cloud.',
|
|
'owner_revoke_locked' => 'The owner\'s access cannot be removed — the owner seat is the access the customer uses to manage their own cloud.',
|
|
'status_suspended' => 'Suspended',
|
|
'status_active' => 'Active',
|
|
'status_invited' => 'Invited',
|
|
'status_revoked' => 'Removed',
|
|
|
|
'edit_title' => 'Edit user',
|
|
'email_invited_hint' => 'The invitation has not been accepted yet — the address can still be corrected.',
|
|
'email_locked_hint' => 'The address identifies this person and cannot be changed. Remove the seat and invite again instead.',
|
|
'edit' => 'Edit',
|
|
'save' => 'Save',
|
|
'saved' => 'Changes saved.',
|
|
'name_optional' => 'Name (optional)',
|
|
// Shown instead of an empty cell: the owner keeps their own access.
|
|
'owner_protected' => 'Protected',
|
|
// Modal instead of wire:confirm (R23): title+body are the same former
|
|
// sentence, split at the full stop; revoke_confirm is now the short
|
|
// confirm-button label.
|
|
'revoke_title' => 'Remove :name?',
|
|
'revoke_body' => 'Their access ends immediately.',
|
|
'revoke_confirm' => 'Remove',
|
|
|
|
'resend' => 'Resend',
|
|
'revoke' => 'Remove',
|
|
|
|
// What is REALLY true in the Nextcloud — next to what the owner wants.
|
|
// Without these lines every button looks like it did nothing, because all
|
|
// of it runs through the queue.
|
|
'state_none' => 'added — not invited yet',
|
|
'state_pending' => 'being set up …',
|
|
'state_failed' => 'failed',
|
|
'retry' => 'Try again',
|
|
'retrying' => 'Trying again.',
|
|
'error_no_instance' => 'This customer\'s cloud cannot be reached right now.',
|
|
'error_guest_failed' => 'The cloud did not accept the change.',
|
|
'error_unexpected' => 'Unexpected error. Please try again.',
|
|
|
|
// There is no way back from the ROW — that was the accidental revival in
|
|
// two clicks, bypassing the seat limit. Through the form above there is:
|
|
// same address, same check as any new seat. "Final" would therefore be a
|
|
// lie, and a sentence claiming a dead end where there is a door costs more
|
|
// than an open gap.
|
|
'revoked_final' => 'Access revoked',
|
|
'revoked_closed' => 'This access is closed. Use the form above to take the same address back on — it then counts against your seats again.',
|
|
'owner_not_invitable' => 'The owner\'s account is created when the cloud is built and cannot be invited from here.',
|
|
|
|
'added' => 'User added. Send the invitation with "Invite".',
|
|
'reinstated' => 'Access taken back on. Send the invitation with "Invite".',
|
|
'invite_sent' => 'Invitation sent. They get a link to set their own password.',
|
|
// The invitation is sent by the customer's own Nextcloud — with no mail
|
|
// delivery configured, nothing leaves it, and `occ user:add` reports
|
|
// success all the same. The sentence therefore says both: that nothing
|
|
// was sent, and why.
|
|
'mail_not_ready' => 'Invitations are not possible yet: mail delivery for your cloud is not set up. The invitation is sent by your own cloud — without delivery, nobody would receive anything. Please contact support. You can already add your people.',
|
|
'invite_no_mail' => 'Nothing was sent: mail delivery for your cloud is not set up yet. Please contact support.',
|
|
'too_many_invites' => 'Too many invitations — possible again in :minutes minutes.',
|
|
'revoked' => 'User removed.',
|
|
'resent' => 'Invitation resent.',
|
|
'limit_reached' => 'Your plan seat limit is reached. Please upgrade.',
|
|
'duplicate' => 'This email already has a seat.',
|
|
];
|