2026-01-26 13:55:27 +00:00
|
|
|
<?php
|
|
|
|
|
|
2026-06-10 20:26:50 +00:00
|
|
|
declare(strict_types=1);
|
|
|
|
|
|
2026-01-26 13:55:27 +00:00
|
|
|
return [
|
2026-03-30 20:23:36 +00:00
|
|
|
'workspaces' => 'Espaços de trabalho',
|
2026-01-26 13:55:27 +00:00
|
|
|
'select_workspace' => 'Selecionar workspace',
|
|
|
|
|
'create_workspace' => 'Criar workspace',
|
2026-01-26 21:11:45 +00:00
|
|
|
'create_post' => 'Novo post',
|
2026-01-26 13:55:27 +00:00
|
|
|
'profile' => 'Perfil',
|
|
|
|
|
'log_out' => 'Sair',
|
|
|
|
|
|
|
|
|
|
'workspace' => 'Workspace: :name',
|
|
|
|
|
'workspace_select' => 'Workspace: Selecionar',
|
|
|
|
|
|
|
|
|
|
'theme' => 'Tema: :name',
|
|
|
|
|
'theme_light' => 'Claro',
|
|
|
|
|
'theme_dark' => 'Escuro',
|
|
|
|
|
'theme_system' => 'Sistema',
|
|
|
|
|
|
|
|
|
|
'language' => 'Idioma: :name',
|
|
|
|
|
'language_select' => 'Idioma: Selecionar',
|
|
|
|
|
|
|
|
|
|
'groups' => [
|
|
|
|
|
'posts' => 'Posts',
|
feat: redesign billing, onboarding, sidebar, and settings architecture
- Sidebar reorganized: Workspace group (connections, hashtags, labels,
API keys, settings) and Account group (settings, usage, billing)
- Account group only visible to owner and hidden in self-hosted mode
- Onboarding simplified: role -> account (connect socials) -> completed
-> redirect to /subscribe. Removed Subscription setup step.
- Subscribe page redesigned with 4 plan cards, monthly/yearly toggle,
trial info, and per-plan features list
- Billing page redesigned following Sendkit layout (sections with
sidebar labels)
- Processing page uses usePoll with immediate watch for subscription
activation
- Cancel URL redirects directly to /subscribe
- Account settings page with name and billing_email (syncs with Stripe)
- Usage page with ring meters for all plan limits
- Settings layout tabs only for user pages (profile, password,
notifications). Workspace/API keys/billing are standalone pages.
- GoogleAuthButton extracted as reusable component
- WorkspaceRole TypeScript enum for type-safe role checks in frontend
- Trial period changed to 7 days
- Fixed onboarding loop when user confirms email
- All 1101 tests passing
2026-04-15 03:33:38 +00:00
|
|
|
'workspace' => 'Workspace',
|
2026-01-26 13:55:27 +00:00
|
|
|
'support' => 'Suporte',
|
|
|
|
|
],
|
|
|
|
|
|
2026-04-02 20:57:06 +00:00
|
|
|
'analytics' => 'Analytics',
|
2026-05-24 12:17:19 +00:00
|
|
|
'automations' => 'Automações',
|
2026-05-03 18:54:26 +00:00
|
|
|
'settings' => 'Configurações',
|
2026-04-02 20:57:06 +00:00
|
|
|
|
2026-01-26 13:55:27 +00:00
|
|
|
'posts' => [
|
|
|
|
|
'calendar' => 'Calendário',
|
|
|
|
|
'all' => 'Todos',
|
|
|
|
|
'scheduled' => 'Agendados',
|
|
|
|
|
'posted' => 'Publicados',
|
|
|
|
|
'drafts' => 'Rascunhos',
|
|
|
|
|
],
|
|
|
|
|
|
feat: redesign billing, onboarding, sidebar, and settings architecture
- Sidebar reorganized: Workspace group (connections, hashtags, labels,
API keys, settings) and Account group (settings, usage, billing)
- Account group only visible to owner and hidden in self-hosted mode
- Onboarding simplified: role -> account (connect socials) -> completed
-> redirect to /subscribe. Removed Subscription setup step.
- Subscribe page redesigned with 4 plan cards, monthly/yearly toggle,
trial info, and per-plan features list
- Billing page redesigned following Sendkit layout (sections with
sidebar labels)
- Processing page uses usePoll with immediate watch for subscription
activation
- Cancel URL redirects directly to /subscribe
- Account settings page with name and billing_email (syncs with Stripe)
- Usage page with ring meters for all plan limits
- Settings layout tabs only for user pages (profile, password,
notifications). Workspace/API keys/billing are standalone pages.
- GoogleAuthButton extracted as reusable component
- WorkspaceRole TypeScript enum for type-safe role checks in frontend
- Trial period changed to 7 days
- Fixed onboarding loop when user confirms email
- All 1101 tests passing
2026-04-15 03:33:38 +00:00
|
|
|
'workspace' => [
|
2026-01-26 13:55:27 +00:00
|
|
|
'connections' => 'Conexões',
|
2026-05-03 18:23:30 +00:00
|
|
|
'signatures' => 'Assinaturas',
|
2026-01-26 13:55:27 +00:00
|
|
|
'labels' => 'Etiquetas',
|
2026-04-17 02:05:51 +00:00
|
|
|
'assets' => 'Mídias',
|
feat: redesign billing, onboarding, sidebar, and settings architecture
- Sidebar reorganized: Workspace group (connections, hashtags, labels,
API keys, settings) and Account group (settings, usage, billing)
- Account group only visible to owner and hidden in self-hosted mode
- Onboarding simplified: role -> account (connect socials) -> completed
-> redirect to /subscribe. Removed Subscription setup step.
- Subscribe page redesigned with 4 plan cards, monthly/yearly toggle,
trial info, and per-plan features list
- Billing page redesigned following Sendkit layout (sections with
sidebar labels)
- Processing page uses usePoll with immediate watch for subscription
activation
- Cancel URL redirects directly to /subscribe
- Account settings page with name and billing_email (syncs with Stripe)
- Usage page with ring meters for all plan limits
- Settings layout tabs only for user pages (profile, password,
notifications). Workspace/API keys/billing are standalone pages.
- GoogleAuthButton extracted as reusable component
- WorkspaceRole TypeScript enum for type-safe role checks in frontend
- Trial period changed to 7 days
- Fixed onboarding loop when user confirms email
- All 1101 tests passing
2026-04-15 03:33:38 +00:00
|
|
|
'api_keys' => 'API Keys',
|
|
|
|
|
],
|
|
|
|
|
|
feat: notification system with SendNotification job, dialog UI, tests
Backend:
- Create notifications table (user_id, workspace_id, type, channel,
title, body, data JSON, read_at, archived_at)
- Create Notification model with Type enum (post_failed,
account_disconnected, invite_received, member_joined, member_removed)
and Channel enum (email, in_app, both)
- Create SendNotification job: isolated from publish flow, handles
saving in-app notification and sending email independently
- NotificationController: index (excludes archived, scoped to workspace),
markAsRead, markAllAsRead, archiveAll
- Integrate with PublishToSocialPlatform (post failed/partial)
- Integrate with VerifyWorkspaceConnections (batch disconnection)
- Integrate with SocialAccount::markAsDisconnected (single disconnection)
- All use SendNotification::dispatch() instead of direct Mail::to()
Frontend:
- NotificationBell component in sidebar footer with unread badge
- Dialog with notification list, mark as read, mark all read, archive all
- Click navigates to relevant page (post edit, accounts)
- i18n for notifications UI (en, es, pt-BR)
Tests:
- 8 tests for NotificationController (auth, CRUD, workspace scoping)
- 4 tests for SendNotification job (channels, email, data storage)
All 745 tests passing.
2026-03-30 19:47:03 +00:00
|
|
|
'notifications' => 'Notificações',
|
|
|
|
|
'mark_all_read' => 'Marcar tudo como lido',
|
2026-03-31 00:18:07 +00:00
|
|
|
'mark_as_read' => 'Marcar como lido',
|
feat: notification system with SendNotification job, dialog UI, tests
Backend:
- Create notifications table (user_id, workspace_id, type, channel,
title, body, data JSON, read_at, archived_at)
- Create Notification model with Type enum (post_failed,
account_disconnected, invite_received, member_joined, member_removed)
and Channel enum (email, in_app, both)
- Create SendNotification job: isolated from publish flow, handles
saving in-app notification and sending email independently
- NotificationController: index (excludes archived, scoped to workspace),
markAsRead, markAllAsRead, archiveAll
- Integrate with PublishToSocialPlatform (post failed/partial)
- Integrate with VerifyWorkspaceConnections (batch disconnection)
- Integrate with SocialAccount::markAsDisconnected (single disconnection)
- All use SendNotification::dispatch() instead of direct Mail::to()
Frontend:
- NotificationBell component in sidebar footer with unread badge
- Dialog with notification list, mark as read, mark all read, archive all
- Click navigates to relevant page (post edit, accounts)
- i18n for notifications UI (en, es, pt-BR)
Tests:
- 8 tests for NotificationController (auth, CRUD, workspace scoping)
- 4 tests for SendNotification job (channels, email, data storage)
All 745 tests passing.
2026-03-30 19:47:03 +00:00
|
|
|
'archive_all' => 'Arquivar tudo',
|
|
|
|
|
'no_notifications' => 'Sem notificações',
|
|
|
|
|
|
2026-01-26 13:55:27 +00:00
|
|
|
'support' => [
|
|
|
|
|
'discord' => 'Discord',
|
|
|
|
|
'share_feedback' => 'Enviar feedback',
|
|
|
|
|
'last_updates' => 'Últimas Atualizações',
|
|
|
|
|
'docs' => 'Documentação',
|
|
|
|
|
],
|
|
|
|
|
];
|