it.ts 19 KB

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