en.ts 21 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773
  1. import { getClientConfig } from "../config/client";
  2. import { SubmitKey } from "../store/config";
  3. import { LocaleType } from "./index";
  4. import { SAAS_CHAT_URL } from "@/app/constant";
  5. // if you are adding a new translation, please use PartialLocaleType instead of LocaleType
  6. const isApp = !!getClientConfig()?.isApp;
  7. const en: LocaleType = {
  8. WIP: "Coming Soon...",
  9. Error: {
  10. Unauthorized: isApp
  11. ? `😆 Oops, there's an issue. No worries:
  12. \\ 1️⃣ New here? [Click to start chatting now 🚀](${SAAS_CHAT_URL})
  13. \\ 2️⃣ Want to use your own OpenAI resources? [Click here](/#/settings) to change settings ⚙️`
  14. : `😆 Oops, there's an issue. Let's fix it:
  15. \ 1️⃣ New here? [Click to start chatting now 🚀](${SAAS_CHAT_URL})
  16. \ 2️⃣ Using a private setup? [Click here](/#/auth) to enter your key 🔑
  17. \ 3️⃣ Want to use your own OpenAI resources? [Click here](/#/settings) to change settings ⚙️
  18. `,
  19. },
  20. Auth: {
  21. Return: "Return",
  22. Title: "Need Access Code",
  23. Tips: "Please enter access code below",
  24. SubTips: "Or enter your OpenAI or Google API Key",
  25. Input: "access code",
  26. Confirm: "Confirm",
  27. Later: "Later",
  28. SaasTips: "Too Complex, Use Immediately Now",
  29. },
  30. ChatItem: {
  31. ChatItemCount: (count: number) => `${count} messages`,
  32. },
  33. Chat: {
  34. SubTitle: (count: number) => `${count} messages`,
  35. EditMessage: {
  36. Title: "Edit All Messages",
  37. Topic: {
  38. Title: "Topic",
  39. SubTitle: "Change the current topic",
  40. },
  41. },
  42. Actions: {
  43. ChatList: "Go To Chat List",
  44. CompressedHistory: "Compressed History Memory Prompt",
  45. Export: "Export All Messages as Markdown",
  46. Copy: "Copy",
  47. Stop: "Stop",
  48. Retry: "Retry",
  49. Pin: "Pin",
  50. PinToastContent: "Pinned 1 messages to contextual prompts",
  51. PinToastAction: "View",
  52. Delete: "Delete",
  53. Edit: "Edit",
  54. FullScreen: "FullScreen",
  55. RefreshTitle: "Refresh Title",
  56. RefreshToast: "Title refresh request sent",
  57. Speech: "Play",
  58. StopSpeech: "Stop",
  59. },
  60. Commands: {
  61. new: "Start a new chat",
  62. newm: "Start a new chat with mask",
  63. next: "Next Chat",
  64. prev: "Previous Chat",
  65. clear: "Clear Context",
  66. fork: "Copy Chat",
  67. del: "Delete Chat",
  68. },
  69. InputActions: {
  70. Stop: "Stop",
  71. ToBottom: "To Latest",
  72. Theme: {
  73. auto: "Auto",
  74. light: "Light Theme",
  75. dark: "Dark Theme",
  76. },
  77. Prompt: "Prompts",
  78. Masks: "Masks",
  79. Clear: "Clear Context",
  80. Settings: "Settings",
  81. UploadImage: "Upload Images",
  82. },
  83. Rename: "Rename Chat",
  84. Typing: "Typing…",
  85. Input: (submitKey: string) => {
  86. var inputHints = `${submitKey} to send`;
  87. if (submitKey === String(SubmitKey.Enter)) {
  88. inputHints += ", Shift + Enter to wrap";
  89. }
  90. return inputHints + ", / to search prompts, : to use commands";
  91. },
  92. Send: "Send",
  93. StartSpeak: "Start Speak",
  94. StopSpeak: "Stop Speak",
  95. Config: {
  96. Reset: "Reset to Default",
  97. SaveAs: "Save as Mask",
  98. },
  99. IsContext: "Contextual Prompt",
  100. ShortcutKey: {
  101. Title: "Keyboard Shortcuts",
  102. newChat: "Open New Chat",
  103. focusInput: "Focus Input Field",
  104. copyLastMessage: "Copy Last Reply",
  105. copyLastCode: "Copy Last Code Block",
  106. showShortcutKey: "Show Shortcuts",
  107. },
  108. },
  109. Export: {
  110. Title: "Export Messages",
  111. Copy: "Copy All",
  112. Download: "Download",
  113. MessageFromYou: "Message From You",
  114. MessageFromChatGPT: "Message From ChatGPT",
  115. Share: "Share to ShareGPT",
  116. Format: {
  117. Title: "Export Format",
  118. SubTitle: "Markdown or PNG Image",
  119. },
  120. IncludeContext: {
  121. Title: "Including Context",
  122. SubTitle: "Export context prompts in mask or not",
  123. },
  124. Steps: {
  125. Select: "Select",
  126. Preview: "Preview",
  127. },
  128. Image: {
  129. Toast: "Capturing Image...",
  130. Modal: "Long press or right click to save image",
  131. },
  132. Artifacts: {
  133. Title: "Share Artifacts",
  134. Error: "Share Error",
  135. },
  136. },
  137. Select: {
  138. Search: "Search",
  139. All: "Select All",
  140. Latest: "Select Latest",
  141. Clear: "Clear",
  142. },
  143. Memory: {
  144. Title: "Memory Prompt",
  145. EmptyContent: "Nothing yet.",
  146. Send: "Send Memory",
  147. Copy: "Copy Memory",
  148. Reset: "Reset Session",
  149. ResetConfirm:
  150. "Resetting will clear the current conversation history and historical memory. Are you sure you want to reset?",
  151. },
  152. Home: {
  153. NewChat: "New Chat",
  154. DeleteChat: "Confirm to delete the selected conversation?",
  155. DeleteToast: "Chat Deleted",
  156. Revert: "Revert",
  157. },
  158. Settings: {
  159. Title: "Settings",
  160. SubTitle: "All Settings",
  161. ShowPassword: "ShowPassword",
  162. Danger: {
  163. Reset: {
  164. Title: "Reset All Settings",
  165. SubTitle: "Reset all setting items to default",
  166. Action: "Reset",
  167. Confirm: "Confirm to reset all settings to default?",
  168. },
  169. Clear: {
  170. Title: "Clear All Data",
  171. SubTitle: "Clear all messages and settings",
  172. Action: "Clear",
  173. Confirm: "Confirm to clear all messages and settings?",
  174. },
  175. },
  176. Lang: {
  177. Name: "Language", // ATTENTION: if you wanna add a new translation, please do not translate this value, leave it as `Language`
  178. All: "All Languages",
  179. },
  180. Avatar: "Avatar",
  181. FontSize: {
  182. Title: "Font Size",
  183. SubTitle: "Adjust font size of chat content",
  184. },
  185. FontFamily: {
  186. Title: "Chat Font Family",
  187. SubTitle:
  188. "Font Family of the chat content, leave empty to apply global default font",
  189. Placeholder: "Font Family Name",
  190. },
  191. InjectSystemPrompts: {
  192. Title: "Inject System Prompts",
  193. SubTitle: "Inject a global system prompt for every request",
  194. },
  195. InputTemplate: {
  196. Title: "Input Template",
  197. SubTitle: "Newest message will be filled to this template",
  198. },
  199. Update: {
  200. Version: (x: string) => `Version: ${x}`,
  201. IsLatest: "Latest version",
  202. CheckUpdate: "Check Update",
  203. IsChecking: "Checking update...",
  204. FoundUpdate: (x: string) => `Found new version: ${x}`,
  205. GoToUpdate: "Update",
  206. },
  207. SendKey: "Send Key",
  208. Theme: "Theme",
  209. TightBorder: "Tight Border",
  210. SendPreviewBubble: {
  211. Title: "Send Preview Bubble",
  212. SubTitle: "Preview markdown in bubble",
  213. },
  214. AutoGenerateTitle: {
  215. Title: "Auto Generate Title",
  216. SubTitle: "Generate a suitable title based on the conversation content",
  217. },
  218. Sync: {
  219. CloudState: "Last Update",
  220. NotSyncYet: "Not sync yet",
  221. Success: "Sync Success",
  222. Fail: "Sync Fail",
  223. Config: {
  224. Modal: {
  225. Title: "Config Sync",
  226. Check: "Check Connection",
  227. },
  228. SyncType: {
  229. Title: "Sync Type",
  230. SubTitle: "Choose your favorite sync service",
  231. },
  232. Proxy: {
  233. Title: "Enable CORS Proxy",
  234. SubTitle: "Enable a proxy to avoid cross-origin restrictions",
  235. },
  236. ProxyUrl: {
  237. Title: "Proxy Endpoint",
  238. SubTitle:
  239. "Only applicable to the built-in CORS proxy for this project",
  240. },
  241. WebDav: {
  242. Endpoint: "WebDAV Endpoint",
  243. UserName: "User Name",
  244. Password: "Password",
  245. },
  246. UpStash: {
  247. Endpoint: "UpStash Redis REST Url",
  248. UserName: "Backup Name",
  249. Password: "UpStash Redis REST Token",
  250. },
  251. },
  252. LocalState: "Local Data",
  253. Overview: (overview: any) => {
  254. return `${overview.chat} chats,${overview.message} messages,${overview.prompt} prompts,${overview.mask} masks`;
  255. },
  256. ImportFailed: "Failed to import from file",
  257. },
  258. Mask: {
  259. Splash: {
  260. Title: "Mask Splash Screen",
  261. SubTitle: "Show a mask splash screen before starting new chat",
  262. },
  263. Builtin: {
  264. Title: "Hide Builtin Masks",
  265. SubTitle: "Hide builtin masks in mask list",
  266. },
  267. },
  268. Prompt: {
  269. Disable: {
  270. Title: "Disable auto-completion",
  271. SubTitle: "Input / to trigger auto-completion",
  272. },
  273. List: "Prompt List",
  274. ListCount: (builtin: number, custom: number) =>
  275. `${builtin} built-in, ${custom} user-defined`,
  276. Edit: "Edit",
  277. Modal: {
  278. Title: "Prompt List",
  279. Add: "Add One",
  280. Search: "Search Prompts",
  281. },
  282. EditModal: {
  283. Title: "Edit Prompt",
  284. },
  285. },
  286. HistoryCount: {
  287. Title: "Attached Messages Count",
  288. SubTitle: "Number of sent messages attached per request",
  289. },
  290. CompressThreshold: {
  291. Title: "History Compression Threshold",
  292. SubTitle:
  293. "Will compress if uncompressed messages length exceeds the value",
  294. },
  295. Usage: {
  296. Title: "Account Balance",
  297. SubTitle(used: any, total: any) {
  298. return `Used this month $${used}, subscription $${total}`;
  299. },
  300. IsChecking: "Checking...",
  301. Check: "Check",
  302. NoAccess: "Enter API Key to check balance",
  303. },
  304. Access: {
  305. SaasStart: {
  306. Title: "Use NextChat AI",
  307. Label: " (Most Cost-Effective Option)",
  308. SubTitle:
  309. "Maintained by NextChat, zero setup needed, supports the latest models like GPT-4o, Gemini, Claude3, and more.",
  310. ChatNow: "Start Now",
  311. },
  312. AccessCode: {
  313. Title: "Access Code",
  314. SubTitle: "Access control Enabled",
  315. Placeholder: "Enter Code",
  316. },
  317. CustomEndpoint: {
  318. Title: "Custom Endpoint",
  319. SubTitle: "Use custom Azure or OpenAI service",
  320. },
  321. Provider: {
  322. Title: "Model Provider",
  323. SubTitle: "Select Azure or OpenAI",
  324. },
  325. OpenAI: {
  326. ApiKey: {
  327. Title: "OpenAI API Key",
  328. SubTitle: "User custom OpenAI Api Key",
  329. Placeholder: "sk-xxx",
  330. },
  331. Endpoint: {
  332. Title: "OpenAI Endpoint",
  333. SubTitle: "Must start with http(s):// or use /api/openai as default",
  334. },
  335. },
  336. Azure: {
  337. ApiKey: {
  338. Title: "Azure Api Key",
  339. SubTitle: "Check your api key from Azure console",
  340. Placeholder: "Azure Api Key",
  341. },
  342. Endpoint: {
  343. Title: "Azure Endpoint",
  344. SubTitle: "Example: ",
  345. },
  346. ApiVerion: {
  347. Title: "Azure Api Version",
  348. SubTitle: "Check your api version from azure console",
  349. },
  350. },
  351. Anthropic: {
  352. ApiKey: {
  353. Title: "Anthropic API Key",
  354. SubTitle:
  355. "Use a custom Anthropic Key to bypass password access restrictions",
  356. Placeholder: "Anthropic API Key",
  357. },
  358. Endpoint: {
  359. Title: "Endpoint Address",
  360. SubTitle: "Example: ",
  361. },
  362. ApiVerion: {
  363. Title: "API Version (claude api version)",
  364. SubTitle: "Select and input a specific API version",
  365. },
  366. },
  367. Baidu: {
  368. ApiKey: {
  369. Title: "Baidu API Key",
  370. SubTitle: "Use a custom Baidu API Key",
  371. Placeholder: "Baidu API Key",
  372. },
  373. SecretKey: {
  374. Title: "Baidu Secret Key",
  375. SubTitle: "Use a custom Baidu Secret Key",
  376. Placeholder: "Baidu Secret Key",
  377. },
  378. Endpoint: {
  379. Title: "Endpoint Address",
  380. SubTitle: "not supported, configure in .env",
  381. },
  382. },
  383. Tencent: {
  384. ApiKey: {
  385. Title: "Tencent API Key",
  386. SubTitle: "Use a custom Tencent API Key",
  387. Placeholder: "Tencent API Key",
  388. },
  389. SecretKey: {
  390. Title: "Tencent Secret Key",
  391. SubTitle: "Use a custom Tencent Secret Key",
  392. Placeholder: "Tencent Secret Key",
  393. },
  394. Endpoint: {
  395. Title: "Endpoint Address",
  396. SubTitle: "not supported, configure in .env",
  397. },
  398. },
  399. ByteDance: {
  400. ApiKey: {
  401. Title: "ByteDance API Key",
  402. SubTitle: "Use a custom ByteDance API Key",
  403. Placeholder: "ByteDance API Key",
  404. },
  405. Endpoint: {
  406. Title: "Endpoint Address",
  407. SubTitle: "Example: ",
  408. },
  409. },
  410. Alibaba: {
  411. ApiKey: {
  412. Title: "Alibaba API Key",
  413. SubTitle: "Use a custom Alibaba Cloud API Key",
  414. Placeholder: "Alibaba Cloud API Key",
  415. },
  416. Endpoint: {
  417. Title: "Endpoint Address",
  418. SubTitle: "Example: ",
  419. },
  420. },
  421. Moonshot: {
  422. ApiKey: {
  423. Title: "Moonshot API Key",
  424. SubTitle: "Use a custom Moonshot API Key",
  425. Placeholder: "Moonshot API Key",
  426. },
  427. Endpoint: {
  428. Title: "Endpoint Address",
  429. SubTitle: "Example: ",
  430. },
  431. },
  432. Stability: {
  433. ApiKey: {
  434. Title: "Stability API Key",
  435. SubTitle: "Use a custom Stability API Key",
  436. Placeholder: "Stability API Key",
  437. },
  438. Endpoint: {
  439. Title: "Endpoint Address",
  440. SubTitle: "Example: ",
  441. },
  442. },
  443. Iflytek: {
  444. ApiKey: {
  445. Title: "Iflytek API Key",
  446. SubTitle: "Use a Iflytek API Key",
  447. Placeholder: "Iflytek API Key",
  448. },
  449. ApiSecret: {
  450. Title: "Iflytek API Secret",
  451. SubTitle: "Use a Iflytek API Secret",
  452. Placeholder: "Iflytek API Secret",
  453. },
  454. Endpoint: {
  455. Title: "Endpoint Address",
  456. SubTitle: "Example: ",
  457. },
  458. },
  459. CustomModel: {
  460. Title: "Custom Models",
  461. SubTitle: "Custom model options, seperated by comma",
  462. },
  463. Google: {
  464. ApiKey: {
  465. Title: "API Key",
  466. SubTitle: "Obtain your API Key from Google AI",
  467. Placeholder: "Google AI API Key",
  468. },
  469. Endpoint: {
  470. Title: "Endpoint Address",
  471. SubTitle: "Example: ",
  472. },
  473. ApiVersion: {
  474. Title: "API Version (specific to gemini-pro)",
  475. SubTitle: "Select a specific API version",
  476. },
  477. GoogleSafetySettings: {
  478. Title: "Google Safety Settings",
  479. SubTitle: "Select a safety filtering level",
  480. },
  481. },
  482. },
  483. Model: "Model",
  484. CompressModel: {
  485. Title: "Compression Model",
  486. SubTitle: "Model used to compress history",
  487. },
  488. Temperature: {
  489. Title: "Temperature",
  490. SubTitle: "A larger value makes the more random output",
  491. },
  492. TopP: {
  493. Title: "Top P",
  494. SubTitle: "Do not alter this value together with temperature",
  495. },
  496. MaxTokens: {
  497. Title: "Max Tokens",
  498. SubTitle: "Maximum length of input tokens and generated tokens",
  499. },
  500. PresencePenalty: {
  501. Title: "Presence Penalty",
  502. SubTitle:
  503. "A larger value increases the likelihood to talk about new topics",
  504. },
  505. FrequencyPenalty: {
  506. Title: "Frequency Penalty",
  507. SubTitle:
  508. "A larger value decreasing the likelihood to repeat the same line",
  509. },
  510. TTS: {
  511. Enable: {
  512. Title: "Enable TTS",
  513. SubTitle: "Enable text-to-speech service",
  514. },
  515. Autoplay: {
  516. Title: "Enable Autoplay",
  517. SubTitle:
  518. "Automatically generate speech and play, you need to enable the text-to-speech switch first",
  519. },
  520. Model: "Model",
  521. Voice: {
  522. Title: "Voice",
  523. SubTitle: "The voice to use when generating the audio",
  524. },
  525. Speed: {
  526. Title: "Speed",
  527. SubTitle: "The speed of the generated audio",
  528. },
  529. Engine: "TTS Engine",
  530. },
  531. },
  532. Store: {
  533. DefaultTopic: "New Conversation",
  534. BotHello: "Hello! How can I assist you today?",
  535. Error: "Something went wrong, please try again later.",
  536. Prompt: {
  537. History: (content: string) =>
  538. "This is a summary of the chat history as a recap: " + content,
  539. Topic:
  540. "Please generate a four to five word title summarizing our conversation without any lead-in, punctuation, quotation marks, periods, symbols, bold text, or additional text. Remove enclosing quotation marks.",
  541. Summarize:
  542. "Summarize the discussion briefly in 200 words or less to use as a prompt for future context.",
  543. },
  544. },
  545. Copy: {
  546. Success: "Copied to clipboard",
  547. Failed: "Copy failed, please grant permission to access clipboard",
  548. },
  549. Download: {
  550. Success: "Content downloaded to your directory.",
  551. Failed: "Download failed.",
  552. },
  553. Context: {
  554. Toast: (x: any) => `With ${x} contextual prompts`,
  555. Edit: "Current Chat Settings",
  556. Add: "Add a Prompt",
  557. Clear: "Context Cleared",
  558. Revert: "Revert",
  559. },
  560. Discovery: {
  561. Name: "Discovery",
  562. },
  563. FineTuned: {
  564. Sysmessage: "You are an assistant that",
  565. },
  566. SearchChat: {
  567. Name: "Search",
  568. Page: {
  569. Title: "Search Chat History",
  570. Search: "Enter search query to search chat history",
  571. NoResult: "No results found",
  572. NoData: "No data",
  573. Loading: "Loading...",
  574. SubTitle: (count: number) => `Found ${count} results`,
  575. },
  576. Item: {
  577. View: "View",
  578. },
  579. },
  580. Plugin: {
  581. Name: "Plugin",
  582. Page: {
  583. Title: "Plugins",
  584. SubTitle: (count: number) => `${count} plugins`,
  585. Search: "Search Plugin",
  586. Create: "Create",
  587. Find: "You can find awesome plugins on github: ",
  588. },
  589. Item: {
  590. Info: (count: number) => `${count} method`,
  591. View: "View",
  592. Edit: "Edit",
  593. Delete: "Delete",
  594. DeleteConfirm: "Confirm to delete?",
  595. },
  596. Auth: {
  597. None: "None",
  598. Basic: "Basic",
  599. Bearer: "Bearer",
  600. Custom: "Custom",
  601. CustomHeader: "Parameter Name",
  602. Token: "Token",
  603. Proxy: "Using Proxy",
  604. ProxyDescription: "Using proxies to solve CORS error",
  605. Location: "Location",
  606. LocationHeader: "Header",
  607. LocationQuery: "Query",
  608. LocationBody: "Body",
  609. },
  610. EditModal: {
  611. Title: (readonly: boolean) =>
  612. `Edit Plugin ${readonly ? "(readonly)" : ""}`,
  613. Download: "Download",
  614. Auth: "Authentication Type",
  615. Content: "OpenAPI Schema",
  616. Load: "Load From URL",
  617. Method: "Method",
  618. Error: "OpenAPI Schema Error",
  619. },
  620. },
  621. Mask: {
  622. Name: "Mask",
  623. Page: {
  624. Title: "Prompt Template",
  625. SubTitle: (count: number) => `${count} prompt templates`,
  626. Search: "Search Templates",
  627. Create: "Create",
  628. },
  629. Item: {
  630. Info: (count: number) => `${count} prompts`,
  631. Chat: "Chat",
  632. View: "View",
  633. Edit: "Edit",
  634. Delete: "Delete",
  635. DeleteConfirm: "Confirm to delete?",
  636. },
  637. EditModal: {
  638. Title: (readonly: boolean) =>
  639. `Edit Prompt Template ${readonly ? "(readonly)" : ""}`,
  640. Download: "Download",
  641. Clone: "Clone",
  642. },
  643. Config: {
  644. Avatar: "Bot Avatar",
  645. Name: "Bot Name",
  646. Sync: {
  647. Title: "Use Global Config",
  648. SubTitle: "Use global config in this chat",
  649. Confirm: "Confirm to override custom config with global config?",
  650. },
  651. HideContext: {
  652. Title: "Hide Context Prompts",
  653. SubTitle: "Do not show in-context prompts in chat",
  654. },
  655. Artifacts: {
  656. Title: "Enable Artifacts",
  657. SubTitle: "Can render HTML page when enable artifacts.",
  658. },
  659. Share: {
  660. Title: "Share This Mask",
  661. SubTitle: "Generate a link to this mask",
  662. Action: "Copy Link",
  663. },
  664. },
  665. },
  666. NewChat: {
  667. Return: "Return",
  668. Skip: "Just Start",
  669. Title: "Pick a Mask",
  670. SubTitle: "Chat with the Soul behind the Mask",
  671. More: "Find More",
  672. NotShow: "Never Show Again",
  673. ConfirmNoShow: "Confirm to disable?You can enable it in settings later.",
  674. },
  675. UI: {
  676. Confirm: "Confirm",
  677. Cancel: "Cancel",
  678. Close: "Close",
  679. Create: "Create",
  680. Edit: "Edit",
  681. Export: "Export",
  682. Import: "Import",
  683. Sync: "Sync",
  684. Config: "Config",
  685. },
  686. Exporter: {
  687. Description: {
  688. Title: "Only messages after clearing the context will be displayed",
  689. },
  690. Model: "Model",
  691. Messages: "Messages",
  692. Topic: "Topic",
  693. Time: "Time",
  694. },
  695. URLCommand: {
  696. Code: "Detected access code from url, confirm to apply? ",
  697. Settings: "Detected settings from url, confirm to apply?",
  698. },
  699. SdPanel: {
  700. Prompt: "Prompt",
  701. NegativePrompt: "Negative Prompt",
  702. PleaseInput: (name: string) => `Please input ${name}`,
  703. AspectRatio: "Aspect Ratio",
  704. ImageStyle: "Image Style",
  705. OutFormat: "Output Format",
  706. AIModel: "AI Model",
  707. ModelVersion: "Model Version",
  708. Submit: "Submit",
  709. ParamIsRequired: (name: string) => `${name} is required`,
  710. Styles: {
  711. D3Model: "3d-model",
  712. AnalogFilm: "analog-film",
  713. Anime: "anime",
  714. Cinematic: "cinematic",
  715. ComicBook: "comic-book",
  716. DigitalArt: "digital-art",
  717. Enhance: "enhance",
  718. FantasyArt: "fantasy-art",
  719. Isometric: "isometric",
  720. LineArt: "line-art",
  721. LowPoly: "low-poly",
  722. ModelingCompound: "modeling-compound",
  723. NeonPunk: "neon-punk",
  724. Origami: "origami",
  725. Photographic: "photographic",
  726. PixelArt: "pixel-art",
  727. TileTexture: "tile-texture",
  728. },
  729. },
  730. Sd: {
  731. SubTitle: (count: number) => `${count} images`,
  732. Actions: {
  733. Params: "See Params",
  734. Copy: "Copy Prompt",
  735. Delete: "Delete",
  736. Retry: "Retry",
  737. ReturnHome: "Return Home",
  738. History: "History",
  739. },
  740. EmptyRecord: "No images yet",
  741. Status: {
  742. Name: "Status",
  743. Success: "Success",
  744. Error: "Error",
  745. Wait: "Waiting",
  746. Running: "Running",
  747. },
  748. Danger: {
  749. Delete: "Confirm to delete?",
  750. },
  751. GenerateParams: "Generate Params",
  752. Detail: "Detail",
  753. },
  754. };
  755. export default en;