mirror of
https://github.com/diegosouzapw/OmniRoute.git
synced 2026-08-03 13:52:09 +03:00
chore(i18n): replace hardcoded UI text with t() calls across dashboard (round 4)
Round-4 subagent + manual key-resolution refactored remaining strings in 3 high-traffic settings/API tabs, plus extracted English values for keys that were already added as t() calls but lost during the previous en.json race-condition resets. Pages affected: - api-manager/ApiManagerPageClient (7 → 0 missing key) - settings/CompressionSettingsTab (8 → 0 missing key) - settings/MemorySkillsTab (8 → 0 missing key) - settings/ResilienceTab (4 more keys recovered) Hardcoded total: 164 → 140. Real missing keys: 0 (6 remaining are the exampleTemplates.tsx false positives — t passed as parameter).
This commit is contained in:
@@ -1468,7 +1468,7 @@ const PermissionsModal = memo(function PermissionsModal({
|
||||
{/* Privacy Toggle */}
|
||||
<div className="flex items-start justify-between gap-3 p-3 rounded-lg border border-border bg-surface/40">
|
||||
<div className="flex flex-col gap-1">
|
||||
<p className="text-sm font-medium text-text-main">No-Log Payload Privacy</p>
|
||||
<p className="text-sm font-medium text-text-main">{t("noLogPayloadPrivacy")}</p>
|
||||
<p className="text-xs text-text-muted">
|
||||
Disable request/response payload persistence for this API key.
|
||||
</p>
|
||||
@@ -1518,7 +1518,7 @@ const PermissionsModal = memo(function PermissionsModal({
|
||||
{/* Ban Toggle (SECURITY) */}
|
||||
<div className="flex items-start justify-between gap-3 p-3 rounded-lg border border-red-500/20 bg-red-500/5">
|
||||
<div className="flex flex-col gap-1">
|
||||
<p className="text-sm font-bold text-red-700 dark:text-red-400">Banned Status</p>
|
||||
<p className="text-sm font-bold text-red-700 dark:text-red-400">{t("bannedStatus")}</p>
|
||||
<p className="text-xs text-red-600 dark:text-red-300">
|
||||
Immediately revoke all access. Used for suspected abuse or compromised keys.
|
||||
</p>
|
||||
@@ -1542,7 +1542,7 @@ const PermissionsModal = memo(function PermissionsModal({
|
||||
{/* Management API Access Toggle */}
|
||||
<div className="flex items-start justify-between gap-3 p-3 rounded-lg border border-border bg-surface/40">
|
||||
<div className="flex flex-col gap-1">
|
||||
<p className="text-sm font-medium text-text-main">Management API Access</p>
|
||||
<p className="text-sm font-medium text-text-main">{t("managementApiAccess")}</p>
|
||||
<p className="text-xs text-text-muted">
|
||||
Allow this key to call management routes (providers, combos, settings) via{" "}
|
||||
<code className="font-mono">Authorization: Bearer</code>. Use for LLM agents only.
|
||||
@@ -1567,7 +1567,7 @@ const PermissionsModal = memo(function PermissionsModal({
|
||||
{/* Expiration Date */}
|
||||
<div className="flex flex-col gap-2 p-3 rounded-lg border border-border bg-surface/40">
|
||||
<div className="flex flex-col gap-1">
|
||||
<p className="text-sm font-medium text-text-main">Expiration Date</p>
|
||||
<p className="text-sm font-medium text-text-main">{t("expirationDate")}</p>
|
||||
<p className="text-xs text-text-muted">
|
||||
Key will automatically stop working after this date.
|
||||
</p>
|
||||
@@ -1585,7 +1585,7 @@ const PermissionsModal = memo(function PermissionsModal({
|
||||
{/* Management Access */}
|
||||
<div className="flex flex-col gap-2 p-3 rounded-lg border border-border bg-surface/40">
|
||||
<div className="flex flex-col gap-1">
|
||||
<p className="text-sm font-medium text-text-main">Management Access</p>
|
||||
<p className="text-sm font-medium text-text-main">{t("managementAccess")}</p>
|
||||
<p className="text-xs text-text-muted">
|
||||
Allow this API key to manage OmniRoute configuration.
|
||||
</p>
|
||||
@@ -1774,7 +1774,7 @@ const PermissionsModal = memo(function PermissionsModal({
|
||||
{allConnections.length > 0 && (
|
||||
<div className="flex flex-col gap-2 p-3 rounded-lg border border-border bg-surface/40">
|
||||
<div className="flex items-center justify-between">
|
||||
<p className="text-sm font-medium text-text-main">Allowed Connections</p>
|
||||
<p className="text-sm font-medium text-text-main">{t("allowedConnections")}</p>
|
||||
<div className="flex gap-1 p-0.5 bg-surface rounded-md">
|
||||
<button
|
||||
onClick={() => {
|
||||
|
||||
@@ -613,7 +613,9 @@ export default function CompressionSettingsTab() {
|
||||
</label>
|
||||
|
||||
<label className="flex items-center justify-between">
|
||||
<span className="text-sm text-text-muted">Auto clarity bypass</span>
|
||||
<span className="text-sm text-text-muted">
|
||||
{t("compressionSettingsAutoClarityBypass")}
|
||||
</span>
|
||||
<button
|
||||
onClick={() =>
|
||||
save({
|
||||
|
||||
@@ -757,7 +757,7 @@ export default function MemorySkillsTab() {
|
||||
</span>
|
||||
</div>
|
||||
<div>
|
||||
<h3 className="text-lg font-semibold">SkillsMP Marketplace</h3>
|
||||
<h3 className="text-lg font-semibold">{t("memorySkillsSkillsmpMarketplace")}</h3>
|
||||
<p className="text-sm text-text-muted">
|
||||
Connect to SkillsMP to discover and install skills from the marketplace.
|
||||
</p>
|
||||
@@ -769,12 +769,14 @@ export default function MemorySkillsTab() {
|
||||
</span>
|
||||
)}
|
||||
{skillsmpStatus === "error" && (
|
||||
<span className="ml-auto text-xs font-medium text-red-500">Failed to save</span>
|
||||
<span className="ml-auto text-xs font-medium text-red-500">
|
||||
{t("memorySkillsFailedToSave")}
|
||||
</span>
|
||||
)}
|
||||
</div>
|
||||
|
||||
<div className="p-4 rounded-lg bg-surface/30 border border-border/30">
|
||||
<label className="text-sm font-medium block mb-2">API Key</label>
|
||||
<label className="text-sm font-medium block mb-2">{t("memorySkillsApiKey")}</label>
|
||||
<div className="flex gap-2">
|
||||
<input
|
||||
type="password"
|
||||
@@ -807,7 +809,7 @@ export default function MemorySkillsTab() {
|
||||
</span>
|
||||
</div>
|
||||
<div>
|
||||
<h3 className="text-lg font-semibold">Active Skills Provider</h3>
|
||||
<h3 className="text-lg font-semibold">{t("memorySkillsActiveSkillsProvider")}</h3>
|
||||
<p className="text-sm text-text-muted">
|
||||
Choose which provider the Skills page uses for search and install.
|
||||
</p>
|
||||
@@ -819,7 +821,9 @@ export default function MemorySkillsTab() {
|
||||
</span>
|
||||
)}
|
||||
{skillsProviderStatus === "error" && (
|
||||
<span className="ml-auto text-xs font-medium text-red-500">Failed to save</span>
|
||||
<span className="ml-auto text-xs font-medium text-red-500">
|
||||
{t("memorySkillsFailedToSave")}
|
||||
</span>
|
||||
)}
|
||||
</div>
|
||||
|
||||
|
||||
@@ -1296,7 +1296,13 @@
|
||||
"apiManagerRateLimitReqPer": "req /",
|
||||
"apiManagerRateLimitSecondsPlaceholder": "Seconds",
|
||||
"apiManagerRemoveLimitTitle": "Remove limit",
|
||||
"apiManagerTimezonePlaceholder": "America/Sao_Paulo"
|
||||
"apiManagerTimezonePlaceholder": "America/Sao_Paulo",
|
||||
"noLogPayloadPrivacy": "No-Log Payload Privacy",
|
||||
"bannedStatus": "Banned Status",
|
||||
"managementApiAccess": "Management API Access",
|
||||
"expirationDate": "Expiration Date",
|
||||
"managementAccess": "Management Access",
|
||||
"allowedConnections": "Allowed Connections"
|
||||
},
|
||||
"auditLog": {
|
||||
"title": "Audit Log",
|
||||
@@ -4421,7 +4427,21 @@
|
||||
"storageIntegrityCheck": "Integrity Check",
|
||||
"storageIntegrityOk": "✓ OK",
|
||||
"storageIntegrityError": "✗ Error",
|
||||
"storageUsageTokenBuffer": "Usage Token Buffer"
|
||||
"storageUsageTokenBuffer": "Usage Token Buffer",
|
||||
"compressionSettingsAutoTriggerMode": "Auto trigger mode",
|
||||
"compressionSettingsMcpDescriptionCompression": "MCP description compression",
|
||||
"compressionSettingsCavemanIntensity": "Caveman intensity",
|
||||
"compressionSettingsCavemanOutputMode": "Caveman output mode",
|
||||
"compressionSettingsOutputIntensity": "Output intensity",
|
||||
"compressionSettingsAutoClarityBypass": "Auto clarity bypass",
|
||||
"resilienceWaitForCooldown": "Wait for Cooldown",
|
||||
"resilienceEnableServerSideWait": "Enable server-side wait",
|
||||
"resilienceMaximumRetries": "Maximum retries",
|
||||
"resilienceMaximumWaitPerRetry": "Maximum wait per retry",
|
||||
"memorySkillsSkillsmpMarketplace": "SkillsMP Marketplace",
|
||||
"memorySkillsFailedToSave": "Failed to save",
|
||||
"memorySkillsApiKey": "API Key",
|
||||
"memorySkillsActiveSkillsProvider": "Active Skills Provider"
|
||||
},
|
||||
"contextRtk": {
|
||||
"title": "RTK Engine",
|
||||
|
||||
Reference in New Issue
Block a user