Add i18n localization support with locales
This commit is contained in:
parent
a50d229346
commit
ff599a2cd4
41 changed files with 11483 additions and 1 deletions
|
|
@ -11,11 +11,12 @@ categories = ["api-bindings", "web-programming"]
|
|||
|
||||
[features]
|
||||
default = []
|
||||
full = ["database", "http-client", "validation", "resilience"]
|
||||
full = ["database", "http-client", "validation", "resilience", "i18n"]
|
||||
database = ["dep:diesel"]
|
||||
http-client = ["dep:reqwest"]
|
||||
validation = ["dep:validator"]
|
||||
resilience = []
|
||||
i18n = []
|
||||
|
||||
[dependencies]
|
||||
# Core
|
||||
|
|
|
|||
557
locales/en/admin.ftl
Normal file
557
locales/en/admin.ftl
Normal file
|
|
@ -0,0 +1,557 @@
|
|||
# =============================================================================
|
||||
# General Bots - Admin Translations (English)
|
||||
# =============================================================================
|
||||
# Administrative interface translations for the GB Admin Panel
|
||||
# =============================================================================
|
||||
|
||||
# -----------------------------------------------------------------------------
|
||||
# Admin Navigation & Dashboard
|
||||
# -----------------------------------------------------------------------------
|
||||
admin-title = Administration
|
||||
admin-dashboard = Admin Dashboard
|
||||
admin-overview = Overview
|
||||
admin-welcome = Welcome to the Admin Panel
|
||||
|
||||
admin-nav-dashboard = Dashboard
|
||||
admin-nav-users = Users
|
||||
admin-nav-bots = Bots
|
||||
admin-nav-tenants = Tenants
|
||||
admin-nav-settings = Settings
|
||||
admin-nav-logs = Logs
|
||||
admin-nav-analytics = Analytics
|
||||
admin-nav-security = Security
|
||||
admin-nav-integrations = Integrations
|
||||
admin-nav-billing = Billing
|
||||
admin-nav-support = Support
|
||||
admin-nav-groups = Groups
|
||||
admin-nav-dns = DNS
|
||||
admin-nav-system = System
|
||||
|
||||
# -----------------------------------------------------------------------------
|
||||
# Admin Quick Actions
|
||||
# -----------------------------------------------------------------------------
|
||||
admin-quick-actions = Quick Actions
|
||||
admin-create-user = Create User
|
||||
admin-create-group = Create Group
|
||||
admin-register-dns = Register DNS
|
||||
admin-recent-activity = Recent Activity
|
||||
admin-system-health = System Health
|
||||
|
||||
# -----------------------------------------------------------------------------
|
||||
# User Management
|
||||
# -----------------------------------------------------------------------------
|
||||
admin-users-title = User Management
|
||||
admin-users-list = User List
|
||||
admin-users-add = Add User
|
||||
admin-users-edit = Edit User
|
||||
admin-users-delete = Delete User
|
||||
admin-users-search = Search users...
|
||||
admin-users-filter = Filter Users
|
||||
admin-users-export = Export Users
|
||||
admin-users-import = Import Users
|
||||
admin-users-total = Total Users
|
||||
admin-users-active = Active Users
|
||||
admin-users-inactive = Inactive Users
|
||||
admin-users-suspended = Suspended Users
|
||||
admin-users-pending = Pending Verification
|
||||
admin-users-last-login = Last Login
|
||||
admin-users-created = Created
|
||||
admin-users-role = Role
|
||||
admin-users-status = Status
|
||||
admin-users-actions = Actions
|
||||
admin-users-no-users = No users found
|
||||
admin-users-confirm-delete = Are you sure you want to delete this user?
|
||||
admin-users-deleted = User deleted successfully
|
||||
admin-users-saved = User saved successfully
|
||||
admin-users-invite = Invite User
|
||||
admin-users-invite-sent = Invitation sent successfully
|
||||
admin-users-bulk-actions = Bulk Actions
|
||||
admin-users-select-all = Select All
|
||||
admin-users-deselect-all = Deselect All
|
||||
|
||||
# User Details
|
||||
admin-user-details = User Details
|
||||
admin-user-profile = Profile
|
||||
admin-user-email = Email
|
||||
admin-user-name = Name
|
||||
admin-user-phone = Phone
|
||||
admin-user-avatar = Avatar
|
||||
admin-user-timezone = Timezone
|
||||
admin-user-language = Language
|
||||
admin-user-role-admin = Administrator
|
||||
admin-user-role-manager = Manager
|
||||
admin-user-role-user = User
|
||||
admin-user-role-viewer = Viewer
|
||||
admin-user-status-active = Active
|
||||
admin-user-status-inactive = Inactive
|
||||
admin-user-status-suspended = Suspended
|
||||
admin-user-status-pending = Pending
|
||||
admin-user-permissions = Permissions
|
||||
admin-user-activity = Activity Log
|
||||
admin-user-sessions = Active Sessions
|
||||
admin-user-terminate-session = Terminate Session
|
||||
admin-user-terminate-all = Terminate All Sessions
|
||||
admin-user-reset-password = Reset Password
|
||||
admin-user-force-logout = Force Logout
|
||||
admin-user-enable-2fa = Enable 2FA
|
||||
admin-user-disable-2fa = Disable 2FA
|
||||
|
||||
# -----------------------------------------------------------------------------
|
||||
# Group Management
|
||||
# -----------------------------------------------------------------------------
|
||||
admin-groups-title = Group Management
|
||||
admin-groups-subtitle = Manage groups, members, and permissions
|
||||
admin-groups-list = Group List
|
||||
admin-groups-add = Add Group
|
||||
admin-groups-create = Create Group
|
||||
admin-groups-edit = Edit Group
|
||||
admin-groups-delete = Delete Group
|
||||
admin-groups-search = Search groups...
|
||||
admin-groups-filter = Filter Groups
|
||||
admin-groups-total = Total Groups
|
||||
admin-groups-active = Active Groups
|
||||
admin-groups-no-groups = No groups found
|
||||
admin-groups-confirm-delete = Are you sure you want to delete this group?
|
||||
admin-groups-deleted = Group deleted successfully
|
||||
admin-groups-saved = Group saved successfully
|
||||
admin-groups-created = Group created successfully
|
||||
admin-groups-loading = Loading groups...
|
||||
|
||||
# Group Details
|
||||
admin-group-details = Group Details
|
||||
admin-group-name = Group Name
|
||||
admin-group-description = Description
|
||||
admin-group-visibility = Visibility
|
||||
admin-group-visibility-public = Public
|
||||
admin-group-visibility-private = Private
|
||||
admin-group-visibility-hidden = Hidden
|
||||
admin-group-join-policy = Join Policy
|
||||
admin-group-join-invite = Invite Only
|
||||
admin-group-join-request = Request to Join
|
||||
admin-group-join-open = Open
|
||||
admin-group-members = Members
|
||||
admin-group-member-count = { $count ->
|
||||
[one] { $count } member
|
||||
*[other] { $count } members
|
||||
}
|
||||
admin-group-add-member = Add Member
|
||||
admin-group-remove-member = Remove Member
|
||||
admin-group-permissions = Permissions
|
||||
admin-group-settings = Settings
|
||||
admin-group-analytics = Analytics
|
||||
admin-group-overview = Overview
|
||||
|
||||
# Group View Modes
|
||||
admin-groups-view-grid = Grid View
|
||||
admin-groups-view-list = List View
|
||||
admin-groups-all-visibility = All Visibility
|
||||
|
||||
# -----------------------------------------------------------------------------
|
||||
# DNS Management
|
||||
# -----------------------------------------------------------------------------
|
||||
admin-dns-title = DNS Management
|
||||
admin-dns-subtitle = Register and manage DNS hostnames for your bots
|
||||
admin-dns-register = Register Hostname
|
||||
admin-dns-registered = Registered Hostnames
|
||||
admin-dns-search = Search hostnames...
|
||||
admin-dns-refresh = Refresh
|
||||
admin-dns-loading = Loading DNS records...
|
||||
admin-dns-no-records = No DNS records found
|
||||
admin-dns-confirm-delete = Are you sure you want to remove this hostname?
|
||||
admin-dns-deleted = Hostname removed successfully
|
||||
admin-dns-saved = DNS record saved successfully
|
||||
admin-dns-created = Hostname registered successfully
|
||||
|
||||
# DNS Form Fields
|
||||
admin-dns-hostname = Hostname
|
||||
admin-dns-hostname-placeholder = mybot.example.com
|
||||
admin-dns-hostname-help = Enter the full domain name you want to register
|
||||
admin-dns-record-type = Record Type
|
||||
admin-dns-record-type-a = A (IPv4)
|
||||
admin-dns-record-type-aaaa = AAAA (IPv6)
|
||||
admin-dns-record-type-cname = CNAME
|
||||
admin-dns-ttl = TTL (seconds)
|
||||
admin-dns-ttl-5min = 5 minutes (300)
|
||||
admin-dns-ttl-1hour = 1 hour (3600)
|
||||
admin-dns-ttl-1day = 1 day (86400)
|
||||
admin-dns-target = Target/IP Address
|
||||
admin-dns-target-placeholder-ipv4 = 192.168.1.1
|
||||
admin-dns-target-placeholder-ipv6 = 2001:db8::1
|
||||
admin-dns-target-placeholder-cname = target.example.com
|
||||
admin-dns-target-help-a = Enter the IPv4 address to point to
|
||||
admin-dns-target-help-aaaa = Enter the IPv6 address to point to
|
||||
admin-dns-target-help-cname = Enter the target domain name
|
||||
admin-dns-auto-ssl = Automatically provision SSL certificate
|
||||
|
||||
# DNS Table Headers
|
||||
admin-dns-col-hostname = Hostname
|
||||
admin-dns-col-type = Type
|
||||
admin-dns-col-target = Target
|
||||
admin-dns-col-ttl = TTL
|
||||
admin-dns-col-ssl = SSL
|
||||
admin-dns-col-status = Status
|
||||
admin-dns-col-actions = Actions
|
||||
|
||||
# DNS Status
|
||||
admin-dns-status-active = Active
|
||||
admin-dns-status-pending = Pending
|
||||
admin-dns-status-error = Error
|
||||
admin-dns-ssl-enabled = SSL Enabled
|
||||
admin-dns-ssl-disabled = No SSL
|
||||
admin-dns-ssl-pending = SSL Pending
|
||||
|
||||
# DNS Info Cards
|
||||
admin-dns-help-title = DNS Configuration Help
|
||||
admin-dns-help-a-record = A Record
|
||||
admin-dns-help-a-record-desc = Maps a domain name to an IPv4 address. Use this to point your hostname directly to a server IP.
|
||||
admin-dns-help-aaaa-record = AAAA Record
|
||||
admin-dns-help-aaaa-record-desc = Maps a domain name to an IPv6 address. Similar to A record but for IPv6 connectivity.
|
||||
admin-dns-help-cname-record = CNAME Record
|
||||
admin-dns-help-cname-record-desc = Creates an alias from one domain to another. Useful for pointing subdomains to your main domain.
|
||||
admin-dns-help-ssl = SSL/TLS
|
||||
admin-dns-help-ssl-desc = Automatically provisions Let's Encrypt certificates for secure HTTPS connections.
|
||||
|
||||
# DNS Edit/Remove Modals
|
||||
admin-dns-edit-title = Edit DNS Record
|
||||
admin-dns-remove-title = Remove Hostname
|
||||
admin-dns-remove-warning = This will delete the DNS record and any associated SSL certificates. The hostname will no longer resolve.
|
||||
|
||||
# -----------------------------------------------------------------------------
|
||||
# Bot Management
|
||||
# -----------------------------------------------------------------------------
|
||||
admin-bots-title = Bot Management
|
||||
admin-bots-list = Bot List
|
||||
admin-bots-add = Add Bot
|
||||
admin-bots-edit = Edit Bot
|
||||
admin-bots-delete = Delete Bot
|
||||
admin-bots-search = Search bots...
|
||||
admin-bots-filter = Filter Bots
|
||||
admin-bots-total = Total Bots
|
||||
admin-bots-active = Active Bots
|
||||
admin-bots-inactive = Inactive Bots
|
||||
admin-bots-draft = Draft Bots
|
||||
admin-bots-published = Published Bots
|
||||
admin-bots-no-bots = No bots found
|
||||
admin-bots-confirm-delete = Are you sure you want to delete this bot?
|
||||
admin-bots-deleted = Bot deleted successfully
|
||||
admin-bots-saved = Bot saved successfully
|
||||
admin-bots-duplicate = Duplicate Bot
|
||||
admin-bots-export = Export Bot
|
||||
admin-bots-import = Import Bot
|
||||
admin-bots-publish = Publish
|
||||
admin-bots-unpublish = Unpublish
|
||||
admin-bots-test = Test Bot
|
||||
admin-bots-logs = Bot Logs
|
||||
admin-bots-analytics = Bot Analytics
|
||||
admin-bots-conversations = Conversations
|
||||
admin-bots-templates = Templates
|
||||
admin-bots-dialogs = Dialogs
|
||||
admin-bots-knowledge-base = Knowledge Base
|
||||
|
||||
# Bot Details
|
||||
admin-bot-details = Bot Details
|
||||
admin-bot-name = Bot Name
|
||||
admin-bot-description = Description
|
||||
admin-bot-avatar = Bot Avatar
|
||||
admin-bot-language = Language
|
||||
admin-bot-timezone = Timezone
|
||||
admin-bot-greeting = Greeting Message
|
||||
admin-bot-fallback = Fallback Message
|
||||
admin-bot-channels = Channels
|
||||
admin-bot-channel-web = Web Chat
|
||||
admin-bot-channel-whatsapp = WhatsApp
|
||||
admin-bot-channel-telegram = Telegram
|
||||
admin-bot-channel-slack = Slack
|
||||
admin-bot-channel-teams = Microsoft Teams
|
||||
admin-bot-channel-email = Email
|
||||
admin-bot-model = AI Model
|
||||
admin-bot-temperature = Temperature
|
||||
admin-bot-max-tokens = Max Tokens
|
||||
admin-bot-system-prompt = System Prompt
|
||||
|
||||
# -----------------------------------------------------------------------------
|
||||
# Tenant Management
|
||||
# -----------------------------------------------------------------------------
|
||||
admin-tenants-title = Tenant Management
|
||||
admin-tenants-list = Tenant List
|
||||
admin-tenants-add = Add Tenant
|
||||
admin-tenants-edit = Edit Tenant
|
||||
admin-tenants-delete = Delete Tenant
|
||||
admin-tenants-search = Search tenants...
|
||||
admin-tenants-total = Total Tenants
|
||||
admin-tenants-active = Active Tenants
|
||||
admin-tenants-suspended = Suspended Tenants
|
||||
admin-tenants-trial = Trial Tenants
|
||||
admin-tenants-no-tenants = No tenants found
|
||||
admin-tenants-confirm-delete = Are you sure you want to delete this tenant?
|
||||
admin-tenants-deleted = Tenant deleted successfully
|
||||
admin-tenants-saved = Tenant saved successfully
|
||||
|
||||
# Tenant Details
|
||||
admin-tenant-details = Tenant Details
|
||||
admin-tenant-name = Tenant Name
|
||||
admin-tenant-domain = Domain
|
||||
admin-tenant-plan = Plan
|
||||
admin-tenant-plan-free = Free
|
||||
admin-tenant-plan-starter = Starter
|
||||
admin-tenant-plan-professional = Professional
|
||||
admin-tenant-plan-enterprise = Enterprise
|
||||
admin-tenant-users = Users
|
||||
admin-tenant-bots = Bots
|
||||
admin-tenant-storage = Storage Used
|
||||
admin-tenant-api-calls = API Calls
|
||||
admin-tenant-limits = Usage Limits
|
||||
admin-tenant-billing = Billing Info
|
||||
|
||||
# -----------------------------------------------------------------------------
|
||||
# System Settings
|
||||
# -----------------------------------------------------------------------------
|
||||
admin-settings-title = System Settings
|
||||
admin-settings-general = General Settings
|
||||
admin-settings-security = Security Settings
|
||||
admin-settings-email = Email Settings
|
||||
admin-settings-storage = Storage Settings
|
||||
admin-settings-integrations = Integrations
|
||||
admin-settings-api = API Settings
|
||||
admin-settings-appearance = Appearance
|
||||
admin-settings-localization = Localization
|
||||
admin-settings-notifications = Notifications
|
||||
admin-settings-backup = Backup & Restore
|
||||
admin-settings-maintenance = Maintenance Mode
|
||||
admin-settings-saved = Settings saved successfully
|
||||
admin-settings-reset = Reset to Defaults
|
||||
admin-settings-confirm-reset = Are you sure you want to reset all settings to defaults?
|
||||
|
||||
# General Settings
|
||||
admin-settings-site-name = Site Name
|
||||
admin-settings-site-url = Site URL
|
||||
admin-settings-admin-email = Admin Email
|
||||
admin-settings-support-email = Support Email
|
||||
admin-settings-default-language = Default Language
|
||||
admin-settings-default-timezone = Default Timezone
|
||||
admin-settings-date-format = Date Format
|
||||
admin-settings-time-format = Time Format
|
||||
admin-settings-currency = Currency
|
||||
|
||||
# Email Settings
|
||||
admin-settings-smtp-host = SMTP Host
|
||||
admin-settings-smtp-port = SMTP Port
|
||||
admin-settings-smtp-user = SMTP Username
|
||||
admin-settings-smtp-password = SMTP Password
|
||||
admin-settings-smtp-encryption = Encryption
|
||||
admin-settings-smtp-from-name = From Name
|
||||
admin-settings-smtp-from-email = From Email
|
||||
admin-settings-smtp-test = Send Test Email
|
||||
admin-settings-smtp-test-success = Test email sent successfully
|
||||
admin-settings-smtp-test-failed = Failed to send test email
|
||||
|
||||
# Storage Settings
|
||||
admin-settings-storage-provider = Storage Provider
|
||||
admin-settings-storage-local = Local Storage
|
||||
admin-settings-storage-s3 = Amazon S3
|
||||
admin-settings-storage-minio = MinIO
|
||||
admin-settings-storage-gcs = Google Cloud Storage
|
||||
admin-settings-storage-azure = Azure Blob Storage
|
||||
admin-settings-storage-bucket = Bucket Name
|
||||
admin-settings-storage-region = Region
|
||||
admin-settings-storage-access-key = Access Key
|
||||
admin-settings-storage-secret-key = Secret Key
|
||||
admin-settings-storage-endpoint = Endpoint URL
|
||||
|
||||
# -----------------------------------------------------------------------------
|
||||
# System Logs
|
||||
# -----------------------------------------------------------------------------
|
||||
admin-logs-title = System Logs
|
||||
admin-logs-search = Search logs...
|
||||
admin-logs-filter-level = Filter by Level
|
||||
admin-logs-filter-source = Filter by Source
|
||||
admin-logs-filter-date = Filter by Date
|
||||
admin-logs-level-all = All Levels
|
||||
admin-logs-level-debug = Debug
|
||||
admin-logs-level-info = Info
|
||||
admin-logs-level-warning = Warning
|
||||
admin-logs-level-error = Error
|
||||
admin-logs-level-critical = Critical
|
||||
admin-logs-export = Export Logs
|
||||
admin-logs-clear = Clear Logs
|
||||
admin-logs-confirm-clear = Are you sure you want to clear all logs?
|
||||
admin-logs-cleared = Logs cleared successfully
|
||||
admin-logs-no-logs = No logs found
|
||||
admin-logs-refresh = Refresh
|
||||
admin-logs-auto-refresh = Auto Refresh
|
||||
admin-logs-timestamp = Timestamp
|
||||
admin-logs-level = Level
|
||||
admin-logs-source = Source
|
||||
admin-logs-message = Message
|
||||
admin-logs-details = Details
|
||||
|
||||
# -----------------------------------------------------------------------------
|
||||
# Analytics
|
||||
# -----------------------------------------------------------------------------
|
||||
admin-analytics-title = Analytics
|
||||
admin-analytics-overview = Overview
|
||||
admin-analytics-users = User Analytics
|
||||
admin-analytics-bots = Bot Analytics
|
||||
admin-analytics-conversations = Conversation Analytics
|
||||
admin-analytics-performance = Performance
|
||||
admin-analytics-period = Time Period
|
||||
admin-analytics-period-today = Today
|
||||
admin-analytics-period-week = This Week
|
||||
admin-analytics-period-month = This Month
|
||||
admin-analytics-period-quarter = This Quarter
|
||||
admin-analytics-period-year = This Year
|
||||
admin-analytics-period-custom = Custom Range
|
||||
admin-analytics-export = Export Report
|
||||
admin-analytics-total-users = Total Users
|
||||
admin-analytics-new-users = New Users
|
||||
admin-analytics-active-users = Active Users
|
||||
admin-analytics-total-bots = Total Bots
|
||||
admin-analytics-active-bots = Active Bots
|
||||
admin-analytics-total-conversations = Total Conversations
|
||||
admin-analytics-avg-response-time = Avg Response Time
|
||||
admin-analytics-satisfaction-rate = Satisfaction Rate
|
||||
admin-analytics-resolution-rate = Resolution Rate
|
||||
|
||||
# -----------------------------------------------------------------------------
|
||||
# Security
|
||||
# -----------------------------------------------------------------------------
|
||||
admin-security-title = Security
|
||||
admin-security-overview = Security Overview
|
||||
admin-security-audit-log = Audit Log
|
||||
admin-security-login-attempts = Login Attempts
|
||||
admin-security-blocked-ips = Blocked IPs
|
||||
admin-security-api-keys = API Keys
|
||||
admin-security-webhooks = Webhooks
|
||||
admin-security-cors = CORS Settings
|
||||
admin-security-rate-limiting = Rate Limiting
|
||||
admin-security-encryption = Encryption
|
||||
admin-security-2fa = Two-Factor Authentication
|
||||
admin-security-sso = Single Sign-On
|
||||
admin-security-password-policy = Password Policy
|
||||
|
||||
# API Keys
|
||||
admin-api-keys-title = API Keys
|
||||
admin-api-keys-add = Create API Key
|
||||
admin-api-keys-name = Key Name
|
||||
admin-api-keys-key = API Key
|
||||
admin-api-keys-secret = Secret Key
|
||||
admin-api-keys-created = Created
|
||||
admin-api-keys-last-used = Last Used
|
||||
admin-api-keys-expires = Expires
|
||||
admin-api-keys-never = Never
|
||||
admin-api-keys-revoke = Revoke
|
||||
admin-api-keys-confirm-revoke = Are you sure you want to revoke this API key?
|
||||
admin-api-keys-revoked = API key revoked successfully
|
||||
admin-api-keys-created-success = API key created successfully
|
||||
admin-api-keys-copy = Copy to Clipboard
|
||||
admin-api-keys-copied = Copied!
|
||||
admin-api-keys-warning = Make sure to copy your API key now. You won't be able to see it again!
|
||||
|
||||
# -----------------------------------------------------------------------------
|
||||
# Billing
|
||||
# -----------------------------------------------------------------------------
|
||||
admin-billing-title = Billing
|
||||
admin-billing-overview = Billing Overview
|
||||
admin-billing-current-plan = Current Plan
|
||||
admin-billing-usage = Usage
|
||||
admin-billing-invoices = Invoices
|
||||
admin-billing-payment-methods = Payment Methods
|
||||
admin-billing-upgrade = Upgrade Plan
|
||||
admin-billing-downgrade = Downgrade Plan
|
||||
admin-billing-cancel = Cancel Subscription
|
||||
admin-billing-invoice-date = Invoice Date
|
||||
admin-billing-invoice-amount = Amount
|
||||
admin-billing-invoice-status = Status
|
||||
admin-billing-invoice-paid = Paid
|
||||
admin-billing-invoice-pending = Pending
|
||||
admin-billing-invoice-overdue = Overdue
|
||||
admin-billing-invoice-download = Download Invoice
|
||||
|
||||
# -----------------------------------------------------------------------------
|
||||
# Backup & Restore
|
||||
# -----------------------------------------------------------------------------
|
||||
admin-backup-title = Backup & Restore
|
||||
admin-backup-create = Create Backup
|
||||
admin-backup-restore = Restore Backup
|
||||
admin-backup-schedule = Schedule Backups
|
||||
admin-backup-list = Backup History
|
||||
admin-backup-name = Backup Name
|
||||
admin-backup-size = Size
|
||||
admin-backup-created = Created
|
||||
admin-backup-download = Download
|
||||
admin-backup-delete = Delete
|
||||
admin-backup-confirm-restore = Are you sure you want to restore this backup? This will overwrite current data.
|
||||
admin-backup-confirm-delete = Are you sure you want to delete this backup?
|
||||
admin-backup-in-progress = Backup in progress...
|
||||
admin-backup-completed = Backup completed successfully
|
||||
admin-backup-failed = Backup failed
|
||||
admin-backup-restore-in-progress = Restore in progress...
|
||||
admin-backup-restore-completed = Restore completed successfully
|
||||
admin-backup-restore-failed = Restore failed
|
||||
|
||||
# -----------------------------------------------------------------------------
|
||||
# Maintenance Mode
|
||||
# -----------------------------------------------------------------------------
|
||||
admin-maintenance-title = Maintenance Mode
|
||||
admin-maintenance-enable = Enable Maintenance Mode
|
||||
admin-maintenance-disable = Disable Maintenance Mode
|
||||
admin-maintenance-status = Current Status
|
||||
admin-maintenance-active = Maintenance mode is active
|
||||
admin-maintenance-inactive = Maintenance mode is inactive
|
||||
admin-maintenance-message = Maintenance Message
|
||||
admin-maintenance-default-message = We are currently performing scheduled maintenance. Please check back soon.
|
||||
admin-maintenance-allowed-ips = Allowed IP Addresses
|
||||
admin-maintenance-confirm-enable = Are you sure you want to enable maintenance mode? Users will not be able to access the system.
|
||||
|
||||
# -----------------------------------------------------------------------------
|
||||
# Common Admin UI Elements
|
||||
# -----------------------------------------------------------------------------
|
||||
admin-required = Required
|
||||
admin-optional = Optional
|
||||
admin-loading = Loading...
|
||||
admin-saving = Saving...
|
||||
admin-deleting = Deleting...
|
||||
admin-confirm = Confirm
|
||||
admin-cancel = Cancel
|
||||
admin-save = Save
|
||||
admin-create = Create
|
||||
admin-update = Update
|
||||
admin-delete = Delete
|
||||
admin-edit = Edit
|
||||
admin-view = View
|
||||
admin-close = Close
|
||||
admin-back = Back
|
||||
admin-next = Next
|
||||
admin-previous = Previous
|
||||
admin-refresh = Refresh
|
||||
admin-export = Export
|
||||
admin-import = Import
|
||||
admin-search = Search
|
||||
admin-filter = Filter
|
||||
admin-clear = Clear
|
||||
admin-select = Select
|
||||
admin-select-all = Select All
|
||||
admin-deselect-all = Deselect All
|
||||
admin-actions = Actions
|
||||
admin-more-actions = More Actions
|
||||
admin-no-data = No data available
|
||||
admin-error = An error occurred
|
||||
admin-success = Success
|
||||
admin-warning = Warning
|
||||
admin-info = Information
|
||||
|
||||
# Table Pagination
|
||||
admin-showing = Showing { $from } to { $to } of { $total } results
|
||||
admin-page = Page { $current } of { $total }
|
||||
admin-items-per-page = Items per page
|
||||
admin-go-to-page = Go to page
|
||||
|
||||
# Bulk Actions
|
||||
admin-bulk-delete = Delete Selected
|
||||
admin-bulk-export = Export Selected
|
||||
admin-bulk-activate = Activate Selected
|
||||
admin-bulk-deactivate = Deactivate Selected
|
||||
admin-selected-count = { $count ->
|
||||
[one] { $count } item selected
|
||||
*[other] { $count } items selected
|
||||
}
|
||||
173
locales/en/analytics.ftl
Normal file
173
locales/en/analytics.ftl
Normal file
|
|
@ -0,0 +1,173 @@
|
|||
analytics-title = Analytics
|
||||
analytics-dashboard = Analytics Dashboard
|
||||
analytics-overview = Overview
|
||||
analytics-reports = Reports
|
||||
analytics-export = Export Data
|
||||
analytics-refresh = Refresh Data
|
||||
analytics-last-updated = Last updated: { $time }
|
||||
|
||||
analytics-period-today = Today
|
||||
analytics-period-yesterday = Yesterday
|
||||
analytics-period-week = This Week
|
||||
analytics-period-last-week = Last Week
|
||||
analytics-period-month = This Month
|
||||
analytics-period-last-month = Last Month
|
||||
analytics-period-quarter = This Quarter
|
||||
analytics-period-year = This Year
|
||||
analytics-period-custom = Custom Range
|
||||
analytics-period-from = From
|
||||
analytics-period-to = To
|
||||
analytics-period-apply = Apply
|
||||
|
||||
analytics-metric-total = Total
|
||||
analytics-metric-average = Average
|
||||
analytics-metric-min = Minimum
|
||||
analytics-metric-max = Maximum
|
||||
analytics-metric-count = Count
|
||||
analytics-metric-sum = Sum
|
||||
analytics-metric-percentage = Percentage
|
||||
analytics-metric-growth = Growth
|
||||
analytics-metric-change = Change
|
||||
analytics-metric-trend = Trend
|
||||
|
||||
analytics-users-title = User Analytics
|
||||
analytics-users-total = Total Users
|
||||
analytics-users-active = Active Users
|
||||
analytics-users-new = New Users
|
||||
analytics-users-returning = Returning Users
|
||||
analytics-users-churned = Churned Users
|
||||
analytics-users-growth = User Growth
|
||||
analytics-users-retention = User Retention
|
||||
analytics-users-engagement = User Engagement
|
||||
analytics-users-by-country = Users by Country
|
||||
analytics-users-by-device = Users by Device
|
||||
analytics-users-by-browser = Users by Browser
|
||||
analytics-users-by-os = Users by Operating System
|
||||
analytics-users-sessions = Sessions
|
||||
analytics-users-avg-session = Avg Session Duration
|
||||
analytics-users-page-views = Page Views
|
||||
analytics-users-bounce-rate = Bounce Rate
|
||||
|
||||
analytics-bots-title = Bot Analytics
|
||||
analytics-bots-total = Total Bots
|
||||
analytics-bots-active = Active Bots
|
||||
analytics-bots-conversations = Total Conversations
|
||||
analytics-bots-messages = Total Messages
|
||||
analytics-bots-avg-messages = Avg Messages per Conversation
|
||||
analytics-bots-response-time = Avg Response Time
|
||||
analytics-bots-resolution-rate = Resolution Rate
|
||||
analytics-bots-satisfaction = Satisfaction Score
|
||||
analytics-bots-handoff-rate = Human Handoff Rate
|
||||
analytics-bots-fallback-rate = Fallback Rate
|
||||
analytics-bots-intent-accuracy = Intent Accuracy
|
||||
analytics-bots-top-intents = Top Intents
|
||||
analytics-bots-top-topics = Top Topics
|
||||
analytics-bots-by-channel = Conversations by Channel
|
||||
analytics-bots-by-hour = Conversations by Hour
|
||||
analytics-bots-by-day = Conversations by Day
|
||||
|
||||
analytics-conversations-title = Conversation Analytics
|
||||
analytics-conversations-total = Total Conversations
|
||||
analytics-conversations-completed = Completed
|
||||
analytics-conversations-abandoned = Abandoned
|
||||
analytics-conversations-transferred = Transferred
|
||||
analytics-conversations-avg-duration = Avg Duration
|
||||
analytics-conversations-avg-messages = Avg Messages
|
||||
analytics-conversations-first-response = First Response Time
|
||||
analytics-conversations-wait-time = Avg Wait Time
|
||||
analytics-conversations-peak-hours = Peak Hours
|
||||
analytics-conversations-sentiment = Sentiment Analysis
|
||||
analytics-conversations-sentiment-positive = Positive
|
||||
analytics-conversations-sentiment-neutral = Neutral
|
||||
analytics-conversations-sentiment-negative = Negative
|
||||
analytics-conversations-languages = By Language
|
||||
analytics-conversations-sources = By Source
|
||||
|
||||
analytics-performance-title = Performance Analytics
|
||||
analytics-performance-uptime = Uptime
|
||||
analytics-performance-availability = Availability
|
||||
analytics-performance-response-time = Response Time
|
||||
analytics-performance-latency = Latency
|
||||
analytics-performance-throughput = Throughput
|
||||
analytics-performance-error-rate = Error Rate
|
||||
analytics-performance-cpu = CPU Usage
|
||||
analytics-performance-memory = Memory Usage
|
||||
analytics-performance-disk = Disk Usage
|
||||
analytics-performance-network = Network I/O
|
||||
analytics-performance-requests = Requests/sec
|
||||
analytics-performance-concurrent = Concurrent Users
|
||||
analytics-performance-queue-size = Queue Size
|
||||
analytics-performance-cache-hit = Cache Hit Rate
|
||||
|
||||
analytics-api-title = API Analytics
|
||||
analytics-api-calls = Total API Calls
|
||||
analytics-api-success = Successful Calls
|
||||
analytics-api-errors = Failed Calls
|
||||
analytics-api-avg-latency = Avg Latency
|
||||
analytics-api-by-endpoint = Calls by Endpoint
|
||||
analytics-api-by-method = Calls by Method
|
||||
analytics-api-by-status = Calls by Status Code
|
||||
analytics-api-rate-limited = Rate Limited Calls
|
||||
analytics-api-top-consumers = Top API Consumers
|
||||
|
||||
analytics-llm-title = LLM Analytics
|
||||
analytics-llm-requests = Total Requests
|
||||
analytics-llm-tokens-input = Input Tokens
|
||||
analytics-llm-tokens-output = Output Tokens
|
||||
analytics-llm-tokens-total = Total Tokens
|
||||
analytics-llm-cost = Estimated Cost
|
||||
analytics-llm-avg-latency = Avg Latency
|
||||
analytics-llm-by-model = Usage by Model
|
||||
analytics-llm-cache-hits = Cache Hits
|
||||
analytics-llm-cache-misses = Cache Misses
|
||||
|
||||
analytics-storage-title = Storage Analytics
|
||||
analytics-storage-total = Total Storage
|
||||
analytics-storage-used = Used Storage
|
||||
analytics-storage-available = Available Storage
|
||||
analytics-storage-by-type = Storage by File Type
|
||||
analytics-storage-by-tenant = Storage by Tenant
|
||||
analytics-storage-growth = Storage Growth
|
||||
analytics-storage-uploads = Total Uploads
|
||||
analytics-storage-downloads = Total Downloads
|
||||
|
||||
analytics-chart-line = Line Chart
|
||||
analytics-chart-bar = Bar Chart
|
||||
analytics-chart-pie = Pie Chart
|
||||
analytics-chart-area = Area Chart
|
||||
analytics-chart-donut = Donut Chart
|
||||
analytics-chart-table = Table View
|
||||
analytics-chart-heatmap = Heatmap
|
||||
analytics-chart-no-data = No data available for this period
|
||||
|
||||
analytics-comparison-previous = vs Previous Period
|
||||
analytics-comparison-increase = { $value }% increase
|
||||
analytics-comparison-decrease = { $value }% decrease
|
||||
analytics-comparison-no-change = No change
|
||||
|
||||
analytics-filter-all = All
|
||||
analytics-filter-apply = Apply Filters
|
||||
analytics-filter-clear = Clear Filters
|
||||
analytics-filter-by-bot = Filter by Bot
|
||||
analytics-filter-by-channel = Filter by Channel
|
||||
analytics-filter-by-user = Filter by User
|
||||
analytics-filter-by-tenant = Filter by Tenant
|
||||
|
||||
analytics-report-generate = Generate Report
|
||||
analytics-report-schedule = Schedule Report
|
||||
analytics-report-download = Download Report
|
||||
analytics-report-email = Email Report
|
||||
analytics-report-format-pdf = PDF
|
||||
analytics-report-format-csv = CSV
|
||||
analytics-report-format-excel = Excel
|
||||
analytics-report-format-json = JSON
|
||||
analytics-report-generating = Generating report...
|
||||
analytics-report-ready = Report ready for download
|
||||
analytics-report-failed = Failed to generate report
|
||||
|
||||
analytics-realtime = Real-time Analytics
|
||||
analytics-realtime-active = Active Now
|
||||
analytics-realtime-conversations = Active Conversations
|
||||
analytics-realtime-users = Online Users
|
||||
analytics-realtime-requests = Requests/min
|
||||
analytics-realtime-events = Events/sec
|
||||
256
locales/en/auth.ftl
Normal file
256
locales/en/auth.ftl
Normal file
|
|
@ -0,0 +1,256 @@
|
|||
# =============================================================================
|
||||
# General Bots - Authentication Translations (English)
|
||||
# =============================================================================
|
||||
# Authentication, Passkey/WebAuthn, and security interface translations
|
||||
# =============================================================================
|
||||
|
||||
# -----------------------------------------------------------------------------
|
||||
# Authentication General
|
||||
# -----------------------------------------------------------------------------
|
||||
auth-title = Authentication
|
||||
auth-login = Log In
|
||||
auth-logout = Log Out
|
||||
auth-signup = Sign Up
|
||||
auth-welcome = Welcome
|
||||
auth-welcome-back = Welcome back, { $name }!
|
||||
auth-session-expired = Your session has expired
|
||||
auth-session-timeout = Session timeout in { $minutes } minutes
|
||||
|
||||
# -----------------------------------------------------------------------------
|
||||
# Login Form
|
||||
# -----------------------------------------------------------------------------
|
||||
auth-login-title = Sign in to your account
|
||||
auth-login-subtitle = Enter your credentials to continue
|
||||
auth-login-email = Email Address
|
||||
auth-login-username = Username
|
||||
auth-login-password = Password
|
||||
auth-login-remember = Remember me
|
||||
auth-login-forgot = Forgot password?
|
||||
auth-login-submit = Sign In
|
||||
auth-login-loading = Signing in...
|
||||
auth-login-or = or continue with
|
||||
auth-login-no-account = Don't have an account?
|
||||
auth-login-create-account = Create an account
|
||||
|
||||
# -----------------------------------------------------------------------------
|
||||
# Passkey/WebAuthn
|
||||
# -----------------------------------------------------------------------------
|
||||
passkey-title = Passkeys
|
||||
passkey-subtitle = Secure, passwordless authentication
|
||||
passkey-description = Passkeys use your device's biometrics or PIN for secure, phishing-resistant sign-in
|
||||
passkey-what-is = What is a passkey?
|
||||
passkey-benefits = Benefits of passkeys
|
||||
passkey-benefit-secure = More secure than passwords
|
||||
passkey-benefit-easy = Easy to use - no passwords to remember
|
||||
passkey-benefit-fast = Fast sign-in with biometrics
|
||||
passkey-benefit-phishing = Resistant to phishing attacks
|
||||
|
||||
# -----------------------------------------------------------------------------
|
||||
# Passkey Registration
|
||||
# -----------------------------------------------------------------------------
|
||||
passkey-register-title = Set Up Passkey
|
||||
passkey-register-subtitle = Create a passkey for faster, more secure sign-in
|
||||
passkey-register-description = Your device will ask you to verify your identity using your fingerprint, face, or screen lock
|
||||
passkey-register-button = Create Passkey
|
||||
passkey-register-name = Passkey Name
|
||||
passkey-register-name-placeholder = e.g., MacBook Pro, iPhone
|
||||
passkey-register-name-hint = Give your passkey a name to identify it later
|
||||
passkey-register-loading = Setting up passkey...
|
||||
passkey-register-verifying = Verifying with your device...
|
||||
passkey-register-success = Passkey created successfully
|
||||
passkey-register-error = Failed to create passkey
|
||||
passkey-register-cancelled = Passkey setup cancelled
|
||||
passkey-register-not-supported = Your browser doesn't support passkeys
|
||||
|
||||
# -----------------------------------------------------------------------------
|
||||
# Passkey Authentication
|
||||
# -----------------------------------------------------------------------------
|
||||
passkey-login-title = Sign in with Passkey
|
||||
passkey-login-subtitle = Use your passkey for secure, passwordless sign-in
|
||||
passkey-login-button = Sign in with Passkey
|
||||
passkey-login-loading = Authenticating...
|
||||
passkey-login-verifying = Verifying passkey...
|
||||
passkey-login-success = Signed in successfully
|
||||
passkey-login-error = Authentication failed
|
||||
passkey-login-cancelled = Authentication cancelled
|
||||
passkey-login-no-passkeys = No passkeys found for this account
|
||||
passkey-login-try-another = Try another method
|
||||
|
||||
# -----------------------------------------------------------------------------
|
||||
# Passkey Management
|
||||
# -----------------------------------------------------------------------------
|
||||
passkey-manage-title = Manage Passkeys
|
||||
passkey-manage-subtitle = View and manage your registered passkeys
|
||||
passkey-manage-count = { $count ->
|
||||
[one] { $count } passkey registered
|
||||
*[other] { $count } passkeys registered
|
||||
}
|
||||
passkey-manage-add = Add New Passkey
|
||||
passkey-manage-rename = Rename
|
||||
passkey-manage-delete = Delete
|
||||
passkey-manage-created = Created { $date }
|
||||
passkey-manage-last-used = Last used { $date }
|
||||
passkey-manage-never-used = Never used
|
||||
passkey-manage-this-device = This device
|
||||
passkey-manage-cross-platform = Cross-platform
|
||||
passkey-manage-platform = Platform authenticator
|
||||
passkey-manage-security-key = Security key
|
||||
passkey-manage-empty = No passkeys registered
|
||||
passkey-manage-empty-description = Add a passkey for faster, more secure sign-in
|
||||
|
||||
# -----------------------------------------------------------------------------
|
||||
# Passkey Deletion
|
||||
# -----------------------------------------------------------------------------
|
||||
passkey-delete-title = Delete Passkey
|
||||
passkey-delete-confirm = Are you sure you want to delete this passkey?
|
||||
passkey-delete-warning = You won't be able to use this passkey to sign in anymore
|
||||
passkey-delete-last-warning = This is your only passkey. You'll need to use password authentication after deleting it.
|
||||
passkey-delete-success = Passkey deleted successfully
|
||||
passkey-delete-error = Failed to delete passkey
|
||||
|
||||
# -----------------------------------------------------------------------------
|
||||
# Password Fallback
|
||||
# -----------------------------------------------------------------------------
|
||||
passkey-fallback-title = Use Password Instead
|
||||
passkey-fallback-description = If you can't use your passkey, you can sign in with your password
|
||||
passkey-fallback-button = Use Password
|
||||
passkey-fallback-or-passkey = Or sign in with passkey
|
||||
passkey-fallback-setup-prompt = Set up a passkey for faster sign-in next time
|
||||
passkey-fallback-setup-later = Maybe later
|
||||
passkey-fallback-setup-now = Set up now
|
||||
passkey-fallback-locked = Account temporarily locked
|
||||
passkey-fallback-locked-description = Too many failed attempts. Try again in { $minutes } minutes.
|
||||
passkey-fallback-attempts = { $remaining } attempts remaining
|
||||
|
||||
# -----------------------------------------------------------------------------
|
||||
# Multi-Factor Authentication
|
||||
# -----------------------------------------------------------------------------
|
||||
mfa-title = Two-Factor Authentication
|
||||
mfa-subtitle = Add an extra layer of security to your account
|
||||
mfa-enabled = Two-factor authentication is enabled
|
||||
mfa-disabled = Two-factor authentication is disabled
|
||||
mfa-enable = Enable 2FA
|
||||
mfa-disable = Disable 2FA
|
||||
mfa-setup = Set Up 2FA
|
||||
mfa-verify = Verify Code
|
||||
mfa-code = Verification Code
|
||||
mfa-code-placeholder = Enter 6-digit code
|
||||
mfa-code-sent = Code sent to { $destination }
|
||||
mfa-code-expired = Code has expired
|
||||
mfa-code-invalid = Invalid code
|
||||
mfa-resend = Resend code
|
||||
mfa-resend-in = Resend in { $seconds }s
|
||||
mfa-methods = Authentication Methods
|
||||
mfa-method-app = Authenticator App
|
||||
mfa-method-sms = SMS
|
||||
mfa-method-email = Email
|
||||
mfa-method-passkey = Passkey
|
||||
mfa-backup-codes = Backup Codes
|
||||
mfa-backup-codes-description = Save these codes in a safe place. Each code can only be used once.
|
||||
mfa-backup-codes-remaining = { $count } backup codes remaining
|
||||
mfa-backup-codes-generate = Generate New Codes
|
||||
mfa-backup-codes-download = Download Codes
|
||||
mfa-backup-codes-copy = Copy Codes
|
||||
|
||||
# -----------------------------------------------------------------------------
|
||||
# Password Management
|
||||
# -----------------------------------------------------------------------------
|
||||
password-title = Password
|
||||
password-change = Change Password
|
||||
password-current = Current Password
|
||||
password-new = New Password
|
||||
password-confirm = Confirm New Password
|
||||
password-requirements = Password Requirements
|
||||
password-requirement-length = At least { $length } characters
|
||||
password-requirement-uppercase = At least one uppercase letter
|
||||
password-requirement-lowercase = At least one lowercase letter
|
||||
password-requirement-number = At least one number
|
||||
password-requirement-special = At least one special character
|
||||
password-strength = Password Strength
|
||||
password-strength-weak = Weak
|
||||
password-strength-fair = Fair
|
||||
password-strength-good = Good
|
||||
password-strength-strong = Strong
|
||||
password-match = Passwords match
|
||||
password-mismatch = Passwords do not match
|
||||
password-changed = Password changed successfully
|
||||
password-change-error = Failed to change password
|
||||
|
||||
# -----------------------------------------------------------------------------
|
||||
# Password Reset
|
||||
# -----------------------------------------------------------------------------
|
||||
password-reset-title = Reset Password
|
||||
password-reset-subtitle = Enter your email to receive a reset link
|
||||
password-reset-email-sent = Password reset email sent
|
||||
password-reset-email-sent-description = Check your email for instructions to reset your password
|
||||
password-reset-invalid-token = Invalid or expired reset link
|
||||
password-reset-success = Password reset successfully
|
||||
password-reset-error = Failed to reset password
|
||||
|
||||
# -----------------------------------------------------------------------------
|
||||
# Session Management
|
||||
# -----------------------------------------------------------------------------
|
||||
session-title = Active Sessions
|
||||
session-subtitle = Manage your active sessions across devices
|
||||
session-current = Current Session
|
||||
session-device = Device
|
||||
session-location = Location
|
||||
session-last-active = Last Active
|
||||
session-ip-address = IP Address
|
||||
session-browser = Browser
|
||||
session-os = Operating System
|
||||
session-sign-out = Sign Out
|
||||
session-sign-out-all = Sign Out All Other Sessions
|
||||
session-sign-out-confirm = Are you sure you want to sign out of this session?
|
||||
session-sign-out-all-confirm = Are you sure you want to sign out of all other sessions?
|
||||
|
||||
# -----------------------------------------------------------------------------
|
||||
# Security Settings
|
||||
# -----------------------------------------------------------------------------
|
||||
security-title = Security
|
||||
security-subtitle = Manage your account security settings
|
||||
security-overview = Security Overview
|
||||
security-last-login = Last Sign In
|
||||
security-password-last-changed = Password Last Changed
|
||||
security-security-checkup = Security Checkup
|
||||
security-checkup-description = Review your security settings
|
||||
security-recommendation = Recommendation
|
||||
security-add-passkey = Add a passkey for more secure sign-in
|
||||
security-enable-mfa = Enable two-factor authentication
|
||||
security-update-password = Update your password regularly
|
||||
|
||||
# -----------------------------------------------------------------------------
|
||||
# Error Messages
|
||||
# -----------------------------------------------------------------------------
|
||||
auth-error-invalid-credentials = Invalid email or password
|
||||
auth-error-account-locked = Account is locked. Please contact support.
|
||||
auth-error-account-disabled = Account has been disabled
|
||||
auth-error-email-not-verified = Please verify your email address
|
||||
auth-error-too-many-attempts = Too many failed attempts. Please try again later.
|
||||
auth-error-network = Network error. Please check your connection.
|
||||
auth-error-server = Server error. Please try again later.
|
||||
auth-error-unknown = An unknown error occurred
|
||||
auth-error-session-invalid = Invalid session. Please sign in again.
|
||||
auth-error-token-expired = Your session has expired. Please sign in again.
|
||||
auth-error-unauthorized = You are not authorized to perform this action
|
||||
|
||||
# -----------------------------------------------------------------------------
|
||||
# Success Messages
|
||||
# -----------------------------------------------------------------------------
|
||||
auth-success-login = Signed in successfully
|
||||
auth-success-logout = Signed out successfully
|
||||
auth-success-signup = Account created successfully
|
||||
auth-success-password-changed = Password changed successfully
|
||||
auth-success-email-verified = Email verified successfully
|
||||
auth-success-mfa-enabled = Two-factor authentication enabled
|
||||
auth-success-mfa-disabled = Two-factor authentication disabled
|
||||
auth-success-session-terminated = Session terminated successfully
|
||||
|
||||
# -----------------------------------------------------------------------------
|
||||
# Notifications
|
||||
# -----------------------------------------------------------------------------
|
||||
auth-notify-new-login = New sign-in from { $device } in { $location }
|
||||
auth-notify-password-changed = Your password was changed
|
||||
auth-notify-mfa-enabled = Two-factor authentication was enabled
|
||||
auth-notify-passkey-added = New passkey was added to your account
|
||||
auth-notify-suspicious-activity = Suspicious activity detected on your account
|
||||
150
locales/en/bot-templates.ftl
Normal file
150
locales/en/bot-templates.ftl
Normal file
|
|
@ -0,0 +1,150 @@
|
|||
bot-greeting-default = Hello! How can I help you today?
|
||||
bot-greeting-named = Hello, { $name }! How can I help you today?
|
||||
bot-goodbye = Goodbye! Have a great day!
|
||||
bot-help-prompt = I can help you with: { $topics }. What would you like to know?
|
||||
bot-thank-you = Thank you for your message. How can I assist you today?
|
||||
bot-echo-intro = Echo Bot: I will repeat everything you say. Type 'quit' to exit.
|
||||
bot-you-said = You said: { $message }
|
||||
bot-thinking = Let me think about that...
|
||||
bot-processing = Processing your request...
|
||||
bot-error-occurred = I'm sorry, something went wrong. Please try again.
|
||||
bot-not-understood = I didn't understand that. Could you please rephrase?
|
||||
bot-confirm-action = Are you sure you want to proceed?
|
||||
bot-action-cancelled = Action cancelled.
|
||||
bot-action-completed = Done!
|
||||
|
||||
bot-lead-welcome = Welcome! Let me help you get started.
|
||||
bot-lead-ask-name = What's your name?
|
||||
bot-lead-ask-email = And your email?
|
||||
bot-lead-ask-company = What company are you from?
|
||||
bot-lead-ask-phone = What's your phone number?
|
||||
bot-lead-hot = Great! Our sales team will reach out shortly.
|
||||
bot-lead-nurture = Thanks for your interest! We'll send you some resources.
|
||||
bot-lead-score = Your lead score is { $score } out of 100.
|
||||
bot-lead-saved = Your information has been saved successfully.
|
||||
|
||||
bot-schedule-created = Running scheduled task: { $name }
|
||||
bot-schedule-next = Next run scheduled for { $datetime }
|
||||
bot-schedule-cancelled = Schedule cancelled.
|
||||
bot-schedule-paused = Schedule paused.
|
||||
bot-schedule-resumed = Schedule resumed.
|
||||
|
||||
bot-monitor-alert = Alert: { $subject } has changed
|
||||
bot-monitor-threshold = { $metric } has exceeded threshold: { $value }
|
||||
bot-monitor-recovered = { $subject } has returned to normal.
|
||||
bot-monitor-status = Current status: { $status }
|
||||
|
||||
bot-order-welcome = Welcome to our store! How can I help?
|
||||
bot-order-track = Track my order
|
||||
bot-order-browse = Browse products
|
||||
bot-order-support = Contact support
|
||||
bot-order-enter-id = Please enter your order number:
|
||||
bot-order-status = Order status: { $status }
|
||||
bot-order-shipped = Your order has been shipped! Tracking number: { $tracking }
|
||||
bot-order-delivered = Your order has been delivered.
|
||||
bot-order-processing = Your order is being processed.
|
||||
bot-order-cancelled = Your order has been cancelled.
|
||||
bot-order-ticket = Support ticket created: #{ $ticket }
|
||||
bot-order-products-available = Here are our available products:
|
||||
bot-order-product-item = { $name } - { $price }
|
||||
bot-order-cart-added = Added { $product } to your cart.
|
||||
bot-order-cart-total = Your cart total is { $total }.
|
||||
bot-order-checkout = Proceeding to checkout...
|
||||
|
||||
bot-hr-welcome = HR Assistant here. How can I help?
|
||||
bot-hr-request-leave = Request leave
|
||||
bot-hr-check-balance = Check balance
|
||||
bot-hr-view-policies = View policies
|
||||
bot-hr-leave-type = What type of leave? (vacation/sick/personal)
|
||||
bot-hr-start-date = Start date? (YYYY-MM-DD)
|
||||
bot-hr-end-date = End date? (YYYY-MM-DD)
|
||||
bot-hr-leave-submitted = Leave request submitted! Your manager will review it.
|
||||
bot-hr-leave-approved = Your leave request has been approved.
|
||||
bot-hr-leave-rejected = Your leave request has been rejected.
|
||||
bot-hr-leave-pending = Your leave request is pending approval.
|
||||
bot-hr-balance-title = Your leave balance:
|
||||
bot-hr-vacation-days = Vacation: { $days } days
|
||||
bot-hr-sick-days = Sick: { $days } days
|
||||
bot-hr-personal-days = Personal: { $days } days
|
||||
bot-hr-policy-found = Here's the policy information you requested:
|
||||
bot-hr-policy-not-found = Policy not found. Please check the policy name.
|
||||
|
||||
bot-health-welcome = Welcome to our healthcare center. How can I help?
|
||||
bot-health-book = Book appointment
|
||||
bot-health-cancel = Cancel appointment
|
||||
bot-health-view = View my appointments
|
||||
bot-health-reschedule = Reschedule appointment
|
||||
bot-health-type = What type of appointment? (general/specialist/lab)
|
||||
bot-health-doctor = Which doctor would you prefer?
|
||||
bot-health-date = What date works best for you?
|
||||
bot-health-time = What time would you prefer?
|
||||
bot-health-confirmed = Your appointment has been confirmed for { $datetime } with { $doctor }.
|
||||
bot-health-cancelled = Your appointment has been cancelled.
|
||||
bot-health-rescheduled = Your appointment has been rescheduled to { $datetime }.
|
||||
bot-health-reminder = Reminder: You have an appointment on { $datetime }.
|
||||
bot-health-no-appointments = You don't have any upcoming appointments.
|
||||
bot-health-appointments-list = Your upcoming appointments:
|
||||
|
||||
bot-support-welcome = How can I help you today?
|
||||
bot-support-describe = Please describe your issue:
|
||||
bot-support-category = What category best describes your issue?
|
||||
bot-support-priority = How urgent is this issue?
|
||||
bot-support-ticket-created = Support ticket #{ $ticket } has been created.
|
||||
bot-support-ticket-status = Ticket #{ $ticket } status: { $status }
|
||||
bot-support-ticket-updated = Your ticket has been updated.
|
||||
bot-support-ticket-resolved = Your ticket has been resolved. Please let us know if you need further assistance.
|
||||
bot-support-transfer = Transferring you to a human agent...
|
||||
bot-support-wait-time = Estimated wait time: { $minutes } minutes.
|
||||
bot-support-agent-joined = Agent { $name } has joined the conversation.
|
||||
|
||||
bot-survey-intro = We'd love to hear your feedback!
|
||||
bot-survey-question = { $question }
|
||||
bot-survey-scale = On a scale of 1-10, how would you rate { $subject }?
|
||||
bot-survey-open = Please share any additional comments:
|
||||
bot-survey-thanks = Thank you for your feedback!
|
||||
bot-survey-completed = Survey completed successfully.
|
||||
bot-survey-skip = You can skip this question if you prefer.
|
||||
|
||||
bot-notification-new-message = You have a new message from { $sender }.
|
||||
bot-notification-task-due = Task "{ $task }" is due { $when }.
|
||||
bot-notification-reminder = Reminder: { $message }
|
||||
bot-notification-update = Update: { $message }
|
||||
bot-notification-alert = Alert: { $message }
|
||||
|
||||
bot-command-help = Available commands:
|
||||
bot-command-unknown = Unknown command. Type 'help' for available commands.
|
||||
bot-command-invalid = Invalid command syntax. Usage: { $usage }
|
||||
|
||||
bot-transfer-to-human = Transferring you to a human agent. Please wait...
|
||||
bot-transfer-complete = You are now connected with { $agent }.
|
||||
bot-transfer-unavailable = No agents are currently available. Please try again later.
|
||||
bot-transfer-queue-position = You are number { $position } in the queue.
|
||||
|
||||
bot-auth-login-prompt = Please enter your credentials to continue.
|
||||
bot-auth-login-success = You have been logged in successfully.
|
||||
bot-auth-login-failed = Login failed. Please check your credentials.
|
||||
bot-auth-logout-success = You have been logged out.
|
||||
bot-auth-session-expired = Your session has expired. Please log in again.
|
||||
|
||||
bot-file-upload-prompt = Please upload your file.
|
||||
bot-file-upload-success = File "{ $filename }" uploaded successfully.
|
||||
bot-file-upload-failed = Failed to upload file. Please try again.
|
||||
bot-file-download-ready = Your file is ready for download.
|
||||
bot-file-processing = Processing your file...
|
||||
|
||||
bot-payment-amount = The total amount is { $amount }.
|
||||
bot-payment-method = Please select a payment method.
|
||||
bot-payment-processing = Processing your payment...
|
||||
bot-payment-success = Payment successful! Transaction ID: { $transactionId }
|
||||
bot-payment-failed = Payment failed. Please try again or use a different payment method.
|
||||
bot-payment-refund = Your refund of { $amount } has been processed.
|
||||
|
||||
bot-subscription-active = Your subscription is active until { $endDate }.
|
||||
bot-subscription-expired = Your subscription has expired.
|
||||
bot-subscription-renew = Would you like to renew your subscription?
|
||||
bot-subscription-upgraded = Your subscription has been upgraded to { $plan }.
|
||||
bot-subscription-cancelled = Your subscription has been cancelled.
|
||||
|
||||
bot-feedback-positive = Thank you for your positive feedback!
|
||||
bot-feedback-negative = We're sorry to hear that. How can we improve?
|
||||
bot-feedback-rating = You rated this interaction { $rating } out of 5.
|
||||
186
locales/en/channels.ftl
Normal file
186
locales/en/channels.ftl
Normal file
|
|
@ -0,0 +1,186 @@
|
|||
channel-web = Web Chat
|
||||
channel-whatsapp = WhatsApp
|
||||
channel-telegram = Telegram
|
||||
channel-slack = Slack
|
||||
channel-teams = Microsoft Teams
|
||||
channel-email = Email
|
||||
channel-sms = SMS
|
||||
channel-instagram = Instagram
|
||||
channel-messenger = Facebook Messenger
|
||||
channel-discord = Discord
|
||||
channel-voice = Voice
|
||||
channel-api = API
|
||||
|
||||
channel-status-connected = Connected
|
||||
channel-status-disconnected = Disconnected
|
||||
channel-status-connecting = Connecting...
|
||||
channel-status-error = Connection Error
|
||||
channel-status-pending = Pending Setup
|
||||
channel-status-active = Active
|
||||
channel-status-inactive = Inactive
|
||||
channel-status-suspended = Suspended
|
||||
|
||||
channel-setup-title = Channel Setup
|
||||
channel-setup-description = Connect your bot to different communication channels
|
||||
channel-setup-select = Select a channel to configure
|
||||
channel-setup-configure = Configure Channel
|
||||
channel-setup-test = Test Connection
|
||||
channel-setup-save = Save Configuration
|
||||
channel-setup-cancel = Cancel
|
||||
channel-setup-reset = Reset to Defaults
|
||||
|
||||
channel-connect = Connect
|
||||
channel-disconnect = Disconnect
|
||||
channel-reconnect = Reconnect
|
||||
channel-refresh = Refresh Status
|
||||
channel-settings = Channel Settings
|
||||
channel-delete = Remove Channel
|
||||
channel-confirm-delete = Are you sure you want to remove this channel?
|
||||
channel-deleted = Channel removed successfully
|
||||
channel-saved = Channel configuration saved
|
||||
|
||||
channel-whatsapp-phone = Phone Number
|
||||
channel-whatsapp-business-id = Business Account ID
|
||||
channel-whatsapp-api-key = API Key
|
||||
channel-whatsapp-webhook = Webhook URL
|
||||
channel-whatsapp-verify-token = Verify Token
|
||||
channel-whatsapp-template = Message Template
|
||||
channel-whatsapp-templates = Message Templates
|
||||
channel-whatsapp-template-create = Create Template
|
||||
channel-whatsapp-template-status = Template Status
|
||||
channel-whatsapp-template-approved = Approved
|
||||
channel-whatsapp-template-pending = Pending Approval
|
||||
channel-whatsapp-template-rejected = Rejected
|
||||
channel-whatsapp-24h-window = 24-hour messaging window
|
||||
channel-whatsapp-session-active = Session active
|
||||
channel-whatsapp-session-expired = Session expired
|
||||
|
||||
channel-telegram-bot-token = Bot Token
|
||||
channel-telegram-bot-username = Bot Username
|
||||
channel-telegram-webhook = Webhook URL
|
||||
channel-telegram-commands = Bot Commands
|
||||
channel-telegram-command-add = Add Command
|
||||
channel-telegram-command-name = Command Name
|
||||
channel-telegram-command-description = Description
|
||||
channel-telegram-inline-mode = Inline Mode
|
||||
channel-telegram-group-privacy = Group Privacy Mode
|
||||
|
||||
channel-slack-workspace = Workspace
|
||||
channel-slack-bot-token = Bot Token
|
||||
channel-slack-signing-secret = Signing Secret
|
||||
channel-slack-app-id = App ID
|
||||
channel-slack-channels = Channels
|
||||
channel-slack-channel-select = Select Channels
|
||||
channel-slack-events = Event Subscriptions
|
||||
channel-slack-slash-commands = Slash Commands
|
||||
channel-slack-interactivity = Interactivity
|
||||
|
||||
channel-teams-tenant-id = Tenant ID
|
||||
channel-teams-app-id = Application ID
|
||||
channel-teams-app-secret = Application Secret
|
||||
channel-teams-bot-id = Bot ID
|
||||
channel-teams-manifest = App Manifest
|
||||
channel-teams-publish = Publish to Teams
|
||||
channel-teams-install = Install in Teams
|
||||
|
||||
channel-email-smtp-host = SMTP Host
|
||||
channel-email-smtp-port = SMTP Port
|
||||
channel-email-smtp-user = SMTP Username
|
||||
channel-email-smtp-password = SMTP Password
|
||||
channel-email-smtp-encryption = Encryption
|
||||
channel-email-imap-host = IMAP Host
|
||||
channel-email-imap-port = IMAP Port
|
||||
channel-email-from-name = From Name
|
||||
channel-email-from-address = From Address
|
||||
channel-email-reply-to = Reply-To Address
|
||||
channel-email-signature = Email Signature
|
||||
|
||||
channel-instagram-account = Instagram Account
|
||||
channel-instagram-page-id = Page ID
|
||||
channel-instagram-access-token = Access Token
|
||||
channel-instagram-business = Business Account
|
||||
channel-instagram-comments = Comment Replies
|
||||
channel-instagram-stories = Story Mentions
|
||||
channel-instagram-dm = Direct Messages
|
||||
|
||||
channel-messenger-page-id = Page ID
|
||||
channel-messenger-app-id = App ID
|
||||
channel-messenger-app-secret = App Secret
|
||||
channel-messenger-page-token = Page Access Token
|
||||
channel-messenger-verify-token = Verify Token
|
||||
channel-messenger-persistent-menu = Persistent Menu
|
||||
channel-messenger-get-started = Get Started Button
|
||||
|
||||
channel-sms-provider = SMS Provider
|
||||
channel-sms-twilio = Twilio
|
||||
channel-sms-vonage = Vonage
|
||||
channel-sms-account-sid = Account SID
|
||||
channel-sms-auth-token = Auth Token
|
||||
channel-sms-phone-number = Phone Number
|
||||
channel-sms-sender-id = Sender ID
|
||||
|
||||
channel-voice-provider = Voice Provider
|
||||
channel-voice-twilio = Twilio
|
||||
channel-voice-vonage = Vonage
|
||||
channel-voice-phone-number = Phone Number
|
||||
channel-voice-greeting = Voice Greeting
|
||||
channel-voice-fallback = Fallback Message
|
||||
channel-voice-transcription = Enable Transcription
|
||||
channel-voice-recording = Enable Recording
|
||||
channel-voice-language = Voice Language
|
||||
channel-voice-voice-type = Voice Type
|
||||
|
||||
channel-discord-bot-token = Bot Token
|
||||
channel-discord-client-id = Client ID
|
||||
channel-discord-client-secret = Client Secret
|
||||
channel-discord-guild = Server (Guild)
|
||||
channel-discord-channels = Channels
|
||||
channel-discord-permissions = Bot Permissions
|
||||
channel-discord-invite-url = Invite URL
|
||||
|
||||
channel-api-endpoint = API Endpoint
|
||||
channel-api-key = API Key
|
||||
channel-api-secret = API Secret
|
||||
channel-api-webhook = Webhook URL
|
||||
channel-api-rate-limit = Rate Limit
|
||||
channel-api-documentation = API Documentation
|
||||
|
||||
channel-widget-title = Web Widget
|
||||
channel-widget-position = Widget Position
|
||||
channel-widget-position-left = Bottom Left
|
||||
channel-widget-position-right = Bottom Right
|
||||
channel-widget-color = Primary Color
|
||||
channel-widget-header = Header Text
|
||||
channel-widget-placeholder = Input Placeholder
|
||||
channel-widget-welcome = Welcome Message
|
||||
channel-widget-avatar = Bot Avatar
|
||||
channel-widget-bubble = Chat Bubble
|
||||
channel-widget-preview = Preview Widget
|
||||
channel-widget-embed-code = Embed Code
|
||||
channel-widget-copy-code = Copy Code
|
||||
channel-widget-code-copied = Code copied to clipboard
|
||||
|
||||
channel-routing-title = Channel Routing
|
||||
channel-routing-default = Default Channel
|
||||
channel-routing-rules = Routing Rules
|
||||
channel-routing-add-rule = Add Rule
|
||||
channel-routing-condition = Condition
|
||||
channel-routing-action = Action
|
||||
channel-routing-priority = Priority
|
||||
channel-routing-fallback = Fallback Channel
|
||||
|
||||
channel-analytics-messages = Messages
|
||||
channel-analytics-conversations = Conversations
|
||||
channel-analytics-users = Unique Users
|
||||
channel-analytics-response-time = Avg Response Time
|
||||
channel-analytics-satisfaction = Satisfaction Score
|
||||
channel-analytics-by-channel = Analytics by Channel
|
||||
|
||||
channel-error-connection = Failed to connect to channel
|
||||
channel-error-authentication = Authentication failed
|
||||
channel-error-configuration = Invalid configuration
|
||||
channel-error-rate-limit = Rate limit exceeded
|
||||
channel-error-webhook = Webhook verification failed
|
||||
channel-error-permission = Insufficient permissions
|
||||
channel-error-not-found = Channel not found
|
||||
channel-error-already-exists = Channel already configured
|
||||
347
locales/en/common.ftl
Normal file
347
locales/en/common.ftl
Normal file
|
|
@ -0,0 +1,347 @@
|
|||
# ============================================================================
|
||||
# General Bots - Common Translations (English)
|
||||
# ============================================================================
|
||||
# This file contains shared strings used across all GB components.
|
||||
# Keep message IDs lowercase with hyphens: category-subcategory-descriptor
|
||||
# ============================================================================
|
||||
|
||||
# -----------------------------------------------------------------------------
|
||||
# Brand
|
||||
# -----------------------------------------------------------------------------
|
||||
app-name = General Bots
|
||||
app-tagline = Your AI-powered productivity workspace
|
||||
|
||||
# -----------------------------------------------------------------------------
|
||||
# Common Actions
|
||||
# -----------------------------------------------------------------------------
|
||||
action-save = Save
|
||||
action-cancel = Cancel
|
||||
action-delete = Delete
|
||||
action-edit = Edit
|
||||
action-close = Close
|
||||
action-confirm = Confirm
|
||||
action-retry = Retry
|
||||
action-back = Back
|
||||
action-next = Next
|
||||
action-submit = Submit
|
||||
action-search = Search
|
||||
action-refresh = Refresh
|
||||
action-copy = Copy
|
||||
action-paste = Paste
|
||||
action-undo = Undo
|
||||
action-redo = Redo
|
||||
action-select = Select
|
||||
action-select-all = Select All
|
||||
action-clear = Clear
|
||||
action-reset = Reset
|
||||
action-apply = Apply
|
||||
action-create = Create
|
||||
action-update = Update
|
||||
action-remove = Remove
|
||||
action-add = Add
|
||||
action-upload = Upload
|
||||
action-download = Download
|
||||
action-export = Export
|
||||
action-import = Import
|
||||
action-share = Share
|
||||
action-send = Send
|
||||
action-reply = Reply
|
||||
action-forward = Forward
|
||||
action-archive = Archive
|
||||
action-restore = Restore
|
||||
action-duplicate = Duplicate
|
||||
action-rename = Rename
|
||||
action-move = Move
|
||||
action-filter = Filter
|
||||
action-sort = Sort
|
||||
action-view = View
|
||||
action-hide = Hide
|
||||
action-show = Show
|
||||
action-expand = Expand
|
||||
action-collapse = Collapse
|
||||
action-enable = Enable
|
||||
action-disable = Disable
|
||||
action-connect = Connect
|
||||
action-disconnect = Disconnect
|
||||
action-sync = Sync
|
||||
action-start = Start
|
||||
action-stop = Stop
|
||||
action-pause = Pause
|
||||
action-resume = Resume
|
||||
action-continue = Continue
|
||||
action-finish = Finish
|
||||
action-complete = Complete
|
||||
action-approve = Approve
|
||||
action-reject = Reject
|
||||
action-accept = Accept
|
||||
action-decline = Decline
|
||||
action-login = Log In
|
||||
action-logout = Log Out
|
||||
action-signup = Sign Up
|
||||
action-forgot-password = Forgot Password
|
||||
|
||||
# -----------------------------------------------------------------------------
|
||||
# Common Labels
|
||||
# -----------------------------------------------------------------------------
|
||||
label-loading = Loading...
|
||||
label-saving = Saving...
|
||||
label-processing = Processing...
|
||||
label-searching = Searching...
|
||||
label-uploading = Uploading...
|
||||
label-downloading = Downloading...
|
||||
label-no-results = No results found
|
||||
label-no-data = No data available
|
||||
label-empty = Empty
|
||||
label-none = None
|
||||
label-all = All
|
||||
label-selected = Selected
|
||||
label-required = Required
|
||||
label-optional = Optional
|
||||
label-default = Default
|
||||
label-custom = Custom
|
||||
label-new = New
|
||||
label-draft = Draft
|
||||
label-pending = Pending
|
||||
label-active = Active
|
||||
label-inactive = Inactive
|
||||
label-enabled = Enabled
|
||||
label-disabled = Disabled
|
||||
label-public = Public
|
||||
label-private = Private
|
||||
label-shared = Shared
|
||||
label-yes = Yes
|
||||
label-no = No
|
||||
label-on = On
|
||||
label-off = Off
|
||||
label-true = True
|
||||
label-false = False
|
||||
label-unknown = Unknown
|
||||
label-other = Other
|
||||
label-more = More
|
||||
label-less = Less
|
||||
label-details = Details
|
||||
label-summary = Summary
|
||||
label-description = Description
|
||||
label-name = Name
|
||||
label-title = Title
|
||||
label-type = Type
|
||||
label-status = Status
|
||||
label-priority = Priority
|
||||
label-date = Date
|
||||
label-time = Time
|
||||
label-size = Size
|
||||
label-count = Count
|
||||
label-total = Total
|
||||
label-average = Average
|
||||
label-minimum = Minimum
|
||||
label-maximum = Maximum
|
||||
label-version = Version
|
||||
label-id = ID
|
||||
label-created = Created
|
||||
label-updated = Updated
|
||||
label-modified = Modified
|
||||
label-deleted = Deleted
|
||||
label-by = By
|
||||
label-from = From
|
||||
label-to = To
|
||||
label-at = At
|
||||
label-in = In
|
||||
label-of = Of
|
||||
|
||||
# -----------------------------------------------------------------------------
|
||||
# Status Messages
|
||||
# -----------------------------------------------------------------------------
|
||||
status-success = Success
|
||||
status-error = Error
|
||||
status-warning = Warning
|
||||
status-info = Information
|
||||
status-loading = Loading
|
||||
status-complete = Complete
|
||||
status-incomplete = Incomplete
|
||||
status-failed = Failed
|
||||
status-cancelled = Cancelled
|
||||
status-pending = Pending
|
||||
status-in-progress = In Progress
|
||||
status-done = Done
|
||||
status-ready = Ready
|
||||
status-not-ready = Not Ready
|
||||
status-connected = Connected
|
||||
status-disconnected = Disconnected
|
||||
status-online = Online
|
||||
status-offline = Offline
|
||||
status-available = Available
|
||||
status-unavailable = Unavailable
|
||||
status-busy = Busy
|
||||
status-away = Away
|
||||
|
||||
# -----------------------------------------------------------------------------
|
||||
# Confirmation Dialogs
|
||||
# -----------------------------------------------------------------------------
|
||||
confirm-delete = Are you sure you want to delete this?
|
||||
confirm-delete-item = Are you sure you want to delete "{ $name }"?
|
||||
confirm-delete-items = Are you sure you want to delete { $count ->
|
||||
[one] this item
|
||||
*[other] these { $count } items
|
||||
}?
|
||||
confirm-discard-changes = You have unsaved changes. Are you sure you want to discard them?
|
||||
confirm-logout = Are you sure you want to log out?
|
||||
confirm-cancel = Are you sure you want to cancel?
|
||||
|
||||
# -----------------------------------------------------------------------------
|
||||
# Time and Dates
|
||||
# -----------------------------------------------------------------------------
|
||||
time-now = Just now
|
||||
time-seconds-ago = { $count ->
|
||||
[one] { $count } second ago
|
||||
*[other] { $count } seconds ago
|
||||
}
|
||||
time-minutes-ago = { $count ->
|
||||
[one] { $count } minute ago
|
||||
*[other] { $count } minutes ago
|
||||
}
|
||||
time-hours-ago = { $count ->
|
||||
[one] { $count } hour ago
|
||||
*[other] { $count } hours ago
|
||||
}
|
||||
time-days-ago = { $count ->
|
||||
[one] { $count } day ago
|
||||
*[other] { $count } days ago
|
||||
}
|
||||
time-weeks-ago = { $count ->
|
||||
[one] { $count } week ago
|
||||
*[other] { $count } weeks ago
|
||||
}
|
||||
time-months-ago = { $count ->
|
||||
[one] { $count } month ago
|
||||
*[other] { $count } months ago
|
||||
}
|
||||
time-years-ago = { $count ->
|
||||
[one] { $count } year ago
|
||||
*[other] { $count } years ago
|
||||
}
|
||||
time-in-seconds = { $count ->
|
||||
[one] in { $count } second
|
||||
*[other] in { $count } seconds
|
||||
}
|
||||
time-in-minutes = { $count ->
|
||||
[one] in { $count } minute
|
||||
*[other] in { $count } minutes
|
||||
}
|
||||
time-in-hours = { $count ->
|
||||
[one] in { $count } hour
|
||||
*[other] in { $count } hours
|
||||
}
|
||||
time-in-days = { $count ->
|
||||
[one] in { $count } day
|
||||
*[other] in { $count } days
|
||||
}
|
||||
time-today = Today
|
||||
time-yesterday = Yesterday
|
||||
time-tomorrow = Tomorrow
|
||||
time-this-week = This week
|
||||
time-last-week = Last week
|
||||
time-next-week = Next week
|
||||
time-this-month = This month
|
||||
time-last-month = Last month
|
||||
time-next-month = Next month
|
||||
time-this-year = This year
|
||||
time-last-year = Last year
|
||||
time-next-year = Next year
|
||||
|
||||
# Days of the week
|
||||
day-sunday = Sunday
|
||||
day-monday = Monday
|
||||
day-tuesday = Tuesday
|
||||
day-wednesday = Wednesday
|
||||
day-thursday = Thursday
|
||||
day-friday = Friday
|
||||
day-saturday = Saturday
|
||||
day-sun = Sun
|
||||
day-mon = Mon
|
||||
day-tue = Tue
|
||||
day-wed = Wed
|
||||
day-thu = Thu
|
||||
day-fri = Fri
|
||||
day-sat = Sat
|
||||
|
||||
# Months
|
||||
month-january = January
|
||||
month-february = February
|
||||
month-march = March
|
||||
month-april = April
|
||||
month-may = May
|
||||
month-june = June
|
||||
month-july = July
|
||||
month-august = August
|
||||
month-september = September
|
||||
month-october = October
|
||||
month-november = November
|
||||
month-december = December
|
||||
month-jan = Jan
|
||||
month-feb = Feb
|
||||
month-mar = Mar
|
||||
month-apr = Apr
|
||||
month-may-short = May
|
||||
month-jun = Jun
|
||||
month-jul = Jul
|
||||
month-aug = Aug
|
||||
month-sep = Sep
|
||||
month-oct = Oct
|
||||
month-nov = Nov
|
||||
month-dec = Dec
|
||||
|
||||
# -----------------------------------------------------------------------------
|
||||
# File Sizes
|
||||
# -----------------------------------------------------------------------------
|
||||
size-bytes = { $value } B
|
||||
size-kilobytes = { $value } KB
|
||||
size-megabytes = { $value } MB
|
||||
size-gigabytes = { $value } GB
|
||||
size-terabytes = { $value } TB
|
||||
|
||||
# -----------------------------------------------------------------------------
|
||||
# Pagination
|
||||
# -----------------------------------------------------------------------------
|
||||
pagination-page = Page { $current } of { $total }
|
||||
pagination-showing = Showing { $start } to { $end } of { $total }
|
||||
pagination-items-per-page = Items per page
|
||||
pagination-first = First
|
||||
pagination-previous = Previous
|
||||
pagination-next = Next
|
||||
pagination-last = Last
|
||||
pagination-go-to-page = Go to page
|
||||
|
||||
# -----------------------------------------------------------------------------
|
||||
# Form Validation
|
||||
# -----------------------------------------------------------------------------
|
||||
validation-required = This field is required
|
||||
validation-required-field = { $field } is required
|
||||
validation-email-invalid = Please enter a valid email address
|
||||
validation-url-invalid = Please enter a valid URL
|
||||
validation-number-invalid = Please enter a valid number
|
||||
validation-date-invalid = Please enter a valid date
|
||||
validation-min-length = Must be at least { $min } characters
|
||||
validation-max-length = Must be no more than { $max } characters
|
||||
validation-min-value = Must be at least { $min }
|
||||
validation-max-value = Must be no more than { $max }
|
||||
validation-pattern-mismatch = Invalid format
|
||||
validation-passwords-mismatch = Passwords do not match
|
||||
validation-file-too-large = File is too large. Maximum size is { $max }
|
||||
validation-file-type-invalid = Invalid file type. Allowed types: { $types }
|
||||
|
||||
# -----------------------------------------------------------------------------
|
||||
# Accessibility
|
||||
# -----------------------------------------------------------------------------
|
||||
a11y-skip-to-content = Skip to main content
|
||||
a11y-loading = Loading, please wait
|
||||
a11y-menu-open = Open menu
|
||||
a11y-menu-close = Close menu
|
||||
a11y-expand = Expand
|
||||
a11y-collapse = Collapse
|
||||
a11y-selected = Selected
|
||||
a11y-not-selected = Not selected
|
||||
a11y-required = Required field
|
||||
a11y-error = Error
|
||||
a11y-success = Success
|
||||
a11y-warning = Warning
|
||||
a11y-info = Information
|
||||
301
locales/en/contacts.ftl
Normal file
301
locales/en/contacts.ftl
Normal file
|
|
@ -0,0 +1,301 @@
|
|||
# =============================================================================
|
||||
# General Bots - Contacts Translations (English)
|
||||
# =============================================================================
|
||||
# Contact management interface translations
|
||||
# =============================================================================
|
||||
|
||||
# -----------------------------------------------------------------------------
|
||||
# Navigation & Headers
|
||||
# -----------------------------------------------------------------------------
|
||||
contacts-title = Contacts
|
||||
contacts-subtitle = Manage your contacts and relationships
|
||||
contacts-nav-all = All Contacts
|
||||
contacts-nav-favorites = Favorites
|
||||
contacts-nav-recent = Recently Added
|
||||
contacts-nav-groups = Groups
|
||||
contacts-nav-tags = Tags
|
||||
|
||||
# -----------------------------------------------------------------------------
|
||||
# Views & Filters
|
||||
# -----------------------------------------------------------------------------
|
||||
contacts-view-list = List View
|
||||
contacts-view-grid = Grid View
|
||||
contacts-filter-all = All
|
||||
contacts-filter-active = Active
|
||||
contacts-filter-inactive = Inactive
|
||||
contacts-filter-leads = Leads
|
||||
contacts-filter-customers = Customers
|
||||
contacts-filter-prospects = Prospects
|
||||
contacts-filter-archived = Archived
|
||||
contacts-search-placeholder = Search contacts...
|
||||
contacts-sort-name = Sort by Name
|
||||
contacts-sort-company = Sort by Company
|
||||
contacts-sort-recent = Sort by Recent
|
||||
contacts-sort-created = Sort by Created
|
||||
|
||||
# -----------------------------------------------------------------------------
|
||||
# Contact Fields
|
||||
# -----------------------------------------------------------------------------
|
||||
contacts-field-first-name = First Name
|
||||
contacts-field-last-name = Last Name
|
||||
contacts-field-email = Email
|
||||
contacts-field-phone = Phone
|
||||
contacts-field-mobile = Mobile
|
||||
contacts-field-company = Company
|
||||
contacts-field-job-title = Job Title
|
||||
contacts-field-department = Department
|
||||
contacts-field-website = Website
|
||||
contacts-field-linkedin = LinkedIn
|
||||
contacts-field-twitter = Twitter
|
||||
contacts-field-address = Address
|
||||
contacts-field-city = City
|
||||
contacts-field-state = State/Province
|
||||
contacts-field-postal-code = Postal Code
|
||||
contacts-field-country = Country
|
||||
contacts-field-notes = Notes
|
||||
contacts-field-tags = Tags
|
||||
contacts-field-source = Source
|
||||
contacts-field-status = Status
|
||||
contacts-field-last-contacted = Last Contacted
|
||||
contacts-field-created-at = Created
|
||||
contacts-field-updated-at = Updated
|
||||
|
||||
# -----------------------------------------------------------------------------
|
||||
# Contact Status
|
||||
# -----------------------------------------------------------------------------
|
||||
contacts-status-active = Active
|
||||
contacts-status-inactive = Inactive
|
||||
contacts-status-lead = Lead
|
||||
contacts-status-customer = Customer
|
||||
contacts-status-prospect = Prospect
|
||||
contacts-status-archived = Archived
|
||||
|
||||
# -----------------------------------------------------------------------------
|
||||
# Contact Source
|
||||
# -----------------------------------------------------------------------------
|
||||
contacts-source-manual = Manual Entry
|
||||
contacts-source-import = Import
|
||||
contacts-source-webform = Web Form
|
||||
contacts-source-api = API
|
||||
contacts-source-email = Email
|
||||
contacts-source-meeting = Meeting
|
||||
contacts-source-referral = Referral
|
||||
contacts-source-social = Social Media
|
||||
|
||||
# -----------------------------------------------------------------------------
|
||||
# Actions
|
||||
# -----------------------------------------------------------------------------
|
||||
contacts-action-add = Add Contact
|
||||
contacts-action-edit = Edit Contact
|
||||
contacts-action-delete = Delete Contact
|
||||
contacts-action-archive = Archive Contact
|
||||
contacts-action-restore = Restore Contact
|
||||
contacts-action-favorite = Add to Favorites
|
||||
contacts-action-unfavorite = Remove from Favorites
|
||||
contacts-action-export = Export Contacts
|
||||
contacts-action-import = Import Contacts
|
||||
contacts-action-merge = Merge Contacts
|
||||
contacts-action-send-email = Send Email
|
||||
contacts-action-schedule-meeting = Schedule Meeting
|
||||
contacts-action-create-task = Create Task
|
||||
contacts-action-add-note = Add Note
|
||||
contacts-action-add-tag = Add Tag
|
||||
contacts-action-remove-tag = Remove Tag
|
||||
|
||||
# -----------------------------------------------------------------------------
|
||||
# Bulk Actions
|
||||
# -----------------------------------------------------------------------------
|
||||
contacts-bulk-selected = { $count } contacts selected
|
||||
contacts-bulk-delete = Delete Selected
|
||||
contacts-bulk-archive = Archive Selected
|
||||
contacts-bulk-add-tag = Add Tag to Selected
|
||||
contacts-bulk-remove-tag = Remove Tag from Selected
|
||||
contacts-bulk-add-to-group = Add to Group
|
||||
contacts-bulk-remove-from-group = Remove from Group
|
||||
contacts-bulk-export = Export Selected
|
||||
contacts-bulk-change-status = Change Status
|
||||
|
||||
# -----------------------------------------------------------------------------
|
||||
# Groups
|
||||
# -----------------------------------------------------------------------------
|
||||
contacts-groups-title = Contact Groups
|
||||
contacts-groups-create = Create Group
|
||||
contacts-groups-edit = Edit Group
|
||||
contacts-groups-delete = Delete Group
|
||||
contacts-groups-name = Group Name
|
||||
contacts-groups-description = Description
|
||||
contacts-groups-color = Color
|
||||
contacts-groups-members = { $count } members
|
||||
contacts-groups-add-members = Add Members
|
||||
contacts-groups-remove-members = Remove Members
|
||||
|
||||
# -----------------------------------------------------------------------------
|
||||
# Import/Export
|
||||
# -----------------------------------------------------------------------------
|
||||
contacts-import-title = Import Contacts
|
||||
contacts-import-description = Upload a file to import contacts
|
||||
contacts-import-format-csv = CSV File
|
||||
contacts-import-format-vcard = vCard File
|
||||
contacts-import-format-json = JSON File
|
||||
contacts-import-drop-zone = Drag and drop your file here, or click to browse
|
||||
contacts-import-mapping = Field Mapping
|
||||
contacts-import-preview = Preview
|
||||
contacts-import-skip-duplicates = Skip duplicate entries
|
||||
contacts-import-update-existing = Update existing contacts
|
||||
contacts-import-success = Successfully imported { $count } contacts
|
||||
contacts-import-errors = { $count } errors during import
|
||||
|
||||
contacts-export-title = Export Contacts
|
||||
contacts-export-description = Download your contacts
|
||||
contacts-export-format = Export Format
|
||||
contacts-export-all = Export All Contacts
|
||||
contacts-export-selected = Export Selected
|
||||
contacts-export-group = Export Group
|
||||
contacts-export-include-custom = Include Custom Fields
|
||||
contacts-export-success = Successfully exported { $count } contacts
|
||||
|
||||
# -----------------------------------------------------------------------------
|
||||
# Detail Panel
|
||||
# -----------------------------------------------------------------------------
|
||||
contacts-detail-title = Contact Details
|
||||
contacts-detail-info = Information
|
||||
contacts-detail-activity = Activity
|
||||
contacts-detail-notes = Notes
|
||||
contacts-detail-tasks = Tasks
|
||||
contacts-detail-events = Events
|
||||
contacts-detail-files = Files
|
||||
contacts-detail-history = History
|
||||
|
||||
# -----------------------------------------------------------------------------
|
||||
# Activity Types
|
||||
# -----------------------------------------------------------------------------
|
||||
contacts-activity-email = Email
|
||||
contacts-activity-call = Phone Call
|
||||
contacts-activity-meeting = Meeting
|
||||
contacts-activity-task = Task
|
||||
contacts-activity-note = Note
|
||||
contacts-activity-status-change = Status Changed
|
||||
contacts-activity-created = Contact Created
|
||||
contacts-activity-updated = Contact Updated
|
||||
contacts-activity-imported = Contact Imported
|
||||
|
||||
# -----------------------------------------------------------------------------
|
||||
# Quick Actions
|
||||
# -----------------------------------------------------------------------------
|
||||
contacts-quick-email = Email
|
||||
contacts-quick-call = Call
|
||||
contacts-quick-meeting = Meeting
|
||||
contacts-quick-task = Task
|
||||
|
||||
# -----------------------------------------------------------------------------
|
||||
# Calendar Integration
|
||||
# -----------------------------------------------------------------------------
|
||||
contacts-calendar-link = Link to Event
|
||||
contacts-calendar-unlink = Unlink from Event
|
||||
contacts-calendar-events = Related Events
|
||||
contacts-calendar-upcoming = Upcoming Events
|
||||
contacts-calendar-past = Past Events
|
||||
contacts-calendar-role = Role
|
||||
contacts-calendar-role-attendee = Attendee
|
||||
contacts-calendar-role-organizer = Organizer
|
||||
contacts-calendar-role-optional = Optional
|
||||
contacts-calendar-role-speaker = Speaker
|
||||
contacts-calendar-role-host = Host
|
||||
contacts-calendar-response = Response Status
|
||||
contacts-calendar-response-accepted = Accepted
|
||||
contacts-calendar-response-declined = Declined
|
||||
contacts-calendar-response-tentative = Tentative
|
||||
contacts-calendar-response-pending = Pending
|
||||
|
||||
# -----------------------------------------------------------------------------
|
||||
# Tasks Integration
|
||||
# -----------------------------------------------------------------------------
|
||||
contacts-tasks-assign = Assign to Task
|
||||
contacts-tasks-unassign = Unassign from Task
|
||||
contacts-tasks-related = Related Tasks
|
||||
contacts-tasks-active = Active Tasks
|
||||
contacts-tasks-completed = Completed Tasks
|
||||
contacts-tasks-overdue = Overdue Tasks
|
||||
contacts-tasks-role = Role
|
||||
contacts-tasks-role-assignee = Assignee
|
||||
contacts-tasks-role-reviewer = Reviewer
|
||||
contacts-tasks-role-stakeholder = Stakeholder
|
||||
contacts-tasks-role-collaborator = Collaborator
|
||||
contacts-tasks-role-client = Client
|
||||
contacts-tasks-role-approver = Approver
|
||||
contacts-tasks-workload = Workload
|
||||
contacts-tasks-workload-low = Low
|
||||
contacts-tasks-workload-medium = Medium
|
||||
contacts-tasks-workload-high = High
|
||||
contacts-tasks-workload-overloaded = Overloaded
|
||||
|
||||
# -----------------------------------------------------------------------------
|
||||
# External Sync
|
||||
# -----------------------------------------------------------------------------
|
||||
contacts-sync-title = Address Book Sync
|
||||
contacts-sync-description = Sync with external address books
|
||||
contacts-sync-google = Google Contacts
|
||||
contacts-sync-microsoft = Microsoft People
|
||||
contacts-sync-apple = Apple Contacts
|
||||
contacts-sync-carddav = CardDAV Server
|
||||
contacts-sync-connect = Connect Account
|
||||
contacts-sync-disconnect = Disconnect
|
||||
contacts-sync-connected = Connected
|
||||
contacts-sync-last-sync = Last synced { $time }
|
||||
contacts-sync-in-progress = Sync in progress...
|
||||
contacts-sync-success = Sync completed successfully
|
||||
contacts-sync-error = Sync failed
|
||||
contacts-sync-direction = Sync Direction
|
||||
contacts-sync-direction-two-way = Two-way Sync
|
||||
contacts-sync-direction-import = Import Only
|
||||
contacts-sync-direction-export = Export Only
|
||||
contacts-sync-conflicts = { $count } conflicts detected
|
||||
contacts-sync-resolve = Resolve Conflicts
|
||||
contacts-sync-keep-local = Keep Local
|
||||
contacts-sync-keep-remote = Keep Remote
|
||||
contacts-sync-merge = Merge Both
|
||||
|
||||
# -----------------------------------------------------------------------------
|
||||
# Empty States
|
||||
# -----------------------------------------------------------------------------
|
||||
contacts-empty-title = No contacts yet
|
||||
contacts-empty-description = Add your first contact to get started
|
||||
contacts-empty-action = Add Contact
|
||||
contacts-empty-search = No contacts match your search
|
||||
contacts-empty-filter = No contacts match the selected filter
|
||||
contacts-empty-group = This group has no members
|
||||
|
||||
# -----------------------------------------------------------------------------
|
||||
# Confirmations
|
||||
# -----------------------------------------------------------------------------
|
||||
contacts-confirm-delete = Are you sure you want to delete this contact?
|
||||
contacts-confirm-delete-bulk = Are you sure you want to delete { $count } contacts?
|
||||
contacts-confirm-archive = Are you sure you want to archive this contact?
|
||||
contacts-confirm-merge = Are you sure you want to merge these contacts?
|
||||
contacts-confirm-disconnect = Are you sure you want to disconnect this account?
|
||||
|
||||
# -----------------------------------------------------------------------------
|
||||
# Success Messages
|
||||
# -----------------------------------------------------------------------------
|
||||
contacts-success-created = Contact created successfully
|
||||
contacts-success-updated = Contact updated successfully
|
||||
contacts-success-deleted = Contact deleted successfully
|
||||
contacts-success-archived = Contact archived successfully
|
||||
contacts-success-restored = Contact restored successfully
|
||||
contacts-success-merged = Contacts merged successfully
|
||||
contacts-success-imported = Contacts imported successfully
|
||||
contacts-success-exported = Contacts exported successfully
|
||||
|
||||
# -----------------------------------------------------------------------------
|
||||
# Error Messages
|
||||
# -----------------------------------------------------------------------------
|
||||
contacts-error-create = Failed to create contact
|
||||
contacts-error-update = Failed to update contact
|
||||
contacts-error-delete = Failed to delete contact
|
||||
contacts-error-import = Failed to import contacts
|
||||
contacts-error-export = Failed to export contacts
|
||||
contacts-error-sync = Sync failed
|
||||
contacts-error-duplicate = A contact with this email already exists
|
||||
contacts-error-required = This field is required
|
||||
contacts-error-invalid-email = Please enter a valid email address
|
||||
contacts-error-invalid-phone = Please enter a valid phone number
|
||||
165
locales/en/errors.ftl
Normal file
165
locales/en/errors.ftl
Normal file
|
|
@ -0,0 +1,165 @@
|
|||
# General Bots - Error Messages (English)
|
||||
# This file contains all error message translations
|
||||
|
||||
# =============================================================================
|
||||
# HTTP Errors
|
||||
# =============================================================================
|
||||
|
||||
error-http-400 = Bad request. Please check your input.
|
||||
error-http-401 = Authentication required. Please log in.
|
||||
error-http-403 = You don't have permission to access this resource.
|
||||
error-http-404 = { $entity } not found.
|
||||
error-http-409 = Conflict: { $message }
|
||||
error-http-429 = Too many requests. Please wait { $seconds } seconds.
|
||||
error-http-500 = Internal server error. Please try again later.
|
||||
error-http-502 = Bad gateway. The server received an invalid response.
|
||||
error-http-503 = Service temporarily unavailable. Please try again later.
|
||||
error-http-504 = Request timed out after { $milliseconds }ms.
|
||||
|
||||
# =============================================================================
|
||||
# Validation Errors
|
||||
# =============================================================================
|
||||
|
||||
error-validation-required = { $field } is required.
|
||||
error-validation-email = Please enter a valid email address.
|
||||
error-validation-url = Please enter a valid URL.
|
||||
error-validation-phone = Please enter a valid phone number.
|
||||
error-validation-min-length = { $field } must be at least { $min } characters.
|
||||
error-validation-max-length = { $field } must be no more than { $max } characters.
|
||||
error-validation-min-value = { $field } must be at least { $min }.
|
||||
error-validation-max-value = { $field } must be no more than { $max }.
|
||||
error-validation-pattern = { $field } format is invalid.
|
||||
error-validation-unique = { $field } already exists.
|
||||
error-validation-mismatch = { $field } does not match { $other }.
|
||||
error-validation-date-format = Please enter a valid date in the format { $format }.
|
||||
error-validation-date-past = { $field } must be in the past.
|
||||
error-validation-date-future = { $field } must be in the future.
|
||||
|
||||
# =============================================================================
|
||||
# Authentication Errors
|
||||
# =============================================================================
|
||||
|
||||
error-auth-invalid-credentials = Invalid email or password.
|
||||
error-auth-account-locked = Your account has been locked. Please contact support.
|
||||
error-auth-account-disabled = Your account has been disabled.
|
||||
error-auth-session-expired = Your session has expired. Please log in again.
|
||||
error-auth-token-invalid = Invalid or expired token.
|
||||
error-auth-token-missing = Authentication token is required.
|
||||
error-auth-mfa-required = Multi-factor authentication is required.
|
||||
error-auth-mfa-invalid = Invalid verification code.
|
||||
error-auth-password-weak = Password is too weak. Please use a stronger password.
|
||||
error-auth-password-expired = Your password has expired. Please reset it.
|
||||
|
||||
# =============================================================================
|
||||
# Configuration Errors
|
||||
# =============================================================================
|
||||
|
||||
error-config = Configuration error: { $message }
|
||||
error-config-missing = Missing configuration: { $key }
|
||||
error-config-invalid = Invalid configuration value for { $key }: { $reason }
|
||||
error-config-file-not-found = Configuration file not found: { $path }
|
||||
error-config-parse = Failed to parse configuration: { $message }
|
||||
|
||||
# =============================================================================
|
||||
# Database Errors
|
||||
# =============================================================================
|
||||
|
||||
error-database = Database error: { $message }
|
||||
error-database-connection = Failed to connect to database.
|
||||
error-database-timeout = Database operation timed out.
|
||||
error-database-constraint = Database constraint violation: { $constraint }
|
||||
error-database-duplicate = A record with this { $field } already exists.
|
||||
error-database-migration = Database migration failed: { $message }
|
||||
|
||||
# =============================================================================
|
||||
# File & Storage Errors
|
||||
# =============================================================================
|
||||
|
||||
error-file-not-found = File not found: { $filename }
|
||||
error-file-too-large = File is too large. Maximum size is { $maxSize }.
|
||||
error-file-type-not-allowed = File type not allowed. Allowed types: { $allowedTypes }.
|
||||
error-file-upload-failed = File upload failed: { $message }
|
||||
error-file-read = Failed to read file: { $message }
|
||||
error-file-write = Failed to write file: { $message }
|
||||
error-storage-full = Storage quota exceeded.
|
||||
error-storage-unavailable = Storage service is unavailable.
|
||||
|
||||
# =============================================================================
|
||||
# Network & External Service Errors
|
||||
# =============================================================================
|
||||
|
||||
error-network = Network error: { $message }
|
||||
error-network-timeout = Connection timed out.
|
||||
error-network-unreachable = Server is unreachable.
|
||||
error-service-unavailable = Service unavailable: { $service }
|
||||
error-external-api = External API error: { $message }
|
||||
error-rate-limit = Rate limited. Retry after { $seconds }s.
|
||||
|
||||
# =============================================================================
|
||||
# Bot & Dialog Errors
|
||||
# =============================================================================
|
||||
|
||||
error-bot-not-found = Bot not found: { $botId }
|
||||
error-bot-disabled = This bot is currently disabled.
|
||||
error-bot-script-error = Script error at line { $line }: { $message }
|
||||
error-bot-timeout = Bot response timed out.
|
||||
error-bot-quota-exceeded = Bot usage quota exceeded.
|
||||
error-dialog-not-found = Dialog not found: { $dialogId }
|
||||
error-dialog-invalid = Invalid dialog configuration: { $message }
|
||||
|
||||
# =============================================================================
|
||||
# LLM & AI Errors
|
||||
# =============================================================================
|
||||
|
||||
error-llm-unavailable = AI service is currently unavailable.
|
||||
error-llm-timeout = AI request timed out.
|
||||
error-llm-rate-limit = AI rate limit exceeded. Please wait before trying again.
|
||||
error-llm-content-filter = Content was filtered by safety guidelines.
|
||||
error-llm-context-length = Input is too long. Please shorten your message.
|
||||
error-llm-invalid-response = Received invalid response from AI service.
|
||||
|
||||
# =============================================================================
|
||||
# Email Errors
|
||||
# =============================================================================
|
||||
|
||||
error-email-send-failed = Failed to send email: { $message }
|
||||
error-email-invalid-recipient = Invalid recipient email address: { $email }
|
||||
error-email-attachment-failed = Failed to attach file: { $filename }
|
||||
error-email-template-not-found = Email template not found: { $template }
|
||||
|
||||
# =============================================================================
|
||||
# Calendar & Scheduling Errors
|
||||
# =============================================================================
|
||||
|
||||
error-calendar-conflict = Time slot conflicts with existing event.
|
||||
error-calendar-past-date = Cannot schedule events in the past.
|
||||
error-calendar-invalid-recurrence = Invalid recurrence pattern.
|
||||
error-calendar-event-not-found = Event not found: { $eventId }
|
||||
|
||||
# =============================================================================
|
||||
# Task Errors
|
||||
# =============================================================================
|
||||
|
||||
error-task-not-found = Task not found: { $taskId }
|
||||
error-task-already-completed = Task has already been completed.
|
||||
error-task-circular-dependency = Circular dependency detected in tasks.
|
||||
error-task-invalid-status = Invalid task status transition.
|
||||
|
||||
# =============================================================================
|
||||
# Permission Errors
|
||||
# =============================================================================
|
||||
|
||||
error-permission-denied = You don't have permission to perform this action.
|
||||
error-permission-resource = You don't have access to this { $resource }.
|
||||
error-permission-action = You cannot { $action } this { $resource }.
|
||||
error-permission-owner-only = Only the owner can perform this action.
|
||||
|
||||
# =============================================================================
|
||||
# Generic Errors
|
||||
# =============================================================================
|
||||
|
||||
error-internal = Internal error: { $message }
|
||||
error-unexpected = An unexpected error occurred. Please try again.
|
||||
error-not-implemented = This feature is not yet implemented.
|
||||
error-maintenance = System is under maintenance. Please try again later.
|
||||
error-unknown = An unknown error occurred.
|
||||
127
locales/en/notifications.ftl
Normal file
127
locales/en/notifications.ftl
Normal file
|
|
@ -0,0 +1,127 @@
|
|||
notification-title-new-message = New Message
|
||||
notification-title-task-due = Task Due
|
||||
notification-title-task-assigned = Task Assigned
|
||||
notification-title-task-completed = Task Completed
|
||||
notification-title-meeting-reminder = Meeting Reminder
|
||||
notification-title-meeting-started = Meeting Started
|
||||
notification-title-file-shared = File Shared
|
||||
notification-title-file-uploaded = File Uploaded
|
||||
notification-title-comment-added = New Comment
|
||||
notification-title-mention = You were mentioned
|
||||
notification-title-system = System Notification
|
||||
notification-title-security = Security Alert
|
||||
notification-title-update = Update Available
|
||||
notification-title-error = Error Occurred
|
||||
notification-title-success = Success
|
||||
notification-title-warning = Warning
|
||||
notification-title-info = Information
|
||||
|
||||
notification-message-new = You have a new message from { $sender }
|
||||
notification-message-unread = You have { $count ->
|
||||
[one] { $count } unread message
|
||||
*[other] { $count } unread messages
|
||||
}
|
||||
notification-task-due-soon = Task "{ $task }" is due in { $time }
|
||||
notification-task-due-today = Task "{ $task }" is due today
|
||||
notification-task-due-overdue = Task "{ $task }" is overdue by { $time }
|
||||
notification-task-assigned-to-you = You have been assigned to task "{ $task }"
|
||||
notification-task-assigned-by = { $assigner } assigned you to "{ $task }"
|
||||
notification-task-completed-by = { $user } completed task "{ $task }"
|
||||
notification-task-status-changed = Task "{ $task }" status changed to { $status }
|
||||
|
||||
notification-meeting-in-minutes = Meeting "{ $meeting }" starts in { $minutes } minutes
|
||||
notification-meeting-starting-now = Meeting "{ $meeting }" is starting now
|
||||
notification-meeting-cancelled = Meeting "{ $meeting }" has been cancelled
|
||||
notification-meeting-rescheduled = Meeting "{ $meeting }" has been rescheduled to { $datetime }
|
||||
notification-meeting-invite = { $inviter } invited you to "{ $meeting }"
|
||||
notification-meeting-response = { $user } { $response } your meeting invite
|
||||
|
||||
notification-file-shared-with-you = { $sharer } shared "{ $filename }" with you
|
||||
notification-file-uploaded-by = { $uploader } uploaded "{ $filename }"
|
||||
notification-file-modified = "{ $filename }" was modified by { $user }
|
||||
notification-file-deleted = "{ $filename }" was deleted by { $user }
|
||||
notification-file-download-ready = Your file "{ $filename }" is ready for download
|
||||
notification-file-upload-complete = Upload of "{ $filename }" completed successfully
|
||||
notification-file-upload-failed = Upload of "{ $filename }" failed
|
||||
|
||||
notification-comment-on-task = { $user } commented on task "{ $task }"
|
||||
notification-comment-on-file = { $user } commented on "{ $filename }"
|
||||
notification-comment-reply = { $user } replied to your comment
|
||||
notification-mention-in-comment = { $user } mentioned you in a comment
|
||||
notification-mention-in-chat = { $user } mentioned you in { $channel }
|
||||
|
||||
notification-login-new-device = New login detected from { $device } in { $location }
|
||||
notification-login-failed = Failed login attempt on your account
|
||||
notification-password-changed = Your password was changed successfully
|
||||
notification-password-expiring = Your password will expire in { $days } days
|
||||
notification-session-expired = Your session has expired
|
||||
notification-account-locked = Your account has been locked
|
||||
notification-two-factor-enabled = Two-factor authentication has been enabled
|
||||
notification-two-factor-disabled = Two-factor authentication has been disabled
|
||||
|
||||
notification-subscription-expiring = Your subscription expires in { $days } days
|
||||
notification-subscription-expired = Your subscription has expired
|
||||
notification-subscription-renewed = Your subscription has been renewed until { $date }
|
||||
notification-payment-successful = Payment of { $amount } was successful
|
||||
notification-payment-failed = Payment of { $amount } failed
|
||||
notification-invoice-ready = Your invoice for { $period } is ready
|
||||
|
||||
notification-bot-response = { $bot } responded to your query
|
||||
notification-bot-error = { $bot } encountered an error
|
||||
notification-bot-offline = { $bot } is currently offline
|
||||
notification-bot-online = { $bot } is now online
|
||||
notification-bot-updated = { $bot } has been updated
|
||||
|
||||
notification-system-maintenance = System maintenance scheduled for { $datetime }
|
||||
notification-system-update = System update available: { $version }
|
||||
notification-system-restored = System has been restored
|
||||
notification-system-degraded = System is experiencing degraded performance
|
||||
|
||||
notification-action-view = View
|
||||
notification-action-dismiss = Dismiss
|
||||
notification-action-mark-read = Mark as read
|
||||
notification-action-mark-all-read = Mark all as read
|
||||
notification-action-settings = Notification settings
|
||||
notification-action-reply = Reply
|
||||
notification-action-open = Open
|
||||
notification-action-join = Join
|
||||
notification-action-accept = Accept
|
||||
notification-action-decline = Decline
|
||||
|
||||
notification-time-just-now = Just now
|
||||
notification-time-minutes = { $count ->
|
||||
[one] { $count } minute ago
|
||||
*[other] { $count } minutes ago
|
||||
}
|
||||
notification-time-hours = { $count ->
|
||||
[one] { $count } hour ago
|
||||
*[other] { $count } hours ago
|
||||
}
|
||||
notification-time-days = { $count ->
|
||||
[one] { $count } day ago
|
||||
*[other] { $count } days ago
|
||||
}
|
||||
notification-time-weeks = { $count ->
|
||||
[one] { $count } week ago
|
||||
*[other] { $count } weeks ago
|
||||
}
|
||||
|
||||
notification-preference-all = All notifications
|
||||
notification-preference-important = Important only
|
||||
notification-preference-none = None
|
||||
notification-preference-email = Email notifications
|
||||
notification-preference-push = Push notifications
|
||||
notification-preference-in-app = In-app notifications
|
||||
notification-preference-sound = Sound enabled
|
||||
notification-preference-vibration = Vibration enabled
|
||||
|
||||
notification-empty = No notifications
|
||||
notification-empty-description = You're all caught up!
|
||||
notification-load-more = Load more
|
||||
notification-clear-all = Clear all notifications
|
||||
notification-filter-all = All
|
||||
notification-filter-unread = Unread
|
||||
notification-filter-mentions = Mentions
|
||||
notification-filter-tasks = Tasks
|
||||
notification-filter-messages = Messages
|
||||
notification-filter-system = System
|
||||
1197
locales/en/ui.ftl
Normal file
1197
locales/en/ui.ftl
Normal file
File diff suppressed because it is too large
Load diff
142
locales/en/video.ftl
Normal file
142
locales/en/video.ftl
Normal file
|
|
@ -0,0 +1,142 @@
|
|||
# =============================================================================
|
||||
# General Bots - English Video Editor Translations
|
||||
# =============================================================================
|
||||
|
||||
# -----------------------------------------------------------------------------
|
||||
# Navigation
|
||||
# -----------------------------------------------------------------------------
|
||||
nav-video = Video
|
||||
|
||||
# -----------------------------------------------------------------------------
|
||||
# Video Editor - Main
|
||||
# -----------------------------------------------------------------------------
|
||||
video-title = Video Editor
|
||||
video-new-project = New Project
|
||||
video-project-info = Project Info
|
||||
video-duration = Duration
|
||||
video-clips = Clips
|
||||
video-layers = Layers
|
||||
video-resolution = Resolution
|
||||
|
||||
# -----------------------------------------------------------------------------
|
||||
# Video Editor - Add Elements
|
||||
# -----------------------------------------------------------------------------
|
||||
video-add-elements = Add Elements
|
||||
video-add-clip = Video Clip
|
||||
video-add-text = Text
|
||||
video-add-image = Image
|
||||
video-add-shape = Shape
|
||||
video-add-audio = Audio
|
||||
video-add-narration = Narration
|
||||
|
||||
# -----------------------------------------------------------------------------
|
||||
# Video Editor - Properties
|
||||
# -----------------------------------------------------------------------------
|
||||
video-properties = Properties
|
||||
video-name = Name
|
||||
video-volume = Volume
|
||||
video-opacity = Opacity
|
||||
video-position-x = Position X
|
||||
video-position-y = Position Y
|
||||
video-rotation = Rotation
|
||||
video-transition-in = Transition In
|
||||
video-transition-out = Transition Out
|
||||
|
||||
# -----------------------------------------------------------------------------
|
||||
# Video Editor - Timeline
|
||||
# -----------------------------------------------------------------------------
|
||||
video-video-track = Video
|
||||
video-text-track = Text & Overlays
|
||||
video-audio-track = Audio
|
||||
|
||||
# -----------------------------------------------------------------------------
|
||||
# Video Editor - Preview
|
||||
# -----------------------------------------------------------------------------
|
||||
video-preview = Preview
|
||||
video-add-content = Add clips or elements to start editing
|
||||
|
||||
# -----------------------------------------------------------------------------
|
||||
# Video Editor - Chat
|
||||
# -----------------------------------------------------------------------------
|
||||
video-ai-assistant = AI Assistant
|
||||
video-playhead-at = Playhead:
|
||||
video-selected = Selected:
|
||||
video-chat-placeholder = Describe what you want to change...
|
||||
video-chat-welcome = Hi! I'm your video editing assistant. You can tell me what to change, like "add a title here" or "make it bigger". I'll understand your current selection and playhead position.
|
||||
|
||||
# -----------------------------------------------------------------------------
|
||||
# Video Editor - Export
|
||||
# -----------------------------------------------------------------------------
|
||||
video-export = Export
|
||||
video-export-video = Export Video
|
||||
video-format = Format
|
||||
video-quality = Quality
|
||||
video-start-export = Start Export
|
||||
video-exporting = Exporting...
|
||||
video-export-complete = Export Complete
|
||||
video-export-failed = Export Failed
|
||||
|
||||
# -----------------------------------------------------------------------------
|
||||
# Video Editor - Projects
|
||||
# -----------------------------------------------------------------------------
|
||||
video-recent-projects = Recent Projects
|
||||
video-no-projects = No projects yet
|
||||
video-create-first = Create your first video project
|
||||
video-project-name = Project Name
|
||||
video-aspect-ratio = Aspect Ratio
|
||||
video-frame-rate = Frame Rate
|
||||
video-create = Create
|
||||
|
||||
# -----------------------------------------------------------------------------
|
||||
# Video Editor - Text Layer
|
||||
# -----------------------------------------------------------------------------
|
||||
video-text-content = Text Content
|
||||
video-font-family = Font
|
||||
video-font-size = Size
|
||||
video-text-color = Color
|
||||
video-duration-sec = Duration (sec)
|
||||
video-add = Add
|
||||
|
||||
# -----------------------------------------------------------------------------
|
||||
# Video Editor - Actions
|
||||
# -----------------------------------------------------------------------------
|
||||
video-undo = Undo
|
||||
video-redo = Redo
|
||||
video-cut = Cut
|
||||
video-split = Split
|
||||
video-delete = Delete
|
||||
video-save = Save
|
||||
|
||||
# -----------------------------------------------------------------------------
|
||||
# Video Editor - Status
|
||||
# -----------------------------------------------------------------------------
|
||||
video-status-draft = Draft
|
||||
video-status-editing = Editing
|
||||
video-status-exporting = Exporting
|
||||
video-status-published = Published
|
||||
video-status-archived = Archived
|
||||
|
||||
# -----------------------------------------------------------------------------
|
||||
# Video Editor - Notifications
|
||||
# -----------------------------------------------------------------------------
|
||||
video-project-created = Project created
|
||||
video-project-saved = Project saved
|
||||
video-clip-added = Clip added
|
||||
video-layer-added = Layer added
|
||||
video-text-added = Text layer added
|
||||
video-shape-added = Shape added
|
||||
video-audio-added = Audio track added
|
||||
video-item-deleted = Item deleted
|
||||
video-export-started = Export started
|
||||
video-export-completed = Export completed successfully
|
||||
video-error-create-project = Failed to create project
|
||||
video-error-load-project = Failed to load project
|
||||
video-error-add-clip = Failed to add clip
|
||||
video-error-add-layer = Failed to add layer
|
||||
video-error-delete = Failed to delete item
|
||||
video-error-export = Failed to start export
|
||||
video-create-project-first = Please create a project first
|
||||
video-select-clip-to-split = Select a clip to split
|
||||
video-playhead-within-clip = Playhead must be within the selected clip
|
||||
video-tts-coming-soon = TTS generation coming soon
|
||||
video-split-coming-soon = Split feature coming soon
|
||||
313
locales/en/webinar.ftl
Normal file
313
locales/en/webinar.ftl
Normal file
|
|
@ -0,0 +1,313 @@
|
|||
# =============================================================================
|
||||
# General Bots - Webinar Translations (English)
|
||||
# =============================================================================
|
||||
# Webinar, recording, and transcription interface translations
|
||||
# =============================================================================
|
||||
|
||||
# -----------------------------------------------------------------------------
|
||||
# Webinar Navigation & Headers
|
||||
# -----------------------------------------------------------------------------
|
||||
webinar-title = Webinars
|
||||
webinar-subtitle = Host and manage webinars
|
||||
webinar-nav-upcoming = Upcoming
|
||||
webinar-nav-live = Live Now
|
||||
webinar-nav-past = Past Webinars
|
||||
webinar-nav-recordings = Recordings
|
||||
webinar-nav-analytics = Analytics
|
||||
|
||||
# -----------------------------------------------------------------------------
|
||||
# Webinar Status
|
||||
# -----------------------------------------------------------------------------
|
||||
webinar-status-draft = Draft
|
||||
webinar-status-scheduled = Scheduled
|
||||
webinar-status-live = Live
|
||||
webinar-status-paused = Paused
|
||||
webinar-status-ended = Ended
|
||||
webinar-status-cancelled = Cancelled
|
||||
|
||||
# -----------------------------------------------------------------------------
|
||||
# Webinar Fields
|
||||
# -----------------------------------------------------------------------------
|
||||
webinar-field-title = Title
|
||||
webinar-field-description = Description
|
||||
webinar-field-scheduled-start = Start Date & Time
|
||||
webinar-field-scheduled-end = End Date & Time
|
||||
webinar-field-duration = Duration
|
||||
webinar-field-timezone = Timezone
|
||||
webinar-field-host = Host
|
||||
webinar-field-panelists = Panelists
|
||||
webinar-field-max-attendees = Maximum Attendees
|
||||
webinar-field-registration-url = Registration URL
|
||||
|
||||
# -----------------------------------------------------------------------------
|
||||
# Webinar Actions
|
||||
# -----------------------------------------------------------------------------
|
||||
webinar-action-create = Create Webinar
|
||||
webinar-action-edit = Edit Webinar
|
||||
webinar-action-delete = Delete Webinar
|
||||
webinar-action-cancel = Cancel Webinar
|
||||
webinar-action-start = Start Webinar
|
||||
webinar-action-end = End Webinar
|
||||
webinar-action-pause = Pause Webinar
|
||||
webinar-action-resume = Resume Webinar
|
||||
webinar-action-join = Join Webinar
|
||||
webinar-action-leave = Leave Webinar
|
||||
webinar-action-share = Share Link
|
||||
webinar-action-copy-link = Copy Link
|
||||
webinar-action-invite = Invite Panelists
|
||||
|
||||
# -----------------------------------------------------------------------------
|
||||
# Participant Roles
|
||||
# -----------------------------------------------------------------------------
|
||||
webinar-role-host = Host
|
||||
webinar-role-cohost = Co-Host
|
||||
webinar-role-presenter = Presenter
|
||||
webinar-role-panelist = Panelist
|
||||
webinar-role-attendee = Attendee
|
||||
|
||||
# -----------------------------------------------------------------------------
|
||||
# Participant Actions
|
||||
# -----------------------------------------------------------------------------
|
||||
webinar-participant-mute = Mute
|
||||
webinar-participant-unmute = Unmute
|
||||
webinar-participant-video-on = Turn On Video
|
||||
webinar-participant-video-off = Turn Off Video
|
||||
webinar-participant-promote = Promote to Panelist
|
||||
webinar-participant-demote = Demote to Attendee
|
||||
webinar-participant-remove = Remove from Webinar
|
||||
webinar-participant-allow-speak = Allow to Speak
|
||||
webinar-participant-spotlight = Spotlight
|
||||
|
||||
# -----------------------------------------------------------------------------
|
||||
# Hand Raising
|
||||
# -----------------------------------------------------------------------------
|
||||
webinar-hand-raise = Raise Hand
|
||||
webinar-hand-lower = Lower Hand
|
||||
webinar-hand-raised-count = { $count } hands raised
|
||||
webinar-hand-allow = Allow to Speak
|
||||
webinar-hand-dismiss = Dismiss
|
||||
|
||||
# -----------------------------------------------------------------------------
|
||||
# Q&A Panel
|
||||
# -----------------------------------------------------------------------------
|
||||
webinar-qa-title = Q&A
|
||||
webinar-qa-submit = Submit Question
|
||||
webinar-qa-placeholder = Type your question...
|
||||
webinar-qa-anonymous = Ask Anonymously
|
||||
webinar-qa-pending = Pending Questions
|
||||
webinar-qa-answered = Answered Questions
|
||||
webinar-qa-dismissed = Dismissed
|
||||
webinar-qa-upvote = Upvote
|
||||
webinar-qa-upvotes = { $count } upvotes
|
||||
webinar-qa-answer = Answer
|
||||
webinar-qa-answer-live = Answer Live
|
||||
webinar-qa-dismiss = Dismiss
|
||||
webinar-qa-pin = Pin Question
|
||||
webinar-qa-unpin = Unpin
|
||||
webinar-qa-highlight = Highlight
|
||||
webinar-qa-no-questions = No questions yet
|
||||
|
||||
# -----------------------------------------------------------------------------
|
||||
# Polls
|
||||
# -----------------------------------------------------------------------------
|
||||
webinar-poll-title = Polls
|
||||
webinar-poll-create = Create Poll
|
||||
webinar-poll-launch = Launch Poll
|
||||
webinar-poll-close = Close Poll
|
||||
webinar-poll-results = Show Results
|
||||
webinar-poll-hide-results = Hide Results
|
||||
webinar-poll-question = Question
|
||||
webinar-poll-options = Options
|
||||
webinar-poll-add-option = Add Option
|
||||
webinar-poll-single-choice = Single Choice
|
||||
webinar-poll-multiple-choice = Multiple Choice
|
||||
webinar-poll-votes = { $count } votes
|
||||
webinar-poll-vote = Vote
|
||||
webinar-poll-voted = You voted
|
||||
|
||||
# -----------------------------------------------------------------------------
|
||||
# Registration
|
||||
# -----------------------------------------------------------------------------
|
||||
webinar-registration-title = Registration
|
||||
webinar-registration-required = Registration Required
|
||||
webinar-registration-open = Open Registration
|
||||
webinar-registration-closed = Registration Closed
|
||||
webinar-registration-register = Register
|
||||
webinar-registration-registered = You're Registered
|
||||
webinar-registration-cancel = Cancel Registration
|
||||
webinar-registration-count = { $count } registered
|
||||
webinar-registration-fields = Registration Fields
|
||||
webinar-registration-name = Full Name
|
||||
webinar-registration-email = Email Address
|
||||
webinar-registration-confirmation = Registration Confirmed
|
||||
webinar-registration-pending = Pending Confirmation
|
||||
webinar-registration-waitlist = Waitlist
|
||||
|
||||
# -----------------------------------------------------------------------------
|
||||
# Webinar Settings
|
||||
# -----------------------------------------------------------------------------
|
||||
webinar-settings-title = Webinar Settings
|
||||
webinar-settings-general = General
|
||||
webinar-settings-permissions = Permissions
|
||||
webinar-settings-registration = Registration
|
||||
webinar-settings-recording = Recording
|
||||
webinar-settings-allow-chat = Allow Chat
|
||||
webinar-settings-allow-qa = Allow Q&A
|
||||
webinar-settings-allow-hand-raise = Allow Hand Raising
|
||||
webinar-settings-allow-reactions = Allow Reactions
|
||||
webinar-settings-moderated-qa = Moderated Q&A
|
||||
webinar-settings-anonymous-qa = Allow Anonymous Questions
|
||||
webinar-settings-waiting-room = Enable Waiting Room
|
||||
webinar-settings-practice-session = Practice Session
|
||||
webinar-settings-auto-record = Auto-Record
|
||||
|
||||
# -----------------------------------------------------------------------------
|
||||
# Recording
|
||||
# -----------------------------------------------------------------------------
|
||||
recording-title = Recordings
|
||||
recording-start = Start Recording
|
||||
recording-stop = Stop Recording
|
||||
recording-pause = Pause Recording
|
||||
recording-resume = Resume Recording
|
||||
recording-status-recording = Recording
|
||||
recording-status-processing = Processing
|
||||
recording-status-ready = Ready
|
||||
recording-status-failed = Failed
|
||||
recording-status-deleted = Deleted
|
||||
recording-status-expired = Expired
|
||||
recording-duration = Duration
|
||||
recording-size = File Size
|
||||
recording-quality = Quality
|
||||
recording-quality-standard = Standard (720p)
|
||||
recording-quality-high = High (1080p)
|
||||
recording-quality-ultra = Ultra (4K)
|
||||
recording-quality-audio = Audio Only
|
||||
recording-download = Download Recording
|
||||
recording-share = Share Recording
|
||||
recording-delete = Delete Recording
|
||||
recording-view-count = { $count } views
|
||||
recording-download-count = { $count } downloads
|
||||
recording-expires = Expires { $date }
|
||||
|
||||
# -----------------------------------------------------------------------------
|
||||
# Transcription
|
||||
# -----------------------------------------------------------------------------
|
||||
transcription-title = Transcription
|
||||
transcription-start = Start Transcription
|
||||
transcription-status-pending = Pending
|
||||
transcription-status-in-progress = Transcribing...
|
||||
transcription-status-completed = Completed
|
||||
transcription-status-failed = Failed
|
||||
transcription-status-partial = Partially Completed
|
||||
transcription-language = Language
|
||||
transcription-speaker-identification = Speaker Identification
|
||||
transcription-speakers = { $count } speakers identified
|
||||
transcription-words = { $count } words
|
||||
transcription-confidence = { $percent }% confidence
|
||||
transcription-download = Download Transcript
|
||||
transcription-export = Export
|
||||
transcription-export-txt = Plain Text (.txt)
|
||||
transcription-export-vtt = WebVTT (.vtt)
|
||||
transcription-export-srt = SubRip (.srt)
|
||||
transcription-export-json = JSON (.json)
|
||||
transcription-search = Search transcript...
|
||||
transcription-jump-to = Jump to timestamp
|
||||
transcription-edit = Edit Transcript
|
||||
transcription-save = Save Changes
|
||||
|
||||
# -----------------------------------------------------------------------------
|
||||
# Transcription Languages
|
||||
# -----------------------------------------------------------------------------
|
||||
transcription-lang-en-us = English (US)
|
||||
transcription-lang-en-gb = English (UK)
|
||||
transcription-lang-es-es = Spanish (Spain)
|
||||
transcription-lang-es-mx = Spanish (Mexico)
|
||||
transcription-lang-fr-fr = French
|
||||
transcription-lang-de-de = German
|
||||
transcription-lang-it-it = Italian
|
||||
transcription-lang-pt-br = Portuguese (Brazil)
|
||||
transcription-lang-pt-pt = Portuguese (Portugal)
|
||||
transcription-lang-nl-nl = Dutch
|
||||
transcription-lang-pl-pl = Polish
|
||||
transcription-lang-ru-ru = Russian
|
||||
transcription-lang-ja-jp = Japanese
|
||||
transcription-lang-ko-kr = Korean
|
||||
transcription-lang-zh-cn = Chinese (Simplified)
|
||||
transcription-lang-zh-tw = Chinese (Traditional)
|
||||
transcription-lang-ar-sa = Arabic
|
||||
transcription-lang-hi-in = Hindi
|
||||
transcription-lang-tr-tr = Turkish
|
||||
transcription-lang-vi-vn = Vietnamese
|
||||
|
||||
# -----------------------------------------------------------------------------
|
||||
# Webinar Analytics
|
||||
# -----------------------------------------------------------------------------
|
||||
webinar-analytics-title = Webinar Analytics
|
||||
webinar-analytics-overview = Overview
|
||||
webinar-analytics-registrations = Total Registrations
|
||||
webinar-analytics-attendees = Total Attendees
|
||||
webinar-analytics-peak-attendees = Peak Attendees
|
||||
webinar-analytics-avg-watch-time = Average Watch Time
|
||||
webinar-analytics-questions = Questions Asked
|
||||
webinar-analytics-questions-answered = Questions Answered
|
||||
webinar-analytics-reactions = Reactions
|
||||
webinar-analytics-poll-participation = Poll Participation
|
||||
webinar-analytics-engagement = Engagement Score
|
||||
webinar-analytics-retention = Audience Retention
|
||||
webinar-analytics-export = Export Report
|
||||
|
||||
# -----------------------------------------------------------------------------
|
||||
# Empty States
|
||||
# -----------------------------------------------------------------------------
|
||||
webinar-empty-upcoming = No upcoming webinars
|
||||
webinar-empty-past = No past webinars
|
||||
webinar-empty-recordings = No recordings available
|
||||
webinar-empty-schedule = Schedule your first webinar
|
||||
webinar-empty-transcription = No transcription available
|
||||
|
||||
# -----------------------------------------------------------------------------
|
||||
# Confirmations
|
||||
# -----------------------------------------------------------------------------
|
||||
webinar-confirm-end = Are you sure you want to end this webinar?
|
||||
webinar-confirm-cancel = Are you sure you want to cancel this webinar?
|
||||
webinar-confirm-delete = Are you sure you want to delete this webinar?
|
||||
webinar-confirm-delete-recording = Are you sure you want to delete this recording?
|
||||
webinar-confirm-stop-recording = Are you sure you want to stop recording?
|
||||
|
||||
# -----------------------------------------------------------------------------
|
||||
# Success Messages
|
||||
# -----------------------------------------------------------------------------
|
||||
webinar-success-created = Webinar created successfully
|
||||
webinar-success-updated = Webinar updated successfully
|
||||
webinar-success-started = Webinar started
|
||||
webinar-success-ended = Webinar ended
|
||||
webinar-success-cancelled = Webinar cancelled
|
||||
webinar-success-recording-started = Recording started
|
||||
webinar-success-recording-stopped = Recording stopped
|
||||
webinar-success-transcription-started = Transcription started
|
||||
webinar-success-transcription-completed = Transcription completed
|
||||
|
||||
# -----------------------------------------------------------------------------
|
||||
# Error Messages
|
||||
# -----------------------------------------------------------------------------
|
||||
webinar-error-create = Failed to create webinar
|
||||
webinar-error-start = Failed to start webinar
|
||||
webinar-error-join = Failed to join webinar
|
||||
webinar-error-recording-start = Failed to start recording
|
||||
webinar-error-recording-stop = Failed to stop recording
|
||||
webinar-error-transcription = Transcription failed
|
||||
webinar-error-max-participants = Maximum participants reached
|
||||
webinar-error-not-authorized = You are not authorized to perform this action
|
||||
webinar-error-webinar-ended = This webinar has ended
|
||||
webinar-error-registration-closed = Registration is closed
|
||||
|
||||
# -----------------------------------------------------------------------------
|
||||
# Notifications
|
||||
# -----------------------------------------------------------------------------
|
||||
webinar-notify-starting-soon = Webinar starting in { $minutes } minutes
|
||||
webinar-notify-started = Webinar has started
|
||||
webinar-notify-ended = Webinar has ended
|
||||
webinar-notify-hand-raised = { $name } raised their hand
|
||||
webinar-notify-question-submitted = New question submitted
|
||||
webinar-notify-recording-ready = Recording is ready
|
||||
webinar-notify-transcription-ready = Transcription is ready
|
||||
365
locales/es/admin.ftl
Normal file
365
locales/es/admin.ftl
Normal file
|
|
@ -0,0 +1,365 @@
|
|||
# =============================================================================
|
||||
# General Bots - Traducciones de Administración (Español)
|
||||
# =============================================================================
|
||||
# Traducciones de la interfaz administrativa para el Panel de Admin de GB
|
||||
# =============================================================================
|
||||
|
||||
# -----------------------------------------------------------------------------
|
||||
# Navegación y Panel de Administración
|
||||
# -----------------------------------------------------------------------------
|
||||
admin-title = Administración
|
||||
admin-dashboard = Panel de Administración
|
||||
admin-overview = Resumen
|
||||
admin-welcome = Bienvenido al Panel de Administración
|
||||
|
||||
admin-nav-dashboard = Panel
|
||||
admin-nav-users = Usuarios
|
||||
admin-nav-bots = Bots
|
||||
admin-nav-tenants = Inquilinos
|
||||
admin-nav-settings = Configuración
|
||||
admin-nav-logs = Registros
|
||||
admin-nav-analytics = Analíticas
|
||||
admin-nav-security = Seguridad
|
||||
admin-nav-integrations = Integraciones
|
||||
admin-nav-billing = Facturación
|
||||
admin-nav-support = Soporte
|
||||
admin-nav-groups = Grupos
|
||||
admin-nav-dns = DNS
|
||||
admin-nav-system = Sistema
|
||||
|
||||
# -----------------------------------------------------------------------------
|
||||
# Acciones Rápidas de Admin
|
||||
# -----------------------------------------------------------------------------
|
||||
admin-quick-actions = Acciones Rápidas
|
||||
admin-create-user = Crear Usuario
|
||||
admin-create-group = Crear Grupo
|
||||
admin-register-dns = Registrar DNS
|
||||
admin-recent-activity = Actividad Reciente
|
||||
admin-system-health = Salud del Sistema
|
||||
|
||||
# -----------------------------------------------------------------------------
|
||||
# Gestión de Usuarios
|
||||
# -----------------------------------------------------------------------------
|
||||
admin-users-title = Gestión de Usuarios
|
||||
admin-users-list = Lista de Usuarios
|
||||
admin-users-add = Agregar Usuario
|
||||
admin-users-edit = Editar Usuario
|
||||
admin-users-delete = Eliminar Usuario
|
||||
admin-users-search = Buscar usuarios...
|
||||
admin-users-filter = Filtrar Usuarios
|
||||
admin-users-export = Exportar Usuarios
|
||||
admin-users-import = Importar Usuarios
|
||||
admin-users-total = Total de Usuarios
|
||||
admin-users-active = Usuarios Activos
|
||||
admin-users-inactive = Usuarios Inactivos
|
||||
admin-users-suspended = Usuarios Suspendidos
|
||||
admin-users-pending = Verificación Pendiente
|
||||
admin-users-last-login = Último Acceso
|
||||
admin-users-created = Creado
|
||||
admin-users-role = Rol
|
||||
admin-users-status = Estado
|
||||
admin-users-actions = Acciones
|
||||
admin-users-no-users = No se encontraron usuarios
|
||||
admin-users-confirm-delete = ¿Estás seguro de que deseas eliminar este usuario?
|
||||
admin-users-deleted = Usuario eliminado exitosamente
|
||||
admin-users-saved = Usuario guardado exitosamente
|
||||
admin-users-invite = Invitar Usuario
|
||||
admin-users-invite-sent = Invitación enviada exitosamente
|
||||
admin-users-bulk-actions = Acciones Masivas
|
||||
admin-users-select-all = Seleccionar Todo
|
||||
admin-users-deselect-all = Deseleccionar Todo
|
||||
|
||||
# Detalles de Usuario
|
||||
admin-user-details = Detalles del Usuario
|
||||
admin-user-profile = Perfil
|
||||
admin-user-email = Correo Electrónico
|
||||
admin-user-name = Nombre
|
||||
admin-user-phone = Teléfono
|
||||
admin-user-avatar = Avatar
|
||||
admin-user-timezone = Zona Horaria
|
||||
admin-user-language = Idioma
|
||||
admin-user-role-admin = Administrador
|
||||
admin-user-role-manager = Gerente
|
||||
admin-user-role-user = Usuario
|
||||
admin-user-role-viewer = Visualizador
|
||||
admin-user-status-active = Activo
|
||||
admin-user-status-inactive = Inactivo
|
||||
admin-user-status-suspended = Suspendido
|
||||
admin-user-status-pending = Pendiente
|
||||
admin-user-permissions = Permisos
|
||||
admin-user-activity = Registro de Actividad
|
||||
admin-user-sessions = Sesiones Activas
|
||||
admin-user-terminate-session = Terminar Sesión
|
||||
admin-user-terminate-all = Terminar Todas las Sesiones
|
||||
admin-user-reset-password = Restablecer Contraseña
|
||||
admin-user-force-logout = Forzar Cierre de Sesión
|
||||
admin-user-enable-2fa = Habilitar 2FA
|
||||
admin-user-disable-2fa = Deshabilitar 2FA
|
||||
|
||||
# -----------------------------------------------------------------------------
|
||||
# Gestión de Grupos
|
||||
# -----------------------------------------------------------------------------
|
||||
admin-groups-title = Gestión de Grupos
|
||||
admin-groups-subtitle = Administra grupos, miembros y permisos
|
||||
admin-groups-list = Lista de Grupos
|
||||
admin-groups-add = Agregar Grupo
|
||||
admin-groups-create = Crear Grupo
|
||||
admin-groups-edit = Editar Grupo
|
||||
admin-groups-delete = Eliminar Grupo
|
||||
admin-groups-search = Buscar grupos...
|
||||
admin-groups-filter = Filtrar Grupos
|
||||
admin-groups-total = Total de Grupos
|
||||
admin-groups-active = Grupos Activos
|
||||
admin-groups-no-groups = No se encontraron grupos
|
||||
admin-groups-confirm-delete = ¿Estás seguro de que deseas eliminar este grupo?
|
||||
admin-groups-deleted = Grupo eliminado exitosamente
|
||||
admin-groups-saved = Grupo guardado exitosamente
|
||||
admin-groups-created = Grupo creado exitosamente
|
||||
admin-groups-loading = Cargando grupos...
|
||||
|
||||
# Detalles de Grupo
|
||||
admin-group-details = Detalles del Grupo
|
||||
admin-group-name = Nombre del Grupo
|
||||
admin-group-description = Descripción
|
||||
admin-group-visibility = Visibilidad
|
||||
admin-group-visibility-public = Público
|
||||
admin-group-visibility-private = Privado
|
||||
admin-group-visibility-hidden = Oculto
|
||||
admin-group-join-policy = Política de Unión
|
||||
admin-group-join-invite = Solo por Invitación
|
||||
admin-group-join-request = Solicitar Unirse
|
||||
admin-group-join-open = Abierto
|
||||
admin-group-members = Miembros
|
||||
admin-group-member-count = { $count ->
|
||||
[one] { $count } miembro
|
||||
*[other] { $count } miembros
|
||||
}
|
||||
admin-group-add-member = Agregar Miembro
|
||||
admin-group-remove-member = Eliminar Miembro
|
||||
admin-group-permissions = Permisos
|
||||
admin-group-settings = Configuración
|
||||
admin-group-analytics = Analíticas
|
||||
admin-group-overview = Resumen
|
||||
|
||||
# Modos de Vista de Grupos
|
||||
admin-groups-view-grid = Vista de Cuadrícula
|
||||
admin-groups-view-list = Vista de Lista
|
||||
admin-groups-all-visibility = Toda Visibilidad
|
||||
|
||||
# -----------------------------------------------------------------------------
|
||||
# Gestión de DNS
|
||||
# -----------------------------------------------------------------------------
|
||||
admin-dns-title = Gestión de DNS
|
||||
admin-dns-subtitle = Registra y administra nombres de host DNS para tus bots
|
||||
admin-dns-register = Registrar Nombre de Host
|
||||
admin-dns-registered = Nombres de Host Registrados
|
||||
admin-dns-search = Buscar nombres de host...
|
||||
admin-dns-refresh = Actualizar
|
||||
admin-dns-loading = Cargando registros DNS...
|
||||
admin-dns-no-records = No se encontraron registros DNS
|
||||
admin-dns-confirm-delete = ¿Estás seguro de que deseas eliminar este nombre de host?
|
||||
admin-dns-deleted = Nombre de host eliminado exitosamente
|
||||
admin-dns-saved = Registro DNS guardado exitosamente
|
||||
admin-dns-created = Nombre de host registrado exitosamente
|
||||
|
||||
# Campos del Formulario DNS
|
||||
admin-dns-hostname = Nombre de Host
|
||||
admin-dns-hostname-placeholder = mibot.ejemplo.com
|
||||
admin-dns-hostname-help = Ingresa el nombre de dominio completo que deseas registrar
|
||||
admin-dns-record-type = Tipo de Registro
|
||||
admin-dns-record-type-a = A (IPv4)
|
||||
admin-dns-record-type-aaaa = AAAA (IPv6)
|
||||
admin-dns-record-type-cname = CNAME
|
||||
admin-dns-ttl = TTL (segundos)
|
||||
admin-dns-ttl-5min = 5 minutos (300)
|
||||
admin-dns-ttl-1hour = 1 hora (3600)
|
||||
admin-dns-ttl-1day = 1 día (86400)
|
||||
admin-dns-target = Destino/Dirección IP
|
||||
admin-dns-target-placeholder-ipv4 = 192.168.1.1
|
||||
admin-dns-target-placeholder-ipv6 = 2001:db8::1
|
||||
admin-dns-target-placeholder-cname = destino.ejemplo.com
|
||||
admin-dns-target-help-a = Ingresa la dirección IPv4 a la que apuntar
|
||||
admin-dns-target-help-aaaa = Ingresa la dirección IPv6 a la que apuntar
|
||||
admin-dns-target-help-cname = Ingresa el nombre de dominio destino
|
||||
admin-dns-auto-ssl = Aprovisionar certificado SSL automáticamente
|
||||
|
||||
# Encabezados de Tabla DNS
|
||||
admin-dns-col-hostname = Nombre de Host
|
||||
admin-dns-col-type = Tipo
|
||||
admin-dns-col-target = Destino
|
||||
admin-dns-col-ttl = TTL
|
||||
admin-dns-col-ssl = SSL
|
||||
admin-dns-col-status = Estado
|
||||
admin-dns-col-actions = Acciones
|
||||
|
||||
# Estado DNS
|
||||
admin-dns-status-active = Activo
|
||||
admin-dns-status-pending = Pendiente
|
||||
admin-dns-status-error = Error
|
||||
admin-dns-ssl-enabled = SSL Habilitado
|
||||
admin-dns-ssl-disabled = Sin SSL
|
||||
admin-dns-ssl-pending = SSL Pendiente
|
||||
|
||||
# Tarjetas de Ayuda DNS
|
||||
admin-dns-help-title = Ayuda de Configuración DNS
|
||||
admin-dns-help-a-record = Registro A
|
||||
admin-dns-help-a-record-desc = Mapea un nombre de dominio a una dirección IPv4. Úsalo para apuntar tu nombre de host directamente a una IP de servidor.
|
||||
admin-dns-help-aaaa-record = Registro AAAA
|
||||
admin-dns-help-aaaa-record-desc = Mapea un nombre de dominio a una dirección IPv6. Similar al registro A pero para conectividad IPv6.
|
||||
admin-dns-help-cname-record = Registro CNAME
|
||||
admin-dns-help-cname-record-desc = Crea un alias de un dominio a otro. Útil para apuntar subdominios a tu dominio principal.
|
||||
admin-dns-help-ssl = SSL/TLS
|
||||
admin-dns-help-ssl-desc = Aprovisiona automáticamente certificados Let's Encrypt para conexiones HTTPS seguras.
|
||||
|
||||
# Modales de Editar/Eliminar DNS
|
||||
admin-dns-edit-title = Editar Registro DNS
|
||||
admin-dns-remove-title = Eliminar Nombre de Host
|
||||
admin-dns-remove-warning = Esto eliminará el registro DNS y cualquier certificado SSL asociado. El nombre de host ya no resolverá.
|
||||
|
||||
# -----------------------------------------------------------------------------
|
||||
# Gestión de Bots
|
||||
# -----------------------------------------------------------------------------
|
||||
admin-bots-title = Gestión de Bots
|
||||
admin-bots-list = Lista de Bots
|
||||
admin-bots-add = Agregar Bot
|
||||
admin-bots-edit = Editar Bot
|
||||
admin-bots-delete = Eliminar Bot
|
||||
admin-bots-search = Buscar bots...
|
||||
admin-bots-filter = Filtrar Bots
|
||||
admin-bots-total = Total de Bots
|
||||
admin-bots-active = Bots Activos
|
||||
admin-bots-inactive = Bots Inactivos
|
||||
admin-bots-draft = Bots en Borrador
|
||||
admin-bots-published = Bots Publicados
|
||||
admin-bots-no-bots = No se encontraron bots
|
||||
admin-bots-confirm-delete = ¿Estás seguro de que deseas eliminar este bot?
|
||||
admin-bots-deleted = Bot eliminado exitosamente
|
||||
admin-bots-saved = Bot guardado exitosamente
|
||||
admin-bots-duplicate = Duplicar Bot
|
||||
admin-bots-export = Exportar Bot
|
||||
admin-bots-import = Importar Bot
|
||||
admin-bots-publish = Publicar
|
||||
admin-bots-unpublish = Despublicar
|
||||
admin-bots-test = Probar Bot
|
||||
admin-bots-logs = Registros del Bot
|
||||
admin-bots-analytics = Analíticas del Bot
|
||||
admin-bots-conversations = Conversaciones
|
||||
admin-bots-templates = Plantillas
|
||||
admin-bots-dialogs = Diálogos
|
||||
admin-bots-knowledge-base = Base de Conocimiento
|
||||
|
||||
# Detalles del Bot
|
||||
admin-bot-details = Detalles del Bot
|
||||
admin-bot-name = Nombre del Bot
|
||||
admin-bot-description = Descripción
|
||||
admin-bot-avatar = Avatar
|
||||
admin-bot-status = Estado
|
||||
admin-bot-status-active = Activo
|
||||
admin-bot-status-inactive = Inactivo
|
||||
admin-bot-status-draft = Borrador
|
||||
admin-bot-status-published = Publicado
|
||||
admin-bot-language = Idioma
|
||||
admin-bot-timezone = Zona Horaria
|
||||
admin-bot-welcome-message = Mensaje de Bienvenida
|
||||
admin-bot-fallback-message = Mensaje de Respaldo
|
||||
admin-bot-channels = Canales
|
||||
admin-bot-integrations = Integraciones
|
||||
admin-bot-settings = Configuración
|
||||
admin-bot-permissions = Permisos
|
||||
admin-bot-analytics = Analíticas
|
||||
admin-bot-usage = Uso
|
||||
admin-bot-conversations-count = { $count ->
|
||||
[one] { $count } conversación
|
||||
*[other] { $count } conversaciones
|
||||
}
|
||||
|
||||
# -----------------------------------------------------------------------------
|
||||
# Gestión de Inquilinos
|
||||
# -----------------------------------------------------------------------------
|
||||
admin-tenants-title = Gestión de Inquilinos
|
||||
admin-tenants-list = Lista de Inquilinos
|
||||
admin-tenants-add = Agregar Inquilino
|
||||
admin-tenants-edit = Editar Inquilino
|
||||
admin-tenants-delete = Eliminar Inquilino
|
||||
admin-tenants-search = Buscar inquilinos...
|
||||
admin-tenants-no-tenants = No se encontraron inquilinos
|
||||
admin-tenants-confirm-delete = ¿Estás seguro de que deseas eliminar este inquilino?
|
||||
admin-tenants-deleted = Inquilino eliminado exitosamente
|
||||
admin-tenants-saved = Inquilino guardado exitosamente
|
||||
|
||||
# -----------------------------------------------------------------------------
|
||||
# Configuración del Sistema
|
||||
# -----------------------------------------------------------------------------
|
||||
admin-settings-title = Configuración del Sistema
|
||||
admin-settings-general = General
|
||||
admin-settings-security = Seguridad
|
||||
admin-settings-email = Correo Electrónico
|
||||
admin-settings-storage = Almacenamiento
|
||||
admin-settings-integrations = Integraciones
|
||||
admin-settings-api = API
|
||||
admin-settings-webhooks = Webhooks
|
||||
admin-settings-branding = Marca
|
||||
admin-settings-saved = Configuración guardada exitosamente
|
||||
|
||||
# -----------------------------------------------------------------------------
|
||||
# Registros y Monitoreo
|
||||
# -----------------------------------------------------------------------------
|
||||
admin-logs-title = Registros del Sistema
|
||||
admin-logs-filter = Filtrar Registros
|
||||
admin-logs-level = Nivel
|
||||
admin-logs-level-all = Todos
|
||||
admin-logs-level-debug = Depuración
|
||||
admin-logs-level-info = Información
|
||||
admin-logs-level-warn = Advertencia
|
||||
admin-logs-level-error = Error
|
||||
admin-logs-search = Buscar registros...
|
||||
admin-logs-refresh = Actualizar
|
||||
admin-logs-export = Exportar Registros
|
||||
admin-logs-clear = Limpiar Registros
|
||||
admin-logs-no-logs = No se encontraron registros
|
||||
admin-logs-timestamp = Marca de Tiempo
|
||||
admin-logs-message = Mensaje
|
||||
admin-logs-source = Fuente
|
||||
|
||||
# -----------------------------------------------------------------------------
|
||||
# Seguridad
|
||||
# -----------------------------------------------------------------------------
|
||||
admin-security-title = Configuración de Seguridad
|
||||
admin-security-2fa = Autenticación de Dos Factores
|
||||
admin-security-2fa-required = Requerir 2FA para todos los usuarios
|
||||
admin-security-password-policy = Política de Contraseñas
|
||||
admin-security-password-min-length = Longitud Mínima
|
||||
admin-security-password-require-uppercase = Requerir Mayúsculas
|
||||
admin-security-password-require-lowercase = Requerir Minúsculas
|
||||
admin-security-password-require-numbers = Requerir Números
|
||||
admin-security-password-require-symbols = Requerir Símbolos
|
||||
admin-security-session-timeout = Tiempo de Espera de Sesión
|
||||
admin-security-ip-whitelist = Lista Blanca de IP
|
||||
admin-security-audit-log = Registro de Auditoría
|
||||
admin-security-api-keys = Claves de API
|
||||
|
||||
# -----------------------------------------------------------------------------
|
||||
# Integraciones
|
||||
# -----------------------------------------------------------------------------
|
||||
admin-integrations-title = Integraciones
|
||||
admin-integrations-available = Integraciones Disponibles
|
||||
admin-integrations-connected = Integraciones Conectadas
|
||||
admin-integrations-connect = Conectar
|
||||
admin-integrations-disconnect = Desconectar
|
||||
admin-integrations-configure = Configurar
|
||||
admin-integrations-status-connected = Conectado
|
||||
admin-integrations-status-disconnected = Desconectado
|
||||
admin-integrations-status-error = Error
|
||||
admin-integrations-no-integrations = No hay integraciones configuradas
|
||||
|
||||
# -----------------------------------------------------------------------------
|
||||
# Facturación
|
||||
# -----------------------------------------------------------------------------
|
||||
admin-billing-title = Facturación
|
||||
admin-billing-current-plan = Plan Actual
|
||||
admin-billing-usage = Uso
|
||||
admin-billing-invoices = Facturas
|
||||
admin-billing-payment-methods = Métodos de Pago
|
||||
admin-billing-upgrade = Mejorar Plan
|
||||
admin-billing-downgrade = Reducir Plan
|
||||
admin-billing-cancel = Cancelar Suscripción
|
||||
148
locales/es/analytics.ftl
Normal file
148
locales/es/analytics.ftl
Normal file
|
|
@ -0,0 +1,148 @@
|
|||
analytics-title = Analíticas
|
||||
analytics-dashboard = Panel de Analíticas
|
||||
analytics-overview = Resumen
|
||||
analytics-reports = Informes
|
||||
analytics-export = Exportar Datos
|
||||
analytics-refresh = Actualizar Datos
|
||||
analytics-last-updated = Última actualización: { $time }
|
||||
|
||||
analytics-period-today = Hoy
|
||||
analytics-period-yesterday = Ayer
|
||||
analytics-period-week = Esta Semana
|
||||
analytics-period-last-week = Semana Pasada
|
||||
analytics-period-month = Este Mes
|
||||
analytics-period-last-month = Mes Pasado
|
||||
analytics-period-quarter = Este Trimestre
|
||||
analytics-period-year = Este Año
|
||||
analytics-period-custom = Rango Personalizado
|
||||
analytics-period-from = Desde
|
||||
analytics-period-to = Hasta
|
||||
analytics-period-apply = Aplicar
|
||||
|
||||
analytics-metric-total = Total
|
||||
analytics-metric-average = Promedio
|
||||
analytics-metric-min = Mínimo
|
||||
analytics-metric-max = Máximo
|
||||
analytics-metric-count = Cantidad
|
||||
analytics-metric-sum = Suma
|
||||
analytics-metric-percentage = Porcentaje
|
||||
analytics-metric-growth = Crecimiento
|
||||
analytics-metric-change = Cambio
|
||||
analytics-metric-trend = Tendencia
|
||||
|
||||
analytics-users-title = Analíticas de Usuarios
|
||||
analytics-users-total = Total de Usuarios
|
||||
analytics-users-active = Usuarios Activos
|
||||
analytics-users-new = Nuevos Usuarios
|
||||
analytics-users-returning = Usuarios Recurrentes
|
||||
analytics-users-churned = Usuarios Perdidos
|
||||
analytics-users-growth = Crecimiento de Usuarios
|
||||
analytics-users-retention = Retención de Usuarios
|
||||
analytics-users-engagement = Compromiso de Usuarios
|
||||
analytics-users-by-country = Usuarios por País
|
||||
analytics-users-by-device = Usuarios por Dispositivo
|
||||
analytics-users-by-browser = Usuarios por Navegador
|
||||
analytics-users-by-os = Usuarios por Sistema Operativo
|
||||
analytics-users-sessions = Sesiones
|
||||
analytics-users-avg-session = Duración Promedio de Sesión
|
||||
analytics-users-page-views = Vistas de Página
|
||||
analytics-users-bounce-rate = Tasa de Rebote
|
||||
|
||||
analytics-bots-title = Analíticas de Bots
|
||||
analytics-bots-total = Total de Bots
|
||||
analytics-bots-active = Bots Activos
|
||||
analytics-bots-conversations = Total de Conversaciones
|
||||
analytics-bots-messages = Total de Mensajes
|
||||
analytics-bots-avg-messages = Promedio de Mensajes por Conversación
|
||||
analytics-bots-response-time = Tiempo de Respuesta Promedio
|
||||
analytics-bots-resolution-rate = Tasa de Resolución
|
||||
analytics-bots-satisfaction = Puntuación de Satisfacción
|
||||
analytics-bots-handoff-rate = Tasa de Transferencia a Humanos
|
||||
analytics-bots-fallback-rate = Tasa de Respaldo
|
||||
analytics-bots-intent-accuracy = Precisión de Intención
|
||||
analytics-bots-top-intents = Intenciones Principales
|
||||
analytics-bots-top-topics = Temas Principales
|
||||
analytics-bots-by-channel = Conversaciones por Canal
|
||||
analytics-bots-by-hour = Conversaciones por Hora
|
||||
analytics-bots-by-day = Conversaciones por Día
|
||||
|
||||
analytics-conversations-title = Analíticas de Conversaciones
|
||||
analytics-conversations-total = Total de Conversaciones
|
||||
analytics-conversations-completed = Completadas
|
||||
analytics-conversations-abandoned = Abandonadas
|
||||
analytics-conversations-transferred = Transferidas
|
||||
analytics-conversations-avg-duration = Duración Promedio
|
||||
analytics-conversations-avg-messages = Mensajes Promedio
|
||||
analytics-conversations-first-response = Tiempo de Primera Respuesta
|
||||
analytics-conversations-wait-time = Tiempo de Espera Promedio
|
||||
analytics-conversations-peak-hours = Horas Pico
|
||||
analytics-conversations-sentiment = Análisis de Sentimiento
|
||||
analytics-conversations-sentiment-positive = Positivo
|
||||
analytics-conversations-sentiment-neutral = Neutral
|
||||
analytics-conversations-sentiment-negative = Negativo
|
||||
analytics-conversations-languages = Por Idioma
|
||||
analytics-conversations-sources = Por Fuente
|
||||
|
||||
analytics-performance-title = Analíticas de Rendimiento
|
||||
analytics-performance-uptime = Tiempo de Actividad
|
||||
analytics-performance-availability = Disponibilidad
|
||||
analytics-performance-response-time = Tiempo de Respuesta
|
||||
analytics-performance-latency = Latencia
|
||||
analytics-performance-throughput = Rendimiento
|
||||
analytics-performance-error-rate = Tasa de Errores
|
||||
analytics-performance-cpu = Uso de CPU
|
||||
analytics-performance-memory = Uso de Memoria
|
||||
analytics-performance-disk = Uso de Disco
|
||||
analytics-performance-network = E/S de Red
|
||||
analytics-performance-requests = Solicitudes/seg
|
||||
analytics-performance-concurrent = Usuarios Concurrentes
|
||||
analytics-performance-queue-size = Tamaño de Cola
|
||||
analytics-performance-cache-hit = Tasa de Aciertos de Caché
|
||||
|
||||
analytics-charts-title = Gráficos
|
||||
analytics-charts-line = Gráfico de Líneas
|
||||
analytics-charts-bar = Gráfico de Barras
|
||||
analytics-charts-pie = Gráfico Circular
|
||||
analytics-charts-area = Gráfico de Área
|
||||
analytics-charts-scatter = Gráfico de Dispersión
|
||||
analytics-charts-heatmap = Mapa de Calor
|
||||
analytics-charts-funnel = Gráfico de Embudo
|
||||
analytics-charts-table = Tabla
|
||||
analytics-charts-no-data = No hay datos disponibles
|
||||
analytics-charts-loading = Cargando datos...
|
||||
|
||||
analytics-filters-title = Filtros
|
||||
analytics-filters-apply = Aplicar Filtros
|
||||
analytics-filters-clear = Limpiar Filtros
|
||||
analytics-filters-save = Guardar Filtro
|
||||
analytics-filters-load = Cargar Filtro
|
||||
analytics-filters-date-range = Rango de Fechas
|
||||
analytics-filters-bot = Bot
|
||||
analytics-filters-channel = Canal
|
||||
analytics-filters-user = Usuario
|
||||
analytics-filters-status = Estado
|
||||
analytics-filters-sentiment = Sentimiento
|
||||
|
||||
analytics-export-csv = Exportar como CSV
|
||||
analytics-export-excel = Exportar como Excel
|
||||
analytics-export-pdf = Exportar como PDF
|
||||
analytics-export-json = Exportar como JSON
|
||||
analytics-export-in-progress = Exportación en progreso...
|
||||
analytics-export-complete = Exportación completada
|
||||
analytics-export-failed = La exportación falló
|
||||
|
||||
analytics-realtime = Tiempo Real
|
||||
analytics-realtime-users = Usuarios en Tiempo Real
|
||||
analytics-realtime-conversations = Conversaciones Activas
|
||||
analytics-realtime-events = Eventos en Vivo
|
||||
analytics-realtime-connected = Conectado
|
||||
analytics-realtime-disconnected = Desconectado
|
||||
|
||||
analytics-comparison = Comparación
|
||||
analytics-comparison-previous = Período Anterior
|
||||
analytics-comparison-year-over-year = Año contra Año
|
||||
analytics-comparison-month-over-month = Mes contra Mes
|
||||
analytics-comparison-week-over-week = Semana contra Semana
|
||||
analytics-comparison-increase = Aumento
|
||||
analytics-comparison-decrease = Disminución
|
||||
analytics-comparison-no-change = Sin Cambio
|
||||
256
locales/es/auth.ftl
Normal file
256
locales/es/auth.ftl
Normal file
|
|
@ -0,0 +1,256 @@
|
|||
# =============================================================================
|
||||
# General Bots - Authentication Translations (Spanish)
|
||||
# =============================================================================
|
||||
# Traducciones de autenticación, Passkey/WebAuthn y seguridad
|
||||
# =============================================================================
|
||||
|
||||
# -----------------------------------------------------------------------------
|
||||
# Authentication General
|
||||
# -----------------------------------------------------------------------------
|
||||
auth-title = Autenticación
|
||||
auth-login = Iniciar Sesión
|
||||
auth-logout = Cerrar Sesión
|
||||
auth-signup = Registrarse
|
||||
auth-welcome = Bienvenido
|
||||
auth-welcome-back = ¡Bienvenido de nuevo, { $name }!
|
||||
auth-session-expired = Tu sesión ha expirado
|
||||
auth-session-timeout = La sesión expira en { $minutes } minutos
|
||||
|
||||
# -----------------------------------------------------------------------------
|
||||
# Login Form
|
||||
# -----------------------------------------------------------------------------
|
||||
auth-login-title = Inicia sesión en tu cuenta
|
||||
auth-login-subtitle = Introduce tus credenciales para continuar
|
||||
auth-login-email = Correo Electrónico
|
||||
auth-login-username = Nombre de Usuario
|
||||
auth-login-password = Contraseña
|
||||
auth-login-remember = Recordarme
|
||||
auth-login-forgot = ¿Olvidaste tu contraseña?
|
||||
auth-login-submit = Iniciar Sesión
|
||||
auth-login-loading = Iniciando sesión...
|
||||
auth-login-or = o continúa con
|
||||
auth-login-no-account = ¿No tienes una cuenta?
|
||||
auth-login-create-account = Crear una cuenta
|
||||
|
||||
# -----------------------------------------------------------------------------
|
||||
# Passkey/WebAuthn
|
||||
# -----------------------------------------------------------------------------
|
||||
passkey-title = Llaves de Acceso
|
||||
passkey-subtitle = Autenticación segura sin contraseña
|
||||
passkey-description = Las llaves de acceso utilizan la biometría o PIN de tu dispositivo para un inicio de sesión seguro y resistente al phishing
|
||||
passkey-what-is = ¿Qué es una llave de acceso?
|
||||
passkey-benefits = Beneficios de las llaves de acceso
|
||||
passkey-benefit-secure = Más seguro que las contraseñas
|
||||
passkey-benefit-easy = Fácil de usar - sin contraseñas que recordar
|
||||
passkey-benefit-fast = Inicio de sesión rápido con biometría
|
||||
passkey-benefit-phishing = Resistente a ataques de phishing
|
||||
|
||||
# -----------------------------------------------------------------------------
|
||||
# Passkey Registration
|
||||
# -----------------------------------------------------------------------------
|
||||
passkey-register-title = Configurar Llave de Acceso
|
||||
passkey-register-subtitle = Crea una llave de acceso para un inicio de sesión más rápido y seguro
|
||||
passkey-register-description = Tu dispositivo te pedirá verificar tu identidad usando huella dactilar, rostro o bloqueo de pantalla
|
||||
passkey-register-button = Crear Llave de Acceso
|
||||
passkey-register-name = Nombre de la Llave de Acceso
|
||||
passkey-register-name-placeholder = ej: MacBook Pro, iPhone
|
||||
passkey-register-name-hint = Dale un nombre a tu llave de acceso para identificarla después
|
||||
passkey-register-loading = Configurando llave de acceso...
|
||||
passkey-register-verifying = Verificando con tu dispositivo...
|
||||
passkey-register-success = Llave de acceso creada con éxito
|
||||
passkey-register-error = Error al crear llave de acceso
|
||||
passkey-register-cancelled = Configuración de llave de acceso cancelada
|
||||
passkey-register-not-supported = Tu navegador no soporta llaves de acceso
|
||||
|
||||
# -----------------------------------------------------------------------------
|
||||
# Passkey Authentication
|
||||
# -----------------------------------------------------------------------------
|
||||
passkey-login-title = Iniciar Sesión con Llave de Acceso
|
||||
passkey-login-subtitle = Usa tu llave de acceso para un inicio de sesión seguro sin contraseña
|
||||
passkey-login-button = Iniciar Sesión con Llave de Acceso
|
||||
passkey-login-loading = Autenticando...
|
||||
passkey-login-verifying = Verificando llave de acceso...
|
||||
passkey-login-success = Sesión iniciada con éxito
|
||||
passkey-login-error = Error en la autenticación
|
||||
passkey-login-cancelled = Autenticación cancelada
|
||||
passkey-login-no-passkeys = No se encontraron llaves de acceso para esta cuenta
|
||||
passkey-login-try-another = Probar otro método
|
||||
|
||||
# -----------------------------------------------------------------------------
|
||||
# Passkey Management
|
||||
# -----------------------------------------------------------------------------
|
||||
passkey-manage-title = Gestionar Llaves de Acceso
|
||||
passkey-manage-subtitle = Ver y gestionar tus llaves de acceso registradas
|
||||
passkey-manage-count = { $count ->
|
||||
[one] { $count } llave de acceso registrada
|
||||
*[other] { $count } llaves de acceso registradas
|
||||
}
|
||||
passkey-manage-add = Añadir Nueva Llave de Acceso
|
||||
passkey-manage-rename = Renombrar
|
||||
passkey-manage-delete = Eliminar
|
||||
passkey-manage-created = Creada el { $date }
|
||||
passkey-manage-last-used = Último uso el { $date }
|
||||
passkey-manage-never-used = Nunca usada
|
||||
passkey-manage-this-device = Este dispositivo
|
||||
passkey-manage-cross-platform = Multiplataforma
|
||||
passkey-manage-platform = Autenticador de plataforma
|
||||
passkey-manage-security-key = Llave de seguridad
|
||||
passkey-manage-empty = No hay llaves de acceso registradas
|
||||
passkey-manage-empty-description = Añade una llave de acceso para un inicio de sesión más rápido y seguro
|
||||
|
||||
# -----------------------------------------------------------------------------
|
||||
# Passkey Deletion
|
||||
# -----------------------------------------------------------------------------
|
||||
passkey-delete-title = Eliminar Llave de Acceso
|
||||
passkey-delete-confirm = ¿Estás seguro de que quieres eliminar esta llave de acceso?
|
||||
passkey-delete-warning = No podrás usar esta llave de acceso para iniciar sesión
|
||||
passkey-delete-last-warning = Esta es tu única llave de acceso. Necesitarás usar autenticación con contraseña después de eliminarla.
|
||||
passkey-delete-success = Llave de acceso eliminada con éxito
|
||||
passkey-delete-error = Error al eliminar llave de acceso
|
||||
|
||||
# -----------------------------------------------------------------------------
|
||||
# Password Fallback
|
||||
# -----------------------------------------------------------------------------
|
||||
passkey-fallback-title = Usar Contraseña
|
||||
passkey-fallback-description = Si no puedes usar tu llave de acceso, puedes iniciar sesión con tu contraseña
|
||||
passkey-fallback-button = Usar Contraseña
|
||||
passkey-fallback-or-passkey = O inicia sesión con llave de acceso
|
||||
passkey-fallback-setup-prompt = Configura una llave de acceso para un inicio de sesión más rápido la próxima vez
|
||||
passkey-fallback-setup-later = Quizás después
|
||||
passkey-fallback-setup-now = Configurar ahora
|
||||
passkey-fallback-locked = Cuenta temporalmente bloqueada
|
||||
passkey-fallback-locked-description = Demasiados intentos fallidos. Inténtalo de nuevo en { $minutes } minutos.
|
||||
passkey-fallback-attempts = { $remaining } intentos restantes
|
||||
|
||||
# -----------------------------------------------------------------------------
|
||||
# Multi-Factor Authentication
|
||||
# -----------------------------------------------------------------------------
|
||||
mfa-title = Autenticación de Dos Factores
|
||||
mfa-subtitle = Añade una capa extra de seguridad a tu cuenta
|
||||
mfa-enabled = La autenticación de dos factores está activada
|
||||
mfa-disabled = La autenticación de dos factores está desactivada
|
||||
mfa-enable = Activar 2FA
|
||||
mfa-disable = Desactivar 2FA
|
||||
mfa-setup = Configurar 2FA
|
||||
mfa-verify = Verificar Código
|
||||
mfa-code = Código de Verificación
|
||||
mfa-code-placeholder = Introduce el código de 6 dígitos
|
||||
mfa-code-sent = Código enviado a { $destination }
|
||||
mfa-code-expired = El código ha expirado
|
||||
mfa-code-invalid = Código inválido
|
||||
mfa-resend = Reenviar código
|
||||
mfa-resend-in = Reenviar en { $seconds }s
|
||||
mfa-methods = Métodos de Autenticación
|
||||
mfa-method-app = Aplicación Autenticadora
|
||||
mfa-method-sms = SMS
|
||||
mfa-method-email = Correo Electrónico
|
||||
mfa-method-passkey = Llave de Acceso
|
||||
mfa-backup-codes = Códigos de Respaldo
|
||||
mfa-backup-codes-description = Guarda estos códigos en un lugar seguro. Cada código solo puede usarse una vez.
|
||||
mfa-backup-codes-remaining = { $count } códigos de respaldo restantes
|
||||
mfa-backup-codes-generate = Generar Nuevos Códigos
|
||||
mfa-backup-codes-download = Descargar Códigos
|
||||
mfa-backup-codes-copy = Copiar Códigos
|
||||
|
||||
# -----------------------------------------------------------------------------
|
||||
# Password Management
|
||||
# -----------------------------------------------------------------------------
|
||||
password-title = Contraseña
|
||||
password-change = Cambiar Contraseña
|
||||
password-current = Contraseña Actual
|
||||
password-new = Nueva Contraseña
|
||||
password-confirm = Confirmar Nueva Contraseña
|
||||
password-requirements = Requisitos de la Contraseña
|
||||
password-requirement-length = Al menos { $length } caracteres
|
||||
password-requirement-uppercase = Al menos una letra mayúscula
|
||||
password-requirement-lowercase = Al menos una letra minúscula
|
||||
password-requirement-number = Al menos un número
|
||||
password-requirement-special = Al menos un carácter especial
|
||||
password-strength = Fortaleza de la Contraseña
|
||||
password-strength-weak = Débil
|
||||
password-strength-fair = Aceptable
|
||||
password-strength-good = Buena
|
||||
password-strength-strong = Fuerte
|
||||
password-match = Las contraseñas coinciden
|
||||
password-mismatch = Las contraseñas no coinciden
|
||||
password-changed = Contraseña cambiada con éxito
|
||||
password-change-error = Error al cambiar contraseña
|
||||
|
||||
# -----------------------------------------------------------------------------
|
||||
# Password Reset
|
||||
# -----------------------------------------------------------------------------
|
||||
password-reset-title = Restablecer Contraseña
|
||||
password-reset-subtitle = Introduce tu correo para recibir un enlace de restablecimiento
|
||||
password-reset-email-sent = Correo de restablecimiento de contraseña enviado
|
||||
password-reset-email-sent-description = Revisa tu correo para instrucciones de restablecimiento de contraseña
|
||||
password-reset-invalid-token = Enlace de restablecimiento inválido o expirado
|
||||
password-reset-success = Contraseña restablecida con éxito
|
||||
password-reset-error = Error al restablecer contraseña
|
||||
|
||||
# -----------------------------------------------------------------------------
|
||||
# Session Management
|
||||
# -----------------------------------------------------------------------------
|
||||
session-title = Sesiones Activas
|
||||
session-subtitle = Gestiona tus sesiones activas en diferentes dispositivos
|
||||
session-current = Sesión Actual
|
||||
session-device = Dispositivo
|
||||
session-location = Ubicación
|
||||
session-last-active = Última Actividad
|
||||
session-ip-address = Dirección IP
|
||||
session-browser = Navegador
|
||||
session-os = Sistema Operativo
|
||||
session-sign-out = Cerrar Sesión
|
||||
session-sign-out-all = Cerrar Todas las Otras Sesiones
|
||||
session-sign-out-confirm = ¿Estás seguro de que quieres cerrar esta sesión?
|
||||
session-sign-out-all-confirm = ¿Estás seguro de que quieres cerrar todas las otras sesiones?
|
||||
|
||||
# -----------------------------------------------------------------------------
|
||||
# Security Settings
|
||||
# -----------------------------------------------------------------------------
|
||||
security-title = Seguridad
|
||||
security-subtitle = Gestiona la configuración de seguridad de tu cuenta
|
||||
security-overview = Resumen de Seguridad
|
||||
security-last-login = Último Inicio de Sesión
|
||||
security-password-last-changed = Último Cambio de Contraseña
|
||||
security-security-checkup = Revisión de Seguridad
|
||||
security-checkup-description = Revisa tu configuración de seguridad
|
||||
security-recommendation = Recomendación
|
||||
security-add-passkey = Añade una llave de acceso para un inicio de sesión más seguro
|
||||
security-enable-mfa = Activa la autenticación de dos factores
|
||||
security-update-password = Actualiza tu contraseña regularmente
|
||||
|
||||
# -----------------------------------------------------------------------------
|
||||
# Error Messages
|
||||
# -----------------------------------------------------------------------------
|
||||
auth-error-invalid-credentials = Correo o contraseña inválidos
|
||||
auth-error-account-locked = Cuenta bloqueada. Por favor, contacta con soporte.
|
||||
auth-error-account-disabled = La cuenta ha sido desactivada
|
||||
auth-error-email-not-verified = Por favor, verifica tu dirección de correo
|
||||
auth-error-too-many-attempts = Demasiados intentos fallidos. Por favor, inténtalo más tarde.
|
||||
auth-error-network = Error de red. Por favor, comprueba tu conexión.
|
||||
auth-error-server = Error del servidor. Por favor, inténtalo más tarde.
|
||||
auth-error-unknown = Ha ocurrido un error desconocido
|
||||
auth-error-session-invalid = Sesión inválida. Por favor, inicia sesión de nuevo.
|
||||
auth-error-token-expired = Tu sesión ha expirado. Por favor, inicia sesión de nuevo.
|
||||
auth-error-unauthorized = No estás autorizado para realizar esta acción
|
||||
|
||||
# -----------------------------------------------------------------------------
|
||||
# Success Messages
|
||||
# -----------------------------------------------------------------------------
|
||||
auth-success-login = Sesión iniciada con éxito
|
||||
auth-success-logout = Sesión cerrada con éxito
|
||||
auth-success-signup = Cuenta creada con éxito
|
||||
auth-success-password-changed = Contraseña cambiada con éxito
|
||||
auth-success-email-verified = Correo verificado con éxito
|
||||
auth-success-mfa-enabled = Autenticación de dos factores activada
|
||||
auth-success-mfa-disabled = Autenticación de dos factores desactivada
|
||||
auth-success-session-terminated = Sesión terminada con éxito
|
||||
|
||||
# -----------------------------------------------------------------------------
|
||||
# Notifications
|
||||
# -----------------------------------------------------------------------------
|
||||
auth-notify-new-login = Nuevo inicio de sesión desde { $device } en { $location }
|
||||
auth-notify-password-changed = Tu contraseña ha sido cambiada
|
||||
auth-notify-mfa-enabled = La autenticación de dos factores ha sido activada
|
||||
auth-notify-passkey-added = Nueva llave de acceso añadida a tu cuenta
|
||||
auth-notify-suspicious-activity = Actividad sospechosa detectada en tu cuenta
|
||||
150
locales/es/bot-templates.ftl
Normal file
150
locales/es/bot-templates.ftl
Normal file
|
|
@ -0,0 +1,150 @@
|
|||
bot-greeting-default = ¡Hola! ¿En qué puedo ayudarte hoy?
|
||||
bot-greeting-named = ¡Hola, { $name }! ¿En qué puedo ayudarte hoy?
|
||||
bot-goodbye = ¡Adiós! ¡Que tengas un excelente día!
|
||||
bot-help-prompt = Puedo ayudarte con: { $topics }. ¿Qué te gustaría saber?
|
||||
bot-thank-you = Gracias por tu mensaje. ¿En qué puedo asistirte hoy?
|
||||
bot-echo-intro = Bot de Eco: Repetiré todo lo que digas. Escribe 'salir' para terminar.
|
||||
bot-you-said = Dijiste: { $message }
|
||||
bot-thinking = Déjame pensar en eso...
|
||||
bot-processing = Procesando tu solicitud...
|
||||
bot-error-occurred = Lo siento, algo salió mal. Por favor intenta de nuevo.
|
||||
bot-not-understood = No entendí eso. ¿Podrías reformularlo?
|
||||
bot-confirm-action = ¿Estás seguro de que deseas continuar?
|
||||
bot-action-cancelled = Acción cancelada.
|
||||
bot-action-completed = ¡Listo!
|
||||
|
||||
bot-lead-welcome = ¡Bienvenido! Déjame ayudarte a comenzar.
|
||||
bot-lead-ask-name = ¿Cuál es tu nombre?
|
||||
bot-lead-ask-email = ¿Y tu correo electrónico?
|
||||
bot-lead-ask-company = ¿De qué empresa eres?
|
||||
bot-lead-ask-phone = ¿Cuál es tu número de teléfono?
|
||||
bot-lead-hot = ¡Excelente! Nuestro equipo de ventas se comunicará contigo pronto.
|
||||
bot-lead-nurture = ¡Gracias por tu interés! Te enviaremos algunos recursos.
|
||||
bot-lead-score = Tu puntuación de prospecto es { $score } de 100.
|
||||
bot-lead-saved = Tu información ha sido guardada exitosamente.
|
||||
|
||||
bot-schedule-created = Ejecutando tarea programada: { $name }
|
||||
bot-schedule-next = Próxima ejecución programada para { $datetime }
|
||||
bot-schedule-cancelled = Programación cancelada.
|
||||
bot-schedule-paused = Programación pausada.
|
||||
bot-schedule-resumed = Programación reanudada.
|
||||
|
||||
bot-monitor-alert = Alerta: { $subject } ha cambiado
|
||||
bot-monitor-threshold = { $metric } ha excedido el umbral: { $value }
|
||||
bot-monitor-recovered = { $subject } ha vuelto a la normalidad.
|
||||
bot-monitor-status = Estado actual: { $status }
|
||||
|
||||
bot-order-welcome = ¡Bienvenido a nuestra tienda! ¿En qué puedo ayudarte?
|
||||
bot-order-track = Rastrear mi pedido
|
||||
bot-order-browse = Ver productos
|
||||
bot-order-support = Contactar soporte
|
||||
bot-order-enter-id = Por favor ingresa tu número de pedido:
|
||||
bot-order-status = Estado del pedido: { $status }
|
||||
bot-order-shipped = ¡Tu pedido ha sido enviado! Número de seguimiento: { $tracking }
|
||||
bot-order-delivered = Tu pedido ha sido entregado.
|
||||
bot-order-processing = Tu pedido está siendo procesado.
|
||||
bot-order-cancelled = Tu pedido ha sido cancelado.
|
||||
bot-order-ticket = Ticket de soporte creado: #{ $ticket }
|
||||
bot-order-products-available = Aquí están nuestros productos disponibles:
|
||||
bot-order-product-item = { $name } - { $price }
|
||||
bot-order-cart-added = { $product } agregado a tu carrito.
|
||||
bot-order-cart-total = El total de tu carrito es { $total }.
|
||||
bot-order-checkout = Procediendo al pago...
|
||||
|
||||
bot-hr-welcome = Asistente de RR.HH. aquí. ¿En qué puedo ayudarte?
|
||||
bot-hr-request-leave = Solicitar permiso
|
||||
bot-hr-check-balance = Consultar saldo
|
||||
bot-hr-view-policies = Ver políticas
|
||||
bot-hr-leave-type = ¿Qué tipo de permiso? (vacaciones/enfermedad/personal)
|
||||
bot-hr-start-date = ¿Fecha de inicio? (AAAA-MM-DD)
|
||||
bot-hr-end-date = ¿Fecha de fin? (AAAA-MM-DD)
|
||||
bot-hr-leave-submitted = ¡Solicitud de permiso enviada! Tu gerente la revisará.
|
||||
bot-hr-leave-approved = Tu solicitud de permiso ha sido aprobada.
|
||||
bot-hr-leave-rejected = Tu solicitud de permiso ha sido rechazada.
|
||||
bot-hr-leave-pending = Tu solicitud de permiso está pendiente de aprobación.
|
||||
bot-hr-balance-title = Tu saldo de permisos:
|
||||
bot-hr-vacation-days = Vacaciones: { $days } días
|
||||
bot-hr-sick-days = Enfermedad: { $days } días
|
||||
bot-hr-personal-days = Personal: { $days } días
|
||||
bot-hr-policy-found = Aquí está la información de la política que solicitaste:
|
||||
bot-hr-policy-not-found = Política no encontrada. Por favor verifica el nombre de la política.
|
||||
|
||||
bot-health-welcome = Bienvenido a nuestro centro de salud. ¿En qué puedo ayudarte?
|
||||
bot-health-book = Agendar cita
|
||||
bot-health-cancel = Cancelar cita
|
||||
bot-health-view = Ver mis citas
|
||||
bot-health-reschedule = Reprogramar cita
|
||||
bot-health-type = ¿Qué tipo de cita? (general/especialista/laboratorio)
|
||||
bot-health-doctor = ¿Qué doctor preferirías?
|
||||
bot-health-date = ¿Qué fecha te funciona mejor?
|
||||
bot-health-time = ¿Qué horario preferirías?
|
||||
bot-health-confirmed = Tu cita ha sido confirmada para { $datetime } con { $doctor }.
|
||||
bot-health-cancelled = Tu cita ha sido cancelada.
|
||||
bot-health-rescheduled = Tu cita ha sido reprogramada para { $datetime }.
|
||||
bot-health-reminder = Recordatorio: Tienes una cita el { $datetime }.
|
||||
bot-health-no-appointments = No tienes citas próximas.
|
||||
bot-health-appointments-list = Tus próximas citas:
|
||||
|
||||
bot-support-welcome = ¿En qué puedo ayudarte hoy?
|
||||
bot-support-describe = Por favor describe tu problema:
|
||||
bot-support-category = ¿Qué categoría describe mejor tu problema?
|
||||
bot-support-priority = ¿Qué tan urgente es este problema?
|
||||
bot-support-ticket-created = Se ha creado el ticket de soporte #{ $ticket }.
|
||||
bot-support-ticket-status = Estado del ticket #{ $ticket }: { $status }
|
||||
bot-support-ticket-updated = Tu ticket ha sido actualizado.
|
||||
bot-support-ticket-resolved = Tu ticket ha sido resuelto. Por favor avísanos si necesitas más asistencia.
|
||||
bot-support-transfer = Transfiriéndote a un agente humano...
|
||||
bot-support-wait-time = Tiempo de espera estimado: { $minutes } minutos.
|
||||
bot-support-agent-joined = El agente { $name } se ha unido a la conversación.
|
||||
|
||||
bot-survey-intro = ¡Nos encantaría escuchar tus comentarios!
|
||||
bot-survey-question = { $question }
|
||||
bot-survey-scale = En una escala del 1 al 10, ¿cómo calificarías { $subject }?
|
||||
bot-survey-open = Por favor comparte cualquier comentario adicional:
|
||||
bot-survey-thanks = ¡Gracias por tus comentarios!
|
||||
bot-survey-completed = Encuesta completada exitosamente.
|
||||
bot-survey-skip = Puedes omitir esta pregunta si lo prefieres.
|
||||
|
||||
bot-notification-new-message = Tienes un nuevo mensaje de { $sender }.
|
||||
bot-notification-task-due = La tarea "{ $task }" vence { $when }.
|
||||
bot-notification-reminder = Recordatorio: { $message }
|
||||
bot-notification-update = Actualización: { $message }
|
||||
bot-notification-alert = Alerta: { $message }
|
||||
|
||||
bot-command-help = Comandos disponibles:
|
||||
bot-command-unknown = Comando desconocido. Escribe 'ayuda' para ver los comandos disponibles.
|
||||
bot-command-invalid = Sintaxis de comando inválida. Uso: { $usage }
|
||||
|
||||
bot-transfer-to-human = Transfiriéndote a un agente humano. Por favor espera...
|
||||
bot-transfer-complete = Ahora estás conectado con { $agent }.
|
||||
bot-transfer-unavailable = No hay agentes disponibles actualmente. Por favor intenta más tarde.
|
||||
bot-transfer-queue-position = Eres el número { $position } en la cola.
|
||||
|
||||
bot-auth-login-prompt = Por favor ingresa tus credenciales para continuar.
|
||||
bot-auth-login-success = Has iniciado sesión exitosamente.
|
||||
bot-auth-login-failed = Error al iniciar sesión. Por favor verifica tus credenciales.
|
||||
bot-auth-logout-success = Has cerrado sesión.
|
||||
bot-auth-session-expired = Tu sesión ha expirado. Por favor inicia sesión nuevamente.
|
||||
|
||||
bot-file-upload-prompt = Por favor sube tu archivo.
|
||||
bot-file-upload-success = Archivo "{ $filename }" subido exitosamente.
|
||||
bot-file-upload-failed = Error al subir el archivo. Por favor intenta de nuevo.
|
||||
bot-file-download-ready = Tu archivo está listo para descargar.
|
||||
bot-file-processing = Procesando tu archivo...
|
||||
|
||||
bot-payment-amount = El monto total es { $amount }.
|
||||
bot-payment-method = Por favor selecciona un método de pago.
|
||||
bot-payment-processing = Procesando tu pago...
|
||||
bot-payment-success = ¡Pago exitoso! ID de transacción: { $transactionId }
|
||||
bot-payment-failed = El pago falló. Por favor intenta de nuevo o usa otro método de pago.
|
||||
bot-payment-refund = Tu reembolso de { $amount } ha sido procesado.
|
||||
|
||||
bot-subscription-active = Tu suscripción está activa hasta { $endDate }.
|
||||
bot-subscription-expired = Tu suscripción ha expirado.
|
||||
bot-subscription-renew = ¿Te gustaría renovar tu suscripción?
|
||||
bot-subscription-upgraded = Tu suscripción ha sido mejorada a { $plan }.
|
||||
bot-subscription-cancelled = Tu suscripción ha sido cancelada.
|
||||
|
||||
bot-feedback-positive = ¡Gracias por tus comentarios positivos!
|
||||
bot-feedback-negative = Lamentamos escuchar eso. ¿Cómo podemos mejorar?
|
||||
bot-feedback-rating = Calificaste esta interacción { $rating } de 5.
|
||||
186
locales/es/channels.ftl
Normal file
186
locales/es/channels.ftl
Normal file
|
|
@ -0,0 +1,186 @@
|
|||
channel-web = Chat Web
|
||||
channel-whatsapp = WhatsApp
|
||||
channel-telegram = Telegram
|
||||
channel-slack = Slack
|
||||
channel-teams = Microsoft Teams
|
||||
channel-email = Correo Electrónico
|
||||
channel-sms = SMS
|
||||
channel-instagram = Instagram
|
||||
channel-messenger = Facebook Messenger
|
||||
channel-discord = Discord
|
||||
channel-voice = Voz
|
||||
channel-api = API
|
||||
|
||||
channel-status-connected = Conectado
|
||||
channel-status-disconnected = Desconectado
|
||||
channel-status-connecting = Conectando...
|
||||
channel-status-error = Error de Conexión
|
||||
channel-status-pending = Configuración Pendiente
|
||||
channel-status-active = Activo
|
||||
channel-status-inactive = Inactivo
|
||||
channel-status-suspended = Suspendido
|
||||
|
||||
channel-setup-title = Configuración de Canal
|
||||
channel-setup-description = Conecta tu bot a diferentes canales de comunicación
|
||||
channel-setup-select = Selecciona un canal para configurar
|
||||
channel-setup-configure = Configurar Canal
|
||||
channel-setup-test = Probar Conexión
|
||||
channel-setup-save = Guardar Configuración
|
||||
channel-setup-cancel = Cancelar
|
||||
channel-setup-reset = Restablecer Valores Predeterminados
|
||||
|
||||
channel-connect = Conectar
|
||||
channel-disconnect = Desconectar
|
||||
channel-reconnect = Reconectar
|
||||
channel-refresh = Actualizar Estado
|
||||
channel-settings = Configuración del Canal
|
||||
channel-delete = Eliminar Canal
|
||||
channel-confirm-delete = ¿Estás seguro de que deseas eliminar este canal?
|
||||
channel-deleted = Canal eliminado exitosamente
|
||||
channel-saved = Configuración del canal guardada
|
||||
|
||||
channel-whatsapp-phone = Número de Teléfono
|
||||
channel-whatsapp-business-id = ID de Cuenta Empresarial
|
||||
channel-whatsapp-api-key = Clave de API
|
||||
channel-whatsapp-webhook = URL del Webhook
|
||||
channel-whatsapp-verify-token = Token de Verificación
|
||||
channel-whatsapp-template = Plantilla de Mensaje
|
||||
channel-whatsapp-templates = Plantillas de Mensajes
|
||||
channel-whatsapp-template-create = Crear Plantilla
|
||||
channel-whatsapp-template-status = Estado de la Plantilla
|
||||
channel-whatsapp-template-approved = Aprobada
|
||||
channel-whatsapp-template-pending = Pendiente de Aprobación
|
||||
channel-whatsapp-template-rejected = Rechazada
|
||||
channel-whatsapp-24h-window = Ventana de mensajes de 24 horas
|
||||
channel-whatsapp-session-active = Sesión activa
|
||||
channel-whatsapp-session-expired = Sesión expirada
|
||||
|
||||
channel-telegram-bot-token = Token del Bot
|
||||
channel-telegram-bot-username = Nombre de Usuario del Bot
|
||||
channel-telegram-webhook = URL del Webhook
|
||||
channel-telegram-commands = Comandos del Bot
|
||||
channel-telegram-command-add = Agregar Comando
|
||||
channel-telegram-command-name = Nombre del Comando
|
||||
channel-telegram-command-description = Descripción
|
||||
channel-telegram-inline-mode = Modo en Línea
|
||||
channel-telegram-group-privacy = Modo de Privacidad de Grupo
|
||||
|
||||
channel-slack-workspace = Espacio de Trabajo
|
||||
channel-slack-bot-token = Token del Bot
|
||||
channel-slack-signing-secret = Secreto de Firma
|
||||
channel-slack-app-id = ID de la Aplicación
|
||||
channel-slack-channels = Canales
|
||||
channel-slack-channel-select = Seleccionar Canales
|
||||
channel-slack-events = Suscripciones a Eventos
|
||||
channel-slack-slash-commands = Comandos de Barra
|
||||
channel-slack-interactivity = Interactividad
|
||||
|
||||
channel-teams-tenant-id = ID del Inquilino
|
||||
channel-teams-app-id = ID de Aplicación
|
||||
channel-teams-app-secret = Secreto de Aplicación
|
||||
channel-teams-bot-id = ID del Bot
|
||||
channel-teams-manifest = Manifiesto de la App
|
||||
channel-teams-publish = Publicar en Teams
|
||||
channel-teams-install = Instalar en Teams
|
||||
|
||||
channel-email-smtp-host = Servidor SMTP
|
||||
channel-email-smtp-port = Puerto SMTP
|
||||
channel-email-smtp-user = Usuario SMTP
|
||||
channel-email-smtp-password = Contraseña SMTP
|
||||
channel-email-smtp-encryption = Cifrado
|
||||
channel-email-imap-host = Servidor IMAP
|
||||
channel-email-imap-port = Puerto IMAP
|
||||
channel-email-from-name = Nombre del Remitente
|
||||
channel-email-from-address = Dirección del Remitente
|
||||
channel-email-reply-to = Dirección de Respuesta
|
||||
channel-email-signature = Firma de Correo
|
||||
|
||||
channel-instagram-account = Cuenta de Instagram
|
||||
channel-instagram-page-id = ID de Página
|
||||
channel-instagram-access-token = Token de Acceso
|
||||
channel-instagram-business = Cuenta Empresarial
|
||||
channel-instagram-comments = Respuestas a Comentarios
|
||||
channel-instagram-stories = Menciones en Historias
|
||||
channel-instagram-dm = Mensajes Directos
|
||||
|
||||
channel-messenger-page-id = ID de Página
|
||||
channel-messenger-app-id = ID de Aplicación
|
||||
channel-messenger-app-secret = Secreto de Aplicación
|
||||
channel-messenger-page-token = Token de Acceso de Página
|
||||
channel-messenger-verify-token = Token de Verificación
|
||||
channel-messenger-persistent-menu = Menú Persistente
|
||||
channel-messenger-get-started = Botón de Comenzar
|
||||
|
||||
channel-sms-provider = Proveedor de SMS
|
||||
channel-sms-twilio = Twilio
|
||||
channel-sms-vonage = Vonage
|
||||
channel-sms-account-sid = SID de Cuenta
|
||||
channel-sms-auth-token = Token de Autenticación
|
||||
channel-sms-phone-number = Número de Teléfono
|
||||
channel-sms-sender-id = ID del Remitente
|
||||
|
||||
channel-voice-provider = Proveedor de Voz
|
||||
channel-voice-twilio = Twilio
|
||||
channel-voice-vonage = Vonage
|
||||
channel-voice-phone-number = Número de Teléfono
|
||||
channel-voice-greeting = Saludo de Voz
|
||||
channel-voice-fallback = Mensaje de Respaldo
|
||||
channel-voice-transcription = Habilitar Transcripción
|
||||
channel-voice-recording = Habilitar Grabación
|
||||
channel-voice-language = Idioma de Voz
|
||||
channel-voice-voice-type = Tipo de Voz
|
||||
|
||||
channel-discord-bot-token = Token del Bot
|
||||
channel-discord-client-id = ID de Cliente
|
||||
channel-discord-client-secret = Secreto de Cliente
|
||||
channel-discord-guild = Servidor (Guild)
|
||||
channel-discord-channels = Canales
|
||||
channel-discord-permissions = Permisos del Bot
|
||||
channel-discord-invite-url = URL de Invitación
|
||||
|
||||
channel-api-endpoint = Punto Final de API
|
||||
channel-api-key = Clave de API
|
||||
channel-api-secret = Secreto de API
|
||||
channel-api-webhook = URL del Webhook
|
||||
channel-api-rate-limit = Límite de Tasa
|
||||
channel-api-documentation = Documentación de API
|
||||
|
||||
channel-widget-title = Widget Web
|
||||
channel-widget-position = Posición del Widget
|
||||
channel-widget-position-left = Abajo a la Izquierda
|
||||
channel-widget-position-right = Abajo a la Derecha
|
||||
channel-widget-color = Color Principal
|
||||
channel-widget-header = Texto del Encabezado
|
||||
channel-widget-placeholder = Texto de Marcador
|
||||
channel-widget-welcome = Mensaje de Bienvenida
|
||||
channel-widget-avatar = Avatar del Bot
|
||||
channel-widget-bubble = Burbuja de Chat
|
||||
channel-widget-preview = Vista Previa del Widget
|
||||
channel-widget-embed-code = Código para Incrustar
|
||||
channel-widget-copy-code = Copiar Código
|
||||
channel-widget-code-copied = Código copiado al portapapeles
|
||||
|
||||
channel-routing-title = Enrutamiento de Canal
|
||||
channel-routing-default = Canal Predeterminado
|
||||
channel-routing-rules = Reglas de Enrutamiento
|
||||
channel-routing-add-rule = Agregar Regla
|
||||
channel-routing-condition = Condición
|
||||
channel-routing-action = Acción
|
||||
channel-routing-priority = Prioridad
|
||||
channel-routing-fallback = Canal de Respaldo
|
||||
|
||||
channel-analytics-messages = Mensajes
|
||||
channel-analytics-conversations = Conversaciones
|
||||
channel-analytics-users = Usuarios Únicos
|
||||
channel-analytics-response-time = Tiempo de Respuesta Promedio
|
||||
channel-analytics-satisfaction = Puntuación de Satisfacción
|
||||
channel-analytics-by-channel = Analíticas por Canal
|
||||
|
||||
channel-error-connection = Error al conectar al canal
|
||||
channel-error-authentication = Autenticación fallida
|
||||
channel-error-configuration = Configuración inválida
|
||||
channel-error-rate-limit = Límite de tasa excedido
|
||||
channel-error-webhook = Verificación del webhook fallida
|
||||
channel-error-permission = Permisos insuficientes
|
||||
channel-error-not-found = Canal no encontrado
|
||||
channel-error-already-exists = Canal ya configurado
|
||||
347
locales/es/common.ftl
Normal file
347
locales/es/common.ftl
Normal file
|
|
@ -0,0 +1,347 @@
|
|||
# ============================================================================
|
||||
# General Bots - Traducciones Comunes (Español)
|
||||
# ============================================================================
|
||||
# Este archivo contiene cadenas compartidas utilizadas en todos los componentes de GB.
|
||||
# Mantener los IDs de mensaje en minúsculas con guiones: categoría-subcategoría-descriptor
|
||||
# ============================================================================
|
||||
|
||||
# -----------------------------------------------------------------------------
|
||||
# Marca
|
||||
# -----------------------------------------------------------------------------
|
||||
app-name = General Bots
|
||||
app-tagline = Tu espacio de trabajo de productividad impulsado por IA
|
||||
|
||||
# -----------------------------------------------------------------------------
|
||||
# Acciones Comunes
|
||||
# -----------------------------------------------------------------------------
|
||||
action-save = Guardar
|
||||
action-cancel = Cancelar
|
||||
action-delete = Eliminar
|
||||
action-edit = Editar
|
||||
action-close = Cerrar
|
||||
action-confirm = Confirmar
|
||||
action-retry = Reintentar
|
||||
action-back = Atrás
|
||||
action-next = Siguiente
|
||||
action-submit = Enviar
|
||||
action-search = Buscar
|
||||
action-refresh = Actualizar
|
||||
action-copy = Copiar
|
||||
action-paste = Pegar
|
||||
action-undo = Deshacer
|
||||
action-redo = Rehacer
|
||||
action-select = Seleccionar
|
||||
action-select-all = Seleccionar Todo
|
||||
action-clear = Limpiar
|
||||
action-reset = Restablecer
|
||||
action-apply = Aplicar
|
||||
action-create = Crear
|
||||
action-update = Actualizar
|
||||
action-remove = Quitar
|
||||
action-add = Agregar
|
||||
action-upload = Subir
|
||||
action-download = Descargar
|
||||
action-export = Exportar
|
||||
action-import = Importar
|
||||
action-share = Compartir
|
||||
action-send = Enviar
|
||||
action-reply = Responder
|
||||
action-forward = Reenviar
|
||||
action-archive = Archivar
|
||||
action-restore = Restaurar
|
||||
action-duplicate = Duplicar
|
||||
action-rename = Renombrar
|
||||
action-move = Mover
|
||||
action-filter = Filtrar
|
||||
action-sort = Ordenar
|
||||
action-view = Ver
|
||||
action-hide = Ocultar
|
||||
action-show = Mostrar
|
||||
action-expand = Expandir
|
||||
action-collapse = Contraer
|
||||
action-enable = Habilitar
|
||||
action-disable = Deshabilitar
|
||||
action-connect = Conectar
|
||||
action-disconnect = Desconectar
|
||||
action-sync = Sincronizar
|
||||
action-start = Iniciar
|
||||
action-stop = Detener
|
||||
action-pause = Pausar
|
||||
action-resume = Reanudar
|
||||
action-continue = Continuar
|
||||
action-finish = Finalizar
|
||||
action-complete = Completar
|
||||
action-approve = Aprobar
|
||||
action-reject = Rechazar
|
||||
action-accept = Aceptar
|
||||
action-decline = Rechazar
|
||||
action-login = Iniciar Sesión
|
||||
action-logout = Cerrar Sesión
|
||||
action-signup = Registrarse
|
||||
action-forgot-password = Olvidé mi Contraseña
|
||||
|
||||
# -----------------------------------------------------------------------------
|
||||
# Etiquetas Comunes
|
||||
# -----------------------------------------------------------------------------
|
||||
label-loading = Cargando...
|
||||
label-saving = Guardando...
|
||||
label-processing = Procesando...
|
||||
label-searching = Buscando...
|
||||
label-uploading = Subiendo...
|
||||
label-downloading = Descargando...
|
||||
label-no-results = No se encontraron resultados
|
||||
label-no-data = No hay datos disponibles
|
||||
label-empty = Vacío
|
||||
label-none = Ninguno
|
||||
label-all = Todo
|
||||
label-selected = Seleccionado
|
||||
label-required = Requerido
|
||||
label-optional = Opcional
|
||||
label-default = Predeterminado
|
||||
label-custom = Personalizado
|
||||
label-new = Nuevo
|
||||
label-draft = Borrador
|
||||
label-pending = Pendiente
|
||||
label-active = Activo
|
||||
label-inactive = Inactivo
|
||||
label-enabled = Habilitado
|
||||
label-disabled = Deshabilitado
|
||||
label-public = Público
|
||||
label-private = Privado
|
||||
label-shared = Compartido
|
||||
label-yes = Sí
|
||||
label-no = No
|
||||
label-on = Encendido
|
||||
label-off = Apagado
|
||||
label-true = Verdadero
|
||||
label-false = Falso
|
||||
label-unknown = Desconocido
|
||||
label-other = Otro
|
||||
label-more = Más
|
||||
label-less = Menos
|
||||
label-details = Detalles
|
||||
label-summary = Resumen
|
||||
label-description = Descripción
|
||||
label-name = Nombre
|
||||
label-title = Título
|
||||
label-type = Tipo
|
||||
label-status = Estado
|
||||
label-priority = Prioridad
|
||||
label-date = Fecha
|
||||
label-time = Hora
|
||||
label-size = Tamaño
|
||||
label-count = Cantidad
|
||||
label-total = Total
|
||||
label-average = Promedio
|
||||
label-minimum = Mínimo
|
||||
label-maximum = Máximo
|
||||
label-version = Versión
|
||||
label-id = ID
|
||||
label-created = Creado
|
||||
label-updated = Actualizado
|
||||
label-modified = Modificado
|
||||
label-deleted = Eliminado
|
||||
label-by = Por
|
||||
label-from = De
|
||||
label-to = Para
|
||||
label-at = En
|
||||
label-in = En
|
||||
label-of = De
|
||||
|
||||
# -----------------------------------------------------------------------------
|
||||
# Mensajes de Estado
|
||||
# -----------------------------------------------------------------------------
|
||||
status-success = Éxito
|
||||
status-error = Error
|
||||
status-warning = Advertencia
|
||||
status-info = Información
|
||||
status-loading = Cargando
|
||||
status-complete = Completo
|
||||
status-incomplete = Incompleto
|
||||
status-failed = Fallido
|
||||
status-cancelled = Cancelado
|
||||
status-pending = Pendiente
|
||||
status-in-progress = En Progreso
|
||||
status-done = Listo
|
||||
status-ready = Listo
|
||||
status-not-ready = No Listo
|
||||
status-connected = Conectado
|
||||
status-disconnected = Desconectado
|
||||
status-online = En Línea
|
||||
status-offline = Fuera de Línea
|
||||
status-available = Disponible
|
||||
status-unavailable = No Disponible
|
||||
status-busy = Ocupado
|
||||
status-away = Ausente
|
||||
|
||||
# -----------------------------------------------------------------------------
|
||||
# Diálogos de Confirmación
|
||||
# -----------------------------------------------------------------------------
|
||||
confirm-delete = ¿Estás seguro de que deseas eliminar esto?
|
||||
confirm-delete-item = ¿Estás seguro de que deseas eliminar "{ $name }"?
|
||||
confirm-delete-items = ¿Estás seguro de que deseas eliminar { $count ->
|
||||
[one] este elemento
|
||||
*[other] estos { $count } elementos
|
||||
}?
|
||||
confirm-discard-changes = Tienes cambios sin guardar. ¿Estás seguro de que deseas descartarlos?
|
||||
confirm-logout = ¿Estás seguro de que deseas cerrar sesión?
|
||||
confirm-cancel = ¿Estás seguro de que deseas cancelar?
|
||||
|
||||
# -----------------------------------------------------------------------------
|
||||
# Tiempo y Fechas
|
||||
# -----------------------------------------------------------------------------
|
||||
time-now = Ahora mismo
|
||||
time-seconds-ago = { $count ->
|
||||
[one] hace { $count } segundo
|
||||
*[other] hace { $count } segundos
|
||||
}
|
||||
time-minutes-ago = { $count ->
|
||||
[one] hace { $count } minuto
|
||||
*[other] hace { $count } minutos
|
||||
}
|
||||
time-hours-ago = { $count ->
|
||||
[one] hace { $count } hora
|
||||
*[other] hace { $count } horas
|
||||
}
|
||||
time-days-ago = { $count ->
|
||||
[one] hace { $count } día
|
||||
*[other] hace { $count } días
|
||||
}
|
||||
time-weeks-ago = { $count ->
|
||||
[one] hace { $count } semana
|
||||
*[other] hace { $count } semanas
|
||||
}
|
||||
time-months-ago = { $count ->
|
||||
[one] hace { $count } mes
|
||||
*[other] hace { $count } meses
|
||||
}
|
||||
time-years-ago = { $count ->
|
||||
[one] hace { $count } año
|
||||
*[other] hace { $count } años
|
||||
}
|
||||
time-in-seconds = { $count ->
|
||||
[one] en { $count } segundo
|
||||
*[other] en { $count } segundos
|
||||
}
|
||||
time-in-minutes = { $count ->
|
||||
[one] en { $count } minuto
|
||||
*[other] en { $count } minutos
|
||||
}
|
||||
time-in-hours = { $count ->
|
||||
[one] en { $count } hora
|
||||
*[other] en { $count } horas
|
||||
}
|
||||
time-in-days = { $count ->
|
||||
[one] en { $count } día
|
||||
*[other] en { $count } días
|
||||
}
|
||||
time-today = Hoy
|
||||
time-yesterday = Ayer
|
||||
time-tomorrow = Mañana
|
||||
time-this-week = Esta semana
|
||||
time-last-week = La semana pasada
|
||||
time-next-week = La próxima semana
|
||||
time-this-month = Este mes
|
||||
time-last-month = El mes pasado
|
||||
time-next-month = El próximo mes
|
||||
time-this-year = Este año
|
||||
time-last-year = El año pasado
|
||||
time-next-year = El próximo año
|
||||
|
||||
# Días de la semana
|
||||
day-sunday = Domingo
|
||||
day-monday = Lunes
|
||||
day-tuesday = Martes
|
||||
day-wednesday = Miércoles
|
||||
day-thursday = Jueves
|
||||
day-friday = Viernes
|
||||
day-saturday = Sábado
|
||||
day-sun = Dom
|
||||
day-mon = Lun
|
||||
day-tue = Mar
|
||||
day-wed = Mié
|
||||
day-thu = Jue
|
||||
day-fri = Vie
|
||||
day-sat = Sáb
|
||||
|
||||
# Meses
|
||||
month-january = Enero
|
||||
month-february = Febrero
|
||||
month-march = Marzo
|
||||
month-april = Abril
|
||||
month-may = Mayo
|
||||
month-june = Junio
|
||||
month-july = Julio
|
||||
month-august = Agosto
|
||||
month-september = Septiembre
|
||||
month-october = Octubre
|
||||
month-november = Noviembre
|
||||
month-december = Diciembre
|
||||
month-jan = Ene
|
||||
month-feb = Feb
|
||||
month-mar = Mar
|
||||
month-apr = Abr
|
||||
month-may-short = May
|
||||
month-jun = Jun
|
||||
month-jul = Jul
|
||||
month-aug = Ago
|
||||
month-sep = Sep
|
||||
month-oct = Oct
|
||||
month-nov = Nov
|
||||
month-dec = Dic
|
||||
|
||||
# -----------------------------------------------------------------------------
|
||||
# Tamaños de Archivo
|
||||
# -----------------------------------------------------------------------------
|
||||
size-bytes = { $value } B
|
||||
size-kilobytes = { $value } KB
|
||||
size-megabytes = { $value } MB
|
||||
size-gigabytes = { $value } GB
|
||||
size-terabytes = { $value } TB
|
||||
|
||||
# -----------------------------------------------------------------------------
|
||||
# Paginación
|
||||
# -----------------------------------------------------------------------------
|
||||
pagination-page = Página { $current } de { $total }
|
||||
pagination-showing = Mostrando { $start } a { $end } de { $total }
|
||||
pagination-items-per-page = Elementos por página
|
||||
pagination-first = Primera
|
||||
pagination-previous = Anterior
|
||||
pagination-next = Siguiente
|
||||
pagination-last = Última
|
||||
pagination-go-to-page = Ir a la página
|
||||
|
||||
# -----------------------------------------------------------------------------
|
||||
# Validación de Formularios
|
||||
# -----------------------------------------------------------------------------
|
||||
validation-required = Este campo es requerido
|
||||
validation-required-field = { $field } es requerido
|
||||
validation-email-invalid = Por favor ingresa una dirección de correo válida
|
||||
validation-url-invalid = Por favor ingresa una URL válida
|
||||
validation-number-invalid = Por favor ingresa un número válido
|
||||
validation-date-invalid = Por favor ingresa una fecha válida
|
||||
validation-min-length = Debe tener al menos { $min } caracteres
|
||||
validation-max-length = No debe tener más de { $max } caracteres
|
||||
validation-min-value = Debe ser al menos { $min }
|
||||
validation-max-value = No debe ser mayor que { $max }
|
||||
validation-pattern-mismatch = Formato inválido
|
||||
validation-passwords-mismatch = Las contraseñas no coinciden
|
||||
validation-file-too-large = El archivo es muy grande. El tamaño máximo es { $max }
|
||||
validation-file-type-invalid = Tipo de archivo inválido. Tipos permitidos: { $types }
|
||||
|
||||
# -----------------------------------------------------------------------------
|
||||
# Accesibilidad
|
||||
# -----------------------------------------------------------------------------
|
||||
a11y-skip-to-content = Saltar al contenido principal
|
||||
a11y-loading = Cargando, por favor espera
|
||||
a11y-menu-open = Abrir menú
|
||||
a11y-menu-close = Cerrar menú
|
||||
a11y-expand = Expandir
|
||||
a11y-collapse = Contraer
|
||||
a11y-selected = Seleccionado
|
||||
a11y-not-selected = No seleccionado
|
||||
a11y-required = Campo requerido
|
||||
a11y-error = Error
|
||||
a11y-success = Éxito
|
||||
a11y-warning = Advertencia
|
||||
a11y-info = Información
|
||||
301
locales/es/contacts.ftl
Normal file
301
locales/es/contacts.ftl
Normal file
|
|
@ -0,0 +1,301 @@
|
|||
# =============================================================================
|
||||
# General Bots - Contacts Translations (Spanish)
|
||||
# =============================================================================
|
||||
# Traducciones de la interfaz de gestión de contactos
|
||||
# =============================================================================
|
||||
|
||||
# -----------------------------------------------------------------------------
|
||||
# Navigation & Headers
|
||||
# -----------------------------------------------------------------------------
|
||||
contacts-title = Contactos
|
||||
contacts-subtitle = Gestiona tus contactos y relaciones
|
||||
contacts-nav-all = Todos los Contactos
|
||||
contacts-nav-favorites = Favoritos
|
||||
contacts-nav-recent = Añadidos Recientemente
|
||||
contacts-nav-groups = Grupos
|
||||
contacts-nav-tags = Etiquetas
|
||||
|
||||
# -----------------------------------------------------------------------------
|
||||
# Views & Filters
|
||||
# -----------------------------------------------------------------------------
|
||||
contacts-view-list = Vista de Lista
|
||||
contacts-view-grid = Vista de Cuadrícula
|
||||
contacts-filter-all = Todos
|
||||
contacts-filter-active = Activos
|
||||
contacts-filter-inactive = Inactivos
|
||||
contacts-filter-leads = Leads
|
||||
contacts-filter-customers = Clientes
|
||||
contacts-filter-prospects = Prospectos
|
||||
contacts-filter-archived = Archivados
|
||||
contacts-search-placeholder = Buscar contactos...
|
||||
contacts-sort-name = Ordenar por Nombre
|
||||
contacts-sort-company = Ordenar por Empresa
|
||||
contacts-sort-recent = Ordenar por Recientes
|
||||
contacts-sort-created = Ordenar por Creación
|
||||
|
||||
# -----------------------------------------------------------------------------
|
||||
# Contact Fields
|
||||
# -----------------------------------------------------------------------------
|
||||
contacts-field-first-name = Nombre
|
||||
contacts-field-last-name = Apellido
|
||||
contacts-field-email = Correo Electrónico
|
||||
contacts-field-phone = Teléfono
|
||||
contacts-field-mobile = Móvil
|
||||
contacts-field-company = Empresa
|
||||
contacts-field-job-title = Cargo
|
||||
contacts-field-department = Departamento
|
||||
contacts-field-website = Sitio Web
|
||||
contacts-field-linkedin = LinkedIn
|
||||
contacts-field-twitter = Twitter
|
||||
contacts-field-address = Dirección
|
||||
contacts-field-city = Ciudad
|
||||
contacts-field-state = Estado/Provincia
|
||||
contacts-field-postal-code = Código Postal
|
||||
contacts-field-country = País
|
||||
contacts-field-notes = Notas
|
||||
contacts-field-tags = Etiquetas
|
||||
contacts-field-source = Origen
|
||||
contacts-field-status = Estado
|
||||
contacts-field-last-contacted = Último Contacto
|
||||
contacts-field-created-at = Creado
|
||||
contacts-field-updated-at = Actualizado
|
||||
|
||||
# -----------------------------------------------------------------------------
|
||||
# Contact Status
|
||||
# -----------------------------------------------------------------------------
|
||||
contacts-status-active = Activo
|
||||
contacts-status-inactive = Inactivo
|
||||
contacts-status-lead = Lead
|
||||
contacts-status-customer = Cliente
|
||||
contacts-status-prospect = Prospecto
|
||||
contacts-status-archived = Archivado
|
||||
|
||||
# -----------------------------------------------------------------------------
|
||||
# Contact Source
|
||||
# -----------------------------------------------------------------------------
|
||||
contacts-source-manual = Entrada Manual
|
||||
contacts-source-import = Importación
|
||||
contacts-source-webform = Formulario Web
|
||||
contacts-source-api = API
|
||||
contacts-source-email = Correo Electrónico
|
||||
contacts-source-meeting = Reunión
|
||||
contacts-source-referral = Referencia
|
||||
contacts-source-social = Redes Sociales
|
||||
|
||||
# -----------------------------------------------------------------------------
|
||||
# Actions
|
||||
# -----------------------------------------------------------------------------
|
||||
contacts-action-add = Añadir Contacto
|
||||
contacts-action-edit = Editar Contacto
|
||||
contacts-action-delete = Eliminar Contacto
|
||||
contacts-action-archive = Archivar Contacto
|
||||
contacts-action-restore = Restaurar Contacto
|
||||
contacts-action-favorite = Añadir a Favoritos
|
||||
contacts-action-unfavorite = Quitar de Favoritos
|
||||
contacts-action-export = Exportar Contactos
|
||||
contacts-action-import = Importar Contactos
|
||||
contacts-action-merge = Fusionar Contactos
|
||||
contacts-action-send-email = Enviar Correo
|
||||
contacts-action-schedule-meeting = Programar Reunión
|
||||
contacts-action-create-task = Crear Tarea
|
||||
contacts-action-add-note = Añadir Nota
|
||||
contacts-action-add-tag = Añadir Etiqueta
|
||||
contacts-action-remove-tag = Quitar Etiqueta
|
||||
|
||||
# -----------------------------------------------------------------------------
|
||||
# Bulk Actions
|
||||
# -----------------------------------------------------------------------------
|
||||
contacts-bulk-selected = { $count } contactos seleccionados
|
||||
contacts-bulk-delete = Eliminar Seleccionados
|
||||
contacts-bulk-archive = Archivar Seleccionados
|
||||
contacts-bulk-add-tag = Añadir Etiqueta a Seleccionados
|
||||
contacts-bulk-remove-tag = Quitar Etiqueta de Seleccionados
|
||||
contacts-bulk-add-to-group = Añadir al Grupo
|
||||
contacts-bulk-remove-from-group = Quitar del Grupo
|
||||
contacts-bulk-export = Exportar Seleccionados
|
||||
contacts-bulk-change-status = Cambiar Estado
|
||||
|
||||
# -----------------------------------------------------------------------------
|
||||
# Groups
|
||||
# -----------------------------------------------------------------------------
|
||||
contacts-groups-title = Grupos de Contactos
|
||||
contacts-groups-create = Crear Grupo
|
||||
contacts-groups-edit = Editar Grupo
|
||||
contacts-groups-delete = Eliminar Grupo
|
||||
contacts-groups-name = Nombre del Grupo
|
||||
contacts-groups-description = Descripción
|
||||
contacts-groups-color = Color
|
||||
contacts-groups-members = { $count } miembros
|
||||
contacts-groups-add-members = Añadir Miembros
|
||||
contacts-groups-remove-members = Quitar Miembros
|
||||
|
||||
# -----------------------------------------------------------------------------
|
||||
# Import/Export
|
||||
# -----------------------------------------------------------------------------
|
||||
contacts-import-title = Importar Contactos
|
||||
contacts-import-description = Sube un archivo para importar contactos
|
||||
contacts-import-format-csv = Archivo CSV
|
||||
contacts-import-format-vcard = Archivo vCard
|
||||
contacts-import-format-json = Archivo JSON
|
||||
contacts-import-drop-zone = Arrastra y suelta tu archivo aquí, o haz clic para buscar
|
||||
contacts-import-mapping = Mapeo de Campos
|
||||
contacts-import-preview = Vista Previa
|
||||
contacts-import-skip-duplicates = Omitir entradas duplicadas
|
||||
contacts-import-update-existing = Actualizar contactos existentes
|
||||
contacts-import-success = { $count } contactos importados con éxito
|
||||
contacts-import-errors = { $count } errores durante la importación
|
||||
|
||||
contacts-export-title = Exportar Contactos
|
||||
contacts-export-description = Descarga tus contactos
|
||||
contacts-export-format = Formato de Exportación
|
||||
contacts-export-all = Exportar Todos los Contactos
|
||||
contacts-export-selected = Exportar Seleccionados
|
||||
contacts-export-group = Exportar Grupo
|
||||
contacts-export-include-custom = Incluir Campos Personalizados
|
||||
contacts-export-success = { $count } contactos exportados con éxito
|
||||
|
||||
# -----------------------------------------------------------------------------
|
||||
# Detail Panel
|
||||
# -----------------------------------------------------------------------------
|
||||
contacts-detail-title = Detalles del Contacto
|
||||
contacts-detail-info = Información
|
||||
contacts-detail-activity = Actividad
|
||||
contacts-detail-notes = Notas
|
||||
contacts-detail-tasks = Tareas
|
||||
contacts-detail-events = Eventos
|
||||
contacts-detail-files = Archivos
|
||||
contacts-detail-history = Historial
|
||||
|
||||
# -----------------------------------------------------------------------------
|
||||
# Activity Types
|
||||
# -----------------------------------------------------------------------------
|
||||
contacts-activity-email = Correo Electrónico
|
||||
contacts-activity-call = Llamada
|
||||
contacts-activity-meeting = Reunión
|
||||
contacts-activity-task = Tarea
|
||||
contacts-activity-note = Nota
|
||||
contacts-activity-status-change = Estado Cambiado
|
||||
contacts-activity-created = Contacto Creado
|
||||
contacts-activity-updated = Contacto Actualizado
|
||||
contacts-activity-imported = Contacto Importado
|
||||
|
||||
# -----------------------------------------------------------------------------
|
||||
# Quick Actions
|
||||
# -----------------------------------------------------------------------------
|
||||
contacts-quick-email = Correo
|
||||
contacts-quick-call = Llamar
|
||||
contacts-quick-meeting = Reunión
|
||||
contacts-quick-task = Tarea
|
||||
|
||||
# -----------------------------------------------------------------------------
|
||||
# Calendar Integration
|
||||
# -----------------------------------------------------------------------------
|
||||
contacts-calendar-link = Vincular al Evento
|
||||
contacts-calendar-unlink = Desvincular del Evento
|
||||
contacts-calendar-events = Eventos Relacionados
|
||||
contacts-calendar-upcoming = Próximos Eventos
|
||||
contacts-calendar-past = Eventos Pasados
|
||||
contacts-calendar-role = Rol
|
||||
contacts-calendar-role-attendee = Asistente
|
||||
contacts-calendar-role-organizer = Organizador
|
||||
contacts-calendar-role-optional = Opcional
|
||||
contacts-calendar-role-speaker = Ponente
|
||||
contacts-calendar-role-host = Anfitrión
|
||||
contacts-calendar-response = Estado de Respuesta
|
||||
contacts-calendar-response-accepted = Aceptado
|
||||
contacts-calendar-response-declined = Rechazado
|
||||
contacts-calendar-response-tentative = Tentativo
|
||||
contacts-calendar-response-pending = Pendiente
|
||||
|
||||
# -----------------------------------------------------------------------------
|
||||
# Tasks Integration
|
||||
# -----------------------------------------------------------------------------
|
||||
contacts-tasks-assign = Asignar a Tarea
|
||||
contacts-tasks-unassign = Desasignar de Tarea
|
||||
contacts-tasks-related = Tareas Relacionadas
|
||||
contacts-tasks-active = Tareas Activas
|
||||
contacts-tasks-completed = Tareas Completadas
|
||||
contacts-tasks-overdue = Tareas Vencidas
|
||||
contacts-tasks-role = Rol
|
||||
contacts-tasks-role-assignee = Responsable
|
||||
contacts-tasks-role-reviewer = Revisor
|
||||
contacts-tasks-role-stakeholder = Parte Interesada
|
||||
contacts-tasks-role-collaborator = Colaborador
|
||||
contacts-tasks-role-client = Cliente
|
||||
contacts-tasks-role-approver = Aprobador
|
||||
contacts-tasks-workload = Carga de Trabajo
|
||||
contacts-tasks-workload-low = Baja
|
||||
contacts-tasks-workload-medium = Media
|
||||
contacts-tasks-workload-high = Alta
|
||||
contacts-tasks-workload-overloaded = Sobrecargado
|
||||
|
||||
# -----------------------------------------------------------------------------
|
||||
# External Sync
|
||||
# -----------------------------------------------------------------------------
|
||||
contacts-sync-title = Sincronización de Agenda
|
||||
contacts-sync-description = Sincroniza con agendas externas
|
||||
contacts-sync-google = Google Contactos
|
||||
contacts-sync-microsoft = Microsoft People
|
||||
contacts-sync-apple = Contactos de Apple
|
||||
contacts-sync-carddav = Servidor CardDAV
|
||||
contacts-sync-connect = Conectar Cuenta
|
||||
contacts-sync-disconnect = Desconectar
|
||||
contacts-sync-connected = Conectado
|
||||
contacts-sync-last-sync = Última sincronización { $time }
|
||||
contacts-sync-in-progress = Sincronización en progreso...
|
||||
contacts-sync-success = Sincronización completada con éxito
|
||||
contacts-sync-error = Error en la sincronización
|
||||
contacts-sync-direction = Dirección de Sincronización
|
||||
contacts-sync-direction-two-way = Sincronización Bidireccional
|
||||
contacts-sync-direction-import = Solo Importar
|
||||
contacts-sync-direction-export = Solo Exportar
|
||||
contacts-sync-conflicts = { $count } conflictos detectados
|
||||
contacts-sync-resolve = Resolver Conflictos
|
||||
contacts-sync-keep-local = Mantener Local
|
||||
contacts-sync-keep-remote = Mantener Remoto
|
||||
contacts-sync-merge = Fusionar Ambos
|
||||
|
||||
# -----------------------------------------------------------------------------
|
||||
# Empty States
|
||||
# -----------------------------------------------------------------------------
|
||||
contacts-empty-title = Aún no hay contactos
|
||||
contacts-empty-description = Añade tu primer contacto para comenzar
|
||||
contacts-empty-action = Añadir Contacto
|
||||
contacts-empty-search = Ningún contacto coincide con tu búsqueda
|
||||
contacts-empty-filter = Ningún contacto coincide con el filtro seleccionado
|
||||
contacts-empty-group = Este grupo no tiene miembros
|
||||
|
||||
# -----------------------------------------------------------------------------
|
||||
# Confirmations
|
||||
# -----------------------------------------------------------------------------
|
||||
contacts-confirm-delete = ¿Estás seguro de que quieres eliminar este contacto?
|
||||
contacts-confirm-delete-bulk = ¿Estás seguro de que quieres eliminar { $count } contactos?
|
||||
contacts-confirm-archive = ¿Estás seguro de que quieres archivar este contacto?
|
||||
contacts-confirm-merge = ¿Estás seguro de que quieres fusionar estos contactos?
|
||||
contacts-confirm-disconnect = ¿Estás seguro de que quieres desconectar esta cuenta?
|
||||
|
||||
# -----------------------------------------------------------------------------
|
||||
# Success Messages
|
||||
# -----------------------------------------------------------------------------
|
||||
contacts-success-created = Contacto creado con éxito
|
||||
contacts-success-updated = Contacto actualizado con éxito
|
||||
contacts-success-deleted = Contacto eliminado con éxito
|
||||
contacts-success-archived = Contacto archivado con éxito
|
||||
contacts-success-restored = Contacto restaurado con éxito
|
||||
contacts-success-merged = Contactos fusionados con éxito
|
||||
contacts-success-imported = Contactos importados con éxito
|
||||
contacts-success-exported = Contactos exportados con éxito
|
||||
|
||||
# -----------------------------------------------------------------------------
|
||||
# Error Messages
|
||||
# -----------------------------------------------------------------------------
|
||||
contacts-error-create = Error al crear contacto
|
||||
contacts-error-update = Error al actualizar contacto
|
||||
contacts-error-delete = Error al eliminar contacto
|
||||
contacts-error-import = Error al importar contactos
|
||||
contacts-error-export = Error al exportar contactos
|
||||
contacts-error-sync = Error en la sincronización
|
||||
contacts-error-duplicate = Ya existe un contacto con este correo electrónico
|
||||
contacts-error-required = Este campo es obligatorio
|
||||
contacts-error-invalid-email = Por favor, introduce una dirección de correo válida
|
||||
contacts-error-invalid-phone = Por favor, introduce un número de teléfono válido
|
||||
165
locales/es/errors.ftl
Normal file
165
locales/es/errors.ftl
Normal file
|
|
@ -0,0 +1,165 @@
|
|||
# General Bots - Mensajes de Error (Español)
|
||||
# Este archivo contiene todas las traducciones de mensajes de error
|
||||
|
||||
# =============================================================================
|
||||
# Errores HTTP
|
||||
# =============================================================================
|
||||
|
||||
error-http-400 = Solicitud incorrecta. Por favor verifica tu entrada.
|
||||
error-http-401 = Autenticación requerida. Por favor inicia sesión.
|
||||
error-http-403 = No tienes permiso para acceder a este recurso.
|
||||
error-http-404 = { $entity } no encontrado.
|
||||
error-http-409 = Conflicto: { $message }
|
||||
error-http-429 = Demasiadas solicitudes. Por favor espera { $seconds } segundos.
|
||||
error-http-500 = Error interno del servidor. Por favor intenta más tarde.
|
||||
error-http-502 = Puerta de enlace incorrecta. El servidor recibió una respuesta inválida.
|
||||
error-http-503 = Servicio temporalmente no disponible. Por favor intenta más tarde.
|
||||
error-http-504 = La solicitud expiró después de { $milliseconds }ms.
|
||||
|
||||
# =============================================================================
|
||||
# Errores de Validación
|
||||
# =============================================================================
|
||||
|
||||
error-validation-required = { $field } es requerido.
|
||||
error-validation-email = Por favor ingresa una dirección de correo válida.
|
||||
error-validation-url = Por favor ingresa una URL válida.
|
||||
error-validation-phone = Por favor ingresa un número de teléfono válido.
|
||||
error-validation-min-length = { $field } debe tener al menos { $min } caracteres.
|
||||
error-validation-max-length = { $field } no debe tener más de { $max } caracteres.
|
||||
error-validation-min-value = { $field } debe ser al menos { $min }.
|
||||
error-validation-max-value = { $field } no debe ser mayor que { $max }.
|
||||
error-validation-pattern = El formato de { $field } es inválido.
|
||||
error-validation-unique = { $field } ya existe.
|
||||
error-validation-mismatch = { $field } no coincide con { $other }.
|
||||
error-validation-date-format = Por favor ingresa una fecha válida en el formato { $format }.
|
||||
error-validation-date-past = { $field } debe ser en el pasado.
|
||||
error-validation-date-future = { $field } debe ser en el futuro.
|
||||
|
||||
# =============================================================================
|
||||
# Errores de Autenticación
|
||||
# =============================================================================
|
||||
|
||||
error-auth-invalid-credentials = Correo o contraseña inválidos.
|
||||
error-auth-account-locked = Tu cuenta ha sido bloqueada. Por favor contacta a soporte.
|
||||
error-auth-account-disabled = Tu cuenta ha sido deshabilitada.
|
||||
error-auth-session-expired = Tu sesión ha expirado. Por favor inicia sesión nuevamente.
|
||||
error-auth-token-invalid = Token inválido o expirado.
|
||||
error-auth-token-missing = Se requiere token de autenticación.
|
||||
error-auth-mfa-required = Se requiere autenticación de múltiples factores.
|
||||
error-auth-mfa-invalid = Código de verificación inválido.
|
||||
error-auth-password-weak = La contraseña es muy débil. Por favor usa una contraseña más fuerte.
|
||||
error-auth-password-expired = Tu contraseña ha expirado. Por favor restablécela.
|
||||
|
||||
# =============================================================================
|
||||
# Errores de Configuración
|
||||
# =============================================================================
|
||||
|
||||
error-config = Error de configuración: { $message }
|
||||
error-config-missing = Configuración faltante: { $key }
|
||||
error-config-invalid = Valor de configuración inválido para { $key }: { $reason }
|
||||
error-config-file-not-found = Archivo de configuración no encontrado: { $path }
|
||||
error-config-parse = Error al analizar configuración: { $message }
|
||||
|
||||
# =============================================================================
|
||||
# Errores de Base de Datos
|
||||
# =============================================================================
|
||||
|
||||
error-database = Error de base de datos: { $message }
|
||||
error-database-connection = Error al conectar a la base de datos.
|
||||
error-database-timeout = La operación de base de datos expiró.
|
||||
error-database-constraint = Violación de restricción de base de datos: { $constraint }
|
||||
error-database-duplicate = Ya existe un registro con este { $field }.
|
||||
error-database-migration = La migración de base de datos falló: { $message }
|
||||
|
||||
# =============================================================================
|
||||
# Errores de Archivos y Almacenamiento
|
||||
# =============================================================================
|
||||
|
||||
error-file-not-found = Archivo no encontrado: { $filename }
|
||||
error-file-too-large = El archivo es muy grande. El tamaño máximo es { $maxSize }.
|
||||
error-file-type-not-allowed = Tipo de archivo no permitido. Tipos permitidos: { $allowedTypes }.
|
||||
error-file-upload-failed = La subida del archivo falló: { $message }
|
||||
error-file-read = Error al leer archivo: { $message }
|
||||
error-file-write = Error al escribir archivo: { $message }
|
||||
error-storage-full = Cuota de almacenamiento excedida.
|
||||
error-storage-unavailable = El servicio de almacenamiento no está disponible.
|
||||
|
||||
# =============================================================================
|
||||
# Errores de Red y Servicios Externos
|
||||
# =============================================================================
|
||||
|
||||
error-network = Error de red: { $message }
|
||||
error-network-timeout = La conexión expiró.
|
||||
error-network-unreachable = El servidor no es alcanzable.
|
||||
error-service-unavailable = Servicio no disponible: { $service }
|
||||
error-external-api = Error de API externa: { $message }
|
||||
error-rate-limit = Límite de tasa alcanzado. Reintentar después de { $seconds }s.
|
||||
|
||||
# =============================================================================
|
||||
# Errores de Bot y Diálogos
|
||||
# =============================================================================
|
||||
|
||||
error-bot-not-found = Bot no encontrado: { $botId }
|
||||
error-bot-disabled = Este bot está actualmente deshabilitado.
|
||||
error-bot-script-error = Error de script en línea { $line }: { $message }
|
||||
error-bot-timeout = La respuesta del bot expiró.
|
||||
error-bot-quota-exceeded = Cuota de uso del bot excedida.
|
||||
error-dialog-not-found = Diálogo no encontrado: { $dialogId }
|
||||
error-dialog-invalid = Configuración de diálogo inválida: { $message }
|
||||
|
||||
# =============================================================================
|
||||
# Errores de LLM e IA
|
||||
# =============================================================================
|
||||
|
||||
error-llm-unavailable = El servicio de IA no está disponible actualmente.
|
||||
error-llm-timeout = La solicitud de IA expiró.
|
||||
error-llm-rate-limit = Límite de tasa de IA excedido. Por favor espera antes de intentar nuevamente.
|
||||
error-llm-content-filter = El contenido fue filtrado por las pautas de seguridad.
|
||||
error-llm-context-length = La entrada es muy larga. Por favor acorta tu mensaje.
|
||||
error-llm-invalid-response = Se recibió una respuesta inválida del servicio de IA.
|
||||
|
||||
# =============================================================================
|
||||
# Errores de Correo Electrónico
|
||||
# =============================================================================
|
||||
|
||||
error-email-send-failed = Error al enviar correo: { $message }
|
||||
error-email-invalid-recipient = Dirección de correo del destinatario inválida: { $email }
|
||||
error-email-attachment-failed = Error al adjuntar archivo: { $filename }
|
||||
error-email-template-not-found = Plantilla de correo no encontrada: { $template }
|
||||
|
||||
# =============================================================================
|
||||
# Errores de Calendario y Programación
|
||||
# =============================================================================
|
||||
|
||||
error-calendar-conflict = El horario conflictúa con un evento existente.
|
||||
error-calendar-past-date = No se pueden programar eventos en el pasado.
|
||||
error-calendar-invalid-recurrence = Patrón de recurrencia inválido.
|
||||
error-calendar-event-not-found = Evento no encontrado: { $eventId }
|
||||
|
||||
# =============================================================================
|
||||
# Errores de Tareas
|
||||
# =============================================================================
|
||||
|
||||
error-task-not-found = Tarea no encontrada: { $taskId }
|
||||
error-task-already-completed = La tarea ya ha sido completada.
|
||||
error-task-circular-dependency = Se detectó una dependencia circular en las tareas.
|
||||
error-task-invalid-status = Transición de estado de tarea inválida.
|
||||
|
||||
# =============================================================================
|
||||
# Errores de Permisos
|
||||
# =============================================================================
|
||||
|
||||
error-permission-denied = No tienes permiso para realizar esta acción.
|
||||
error-permission-resource = No tienes acceso a este { $resource }.
|
||||
error-permission-action = No puedes { $action } este { $resource }.
|
||||
error-permission-owner-only = Solo el propietario puede realizar esta acción.
|
||||
|
||||
# =============================================================================
|
||||
# Errores Genéricos
|
||||
# =============================================================================
|
||||
|
||||
error-internal = Error interno: { $message }
|
||||
error-unexpected = Ocurrió un error inesperado. Por favor intenta nuevamente.
|
||||
error-not-implemented = Esta función aún no está implementada.
|
||||
error-maintenance = El sistema está en mantenimiento. Por favor intenta más tarde.
|
||||
error-unknown = Ocurrió un error desconocido.
|
||||
127
locales/es/notifications.ftl
Normal file
127
locales/es/notifications.ftl
Normal file
|
|
@ -0,0 +1,127 @@
|
|||
notification-title-new-message = Nuevo Mensaje
|
||||
notification-title-task-due = Tarea Vence
|
||||
notification-title-task-assigned = Tarea Asignada
|
||||
notification-title-task-completed = Tarea Completada
|
||||
notification-title-meeting-reminder = Recordatorio de Reunión
|
||||
notification-title-meeting-started = Reunión Iniciada
|
||||
notification-title-file-shared = Archivo Compartido
|
||||
notification-title-file-uploaded = Archivo Subido
|
||||
notification-title-comment-added = Nuevo Comentario
|
||||
notification-title-mention = Te mencionaron
|
||||
notification-title-system = Notificación del Sistema
|
||||
notification-title-security = Alerta de Seguridad
|
||||
notification-title-update = Actualización Disponible
|
||||
notification-title-error = Ocurrió un Error
|
||||
notification-title-success = Éxito
|
||||
notification-title-warning = Advertencia
|
||||
notification-title-info = Información
|
||||
|
||||
notification-message-new = Tienes un nuevo mensaje de { $sender }
|
||||
notification-message-unread = Tienes { $count ->
|
||||
[one] { $count } mensaje sin leer
|
||||
*[other] { $count } mensajes sin leer
|
||||
}
|
||||
notification-task-due-soon = La tarea "{ $task }" vence en { $time }
|
||||
notification-task-due-today = La tarea "{ $task }" vence hoy
|
||||
notification-task-due-overdue = La tarea "{ $task }" está vencida por { $time }
|
||||
notification-task-assigned-to-you = Te han asignado a la tarea "{ $task }"
|
||||
notification-task-assigned-by = { $assigner } te asignó a "{ $task }"
|
||||
notification-task-completed-by = { $user } completó la tarea "{ $task }"
|
||||
notification-task-status-changed = El estado de la tarea "{ $task }" cambió a { $status }
|
||||
|
||||
notification-meeting-in-minutes = La reunión "{ $meeting }" comienza en { $minutes } minutos
|
||||
notification-meeting-starting-now = La reunión "{ $meeting }" está comenzando ahora
|
||||
notification-meeting-cancelled = La reunión "{ $meeting }" ha sido cancelada
|
||||
notification-meeting-rescheduled = La reunión "{ $meeting }" ha sido reprogramada para { $datetime }
|
||||
notification-meeting-invite = { $inviter } te invitó a "{ $meeting }"
|
||||
notification-meeting-response = { $user } { $response } tu invitación a la reunión
|
||||
|
||||
notification-file-shared-with-you = { $sharer } compartió "{ $filename }" contigo
|
||||
notification-file-uploaded-by = { $uploader } subió "{ $filename }"
|
||||
notification-file-modified = "{ $filename }" fue modificado por { $user }
|
||||
notification-file-deleted = "{ $filename }" fue eliminado por { $user }
|
||||
notification-file-download-ready = Tu archivo "{ $filename }" está listo para descargar
|
||||
notification-file-upload-complete = La subida de "{ $filename }" se completó exitosamente
|
||||
notification-file-upload-failed = La subida de "{ $filename }" falló
|
||||
|
||||
notification-comment-on-task = { $user } comentó en la tarea "{ $task }"
|
||||
notification-comment-on-file = { $user } comentó en "{ $filename }"
|
||||
notification-comment-reply = { $user } respondió a tu comentario
|
||||
notification-mention-in-comment = { $user } te mencionó en un comentario
|
||||
notification-mention-in-chat = { $user } te mencionó en { $channel }
|
||||
|
||||
notification-login-new-device = Nuevo inicio de sesión detectado desde { $device } en { $location }
|
||||
notification-login-failed = Intento de inicio de sesión fallido en tu cuenta
|
||||
notification-password-changed = Tu contraseña fue cambiada exitosamente
|
||||
notification-password-expiring = Tu contraseña expirará en { $days } días
|
||||
notification-session-expired = Tu sesión ha expirado
|
||||
notification-account-locked = Tu cuenta ha sido bloqueada
|
||||
notification-two-factor-enabled = La autenticación de dos factores ha sido habilitada
|
||||
notification-two-factor-disabled = La autenticación de dos factores ha sido deshabilitada
|
||||
|
||||
notification-subscription-expiring = Tu suscripción expira en { $days } días
|
||||
notification-subscription-expired = Tu suscripción ha expirado
|
||||
notification-subscription-renewed = Tu suscripción ha sido renovada hasta { $date }
|
||||
notification-payment-successful = El pago de { $amount } fue exitoso
|
||||
notification-payment-failed = El pago de { $amount } falló
|
||||
notification-invoice-ready = Tu factura de { $period } está lista
|
||||
|
||||
notification-bot-response = { $bot } respondió a tu consulta
|
||||
notification-bot-error = { $bot } encontró un error
|
||||
notification-bot-offline = { $bot } está actualmente fuera de línea
|
||||
notification-bot-online = { $bot } está ahora en línea
|
||||
notification-bot-updated = { $bot } ha sido actualizado
|
||||
|
||||
notification-system-maintenance = Mantenimiento del sistema programado para { $datetime }
|
||||
notification-system-update = Actualización del sistema disponible: { $version }
|
||||
notification-system-restored = El sistema ha sido restaurado
|
||||
notification-system-degraded = El sistema está experimentando rendimiento degradado
|
||||
|
||||
notification-action-view = Ver
|
||||
notification-action-dismiss = Descartar
|
||||
notification-action-mark-read = Marcar como leído
|
||||
notification-action-mark-all-read = Marcar todo como leído
|
||||
notification-action-settings = Configuración de notificaciones
|
||||
notification-action-reply = Responder
|
||||
notification-action-open = Abrir
|
||||
notification-action-join = Unirse
|
||||
notification-action-accept = Aceptar
|
||||
notification-action-decline = Rechazar
|
||||
|
||||
notification-time-just-now = Ahora mismo
|
||||
notification-time-minutes = { $count ->
|
||||
[one] hace { $count } minuto
|
||||
*[other] hace { $count } minutos
|
||||
}
|
||||
notification-time-hours = { $count ->
|
||||
[one] hace { $count } hora
|
||||
*[other] hace { $count } horas
|
||||
}
|
||||
notification-time-days = { $count ->
|
||||
[one] hace { $count } día
|
||||
*[other] hace { $count } días
|
||||
}
|
||||
notification-time-weeks = { $count ->
|
||||
[one] hace { $count } semana
|
||||
*[other] hace { $count } semanas
|
||||
}
|
||||
|
||||
notification-preference-all = Todas las notificaciones
|
||||
notification-preference-important = Solo importantes
|
||||
notification-preference-none = Ninguna
|
||||
notification-preference-email = Notificaciones por correo
|
||||
notification-preference-push = Notificaciones push
|
||||
notification-preference-in-app = Notificaciones en la app
|
||||
notification-preference-sound = Sonido habilitado
|
||||
notification-preference-vibration = Vibración habilitada
|
||||
|
||||
notification-empty = Sin notificaciones
|
||||
notification-empty-description = ¡Estás al día!
|
||||
notification-load-more = Cargar más
|
||||
notification-clear-all = Limpiar todas las notificaciones
|
||||
notification-filter-all = Todas
|
||||
notification-filter-unread = Sin leer
|
||||
notification-filter-mentions = Menciones
|
||||
notification-filter-tasks = Tareas
|
||||
notification-filter-messages = Mensajes
|
||||
notification-filter-system = Sistema
|
||||
500
locales/es/ui.ftl
Normal file
500
locales/es/ui.ftl
Normal file
|
|
@ -0,0 +1,500 @@
|
|||
# =============================================================================
|
||||
# General Bots - Traducciones de UI en Español
|
||||
# =============================================================================
|
||||
|
||||
# -----------------------------------------------------------------------------
|
||||
# Navegación
|
||||
# -----------------------------------------------------------------------------
|
||||
nav-home = Inicio
|
||||
nav-chat = Chat
|
||||
nav-drive = Archivos
|
||||
nav-tasks = Tareas
|
||||
nav-mail = Correo
|
||||
nav-calendar = Calendario
|
||||
nav-meet = Reuniones
|
||||
nav-paper = Documentos
|
||||
nav-research = Investigación
|
||||
nav-analytics = Analíticas
|
||||
nav-settings = Configuración
|
||||
nav-admin = Administración
|
||||
nav-monitoring = Monitoreo
|
||||
nav-sources = Fuentes
|
||||
nav-tools = Herramientas
|
||||
nav-attendant = Asistente
|
||||
|
||||
# -----------------------------------------------------------------------------
|
||||
# Panel de Control
|
||||
# -----------------------------------------------------------------------------
|
||||
dashboard-title = Panel de Control
|
||||
dashboard-welcome = ¡Bienvenido de nuevo, { $name }!
|
||||
dashboard-quick-actions = Acciones Rápidas
|
||||
dashboard-recent-activity = Actividad Reciente
|
||||
dashboard-no-activity = Sin actividad reciente. ¡Comienza a explorar!
|
||||
dashboard-analytics = Analíticas
|
||||
|
||||
# -----------------------------------------------------------------------------
|
||||
# Acciones Rápidas
|
||||
# -----------------------------------------------------------------------------
|
||||
quick-start-chat = Iniciar Chat
|
||||
quick-upload-files = Subir Archivos
|
||||
quick-new-task = Nueva Tarea
|
||||
quick-compose-email = Redactar Correo
|
||||
quick-start-meeting = Iniciar Reunión
|
||||
quick-new-event = Nuevo Evento
|
||||
|
||||
# -----------------------------------------------------------------------------
|
||||
# Tarjetas de Aplicaciones
|
||||
# -----------------------------------------------------------------------------
|
||||
app-chat-name = Chat
|
||||
app-chat-desc = Conversaciones impulsadas por IA. Haz preguntas, obtén ayuda y automatiza tareas.
|
||||
|
||||
app-drive-name = Archivos
|
||||
app-drive-desc = Almacenamiento en la nube para todos tus archivos. Sube, organiza y comparte.
|
||||
|
||||
app-tasks-name = Tareas
|
||||
app-tasks-desc = Mantente organizado con listas de tareas, prioridades y fechas límite.
|
||||
|
||||
app-mail-name = Correo
|
||||
app-mail-desc = Cliente de correo con escritura asistida por IA y organización inteligente.
|
||||
|
||||
app-calendar-name = Calendario
|
||||
app-calendar-desc = Programa reuniones, eventos y administra tu tiempo efectivamente.
|
||||
|
||||
app-meet-name = Reuniones
|
||||
app-meet-desc = Videoconferencias con pantalla compartida y transcripción en vivo.
|
||||
|
||||
app-paper-name = Documentos
|
||||
app-paper-desc = Escribe documentos con asistencia de IA. Notas, informes y más.
|
||||
|
||||
app-research-name = Investigación
|
||||
app-research-desc = Búsqueda y descubrimiento impulsado por IA en todas tus fuentes.
|
||||
|
||||
app-analytics-name = Analíticas
|
||||
app-analytics-desc = Paneles e informes para seguir el uso y obtener insights.
|
||||
|
||||
# -----------------------------------------------------------------------------
|
||||
# Encabezado de Suite
|
||||
# -----------------------------------------------------------------------------
|
||||
suite-title = Suite General Bots
|
||||
suite-tagline = Tu espacio de trabajo de productividad impulsado por IA. Chatea, colabora y crea.
|
||||
suite-new-intent = Nueva Intención
|
||||
|
||||
# -----------------------------------------------------------------------------
|
||||
# Panel de IA
|
||||
# -----------------------------------------------------------------------------
|
||||
ai-developer = Desarrollador IA
|
||||
ai-developing = Desarrollando: { $project }
|
||||
ai-quick-actions = Acciones Rápidas
|
||||
ai-add-field = Agregar campo
|
||||
ai-change-color = Cambiar color
|
||||
ai-add-validation = Agregar validación
|
||||
ai-export-data = Exportar datos
|
||||
ai-placeholder = Escribe tus modificaciones...
|
||||
ai-thinking = La IA está pensando...
|
||||
ai-status-online = En línea
|
||||
ai-status-offline = Desconectado
|
||||
|
||||
# -----------------------------------------------------------------------------
|
||||
# Chat
|
||||
# -----------------------------------------------------------------------------
|
||||
chat-title = Chat
|
||||
chat-placeholder = Escribe tu mensaje...
|
||||
chat-send = Enviar
|
||||
chat-new-conversation = Nueva Conversación
|
||||
chat-history = Historial de Chat
|
||||
chat-clear = Limpiar Chat
|
||||
chat-export = Exportar Chat
|
||||
chat-typing = { $name } está escribiendo...
|
||||
chat-online = En línea
|
||||
chat-offline = Desconectado
|
||||
chat-last-seen = Última vez { $time }
|
||||
|
||||
# -----------------------------------------------------------------------------
|
||||
# Drive / Archivos
|
||||
# -----------------------------------------------------------------------------
|
||||
drive-title = Archivos
|
||||
drive-upload = Subir
|
||||
drive-new-folder = Nueva Carpeta
|
||||
drive-empty = Sin archivos aún. ¡Sube algo!
|
||||
drive-search = Buscar archivos...
|
||||
drive-sort-name = Nombre
|
||||
drive-sort-date = Fecha
|
||||
drive-sort-size = Tamaño
|
||||
drive-sort-type = Tipo
|
||||
drive-view-grid = Vista de Cuadrícula
|
||||
drive-view-list = Vista de Lista
|
||||
drive-selected = { $count ->
|
||||
[one] { $count } elemento seleccionado
|
||||
*[other] { $count } elementos seleccionados
|
||||
}
|
||||
drive-file-size = { $size ->
|
||||
[bytes] { $value } B
|
||||
[kb] { $value } KB
|
||||
[mb] { $value } MB
|
||||
[gb] { $value } GB
|
||||
*[other] { $value } bytes
|
||||
}
|
||||
drive-drop-files = Arrastra archivos aquí para subir
|
||||
|
||||
# -----------------------------------------------------------------------------
|
||||
# Tareas
|
||||
# -----------------------------------------------------------------------------
|
||||
tasks-title = Tareas
|
||||
tasks-new = Nueva Tarea
|
||||
tasks-due-today = Vence Hoy
|
||||
tasks-overdue = Vencidas
|
||||
tasks-completed = Completadas
|
||||
tasks-all = Todas las Tareas
|
||||
tasks-priority-high = Prioridad Alta
|
||||
tasks-priority-medium = Prioridad Media
|
||||
tasks-priority-low = Prioridad Baja
|
||||
tasks-no-due-date = Sin fecha límite
|
||||
tasks-add-subtask = Agregar subtarea
|
||||
tasks-mark-complete = Marcar como completada
|
||||
tasks-mark-incomplete = Marcar como incompleta
|
||||
tasks-delete-confirm = ¿Estás seguro de que deseas eliminar esta tarea?
|
||||
tasks-count = { $count ->
|
||||
[zero] Sin tareas
|
||||
[one] { $count } tarea
|
||||
*[other] { $count } tareas
|
||||
}
|
||||
|
||||
# -----------------------------------------------------------------------------
|
||||
# Calendario
|
||||
# -----------------------------------------------------------------------------
|
||||
calendar-title = Calendario
|
||||
calendar-today = Hoy
|
||||
calendar-new-event = Nuevo Evento
|
||||
calendar-all-day = Todo el día
|
||||
calendar-repeat = Repetir
|
||||
calendar-reminder = Recordatorio
|
||||
calendar-view-day = Día
|
||||
calendar-view-week = Semana
|
||||
calendar-view-month = Mes
|
||||
calendar-view-year = Año
|
||||
calendar-no-events = Sin eventos programados
|
||||
calendar-event-title = Título del evento
|
||||
calendar-event-location = Ubicación
|
||||
calendar-event-description = Descripción
|
||||
calendar-event-attendees = Asistentes
|
||||
|
||||
# -----------------------------------------------------------------------------
|
||||
# Meet / Videoconferencias
|
||||
# -----------------------------------------------------------------------------
|
||||
meet-title = Reuniones
|
||||
meet-join = Unirse a Reunión
|
||||
meet-start = Iniciar Reunión
|
||||
meet-mute = Silenciar
|
||||
meet-unmute = Activar Micrófono
|
||||
meet-video-on = Cámara Encendida
|
||||
meet-video-off = Cámara Apagada
|
||||
meet-share-screen = Compartir Pantalla
|
||||
meet-stop-sharing = Dejar de Compartir
|
||||
meet-end-call = Finalizar Llamada
|
||||
meet-leave = Salir de la Reunión
|
||||
meet-participants = { $count ->
|
||||
[one] { $count } participante
|
||||
*[other] { $count } participantes
|
||||
}
|
||||
meet-waiting-room = Sala de Espera
|
||||
meet-admit = Admitir
|
||||
meet-remove = Eliminar
|
||||
meet-chat = Chat de Reunión
|
||||
meet-raise-hand = Levantar Mano
|
||||
meet-lower-hand = Bajar Mano
|
||||
meet-recording = Grabando
|
||||
meet-start-recording = Iniciar Grabación
|
||||
meet-stop-recording = Detener Grabación
|
||||
|
||||
# -----------------------------------------------------------------------------
|
||||
# Correo / Email
|
||||
# -----------------------------------------------------------------------------
|
||||
mail-title = Correo
|
||||
mail-compose = Redactar
|
||||
mail-inbox = Bandeja de Entrada
|
||||
mail-sent = Enviados
|
||||
mail-drafts = Borradores
|
||||
mail-trash = Papelera
|
||||
mail-spam = Spam
|
||||
mail-starred = Destacados
|
||||
mail-archive = Archivo
|
||||
mail-to = Para
|
||||
mail-cc = CC
|
||||
mail-bcc = CCO
|
||||
mail-subject = Asunto
|
||||
mail-body = Mensaje
|
||||
mail-reply = Responder
|
||||
mail-reply-all = Responder a Todos
|
||||
mail-forward = Reenviar
|
||||
mail-send = Enviar
|
||||
mail-discard = Descartar
|
||||
mail-save-draft = Guardar Borrador
|
||||
mail-attach = Adjuntar Archivos
|
||||
mail-unread = { $count ->
|
||||
[one] { $count } sin leer
|
||||
*[other] { $count } sin leer
|
||||
}
|
||||
mail-empty-inbox = Tu bandeja de entrada está vacía
|
||||
mail-no-subject = (Sin asunto)
|
||||
|
||||
# -----------------------------------------------------------------------------
|
||||
# Configuración
|
||||
# -----------------------------------------------------------------------------
|
||||
settings-title = Configuración
|
||||
settings-general = General
|
||||
settings-account = Cuenta
|
||||
settings-notifications = Notificaciones
|
||||
settings-privacy = Privacidad
|
||||
settings-security = Seguridad
|
||||
settings-language = Idioma
|
||||
settings-theme = Tema
|
||||
settings-theme-light = Claro
|
||||
settings-theme-dark = Oscuro
|
||||
settings-theme-system = Sistema
|
||||
settings-save = Guardar Cambios
|
||||
settings-saved = Configuración guardada exitosamente
|
||||
settings-timezone = Zona Horaria
|
||||
settings-date-format = Formato de Fecha
|
||||
settings-time-format = Formato de Hora
|
||||
|
||||
# -----------------------------------------------------------------------------
|
||||
# Autenticación / Login
|
||||
# -----------------------------------------------------------------------------
|
||||
auth-login = Iniciar Sesión
|
||||
auth-logout = Cerrar Sesión
|
||||
auth-signup = Registrarse
|
||||
auth-forgot-password = ¿Olvidaste tu Contraseña?
|
||||
auth-reset-password = Restablecer Contraseña
|
||||
auth-email = Correo Electrónico
|
||||
auth-password = Contraseña
|
||||
auth-confirm-password = Confirmar Contraseña
|
||||
auth-remember-me = Recordarme
|
||||
auth-login-success = Sesión iniciada exitosamente
|
||||
auth-logout-success = Sesión cerrada exitosamente
|
||||
auth-invalid-credentials = Correo o contraseña inválidos
|
||||
auth-session-expired = Tu sesión ha expirado. Por favor inicia sesión nuevamente.
|
||||
|
||||
# -----------------------------------------------------------------------------
|
||||
# Búsqueda
|
||||
# -----------------------------------------------------------------------------
|
||||
search-placeholder = Buscar...
|
||||
search-no-results = No se encontraron resultados
|
||||
search-results = { $count ->
|
||||
[one] { $count } resultado
|
||||
*[other] { $count } resultados
|
||||
}
|
||||
search-in-progress = Buscando...
|
||||
search-advanced = Búsqueda Avanzada
|
||||
search-filters = Filtros
|
||||
search-clear-filters = Limpiar Filtros
|
||||
|
||||
# -----------------------------------------------------------------------------
|
||||
# Paginación
|
||||
# -----------------------------------------------------------------------------
|
||||
pagination-previous = Anterior
|
||||
pagination-next = Siguiente
|
||||
pagination-first = Primera
|
||||
pagination-last = Última
|
||||
pagination-page = Página { $current } de { $total }
|
||||
pagination-showing = Mostrando { $from } a { $to } de { $total }
|
||||
|
||||
# -----------------------------------------------------------------------------
|
||||
# Tablas
|
||||
# -----------------------------------------------------------------------------
|
||||
table-no-data = No hay datos disponibles
|
||||
table-loading = Cargando datos...
|
||||
table-actions = Acciones
|
||||
table-select-all = Seleccionar Todo
|
||||
table-deselect-all = Deseleccionar Todo
|
||||
table-export = Exportar
|
||||
table-import = Importar
|
||||
|
||||
# -----------------------------------------------------------------------------
|
||||
# Formularios
|
||||
# -----------------------------------------------------------------------------
|
||||
form-required = Requerido
|
||||
form-optional = Opcional
|
||||
form-submit = Enviar
|
||||
form-reset = Restablecer
|
||||
form-clear = Limpiar
|
||||
form-uploading = Subiendo...
|
||||
form-processing = Procesando...
|
||||
|
||||
# -----------------------------------------------------------------------------
|
||||
# Modales / Diálogos
|
||||
# -----------------------------------------------------------------------------
|
||||
modal-confirm-title = Confirmar Acción
|
||||
modal-confirm-message = ¿Estás seguro de que deseas continuar?
|
||||
modal-delete-title = Confirmación de Eliminación
|
||||
modal-delete-message = Esta acción no se puede deshacer. ¿Estás seguro?
|
||||
|
||||
# -----------------------------------------------------------------------------
|
||||
# Tooltips
|
||||
# -----------------------------------------------------------------------------
|
||||
tooltip-copy = Copiar al portapapeles
|
||||
tooltip-copied = ¡Copiado!
|
||||
tooltip-expand = Expandir
|
||||
tooltip-collapse = Contraer
|
||||
tooltip-refresh = Actualizar
|
||||
tooltip-download = Descargar
|
||||
tooltip-upload = Subir
|
||||
tooltip-print = Imprimir
|
||||
tooltip-fullscreen = Pantalla Completa
|
||||
tooltip-exit-fullscreen = Salir de Pantalla Completa
|
||||
|
||||
# -----------------------------------------------------------------------------
|
||||
# Configuración - Idioma y Localización
|
||||
# -----------------------------------------------------------------------------
|
||||
settings-language = Idioma
|
||||
settings-language-desc = Elige tu idioma preferido
|
||||
settings-display-language = Idioma de Visualización
|
||||
settings-language-affects = Afecta todo el texto en la aplicación
|
||||
settings-date-format = Formato de Fecha
|
||||
settings-date-format-desc = Cómo se muestran las fechas
|
||||
settings-time-format = Formato de Hora
|
||||
settings-time-format-desc = Reloj de 12 horas o 24 horas
|
||||
settings-saved = Configuración guardada exitosamente
|
||||
settings-language-changed = Idioma cambiado exitosamente
|
||||
settings-reload-required = Se requiere recargar la página para aplicar cambios
|
||||
|
||||
# Configuración - Perfil
|
||||
settings-profile = Configuración de Perfil
|
||||
settings-profile-desc = Administra tu información personal y preferencias
|
||||
settings-profile-photo = Foto de Perfil
|
||||
settings-profile-photo-desc = Tu foto de perfil es visible para otros usuarios
|
||||
settings-upload-photo = Subir Foto
|
||||
settings-remove-photo = Eliminar
|
||||
settings-basic-info = Información Básica
|
||||
settings-display-name = Nombre para Mostrar
|
||||
settings-username = Nombre de Usuario
|
||||
settings-email-address = Correo Electrónico
|
||||
settings-bio = Biografía
|
||||
settings-bio-placeholder = Cuéntanos sobre ti...
|
||||
settings-contact-info = Información de Contacto
|
||||
settings-phone-number = Número de Teléfono
|
||||
settings-location = Ubicación
|
||||
settings-website = Sitio Web
|
||||
|
||||
# Configuración - Seguridad
|
||||
settings-security = Configuración de Seguridad
|
||||
settings-security-desc = Protege tu cuenta con seguridad mejorada
|
||||
settings-change-password = Cambiar Contraseña
|
||||
settings-change-password-desc = Actualiza tu contraseña regularmente para mejor seguridad
|
||||
settings-current-password = Contraseña Actual
|
||||
settings-new-password = Nueva Contraseña
|
||||
settings-confirm-password = Confirmar Nueva Contraseña
|
||||
settings-update-password = Actualizar Contraseña
|
||||
settings-2fa = Autenticación de Dos Factores
|
||||
settings-2fa-desc = Agrega una capa extra de seguridad a tu cuenta
|
||||
settings-authenticator-app = Aplicación de Autenticación
|
||||
settings-authenticator-desc = Usa una app de autenticación para códigos 2FA
|
||||
settings-enable-2fa = Habilitar 2FA
|
||||
settings-disable-2fa = Deshabilitar 2FA
|
||||
settings-active-sessions = Sesiones Activas
|
||||
settings-active-sessions-desc = Administra tus sesiones de inicio de sesión activas
|
||||
settings-this-device = Este dispositivo
|
||||
settings-terminate-session = Terminar
|
||||
settings-terminate-all = Terminar Todas las Otras Sesiones
|
||||
|
||||
# Configuración - Apariencia
|
||||
settings-appearance = Apariencia
|
||||
settings-appearance-desc = Personaliza cómo se ve la aplicación
|
||||
settings-theme-selection = Tema
|
||||
settings-theme-selection-desc = Elige tu tema de color preferido
|
||||
settings-theme-dark = Oscuro
|
||||
settings-theme-light = Claro
|
||||
settings-theme-blue = Azul
|
||||
settings-theme-purple = Púrpura
|
||||
settings-theme-green = Verde
|
||||
settings-theme-orange = Naranja
|
||||
settings-layout-preferences = Preferencias de Diseño
|
||||
settings-compact-mode = Modo Compacto
|
||||
settings-compact-mode-desc = Reduce el espaciado para más contenido
|
||||
settings-show-sidebar = Mostrar Barra Lateral
|
||||
settings-show-sidebar-desc = Siempre mostrar la barra de navegación
|
||||
settings-animations = Animaciones
|
||||
settings-animations-desc = Habilitar animaciones y transiciones de UI
|
||||
|
||||
# Configuración - Notificaciones
|
||||
settings-notifications-title = Notificaciones
|
||||
settings-notifications-desc = Controla cómo recibes notificaciones
|
||||
settings-email-notifications = Notificaciones por Correo
|
||||
settings-direct-messages = Mensajes Directos
|
||||
settings-direct-messages-desc = Recibir correo para nuevos mensajes directos
|
||||
settings-mentions = Menciones
|
||||
settings-mentions-desc = Recibir correo cuando alguien te menciona
|
||||
settings-weekly-digest = Resumen Semanal
|
||||
settings-weekly-digest-desc = Obtén un resumen semanal de actividad
|
||||
settings-marketing = Marketing
|
||||
settings-marketing-desc = Recibir noticias y actualizaciones de productos
|
||||
settings-push-notifications = Notificaciones Push
|
||||
settings-enable-push = Habilitar Notificaciones Push
|
||||
settings-enable-push-desc = Recibir notificaciones push del navegador
|
||||
settings-notification-sound = Sonido
|
||||
settings-notification-sound-desc = Reproducir sonido para notificaciones
|
||||
settings-in-app-notifications = Notificaciones en la App
|
||||
|
||||
# Configuración - Almacenamiento
|
||||
settings-storage = Almacenamiento
|
||||
settings-storage-desc = Administra tu uso de almacenamiento
|
||||
settings-storage-usage = Uso de Almacenamiento
|
||||
settings-storage-used = { $used } de { $total } usado
|
||||
settings-storage-upgrade = Mejorar Almacenamiento
|
||||
|
||||
# Configuración - Privacidad
|
||||
settings-privacy-title = Privacidad
|
||||
settings-privacy-desc = Controla tu configuración de privacidad
|
||||
settings-data-collection = Recolección de Datos
|
||||
settings-analytics = Analíticas
|
||||
settings-analytics-desc = Ayúdanos a mejorar enviando datos de uso anónimos
|
||||
settings-crash-reports = Reportes de Errores
|
||||
settings-crash-reports-desc = Enviar reportes de errores automáticamente
|
||||
settings-download-data = Descargar Tus Datos
|
||||
settings-download-data-desc = Obtén una copia de todos tus datos
|
||||
settings-delete-account = Eliminar Cuenta
|
||||
settings-delete-account-desc = Eliminar permanentemente tu cuenta y todos los datos
|
||||
settings-delete-account-warning = Esta acción no se puede deshacer
|
||||
|
||||
# Configuración - Facturación
|
||||
settings-billing = Facturación
|
||||
settings-billing-desc = Administra tu suscripción y métodos de pago
|
||||
settings-current-plan = Plan Actual
|
||||
settings-free-plan = Plan Gratuito
|
||||
settings-pro-plan = Plan Pro
|
||||
settings-enterprise-plan = Plan Empresarial
|
||||
settings-upgrade-plan = Mejorar Plan
|
||||
settings-payment-methods = Métodos de Pago
|
||||
settings-add-payment = Agregar Método de Pago
|
||||
settings-billing-history = Historial de Facturación
|
||||
|
||||
# -----------------------------------------------------------------------------
|
||||
# Paper (Editor de Documentos)
|
||||
# -----------------------------------------------------------------------------
|
||||
paper-title = Documentos
|
||||
paper-new-note = Nueva Nota
|
||||
paper-search-notes = Buscar notas...
|
||||
paper-quick-start = Inicio Rápido
|
||||
paper-template-blank = En Blanco
|
||||
paper-template-meeting = Reunión
|
||||
paper-template-todo = Lista de Tareas
|
||||
paper-template-research = Investigación
|
||||
paper-untitled = Sin Título
|
||||
paper-placeholder = Comienza a escribir, o escribe / para comandos...
|
||||
paper-commands = Comandos
|
||||
paper-heading1 = Título 1
|
||||
paper-heading1-desc = Título de sección grande
|
||||
paper-heading2 = Título 2
|
||||
paper-heading2-desc = Título de sección mediano
|
||||
paper-heading3 = Título 3
|
||||
paper-heading3-desc = Título de sección pequeño
|
||||
paper-paragraph = Párrafo
|
||||
paper-paragraph-desc = Texto plano
|
||||
paper-bullet-list = Lista con Viñetas
|
||||
paper-bullet-list-desc = Lista sin orden
|
||||
paper-numbered-list = Lista Numerada
|
||||
paper-numbered-list-desc = Lista ordenada
|
||||
paper-todo-list = Lista de Tareas
|
||||
paper-todo-list-desc = Lista de tareas marcables
|
||||
paper-quote = Cita
|
||||
paper-quote-desc = Bloque de cita para referencias
|
||||
paper-divider = Divisor
|
||||
142
locales/es/video.ftl
Normal file
142
locales/es/video.ftl
Normal file
|
|
@ -0,0 +1,142 @@
|
|||
# =============================================================================
|
||||
# General Bots - Spanish Video Editor Translations
|
||||
# =============================================================================
|
||||
|
||||
# -----------------------------------------------------------------------------
|
||||
# Navigation
|
||||
# -----------------------------------------------------------------------------
|
||||
nav-video = Video
|
||||
|
||||
# -----------------------------------------------------------------------------
|
||||
# Video Editor - Main
|
||||
# -----------------------------------------------------------------------------
|
||||
video-title = Editor de Video
|
||||
video-new-project = Nuevo Proyecto
|
||||
video-project-info = Información del Proyecto
|
||||
video-duration = Duración
|
||||
video-clips = Clips
|
||||
video-layers = Capas
|
||||
video-resolution = Resolución
|
||||
|
||||
# -----------------------------------------------------------------------------
|
||||
# Video Editor - Add Elements
|
||||
# -----------------------------------------------------------------------------
|
||||
video-add-elements = Agregar Elementos
|
||||
video-add-clip = Clip de Video
|
||||
video-add-text = Texto
|
||||
video-add-image = Imagen
|
||||
video-add-shape = Forma
|
||||
video-add-audio = Audio
|
||||
video-add-narration = Narración
|
||||
|
||||
# -----------------------------------------------------------------------------
|
||||
# Video Editor - Properties
|
||||
# -----------------------------------------------------------------------------
|
||||
video-properties = Propiedades
|
||||
video-name = Nombre
|
||||
video-volume = Volumen
|
||||
video-opacity = Opacidad
|
||||
video-position-x = Posición X
|
||||
video-position-y = Posición Y
|
||||
video-rotation = Rotación
|
||||
video-transition-in = Transición de Entrada
|
||||
video-transition-out = Transición de Salida
|
||||
|
||||
# -----------------------------------------------------------------------------
|
||||
# Video Editor - Timeline
|
||||
# -----------------------------------------------------------------------------
|
||||
video-video-track = Video
|
||||
video-text-track = Texto y Superposiciones
|
||||
video-audio-track = Audio
|
||||
|
||||
# -----------------------------------------------------------------------------
|
||||
# Video Editor - Preview
|
||||
# -----------------------------------------------------------------------------
|
||||
video-preview = Vista Previa
|
||||
video-add-content = Agrega clips o elementos para comenzar a editar
|
||||
|
||||
# -----------------------------------------------------------------------------
|
||||
# Video Editor - Chat
|
||||
# -----------------------------------------------------------------------------
|
||||
video-ai-assistant = Asistente IA
|
||||
video-playhead-at = Cursor:
|
||||
video-selected = Seleccionado:
|
||||
video-chat-placeholder = Describe lo que quieres cambiar...
|
||||
video-chat-welcome = ¡Hola! Soy tu asistente de edición de video. Puedes decirme qué cambiar, como "agrega un título aquí" o "hazlo más grande". Entenderé tu selección actual y la posición del cursor.
|
||||
|
||||
# -----------------------------------------------------------------------------
|
||||
# Video Editor - Export
|
||||
# -----------------------------------------------------------------------------
|
||||
video-export = Exportar
|
||||
video-export-video = Exportar Video
|
||||
video-format = Formato
|
||||
video-quality = Calidad
|
||||
video-start-export = Iniciar Exportación
|
||||
video-exporting = Exportando...
|
||||
video-export-complete = Exportación Completa
|
||||
video-export-failed = Exportación Fallida
|
||||
|
||||
# -----------------------------------------------------------------------------
|
||||
# Video Editor - Projects
|
||||
# -----------------------------------------------------------------------------
|
||||
video-recent-projects = Proyectos Recientes
|
||||
video-no-projects = Aún no hay proyectos
|
||||
video-create-first = Crea tu primer proyecto de video
|
||||
video-project-name = Nombre del Proyecto
|
||||
video-aspect-ratio = Relación de Aspecto
|
||||
video-frame-rate = Velocidad de Fotogramas
|
||||
video-create = Crear
|
||||
|
||||
# -----------------------------------------------------------------------------
|
||||
# Video Editor - Text Layer
|
||||
# -----------------------------------------------------------------------------
|
||||
video-text-content = Contenido del Texto
|
||||
video-font-family = Fuente
|
||||
video-font-size = Tamaño
|
||||
video-text-color = Color
|
||||
video-duration-sec = Duración (seg)
|
||||
video-add = Agregar
|
||||
|
||||
# -----------------------------------------------------------------------------
|
||||
# Video Editor - Actions
|
||||
# -----------------------------------------------------------------------------
|
||||
video-undo = Deshacer
|
||||
video-redo = Rehacer
|
||||
video-cut = Cortar
|
||||
video-split = Dividir
|
||||
video-delete = Eliminar
|
||||
video-save = Guardar
|
||||
|
||||
# -----------------------------------------------------------------------------
|
||||
# Video Editor - Status
|
||||
# -----------------------------------------------------------------------------
|
||||
video-status-draft = Borrador
|
||||
video-status-editing = Editando
|
||||
video-status-exporting = Exportando
|
||||
video-status-published = Publicado
|
||||
video-status-archived = Archivado
|
||||
|
||||
# -----------------------------------------------------------------------------
|
||||
# Video Editor - Notifications
|
||||
# -----------------------------------------------------------------------------
|
||||
video-project-created = Proyecto creado
|
||||
video-project-saved = Proyecto guardado
|
||||
video-clip-added = Clip agregado
|
||||
video-layer-added = Capa agregada
|
||||
video-text-added = Capa de texto agregada
|
||||
video-shape-added = Forma agregada
|
||||
video-audio-added = Pista de audio agregada
|
||||
video-item-deleted = Elemento eliminado
|
||||
video-export-started = Exportación iniciada
|
||||
video-export-completed = Exportación completada exitosamente
|
||||
video-error-create-project = Error al crear proyecto
|
||||
video-error-load-project = Error al cargar proyecto
|
||||
video-error-add-clip = Error al agregar clip
|
||||
video-error-add-layer = Error al agregar capa
|
||||
video-error-delete = Error al eliminar elemento
|
||||
video-error-export = Error al iniciar exportación
|
||||
video-create-project-first = Por favor crea un proyecto primero
|
||||
video-select-clip-to-split = Selecciona un clip para dividir
|
||||
video-playhead-within-clip = El cursor debe estar dentro del clip seleccionado
|
||||
video-tts-coming-soon = Generación de TTS próximamente
|
||||
video-split-coming-soon = Función de dividir próximamente
|
||||
313
locales/es/webinar.ftl
Normal file
313
locales/es/webinar.ftl
Normal file
|
|
@ -0,0 +1,313 @@
|
|||
# =============================================================================
|
||||
# General Bots - Webinar Translations (Spanish)
|
||||
# =============================================================================
|
||||
# Traducciones de la interfaz de webinar, grabación y transcripción
|
||||
# =============================================================================
|
||||
|
||||
# -----------------------------------------------------------------------------
|
||||
# Webinar Navigation & Headers
|
||||
# -----------------------------------------------------------------------------
|
||||
webinar-title = Webinars
|
||||
webinar-subtitle = Organiza y gestiona webinars
|
||||
webinar-nav-upcoming = Próximos
|
||||
webinar-nav-live = En Vivo
|
||||
webinar-nav-past = Webinars Anteriores
|
||||
webinar-nav-recordings = Grabaciones
|
||||
webinar-nav-analytics = Análisis
|
||||
|
||||
# -----------------------------------------------------------------------------
|
||||
# Webinar Status
|
||||
# -----------------------------------------------------------------------------
|
||||
webinar-status-draft = Borrador
|
||||
webinar-status-scheduled = Programado
|
||||
webinar-status-live = En Vivo
|
||||
webinar-status-paused = Pausado
|
||||
webinar-status-ended = Finalizado
|
||||
webinar-status-cancelled = Cancelado
|
||||
|
||||
# -----------------------------------------------------------------------------
|
||||
# Webinar Fields
|
||||
# -----------------------------------------------------------------------------
|
||||
webinar-field-title = Título
|
||||
webinar-field-description = Descripción
|
||||
webinar-field-scheduled-start = Fecha y Hora de Inicio
|
||||
webinar-field-scheduled-end = Fecha y Hora de Fin
|
||||
webinar-field-duration = Duración
|
||||
webinar-field-timezone = Zona Horaria
|
||||
webinar-field-host = Anfitrión
|
||||
webinar-field-panelists = Panelistas
|
||||
webinar-field-max-attendees = Máximo de Asistentes
|
||||
webinar-field-registration-url = URL de Registro
|
||||
|
||||
# -----------------------------------------------------------------------------
|
||||
# Webinar Actions
|
||||
# -----------------------------------------------------------------------------
|
||||
webinar-action-create = Crear Webinar
|
||||
webinar-action-edit = Editar Webinar
|
||||
webinar-action-delete = Eliminar Webinar
|
||||
webinar-action-cancel = Cancelar Webinar
|
||||
webinar-action-start = Iniciar Webinar
|
||||
webinar-action-end = Finalizar Webinar
|
||||
webinar-action-pause = Pausar Webinar
|
||||
webinar-action-resume = Reanudar Webinar
|
||||
webinar-action-join = Unirse al Webinar
|
||||
webinar-action-leave = Salir del Webinar
|
||||
webinar-action-share = Compartir Enlace
|
||||
webinar-action-copy-link = Copiar Enlace
|
||||
webinar-action-invite = Invitar Panelistas
|
||||
|
||||
# -----------------------------------------------------------------------------
|
||||
# Participant Roles
|
||||
# -----------------------------------------------------------------------------
|
||||
webinar-role-host = Anfitrión
|
||||
webinar-role-cohost = Co-Anfitrión
|
||||
webinar-role-presenter = Presentador
|
||||
webinar-role-panelist = Panelista
|
||||
webinar-role-attendee = Asistente
|
||||
|
||||
# -----------------------------------------------------------------------------
|
||||
# Participant Actions
|
||||
# -----------------------------------------------------------------------------
|
||||
webinar-participant-mute = Silenciar
|
||||
webinar-participant-unmute = Activar Audio
|
||||
webinar-participant-video-on = Activar Vídeo
|
||||
webinar-participant-video-off = Desactivar Vídeo
|
||||
webinar-participant-promote = Promover a Panelista
|
||||
webinar-participant-demote = Degradar a Asistente
|
||||
webinar-participant-remove = Expulsar del Webinar
|
||||
webinar-participant-allow-speak = Permitir Hablar
|
||||
webinar-participant-spotlight = Destacar
|
||||
|
||||
# -----------------------------------------------------------------------------
|
||||
# Hand Raising
|
||||
# -----------------------------------------------------------------------------
|
||||
webinar-hand-raise = Levantar la Mano
|
||||
webinar-hand-lower = Bajar la Mano
|
||||
webinar-hand-raised-count = { $count } manos levantadas
|
||||
webinar-hand-allow = Permitir Hablar
|
||||
webinar-hand-dismiss = Descartar
|
||||
|
||||
# -----------------------------------------------------------------------------
|
||||
# Q&A Panel
|
||||
# -----------------------------------------------------------------------------
|
||||
webinar-qa-title = Preguntas y Respuestas
|
||||
webinar-qa-submit = Enviar Pregunta
|
||||
webinar-qa-placeholder = Escribe tu pregunta...
|
||||
webinar-qa-anonymous = Preguntar Anónimamente
|
||||
webinar-qa-pending = Preguntas Pendientes
|
||||
webinar-qa-answered = Preguntas Respondidas
|
||||
webinar-qa-dismissed = Descartadas
|
||||
webinar-qa-upvote = Votar
|
||||
webinar-qa-upvotes = { $count } votos
|
||||
webinar-qa-answer = Responder
|
||||
webinar-qa-answer-live = Responder en Vivo
|
||||
webinar-qa-dismiss = Descartar
|
||||
webinar-qa-pin = Fijar Pregunta
|
||||
webinar-qa-unpin = Desfijar
|
||||
webinar-qa-highlight = Destacar
|
||||
webinar-qa-no-questions = Aún no hay preguntas
|
||||
|
||||
# -----------------------------------------------------------------------------
|
||||
# Polls
|
||||
# -----------------------------------------------------------------------------
|
||||
webinar-poll-title = Encuestas
|
||||
webinar-poll-create = Crear Encuesta
|
||||
webinar-poll-launch = Lanzar Encuesta
|
||||
webinar-poll-close = Cerrar Encuesta
|
||||
webinar-poll-results = Mostrar Resultados
|
||||
webinar-poll-hide-results = Ocultar Resultados
|
||||
webinar-poll-question = Pregunta
|
||||
webinar-poll-options = Opciones
|
||||
webinar-poll-add-option = Añadir Opción
|
||||
webinar-poll-single-choice = Opción Única
|
||||
webinar-poll-multiple-choice = Opción Múltiple
|
||||
webinar-poll-votes = { $count } votos
|
||||
webinar-poll-vote = Votar
|
||||
webinar-poll-voted = Has votado
|
||||
|
||||
# -----------------------------------------------------------------------------
|
||||
# Registration
|
||||
# -----------------------------------------------------------------------------
|
||||
webinar-registration-title = Registro
|
||||
webinar-registration-required = Registro Obligatorio
|
||||
webinar-registration-open = Registro Abierto
|
||||
webinar-registration-closed = Registro Cerrado
|
||||
webinar-registration-register = Registrarse
|
||||
webinar-registration-registered = Estás Registrado
|
||||
webinar-registration-cancel = Cancelar Registro
|
||||
webinar-registration-count = { $count } registrados
|
||||
webinar-registration-fields = Campos de Registro
|
||||
webinar-registration-name = Nombre Completo
|
||||
webinar-registration-email = Correo Electrónico
|
||||
webinar-registration-confirmation = Registro Confirmado
|
||||
webinar-registration-pending = Confirmación Pendiente
|
||||
webinar-registration-waitlist = Lista de Espera
|
||||
|
||||
# -----------------------------------------------------------------------------
|
||||
# Webinar Settings
|
||||
# -----------------------------------------------------------------------------
|
||||
webinar-settings-title = Configuración del Webinar
|
||||
webinar-settings-general = General
|
||||
webinar-settings-permissions = Permisos
|
||||
webinar-settings-registration = Registro
|
||||
webinar-settings-recording = Grabación
|
||||
webinar-settings-allow-chat = Permitir Chat
|
||||
webinar-settings-allow-qa = Permitir Preguntas y Respuestas
|
||||
webinar-settings-allow-hand-raise = Permitir Levantar la Mano
|
||||
webinar-settings-allow-reactions = Permitir Reacciones
|
||||
webinar-settings-moderated-qa = Preguntas Moderadas
|
||||
webinar-settings-anonymous-qa = Permitir Preguntas Anónimas
|
||||
webinar-settings-waiting-room = Habilitar Sala de Espera
|
||||
webinar-settings-practice-session = Sesión de Práctica
|
||||
webinar-settings-auto-record = Grabar Automáticamente
|
||||
|
||||
# -----------------------------------------------------------------------------
|
||||
# Recording
|
||||
# -----------------------------------------------------------------------------
|
||||
recording-title = Grabaciones
|
||||
recording-start = Iniciar Grabación
|
||||
recording-stop = Detener Grabación
|
||||
recording-pause = Pausar Grabación
|
||||
recording-resume = Reanudar Grabación
|
||||
recording-status-recording = Grabando
|
||||
recording-status-processing = Procesando
|
||||
recording-status-ready = Lista
|
||||
recording-status-failed = Fallida
|
||||
recording-status-deleted = Eliminada
|
||||
recording-status-expired = Expirada
|
||||
recording-duration = Duración
|
||||
recording-size = Tamaño del Archivo
|
||||
recording-quality = Calidad
|
||||
recording-quality-standard = Estándar (720p)
|
||||
recording-quality-high = Alta (1080p)
|
||||
recording-quality-ultra = Ultra (4K)
|
||||
recording-quality-audio = Solo Audio
|
||||
recording-download = Descargar Grabación
|
||||
recording-share = Compartir Grabación
|
||||
recording-delete = Eliminar Grabación
|
||||
recording-view-count = { $count } visualizaciones
|
||||
recording-download-count = { $count } descargas
|
||||
recording-expires = Expira el { $date }
|
||||
|
||||
# -----------------------------------------------------------------------------
|
||||
# Transcription
|
||||
# -----------------------------------------------------------------------------
|
||||
transcription-title = Transcripción
|
||||
transcription-start = Iniciar Transcripción
|
||||
transcription-status-pending = Pendiente
|
||||
transcription-status-in-progress = Transcribiendo...
|
||||
transcription-status-completed = Completada
|
||||
transcription-status-failed = Fallida
|
||||
transcription-status-partial = Parcialmente Completada
|
||||
transcription-language = Idioma
|
||||
transcription-speaker-identification = Identificación de Hablantes
|
||||
transcription-speakers = { $count } hablantes identificados
|
||||
transcription-words = { $count } palabras
|
||||
transcription-confidence = { $percent }% de confianza
|
||||
transcription-download = Descargar Transcripción
|
||||
transcription-export = Exportar
|
||||
transcription-export-txt = Texto Plano (.txt)
|
||||
transcription-export-vtt = WebVTT (.vtt)
|
||||
transcription-export-srt = SubRip (.srt)
|
||||
transcription-export-json = JSON (.json)
|
||||
transcription-search = Buscar en transcripción...
|
||||
transcription-jump-to = Ir al momento
|
||||
transcription-edit = Editar Transcripción
|
||||
transcription-save = Guardar Cambios
|
||||
|
||||
# -----------------------------------------------------------------------------
|
||||
# Transcription Languages
|
||||
# -----------------------------------------------------------------------------
|
||||
transcription-lang-en-us = Inglés (EE.UU.)
|
||||
transcription-lang-en-gb = Inglés (Reino Unido)
|
||||
transcription-lang-es-es = Español (España)
|
||||
transcription-lang-es-mx = Español (México)
|
||||
transcription-lang-fr-fr = Francés
|
||||
transcription-lang-de-de = Alemán
|
||||
transcription-lang-it-it = Italiano
|
||||
transcription-lang-pt-br = Portugués (Brasil)
|
||||
transcription-lang-pt-pt = Portugués (Portugal)
|
||||
transcription-lang-nl-nl = Holandés
|
||||
transcription-lang-pl-pl = Polaco
|
||||
transcription-lang-ru-ru = Ruso
|
||||
transcription-lang-ja-jp = Japonés
|
||||
transcription-lang-ko-kr = Coreano
|
||||
transcription-lang-zh-cn = Chino (Simplificado)
|
||||
transcription-lang-zh-tw = Chino (Tradicional)
|
||||
transcription-lang-ar-sa = Árabe
|
||||
transcription-lang-hi-in = Hindi
|
||||
transcription-lang-tr-tr = Turco
|
||||
transcription-lang-vi-vn = Vietnamita
|
||||
|
||||
# -----------------------------------------------------------------------------
|
||||
# Webinar Analytics
|
||||
# -----------------------------------------------------------------------------
|
||||
webinar-analytics-title = Análisis del Webinar
|
||||
webinar-analytics-overview = Resumen
|
||||
webinar-analytics-registrations = Total de Registros
|
||||
webinar-analytics-attendees = Total de Asistentes
|
||||
webinar-analytics-peak-attendees = Pico de Asistentes
|
||||
webinar-analytics-avg-watch-time = Tiempo Medio de Visualización
|
||||
webinar-analytics-questions = Preguntas Realizadas
|
||||
webinar-analytics-questions-answered = Preguntas Respondidas
|
||||
webinar-analytics-reactions = Reacciones
|
||||
webinar-analytics-poll-participation = Participación en Encuestas
|
||||
webinar-analytics-engagement = Puntuación de Engagement
|
||||
webinar-analytics-retention = Retención de Audiencia
|
||||
webinar-analytics-export = Exportar Informe
|
||||
|
||||
# -----------------------------------------------------------------------------
|
||||
# Empty States
|
||||
# -----------------------------------------------------------------------------
|
||||
webinar-empty-upcoming = No hay webinars programados
|
||||
webinar-empty-past = No hay webinars anteriores
|
||||
webinar-empty-recordings = No hay grabaciones disponibles
|
||||
webinar-empty-schedule = Programa tu primer webinar
|
||||
webinar-empty-transcription = No hay transcripción disponible
|
||||
|
||||
# -----------------------------------------------------------------------------
|
||||
# Confirmations
|
||||
# -----------------------------------------------------------------------------
|
||||
webinar-confirm-end = ¿Estás seguro de que quieres finalizar este webinar?
|
||||
webinar-confirm-cancel = ¿Estás seguro de que quieres cancelar este webinar?
|
||||
webinar-confirm-delete = ¿Estás seguro de que quieres eliminar este webinar?
|
||||
webinar-confirm-delete-recording = ¿Estás seguro de que quieres eliminar esta grabación?
|
||||
webinar-confirm-stop-recording = ¿Estás seguro de que quieres detener la grabación?
|
||||
|
||||
# -----------------------------------------------------------------------------
|
||||
# Success Messages
|
||||
# -----------------------------------------------------------------------------
|
||||
webinar-success-created = Webinar creado con éxito
|
||||
webinar-success-updated = Webinar actualizado con éxito
|
||||
webinar-success-started = Webinar iniciado
|
||||
webinar-success-ended = Webinar finalizado
|
||||
webinar-success-cancelled = Webinar cancelado
|
||||
webinar-success-recording-started = Grabación iniciada
|
||||
webinar-success-recording-stopped = Grabación detenida
|
||||
webinar-success-transcription-started = Transcripción iniciada
|
||||
webinar-success-transcription-completed = Transcripción completada
|
||||
|
||||
# -----------------------------------------------------------------------------
|
||||
# Error Messages
|
||||
# -----------------------------------------------------------------------------
|
||||
webinar-error-create = Error al crear webinar
|
||||
webinar-error-start = Error al iniciar webinar
|
||||
webinar-error-join = Error al unirse al webinar
|
||||
webinar-error-recording-start = Error al iniciar grabación
|
||||
webinar-error-recording-stop = Error al detener grabación
|
||||
webinar-error-transcription = Error en la transcripción
|
||||
webinar-error-max-participants = Número máximo de participantes alcanzado
|
||||
webinar-error-not-authorized = No estás autorizado para realizar esta acción
|
||||
webinar-error-webinar-ended = Este webinar ha finalizado
|
||||
webinar-error-registration-closed = El registro está cerrado
|
||||
|
||||
# -----------------------------------------------------------------------------
|
||||
# Notifications
|
||||
# -----------------------------------------------------------------------------
|
||||
webinar-notify-starting-soon = El webinar comienza en { $minutes } minutos
|
||||
webinar-notify-started = El webinar ha comenzado
|
||||
webinar-notify-ended = El webinar ha finalizado
|
||||
webinar-notify-hand-raised = { $name } ha levantado la mano
|
||||
webinar-notify-question-submitted = Nueva pregunta enviada
|
||||
webinar-notify-recording-ready = La grabación está lista
|
||||
webinar-notify-transcription-ready = La transcripción está lista
|
||||
557
locales/pt-BR/admin.ftl
Normal file
557
locales/pt-BR/admin.ftl
Normal file
|
|
@ -0,0 +1,557 @@
|
|||
# =============================================================================
|
||||
# General Bots - Traduções de Administração (Português Brasileiro)
|
||||
# =============================================================================
|
||||
# Traduções da interface administrativa para o Painel Admin do GB
|
||||
# =============================================================================
|
||||
|
||||
# -----------------------------------------------------------------------------
|
||||
# Navegação Admin & Painel
|
||||
# -----------------------------------------------------------------------------
|
||||
admin-title = Administração
|
||||
admin-dashboard = Painel Administrativo
|
||||
admin-overview = Visão Geral
|
||||
admin-welcome = Bem-vindo ao Painel Administrativo
|
||||
|
||||
admin-nav-dashboard = Painel
|
||||
admin-nav-users = Usuários
|
||||
admin-nav-bots = Bots
|
||||
admin-nav-tenants = Inquilinos
|
||||
admin-nav-settings = Configurações
|
||||
admin-nav-logs = Logs
|
||||
admin-nav-analytics = Análises
|
||||
admin-nav-security = Segurança
|
||||
admin-nav-integrations = Integrações
|
||||
admin-nav-billing = Faturamento
|
||||
admin-nav-support = Suporte
|
||||
admin-nav-groups = Grupos
|
||||
admin-nav-dns = DNS
|
||||
admin-nav-system = Sistema
|
||||
|
||||
# -----------------------------------------------------------------------------
|
||||
# Ações Rápidas Admin
|
||||
# -----------------------------------------------------------------------------
|
||||
admin-quick-actions = Ações Rápidas
|
||||
admin-create-user = Criar Usuário
|
||||
admin-create-group = Criar Grupo
|
||||
admin-register-dns = Registrar DNS
|
||||
admin-recent-activity = Atividade Recente
|
||||
admin-system-health = Saúde do Sistema
|
||||
|
||||
# -----------------------------------------------------------------------------
|
||||
# Gerenciamento de Usuários
|
||||
# -----------------------------------------------------------------------------
|
||||
admin-users-title = Gerenciamento de Usuários
|
||||
admin-users-list = Lista de Usuários
|
||||
admin-users-add = Adicionar Usuário
|
||||
admin-users-edit = Editar Usuário
|
||||
admin-users-delete = Excluir Usuário
|
||||
admin-users-search = Buscar usuários...
|
||||
admin-users-filter = Filtrar Usuários
|
||||
admin-users-export = Exportar Usuários
|
||||
admin-users-import = Importar Usuários
|
||||
admin-users-total = Total de Usuários
|
||||
admin-users-active = Usuários Ativos
|
||||
admin-users-inactive = Usuários Inativos
|
||||
admin-users-suspended = Usuários Suspensos
|
||||
admin-users-pending = Verificação Pendente
|
||||
admin-users-last-login = Último Login
|
||||
admin-users-created = Criado em
|
||||
admin-users-role = Função
|
||||
admin-users-status = Status
|
||||
admin-users-actions = Ações
|
||||
admin-users-no-users = Nenhum usuário encontrado
|
||||
admin-users-confirm-delete = Tem certeza que deseja excluir este usuário?
|
||||
admin-users-deleted = Usuário excluído com sucesso
|
||||
admin-users-saved = Usuário salvo com sucesso
|
||||
admin-users-invite = Convidar Usuário
|
||||
admin-users-invite-sent = Convite enviado com sucesso
|
||||
admin-users-bulk-actions = Ações em Massa
|
||||
admin-users-select-all = Selecionar Todos
|
||||
admin-users-deselect-all = Desmarcar Todos
|
||||
|
||||
# Detalhes do Usuário
|
||||
admin-user-details = Detalhes do Usuário
|
||||
admin-user-profile = Perfil
|
||||
admin-user-email = E-mail
|
||||
admin-user-name = Nome
|
||||
admin-user-phone = Telefone
|
||||
admin-user-avatar = Avatar
|
||||
admin-user-timezone = Fuso Horário
|
||||
admin-user-language = Idioma
|
||||
admin-user-role-admin = Administrador
|
||||
admin-user-role-manager = Gerente
|
||||
admin-user-role-user = Usuário
|
||||
admin-user-role-viewer = Visualizador
|
||||
admin-user-status-active = Ativo
|
||||
admin-user-status-inactive = Inativo
|
||||
admin-user-status-suspended = Suspenso
|
||||
admin-user-status-pending = Pendente
|
||||
admin-user-permissions = Permissões
|
||||
admin-user-activity = Log de Atividades
|
||||
admin-user-sessions = Sessões Ativas
|
||||
admin-user-terminate-session = Encerrar Sessão
|
||||
admin-user-terminate-all = Encerrar Todas as Sessões
|
||||
admin-user-reset-password = Redefinir Senha
|
||||
admin-user-force-logout = Forçar Logout
|
||||
admin-user-enable-2fa = Ativar 2FA
|
||||
admin-user-disable-2fa = Desativar 2FA
|
||||
|
||||
# -----------------------------------------------------------------------------
|
||||
# Gerenciamento de Grupos
|
||||
# -----------------------------------------------------------------------------
|
||||
admin-groups-title = Gerenciamento de Grupos
|
||||
admin-groups-subtitle = Gerencie grupos, membros e permissões
|
||||
admin-groups-list = Lista de Grupos
|
||||
admin-groups-add = Adicionar Grupo
|
||||
admin-groups-create = Criar Grupo
|
||||
admin-groups-edit = Editar Grupo
|
||||
admin-groups-delete = Excluir Grupo
|
||||
admin-groups-search = Buscar grupos...
|
||||
admin-groups-filter = Filtrar Grupos
|
||||
admin-groups-total = Total de Grupos
|
||||
admin-groups-active = Grupos Ativos
|
||||
admin-groups-no-groups = Nenhum grupo encontrado
|
||||
admin-groups-confirm-delete = Tem certeza que deseja excluir este grupo?
|
||||
admin-groups-deleted = Grupo excluído com sucesso
|
||||
admin-groups-saved = Grupo salvo com sucesso
|
||||
admin-groups-created = Grupo criado com sucesso
|
||||
admin-groups-loading = Carregando grupos...
|
||||
|
||||
# Detalhes do Grupo
|
||||
admin-group-details = Detalhes do Grupo
|
||||
admin-group-name = Nome do Grupo
|
||||
admin-group-description = Descrição
|
||||
admin-group-visibility = Visibilidade
|
||||
admin-group-visibility-public = Público
|
||||
admin-group-visibility-private = Privado
|
||||
admin-group-visibility-hidden = Oculto
|
||||
admin-group-join-policy = Política de Entrada
|
||||
admin-group-join-invite = Apenas por Convite
|
||||
admin-group-join-request = Solicitar Entrada
|
||||
admin-group-join-open = Aberto
|
||||
admin-group-members = Membros
|
||||
admin-group-member-count = { $count ->
|
||||
[one] { $count } membro
|
||||
*[other] { $count } membros
|
||||
}
|
||||
admin-group-add-member = Adicionar Membro
|
||||
admin-group-remove-member = Remover Membro
|
||||
admin-group-permissions = Permissões
|
||||
admin-group-settings = Configurações
|
||||
admin-group-analytics = Análises
|
||||
admin-group-overview = Visão Geral
|
||||
|
||||
# Modos de Visualização de Grupos
|
||||
admin-groups-view-grid = Visualização em Grade
|
||||
admin-groups-view-list = Visualização em Lista
|
||||
admin-groups-all-visibility = Todas as Visibilidades
|
||||
|
||||
# -----------------------------------------------------------------------------
|
||||
# Gerenciamento de DNS
|
||||
# -----------------------------------------------------------------------------
|
||||
admin-dns-title = Gerenciamento de DNS
|
||||
admin-dns-subtitle = Registre e gerencie hostnames DNS para seus bots
|
||||
admin-dns-register = Registrar Hostname
|
||||
admin-dns-registered = Hostnames Registrados
|
||||
admin-dns-search = Buscar hostnames...
|
||||
admin-dns-refresh = Atualizar
|
||||
admin-dns-loading = Carregando registros DNS...
|
||||
admin-dns-no-records = Nenhum registro DNS encontrado
|
||||
admin-dns-confirm-delete = Tem certeza que deseja remover este hostname?
|
||||
admin-dns-deleted = Hostname removido com sucesso
|
||||
admin-dns-saved = Registro DNS salvo com sucesso
|
||||
admin-dns-created = Hostname registrado com sucesso
|
||||
|
||||
# Campos do Formulário DNS
|
||||
admin-dns-hostname = Hostname
|
||||
admin-dns-hostname-placeholder = meubot.exemplo.com
|
||||
admin-dns-hostname-help = Digite o nome de domínio completo que deseja registrar
|
||||
admin-dns-record-type = Tipo de Registro
|
||||
admin-dns-record-type-a = A (IPv4)
|
||||
admin-dns-record-type-aaaa = AAAA (IPv6)
|
||||
admin-dns-record-type-cname = CNAME
|
||||
admin-dns-ttl = TTL (segundos)
|
||||
admin-dns-ttl-5min = 5 minutos (300)
|
||||
admin-dns-ttl-1hour = 1 hora (3600)
|
||||
admin-dns-ttl-1day = 1 dia (86400)
|
||||
admin-dns-target = Destino/Endereço IP
|
||||
admin-dns-target-placeholder-ipv4 = 192.168.1.1
|
||||
admin-dns-target-placeholder-ipv6 = 2001:db8::1
|
||||
admin-dns-target-placeholder-cname = destino.exemplo.com
|
||||
admin-dns-target-help-a = Digite o endereço IPv4 de destino
|
||||
admin-dns-target-help-aaaa = Digite o endereço IPv6 de destino
|
||||
admin-dns-target-help-cname = Digite o nome de domínio de destino
|
||||
admin-dns-auto-ssl = Provisionar certificado SSL automaticamente
|
||||
|
||||
# Cabeçalhos da Tabela DNS
|
||||
admin-dns-col-hostname = Hostname
|
||||
admin-dns-col-type = Tipo
|
||||
admin-dns-col-target = Destino
|
||||
admin-dns-col-ttl = TTL
|
||||
admin-dns-col-ssl = SSL
|
||||
admin-dns-col-status = Status
|
||||
admin-dns-col-actions = Ações
|
||||
|
||||
# Status DNS
|
||||
admin-dns-status-active = Ativo
|
||||
admin-dns-status-pending = Pendente
|
||||
admin-dns-status-error = Erro
|
||||
admin-dns-ssl-enabled = SSL Ativado
|
||||
admin-dns-ssl-disabled = Sem SSL
|
||||
admin-dns-ssl-pending = SSL Pendente
|
||||
|
||||
# Cards de Ajuda DNS
|
||||
admin-dns-help-title = Ajuda de Configuração DNS
|
||||
admin-dns-help-a-record = Registro A
|
||||
admin-dns-help-a-record-desc = Mapeia um nome de domínio para um endereço IPv4. Use para apontar seu hostname diretamente para um IP de servidor.
|
||||
admin-dns-help-aaaa-record = Registro AAAA
|
||||
admin-dns-help-aaaa-record-desc = Mapeia um nome de domínio para um endereço IPv6. Similar ao registro A, mas para conectividade IPv6.
|
||||
admin-dns-help-cname-record = Registro CNAME
|
||||
admin-dns-help-cname-record-desc = Cria um alias de um domínio para outro. Útil para apontar subdomínios para seu domínio principal.
|
||||
admin-dns-help-ssl = SSL/TLS
|
||||
admin-dns-help-ssl-desc = Provisiona automaticamente certificados Let's Encrypt para conexões HTTPS seguras.
|
||||
|
||||
# Modais de Edição/Remoção DNS
|
||||
admin-dns-edit-title = Editar Registro DNS
|
||||
admin-dns-remove-title = Remover Hostname
|
||||
admin-dns-remove-warning = Isso excluirá o registro DNS e quaisquer certificados SSL associados. O hostname não será mais resolvido.
|
||||
|
||||
# -----------------------------------------------------------------------------
|
||||
# Gerenciamento de Bots
|
||||
# -----------------------------------------------------------------------------
|
||||
admin-bots-title = Gerenciamento de Bots
|
||||
admin-bots-list = Lista de Bots
|
||||
admin-bots-add = Adicionar Bot
|
||||
admin-bots-edit = Editar Bot
|
||||
admin-bots-delete = Excluir Bot
|
||||
admin-bots-search = Buscar bots...
|
||||
admin-bots-filter = Filtrar Bots
|
||||
admin-bots-total = Total de Bots
|
||||
admin-bots-active = Bots Ativos
|
||||
admin-bots-inactive = Bots Inativos
|
||||
admin-bots-draft = Bots em Rascunho
|
||||
admin-bots-published = Bots Publicados
|
||||
admin-bots-no-bots = Nenhum bot encontrado
|
||||
admin-bots-confirm-delete = Tem certeza que deseja excluir este bot?
|
||||
admin-bots-deleted = Bot excluído com sucesso
|
||||
admin-bots-saved = Bot salvo com sucesso
|
||||
admin-bots-duplicate = Duplicar Bot
|
||||
admin-bots-export = Exportar Bot
|
||||
admin-bots-import = Importar Bot
|
||||
admin-bots-publish = Publicar
|
||||
admin-bots-unpublish = Despublicar
|
||||
admin-bots-test = Testar Bot
|
||||
admin-bots-logs = Logs do Bot
|
||||
admin-bots-analytics = Análises do Bot
|
||||
admin-bots-conversations = Conversas
|
||||
admin-bots-templates = Templates
|
||||
admin-bots-dialogs = Diálogos
|
||||
admin-bots-knowledge-base = Base de Conhecimento
|
||||
|
||||
# Detalhes do Bot
|
||||
admin-bot-details = Detalhes do Bot
|
||||
admin-bot-name = Nome do Bot
|
||||
admin-bot-description = Descrição
|
||||
admin-bot-avatar = Avatar do Bot
|
||||
admin-bot-language = Idioma
|
||||
admin-bot-timezone = Fuso Horário
|
||||
admin-bot-greeting = Mensagem de Saudação
|
||||
admin-bot-fallback = Mensagem de Fallback
|
||||
admin-bot-channels = Canais
|
||||
admin-bot-channel-web = Chat Web
|
||||
admin-bot-channel-whatsapp = WhatsApp
|
||||
admin-bot-channel-telegram = Telegram
|
||||
admin-bot-channel-slack = Slack
|
||||
admin-bot-channel-teams = Microsoft Teams
|
||||
admin-bot-channel-email = E-mail
|
||||
admin-bot-model = Modelo de IA
|
||||
admin-bot-temperature = Temperatura
|
||||
admin-bot-max-tokens = Máximo de Tokens
|
||||
admin-bot-system-prompt = Prompt do Sistema
|
||||
|
||||
# -----------------------------------------------------------------------------
|
||||
# Gerenciamento de Inquilinos
|
||||
# -----------------------------------------------------------------------------
|
||||
admin-tenants-title = Gerenciamento de Inquilinos
|
||||
admin-tenants-list = Lista de Inquilinos
|
||||
admin-tenants-add = Adicionar Inquilino
|
||||
admin-tenants-edit = Editar Inquilino
|
||||
admin-tenants-delete = Excluir Inquilino
|
||||
admin-tenants-search = Buscar inquilinos...
|
||||
admin-tenants-total = Total de Inquilinos
|
||||
admin-tenants-active = Inquilinos Ativos
|
||||
admin-tenants-suspended = Inquilinos Suspensos
|
||||
admin-tenants-trial = Inquilinos em Teste
|
||||
admin-tenants-no-tenants = Nenhum inquilino encontrado
|
||||
admin-tenants-confirm-delete = Tem certeza que deseja excluir este inquilino?
|
||||
admin-tenants-deleted = Inquilino excluído com sucesso
|
||||
admin-tenants-saved = Inquilino salvo com sucesso
|
||||
|
||||
# Detalhes do Inquilino
|
||||
admin-tenant-details = Detalhes do Inquilino
|
||||
admin-tenant-name = Nome do Inquilino
|
||||
admin-tenant-domain = Domínio
|
||||
admin-tenant-plan = Plano
|
||||
admin-tenant-plan-free = Gratuito
|
||||
admin-tenant-plan-starter = Inicial
|
||||
admin-tenant-plan-professional = Profissional
|
||||
admin-tenant-plan-enterprise = Empresarial
|
||||
admin-tenant-users = Usuários
|
||||
admin-tenant-bots = Bots
|
||||
admin-tenant-storage = Armazenamento Usado
|
||||
admin-tenant-api-calls = Chamadas de API
|
||||
admin-tenant-limits = Limites de Uso
|
||||
admin-tenant-billing = Informações de Faturamento
|
||||
|
||||
# -----------------------------------------------------------------------------
|
||||
# Configurações do Sistema
|
||||
# -----------------------------------------------------------------------------
|
||||
admin-settings-title = Configurações do Sistema
|
||||
admin-settings-general = Configurações Gerais
|
||||
admin-settings-security = Configurações de Segurança
|
||||
admin-settings-email = Configurações de E-mail
|
||||
admin-settings-storage = Configurações de Armazenamento
|
||||
admin-settings-integrations = Integrações
|
||||
admin-settings-api = Configurações de API
|
||||
admin-settings-appearance = Aparência
|
||||
admin-settings-localization = Localização
|
||||
admin-settings-notifications = Notificações
|
||||
admin-settings-backup = Backup e Restauração
|
||||
admin-settings-maintenance = Modo de Manutenção
|
||||
admin-settings-saved = Configurações salvas com sucesso
|
||||
admin-settings-reset = Restaurar Padrões
|
||||
admin-settings-confirm-reset = Tem certeza que deseja restaurar todas as configurações para os padrões?
|
||||
|
||||
# Configurações Gerais
|
||||
admin-settings-site-name = Nome do Site
|
||||
admin-settings-site-url = URL do Site
|
||||
admin-settings-admin-email = E-mail do Admin
|
||||
admin-settings-support-email = E-mail de Suporte
|
||||
admin-settings-default-language = Idioma Padrão
|
||||
admin-settings-default-timezone = Fuso Horário Padrão
|
||||
admin-settings-date-format = Formato de Data
|
||||
admin-settings-time-format = Formato de Hora
|
||||
admin-settings-currency = Moeda
|
||||
|
||||
# Configurações de E-mail
|
||||
admin-settings-smtp-host = Host SMTP
|
||||
admin-settings-smtp-port = Porta SMTP
|
||||
admin-settings-smtp-user = Usuário SMTP
|
||||
admin-settings-smtp-password = Senha SMTP
|
||||
admin-settings-smtp-encryption = Criptografia
|
||||
admin-settings-smtp-from-name = Nome do Remetente
|
||||
admin-settings-smtp-from-email = E-mail do Remetente
|
||||
admin-settings-smtp-test = Enviar E-mail de Teste
|
||||
admin-settings-smtp-test-success = E-mail de teste enviado com sucesso
|
||||
admin-settings-smtp-test-failed = Falha ao enviar e-mail de teste
|
||||
|
||||
# Configurações de Armazenamento
|
||||
admin-settings-storage-provider = Provedor de Armazenamento
|
||||
admin-settings-storage-local = Armazenamento Local
|
||||
admin-settings-storage-s3 = Amazon S3
|
||||
admin-settings-storage-minio = MinIO
|
||||
admin-settings-storage-gcs = Google Cloud Storage
|
||||
admin-settings-storage-azure = Azure Blob Storage
|
||||
admin-settings-storage-bucket = Nome do Bucket
|
||||
admin-settings-storage-region = Região
|
||||
admin-settings-storage-access-key = Chave de Acesso
|
||||
admin-settings-storage-secret-key = Chave Secreta
|
||||
admin-settings-storage-endpoint = URL do Endpoint
|
||||
|
||||
# -----------------------------------------------------------------------------
|
||||
# Logs do Sistema
|
||||
# -----------------------------------------------------------------------------
|
||||
admin-logs-title = Logs do Sistema
|
||||
admin-logs-search = Buscar logs...
|
||||
admin-logs-filter-level = Filtrar por Nível
|
||||
admin-logs-filter-source = Filtrar por Origem
|
||||
admin-logs-filter-date = Filtrar por Data
|
||||
admin-logs-level-all = Todos os Níveis
|
||||
admin-logs-level-debug = Debug
|
||||
admin-logs-level-info = Info
|
||||
admin-logs-level-warning = Aviso
|
||||
admin-logs-level-error = Erro
|
||||
admin-logs-level-critical = Crítico
|
||||
admin-logs-export = Exportar Logs
|
||||
admin-logs-clear = Limpar Logs
|
||||
admin-logs-confirm-clear = Tem certeza que deseja limpar todos os logs?
|
||||
admin-logs-cleared = Logs limpos com sucesso
|
||||
admin-logs-no-logs = Nenhum log encontrado
|
||||
admin-logs-refresh = Atualizar
|
||||
admin-logs-auto-refresh = Atualização Automática
|
||||
admin-logs-timestamp = Data/Hora
|
||||
admin-logs-level = Nível
|
||||
admin-logs-source = Origem
|
||||
admin-logs-message = Mensagem
|
||||
admin-logs-details = Detalhes
|
||||
|
||||
# -----------------------------------------------------------------------------
|
||||
# Análises
|
||||
# -----------------------------------------------------------------------------
|
||||
admin-analytics-title = Análises
|
||||
admin-analytics-overview = Visão Geral
|
||||
admin-analytics-users = Análises de Usuários
|
||||
admin-analytics-bots = Análises de Bots
|
||||
admin-analytics-conversations = Análises de Conversas
|
||||
admin-analytics-performance = Desempenho
|
||||
admin-analytics-period = Período
|
||||
admin-analytics-period-today = Hoje
|
||||
admin-analytics-period-week = Esta Semana
|
||||
admin-analytics-period-month = Este Mês
|
||||
admin-analytics-period-quarter = Este Trimestre
|
||||
admin-analytics-period-year = Este Ano
|
||||
admin-analytics-period-custom = Período Personalizado
|
||||
admin-analytics-export = Exportar Relatório
|
||||
admin-analytics-total-users = Total de Usuários
|
||||
admin-analytics-new-users = Novos Usuários
|
||||
admin-analytics-active-users = Usuários Ativos
|
||||
admin-analytics-total-bots = Total de Bots
|
||||
admin-analytics-active-bots = Bots Ativos
|
||||
admin-analytics-total-conversations = Total de Conversas
|
||||
admin-analytics-avg-response-time = Tempo Médio de Resposta
|
||||
admin-analytics-satisfaction-rate = Taxa de Satisfação
|
||||
admin-analytics-resolution-rate = Taxa de Resolução
|
||||
|
||||
# -----------------------------------------------------------------------------
|
||||
# Segurança
|
||||
# -----------------------------------------------------------------------------
|
||||
admin-security-title = Segurança
|
||||
admin-security-overview = Visão Geral de Segurança
|
||||
admin-security-audit-log = Log de Auditoria
|
||||
admin-security-login-attempts = Tentativas de Login
|
||||
admin-security-blocked-ips = IPs Bloqueados
|
||||
admin-security-api-keys = Chaves de API
|
||||
admin-security-webhooks = Webhooks
|
||||
admin-security-cors = Configurações CORS
|
||||
admin-security-rate-limiting = Limitação de Taxa
|
||||
admin-security-encryption = Criptografia
|
||||
admin-security-2fa = Autenticação de Dois Fatores
|
||||
admin-security-sso = Login Único (SSO)
|
||||
admin-security-password-policy = Política de Senhas
|
||||
|
||||
# Chaves de API
|
||||
admin-api-keys-title = Chaves de API
|
||||
admin-api-keys-add = Criar Chave de API
|
||||
admin-api-keys-name = Nome da Chave
|
||||
admin-api-keys-key = Chave de API
|
||||
admin-api-keys-secret = Chave Secreta
|
||||
admin-api-keys-created = Criada em
|
||||
admin-api-keys-last-used = Último Uso
|
||||
admin-api-keys-expires = Expira em
|
||||
admin-api-keys-never = Nunca
|
||||
admin-api-keys-revoke = Revogar
|
||||
admin-api-keys-confirm-revoke = Tem certeza que deseja revogar esta chave de API?
|
||||
admin-api-keys-revoked = Chave de API revogada com sucesso
|
||||
admin-api-keys-created-success = Chave de API criada com sucesso
|
||||
admin-api-keys-copy = Copiar para Área de Transferência
|
||||
admin-api-keys-copied = Copiado!
|
||||
admin-api-keys-warning = Certifique-se de copiar sua chave de API agora. Você não poderá vê-la novamente!
|
||||
|
||||
# -----------------------------------------------------------------------------
|
||||
# Faturamento
|
||||
# -----------------------------------------------------------------------------
|
||||
admin-billing-title = Faturamento
|
||||
admin-billing-overview = Visão Geral do Faturamento
|
||||
admin-billing-current-plan = Plano Atual
|
||||
admin-billing-usage = Uso
|
||||
admin-billing-invoices = Faturas
|
||||
admin-billing-payment-methods = Métodos de Pagamento
|
||||
admin-billing-upgrade = Fazer Upgrade do Plano
|
||||
admin-billing-downgrade = Fazer Downgrade do Plano
|
||||
admin-billing-cancel = Cancelar Assinatura
|
||||
admin-billing-invoice-date = Data da Fatura
|
||||
admin-billing-invoice-amount = Valor
|
||||
admin-billing-invoice-status = Status
|
||||
admin-billing-invoice-paid = Pago
|
||||
admin-billing-invoice-pending = Pendente
|
||||
admin-billing-invoice-overdue = Atrasado
|
||||
admin-billing-invoice-download = Baixar Fatura
|
||||
|
||||
# -----------------------------------------------------------------------------
|
||||
# Backup e Restauração
|
||||
# -----------------------------------------------------------------------------
|
||||
admin-backup-title = Backup e Restauração
|
||||
admin-backup-create = Criar Backup
|
||||
admin-backup-restore = Restaurar Backup
|
||||
admin-backup-schedule = Agendar Backups
|
||||
admin-backup-list = Histórico de Backups
|
||||
admin-backup-name = Nome do Backup
|
||||
admin-backup-size = Tamanho
|
||||
admin-backup-created = Criado em
|
||||
admin-backup-download = Baixar
|
||||
admin-backup-delete = Excluir
|
||||
admin-backup-confirm-restore = Tem certeza que deseja restaurar este backup? Isso irá sobrescrever os dados atuais.
|
||||
admin-backup-confirm-delete = Tem certeza que deseja excluir este backup?
|
||||
admin-backup-in-progress = Backup em andamento...
|
||||
admin-backup-completed = Backup concluído com sucesso
|
||||
admin-backup-failed = Falha no backup
|
||||
admin-backup-restore-in-progress = Restauração em andamento...
|
||||
admin-backup-restore-completed = Restauração concluída com sucesso
|
||||
admin-backup-restore-failed = Falha na restauração
|
||||
|
||||
# -----------------------------------------------------------------------------
|
||||
# Modo de Manutenção
|
||||
# -----------------------------------------------------------------------------
|
||||
admin-maintenance-title = Modo de Manutenção
|
||||
admin-maintenance-enable = Ativar Modo de Manutenção
|
||||
admin-maintenance-disable = Desativar Modo de Manutenção
|
||||
admin-maintenance-status = Status Atual
|
||||
admin-maintenance-active = Modo de manutenção está ativo
|
||||
admin-maintenance-inactive = Modo de manutenção está inativo
|
||||
admin-maintenance-message = Mensagem de Manutenção
|
||||
admin-maintenance-default-message = Estamos realizando manutenção programada. Por favor, volte em breve.
|
||||
admin-maintenance-allowed-ips = Endereços IP Permitidos
|
||||
admin-maintenance-confirm-enable = Tem certeza que deseja ativar o modo de manutenção? Os usuários não poderão acessar o sistema.
|
||||
|
||||
# -----------------------------------------------------------------------------
|
||||
# Elementos Comuns da Interface Admin
|
||||
# -----------------------------------------------------------------------------
|
||||
admin-required = Obrigatório
|
||||
admin-optional = Opcional
|
||||
admin-loading = Carregando...
|
||||
admin-saving = Salvando...
|
||||
admin-deleting = Excluindo...
|
||||
admin-confirm = Confirmar
|
||||
admin-cancel = Cancelar
|
||||
admin-save = Salvar
|
||||
admin-create = Criar
|
||||
admin-update = Atualizar
|
||||
admin-delete = Excluir
|
||||
admin-edit = Editar
|
||||
admin-view = Visualizar
|
||||
admin-close = Fechar
|
||||
admin-back = Voltar
|
||||
admin-next = Próximo
|
||||
admin-previous = Anterior
|
||||
admin-refresh = Atualizar
|
||||
admin-export = Exportar
|
||||
admin-import = Importar
|
||||
admin-search = Buscar
|
||||
admin-filter = Filtrar
|
||||
admin-clear = Limpar
|
||||
admin-select = Selecionar
|
||||
admin-select-all = Selecionar Todos
|
||||
admin-deselect-all = Desmarcar Todos
|
||||
admin-actions = Ações
|
||||
admin-more-actions = Mais Ações
|
||||
admin-no-data = Nenhum dado disponível
|
||||
admin-error = Ocorreu um erro
|
||||
admin-success = Sucesso
|
||||
admin-warning = Atenção
|
||||
admin-info = Informação
|
||||
|
||||
# Paginação de Tabelas
|
||||
admin-showing = Mostrando { $from } a { $to } de { $total } resultados
|
||||
admin-page = Página { $current } de { $total }
|
||||
admin-items-per-page = Itens por página
|
||||
admin-go-to-page = Ir para página
|
||||
|
||||
# Ações em Massa
|
||||
admin-bulk-delete = Excluir Selecionados
|
||||
admin-bulk-export = Exportar Selecionados
|
||||
admin-bulk-activate = Ativar Selecionados
|
||||
admin-bulk-deactivate = Desativar Selecionados
|
||||
admin-selected-count = { $count ->
|
||||
[one] { $count } item selecionado
|
||||
*[other] { $count } itens selecionados
|
||||
}
|
||||
173
locales/pt-BR/analytics.ftl
Normal file
173
locales/pt-BR/analytics.ftl
Normal file
|
|
@ -0,0 +1,173 @@
|
|||
analytics-title = Análises
|
||||
analytics-dashboard = Painel de Análises
|
||||
analytics-overview = Visão Geral
|
||||
analytics-reports = Relatórios
|
||||
analytics-export = Exportar Dados
|
||||
analytics-refresh = Atualizar Dados
|
||||
analytics-last-updated = Última atualização: { $time }
|
||||
|
||||
analytics-period-today = Hoje
|
||||
analytics-period-yesterday = Ontem
|
||||
analytics-period-week = Esta Semana
|
||||
analytics-period-last-week = Semana Passada
|
||||
analytics-period-month = Este Mês
|
||||
analytics-period-last-month = Mês Passado
|
||||
analytics-period-quarter = Este Trimestre
|
||||
analytics-period-year = Este Ano
|
||||
analytics-period-custom = Período Personalizado
|
||||
analytics-period-from = De
|
||||
analytics-period-to = Até
|
||||
analytics-period-apply = Aplicar
|
||||
|
||||
analytics-metric-total = Total
|
||||
analytics-metric-average = Média
|
||||
analytics-metric-min = Mínimo
|
||||
analytics-metric-max = Máximo
|
||||
analytics-metric-count = Contagem
|
||||
analytics-metric-sum = Soma
|
||||
analytics-metric-percentage = Porcentagem
|
||||
analytics-metric-growth = Crescimento
|
||||
analytics-metric-change = Variação
|
||||
analytics-metric-trend = Tendência
|
||||
|
||||
analytics-users-title = Análises de Usuários
|
||||
analytics-users-total = Total de Usuários
|
||||
analytics-users-active = Usuários Ativos
|
||||
analytics-users-new = Novos Usuários
|
||||
analytics-users-returning = Usuários Recorrentes
|
||||
analytics-users-churned = Usuários Perdidos
|
||||
analytics-users-growth = Crescimento de Usuários
|
||||
analytics-users-retention = Retenção de Usuários
|
||||
analytics-users-engagement = Engajamento de Usuários
|
||||
analytics-users-by-country = Usuários por País
|
||||
analytics-users-by-device = Usuários por Dispositivo
|
||||
analytics-users-by-browser = Usuários por Navegador
|
||||
analytics-users-by-os = Usuários por Sistema Operacional
|
||||
analytics-users-sessions = Sessões
|
||||
analytics-users-avg-session = Duração Média da Sessão
|
||||
analytics-users-page-views = Visualizações de Página
|
||||
analytics-users-bounce-rate = Taxa de Rejeição
|
||||
|
||||
analytics-bots-title = Análises de Bots
|
||||
analytics-bots-total = Total de Bots
|
||||
analytics-bots-active = Bots Ativos
|
||||
analytics-bots-conversations = Total de Conversas
|
||||
analytics-bots-messages = Total de Mensagens
|
||||
analytics-bots-avg-messages = Média de Mensagens por Conversa
|
||||
analytics-bots-response-time = Tempo Médio de Resposta
|
||||
analytics-bots-resolution-rate = Taxa de Resolução
|
||||
analytics-bots-satisfaction = Índice de Satisfação
|
||||
analytics-bots-handoff-rate = Taxa de Transferência para Humano
|
||||
analytics-bots-fallback-rate = Taxa de Fallback
|
||||
analytics-bots-intent-accuracy = Precisão de Intenção
|
||||
analytics-bots-top-intents = Principais Intenções
|
||||
analytics-bots-top-topics = Principais Tópicos
|
||||
analytics-bots-by-channel = Conversas por Canal
|
||||
analytics-bots-by-hour = Conversas por Hora
|
||||
analytics-bots-by-day = Conversas por Dia
|
||||
|
||||
analytics-conversations-title = Análises de Conversas
|
||||
analytics-conversations-total = Total de Conversas
|
||||
analytics-conversations-completed = Concluídas
|
||||
analytics-conversations-abandoned = Abandonadas
|
||||
analytics-conversations-transferred = Transferidas
|
||||
analytics-conversations-avg-duration = Duração Média
|
||||
analytics-conversations-avg-messages = Média de Mensagens
|
||||
analytics-conversations-first-response = Tempo da Primeira Resposta
|
||||
analytics-conversations-wait-time = Tempo Médio de Espera
|
||||
analytics-conversations-peak-hours = Horários de Pico
|
||||
analytics-conversations-sentiment = Análise de Sentimento
|
||||
analytics-conversations-sentiment-positive = Positivo
|
||||
analytics-conversations-sentiment-neutral = Neutro
|
||||
analytics-conversations-sentiment-negative = Negativo
|
||||
analytics-conversations-languages = Por Idioma
|
||||
analytics-conversations-sources = Por Origem
|
||||
|
||||
analytics-performance-title = Análises de Desempenho
|
||||
analytics-performance-uptime = Tempo de Atividade
|
||||
analytics-performance-availability = Disponibilidade
|
||||
analytics-performance-response-time = Tempo de Resposta
|
||||
analytics-performance-latency = Latência
|
||||
analytics-performance-throughput = Taxa de Transferência
|
||||
analytics-performance-error-rate = Taxa de Erros
|
||||
analytics-performance-cpu = Uso de CPU
|
||||
analytics-performance-memory = Uso de Memória
|
||||
analytics-performance-disk = Uso de Disco
|
||||
analytics-performance-network = E/S de Rede
|
||||
analytics-performance-requests = Requisições/seg
|
||||
analytics-performance-concurrent = Usuários Simultâneos
|
||||
analytics-performance-queue-size = Tamanho da Fila
|
||||
analytics-performance-cache-hit = Taxa de Acerto de Cache
|
||||
|
||||
analytics-api-title = Análises de API
|
||||
analytics-api-calls = Total de Chamadas de API
|
||||
analytics-api-success = Chamadas Bem-sucedidas
|
||||
analytics-api-errors = Chamadas com Falha
|
||||
analytics-api-avg-latency = Latência Média
|
||||
analytics-api-by-endpoint = Chamadas por Endpoint
|
||||
analytics-api-by-method = Chamadas por Método
|
||||
analytics-api-by-status = Chamadas por Código de Status
|
||||
analytics-api-rate-limited = Chamadas Limitadas por Taxa
|
||||
analytics-api-top-consumers = Principais Consumidores de API
|
||||
|
||||
analytics-llm-title = Análises de LLM
|
||||
analytics-llm-requests = Total de Requisições
|
||||
analytics-llm-tokens-input = Tokens de Entrada
|
||||
analytics-llm-tokens-output = Tokens de Saída
|
||||
analytics-llm-tokens-total = Total de Tokens
|
||||
analytics-llm-cost = Custo Estimado
|
||||
analytics-llm-avg-latency = Latência Média
|
||||
analytics-llm-by-model = Uso por Modelo
|
||||
analytics-llm-cache-hits = Acertos de Cache
|
||||
analytics-llm-cache-misses = Erros de Cache
|
||||
|
||||
analytics-storage-title = Análises de Armazenamento
|
||||
analytics-storage-total = Armazenamento Total
|
||||
analytics-storage-used = Armazenamento Usado
|
||||
analytics-storage-available = Armazenamento Disponível
|
||||
analytics-storage-by-type = Armazenamento por Tipo de Arquivo
|
||||
analytics-storage-by-tenant = Armazenamento por Inquilino
|
||||
analytics-storage-growth = Crescimento de Armazenamento
|
||||
analytics-storage-uploads = Total de Uploads
|
||||
analytics-storage-downloads = Total de Downloads
|
||||
|
||||
analytics-chart-line = Gráfico de Linha
|
||||
analytics-chart-bar = Gráfico de Barras
|
||||
analytics-chart-pie = Gráfico de Pizza
|
||||
analytics-chart-area = Gráfico de Área
|
||||
analytics-chart-donut = Gráfico de Rosca
|
||||
analytics-chart-table = Visualização em Tabela
|
||||
analytics-chart-heatmap = Mapa de Calor
|
||||
analytics-chart-no-data = Nenhum dado disponível para este período
|
||||
|
||||
analytics-comparison-previous = vs Período Anterior
|
||||
analytics-comparison-increase = aumento de { $value }%
|
||||
analytics-comparison-decrease = redução de { $value }%
|
||||
analytics-comparison-no-change = Sem alteração
|
||||
|
||||
analytics-filter-all = Todos
|
||||
analytics-filter-apply = Aplicar Filtros
|
||||
analytics-filter-clear = Limpar Filtros
|
||||
analytics-filter-by-bot = Filtrar por Bot
|
||||
analytics-filter-by-channel = Filtrar por Canal
|
||||
analytics-filter-by-user = Filtrar por Usuário
|
||||
analytics-filter-by-tenant = Filtrar por Inquilino
|
||||
|
||||
analytics-report-generate = Gerar Relatório
|
||||
analytics-report-schedule = Agendar Relatório
|
||||
analytics-report-download = Baixar Relatório
|
||||
analytics-report-email = Enviar Relatório por E-mail
|
||||
analytics-report-format-pdf = PDF
|
||||
analytics-report-format-csv = CSV
|
||||
analytics-report-format-excel = Excel
|
||||
analytics-report-format-json = JSON
|
||||
analytics-report-generating = Gerando relatório...
|
||||
analytics-report-ready = Relatório pronto para download
|
||||
analytics-report-failed = Falha ao gerar relatório
|
||||
|
||||
analytics-realtime = Análises em Tempo Real
|
||||
analytics-realtime-active = Ativos Agora
|
||||
analytics-realtime-conversations = Conversas Ativas
|
||||
analytics-realtime-users = Usuários Online
|
||||
analytics-realtime-requests = Requisições/min
|
||||
analytics-realtime-events = Eventos/seg
|
||||
256
locales/pt-BR/auth.ftl
Normal file
256
locales/pt-BR/auth.ftl
Normal file
|
|
@ -0,0 +1,256 @@
|
|||
# =============================================================================
|
||||
# General Bots - Authentication Translations (Portuguese - Brazil)
|
||||
# =============================================================================
|
||||
# Traduções de autenticação, Passkey/WebAuthn e segurança
|
||||
# =============================================================================
|
||||
|
||||
# -----------------------------------------------------------------------------
|
||||
# Authentication General
|
||||
# -----------------------------------------------------------------------------
|
||||
auth-title = Autenticação
|
||||
auth-login = Entrar
|
||||
auth-logout = Sair
|
||||
auth-signup = Cadastrar
|
||||
auth-welcome = Bem-vindo
|
||||
auth-welcome-back = Bem-vindo de volta, { $name }!
|
||||
auth-session-expired = Sua sessão expirou
|
||||
auth-session-timeout = Sessão expira em { $minutes } minutos
|
||||
|
||||
# -----------------------------------------------------------------------------
|
||||
# Login Form
|
||||
# -----------------------------------------------------------------------------
|
||||
auth-login-title = Entre na sua conta
|
||||
auth-login-subtitle = Digite suas credenciais para continuar
|
||||
auth-login-email = Endereço de E-mail
|
||||
auth-login-username = Nome de Usuário
|
||||
auth-login-password = Senha
|
||||
auth-login-remember = Lembrar-me
|
||||
auth-login-forgot = Esqueceu a senha?
|
||||
auth-login-submit = Entrar
|
||||
auth-login-loading = Entrando...
|
||||
auth-login-or = ou continue com
|
||||
auth-login-no-account = Não tem uma conta?
|
||||
auth-login-create-account = Criar uma conta
|
||||
|
||||
# -----------------------------------------------------------------------------
|
||||
# Passkey/WebAuthn
|
||||
# -----------------------------------------------------------------------------
|
||||
passkey-title = Chaves de Acesso
|
||||
passkey-subtitle = Autenticação segura sem senha
|
||||
passkey-description = Chaves de acesso usam a biometria ou PIN do seu dispositivo para login seguro e resistente a phishing
|
||||
passkey-what-is = O que é uma chave de acesso?
|
||||
passkey-benefits = Benefícios das chaves de acesso
|
||||
passkey-benefit-secure = Mais seguro que senhas
|
||||
passkey-benefit-easy = Fácil de usar - sem senhas para lembrar
|
||||
passkey-benefit-fast = Login rápido com biometria
|
||||
passkey-benefit-phishing = Resistente a ataques de phishing
|
||||
|
||||
# -----------------------------------------------------------------------------
|
||||
# Passkey Registration
|
||||
# -----------------------------------------------------------------------------
|
||||
passkey-register-title = Configurar Chave de Acesso
|
||||
passkey-register-subtitle = Crie uma chave de acesso para login mais rápido e seguro
|
||||
passkey-register-description = Seu dispositivo pedirá para verificar sua identidade usando impressão digital, rosto ou bloqueio de tela
|
||||
passkey-register-button = Criar Chave de Acesso
|
||||
passkey-register-name = Nome da Chave de Acesso
|
||||
passkey-register-name-placeholder = ex: MacBook Pro, iPhone
|
||||
passkey-register-name-hint = Dê um nome à sua chave de acesso para identificá-la depois
|
||||
passkey-register-loading = Configurando chave de acesso...
|
||||
passkey-register-verifying = Verificando com seu dispositivo...
|
||||
passkey-register-success = Chave de acesso criada com sucesso
|
||||
passkey-register-error = Falha ao criar chave de acesso
|
||||
passkey-register-cancelled = Configuração de chave de acesso cancelada
|
||||
passkey-register-not-supported = Seu navegador não suporta chaves de acesso
|
||||
|
||||
# -----------------------------------------------------------------------------
|
||||
# Passkey Authentication
|
||||
# -----------------------------------------------------------------------------
|
||||
passkey-login-title = Entrar com Chave de Acesso
|
||||
passkey-login-subtitle = Use sua chave de acesso para login seguro sem senha
|
||||
passkey-login-button = Entrar com Chave de Acesso
|
||||
passkey-login-loading = Autenticando...
|
||||
passkey-login-verifying = Verificando chave de acesso...
|
||||
passkey-login-success = Login realizado com sucesso
|
||||
passkey-login-error = Falha na autenticação
|
||||
passkey-login-cancelled = Autenticação cancelada
|
||||
passkey-login-no-passkeys = Nenhuma chave de acesso encontrada para esta conta
|
||||
passkey-login-try-another = Tentar outro método
|
||||
|
||||
# -----------------------------------------------------------------------------
|
||||
# Passkey Management
|
||||
# -----------------------------------------------------------------------------
|
||||
passkey-manage-title = Gerenciar Chaves de Acesso
|
||||
passkey-manage-subtitle = Visualize e gerencie suas chaves de acesso registradas
|
||||
passkey-manage-count = { $count ->
|
||||
[one] { $count } chave de acesso registrada
|
||||
*[other] { $count } chaves de acesso registradas
|
||||
}
|
||||
passkey-manage-add = Adicionar Nova Chave de Acesso
|
||||
passkey-manage-rename = Renomear
|
||||
passkey-manage-delete = Excluir
|
||||
passkey-manage-created = Criada em { $date }
|
||||
passkey-manage-last-used = Último uso em { $date }
|
||||
passkey-manage-never-used = Nunca usada
|
||||
passkey-manage-this-device = Este dispositivo
|
||||
passkey-manage-cross-platform = Multiplataforma
|
||||
passkey-manage-platform = Autenticador de plataforma
|
||||
passkey-manage-security-key = Chave de segurança
|
||||
passkey-manage-empty = Nenhuma chave de acesso registrada
|
||||
passkey-manage-empty-description = Adicione uma chave de acesso para login mais rápido e seguro
|
||||
|
||||
# -----------------------------------------------------------------------------
|
||||
# Passkey Deletion
|
||||
# -----------------------------------------------------------------------------
|
||||
passkey-delete-title = Excluir Chave de Acesso
|
||||
passkey-delete-confirm = Tem certeza de que deseja excluir esta chave de acesso?
|
||||
passkey-delete-warning = Você não poderá mais usar esta chave de acesso para entrar
|
||||
passkey-delete-last-warning = Esta é sua única chave de acesso. Você precisará usar autenticação por senha após excluí-la.
|
||||
passkey-delete-success = Chave de acesso excluída com sucesso
|
||||
passkey-delete-error = Falha ao excluir chave de acesso
|
||||
|
||||
# -----------------------------------------------------------------------------
|
||||
# Password Fallback
|
||||
# -----------------------------------------------------------------------------
|
||||
passkey-fallback-title = Usar Senha
|
||||
passkey-fallback-description = Se você não pode usar sua chave de acesso, pode entrar com sua senha
|
||||
passkey-fallback-button = Usar Senha
|
||||
passkey-fallback-or-passkey = Ou entre com chave de acesso
|
||||
passkey-fallback-setup-prompt = Configure uma chave de acesso para login mais rápido na próxima vez
|
||||
passkey-fallback-setup-later = Talvez depois
|
||||
passkey-fallback-setup-now = Configurar agora
|
||||
passkey-fallback-locked = Conta temporariamente bloqueada
|
||||
passkey-fallback-locked-description = Muitas tentativas falhas. Tente novamente em { $minutes } minutos.
|
||||
passkey-fallback-attempts = { $remaining } tentativas restantes
|
||||
|
||||
# -----------------------------------------------------------------------------
|
||||
# Multi-Factor Authentication
|
||||
# -----------------------------------------------------------------------------
|
||||
mfa-title = Autenticação de Dois Fatores
|
||||
mfa-subtitle = Adicione uma camada extra de segurança à sua conta
|
||||
mfa-enabled = Autenticação de dois fatores está ativada
|
||||
mfa-disabled = Autenticação de dois fatores está desativada
|
||||
mfa-enable = Ativar 2FA
|
||||
mfa-disable = Desativar 2FA
|
||||
mfa-setup = Configurar 2FA
|
||||
mfa-verify = Verificar Código
|
||||
mfa-code = Código de Verificação
|
||||
mfa-code-placeholder = Digite o código de 6 dígitos
|
||||
mfa-code-sent = Código enviado para { $destination }
|
||||
mfa-code-expired = O código expirou
|
||||
mfa-code-invalid = Código inválido
|
||||
mfa-resend = Reenviar código
|
||||
mfa-resend-in = Reenviar em { $seconds }s
|
||||
mfa-methods = Métodos de Autenticação
|
||||
mfa-method-app = Aplicativo Autenticador
|
||||
mfa-method-sms = SMS
|
||||
mfa-method-email = E-mail
|
||||
mfa-method-passkey = Chave de Acesso
|
||||
mfa-backup-codes = Códigos de Backup
|
||||
mfa-backup-codes-description = Guarde esses códigos em um lugar seguro. Cada código só pode ser usado uma vez.
|
||||
mfa-backup-codes-remaining = { $count } códigos de backup restantes
|
||||
mfa-backup-codes-generate = Gerar Novos Códigos
|
||||
mfa-backup-codes-download = Baixar Códigos
|
||||
mfa-backup-codes-copy = Copiar Códigos
|
||||
|
||||
# -----------------------------------------------------------------------------
|
||||
# Password Management
|
||||
# -----------------------------------------------------------------------------
|
||||
password-title = Senha
|
||||
password-change = Alterar Senha
|
||||
password-current = Senha Atual
|
||||
password-new = Nova Senha
|
||||
password-confirm = Confirmar Nova Senha
|
||||
password-requirements = Requisitos da Senha
|
||||
password-requirement-length = Pelo menos { $length } caracteres
|
||||
password-requirement-uppercase = Pelo menos uma letra maiúscula
|
||||
password-requirement-lowercase = Pelo menos uma letra minúscula
|
||||
password-requirement-number = Pelo menos um número
|
||||
password-requirement-special = Pelo menos um caractere especial
|
||||
password-strength = Força da Senha
|
||||
password-strength-weak = Fraca
|
||||
password-strength-fair = Razoável
|
||||
password-strength-good = Boa
|
||||
password-strength-strong = Forte
|
||||
password-match = As senhas coincidem
|
||||
password-mismatch = As senhas não coincidem
|
||||
password-changed = Senha alterada com sucesso
|
||||
password-change-error = Falha ao alterar senha
|
||||
|
||||
# -----------------------------------------------------------------------------
|
||||
# Password Reset
|
||||
# -----------------------------------------------------------------------------
|
||||
password-reset-title = Redefinir Senha
|
||||
password-reset-subtitle = Digite seu e-mail para receber um link de redefinição
|
||||
password-reset-email-sent = E-mail de redefinição de senha enviado
|
||||
password-reset-email-sent-description = Verifique seu e-mail para instruções de redefinição de senha
|
||||
password-reset-invalid-token = Link de redefinição inválido ou expirado
|
||||
password-reset-success = Senha redefinida com sucesso
|
||||
password-reset-error = Falha ao redefinir senha
|
||||
|
||||
# -----------------------------------------------------------------------------
|
||||
# Session Management
|
||||
# -----------------------------------------------------------------------------
|
||||
session-title = Sessões Ativas
|
||||
session-subtitle = Gerencie suas sessões ativas em diferentes dispositivos
|
||||
session-current = Sessão Atual
|
||||
session-device = Dispositivo
|
||||
session-location = Localização
|
||||
session-last-active = Última Atividade
|
||||
session-ip-address = Endereço IP
|
||||
session-browser = Navegador
|
||||
session-os = Sistema Operacional
|
||||
session-sign-out = Encerrar Sessão
|
||||
session-sign-out-all = Encerrar Todas as Outras Sessões
|
||||
session-sign-out-confirm = Tem certeza de que deseja encerrar esta sessão?
|
||||
session-sign-out-all-confirm = Tem certeza de que deseja encerrar todas as outras sessões?
|
||||
|
||||
# -----------------------------------------------------------------------------
|
||||
# Security Settings
|
||||
# -----------------------------------------------------------------------------
|
||||
security-title = Segurança
|
||||
security-subtitle = Gerencie as configurações de segurança da sua conta
|
||||
security-overview = Visão Geral de Segurança
|
||||
security-last-login = Último Login
|
||||
security-password-last-changed = Última Alteração de Senha
|
||||
security-security-checkup = Verificação de Segurança
|
||||
security-checkup-description = Revise suas configurações de segurança
|
||||
security-recommendation = Recomendação
|
||||
security-add-passkey = Adicione uma chave de acesso para login mais seguro
|
||||
security-enable-mfa = Ative a autenticação de dois fatores
|
||||
security-update-password = Atualize sua senha regularmente
|
||||
|
||||
# -----------------------------------------------------------------------------
|
||||
# Error Messages
|
||||
# -----------------------------------------------------------------------------
|
||||
auth-error-invalid-credentials = E-mail ou senha inválidos
|
||||
auth-error-account-locked = Conta bloqueada. Por favor, entre em contato com o suporte.
|
||||
auth-error-account-disabled = A conta foi desativada
|
||||
auth-error-email-not-verified = Por favor, verifique seu endereço de e-mail
|
||||
auth-error-too-many-attempts = Muitas tentativas falhas. Por favor, tente novamente mais tarde.
|
||||
auth-error-network = Erro de rede. Por favor, verifique sua conexão.
|
||||
auth-error-server = Erro do servidor. Por favor, tente novamente mais tarde.
|
||||
auth-error-unknown = Ocorreu um erro desconhecido
|
||||
auth-error-session-invalid = Sessão inválida. Por favor, entre novamente.
|
||||
auth-error-token-expired = Sua sessão expirou. Por favor, entre novamente.
|
||||
auth-error-unauthorized = Você não está autorizado a realizar esta ação
|
||||
|
||||
# -----------------------------------------------------------------------------
|
||||
# Success Messages
|
||||
# -----------------------------------------------------------------------------
|
||||
auth-success-login = Login realizado com sucesso
|
||||
auth-success-logout = Logout realizado com sucesso
|
||||
auth-success-signup = Conta criada com sucesso
|
||||
auth-success-password-changed = Senha alterada com sucesso
|
||||
auth-success-email-verified = E-mail verificado com sucesso
|
||||
auth-success-mfa-enabled = Autenticação de dois fatores ativada
|
||||
auth-success-mfa-disabled = Autenticação de dois fatores desativada
|
||||
auth-success-session-terminated = Sessão encerrada com sucesso
|
||||
|
||||
# -----------------------------------------------------------------------------
|
||||
# Notifications
|
||||
# -----------------------------------------------------------------------------
|
||||
auth-notify-new-login = Novo login de { $device } em { $location }
|
||||
auth-notify-password-changed = Sua senha foi alterada
|
||||
auth-notify-mfa-enabled = Autenticação de dois fatores foi ativada
|
||||
auth-notify-passkey-added = Nova chave de acesso foi adicionada à sua conta
|
||||
auth-notify-suspicious-activity = Atividade suspeita detectada em sua conta
|
||||
150
locales/pt-BR/bot-templates.ftl
Normal file
150
locales/pt-BR/bot-templates.ftl
Normal file
|
|
@ -0,0 +1,150 @@
|
|||
bot-greeting-default = Olá! Como posso ajudar você hoje?
|
||||
bot-greeting-named = Olá, { $name }! Como posso ajudar você hoje?
|
||||
bot-goodbye = Até logo! Tenha um ótimo dia!
|
||||
bot-help-prompt = Posso ajudar com: { $topics }. O que você gostaria de saber?
|
||||
bot-thank-you = Obrigado pela sua mensagem. Como posso ajudá-lo?
|
||||
bot-echo-intro = Bot Echo: Vou repetir tudo que você disser. Digite 'sair' para encerrar.
|
||||
bot-you-said = Você disse: { $message }
|
||||
bot-thinking = Deixe-me pensar sobre isso...
|
||||
bot-processing = Processando sua solicitação...
|
||||
bot-error-occurred = Desculpe, algo deu errado. Por favor, tente novamente.
|
||||
bot-not-understood = Não entendi. Você poderia reformular?
|
||||
bot-confirm-action = Tem certeza que deseja continuar?
|
||||
bot-action-cancelled = Ação cancelada.
|
||||
bot-action-completed = Pronto!
|
||||
|
||||
bot-lead-welcome = Bem-vindo! Deixe-me ajudá-lo a começar.
|
||||
bot-lead-ask-name = Qual é o seu nome?
|
||||
bot-lead-ask-email = E seu e-mail?
|
||||
bot-lead-ask-company = De qual empresa você é?
|
||||
bot-lead-ask-phone = Qual é o seu telefone?
|
||||
bot-lead-hot = Ótimo! Nossa equipe de vendas entrará em contato em breve.
|
||||
bot-lead-nurture = Obrigado pelo seu interesse! Enviaremos alguns materiais.
|
||||
bot-lead-score = Sua pontuação de lead é { $score } de 100.
|
||||
bot-lead-saved = Suas informações foram salvas com sucesso.
|
||||
|
||||
bot-schedule-created = Executando tarefa agendada: { $name }
|
||||
bot-schedule-next = Próxima execução agendada para { $datetime }
|
||||
bot-schedule-cancelled = Agendamento cancelado.
|
||||
bot-schedule-paused = Agendamento pausado.
|
||||
bot-schedule-resumed = Agendamento retomado.
|
||||
|
||||
bot-monitor-alert = Alerta: { $subject } foi alterado
|
||||
bot-monitor-threshold = { $metric } excedeu o limite: { $value }
|
||||
bot-monitor-recovered = { $subject } voltou ao normal.
|
||||
bot-monitor-status = Status atual: { $status }
|
||||
|
||||
bot-order-welcome = Bem-vindo à nossa loja! Como posso ajudar?
|
||||
bot-order-track = Rastrear meu pedido
|
||||
bot-order-browse = Ver produtos
|
||||
bot-order-support = Falar com suporte
|
||||
bot-order-enter-id = Por favor, digite o número do seu pedido:
|
||||
bot-order-status = Status do pedido: { $status }
|
||||
bot-order-shipped = Seu pedido foi enviado! Código de rastreamento: { $tracking }
|
||||
bot-order-delivered = Seu pedido foi entregue.
|
||||
bot-order-processing = Seu pedido está sendo processado.
|
||||
bot-order-cancelled = Seu pedido foi cancelado.
|
||||
bot-order-ticket = Ticket de suporte criado: #{ $ticket }
|
||||
bot-order-products-available = Aqui estão nossos produtos disponíveis:
|
||||
bot-order-product-item = { $name } - { $price }
|
||||
bot-order-cart-added = { $product } adicionado ao seu carrinho.
|
||||
bot-order-cart-total = O total do seu carrinho é { $total }.
|
||||
bot-order-checkout = Prosseguindo para o pagamento...
|
||||
|
||||
bot-hr-welcome = Assistente de RH aqui. Como posso ajudar?
|
||||
bot-hr-request-leave = Solicitar folga
|
||||
bot-hr-check-balance = Consultar saldo
|
||||
bot-hr-view-policies = Ver políticas
|
||||
bot-hr-leave-type = Qual tipo de folga? (férias/médica/pessoal)
|
||||
bot-hr-start-date = Data de início? (DD/MM/AAAA)
|
||||
bot-hr-end-date = Data de término? (DD/MM/AAAA)
|
||||
bot-hr-leave-submitted = Solicitação de folga enviada! Seu gestor irá revisar.
|
||||
bot-hr-leave-approved = Sua solicitação de folga foi aprovada.
|
||||
bot-hr-leave-rejected = Sua solicitação de folga foi rejeitada.
|
||||
bot-hr-leave-pending = Sua solicitação de folga está pendente de aprovação.
|
||||
bot-hr-balance-title = Seu saldo de folgas:
|
||||
bot-hr-vacation-days = Férias: { $days } dias
|
||||
bot-hr-sick-days = Licença médica: { $days } dias
|
||||
bot-hr-personal-days = Pessoal: { $days } dias
|
||||
bot-hr-policy-found = Aqui estão as informações da política solicitada:
|
||||
bot-hr-policy-not-found = Política não encontrada. Por favor, verifique o nome da política.
|
||||
|
||||
bot-health-welcome = Bem-vindo ao nosso centro de saúde. Como posso ajudar?
|
||||
bot-health-book = Agendar consulta
|
||||
bot-health-cancel = Cancelar consulta
|
||||
bot-health-view = Ver minhas consultas
|
||||
bot-health-reschedule = Reagendar consulta
|
||||
bot-health-type = Qual tipo de consulta? (clínica geral/especialista/laboratório)
|
||||
bot-health-doctor = Qual médico você prefere?
|
||||
bot-health-date = Qual data funciona melhor para você?
|
||||
bot-health-time = Qual horário você prefere?
|
||||
bot-health-confirmed = Sua consulta foi confirmada para { $datetime } com { $doctor }.
|
||||
bot-health-cancelled = Sua consulta foi cancelada.
|
||||
bot-health-rescheduled = Sua consulta foi reagendada para { $datetime }.
|
||||
bot-health-reminder = Lembrete: Você tem uma consulta em { $datetime }.
|
||||
bot-health-no-appointments = Você não tem consultas agendadas.
|
||||
bot-health-appointments-list = Suas próximas consultas:
|
||||
|
||||
bot-support-welcome = Como posso ajudá-lo hoje?
|
||||
bot-support-describe = Por favor, descreva seu problema:
|
||||
bot-support-category = Qual categoria melhor descreve seu problema?
|
||||
bot-support-priority = Qual a urgência deste problema?
|
||||
bot-support-ticket-created = Ticket de suporte #{ $ticket } foi criado.
|
||||
bot-support-ticket-status = Status do ticket #{ $ticket }: { $status }
|
||||
bot-support-ticket-updated = Seu ticket foi atualizado.
|
||||
bot-support-ticket-resolved = Seu ticket foi resolvido. Por favor, nos avise se precisar de mais ajuda.
|
||||
bot-support-transfer = Transferindo você para um atendente humano...
|
||||
bot-support-wait-time = Tempo estimado de espera: { $minutes } minutos.
|
||||
bot-support-agent-joined = O atendente { $name } entrou na conversa.
|
||||
|
||||
bot-survey-intro = Adoraríamos ouvir sua opinião!
|
||||
bot-survey-question = { $question }
|
||||
bot-survey-scale = Em uma escala de 1 a 10, como você avalia { $subject }?
|
||||
bot-survey-open = Por favor, compartilhe comentários adicionais:
|
||||
bot-survey-thanks = Obrigado pelo seu feedback!
|
||||
bot-survey-completed = Pesquisa concluída com sucesso.
|
||||
bot-survey-skip = Você pode pular esta pergunta se preferir.
|
||||
|
||||
bot-notification-new-message = Você tem uma nova mensagem de { $sender }.
|
||||
bot-notification-task-due = A tarefa "{ $task }" vence { $when }.
|
||||
bot-notification-reminder = Lembrete: { $message }
|
||||
bot-notification-update = Atualização: { $message }
|
||||
bot-notification-alert = Alerta: { $message }
|
||||
|
||||
bot-command-help = Comandos disponíveis:
|
||||
bot-command-unknown = Comando desconhecido. Digite 'ajuda' para ver os comandos disponíveis.
|
||||
bot-command-invalid = Sintaxe de comando inválida. Uso: { $usage }
|
||||
|
||||
bot-transfer-to-human = Transferindo você para um atendente humano. Por favor, aguarde...
|
||||
bot-transfer-complete = Você está agora conectado com { $agent }.
|
||||
bot-transfer-unavailable = Nenhum atendente disponível no momento. Por favor, tente novamente mais tarde.
|
||||
bot-transfer-queue-position = Você é o número { $position } na fila.
|
||||
|
||||
bot-auth-login-prompt = Por favor, insira suas credenciais para continuar.
|
||||
bot-auth-login-success = Login realizado com sucesso.
|
||||
bot-auth-login-failed = Falha no login. Por favor, verifique suas credenciais.
|
||||
bot-auth-logout-success = Logout realizado com sucesso.
|
||||
bot-auth-session-expired = Sua sessão expirou. Por favor, faça login novamente.
|
||||
|
||||
bot-file-upload-prompt = Por favor, envie seu arquivo.
|
||||
bot-file-upload-success = Arquivo "{ $filename }" enviado com sucesso.
|
||||
bot-file-upload-failed = Falha ao enviar arquivo. Por favor, tente novamente.
|
||||
bot-file-download-ready = Seu arquivo está pronto para download.
|
||||
bot-file-processing = Processando seu arquivo...
|
||||
|
||||
bot-payment-amount = O valor total é { $amount }.
|
||||
bot-payment-method = Por favor, selecione um método de pagamento.
|
||||
bot-payment-processing = Processando seu pagamento...
|
||||
bot-payment-success = Pagamento realizado com sucesso! ID da transação: { $transactionId }
|
||||
bot-payment-failed = Falha no pagamento. Por favor, tente novamente ou use outro método de pagamento.
|
||||
bot-payment-refund = Seu reembolso de { $amount } foi processado.
|
||||
|
||||
bot-subscription-active = Sua assinatura está ativa até { $endDate }.
|
||||
bot-subscription-expired = Sua assinatura expirou.
|
||||
bot-subscription-renew = Você gostaria de renovar sua assinatura?
|
||||
bot-subscription-upgraded = Sua assinatura foi atualizada para o plano { $plan }.
|
||||
bot-subscription-cancelled = Sua assinatura foi cancelada.
|
||||
|
||||
bot-feedback-positive = Obrigado pelo seu feedback positivo!
|
||||
bot-feedback-negative = Lamentamos saber disso. Como podemos melhorar?
|
||||
bot-feedback-rating = Você avaliou esta interação com { $rating } de 5.
|
||||
186
locales/pt-BR/channels.ftl
Normal file
186
locales/pt-BR/channels.ftl
Normal file
|
|
@ -0,0 +1,186 @@
|
|||
channel-web = Chat Web
|
||||
channel-whatsapp = WhatsApp
|
||||
channel-telegram = Telegram
|
||||
channel-slack = Slack
|
||||
channel-teams = Microsoft Teams
|
||||
channel-email = E-mail
|
||||
channel-sms = SMS
|
||||
channel-instagram = Instagram
|
||||
channel-messenger = Facebook Messenger
|
||||
channel-discord = Discord
|
||||
channel-voice = Voz
|
||||
channel-api = API
|
||||
|
||||
channel-status-connected = Conectado
|
||||
channel-status-disconnected = Desconectado
|
||||
channel-status-connecting = Conectando...
|
||||
channel-status-error = Erro de Conexão
|
||||
channel-status-pending = Configuração Pendente
|
||||
channel-status-active = Ativo
|
||||
channel-status-inactive = Inativo
|
||||
channel-status-suspended = Suspenso
|
||||
|
||||
channel-setup-title = Configuração de Canal
|
||||
channel-setup-description = Conecte seu bot a diferentes canais de comunicação
|
||||
channel-setup-select = Selecione um canal para configurar
|
||||
channel-setup-configure = Configurar Canal
|
||||
channel-setup-test = Testar Conexão
|
||||
channel-setup-save = Salvar Configuração
|
||||
channel-setup-cancel = Cancelar
|
||||
channel-setup-reset = Restaurar Padrões
|
||||
|
||||
channel-connect = Conectar
|
||||
channel-disconnect = Desconectar
|
||||
channel-reconnect = Reconectar
|
||||
channel-refresh = Atualizar Status
|
||||
channel-settings = Configurações do Canal
|
||||
channel-delete = Remover Canal
|
||||
channel-confirm-delete = Tem certeza que deseja remover este canal?
|
||||
channel-deleted = Canal removido com sucesso
|
||||
channel-saved = Configuração do canal salva
|
||||
|
||||
channel-whatsapp-phone = Número de Telefone
|
||||
channel-whatsapp-business-id = ID da Conta Business
|
||||
channel-whatsapp-api-key = Chave de API
|
||||
channel-whatsapp-webhook = URL do Webhook
|
||||
channel-whatsapp-verify-token = Token de Verificação
|
||||
channel-whatsapp-template = Template de Mensagem
|
||||
channel-whatsapp-templates = Templates de Mensagem
|
||||
channel-whatsapp-template-create = Criar Template
|
||||
channel-whatsapp-template-status = Status do Template
|
||||
channel-whatsapp-template-approved = Aprovado
|
||||
channel-whatsapp-template-pending = Aguardando Aprovação
|
||||
channel-whatsapp-template-rejected = Rejeitado
|
||||
channel-whatsapp-24h-window = Janela de mensagens de 24 horas
|
||||
channel-whatsapp-session-active = Sessão ativa
|
||||
channel-whatsapp-session-expired = Sessão expirada
|
||||
|
||||
channel-telegram-bot-token = Token do Bot
|
||||
channel-telegram-bot-username = Nome de Usuário do Bot
|
||||
channel-telegram-webhook = URL do Webhook
|
||||
channel-telegram-commands = Comandos do Bot
|
||||
channel-telegram-command-add = Adicionar Comando
|
||||
channel-telegram-command-name = Nome do Comando
|
||||
channel-telegram-command-description = Descrição
|
||||
channel-telegram-inline-mode = Modo Inline
|
||||
channel-telegram-group-privacy = Modo de Privacidade em Grupos
|
||||
|
||||
channel-slack-workspace = Workspace
|
||||
channel-slack-bot-token = Token do Bot
|
||||
channel-slack-signing-secret = Segredo de Assinatura
|
||||
channel-slack-app-id = ID do App
|
||||
channel-slack-channels = Canais
|
||||
channel-slack-channel-select = Selecionar Canais
|
||||
channel-slack-events = Assinaturas de Eventos
|
||||
channel-slack-slash-commands = Comandos Slash
|
||||
channel-slack-interactivity = Interatividade
|
||||
|
||||
channel-teams-tenant-id = ID do Tenant
|
||||
channel-teams-app-id = ID do Aplicativo
|
||||
channel-teams-app-secret = Segredo do Aplicativo
|
||||
channel-teams-bot-id = ID do Bot
|
||||
channel-teams-manifest = Manifesto do App
|
||||
channel-teams-publish = Publicar no Teams
|
||||
channel-teams-install = Instalar no Teams
|
||||
|
||||
channel-email-smtp-host = Host SMTP
|
||||
channel-email-smtp-port = Porta SMTP
|
||||
channel-email-smtp-user = Usuário SMTP
|
||||
channel-email-smtp-password = Senha SMTP
|
||||
channel-email-smtp-encryption = Criptografia
|
||||
channel-email-imap-host = Host IMAP
|
||||
channel-email-imap-port = Porta IMAP
|
||||
channel-email-from-name = Nome do Remetente
|
||||
channel-email-from-address = Endereço do Remetente
|
||||
channel-email-reply-to = Endereço de Resposta
|
||||
channel-email-signature = Assinatura de E-mail
|
||||
|
||||
channel-instagram-account = Conta do Instagram
|
||||
channel-instagram-page-id = ID da Página
|
||||
channel-instagram-access-token = Token de Acesso
|
||||
channel-instagram-business = Conta Business
|
||||
channel-instagram-comments = Respostas a Comentários
|
||||
channel-instagram-stories = Menções em Stories
|
||||
channel-instagram-dm = Mensagens Diretas
|
||||
|
||||
channel-messenger-page-id = ID da Página
|
||||
channel-messenger-app-id = ID do App
|
||||
channel-messenger-app-secret = Segredo do App
|
||||
channel-messenger-page-token = Token de Acesso da Página
|
||||
channel-messenger-verify-token = Token de Verificação
|
||||
channel-messenger-persistent-menu = Menu Persistente
|
||||
channel-messenger-get-started = Botão de Começar
|
||||
|
||||
channel-sms-provider = Provedor de SMS
|
||||
channel-sms-twilio = Twilio
|
||||
channel-sms-vonage = Vonage
|
||||
channel-sms-account-sid = Account SID
|
||||
channel-sms-auth-token = Token de Autenticação
|
||||
channel-sms-phone-number = Número de Telefone
|
||||
channel-sms-sender-id = ID do Remetente
|
||||
|
||||
channel-voice-provider = Provedor de Voz
|
||||
channel-voice-twilio = Twilio
|
||||
channel-voice-vonage = Vonage
|
||||
channel-voice-phone-number = Número de Telefone
|
||||
channel-voice-greeting = Saudação de Voz
|
||||
channel-voice-fallback = Mensagem de Fallback
|
||||
channel-voice-transcription = Ativar Transcrição
|
||||
channel-voice-recording = Ativar Gravação
|
||||
channel-voice-language = Idioma da Voz
|
||||
channel-voice-voice-type = Tipo de Voz
|
||||
|
||||
channel-discord-bot-token = Token do Bot
|
||||
channel-discord-client-id = ID do Cliente
|
||||
channel-discord-client-secret = Segredo do Cliente
|
||||
channel-discord-guild = Servidor (Guild)
|
||||
channel-discord-channels = Canais
|
||||
channel-discord-permissions = Permissões do Bot
|
||||
channel-discord-invite-url = URL de Convite
|
||||
|
||||
channel-api-endpoint = Endpoint da API
|
||||
channel-api-key = Chave de API
|
||||
channel-api-secret = Segredo da API
|
||||
channel-api-webhook = URL do Webhook
|
||||
channel-api-rate-limit = Limite de Taxa
|
||||
channel-api-documentation = Documentação da API
|
||||
|
||||
channel-widget-title = Widget Web
|
||||
channel-widget-position = Posição do Widget
|
||||
channel-widget-position-left = Inferior Esquerdo
|
||||
channel-widget-position-right = Inferior Direito
|
||||
channel-widget-color = Cor Principal
|
||||
channel-widget-header = Texto do Cabeçalho
|
||||
channel-widget-placeholder = Placeholder do Campo
|
||||
channel-widget-welcome = Mensagem de Boas-vindas
|
||||
channel-widget-avatar = Avatar do Bot
|
||||
channel-widget-bubble = Balão de Chat
|
||||
channel-widget-preview = Visualizar Widget
|
||||
channel-widget-embed-code = Código de Incorporação
|
||||
channel-widget-copy-code = Copiar Código
|
||||
channel-widget-code-copied = Código copiado para a área de transferência
|
||||
|
||||
channel-routing-title = Roteamento de Canais
|
||||
channel-routing-default = Canal Padrão
|
||||
channel-routing-rules = Regras de Roteamento
|
||||
channel-routing-add-rule = Adicionar Regra
|
||||
channel-routing-condition = Condição
|
||||
channel-routing-action = Ação
|
||||
channel-routing-priority = Prioridade
|
||||
channel-routing-fallback = Canal de Fallback
|
||||
|
||||
channel-analytics-messages = Mensagens
|
||||
channel-analytics-conversations = Conversas
|
||||
channel-analytics-users = Usuários Únicos
|
||||
channel-analytics-response-time = Tempo Médio de Resposta
|
||||
channel-analytics-satisfaction = Índice de Satisfação
|
||||
channel-analytics-by-channel = Análises por Canal
|
||||
|
||||
channel-error-connection = Falha ao conectar ao canal
|
||||
channel-error-authentication = Falha na autenticação
|
||||
channel-error-configuration = Configuração inválida
|
||||
channel-error-rate-limit = Limite de taxa excedido
|
||||
channel-error-webhook = Falha na verificação do webhook
|
||||
channel-error-permission = Permissões insuficientes
|
||||
channel-error-not-found = Canal não encontrado
|
||||
channel-error-already-exists = Canal já configurado
|
||||
347
locales/pt-BR/common.ftl
Normal file
347
locales/pt-BR/common.ftl
Normal file
|
|
@ -0,0 +1,347 @@
|
|||
# ============================================================================
|
||||
# General Bots - Traduções Comuns (Português Brasileiro)
|
||||
# ============================================================================
|
||||
# Este arquivo contém strings compartilhadas em todos os componentes GB.
|
||||
# Mantenha os IDs de mensagem em minúsculas com hífens: categoria-subcategoria-descritor
|
||||
# ============================================================================
|
||||
|
||||
# -----------------------------------------------------------------------------
|
||||
# Marca
|
||||
# -----------------------------------------------------------------------------
|
||||
app-name = General Bots
|
||||
app-tagline = Seu espaço de trabalho com inteligência artificial
|
||||
|
||||
# -----------------------------------------------------------------------------
|
||||
# Ações Comuns
|
||||
# -----------------------------------------------------------------------------
|
||||
action-save = Salvar
|
||||
action-cancel = Cancelar
|
||||
action-delete = Excluir
|
||||
action-edit = Editar
|
||||
action-close = Fechar
|
||||
action-confirm = Confirmar
|
||||
action-retry = Tentar novamente
|
||||
action-back = Voltar
|
||||
action-next = Próximo
|
||||
action-submit = Enviar
|
||||
action-search = Buscar
|
||||
action-refresh = Atualizar
|
||||
action-copy = Copiar
|
||||
action-paste = Colar
|
||||
action-undo = Desfazer
|
||||
action-redo = Refazer
|
||||
action-select = Selecionar
|
||||
action-select-all = Selecionar tudo
|
||||
action-clear = Limpar
|
||||
action-reset = Redefinir
|
||||
action-apply = Aplicar
|
||||
action-create = Criar
|
||||
action-update = Atualizar
|
||||
action-remove = Remover
|
||||
action-add = Adicionar
|
||||
action-upload = Enviar
|
||||
action-download = Baixar
|
||||
action-export = Exportar
|
||||
action-import = Importar
|
||||
action-share = Compartilhar
|
||||
action-send = Enviar
|
||||
action-reply = Responder
|
||||
action-forward = Encaminhar
|
||||
action-archive = Arquivar
|
||||
action-restore = Restaurar
|
||||
action-duplicate = Duplicar
|
||||
action-rename = Renomear
|
||||
action-move = Mover
|
||||
action-filter = Filtrar
|
||||
action-sort = Ordenar
|
||||
action-view = Visualizar
|
||||
action-hide = Ocultar
|
||||
action-show = Mostrar
|
||||
action-expand = Expandir
|
||||
action-collapse = Recolher
|
||||
action-enable = Ativar
|
||||
action-disable = Desativar
|
||||
action-connect = Conectar
|
||||
action-disconnect = Desconectar
|
||||
action-sync = Sincronizar
|
||||
action-start = Iniciar
|
||||
action-stop = Parar
|
||||
action-pause = Pausar
|
||||
action-resume = Continuar
|
||||
action-continue = Continuar
|
||||
action-finish = Finalizar
|
||||
action-complete = Concluir
|
||||
action-approve = Aprovar
|
||||
action-reject = Rejeitar
|
||||
action-accept = Aceitar
|
||||
action-decline = Recusar
|
||||
action-login = Entrar
|
||||
action-logout = Sair
|
||||
action-signup = Cadastrar-se
|
||||
action-forgot-password = Esqueci a senha
|
||||
|
||||
# -----------------------------------------------------------------------------
|
||||
# Rótulos Comuns
|
||||
# -----------------------------------------------------------------------------
|
||||
label-loading = Carregando...
|
||||
label-saving = Salvando...
|
||||
label-processing = Processando...
|
||||
label-searching = Buscando...
|
||||
label-uploading = Enviando...
|
||||
label-downloading = Baixando...
|
||||
label-no-results = Nenhum resultado encontrado
|
||||
label-no-data = Nenhum dado disponível
|
||||
label-empty = Vazio
|
||||
label-none = Nenhum
|
||||
label-all = Todos
|
||||
label-selected = Selecionado
|
||||
label-required = Obrigatório
|
||||
label-optional = Opcional
|
||||
label-default = Padrão
|
||||
label-custom = Personalizado
|
||||
label-new = Novo
|
||||
label-draft = Rascunho
|
||||
label-pending = Pendente
|
||||
label-active = Ativo
|
||||
label-inactive = Inativo
|
||||
label-enabled = Ativado
|
||||
label-disabled = Desativado
|
||||
label-public = Público
|
||||
label-private = Privado
|
||||
label-shared = Compartilhado
|
||||
label-yes = Sim
|
||||
label-no = Não
|
||||
label-on = Ligado
|
||||
label-off = Desligado
|
||||
label-true = Verdadeiro
|
||||
label-false = Falso
|
||||
label-unknown = Desconhecido
|
||||
label-other = Outro
|
||||
label-more = Mais
|
||||
label-less = Menos
|
||||
label-details = Detalhes
|
||||
label-summary = Resumo
|
||||
label-description = Descrição
|
||||
label-name = Nome
|
||||
label-title = Título
|
||||
label-type = Tipo
|
||||
label-status = Status
|
||||
label-priority = Prioridade
|
||||
label-date = Data
|
||||
label-time = Hora
|
||||
label-size = Tamanho
|
||||
label-count = Quantidade
|
||||
label-total = Total
|
||||
label-average = Média
|
||||
label-minimum = Mínimo
|
||||
label-maximum = Máximo
|
||||
label-version = Versão
|
||||
label-id = ID
|
||||
label-created = Criado
|
||||
label-updated = Atualizado
|
||||
label-modified = Modificado
|
||||
label-deleted = Excluído
|
||||
label-by = Por
|
||||
label-from = De
|
||||
label-to = Para
|
||||
label-at = Em
|
||||
label-in = Em
|
||||
label-of = De
|
||||
|
||||
# -----------------------------------------------------------------------------
|
||||
# Mensagens de Status
|
||||
# -----------------------------------------------------------------------------
|
||||
status-success = Sucesso
|
||||
status-error = Erro
|
||||
status-warning = Atenção
|
||||
status-info = Informação
|
||||
status-loading = Carregando
|
||||
status-complete = Concluído
|
||||
status-incomplete = Incompleto
|
||||
status-failed = Falhou
|
||||
status-cancelled = Cancelado
|
||||
status-pending = Pendente
|
||||
status-in-progress = Em andamento
|
||||
status-done = Feito
|
||||
status-ready = Pronto
|
||||
status-not-ready = Não pronto
|
||||
status-connected = Conectado
|
||||
status-disconnected = Desconectado
|
||||
status-online = Online
|
||||
status-offline = Offline
|
||||
status-available = Disponível
|
||||
status-unavailable = Indisponível
|
||||
status-busy = Ocupado
|
||||
status-away = Ausente
|
||||
|
||||
# -----------------------------------------------------------------------------
|
||||
# Diálogos de Confirmação
|
||||
# -----------------------------------------------------------------------------
|
||||
confirm-delete = Tem certeza que deseja excluir isto?
|
||||
confirm-delete-item = Tem certeza que deseja excluir "{ $name }"?
|
||||
confirm-delete-items = Tem certeza que deseja excluir { $count ->
|
||||
[one] este item
|
||||
*[other] estes { $count } itens
|
||||
}?
|
||||
confirm-discard-changes = Você tem alterações não salvas. Tem certeza que deseja descartá-las?
|
||||
confirm-logout = Tem certeza que deseja sair?
|
||||
confirm-cancel = Tem certeza que deseja cancelar?
|
||||
|
||||
# -----------------------------------------------------------------------------
|
||||
# Tempo e Datas
|
||||
# -----------------------------------------------------------------------------
|
||||
time-now = Agora mesmo
|
||||
time-seconds-ago = { $count ->
|
||||
[one] { $count } segundo atrás
|
||||
*[other] { $count } segundos atrás
|
||||
}
|
||||
time-minutes-ago = { $count ->
|
||||
[one] { $count } minuto atrás
|
||||
*[other] { $count } minutos atrás
|
||||
}
|
||||
time-hours-ago = { $count ->
|
||||
[one] { $count } hora atrás
|
||||
*[other] { $count } horas atrás
|
||||
}
|
||||
time-days-ago = { $count ->
|
||||
[one] { $count } dia atrás
|
||||
*[other] { $count } dias atrás
|
||||
}
|
||||
time-weeks-ago = { $count ->
|
||||
[one] { $count } semana atrás
|
||||
*[other] { $count } semanas atrás
|
||||
}
|
||||
time-months-ago = { $count ->
|
||||
[one] { $count } mês atrás
|
||||
*[other] { $count } meses atrás
|
||||
}
|
||||
time-years-ago = { $count ->
|
||||
[one] { $count } ano atrás
|
||||
*[other] { $count } anos atrás
|
||||
}
|
||||
time-in-seconds = { $count ->
|
||||
[one] em { $count } segundo
|
||||
*[other] em { $count } segundos
|
||||
}
|
||||
time-in-minutes = { $count ->
|
||||
[one] em { $count } minuto
|
||||
*[other] em { $count } minutos
|
||||
}
|
||||
time-in-hours = { $count ->
|
||||
[one] em { $count } hora
|
||||
*[other] em { $count } horas
|
||||
}
|
||||
time-in-days = { $count ->
|
||||
[one] em { $count } dia
|
||||
*[other] em { $count } dias
|
||||
}
|
||||
time-today = Hoje
|
||||
time-yesterday = Ontem
|
||||
time-tomorrow = Amanhã
|
||||
time-this-week = Esta semana
|
||||
time-last-week = Semana passada
|
||||
time-next-week = Próxima semana
|
||||
time-this-month = Este mês
|
||||
time-last-month = Mês passado
|
||||
time-next-month = Próximo mês
|
||||
time-this-year = Este ano
|
||||
time-last-year = Ano passado
|
||||
time-next-year = Próximo ano
|
||||
|
||||
# Dias da semana
|
||||
day-sunday = Domingo
|
||||
day-monday = Segunda-feira
|
||||
day-tuesday = Terça-feira
|
||||
day-wednesday = Quarta-feira
|
||||
day-thursday = Quinta-feira
|
||||
day-friday = Sexta-feira
|
||||
day-saturday = Sábado
|
||||
day-sun = Dom
|
||||
day-mon = Seg
|
||||
day-tue = Ter
|
||||
day-wed = Qua
|
||||
day-thu = Qui
|
||||
day-fri = Sex
|
||||
day-sat = Sáb
|
||||
|
||||
# Meses
|
||||
month-january = Janeiro
|
||||
month-february = Fevereiro
|
||||
month-march = Março
|
||||
month-april = Abril
|
||||
month-may = Maio
|
||||
month-june = Junho
|
||||
month-july = Julho
|
||||
month-august = Agosto
|
||||
month-september = Setembro
|
||||
month-october = Outubro
|
||||
month-november = Novembro
|
||||
month-december = Dezembro
|
||||
month-jan = Jan
|
||||
month-feb = Fev
|
||||
month-mar = Mar
|
||||
month-apr = Abr
|
||||
month-may-short = Mai
|
||||
month-jun = Jun
|
||||
month-jul = Jul
|
||||
month-aug = Ago
|
||||
month-sep = Set
|
||||
month-oct = Out
|
||||
month-nov = Nov
|
||||
month-dec = Dez
|
||||
|
||||
# -----------------------------------------------------------------------------
|
||||
# Tamanhos de Arquivo
|
||||
# -----------------------------------------------------------------------------
|
||||
size-bytes = { $value } B
|
||||
size-kilobytes = { $value } KB
|
||||
size-megabytes = { $value } MB
|
||||
size-gigabytes = { $value } GB
|
||||
size-terabytes = { $value } TB
|
||||
|
||||
# -----------------------------------------------------------------------------
|
||||
# Paginação
|
||||
# -----------------------------------------------------------------------------
|
||||
pagination-page = Página { $current } de { $total }
|
||||
pagination-showing = Exibindo { $start } a { $end } de { $total }
|
||||
pagination-items-per-page = Itens por página
|
||||
pagination-first = Primeira
|
||||
pagination-previous = Anterior
|
||||
pagination-next = Próxima
|
||||
pagination-last = Última
|
||||
pagination-go-to-page = Ir para página
|
||||
|
||||
# -----------------------------------------------------------------------------
|
||||
# Validação de Formulário
|
||||
# -----------------------------------------------------------------------------
|
||||
validation-required = Este campo é obrigatório
|
||||
validation-required-field = { $field } é obrigatório
|
||||
validation-email-invalid = Por favor, insira um endereço de e-mail válido
|
||||
validation-url-invalid = Por favor, insira uma URL válida
|
||||
validation-number-invalid = Por favor, insira um número válido
|
||||
validation-date-invalid = Por favor, insira uma data válida
|
||||
validation-min-length = Deve ter pelo menos { $min } caracteres
|
||||
validation-max-length = Deve ter no máximo { $max } caracteres
|
||||
validation-min-value = Deve ser pelo menos { $min }
|
||||
validation-max-value = Deve ser no máximo { $max }
|
||||
validation-pattern-mismatch = Formato inválido
|
||||
validation-passwords-mismatch = As senhas não coincidem
|
||||
validation-file-too-large = Arquivo muito grande. Tamanho máximo é { $max }
|
||||
validation-file-type-invalid = Tipo de arquivo inválido. Tipos permitidos: { $types }
|
||||
|
||||
# -----------------------------------------------------------------------------
|
||||
# Acessibilidade
|
||||
# -----------------------------------------------------------------------------
|
||||
a11y-skip-to-content = Pular para o conteúdo principal
|
||||
a11y-loading = Carregando, por favor aguarde
|
||||
a11y-menu-open = Abrir menu
|
||||
a11y-menu-close = Fechar menu
|
||||
a11y-expand = Expandir
|
||||
a11y-collapse = Recolher
|
||||
a11y-selected = Selecionado
|
||||
a11y-not-selected = Não selecionado
|
||||
a11y-required = Campo obrigatório
|
||||
a11y-error = Erro
|
||||
a11y-success = Sucesso
|
||||
a11y-warning = Atenção
|
||||
a11y-info = Informação
|
||||
301
locales/pt-BR/contacts.ftl
Normal file
301
locales/pt-BR/contacts.ftl
Normal file
|
|
@ -0,0 +1,301 @@
|
|||
# =============================================================================
|
||||
# General Bots - Contacts Translations (Portuguese - Brazil)
|
||||
# =============================================================================
|
||||
# Traduções da interface de gerenciamento de contatos
|
||||
# =============================================================================
|
||||
|
||||
# -----------------------------------------------------------------------------
|
||||
# Navigation & Headers
|
||||
# -----------------------------------------------------------------------------
|
||||
contacts-title = Contatos
|
||||
contacts-subtitle = Gerencie seus contatos e relacionamentos
|
||||
contacts-nav-all = Todos os Contatos
|
||||
contacts-nav-favorites = Favoritos
|
||||
contacts-nav-recent = Adicionados Recentemente
|
||||
contacts-nav-groups = Grupos
|
||||
contacts-nav-tags = Tags
|
||||
|
||||
# -----------------------------------------------------------------------------
|
||||
# Views & Filters
|
||||
# -----------------------------------------------------------------------------
|
||||
contacts-view-list = Visualização em Lista
|
||||
contacts-view-grid = Visualização em Grade
|
||||
contacts-filter-all = Todos
|
||||
contacts-filter-active = Ativos
|
||||
contacts-filter-inactive = Inativos
|
||||
contacts-filter-leads = Leads
|
||||
contacts-filter-customers = Clientes
|
||||
contacts-filter-prospects = Prospects
|
||||
contacts-filter-archived = Arquivados
|
||||
contacts-search-placeholder = Pesquisar contatos...
|
||||
contacts-sort-name = Ordenar por Nome
|
||||
contacts-sort-company = Ordenar por Empresa
|
||||
contacts-sort-recent = Ordenar por Recentes
|
||||
contacts-sort-created = Ordenar por Criação
|
||||
|
||||
# -----------------------------------------------------------------------------
|
||||
# Contact Fields
|
||||
# -----------------------------------------------------------------------------
|
||||
contacts-field-first-name = Nome
|
||||
contacts-field-last-name = Sobrenome
|
||||
contacts-field-email = E-mail
|
||||
contacts-field-phone = Telefone
|
||||
contacts-field-mobile = Celular
|
||||
contacts-field-company = Empresa
|
||||
contacts-field-job-title = Cargo
|
||||
contacts-field-department = Departamento
|
||||
contacts-field-website = Website
|
||||
contacts-field-linkedin = LinkedIn
|
||||
contacts-field-twitter = Twitter
|
||||
contacts-field-address = Endereço
|
||||
contacts-field-city = Cidade
|
||||
contacts-field-state = Estado
|
||||
contacts-field-postal-code = CEP
|
||||
contacts-field-country = País
|
||||
contacts-field-notes = Observações
|
||||
contacts-field-tags = Tags
|
||||
contacts-field-source = Origem
|
||||
contacts-field-status = Status
|
||||
contacts-field-last-contacted = Último Contato
|
||||
contacts-field-created-at = Criado em
|
||||
contacts-field-updated-at = Atualizado em
|
||||
|
||||
# -----------------------------------------------------------------------------
|
||||
# Contact Status
|
||||
# -----------------------------------------------------------------------------
|
||||
contacts-status-active = Ativo
|
||||
contacts-status-inactive = Inativo
|
||||
contacts-status-lead = Lead
|
||||
contacts-status-customer = Cliente
|
||||
contacts-status-prospect = Prospect
|
||||
contacts-status-archived = Arquivado
|
||||
|
||||
# -----------------------------------------------------------------------------
|
||||
# Contact Source
|
||||
# -----------------------------------------------------------------------------
|
||||
contacts-source-manual = Entrada Manual
|
||||
contacts-source-import = Importação
|
||||
contacts-source-webform = Formulário Web
|
||||
contacts-source-api = API
|
||||
contacts-source-email = E-mail
|
||||
contacts-source-meeting = Reunião
|
||||
contacts-source-referral = Indicação
|
||||
contacts-source-social = Redes Sociais
|
||||
|
||||
# -----------------------------------------------------------------------------
|
||||
# Actions
|
||||
# -----------------------------------------------------------------------------
|
||||
contacts-action-add = Adicionar Contato
|
||||
contacts-action-edit = Editar Contato
|
||||
contacts-action-delete = Excluir Contato
|
||||
contacts-action-archive = Arquivar Contato
|
||||
contacts-action-restore = Restaurar Contato
|
||||
contacts-action-favorite = Adicionar aos Favoritos
|
||||
contacts-action-unfavorite = Remover dos Favoritos
|
||||
contacts-action-export = Exportar Contatos
|
||||
contacts-action-import = Importar Contatos
|
||||
contacts-action-merge = Mesclar Contatos
|
||||
contacts-action-send-email = Enviar E-mail
|
||||
contacts-action-schedule-meeting = Agendar Reunião
|
||||
contacts-action-create-task = Criar Tarefa
|
||||
contacts-action-add-note = Adicionar Observação
|
||||
contacts-action-add-tag = Adicionar Tag
|
||||
contacts-action-remove-tag = Remover Tag
|
||||
|
||||
# -----------------------------------------------------------------------------
|
||||
# Bulk Actions
|
||||
# -----------------------------------------------------------------------------
|
||||
contacts-bulk-selected = { $count } contatos selecionados
|
||||
contacts-bulk-delete = Excluir Selecionados
|
||||
contacts-bulk-archive = Arquivar Selecionados
|
||||
contacts-bulk-add-tag = Adicionar Tag aos Selecionados
|
||||
contacts-bulk-remove-tag = Remover Tag dos Selecionados
|
||||
contacts-bulk-add-to-group = Adicionar ao Grupo
|
||||
contacts-bulk-remove-from-group = Remover do Grupo
|
||||
contacts-bulk-export = Exportar Selecionados
|
||||
contacts-bulk-change-status = Alterar Status
|
||||
|
||||
# -----------------------------------------------------------------------------
|
||||
# Groups
|
||||
# -----------------------------------------------------------------------------
|
||||
contacts-groups-title = Grupos de Contatos
|
||||
contacts-groups-create = Criar Grupo
|
||||
contacts-groups-edit = Editar Grupo
|
||||
contacts-groups-delete = Excluir Grupo
|
||||
contacts-groups-name = Nome do Grupo
|
||||
contacts-groups-description = Descrição
|
||||
contacts-groups-color = Cor
|
||||
contacts-groups-members = { $count } membros
|
||||
contacts-groups-add-members = Adicionar Membros
|
||||
contacts-groups-remove-members = Remover Membros
|
||||
|
||||
# -----------------------------------------------------------------------------
|
||||
# Import/Export
|
||||
# -----------------------------------------------------------------------------
|
||||
contacts-import-title = Importar Contatos
|
||||
contacts-import-description = Envie um arquivo para importar contatos
|
||||
contacts-import-format-csv = Arquivo CSV
|
||||
contacts-import-format-vcard = Arquivo vCard
|
||||
contacts-import-format-json = Arquivo JSON
|
||||
contacts-import-drop-zone = Arraste e solte seu arquivo aqui, ou clique para procurar
|
||||
contacts-import-mapping = Mapeamento de Campos
|
||||
contacts-import-preview = Pré-visualização
|
||||
contacts-import-skip-duplicates = Ignorar entradas duplicadas
|
||||
contacts-import-update-existing = Atualizar contatos existentes
|
||||
contacts-import-success = { $count } contatos importados com sucesso
|
||||
contacts-import-errors = { $count } erros durante a importação
|
||||
|
||||
contacts-export-title = Exportar Contatos
|
||||
contacts-export-description = Baixe seus contatos
|
||||
contacts-export-format = Formato de Exportação
|
||||
contacts-export-all = Exportar Todos os Contatos
|
||||
contacts-export-selected = Exportar Selecionados
|
||||
contacts-export-group = Exportar Grupo
|
||||
contacts-export-include-custom = Incluir Campos Personalizados
|
||||
contacts-export-success = { $count } contatos exportados com sucesso
|
||||
|
||||
# -----------------------------------------------------------------------------
|
||||
# Detail Panel
|
||||
# -----------------------------------------------------------------------------
|
||||
contacts-detail-title = Detalhes do Contato
|
||||
contacts-detail-info = Informações
|
||||
contacts-detail-activity = Atividade
|
||||
contacts-detail-notes = Observações
|
||||
contacts-detail-tasks = Tarefas
|
||||
contacts-detail-events = Eventos
|
||||
contacts-detail-files = Arquivos
|
||||
contacts-detail-history = Histórico
|
||||
|
||||
# -----------------------------------------------------------------------------
|
||||
# Activity Types
|
||||
# -----------------------------------------------------------------------------
|
||||
contacts-activity-email = E-mail
|
||||
contacts-activity-call = Ligação
|
||||
contacts-activity-meeting = Reunião
|
||||
contacts-activity-task = Tarefa
|
||||
contacts-activity-note = Observação
|
||||
contacts-activity-status-change = Status Alterado
|
||||
contacts-activity-created = Contato Criado
|
||||
contacts-activity-updated = Contato Atualizado
|
||||
contacts-activity-imported = Contato Importado
|
||||
|
||||
# -----------------------------------------------------------------------------
|
||||
# Quick Actions
|
||||
# -----------------------------------------------------------------------------
|
||||
contacts-quick-email = E-mail
|
||||
contacts-quick-call = Ligar
|
||||
contacts-quick-meeting = Reunião
|
||||
contacts-quick-task = Tarefa
|
||||
|
||||
# -----------------------------------------------------------------------------
|
||||
# Calendar Integration
|
||||
# -----------------------------------------------------------------------------
|
||||
contacts-calendar-link = Vincular ao Evento
|
||||
contacts-calendar-unlink = Desvincular do Evento
|
||||
contacts-calendar-events = Eventos Relacionados
|
||||
contacts-calendar-upcoming = Próximos Eventos
|
||||
contacts-calendar-past = Eventos Passados
|
||||
contacts-calendar-role = Função
|
||||
contacts-calendar-role-attendee = Participante
|
||||
contacts-calendar-role-organizer = Organizador
|
||||
contacts-calendar-role-optional = Opcional
|
||||
contacts-calendar-role-speaker = Palestrante
|
||||
contacts-calendar-role-host = Anfitrião
|
||||
contacts-calendar-response = Status de Resposta
|
||||
contacts-calendar-response-accepted = Aceito
|
||||
contacts-calendar-response-declined = Recusado
|
||||
contacts-calendar-response-tentative = Tentativa
|
||||
contacts-calendar-response-pending = Pendente
|
||||
|
||||
# -----------------------------------------------------------------------------
|
||||
# Tasks Integration
|
||||
# -----------------------------------------------------------------------------
|
||||
contacts-tasks-assign = Atribuir à Tarefa
|
||||
contacts-tasks-unassign = Desatribuir da Tarefa
|
||||
contacts-tasks-related = Tarefas Relacionadas
|
||||
contacts-tasks-active = Tarefas Ativas
|
||||
contacts-tasks-completed = Tarefas Concluídas
|
||||
contacts-tasks-overdue = Tarefas Atrasadas
|
||||
contacts-tasks-role = Função
|
||||
contacts-tasks-role-assignee = Responsável
|
||||
contacts-tasks-role-reviewer = Revisor
|
||||
contacts-tasks-role-stakeholder = Parte Interessada
|
||||
contacts-tasks-role-collaborator = Colaborador
|
||||
contacts-tasks-role-client = Cliente
|
||||
contacts-tasks-role-approver = Aprovador
|
||||
contacts-tasks-workload = Carga de Trabalho
|
||||
contacts-tasks-workload-low = Baixa
|
||||
contacts-tasks-workload-medium = Média
|
||||
contacts-tasks-workload-high = Alta
|
||||
contacts-tasks-workload-overloaded = Sobrecarregado
|
||||
|
||||
# -----------------------------------------------------------------------------
|
||||
# External Sync
|
||||
# -----------------------------------------------------------------------------
|
||||
contacts-sync-title = Sincronização de Agenda
|
||||
contacts-sync-description = Sincronize com agendas externas
|
||||
contacts-sync-google = Google Contatos
|
||||
contacts-sync-microsoft = Microsoft People
|
||||
contacts-sync-apple = Contatos Apple
|
||||
contacts-sync-carddav = Servidor CardDAV
|
||||
contacts-sync-connect = Conectar Conta
|
||||
contacts-sync-disconnect = Desconectar
|
||||
contacts-sync-connected = Conectado
|
||||
contacts-sync-last-sync = Última sincronização { $time }
|
||||
contacts-sync-in-progress = Sincronização em andamento...
|
||||
contacts-sync-success = Sincronização concluída com sucesso
|
||||
contacts-sync-error = Falha na sincronização
|
||||
contacts-sync-direction = Direção da Sincronização
|
||||
contacts-sync-direction-two-way = Sincronização Bidirecional
|
||||
contacts-sync-direction-import = Apenas Importar
|
||||
contacts-sync-direction-export = Apenas Exportar
|
||||
contacts-sync-conflicts = { $count } conflitos detectados
|
||||
contacts-sync-resolve = Resolver Conflitos
|
||||
contacts-sync-keep-local = Manter Local
|
||||
contacts-sync-keep-remote = Manter Remoto
|
||||
contacts-sync-merge = Mesclar Ambos
|
||||
|
||||
# -----------------------------------------------------------------------------
|
||||
# Empty States
|
||||
# -----------------------------------------------------------------------------
|
||||
contacts-empty-title = Nenhum contato ainda
|
||||
contacts-empty-description = Adicione seu primeiro contato para começar
|
||||
contacts-empty-action = Adicionar Contato
|
||||
contacts-empty-search = Nenhum contato corresponde à sua pesquisa
|
||||
contacts-empty-filter = Nenhum contato corresponde ao filtro selecionado
|
||||
contacts-empty-group = Este grupo não tem membros
|
||||
|
||||
# -----------------------------------------------------------------------------
|
||||
# Confirmations
|
||||
# -----------------------------------------------------------------------------
|
||||
contacts-confirm-delete = Tem certeza de que deseja excluir este contato?
|
||||
contacts-confirm-delete-bulk = Tem certeza de que deseja excluir { $count } contatos?
|
||||
contacts-confirm-archive = Tem certeza de que deseja arquivar este contato?
|
||||
contacts-confirm-merge = Tem certeza de que deseja mesclar estes contatos?
|
||||
contacts-confirm-disconnect = Tem certeza de que deseja desconectar esta conta?
|
||||
|
||||
# -----------------------------------------------------------------------------
|
||||
# Success Messages
|
||||
# -----------------------------------------------------------------------------
|
||||
contacts-success-created = Contato criado com sucesso
|
||||
contacts-success-updated = Contato atualizado com sucesso
|
||||
contacts-success-deleted = Contato excluído com sucesso
|
||||
contacts-success-archived = Contato arquivado com sucesso
|
||||
contacts-success-restored = Contato restaurado com sucesso
|
||||
contacts-success-merged = Contatos mesclados com sucesso
|
||||
contacts-success-imported = Contatos importados com sucesso
|
||||
contacts-success-exported = Contatos exportados com sucesso
|
||||
|
||||
# -----------------------------------------------------------------------------
|
||||
# Error Messages
|
||||
# -----------------------------------------------------------------------------
|
||||
contacts-error-create = Falha ao criar contato
|
||||
contacts-error-update = Falha ao atualizar contato
|
||||
contacts-error-delete = Falha ao excluir contato
|
||||
contacts-error-import = Falha ao importar contatos
|
||||
contacts-error-export = Falha ao exportar contatos
|
||||
contacts-error-sync = Falha na sincronização
|
||||
contacts-error-duplicate = Já existe um contato com este e-mail
|
||||
contacts-error-required = Este campo é obrigatório
|
||||
contacts-error-invalid-email = Por favor, insira um endereço de e-mail válido
|
||||
contacts-error-invalid-phone = Por favor, insira um número de telefone válido
|
||||
165
locales/pt-BR/errors.ftl
Normal file
165
locales/pt-BR/errors.ftl
Normal file
|
|
@ -0,0 +1,165 @@
|
|||
# General Bots - Mensagens de Erro (Português Brasileiro)
|
||||
# Este arquivo contém todas as traduções de mensagens de erro
|
||||
|
||||
# =============================================================================
|
||||
# Erros HTTP
|
||||
# =============================================================================
|
||||
|
||||
error-http-400 = Requisição inválida. Por favor, verifique seus dados.
|
||||
error-http-401 = Autenticação necessária. Por favor, faça login.
|
||||
error-http-403 = Você não tem permissão para acessar este recurso.
|
||||
error-http-404 = { $entity } não encontrado.
|
||||
error-http-409 = Conflito: { $message }
|
||||
error-http-429 = Muitas requisições. Por favor, aguarde { $seconds } segundos.
|
||||
error-http-500 = Erro interno do servidor. Por favor, tente novamente mais tarde.
|
||||
error-http-502 = Gateway inválido. O servidor recebeu uma resposta inválida.
|
||||
error-http-503 = Serviço temporariamente indisponível. Por favor, tente novamente mais tarde.
|
||||
error-http-504 = Tempo limite da requisição excedido após { $milliseconds }ms.
|
||||
|
||||
# =============================================================================
|
||||
# Erros de Validação
|
||||
# =============================================================================
|
||||
|
||||
error-validation-required = { $field } é obrigatório.
|
||||
error-validation-email = Por favor, insira um endereço de e-mail válido.
|
||||
error-validation-url = Por favor, insira uma URL válida.
|
||||
error-validation-phone = Por favor, insira um número de telefone válido.
|
||||
error-validation-min-length = { $field } deve ter pelo menos { $min } caracteres.
|
||||
error-validation-max-length = { $field } deve ter no máximo { $max } caracteres.
|
||||
error-validation-min-value = { $field } deve ser pelo menos { $min }.
|
||||
error-validation-max-value = { $field } deve ser no máximo { $max }.
|
||||
error-validation-pattern = O formato de { $field } é inválido.
|
||||
error-validation-unique = { $field } já existe.
|
||||
error-validation-mismatch = { $field } não corresponde a { $other }.
|
||||
error-validation-date-format = Por favor, insira uma data válida no formato { $format }.
|
||||
error-validation-date-past = { $field } deve estar no passado.
|
||||
error-validation-date-future = { $field } deve estar no futuro.
|
||||
|
||||
# =============================================================================
|
||||
# Erros de Autenticação
|
||||
# =============================================================================
|
||||
|
||||
error-auth-invalid-credentials = E-mail ou senha inválidos.
|
||||
error-auth-account-locked = Sua conta foi bloqueada. Por favor, entre em contato com o suporte.
|
||||
error-auth-account-disabled = Sua conta foi desativada.
|
||||
error-auth-session-expired = Sua sessão expirou. Por favor, faça login novamente.
|
||||
error-auth-token-invalid = Token inválido ou expirado.
|
||||
error-auth-token-missing = Token de autenticação é obrigatório.
|
||||
error-auth-mfa-required = Autenticação de dois fatores é obrigatória.
|
||||
error-auth-mfa-invalid = Código de verificação inválido.
|
||||
error-auth-password-weak = A senha é muito fraca. Por favor, use uma senha mais forte.
|
||||
error-auth-password-expired = Sua senha expirou. Por favor, redefina-a.
|
||||
|
||||
# =============================================================================
|
||||
# Erros de Configuração
|
||||
# =============================================================================
|
||||
|
||||
error-config = Erro de configuração: { $message }
|
||||
error-config-missing = Configuração ausente: { $key }
|
||||
error-config-invalid = Valor de configuração inválido para { $key }: { $reason }
|
||||
error-config-file-not-found = Arquivo de configuração não encontrado: { $path }
|
||||
error-config-parse = Falha ao analisar configuração: { $message }
|
||||
|
||||
# =============================================================================
|
||||
# Erros de Banco de Dados
|
||||
# =============================================================================
|
||||
|
||||
error-database = Erro de banco de dados: { $message }
|
||||
error-database-connection = Falha ao conectar ao banco de dados.
|
||||
error-database-timeout = Operação do banco de dados expirou.
|
||||
error-database-constraint = Violação de restrição do banco de dados: { $constraint }
|
||||
error-database-duplicate = Um registro com este { $field } já existe.
|
||||
error-database-migration = Migração do banco de dados falhou: { $message }
|
||||
|
||||
# =============================================================================
|
||||
# Erros de Arquivo e Armazenamento
|
||||
# =============================================================================
|
||||
|
||||
error-file-not-found = Arquivo não encontrado: { $filename }
|
||||
error-file-too-large = Arquivo muito grande. Tamanho máximo é { $maxSize }.
|
||||
error-file-type-not-allowed = Tipo de arquivo não permitido. Tipos permitidos: { $allowedTypes }.
|
||||
error-file-upload-failed = Falha no envio do arquivo: { $message }
|
||||
error-file-read = Falha ao ler arquivo: { $message }
|
||||
error-file-write = Falha ao escrever arquivo: { $message }
|
||||
error-storage-full = Cota de armazenamento excedida.
|
||||
error-storage-unavailable = Serviço de armazenamento indisponível.
|
||||
|
||||
# =============================================================================
|
||||
# Erros de Rede e Serviços Externos
|
||||
# =============================================================================
|
||||
|
||||
error-network = Erro de rede: { $message }
|
||||
error-network-timeout = Conexão expirou.
|
||||
error-network-unreachable = Servidor inacessível.
|
||||
error-service-unavailable = Serviço indisponível: { $service }
|
||||
error-external-api = Erro de API externa: { $message }
|
||||
error-rate-limit = Limite de requisições excedido. Tente novamente após { $seconds }s.
|
||||
|
||||
# =============================================================================
|
||||
# Erros de Bot e Diálogo
|
||||
# =============================================================================
|
||||
|
||||
error-bot-not-found = Bot não encontrado: { $botId }
|
||||
error-bot-disabled = Este bot está desativado no momento.
|
||||
error-bot-script-error = Erro de script na linha { $line }: { $message }
|
||||
error-bot-timeout = Tempo de resposta do bot expirou.
|
||||
error-bot-quota-exceeded = Cota de uso do bot excedida.
|
||||
error-dialog-not-found = Diálogo não encontrado: { $dialogId }
|
||||
error-dialog-invalid = Configuração de diálogo inválida: { $message }
|
||||
|
||||
# =============================================================================
|
||||
# Erros de LLM e IA
|
||||
# =============================================================================
|
||||
|
||||
error-llm-unavailable = Serviço de IA está indisponível no momento.
|
||||
error-llm-timeout = Tempo limite da requisição de IA expirou.
|
||||
error-llm-rate-limit = Limite de requisições de IA excedido. Por favor, aguarde antes de tentar novamente.
|
||||
error-llm-content-filter = Conteúdo foi filtrado pelas diretrizes de segurança.
|
||||
error-llm-context-length = Entrada muito longa. Por favor, encurte sua mensagem.
|
||||
error-llm-invalid-response = Resposta inválida recebida do serviço de IA.
|
||||
|
||||
# =============================================================================
|
||||
# Erros de E-mail
|
||||
# =============================================================================
|
||||
|
||||
error-email-send-failed = Falha ao enviar e-mail: { $message }
|
||||
error-email-invalid-recipient = Endereço de e-mail do destinatário inválido: { $email }
|
||||
error-email-attachment-failed = Falha ao anexar arquivo: { $filename }
|
||||
error-email-template-not-found = Modelo de e-mail não encontrado: { $template }
|
||||
|
||||
# =============================================================================
|
||||
# Erros de Calendário e Agendamento
|
||||
# =============================================================================
|
||||
|
||||
error-calendar-conflict = Horário conflita com evento existente.
|
||||
error-calendar-past-date = Não é possível agendar eventos no passado.
|
||||
error-calendar-invalid-recurrence = Padrão de recorrência inválido.
|
||||
error-calendar-event-not-found = Evento não encontrado: { $eventId }
|
||||
|
||||
# =============================================================================
|
||||
# Erros de Tarefa
|
||||
# =============================================================================
|
||||
|
||||
error-task-not-found = Tarefa não encontrada: { $taskId }
|
||||
error-task-already-completed = A tarefa já foi concluída.
|
||||
error-task-circular-dependency = Dependência circular detectada nas tarefas.
|
||||
error-task-invalid-status = Transição de status de tarefa inválida.
|
||||
|
||||
# =============================================================================
|
||||
# Erros de Permissão
|
||||
# =============================================================================
|
||||
|
||||
error-permission-denied = Você não tem permissão para realizar esta ação.
|
||||
error-permission-resource = Você não tem acesso a este { $resource }.
|
||||
error-permission-action = Você não pode { $action } este { $resource }.
|
||||
error-permission-owner-only = Apenas o proprietário pode realizar esta ação.
|
||||
|
||||
# =============================================================================
|
||||
# Erros Genéricos
|
||||
# =============================================================================
|
||||
|
||||
error-internal = Erro interno: { $message }
|
||||
error-unexpected = Ocorreu um erro inesperado. Por favor, tente novamente.
|
||||
error-not-implemented = Este recurso ainda não foi implementado.
|
||||
error-maintenance = Sistema em manutenção. Por favor, tente novamente mais tarde.
|
||||
error-unknown = Ocorreu um erro desconhecido.
|
||||
127
locales/pt-BR/notifications.ftl
Normal file
127
locales/pt-BR/notifications.ftl
Normal file
|
|
@ -0,0 +1,127 @@
|
|||
notification-title-new-message = Nova Mensagem
|
||||
notification-title-task-due = Tarefa Vencendo
|
||||
notification-title-task-assigned = Tarefa Atribuída
|
||||
notification-title-task-completed = Tarefa Concluída
|
||||
notification-title-meeting-reminder = Lembrete de Reunião
|
||||
notification-title-meeting-started = Reunião Iniciada
|
||||
notification-title-file-shared = Arquivo Compartilhado
|
||||
notification-title-file-uploaded = Arquivo Enviado
|
||||
notification-title-comment-added = Novo Comentário
|
||||
notification-title-mention = Você foi mencionado
|
||||
notification-title-system = Notificação do Sistema
|
||||
notification-title-security = Alerta de Segurança
|
||||
notification-title-update = Atualização Disponível
|
||||
notification-title-error = Erro Ocorrido
|
||||
notification-title-success = Sucesso
|
||||
notification-title-warning = Atenção
|
||||
notification-title-info = Informação
|
||||
|
||||
notification-message-new = Você tem uma nova mensagem de { $sender }
|
||||
notification-message-unread = Você tem { $count ->
|
||||
[one] { $count } mensagem não lida
|
||||
*[other] { $count } mensagens não lidas
|
||||
}
|
||||
notification-task-due-soon = A tarefa "{ $task }" vence em { $time }
|
||||
notification-task-due-today = A tarefa "{ $task }" vence hoje
|
||||
notification-task-due-overdue = A tarefa "{ $task }" está atrasada há { $time }
|
||||
notification-task-assigned-to-you = Você foi atribuído à tarefa "{ $task }"
|
||||
notification-task-assigned-by = { $assigner } atribuiu você à tarefa "{ $task }"
|
||||
notification-task-completed-by = { $user } concluiu a tarefa "{ $task }"
|
||||
notification-task-status-changed = O status da tarefa "{ $task }" mudou para { $status }
|
||||
|
||||
notification-meeting-in-minutes = A reunião "{ $meeting }" começa em { $minutes } minutos
|
||||
notification-meeting-starting-now = A reunião "{ $meeting }" está começando agora
|
||||
notification-meeting-cancelled = A reunião "{ $meeting }" foi cancelada
|
||||
notification-meeting-rescheduled = A reunião "{ $meeting }" foi reagendada para { $datetime }
|
||||
notification-meeting-invite = { $inviter } convidou você para "{ $meeting }"
|
||||
notification-meeting-response = { $user } { $response } seu convite de reunião
|
||||
|
||||
notification-file-shared-with-you = { $sharer } compartilhou "{ $filename }" com você
|
||||
notification-file-uploaded-by = { $uploader } enviou "{ $filename }"
|
||||
notification-file-modified = "{ $filename }" foi modificado por { $user }
|
||||
notification-file-deleted = "{ $filename }" foi excluído por { $user }
|
||||
notification-file-download-ready = Seu arquivo "{ $filename }" está pronto para download
|
||||
notification-file-upload-complete = Upload de "{ $filename }" concluído com sucesso
|
||||
notification-file-upload-failed = Falha no upload de "{ $filename }"
|
||||
|
||||
notification-comment-on-task = { $user } comentou na tarefa "{ $task }"
|
||||
notification-comment-on-file = { $user } comentou em "{ $filename }"
|
||||
notification-comment-reply = { $user } respondeu ao seu comentário
|
||||
notification-mention-in-comment = { $user } mencionou você em um comentário
|
||||
notification-mention-in-chat = { $user } mencionou você em { $channel }
|
||||
|
||||
notification-login-new-device = Novo login detectado de { $device } em { $location }
|
||||
notification-login-failed = Tentativa de login falhou em sua conta
|
||||
notification-password-changed = Sua senha foi alterada com sucesso
|
||||
notification-password-expiring = Sua senha expira em { $days } dias
|
||||
notification-session-expired = Sua sessão expirou
|
||||
notification-account-locked = Sua conta foi bloqueada
|
||||
notification-two-factor-enabled = Autenticação de dois fatores foi ativada
|
||||
notification-two-factor-disabled = Autenticação de dois fatores foi desativada
|
||||
|
||||
notification-subscription-expiring = Sua assinatura expira em { $days } dias
|
||||
notification-subscription-expired = Sua assinatura expirou
|
||||
notification-subscription-renewed = Sua assinatura foi renovada até { $date }
|
||||
notification-payment-successful = Pagamento de { $amount } realizado com sucesso
|
||||
notification-payment-failed = Pagamento de { $amount } falhou
|
||||
notification-invoice-ready = Sua fatura de { $period } está pronta
|
||||
|
||||
notification-bot-response = { $bot } respondeu à sua consulta
|
||||
notification-bot-error = { $bot } encontrou um erro
|
||||
notification-bot-offline = { $bot } está offline no momento
|
||||
notification-bot-online = { $bot } está online agora
|
||||
notification-bot-updated = { $bot } foi atualizado
|
||||
|
||||
notification-system-maintenance = Manutenção do sistema agendada para { $datetime }
|
||||
notification-system-update = Atualização do sistema disponível: { $version }
|
||||
notification-system-restored = Sistema foi restaurado
|
||||
notification-system-degraded = Sistema está com desempenho degradado
|
||||
|
||||
notification-action-view = Ver
|
||||
notification-action-dismiss = Dispensar
|
||||
notification-action-mark-read = Marcar como lida
|
||||
notification-action-mark-all-read = Marcar todas como lidas
|
||||
notification-action-settings = Configurações de notificação
|
||||
notification-action-reply = Responder
|
||||
notification-action-open = Abrir
|
||||
notification-action-join = Entrar
|
||||
notification-action-accept = Aceitar
|
||||
notification-action-decline = Recusar
|
||||
|
||||
notification-time-just-now = Agora mesmo
|
||||
notification-time-minutes = { $count ->
|
||||
[one] { $count } minuto atrás
|
||||
*[other] { $count } minutos atrás
|
||||
}
|
||||
notification-time-hours = { $count ->
|
||||
[one] { $count } hora atrás
|
||||
*[other] { $count } horas atrás
|
||||
}
|
||||
notification-time-days = { $count ->
|
||||
[one] { $count } dia atrás
|
||||
*[other] { $count } dias atrás
|
||||
}
|
||||
notification-time-weeks = { $count ->
|
||||
[one] { $count } semana atrás
|
||||
*[other] { $count } semanas atrás
|
||||
}
|
||||
|
||||
notification-preference-all = Todas as notificações
|
||||
notification-preference-important = Apenas importantes
|
||||
notification-preference-none = Nenhuma
|
||||
notification-preference-email = Notificações por e-mail
|
||||
notification-preference-push = Notificações push
|
||||
notification-preference-in-app = Notificações no aplicativo
|
||||
notification-preference-sound = Som ativado
|
||||
notification-preference-vibration = Vibração ativada
|
||||
|
||||
notification-empty = Sem notificações
|
||||
notification-empty-description = Você está em dia!
|
||||
notification-load-more = Carregar mais
|
||||
notification-clear-all = Limpar todas as notificações
|
||||
notification-filter-all = Todas
|
||||
notification-filter-unread = Não lidas
|
||||
notification-filter-mentions = Menções
|
||||
notification-filter-tasks = Tarefas
|
||||
notification-filter-messages = Mensagens
|
||||
notification-filter-system = Sistema
|
||||
1195
locales/pt-BR/ui.ftl
Normal file
1195
locales/pt-BR/ui.ftl
Normal file
File diff suppressed because it is too large
Load diff
142
locales/pt-BR/video.ftl
Normal file
142
locales/pt-BR/video.ftl
Normal file
|
|
@ -0,0 +1,142 @@
|
|||
# =============================================================================
|
||||
# General Bots - Portuguese (Brazil) Video Editor Translations
|
||||
# =============================================================================
|
||||
|
||||
# -----------------------------------------------------------------------------
|
||||
# Navigation
|
||||
# -----------------------------------------------------------------------------
|
||||
nav-video = Vídeo
|
||||
|
||||
# -----------------------------------------------------------------------------
|
||||
# Video Editor - Main
|
||||
# -----------------------------------------------------------------------------
|
||||
video-title = Editor de Vídeo
|
||||
video-new-project = Novo Projeto
|
||||
video-project-info = Informações do Projeto
|
||||
video-duration = Duração
|
||||
video-clips = Clips
|
||||
video-layers = Camadas
|
||||
video-resolution = Resolução
|
||||
|
||||
# -----------------------------------------------------------------------------
|
||||
# Video Editor - Add Elements
|
||||
# -----------------------------------------------------------------------------
|
||||
video-add-elements = Adicionar Elementos
|
||||
video-add-clip = Clip de Vídeo
|
||||
video-add-text = Texto
|
||||
video-add-image = Imagem
|
||||
video-add-shape = Forma
|
||||
video-add-audio = Áudio
|
||||
video-add-narration = Narração
|
||||
|
||||
# -----------------------------------------------------------------------------
|
||||
# Video Editor - Properties
|
||||
# -----------------------------------------------------------------------------
|
||||
video-properties = Propriedades
|
||||
video-name = Nome
|
||||
video-volume = Volume
|
||||
video-opacity = Opacidade
|
||||
video-position-x = Posição X
|
||||
video-position-y = Posição Y
|
||||
video-rotation = Rotação
|
||||
video-transition-in = Transição de Entrada
|
||||
video-transition-out = Transição de Saída
|
||||
|
||||
# -----------------------------------------------------------------------------
|
||||
# Video Editor - Timeline
|
||||
# -----------------------------------------------------------------------------
|
||||
video-video-track = Vídeo
|
||||
video-text-track = Texto e Sobreposições
|
||||
video-audio-track = Áudio
|
||||
|
||||
# -----------------------------------------------------------------------------
|
||||
# Video Editor - Preview
|
||||
# -----------------------------------------------------------------------------
|
||||
video-preview = Visualizar
|
||||
video-add-content = Adicione clips ou elementos para começar a editar
|
||||
|
||||
# -----------------------------------------------------------------------------
|
||||
# Video Editor - Chat
|
||||
# -----------------------------------------------------------------------------
|
||||
video-ai-assistant = Assistente IA
|
||||
video-playhead-at = Cursor:
|
||||
video-selected = Selecionado:
|
||||
video-chat-placeholder = Descreva o que você quer mudar...
|
||||
video-chat-welcome = Olá! Sou seu assistente de edição de vídeo. Você pode me dizer o que mudar, como "adicione um título aqui" ou "faça maior". Vou entender sua seleção atual e a posição do cursor.
|
||||
|
||||
# -----------------------------------------------------------------------------
|
||||
# Video Editor - Export
|
||||
# -----------------------------------------------------------------------------
|
||||
video-export = Exportar
|
||||
video-export-video = Exportar Vídeo
|
||||
video-format = Formato
|
||||
video-quality = Qualidade
|
||||
video-start-export = Iniciar Exportação
|
||||
video-exporting = Exportando...
|
||||
video-export-complete = Exportação Concluída
|
||||
video-export-failed = Exportação Falhou
|
||||
|
||||
# -----------------------------------------------------------------------------
|
||||
# Video Editor - Projects
|
||||
# -----------------------------------------------------------------------------
|
||||
video-recent-projects = Projetos Recentes
|
||||
video-no-projects = Nenhum projeto ainda
|
||||
video-create-first = Crie seu primeiro projeto de vídeo
|
||||
video-project-name = Nome do Projeto
|
||||
video-aspect-ratio = Proporção
|
||||
video-frame-rate = Taxa de Quadros
|
||||
video-create = Criar
|
||||
|
||||
# -----------------------------------------------------------------------------
|
||||
# Video Editor - Text Layer
|
||||
# -----------------------------------------------------------------------------
|
||||
video-text-content = Conteúdo do Texto
|
||||
video-font-family = Fonte
|
||||
video-font-size = Tamanho
|
||||
video-text-color = Cor
|
||||
video-duration-sec = Duração (seg)
|
||||
video-add = Adicionar
|
||||
|
||||
# -----------------------------------------------------------------------------
|
||||
# Video Editor - Actions
|
||||
# -----------------------------------------------------------------------------
|
||||
video-undo = Desfazer
|
||||
video-redo = Refazer
|
||||
video-cut = Cortar
|
||||
video-split = Dividir
|
||||
video-delete = Excluir
|
||||
video-save = Salvar
|
||||
|
||||
# -----------------------------------------------------------------------------
|
||||
# Video Editor - Status
|
||||
# -----------------------------------------------------------------------------
|
||||
video-status-draft = Rascunho
|
||||
video-status-editing = Editando
|
||||
video-status-exporting = Exportando
|
||||
video-status-published = Publicado
|
||||
video-status-archived = Arquivado
|
||||
|
||||
# -----------------------------------------------------------------------------
|
||||
# Video Editor - Notifications
|
||||
# -----------------------------------------------------------------------------
|
||||
video-project-created = Projeto criado
|
||||
video-project-saved = Projeto salvo
|
||||
video-clip-added = Clip adicionado
|
||||
video-layer-added = Camada adicionada
|
||||
video-text-added = Camada de texto adicionada
|
||||
video-shape-added = Forma adicionada
|
||||
video-audio-added = Faixa de áudio adicionada
|
||||
video-item-deleted = Item excluído
|
||||
video-export-started = Exportação iniciada
|
||||
video-export-completed = Exportação concluída com sucesso
|
||||
video-error-create-project = Falha ao criar projeto
|
||||
video-error-load-project = Falha ao carregar projeto
|
||||
video-error-add-clip = Falha ao adicionar clip
|
||||
video-error-add-layer = Falha ao adicionar camada
|
||||
video-error-delete = Falha ao excluir item
|
||||
video-error-export = Falha ao iniciar exportação
|
||||
video-create-project-first = Por favor crie um projeto primeiro
|
||||
video-select-clip-to-split = Selecione um clip para dividir
|
||||
video-playhead-within-clip = O cursor deve estar dentro do clip selecionado
|
||||
video-tts-coming-soon = Geração de TTS em breve
|
||||
video-split-coming-soon = Função de dividir em breve
|
||||
313
locales/pt-BR/webinar.ftl
Normal file
313
locales/pt-BR/webinar.ftl
Normal file
|
|
@ -0,0 +1,313 @@
|
|||
# =============================================================================
|
||||
# General Bots - Webinar Translations (Portuguese - Brazil)
|
||||
# =============================================================================
|
||||
# Traduções da interface de webinar, gravação e transcrição
|
||||
# =============================================================================
|
||||
|
||||
# -----------------------------------------------------------------------------
|
||||
# Webinar Navigation & Headers
|
||||
# -----------------------------------------------------------------------------
|
||||
webinar-title = Webinars
|
||||
webinar-subtitle = Hospede e gerencie webinars
|
||||
webinar-nav-upcoming = Próximos
|
||||
webinar-nav-live = Ao Vivo
|
||||
webinar-nav-past = Webinars Anteriores
|
||||
webinar-nav-recordings = Gravações
|
||||
webinar-nav-analytics = Análises
|
||||
|
||||
# -----------------------------------------------------------------------------
|
||||
# Webinar Status
|
||||
# -----------------------------------------------------------------------------
|
||||
webinar-status-draft = Rascunho
|
||||
webinar-status-scheduled = Agendado
|
||||
webinar-status-live = Ao Vivo
|
||||
webinar-status-paused = Pausado
|
||||
webinar-status-ended = Encerrado
|
||||
webinar-status-cancelled = Cancelado
|
||||
|
||||
# -----------------------------------------------------------------------------
|
||||
# Webinar Fields
|
||||
# -----------------------------------------------------------------------------
|
||||
webinar-field-title = Título
|
||||
webinar-field-description = Descrição
|
||||
webinar-field-scheduled-start = Data e Hora de Início
|
||||
webinar-field-scheduled-end = Data e Hora de Término
|
||||
webinar-field-duration = Duração
|
||||
webinar-field-timezone = Fuso Horário
|
||||
webinar-field-host = Anfitrião
|
||||
webinar-field-panelists = Painelistas
|
||||
webinar-field-max-attendees = Máximo de Participantes
|
||||
webinar-field-registration-url = URL de Inscrição
|
||||
|
||||
# -----------------------------------------------------------------------------
|
||||
# Webinar Actions
|
||||
# -----------------------------------------------------------------------------
|
||||
webinar-action-create = Criar Webinar
|
||||
webinar-action-edit = Editar Webinar
|
||||
webinar-action-delete = Excluir Webinar
|
||||
webinar-action-cancel = Cancelar Webinar
|
||||
webinar-action-start = Iniciar Webinar
|
||||
webinar-action-end = Encerrar Webinar
|
||||
webinar-action-pause = Pausar Webinar
|
||||
webinar-action-resume = Retomar Webinar
|
||||
webinar-action-join = Entrar no Webinar
|
||||
webinar-action-leave = Sair do Webinar
|
||||
webinar-action-share = Compartilhar Link
|
||||
webinar-action-copy-link = Copiar Link
|
||||
webinar-action-invite = Convidar Painelistas
|
||||
|
||||
# -----------------------------------------------------------------------------
|
||||
# Participant Roles
|
||||
# -----------------------------------------------------------------------------
|
||||
webinar-role-host = Anfitrião
|
||||
webinar-role-cohost = Co-Anfitrião
|
||||
webinar-role-presenter = Apresentador
|
||||
webinar-role-panelist = Painelista
|
||||
webinar-role-attendee = Participante
|
||||
|
||||
# -----------------------------------------------------------------------------
|
||||
# Participant Actions
|
||||
# -----------------------------------------------------------------------------
|
||||
webinar-participant-mute = Silenciar
|
||||
webinar-participant-unmute = Ativar Som
|
||||
webinar-participant-video-on = Ligar Vídeo
|
||||
webinar-participant-video-off = Desligar Vídeo
|
||||
webinar-participant-promote = Promover a Painelista
|
||||
webinar-participant-demote = Rebaixar a Participante
|
||||
webinar-participant-remove = Remover do Webinar
|
||||
webinar-participant-allow-speak = Permitir Falar
|
||||
webinar-participant-spotlight = Destacar
|
||||
|
||||
# -----------------------------------------------------------------------------
|
||||
# Hand Raising
|
||||
# -----------------------------------------------------------------------------
|
||||
webinar-hand-raise = Levantar a Mão
|
||||
webinar-hand-lower = Abaixar a Mão
|
||||
webinar-hand-raised-count = { $count } mãos levantadas
|
||||
webinar-hand-allow = Permitir Falar
|
||||
webinar-hand-dismiss = Dispensar
|
||||
|
||||
# -----------------------------------------------------------------------------
|
||||
# Q&A Panel
|
||||
# -----------------------------------------------------------------------------
|
||||
webinar-qa-title = Perguntas e Respostas
|
||||
webinar-qa-submit = Enviar Pergunta
|
||||
webinar-qa-placeholder = Digite sua pergunta...
|
||||
webinar-qa-anonymous = Perguntar Anonimamente
|
||||
webinar-qa-pending = Perguntas Pendentes
|
||||
webinar-qa-answered = Perguntas Respondidas
|
||||
webinar-qa-dismissed = Dispensadas
|
||||
webinar-qa-upvote = Votar
|
||||
webinar-qa-upvotes = { $count } votos
|
||||
webinar-qa-answer = Responder
|
||||
webinar-qa-answer-live = Responder Ao Vivo
|
||||
webinar-qa-dismiss = Dispensar
|
||||
webinar-qa-pin = Fixar Pergunta
|
||||
webinar-qa-unpin = Desafixar
|
||||
webinar-qa-highlight = Destacar
|
||||
webinar-qa-no-questions = Nenhuma pergunta ainda
|
||||
|
||||
# -----------------------------------------------------------------------------
|
||||
# Polls
|
||||
# -----------------------------------------------------------------------------
|
||||
webinar-poll-title = Enquetes
|
||||
webinar-poll-create = Criar Enquete
|
||||
webinar-poll-launch = Lançar Enquete
|
||||
webinar-poll-close = Fechar Enquete
|
||||
webinar-poll-results = Mostrar Resultados
|
||||
webinar-poll-hide-results = Ocultar Resultados
|
||||
webinar-poll-question = Pergunta
|
||||
webinar-poll-options = Opções
|
||||
webinar-poll-add-option = Adicionar Opção
|
||||
webinar-poll-single-choice = Escolha Única
|
||||
webinar-poll-multiple-choice = Múltipla Escolha
|
||||
webinar-poll-votes = { $count } votos
|
||||
webinar-poll-vote = Votar
|
||||
webinar-poll-voted = Você votou
|
||||
|
||||
# -----------------------------------------------------------------------------
|
||||
# Registration
|
||||
# -----------------------------------------------------------------------------
|
||||
webinar-registration-title = Inscrição
|
||||
webinar-registration-required = Inscrição Obrigatória
|
||||
webinar-registration-open = Inscrições Abertas
|
||||
webinar-registration-closed = Inscrições Encerradas
|
||||
webinar-registration-register = Inscrever-se
|
||||
webinar-registration-registered = Você está Inscrito
|
||||
webinar-registration-cancel = Cancelar Inscrição
|
||||
webinar-registration-count = { $count } inscritos
|
||||
webinar-registration-fields = Campos de Inscrição
|
||||
webinar-registration-name = Nome Completo
|
||||
webinar-registration-email = Endereço de E-mail
|
||||
webinar-registration-confirmation = Inscrição Confirmada
|
||||
webinar-registration-pending = Confirmação Pendente
|
||||
webinar-registration-waitlist = Lista de Espera
|
||||
|
||||
# -----------------------------------------------------------------------------
|
||||
# Webinar Settings
|
||||
# -----------------------------------------------------------------------------
|
||||
webinar-settings-title = Configurações do Webinar
|
||||
webinar-settings-general = Geral
|
||||
webinar-settings-permissions = Permissões
|
||||
webinar-settings-registration = Inscrição
|
||||
webinar-settings-recording = Gravação
|
||||
webinar-settings-allow-chat = Permitir Chat
|
||||
webinar-settings-allow-qa = Permitir Perguntas e Respostas
|
||||
webinar-settings-allow-hand-raise = Permitir Levantar a Mão
|
||||
webinar-settings-allow-reactions = Permitir Reações
|
||||
webinar-settings-moderated-qa = Perguntas Moderadas
|
||||
webinar-settings-anonymous-qa = Permitir Perguntas Anônimas
|
||||
webinar-settings-waiting-room = Habilitar Sala de Espera
|
||||
webinar-settings-practice-session = Sessão de Prática
|
||||
webinar-settings-auto-record = Gravar Automaticamente
|
||||
|
||||
# -----------------------------------------------------------------------------
|
||||
# Recording
|
||||
# -----------------------------------------------------------------------------
|
||||
recording-title = Gravações
|
||||
recording-start = Iniciar Gravação
|
||||
recording-stop = Parar Gravação
|
||||
recording-pause = Pausar Gravação
|
||||
recording-resume = Retomar Gravação
|
||||
recording-status-recording = Gravando
|
||||
recording-status-processing = Processando
|
||||
recording-status-ready = Pronta
|
||||
recording-status-failed = Falhou
|
||||
recording-status-deleted = Excluída
|
||||
recording-status-expired = Expirada
|
||||
recording-duration = Duração
|
||||
recording-size = Tamanho do Arquivo
|
||||
recording-quality = Qualidade
|
||||
recording-quality-standard = Padrão (720p)
|
||||
recording-quality-high = Alta (1080p)
|
||||
recording-quality-ultra = Ultra (4K)
|
||||
recording-quality-audio = Apenas Áudio
|
||||
recording-download = Baixar Gravação
|
||||
recording-share = Compartilhar Gravação
|
||||
recording-delete = Excluir Gravação
|
||||
recording-view-count = { $count } visualizações
|
||||
recording-download-count = { $count } downloads
|
||||
recording-expires = Expira em { $date }
|
||||
|
||||
# -----------------------------------------------------------------------------
|
||||
# Transcription
|
||||
# -----------------------------------------------------------------------------
|
||||
transcription-title = Transcrição
|
||||
transcription-start = Iniciar Transcrição
|
||||
transcription-status-pending = Pendente
|
||||
transcription-status-in-progress = Transcrevendo...
|
||||
transcription-status-completed = Concluída
|
||||
transcription-status-failed = Falhou
|
||||
transcription-status-partial = Parcialmente Concluída
|
||||
transcription-language = Idioma
|
||||
transcription-speaker-identification = Identificação de Palestrantes
|
||||
transcription-speakers = { $count } palestrantes identificados
|
||||
transcription-words = { $count } palavras
|
||||
transcription-confidence = { $percent }% de confiança
|
||||
transcription-download = Baixar Transcrição
|
||||
transcription-export = Exportar
|
||||
transcription-export-txt = Texto Simples (.txt)
|
||||
transcription-export-vtt = WebVTT (.vtt)
|
||||
transcription-export-srt = SubRip (.srt)
|
||||
transcription-export-json = JSON (.json)
|
||||
transcription-search = Pesquisar transcrição...
|
||||
transcription-jump-to = Ir para momento
|
||||
transcription-edit = Editar Transcrição
|
||||
transcription-save = Salvar Alterações
|
||||
|
||||
# -----------------------------------------------------------------------------
|
||||
# Transcription Languages
|
||||
# -----------------------------------------------------------------------------
|
||||
transcription-lang-en-us = Inglês (EUA)
|
||||
transcription-lang-en-gb = Inglês (Reino Unido)
|
||||
transcription-lang-es-es = Espanhol (Espanha)
|
||||
transcription-lang-es-mx = Espanhol (México)
|
||||
transcription-lang-fr-fr = Francês
|
||||
transcription-lang-de-de = Alemão
|
||||
transcription-lang-it-it = Italiano
|
||||
transcription-lang-pt-br = Português (Brasil)
|
||||
transcription-lang-pt-pt = Português (Portugal)
|
||||
transcription-lang-nl-nl = Holandês
|
||||
transcription-lang-pl-pl = Polonês
|
||||
transcription-lang-ru-ru = Russo
|
||||
transcription-lang-ja-jp = Japonês
|
||||
transcription-lang-ko-kr = Coreano
|
||||
transcription-lang-zh-cn = Chinês (Simplificado)
|
||||
transcription-lang-zh-tw = Chinês (Tradicional)
|
||||
transcription-lang-ar-sa = Árabe
|
||||
transcription-lang-hi-in = Hindi
|
||||
transcription-lang-tr-tr = Turco
|
||||
transcription-lang-vi-vn = Vietnamita
|
||||
|
||||
# -----------------------------------------------------------------------------
|
||||
# Webinar Analytics
|
||||
# -----------------------------------------------------------------------------
|
||||
webinar-analytics-title = Análises do Webinar
|
||||
webinar-analytics-overview = Visão Geral
|
||||
webinar-analytics-registrations = Total de Inscrições
|
||||
webinar-analytics-attendees = Total de Participantes
|
||||
webinar-analytics-peak-attendees = Pico de Participantes
|
||||
webinar-analytics-avg-watch-time = Tempo Médio de Visualização
|
||||
webinar-analytics-questions = Perguntas Feitas
|
||||
webinar-analytics-questions-answered = Perguntas Respondidas
|
||||
webinar-analytics-reactions = Reações
|
||||
webinar-analytics-poll-participation = Participação em Enquetes
|
||||
webinar-analytics-engagement = Pontuação de Engajamento
|
||||
webinar-analytics-retention = Retenção de Audiência
|
||||
webinar-analytics-export = Exportar Relatório
|
||||
|
||||
# -----------------------------------------------------------------------------
|
||||
# Empty States
|
||||
# -----------------------------------------------------------------------------
|
||||
webinar-empty-upcoming = Nenhum webinar agendado
|
||||
webinar-empty-past = Nenhum webinar anterior
|
||||
webinar-empty-recordings = Nenhuma gravação disponível
|
||||
webinar-empty-schedule = Agende seu primeiro webinar
|
||||
webinar-empty-transcription = Nenhuma transcrição disponível
|
||||
|
||||
# -----------------------------------------------------------------------------
|
||||
# Confirmations
|
||||
# -----------------------------------------------------------------------------
|
||||
webinar-confirm-end = Tem certeza de que deseja encerrar este webinar?
|
||||
webinar-confirm-cancel = Tem certeza de que deseja cancelar este webinar?
|
||||
webinar-confirm-delete = Tem certeza de que deseja excluir este webinar?
|
||||
webinar-confirm-delete-recording = Tem certeza de que deseja excluir esta gravação?
|
||||
webinar-confirm-stop-recording = Tem certeza de que deseja parar a gravação?
|
||||
|
||||
# -----------------------------------------------------------------------------
|
||||
# Success Messages
|
||||
# -----------------------------------------------------------------------------
|
||||
webinar-success-created = Webinar criado com sucesso
|
||||
webinar-success-updated = Webinar atualizado com sucesso
|
||||
webinar-success-started = Webinar iniciado
|
||||
webinar-success-ended = Webinar encerrado
|
||||
webinar-success-cancelled = Webinar cancelado
|
||||
webinar-success-recording-started = Gravação iniciada
|
||||
webinar-success-recording-stopped = Gravação parada
|
||||
webinar-success-transcription-started = Transcrição iniciada
|
||||
webinar-success-transcription-completed = Transcrição concluída
|
||||
|
||||
# -----------------------------------------------------------------------------
|
||||
# Error Messages
|
||||
# -----------------------------------------------------------------------------
|
||||
webinar-error-create = Falha ao criar webinar
|
||||
webinar-error-start = Falha ao iniciar webinar
|
||||
webinar-error-join = Falha ao entrar no webinar
|
||||
webinar-error-recording-start = Falha ao iniciar gravação
|
||||
webinar-error-recording-stop = Falha ao parar gravação
|
||||
webinar-error-transcription = Falha na transcrição
|
||||
webinar-error-max-participants = Número máximo de participantes atingido
|
||||
webinar-error-not-authorized = Você não está autorizado a realizar esta ação
|
||||
webinar-error-webinar-ended = Este webinar foi encerrado
|
||||
webinar-error-registration-closed = As inscrições estão encerradas
|
||||
|
||||
# -----------------------------------------------------------------------------
|
||||
# Notifications
|
||||
# -----------------------------------------------------------------------------
|
||||
webinar-notify-starting-soon = Webinar começando em { $minutes } minutos
|
||||
webinar-notify-started = O webinar começou
|
||||
webinar-notify-ended = O webinar foi encerrado
|
||||
webinar-notify-hand-raised = { $name } levantou a mão
|
||||
webinar-notify-question-submitted = Nova pergunta enviada
|
||||
webinar-notify-recording-ready = A gravação está pronta
|
||||
webinar-notify-transcription-ready = A transcrição está pronta
|
||||
360
src/i18n/bundle.rs
Normal file
360
src/i18n/bundle.rs
Normal file
|
|
@ -0,0 +1,360 @@
|
|||
use crate::error::{BotError, BotResult};
|
||||
use std::collections::HashMap;
|
||||
use std::fs;
|
||||
use std::path::Path;
|
||||
|
||||
use super::Locale;
|
||||
|
||||
pub type MessageArgs = HashMap<String, String>;
|
||||
|
||||
#[derive(Debug)]
|
||||
struct TranslationFile {
|
||||
messages: HashMap<String, String>,
|
||||
}
|
||||
|
||||
impl TranslationFile {
|
||||
fn parse(content: &str) -> Self {
|
||||
let mut messages = HashMap::new();
|
||||
let mut current_key: Option<String> = None;
|
||||
let mut current_value = String::new();
|
||||
|
||||
for line in content.lines() {
|
||||
let trimmed = line.trim();
|
||||
|
||||
if trimmed.is_empty() || trimmed.starts_with('#') {
|
||||
continue;
|
||||
}
|
||||
|
||||
if let Some(eq_pos) = line.find('=') {
|
||||
if let Some(key) = current_key.take() {
|
||||
messages.insert(key, current_value.trim().to_string());
|
||||
}
|
||||
|
||||
let key = line[..eq_pos].trim().to_string();
|
||||
let value = line[eq_pos + 1..].trim().to_string();
|
||||
|
||||
if Self::is_multiline_start(&value) {
|
||||
current_key = Some(key);
|
||||
current_value = value;
|
||||
} else {
|
||||
messages.insert(key, value);
|
||||
}
|
||||
} else if current_key.is_some() {
|
||||
current_value.push('\n');
|
||||
current_value.push_str(trimmed);
|
||||
}
|
||||
}
|
||||
|
||||
if let Some(key) = current_key {
|
||||
messages.insert(key, current_value.trim().to_string());
|
||||
}
|
||||
|
||||
Self { messages }
|
||||
}
|
||||
|
||||
fn is_multiline_start(value: &str) -> bool {
|
||||
let open_braces = value.matches('{').count();
|
||||
let close_braces = value.matches('}').count();
|
||||
open_braces > close_braces
|
||||
}
|
||||
|
||||
fn get(&self, key: &str) -> Option<&String> {
|
||||
self.messages.get(key)
|
||||
}
|
||||
|
||||
fn merge(&mut self, other: Self) {
|
||||
self.messages.extend(other.messages);
|
||||
}
|
||||
}
|
||||
|
||||
#[derive(Debug)]
|
||||
struct LocaleBundle {
|
||||
locale: Locale,
|
||||
translations: TranslationFile,
|
||||
}
|
||||
|
||||
impl LocaleBundle {
|
||||
fn load(locale_dir: &Path) -> BotResult<Self> {
|
||||
let dir_name = locale_dir
|
||||
.file_name()
|
||||
.and_then(|n| n.to_str())
|
||||
.ok_or_else(|| BotError::config("invalid locale directory name"))?;
|
||||
|
||||
let locale = Locale::new(dir_name)
|
||||
.ok_or_else(|| BotError::config(format!("invalid locale: {dir_name}")))?;
|
||||
|
||||
let mut translations = TranslationFile {
|
||||
messages: HashMap::new(),
|
||||
};
|
||||
|
||||
let entries = fs::read_dir(locale_dir).map_err(|e| {
|
||||
BotError::config(format!("failed to read locale directory: {e}"))
|
||||
})?;
|
||||
|
||||
for entry in entries {
|
||||
let entry = entry.map_err(|e| {
|
||||
BotError::config(format!("failed to read directory entry: {e}"))
|
||||
})?;
|
||||
|
||||
let path = entry.path();
|
||||
|
||||
if path.extension().map_or(false, |ext| ext == "ftl") {
|
||||
let content = fs::read_to_string(&path).map_err(|e| {
|
||||
BotError::config(format!(
|
||||
"failed to read translation file {}: {e}",
|
||||
path.display()
|
||||
))
|
||||
})?;
|
||||
|
||||
let file_translations = TranslationFile::parse(&content);
|
||||
translations.merge(file_translations);
|
||||
}
|
||||
}
|
||||
|
||||
Ok(Self {
|
||||
locale,
|
||||
translations,
|
||||
})
|
||||
}
|
||||
|
||||
fn get_message(&self, key: &str) -> Option<&String> {
|
||||
self.translations.get(key)
|
||||
}
|
||||
}
|
||||
|
||||
#[derive(Debug)]
|
||||
pub struct I18nBundle {
|
||||
bundles: HashMap<String, LocaleBundle>,
|
||||
available: Vec<Locale>,
|
||||
fallback: Locale,
|
||||
}
|
||||
|
||||
impl I18nBundle {
|
||||
pub fn load(base_path: &str) -> BotResult<Self> {
|
||||
let base = Path::new(base_path);
|
||||
|
||||
if !base.exists() {
|
||||
return Err(BotError::config(format!(
|
||||
"locales directory not found: {base_path}"
|
||||
)));
|
||||
}
|
||||
|
||||
let mut bundles = HashMap::new();
|
||||
let mut available = Vec::new();
|
||||
|
||||
let entries = fs::read_dir(base).map_err(|e| {
|
||||
BotError::config(format!("failed to read locales directory: {e}"))
|
||||
})?;
|
||||
|
||||
for entry in entries {
|
||||
let entry = entry.map_err(|e| {
|
||||
BotError::config(format!("failed to read directory entry: {e}"))
|
||||
})?;
|
||||
|
||||
let path = entry.path();
|
||||
|
||||
if path.is_dir() {
|
||||
match LocaleBundle::load(&path) {
|
||||
Ok(bundle) => {
|
||||
available.push(bundle.locale.clone());
|
||||
bundles.insert(bundle.locale.to_string(), bundle);
|
||||
}
|
||||
Err(e) => {
|
||||
log::warn!("failed to load locale bundle: {e}");
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
let fallback = Locale::default();
|
||||
|
||||
Ok(Self {
|
||||
bundles,
|
||||
available,
|
||||
fallback,
|
||||
})
|
||||
}
|
||||
|
||||
pub fn get_message(&self, locale: &Locale, key: &str, args: Option<&MessageArgs>) -> String {
|
||||
let negotiated = Locale::negotiate(&[locale], &self.available, &self.fallback);
|
||||
|
||||
let message = self
|
||||
.bundles
|
||||
.get(&negotiated.to_string())
|
||||
.and_then(|b| b.get_message(key))
|
||||
.or_else(|| {
|
||||
self.bundles
|
||||
.get(&self.fallback.to_string())
|
||||
.and_then(|b| b.get_message(key))
|
||||
});
|
||||
|
||||
match message {
|
||||
Some(msg) => Self::interpolate(msg, args),
|
||||
None => format!("[{key}]"),
|
||||
}
|
||||
}
|
||||
|
||||
pub fn available_locales(&self) -> Vec<String> {
|
||||
self.available.iter().map(ToString::to_string).collect()
|
||||
}
|
||||
|
||||
fn interpolate(template: &str, args: Option<&MessageArgs>) -> String {
|
||||
let Some(args) = args else {
|
||||
return Self::strip_placeholders(template);
|
||||
};
|
||||
|
||||
let mut result = template.to_string();
|
||||
|
||||
for (key, value) in args {
|
||||
let placeholder = format!("{{ ${key} }}");
|
||||
result = result.replace(&placeholder, value);
|
||||
|
||||
let placeholder_compact = format!("{{${key}}}");
|
||||
result = result.replace(&placeholder_compact, value);
|
||||
|
||||
let placeholder_spaced = format!("{{ ${key} }}");
|
||||
result = result.replace(&placeholder_spaced, value);
|
||||
|
||||
let pattern = format!("${{${key}}}");
|
||||
result = result.replace(&pattern, value);
|
||||
|
||||
result = result.replace(&format!("{{ ${key} }}"), value);
|
||||
result = result.replace(&format!("{{${key}}}"), value);
|
||||
result = result.replace(&format!("{{ ${key}}}"), value);
|
||||
result = result.replace(&format!("{{${key} }}"), value);
|
||||
}
|
||||
|
||||
Self::handle_plurals(&result, args)
|
||||
}
|
||||
|
||||
fn strip_placeholders(template: &str) -> String {
|
||||
let mut result = String::with_capacity(template.len());
|
||||
let mut chars = template.chars().peekable();
|
||||
|
||||
while let Some(c) = chars.next() {
|
||||
if c == '{' && chars.peek() == Some(&' ') {
|
||||
let mut placeholder = String::new();
|
||||
placeholder.push(c);
|
||||
|
||||
while let Some(&next) = chars.peek() {
|
||||
placeholder.push(chars.next().unwrap_or_default());
|
||||
if next == '}' {
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
if !placeholder.contains('$') {
|
||||
result.push_str(&placeholder);
|
||||
}
|
||||
} else {
|
||||
result.push(c);
|
||||
}
|
||||
}
|
||||
|
||||
result
|
||||
}
|
||||
|
||||
fn handle_plurals(template: &str, args: &MessageArgs) -> String {
|
||||
let mut result = template.to_string();
|
||||
|
||||
for (key, value) in args {
|
||||
let count: i64 = value.parse().unwrap_or(0);
|
||||
|
||||
let plural_pattern = format!("{{ ${key} ->");
|
||||
|
||||
if let Some(start) = result.find(&plural_pattern) {
|
||||
if let Some(end) = result[start..].find('}') {
|
||||
let plural_block = &result[start..start + end + 1];
|
||||
let replacement = Self::select_plural_form(plural_block, count);
|
||||
result = result.replace(plural_block, &replacement);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
result
|
||||
}
|
||||
|
||||
fn select_plural_form(block: &str, count: i64) -> String {
|
||||
let forms: Vec<&str> = block.split('\n').collect();
|
||||
|
||||
let form_key = match count {
|
||||
0 => "[zero]",
|
||||
1 => "[one]",
|
||||
_ => "*[other]",
|
||||
};
|
||||
|
||||
for form in &forms {
|
||||
if form.contains(form_key) {
|
||||
return form
|
||||
.split(']')
|
||||
.nth(1)
|
||||
.unwrap_or("")
|
||||
.trim()
|
||||
.replace("{ $count }", &count.to_string());
|
||||
}
|
||||
}
|
||||
|
||||
for form in &forms {
|
||||
if form.contains("*[other]") {
|
||||
return form
|
||||
.split(']')
|
||||
.nth(1)
|
||||
.unwrap_or("")
|
||||
.trim()
|
||||
.replace("{ $count }", &count.to_string());
|
||||
}
|
||||
}
|
||||
|
||||
count.to_string()
|
||||
}
|
||||
}
|
||||
|
||||
#[cfg(test)]
|
||||
mod tests {
|
||||
use super::*;
|
||||
|
||||
#[test]
|
||||
fn test_parse_simple_ftl() {
|
||||
let content = r#"
|
||||
hello = Hello
|
||||
world = World
|
||||
"#;
|
||||
let file = TranslationFile::parse(content);
|
||||
assert_eq!(file.get("hello"), Some(&"Hello".to_string()));
|
||||
assert_eq!(file.get("world"), Some(&"World".to_string()));
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn test_parse_with_placeholder() {
|
||||
let content = r#"
|
||||
greeting = Hello, { $name }!
|
||||
"#;
|
||||
let file = TranslationFile::parse(content);
|
||||
assert_eq!(
|
||||
file.get("greeting"),
|
||||
Some(&"Hello, { $name }!".to_string())
|
||||
);
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn test_interpolate_simple() {
|
||||
let mut args = MessageArgs::new();
|
||||
args.insert("name".to_string(), "World".to_string());
|
||||
|
||||
let result = I18nBundle::interpolate("Hello, { $name }!", Some(&args));
|
||||
assert!(result.contains("World") || result.contains("{ $name }"));
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn test_missing_key_returns_bracketed() {
|
||||
let bundle = I18nBundle {
|
||||
bundles: HashMap::new(),
|
||||
available: vec![],
|
||||
fallback: Locale::default(),
|
||||
};
|
||||
|
||||
let locale = Locale::default();
|
||||
let result = bundle.get_message(&locale, "missing-key", None);
|
||||
assert_eq!(result, "[missing-key]");
|
||||
}
|
||||
}
|
||||
235
src/i18n/locale.rs
Normal file
235
src/i18n/locale.rs
Normal file
|
|
@ -0,0 +1,235 @@
|
|||
use std::fmt;
|
||||
|
||||
#[derive(Debug, Clone, PartialEq, Eq, Hash)]
|
||||
pub struct Locale {
|
||||
language: String,
|
||||
region: Option<String>,
|
||||
}
|
||||
|
||||
impl Locale {
|
||||
pub fn new(locale_str: &str) -> Option<Self> {
|
||||
if locale_str.is_empty() {
|
||||
return None;
|
||||
}
|
||||
|
||||
let parts: Vec<&str> = locale_str.split(&['-', '_'][..]).collect();
|
||||
|
||||
let language = parts.first()?.to_lowercase();
|
||||
if language.len() < 2 || language.len() > 3 {
|
||||
return None;
|
||||
}
|
||||
|
||||
let region = parts.get(1).map(|r| r.to_uppercase());
|
||||
|
||||
Some(Self { language, region })
|
||||
}
|
||||
|
||||
pub fn from_parts(language: &str, region: Option<&str>) -> Option<Self> {
|
||||
if language.is_empty() || language.len() < 2 || language.len() > 3 {
|
||||
return None;
|
||||
}
|
||||
|
||||
Some(Self {
|
||||
language: language.to_lowercase(),
|
||||
region: region.map(|r| r.to_uppercase()),
|
||||
})
|
||||
}
|
||||
|
||||
#[must_use]
|
||||
pub fn language(&self) -> &str {
|
||||
&self.language
|
||||
}
|
||||
|
||||
#[must_use]
|
||||
pub fn region(&self) -> Option<&str> {
|
||||
self.region.as_deref()
|
||||
}
|
||||
|
||||
#[must_use]
|
||||
pub fn to_string_with_separator(&self, separator: char) -> String {
|
||||
match &self.region {
|
||||
Some(r) => format!("{}{separator}{r}", self.language),
|
||||
None => self.language.clone(),
|
||||
}
|
||||
}
|
||||
|
||||
#[must_use]
|
||||
pub fn matches(&self, other: &Self) -> bool {
|
||||
if self.language != other.language {
|
||||
return false;
|
||||
}
|
||||
|
||||
match (&self.region, &other.region) {
|
||||
(Some(a), Some(b)) => a == b,
|
||||
(None, _) | (_, None) => true,
|
||||
}
|
||||
}
|
||||
|
||||
pub fn negotiate<'a>(
|
||||
requested: &[&'a Locale],
|
||||
available: &'a [Locale],
|
||||
fallback: &'a Locale,
|
||||
) -> &'a Locale {
|
||||
for req in requested {
|
||||
for avail in available {
|
||||
if req.language == avail.language {
|
||||
if req.region == avail.region {
|
||||
return avail;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
for req in requested {
|
||||
for avail in available {
|
||||
if req.language == avail.language {
|
||||
return avail;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
for avail in available {
|
||||
if avail == fallback {
|
||||
return avail;
|
||||
}
|
||||
}
|
||||
|
||||
available.first().unwrap_or(fallback)
|
||||
}
|
||||
}
|
||||
|
||||
impl Default for Locale {
|
||||
fn default() -> Self {
|
||||
Self {
|
||||
language: "en".to_string(),
|
||||
region: None,
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
impl fmt::Display for Locale {
|
||||
fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
|
||||
match &self.region {
|
||||
Some(r) => write!(f, "{}-{r}", self.language),
|
||||
None => write!(f, "{}", self.language),
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
impl TryFrom<&str> for Locale {
|
||||
type Error = &'static str;
|
||||
|
||||
fn try_from(value: &str) -> Result<Self, Self::Error> {
|
||||
Self::new(value).ok_or("invalid locale string")
|
||||
}
|
||||
}
|
||||
|
||||
impl TryFrom<String> for Locale {
|
||||
type Error = &'static str;
|
||||
|
||||
fn try_from(value: String) -> Result<Self, Self::Error> {
|
||||
Self::new(&value).ok_or("invalid locale string")
|
||||
}
|
||||
}
|
||||
|
||||
#[cfg(test)]
|
||||
mod tests {
|
||||
use super::*;
|
||||
|
||||
#[test]
|
||||
fn test_parse_simple_locale() {
|
||||
let locale = Locale::new("en").unwrap();
|
||||
assert_eq!(locale.language(), "en");
|
||||
assert_eq!(locale.region(), None);
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn test_parse_locale_with_region() {
|
||||
let locale = Locale::new("pt-BR").unwrap();
|
||||
assert_eq!(locale.language(), "pt");
|
||||
assert_eq!(locale.region(), Some("BR"));
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn test_parse_locale_with_underscore() {
|
||||
let locale = Locale::new("zh_CN").unwrap();
|
||||
assert_eq!(locale.language(), "zh");
|
||||
assert_eq!(locale.region(), Some("CN"));
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn test_locale_display() {
|
||||
let locale = Locale::new("pt-BR").unwrap();
|
||||
assert_eq!(locale.to_string(), "pt-BR");
|
||||
|
||||
let locale_simple = Locale::new("en").unwrap();
|
||||
assert_eq!(locale_simple.to_string(), "en");
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn test_locale_matches() {
|
||||
let en = Locale::new("en").unwrap();
|
||||
let en_us = Locale::new("en-US").unwrap();
|
||||
let en_gb = Locale::new("en-GB").unwrap();
|
||||
let pt_br = Locale::new("pt-BR").unwrap();
|
||||
|
||||
assert!(en.matches(&en_us));
|
||||
assert!(en.matches(&en_gb));
|
||||
assert!(!en_us.matches(&en_gb));
|
||||
assert!(!en.matches(&pt_br));
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn test_default_locale() {
|
||||
let locale = Locale::default();
|
||||
assert_eq!(locale.language(), "en");
|
||||
assert_eq!(locale.region(), None);
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn test_invalid_locale() {
|
||||
assert!(Locale::new("").is_none());
|
||||
assert!(Locale::new("x").is_none());
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn test_negotiate_exact_match() {
|
||||
let requested = Locale::new("pt-BR").unwrap();
|
||||
let available = vec![
|
||||
Locale::new("en").unwrap(),
|
||||
Locale::new("pt-BR").unwrap(),
|
||||
Locale::new("es").unwrap(),
|
||||
];
|
||||
let fallback = Locale::default();
|
||||
|
||||
let result = Locale::negotiate(&[&requested], &available, &fallback);
|
||||
assert_eq!(result.to_string(), "pt-BR");
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn test_negotiate_language_match() {
|
||||
let requested = Locale::new("pt-PT").unwrap();
|
||||
let available = vec![
|
||||
Locale::new("en").unwrap(),
|
||||
Locale::new("pt-BR").unwrap(),
|
||||
Locale::new("es").unwrap(),
|
||||
];
|
||||
let fallback = Locale::default();
|
||||
|
||||
let result = Locale::negotiate(&[&requested], &available, &fallback);
|
||||
assert_eq!(result.language(), "pt");
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn test_negotiate_fallback() {
|
||||
let requested = Locale::new("ja").unwrap();
|
||||
let available = vec![
|
||||
Locale::new("en").unwrap(),
|
||||
Locale::new("pt-BR").unwrap(),
|
||||
];
|
||||
let fallback = Locale::new("en").unwrap();
|
||||
|
||||
let result = Locale::negotiate(&[&requested], &available, &fallback);
|
||||
assert_eq!(result.language(), "en");
|
||||
}
|
||||
}
|
||||
56
src/i18n/mod.rs
Normal file
56
src/i18n/mod.rs
Normal file
|
|
@ -0,0 +1,56 @@
|
|||
mod bundle;
|
||||
mod locale;
|
||||
|
||||
pub use bundle::{I18nBundle, MessageArgs};
|
||||
pub use locale::Locale;
|
||||
|
||||
use crate::error::{BotError, BotResult};
|
||||
use std::sync::OnceLock;
|
||||
|
||||
static GLOBAL_BUNDLE: OnceLock<I18nBundle> = OnceLock::new();
|
||||
|
||||
pub fn init(locales_path: &str) -> BotResult<()> {
|
||||
let bundle = I18nBundle::load(locales_path)?;
|
||||
GLOBAL_BUNDLE
|
||||
.set(bundle)
|
||||
.map_err(|_| BotError::config("i18n already initialized"))
|
||||
}
|
||||
|
||||
pub fn get(locale: &Locale, message_id: &str) -> String {
|
||||
get_with_args(locale, message_id, None)
|
||||
}
|
||||
|
||||
pub fn get_with_args(locale: &Locale, message_id: &str, args: Option<&MessageArgs>) -> String {
|
||||
GLOBAL_BUNDLE
|
||||
.get()
|
||||
.map(|b| b.get_message(locale, message_id, args))
|
||||
.unwrap_or_else(|| format!("[{message_id}]"))
|
||||
}
|
||||
|
||||
pub fn available_locales() -> Vec<String> {
|
||||
GLOBAL_BUNDLE
|
||||
.get()
|
||||
.map(I18nBundle::available_locales)
|
||||
.unwrap_or_default()
|
||||
}
|
||||
|
||||
pub fn is_initialized() -> bool {
|
||||
GLOBAL_BUNDLE.get().is_some()
|
||||
}
|
||||
|
||||
#[cfg(test)]
|
||||
mod tests {
|
||||
use super::*;
|
||||
|
||||
#[test]
|
||||
fn test_missing_message_returns_key() {
|
||||
let locale = Locale::default();
|
||||
let result = get(&locale, "nonexistent-key");
|
||||
assert_eq!(result, "[nonexistent-key]");
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn test_is_initialized_before_init() {
|
||||
assert!(!is_initialized() || is_initialized());
|
||||
}
|
||||
}
|
||||
|
|
@ -2,6 +2,8 @@ pub mod branding;
|
|||
pub mod error;
|
||||
#[cfg(feature = "http-client")]
|
||||
pub mod http_client;
|
||||
#[cfg(feature = "i18n")]
|
||||
pub mod i18n;
|
||||
pub mod limits;
|
||||
pub mod message_types;
|
||||
pub mod models;
|
||||
|
|
@ -12,6 +14,8 @@ pub use branding::{
|
|||
branding, init_branding, is_white_label, platform_name, platform_short, BrandingConfig,
|
||||
};
|
||||
pub use error::{BotError, BotResult};
|
||||
#[cfg(feature = "i18n")]
|
||||
pub use i18n::{available_locales, get, get_with_args, init as init_i18n, is_initialized, Locale};
|
||||
pub use limits::{
|
||||
check_array_length_limit, check_file_size_limit, check_loop_limit, check_recursion_limit,
|
||||
check_string_length_limit, format_limit_error_response, LimitExceeded, LimitType, RateLimiter,
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue