Expand AITURK Turkish settings and desktop surfaces for beta 5
This commit is contained in:
@@ -0,0 +1,196 @@
|
||||
import type { MemoryProviderField } from '@/types/hermes'
|
||||
|
||||
type FieldCopy = Pick<MemoryProviderField, 'label'> &
|
||||
Partial<Pick<MemoryProviderField, 'description' | 'info' | 'placeholder'>> & {
|
||||
options?: Record<string, string | { label: string; description: string }>
|
||||
}
|
||||
|
||||
const reasoning = { minimal: 'En az', low: 'Düşük', medium: 'Orta', high: 'Yüksek', max: 'En yüksek' }
|
||||
|
||||
/** Only presentation is translated; provider keys, credentials and enum values remain authoritative. */
|
||||
export const TR_MEMORY_FIELDS: Record<string, Record<string, FieldCopy>> = {
|
||||
honcho: {
|
||||
apiKey: {
|
||||
label: 'API anahtarı',
|
||||
description: 'Honcho Cloud kimlik doğrulaması. Kendi sunucunuzdaki temel URL için gerekli değildir.',
|
||||
placeholder: 'Honcho API anahtarını girin'
|
||||
},
|
||||
baseUrl: {
|
||||
label: 'Temel URL',
|
||||
description: 'Kendi sunucunuzdaki Honcho adresi. Belirtildiğinde ortam değişkenindeki adresin yerine kullanılır.',
|
||||
placeholder: 'https://… (kendi sunucunuz)'
|
||||
},
|
||||
environment: {
|
||||
label: 'Ortam',
|
||||
description: 'Honcho ortamı. Temel URL belirtildiğinde kullanılmaz.',
|
||||
options: { production: 'Bulut', local: 'Yerel' }
|
||||
},
|
||||
workspace: {
|
||||
label: 'Çalışma alanı',
|
||||
description: 'Honcho çalışma alanı kimliği. Varsayılan olarak profilin ana bilgisayarını kullanır.'
|
||||
},
|
||||
peerName: {
|
||||
label: 'Kullanıcı kimliği',
|
||||
description:
|
||||
'Sabit kullanıcı kimliğiniz. Tek kullanıcılı kurulumlarda farklı platformların belleğini birleştirir.',
|
||||
placeholder: 'ör. eri'
|
||||
},
|
||||
aiPeer: {
|
||||
label: 'Yapay zekâ kimliği',
|
||||
description: 'Yapay zekâ tarafının kimlik adı. Varsayılan olarak profilin ana bilgisayarını kullanır.'
|
||||
},
|
||||
sessionStrategy: {
|
||||
label: 'Oturum stratejisi',
|
||||
description: 'Konuşmaların Honcho oturumlarıyla nasıl eşleştirileceği.',
|
||||
info: 'Oturum başına: her konuşma ayrı bir Honcho oturumu kullanır. Klasör başına: aynı çalışma klasöründeki konuşmalar ortak oturum kullanır. Depo başına: aynı Git deposundaki konuşmalar ortak oturum kullanır. Genel: tüm konuşmalar tek bir oturumu paylaşır.',
|
||||
options: {
|
||||
'per-session': 'Oturum başına',
|
||||
'per-directory': 'Klasör başına',
|
||||
'per-repo': 'Depo başına',
|
||||
global: 'Genel'
|
||||
}
|
||||
},
|
||||
timeout: {
|
||||
label: 'İstek zaman aşımı',
|
||||
description:
|
||||
'Honcho HTTP istekleri için saniye cinsinden zaman aşımı. Boş bırakılırsa varsayılan süre kullanılır.'
|
||||
},
|
||||
pinUserPeer: {
|
||||
label: 'Kullanıcı kimliğini sabitle',
|
||||
description:
|
||||
'Ağ geçidinin çalışma anındaki kimliği yerine belirtilen kullanıcı adını kullanır. Tek kullanıcılı kurulumlarda belleği birleştirir.'
|
||||
},
|
||||
runtimePeerPrefix: {
|
||||
label: 'Çalışma anındaki kimlik öneki',
|
||||
description: 'Ağ geçidinden gelen bilinmeyen kullanıcı kimliklerine eklenecek önek.',
|
||||
placeholder: 'ör. telegram_'
|
||||
},
|
||||
userPeerAliases: {
|
||||
label: 'Kullanıcı kimliği eşleştirmeleri',
|
||||
description: 'Ağ geçidinin kullanıcı kimliklerini sabit Honcho kimlikleriyle eşleştirir.'
|
||||
},
|
||||
sessionPeerPrefix: {
|
||||
label: 'Oturum kimliği öneki',
|
||||
description: 'Oturum kimliği adlarının başına ana bilgisayar adını ekler.'
|
||||
},
|
||||
sessions: {
|
||||
label: 'Özel oturum eşleştirmeleri',
|
||||
description: 'Çözümleyici anahtarına göre kullanılacak oturum kimlikleri.'
|
||||
},
|
||||
saveMessages: { label: 'Mesajları kaydet', description: 'Konuşma mesajlarını Honcho üzerinde saklar.' },
|
||||
writeFrequency: {
|
||||
label: 'Yazma sıklığı',
|
||||
description: 'Mesajların yazılacağı zaman: async, turn, session veya her N turda bir.',
|
||||
info: 'async: mesajları geldikçe arka planda yazar. turn: her turun sonunda yazar. session: oturum sona erdiğinde yazar. N sayısı: her N turda bir yazar.'
|
||||
},
|
||||
dialecticReasoningLevel: {
|
||||
label: 'Akıl yürütme düzeyi',
|
||||
description: 'Diyalektik (peer.chat) çağrıları için akıl yürütme çabası.',
|
||||
options: reasoning
|
||||
},
|
||||
dialecticDynamic: {
|
||||
label: 'Dinamik akıl yürütme',
|
||||
description: 'Modelin her çağrı için akıl yürütme düzeyini değiştirmesine izin verir.'
|
||||
},
|
||||
dialecticMaxChars: {
|
||||
label: 'En fazla sonuç karakteri',
|
||||
description: 'Sistem istemine eklenecek diyalektik sonucunun karakter sınırı.'
|
||||
},
|
||||
dialecticDepth: { label: 'Derinlik', description: 'Her döngüdeki diyalektik geçiş sayısı (1–3).' },
|
||||
dialecticDepthLevels: {
|
||||
label: 'Geçiş başına düzeyler',
|
||||
description: 'Her geçişin akıl yürütme düzeyi; dizinin uzunluğu derinlik değeriyle eşleşmelidir.'
|
||||
},
|
||||
dialecticMaxInputChars: {
|
||||
label: 'En fazla girdi karakteri',
|
||||
description: 'peer.chat() çağrısına gönderilen sorgunun karakter sınırı.'
|
||||
},
|
||||
reasoningHeuristic: {
|
||||
label: 'Uyarlanabilir akıl yürütme',
|
||||
description: 'Uzun sorgularda akıl yürütme düzeyini yükseltir.'
|
||||
},
|
||||
reasoningLevelCap: {
|
||||
label: 'Akıl yürütme üst sınırı',
|
||||
description: 'Uyarlanabilir seçimde kullanılabilecek en yüksek akıl yürütme düzeyi.',
|
||||
options: reasoning
|
||||
},
|
||||
recallMode: {
|
||||
label: 'Bellekten getirme yöntemi',
|
||||
description: 'Bellek bilgisinin getirilme yöntemi: karma, yalnızca bağlam veya yalnızca araçlar.',
|
||||
info: 'Karma: otomatik eklenen bağlam ve gerektiğinde bellek araçları. Yalnızca bağlam: araçlar olmadan bağlama ekleme. Yalnızca araçlar: model belleği açıkça sorgular; bağlama otomatik ekleme yapılmaz.',
|
||||
options: { hybrid: 'Karma', context: 'Yalnızca bağlam', tools: 'Yalnızca araçlar' }
|
||||
},
|
||||
contextTokens: {
|
||||
label: 'Bağlam token sınırı',
|
||||
description: 'Otomatik eklenen bağlam için token sınırı. Boş bırakılırsa sınır uygulanmaz.',
|
||||
placeholder: '(sınırsız)'
|
||||
},
|
||||
initOnSessionStart: {
|
||||
label: 'Oturum başında hazırla',
|
||||
description: 'Araçlar modunda oturumu ilk araç çağrısını beklemeden başlangıçta hazırlar.'
|
||||
},
|
||||
messageMaxChars: {
|
||||
label: 'Mesaj karakter sınırı',
|
||||
description: 'Honcho’ya gönderilen her mesaj için en fazla karakter sayısı.'
|
||||
},
|
||||
observationMode: {
|
||||
label: 'Gözlem yöntemi',
|
||||
description:
|
||||
'Kimlik başına gözlem ön ayarı. Yönlü gözlem tüm yönleri izler; birleşik gözlem ortak bir görünüm kullanır.',
|
||||
options: { directional: 'Yönlü', unified: 'Birleşik' }
|
||||
}
|
||||
},
|
||||
hindsight: {
|
||||
mode: {
|
||||
label: 'Bağlantı yöntemi',
|
||||
description: 'AITURK’ün Hindsight ile bağlantı kurma yöntemi.',
|
||||
options: {
|
||||
cloud: { label: 'Bulut', description: 'Hindsight Cloud API; yalnızca API anahtarı gerektirir.' },
|
||||
local_external: { label: 'Mevcut yerel sunucu', description: 'Çalışan bir Hindsight sunucusuna bağlanır.' }
|
||||
}
|
||||
},
|
||||
api_key: {
|
||||
label: 'API anahtarı',
|
||||
description: 'Hindsight API kimlik doğrulaması için kullanılır.',
|
||||
placeholder: 'Hindsight API anahtarını girin'
|
||||
},
|
||||
api_url: { label: 'API adresi' },
|
||||
bank_id: { label: 'Bellek bankası kimliği' },
|
||||
recall_budget: { label: 'Bellekten getirme bütçesi', options: { low: 'Düşük', mid: 'Orta', high: 'Yüksek' } }
|
||||
}
|
||||
}
|
||||
|
||||
const GROUPS: Record<string, string> = {
|
||||
Connection: 'Bağlantı',
|
||||
Identity: 'Kimlik',
|
||||
Session: 'Oturum',
|
||||
'Message writing': 'Mesajların yazılması',
|
||||
Dialectic: 'Diyalektik',
|
||||
Reasoning: 'Akıl yürütme',
|
||||
Recall: 'Bellekten getirme',
|
||||
Limits: 'Sınırlar',
|
||||
Observation: 'Gözlem'
|
||||
}
|
||||
|
||||
export function localizeMemoryField(provider: string, field: MemoryProviderField, locale: string): MemoryProviderField {
|
||||
const copy = locale === 'tr' ? TR_MEMORY_FIELDS[provider]?.[field.key] : undefined
|
||||
|
||||
if (!copy) {
|
||||
return field
|
||||
}
|
||||
|
||||
const { options, ...text } = copy
|
||||
|
||||
return {
|
||||
...field,
|
||||
...text,
|
||||
group: GROUPS[field.group] ?? field.group,
|
||||
options: field.options.map(option => {
|
||||
const translated = options?.[option.value]
|
||||
|
||||
return translated
|
||||
? { ...option, ...(typeof translated === 'string' ? { label: translated } : translated) }
|
||||
: option
|
||||
})
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user