feat(settings): add Codex link controls and authenticated phone bridge

This commit is contained in:
yilsem committed 2026-10-09 11:55:16 +03:00
1 parent 1acb5dd90f
commit 55a1beaf9d
22 files changed
+2857 -3

No files matched your search

+121
View File
@@ -0,0 +1,121 @@
import { useI18n } from './context'
const en = {
title: 'Connect Codex',
intro: 'Use this IDE’s models and combos in Codex. Each chat keeps its own memory.',
enabled: 'Connect models to Codex',
enabledHelp: 'Enabled on first installation. Your choice is saved.',
compression: 'Automatic compaction',
compressionHelp:
'Checks the complete request before sending. Earlier summaries are retained as the available context allows.',
threshold: 'Compaction threshold (tokens)',
thresholdHelp:
'The effective threshold is lower when a model has less available input space. Output space is reserved too.',
invalidThreshold: 'Enter a positive whole number.',
save: 'Save',
source: 'Connected account',
noSource: 'No authorized model source is available.',
sync: 'Refresh models',
refresh: 'Refresh status',
loading: 'Reading saved settings…',
unavailable: 'The local Codex connection service is unavailable. Check the AITURK installation.',
failed: 'Could not read the latest state.',
unknown: 'The result is not confirmed. Check this same operation before making another change.',
reconcile: 'Check operation',
conflict: 'Settings changed elsewhere. The latest saved state has been loaded.',
saved: 'Settings saved.',
accepted: 'Operation accepted. Its progress appears below.',
chats: 'Chat memory',
empty: 'No managed Codex chat is currently visible.',
compact: 'Compact now',
summaries: 'Saved summaries',
tokens: 'tokens',
unmeasured: 'Not measured yet',
current: 'Current input',
limit: 'Effective threshold',
restart: 'The next Codex launch will use the new runtime. Existing chats keep their current process.',
activation: {
disabled: 'Disabled',
pending_runtime_acceptance: 'Runtime verification pending',
ready: 'Ready',
restart_required: 'Restart required',
conflict: 'Configuration conflict',
recovery_pending: 'Recovering the saved state'
},
admission: {
open: 'External models available',
closed: 'External models unavailable',
draining: 'Finishing active work',
recovery_required: 'Operation recovery required'
},
operation: {
accepted: 'Accepted',
prepared: 'Prepared',
running: 'Running',
completed: 'Completed',
failed: 'Failed',
indeterminate: 'Result unknown'
}
}
const tr: typeof en = {
title: 'Codex Bağlama',
intro: 'Bu IDE’deki modelleri ve comboları Codex’te kullanın. Her sohbet kendi hafızasını tutar.',
enabled: 'Modelleri Codex’e bağla',
enabledHelp: 'İlk kurulumda açıktır. Değiştirdiğiniz tercih kaydedilir.',
compression: 'Otomatik sıkıştırma',
compressionHelp:
'Gönderilmeden önce isteğin tamamı kontrol edilir. Önceki özetler kullanılabilir bağlamın izin verdiği ölçüde korunur.',
threshold: 'Sıkıştırma eşiği (token)',
thresholdHelp:
'Modelin kullanılabilir giriş alanı daha küçükse etkin eşik düşer. Yanıt için gereken alan da ayrılır.',
invalidThreshold: 'Pozitif bir tam sayı girin.',
save: 'Kaydet',
source: 'Bağlı hesap',
noSource: 'Yetkili model kaynağı bulunamadı.',
sync: 'Modelleri yenile',
refresh: 'Durumu yenile',
loading: 'Kayıtlı ayarlar okunuyor…',
unavailable: 'Yerel Codex bağlantı hizmetine ulaşılamıyor. AITURK kurulumunu kontrol edin.',
failed: 'Güncel durum okunamadı.',
unknown: 'İşlemin sonucu henüz doğrulanmadı. Yeni değişiklikten önce aynı işlemin durumunu kontrol edin.',
reconcile: 'İşlemi kontrol et',
conflict: 'Ayarlar başka bir yerde değişti. Güncel kayıtlı ayarlar yüklendi.',
saved: 'Ayarlar kaydedildi.',
accepted: 'İşlem kabul edildi. İlerlemesi aşağıda gösterilir.',
chats: 'Sohbet hafızası',
empty: 'Şu anda görünen yönetilen Codex sohbeti yok.',
compact: 'Şimdi sıkıştır',
summaries: 'Kayıtlı özetler',
tokens: 'token',
unmeasured: 'Henüz ölçülmedi',
current: 'Mevcut giriş',
limit: 'Etkin eşik',
restart: 'Yeni runtime sonraki Codex açılışında kullanılacak. Açık sohbetler mevcut süreçleriyle devam eder.',
activation: {
disabled: 'Kapalı',
pending_runtime_acceptance: 'Runtime doğrulaması bekleniyor',
ready: 'Hazır',
restart_required: 'Yeniden açılış gerekli',
conflict: 'Ayar çakışması',
recovery_pending: 'Kayıtlı durum kurtarılıyor'
},
admission: {
open: 'Harici modeller kullanılabilir',
closed: 'Harici modeller kullanılamıyor',
draining: 'Etkin işler bitiriliyor',
recovery_required: 'İşlem durumu uzlaştırılmalı'
},
operation: {
accepted: 'Kabul edildi',
prepared: 'Hazırlandı',
running: 'Çalışıyor',
completed: 'Tamamlandı',
failed: 'Başarısız',
indeterminate: 'Sonuç belirsiz'
}
}
export function useCodexLinkCopy() {
return useI18n().locale === 'tr' ? tr : en
}