it.ts 18 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583
  1. import { SubmitKey } from "../store/config";
  2. import type { PartialLocaleType } from "./index";
  3. import { getClientConfig } from "../config/client";
  4. const isApp = !!getClientConfig()?.isApp;
  5. const it: PartialLocaleType = {
  6. WIP: "Work in progress...",
  7. Error: {
  8. Unauthorized: isApp
  9. ? "API Key non valido rilevato. Vai alla pagina [Impostazioni](/#/settings) per controllare se l'API Key è configurata correttamente."
  10. : "La password di accesso è errata o mancante. Vai alla pagina [Login](/#/auth) per inserire la password corretta o inserisci la tua API Key OpenAI nella pagina [Impostazioni](/#/settings).",
  11. },
  12. Auth: {
  13. Title: "Password richiesta",
  14. Tips: "L'amministratore ha abilitato la verifica della password. Inserisci il codice di accesso qui sotto",
  15. SubTips: "O inserisci la tua chiave API OpenAI o Google",
  16. Input: "Inserisci il codice di accesso qui",
  17. Confirm: "Conferma",
  18. Later: "Più tardi",
  19. },
  20. ChatItem: {
  21. ChatItemCount: (count: number) => `${count} conversazioni`,
  22. },
  23. Chat: {
  24. SubTitle: (count: number) => `Totale ${count} conversazioni`,
  25. EditMessage: {
  26. Title: "Modifica cronologia messaggi",
  27. Topic: {
  28. Title: "Argomento della chat",
  29. SubTitle: "Modifica l'argomento della chat corrente",
  30. },
  31. },
  32. Actions: {
  33. ChatList: "Visualizza l'elenco dei messaggi",
  34. CompressedHistory: "Visualizza la cronologia Prompt compressa",
  35. Export: "Esporta la cronologia chat",
  36. Copy: "Copia",
  37. Stop: "Interrompi",
  38. Retry: "Riprova",
  39. Pin: "Fissa",
  40. PinToastContent: "1 conversazione fissata ai suggerimenti predefiniti",
  41. PinToastAction: "Visualizza",
  42. Delete: "Elimina",
  43. Edit: "Modifica",
  44. },
  45. Commands: {
  46. new: "Nuova chat",
  47. newm: "Nuova chat da maschera",
  48. next: "Chat successiva",
  49. prev: "Chat precedente",
  50. clear: "Pulisci contesto",
  51. del: "Elimina chat",
  52. },
  53. InputActions: {
  54. Stop: "Interrompi risposta",
  55. ToBottom: "Scorri fino al più recente",
  56. Theme: {
  57. auto: "Tema automatico",
  58. light: "Tema chiaro",
  59. dark: "Tema scuro",
  60. },
  61. Prompt: "Comandi rapidi",
  62. Masks: "Tutte le maschere",
  63. Clear: "Pulisci chat",
  64. Settings: "Impostazioni conversazione",
  65. UploadImage: "Carica immagine",
  66. },
  67. Rename: "Rinomina conversazione",
  68. Typing: "Digitazione in corso…",
  69. Input: (submitKey: string) => {
  70. var inputHints = `${submitKey} per inviare`;
  71. if (submitKey === String(SubmitKey.Enter)) {
  72. inputHints += ",Shift + Enter per andare a capo";
  73. }
  74. return (
  75. inputHints +
  76. ",/ per attivare il completamento automatico, : per attivare il comando"
  77. );
  78. },
  79. Send: "Invia",
  80. Config: {
  81. Reset: "Pulisci memoria",
  82. SaveAs: "Salva come maschera",
  83. },
  84. IsContext: "Suggerimenti predefiniti",
  85. },
  86. Export: {
  87. Title: "Condividi cronologia chat",
  88. Copy: "Copia tutto",
  89. Download: "Scarica file",
  90. Share: "Condividi su ShareGPT",
  91. MessageFromYou: "Utente",
  92. MessageFromChatGPT: "ChatGPT",
  93. Format: {
  94. Title: "Formato di esportazione",
  95. SubTitle: "Puoi esportare come testo Markdown o immagine PNG",
  96. },
  97. IncludeContext: {
  98. Title: "Includi contesto maschera",
  99. SubTitle: "Mostrare il contesto della maschera nei messaggi",
  100. },
  101. Steps: {
  102. Select: "Seleziona",
  103. Preview: "Anteprima",
  104. },
  105. Image: {
  106. Toast: "Generazione dello screenshot in corso",
  107. Modal:
  108. "Tieni premuto o fai clic con il tasto destro per salvare l'immagine",
  109. },
  110. },
  111. Select: {
  112. Search: "Cerca messaggi",
  113. All: "Seleziona tutto",
  114. Latest: "Ultimi messaggi",
  115. Clear: "Pulisci selezione",
  116. },
  117. Memory: {
  118. Title: "Riassunto storico",
  119. EmptyContent:
  120. "Il contenuto della conversazione è troppo breve, nessun riassunto necessario",
  121. Send: "Comprimi automaticamente la cronologia chat e inviala come contesto",
  122. Copy: "Copia riassunto",
  123. Reset: "[unused]",
  124. ResetConfirm: "Confermi la cancellazione del riassunto storico?",
  125. },
  126. Home: {
  127. NewChat: "Nuova chat",
  128. DeleteChat: "Confermi l'eliminazione della conversazione selezionata?",
  129. DeleteToast: "Conversazione eliminata",
  130. Revert: "Annulla",
  131. },
  132. Settings: {
  133. Title: "Impostazioni",
  134. SubTitle: "Tutte le opzioni di impostazione",
  135. Danger: {
  136. Reset: {
  137. Title: "Ripristina tutte le impostazioni",
  138. SubTitle: "Ripristina tutte le opzioni ai valori predefiniti",
  139. Action: "Ripristina subito",
  140. Confirm: "Confermi il ripristino di tutte le impostazioni?",
  141. },
  142. Clear: {
  143. Title: "Elimina tutti i dati",
  144. SubTitle: "Elimina tutte le chat e i dati delle impostazioni",
  145. Action: "Elimina subito",
  146. Confirm:
  147. "Confermi l'eliminazione di tutte le chat e dei dati delle impostazioni?",
  148. },
  149. },
  150. Lang: {
  151. Name: "Language", // ATTENZIONE: se vuoi aggiungere una nuova traduzione, non tradurre questo valore, lascialo come `Language`
  152. All: "Tutte le lingue",
  153. },
  154. Avatar: "Avatar",
  155. FontSize: {
  156. Title: "Dimensione del carattere",
  157. SubTitle: "Dimensione del carattere per il contenuto della chat",
  158. },
  159. FontFamily: {
  160. Title: "Font della Chat",
  161. SubTitle:
  162. "Carattere del contenuto della chat, lascia vuoto per applicare il carattere predefinito globale",
  163. Placeholder: "Nome del Font",
  164. },
  165. InjectSystemPrompts: {
  166. Title: "Inserisci suggerimenti di sistema",
  167. SubTitle:
  168. "Aggiungi forzatamente un suggerimento di sistema simulato di ChatGPT all'inizio della lista dei messaggi per ogni richiesta",
  169. },
  170. InputTemplate: {
  171. Title: "Preprocessing dell'input utente",
  172. SubTitle:
  173. "L'ultimo messaggio dell'utente verrà inserito in questo modello",
  174. },
  175. Update: {
  176. Version: (x: string) => `Versione attuale: ${x}`,
  177. IsLatest: "È l'ultima versione",
  178. CheckUpdate: "Controlla aggiornamenti",
  179. IsChecking: "Verifica aggiornamenti in corso...",
  180. FoundUpdate: (x: string) => `Nuova versione trovata: ${x}`,
  181. GoToUpdate: "Vai all'aggiornamento",
  182. },
  183. SendKey: "Tasto di invio",
  184. Theme: "Tema",
  185. TightBorder: "Modalità senza bordi",
  186. SendPreviewBubble: {
  187. Title: "Bolla di anteprima",
  188. SubTitle: "Anteprima del contenuto Markdown nella bolla di anteprima",
  189. },
  190. AutoGenerateTitle: {
  191. Title: "Generazione automatica del titolo",
  192. SubTitle:
  193. "Genera un titolo appropriato in base al contenuto della conversazione",
  194. },
  195. Sync: {
  196. CloudState: "Dati cloud",
  197. NotSyncYet: "Non è ancora avvenuta alcuna sincronizzazione",
  198. Success: "Sincronizzazione riuscita",
  199. Fail: "Sincronizzazione fallita",
  200. Config: {
  201. Modal: {
  202. Title: "Configura sincronizzazione cloud",
  203. Check: "Controlla disponibilità",
  204. },
  205. SyncType: {
  206. Title: "Tipo di sincronizzazione",
  207. SubTitle: "Scegli il server di sincronizzazione preferito",
  208. },
  209. Proxy: {
  210. Title: "Abilita proxy",
  211. SubTitle:
  212. "Durante la sincronizzazione nel browser, è necessario abilitare il proxy per evitare restrizioni CORS",
  213. },
  214. ProxyUrl: {
  215. Title: "Indirizzo proxy",
  216. SubTitle: "Solo per il proxy CORS fornito con questo progetto",
  217. },
  218. WebDav: {
  219. Endpoint: "Indirizzo WebDAV",
  220. UserName: "Nome utente",
  221. Password: "Password",
  222. },
  223. UpStash: {
  224. Endpoint: "URL REST di UpStash Redis",
  225. UserName: "Nome di backup",
  226. Password: "Token REST di UpStash Redis",
  227. },
  228. },
  229. LocalState: "Dati locali",
  230. Overview: (overview: any) => {
  231. return `${overview.chat} chat, ${overview.message} messaggi, ${overview.prompt} suggerimenti, ${overview.mask} maschere`;
  232. },
  233. ImportFailed: "Importazione fallita",
  234. },
  235. Mask: {
  236. Splash: {
  237. Title: "Pagina di avvio delle maschere",
  238. SubTitle:
  239. "Mostra la pagina di avvio delle maschere quando si avvia una nuova chat",
  240. },
  241. Builtin: {
  242. Title: "Nascondi maschere predefinite",
  243. SubTitle:
  244. "Nascondi le maschere predefinite in tutte le liste delle maschere",
  245. },
  246. },
  247. Prompt: {
  248. Disable: {
  249. Title: "Disabilita completamento automatico dei suggerimenti",
  250. SubTitle:
  251. "Inserisci / all'inizio della casella di input per attivare il completamento automatico",
  252. },
  253. List: "Elenco dei suggerimenti personalizzati",
  254. ListCount: (builtin: number, custom: number) =>
  255. `${builtin} predefiniti, ${custom} definiti dall'utente`,
  256. Edit: "Modifica",
  257. Modal: {
  258. Title: "Elenco dei suggerimenti",
  259. Add: "Nuovo",
  260. Search: "Cerca suggerimenti",
  261. },
  262. EditModal: {
  263. Title: "Modifica suggerimenti",
  264. },
  265. },
  266. HistoryCount: {
  267. Title: "Numero di messaggi storici inclusi",
  268. SubTitle: "Numero di messaggi storici inclusi in ogni richiesta",
  269. },
  270. CompressThreshold: {
  271. Title: "Soglia di compressione dei messaggi storici",
  272. SubTitle:
  273. "Quando i messaggi storici non compressi superano questo valore, verranno compressi",
  274. },
  275. Usage: {
  276. Title: "Verifica saldo",
  277. SubTitle(used: any, total: any) {
  278. return `Utilizzato questo mese $${used}, totale abbonamento $${total}`;
  279. },
  280. IsChecking: "Verifica in corso…",
  281. Check: "Verifica di nuovo",
  282. NoAccess:
  283. "Inserisci API Key o password di accesso per visualizzare il saldo",
  284. },
  285. Access: {
  286. AccessCode: {
  287. Title: "Password di accesso",
  288. SubTitle: "L'amministratore ha abilitato l'accesso criptato",
  289. Placeholder: "Inserisci la password di accesso",
  290. },
  291. CustomEndpoint: {
  292. Title: "Interfaccia personalizzata",
  293. SubTitle: "Utilizzare servizi Azure o OpenAI personalizzati",
  294. },
  295. Provider: {
  296. Title: "Fornitore del modello",
  297. SubTitle: "Cambia fornitore di servizi",
  298. },
  299. OpenAI: {
  300. ApiKey: {
  301. Title: "API Key",
  302. SubTitle:
  303. "Utilizza una chiave OpenAI personalizzata per bypassare le limitazioni di accesso",
  304. Placeholder: "API Key OpenAI",
  305. },
  306. Endpoint: {
  307. Title: "Indirizzo dell'interfaccia",
  308. SubTitle: "Deve includere http(s):// oltre all'indirizzo predefinito",
  309. },
  310. },
  311. Azure: {
  312. ApiKey: {
  313. Title: "Chiave dell'interfaccia",
  314. SubTitle:
  315. "Utilizza una chiave Azure personalizzata per bypassare le limitazioni di accesso",
  316. Placeholder: "Chiave API Azure",
  317. },
  318. Endpoint: {
  319. Title: "Indirizzo dell'interfaccia",
  320. SubTitle: "Esempio:",
  321. },
  322. ApiVerion: {
  323. Title: "Versione dell'interfaccia (versione api azure)",
  324. SubTitle: "Scegli una versione specifica",
  325. },
  326. },
  327. Anthropic: {
  328. ApiKey: {
  329. Title: "Chiave dell'interfaccia",
  330. SubTitle:
  331. "Utilizza una chiave Anthropic personalizzata per bypassare le limitazioni di accesso",
  332. Placeholder: "API Key Anthropic",
  333. },
  334. Endpoint: {
  335. Title: "Indirizzo dell'interfaccia",
  336. SubTitle: "Esempio:",
  337. },
  338. ApiVerion: {
  339. Title: "Versione dell'interfaccia (versione api claude)",
  340. SubTitle: "Scegli una versione API specifica",
  341. },
  342. },
  343. Google: {
  344. ApiKey: {
  345. Title: "API Key",
  346. SubTitle: "Ottieni la tua chiave API da Google AI",
  347. Placeholder: "Inserisci la tua chiave API Google AI Studio",
  348. },
  349. Endpoint: {
  350. Title: "Indirizzo dell'interfaccia",
  351. SubTitle: "Esempio:",
  352. },
  353. ApiVersion: {
  354. Title: "Versione API (solo per gemini-pro)",
  355. SubTitle: "Scegli una versione API specifica",
  356. },
  357. GoogleSafetySettings: {
  358. Title: "Livello di filtraggio sicurezza Google",
  359. SubTitle: "Imposta il livello di filtraggio dei contenuti",
  360. },
  361. },
  362. Baidu: {
  363. ApiKey: {
  364. Title: "API Key",
  365. SubTitle: "Utilizza una chiave API Baidu personalizzata",
  366. Placeholder: "API Key Baidu",
  367. },
  368. SecretKey: {
  369. Title: "Secret Key",
  370. SubTitle: "Utilizza una chiave segreta Baidu personalizzata",
  371. Placeholder: "Secret Key Baidu",
  372. },
  373. Endpoint: {
  374. Title: "Indirizzo dell'interfaccia",
  375. SubTitle:
  376. "Non supporta configurazioni personalizzate, andare su .env",
  377. },
  378. },
  379. ByteDance: {
  380. ApiKey: {
  381. Title: "Chiave dell'interfaccia",
  382. SubTitle: "Utilizza una chiave API ByteDance personalizzata",
  383. Placeholder: "API Key ByteDance",
  384. },
  385. Endpoint: {
  386. Title: "Indirizzo dell'interfaccia",
  387. SubTitle: "Esempio:",
  388. },
  389. },
  390. Alibaba: {
  391. ApiKey: {
  392. Title: "Chiave dell'interfaccia",
  393. SubTitle: "Utilizza una chiave API Alibaba Cloud personalizzata",
  394. Placeholder: "API Key Alibaba Cloud",
  395. },
  396. Endpoint: {
  397. Title: "Indirizzo dell'interfaccia",
  398. SubTitle: "Esempio:",
  399. },
  400. },
  401. CustomModel: {
  402. Title: "Nome del modello personalizzato",
  403. SubTitle:
  404. "Aggiungi opzioni di modelli personalizzati, separati da virgole",
  405. },
  406. },
  407. Model: "Modello (model)",
  408. Temperature: {
  409. Title: "Casualità (temperature)",
  410. SubTitle: "Valore più alto, risposte più casuali",
  411. },
  412. TopP: {
  413. Title: "Campionamento nucleare (top_p)",
  414. SubTitle:
  415. "Simile alla casualità, ma non cambiarlo insieme alla casualità",
  416. },
  417. MaxTokens: {
  418. Title: "Limite di token per risposta (max_tokens)",
  419. SubTitle: "Numero massimo di token per ogni interazione",
  420. },
  421. PresencePenalty: {
  422. Title: "Novità del tema (presence_penalty)",
  423. SubTitle:
  424. "Valore più alto, maggiore possibilità di espandere a nuovi argomenti",
  425. },
  426. FrequencyPenalty: {
  427. Title: "Penalità di frequenza (frequency_penalty)",
  428. SubTitle:
  429. "Valore più alto, maggiore possibilità di ridurre le ripetizioni",
  430. },
  431. },
  432. Store: {
  433. DefaultTopic: "Nuova chat",
  434. BotHello: "Come posso aiutarti?",
  435. Error: "Si è verificato un errore, riprova più tardi",
  436. Prompt: {
  437. History: (content: string) =>
  438. "Questo è un riassunto della chat storica come contesto: " + content,
  439. Topic:
  440. "Riporta il tema di questa frase in modo conciso con quattro o cinque parole, senza spiegazioni, punteggiatura, interiezioni, testo superfluo e senza grassetto. Se non c'è un tema, rispondi direttamente con 'chit-chat'",
  441. Summarize:
  442. "Riassumi brevemente il contenuto della conversazione come prompt di contesto per il seguito, mantenendolo entro 200 parole",
  443. },
  444. },
  445. Copy: {
  446. Success: "Copiato negli appunti",
  447. Failed: "Copia fallita, concedi i permessi per gli appunti",
  448. },
  449. Download: {
  450. Success: "Contenuto scaricato nella tua directory.",
  451. Failed: "Download fallito.",
  452. },
  453. Context: {
  454. Toast: (x: any) => `Include ${x} suggerimenti predefiniti`,
  455. Edit: "Impostazioni della conversazione attuale",
  456. Add: "Aggiungi una conversazione",
  457. Clear: "Contesto cancellato",
  458. Revert: "Ripristina contesto",
  459. },
  460. Plugin: {
  461. Name: "Plugin",
  462. },
  463. FineTuned: {
  464. Sysmessage: "Sei un assistente",
  465. },
  466. SearchChat: {
  467. Name: "Cerca",
  468. Page: {
  469. Title: "Cerca nei messaggi",
  470. Search: "Inserisci parole chiave per la ricerca",
  471. NoResult: "Nessun risultato trovato",
  472. NoData: "Nessun dato",
  473. Loading: "Caricamento in corso",
  474. SubTitle: (count: number) => `Trovati ${count} risultati`,
  475. },
  476. Item: {
  477. View: "Visualizza",
  478. },
  479. },
  480. Mask: {
  481. Name: "Maschera",
  482. Page: {
  483. Title: "Maschere dei ruoli predefiniti",
  484. SubTitle: (count: number) => `${count} definizioni di ruoli predefiniti`,
  485. Search: "Cerca maschere di ruolo",
  486. Create: "Crea nuovo",
  487. },
  488. Item: {
  489. Info: (count: number) => `Include ${count} conversazioni predefinite`,
  490. Chat: "Conversazione",
  491. View: "Visualizza",
  492. Edit: "Modifica",
  493. Delete: "Elimina",
  494. DeleteConfirm: "Confermi eliminazione?",
  495. },
  496. EditModal: {
  497. Title: (readonly: boolean) =>
  498. `Modifica maschera predefinita ${readonly ? "(sola lettura)" : ""}`,
  499. Download: "Scarica predefinito",
  500. Clone: "Clona predefinito",
  501. },
  502. Config: {
  503. Avatar: "Avatar del ruolo",
  504. Name: "Nome del ruolo",
  505. Sync: {
  506. Title: "Utilizza impostazioni globali",
  507. SubTitle:
  508. "La conversazione attuale utilizzerà le impostazioni globali del modello",
  509. Confirm:
  510. "Le impostazioni personalizzate della conversazione attuale verranno sovrascritte automaticamente, confermi l'attivazione delle impostazioni globali?",
  511. },
  512. HideContext: {
  513. Title: "Nascondi conversazioni predefinite",
  514. SubTitle:
  515. "Le conversazioni predefinite non appariranno nella finestra della chat dopo averle nascoste",
  516. },
  517. Share: {
  518. Title: "Condividi questa maschera",
  519. SubTitle: "Genera un link diretto a questa maschera",
  520. Action: "Copia link",
  521. },
  522. },
  523. },
  524. NewChat: {
  525. Return: "Torna",
  526. Skip: "Inizia subito",
  527. NotShow: "Non mostrare più",
  528. ConfirmNoShow:
  529. "Confermi di disabilitare? Dopo la disabilitazione, puoi riattivare in qualsiasi momento dalle impostazioni.",
  530. Title: "Scegli una maschera",
  531. SubTitle: "Inizia ora e interagisci con il pensiero dietro la maschera",
  532. More: "Vedi tutto",
  533. },
  534. URLCommand: {
  535. Code: "Codice di accesso rilevato nel link, riempirlo automaticamente?",
  536. Settings:
  537. "Impostazioni predefinite rilevate nel link, riempirle automaticamente?",
  538. },
  539. UI: {
  540. Confirm: "Conferma",
  541. Cancel: "Annulla",
  542. Close: "Chiudi",
  543. Create: "Crea",
  544. Edit: "Modifica",
  545. Export: "Esporta",
  546. Import: "Importa",
  547. Sync: "Sincronizza",
  548. Config: "Configura",
  549. },
  550. Exporter: {
  551. Description: {
  552. Title:
  553. "Solo i messaggi dopo la cancellazione del contesto verranno visualizzati",
  554. },
  555. Model: "Modello",
  556. Messages: "Messaggi",
  557. Topic: "Tema",
  558. Time: "Tempo",
  559. },
  560. };
  561. export default it;