Connect flow:
- surface OAuth failures: useOAuthPopup forwards {success, message}; the
accounts grid toasts the error instead of silently reloading
- detect a blocked popup and toast a "allow popups" message
- PopupCallback only promises auto-close when it has an opener, otherwise
tells the user to close it; adds role=status/aria-live and aria-hidden icons
- drop the dead LinkedInPage connect-route entry and the unsent access_token
field on the Facebook page-select type
Media/gallery:
- delete dead code: MediaDropzone.vue and useDragAndDrop.ts (no references)
- GalleryBrowser toasts per-file upload failures instead of swallowing them;
cards are always clickable now that videos open in the lightbox
- formatDurationMs rounds the sub-second branch and tolerates undefined
- advertise PDF in the gallery's accepted-formats hint
i18n: popup_blocked, manual_close (accounts) and upload.failed (assets) in all locales.
148 lines
6.7 KiB
PHP
148 lines
6.7 KiB
PHP
<?php
|
|
|
|
return [
|
|
'title' => 'Connections',
|
|
'page_title' => 'Social Accounts',
|
|
'description' => 'Overview of all your connected social accounts',
|
|
'connect_cta' => 'Connect',
|
|
|
|
'not_connected' => 'Not connected',
|
|
'connect' => 'Connect',
|
|
'connection_lost' => 'Connection lost',
|
|
'reconnect' => 'Reconnect',
|
|
'reconnect_account' => 'Reconnect account',
|
|
'view_profile' => 'View profile',
|
|
'disconnect' => 'Disconnect',
|
|
|
|
'descriptions' => [
|
|
'linkedin' => 'Connect your LinkedIn profile or company page',
|
|
'linkedin-page' => 'Connect a LinkedIn company page',
|
|
'x' => 'Connect your X (Twitter) account',
|
|
'tiktok' => 'Connect your TikTok account',
|
|
'youtube' => 'Connect a YouTube channel',
|
|
'facebook' => 'Connect a Facebook page',
|
|
'instagram' => 'Connect an Instagram professional account',
|
|
'instagram-facebook' => 'Connect Instagram via Facebook page',
|
|
'threads' => 'Connect your Threads account',
|
|
'pinterest' => 'Connect your Pinterest account',
|
|
'bluesky' => 'Connect your Bluesky account',
|
|
'mastodon' => 'Connect your Mastodon account',
|
|
'telegram' => 'Connect a Telegram channel or group',
|
|
'discord' => 'Connect a Discord server',
|
|
],
|
|
|
|
'disconnect_modal' => [
|
|
'title' => 'Disconnect Account',
|
|
'description' => 'Are you sure you want to disconnect this account? You can reconnect it at any time.',
|
|
'confirm' => 'Disconnect',
|
|
'cancel' => 'Cancel',
|
|
],
|
|
|
|
'bluesky' => [
|
|
'title' => 'Connect Bluesky',
|
|
'description' => 'Enter your credentials to connect',
|
|
'email' => 'Email',
|
|
'email_placeholder' => 'yourhandle.bsky.social',
|
|
'app_password' => 'App Password',
|
|
'app_password_placeholder' => 'xxxx-xxxx-xxxx-xxxx',
|
|
'app_password_hint' => 'Use an <strong>App Password</strong> for security. Create one at <a href="https://bsky.app/settings/app-passwords" target="_blank" class="underline">bsky.app/settings</a>.',
|
|
'submit' => 'Connect Bluesky',
|
|
'submitting' => 'Connecting...',
|
|
],
|
|
|
|
'mastodon' => [
|
|
'title' => 'Connect Mastodon',
|
|
'description' => 'Enter your Mastodon instance',
|
|
'instance_url' => 'Instance URL',
|
|
'instance_placeholder' => 'https://mastodon.social',
|
|
'instance_hint' => 'Enter your Mastodon instance URL (e.g., mastodon.social, techhub.social)',
|
|
'submit' => 'Continue with Mastodon',
|
|
'submitting' => 'Connecting...',
|
|
],
|
|
|
|
'telegram' => [
|
|
'title' => 'Connect Telegram',
|
|
'description' => 'Link a channel or group',
|
|
'step_admin' => 'Add :bot as an administrator to your Telegram channel or group.',
|
|
'step_command' => 'Post this command in the channel or group:',
|
|
'waiting' => 'Waiting for the channel to connect…',
|
|
'connected' => 'Channel connected!',
|
|
'connected_toast' => 'Telegram channel connected successfully!',
|
|
'copied_toast' => 'Command copied to clipboard',
|
|
'copy_tooltip' => 'Copy command',
|
|
'expired' => 'This code has expired. Generate a new one to try again.',
|
|
'new_code' => 'Generate a new code',
|
|
'retry' => 'Try again',
|
|
'error_generic' => 'Could not start the connection. Please try again.',
|
|
'network_taken' => 'This workspace already has a Telegram channel connected. Disconnect it first.',
|
|
],
|
|
|
|
'facebook' => [
|
|
'title' => 'Select Facebook Page',
|
|
'description' => 'Choose which page you want to connect',
|
|
'no_pages' => 'No pages found',
|
|
'no_pages_description' => 'You are not an admin of any Facebook page.',
|
|
'page_label' => 'Facebook Page',
|
|
'view' => 'View',
|
|
'choose' => 'Choose',
|
|
],
|
|
|
|
'instagram_facebook' => [
|
|
'title' => 'Select Instagram Account',
|
|
'description' => 'Choose which Instagram account you want to connect',
|
|
'no_pages' => 'No Instagram accounts found',
|
|
'no_pages_description' => 'No Facebook Pages with linked Instagram Business accounts were found.',
|
|
'view' => 'View',
|
|
'choose' => 'Choose',
|
|
],
|
|
|
|
'linkedin' => [
|
|
'title' => 'Select LinkedIn Page',
|
|
'description' => 'Choose which page you want to connect',
|
|
'no_pages' => 'No pages found',
|
|
'no_pages_description' => 'You are not an administrator of any LinkedIn page.',
|
|
'page_label' => 'LinkedIn Page',
|
|
'select_title' => 'Where do you want to post?',
|
|
'select_subtitle' => 'Post as yourself or choose a company page you manage.',
|
|
'person_tag' => 'Person',
|
|
'organization_tag' => 'Organization',
|
|
'view' => 'View',
|
|
'choose' => 'Choose',
|
|
],
|
|
|
|
'flash' => [
|
|
'disconnected' => 'Account disconnected successfully!',
|
|
'connected' => 'Account connected successfully!',
|
|
'session_expired' => 'Session expired. Please try again.',
|
|
'workspace_not_found' => 'Workspace not found.',
|
|
'activated' => 'Account activated!',
|
|
'deactivated' => 'Account deactivated!',
|
|
'already_connected' => 'This platform is already connected.',
|
|
'no_youtube_channels' => 'No YouTube channels found. Please create a channel first.',
|
|
],
|
|
|
|
'popup_callback' => [
|
|
'title_success' => 'Connected',
|
|
'title_error' => 'Error',
|
|
'closing' => 'This window will close automatically...',
|
|
'manual_close' => 'You can close this window.',
|
|
'popup_blocked' => 'Could not open the connection window. Please allow popups and try again.',
|
|
'connected' => 'Account connected!',
|
|
'reconnected' => 'Account reconnected!',
|
|
'error_connecting' => 'Error connecting account. Please try again.',
|
|
'network_taken' => 'This workspace already has an account for this network. Disconnect it first.',
|
|
'error_connecting_page' => 'Error connecting page. Please try again.',
|
|
'error_connecting_channel' => 'Error connecting channel. Please try again.',
|
|
'session_expired' => 'Session expired. Please try again.',
|
|
'workspace_not_found' => 'Workspace not found.',
|
|
'invalid_state' => 'Invalid state. Please try again.',
|
|
'failed_to_authenticate' => 'Failed to authenticate.',
|
|
'failed_to_get_profile' => 'Failed to get profile.',
|
|
'page_not_found' => 'Page not found.',
|
|
'channel_not_found' => 'Channel not found.',
|
|
'no_facebook_pages' => 'No Facebook Pages found. You need to be an admin of at least one page.',
|
|
'no_facebook_instagram_pages' => 'No Facebook Pages with linked Instagram accounts found.',
|
|
'no_youtube_channels' => 'No YouTube channels found. Please create a channel first.',
|
|
'not_linkedin_admin' => 'You are not an administrator of any LinkedIn page.',
|
|
],
|
|
];
|