{ "loginPage": { "title": "Login", "welcome": "Welcome to ERitors", "orSocial": "or continue with", "noAccount": "Don't have an account yet?", "createAccount": "Create one here", "backToLogin": "Back to login", "offlineWarning": { "title": "First sync required", "message": "An Internet connection is required for your first login to sync your data." } }, "loginForm": { "error": { "emailRequired": "Your email must be filled in.", "passwordRequired": "Your password must be filled in.", "emailLength": "Your email must have at least 3 characters.", "emailInvalidChars": "Your email contains invalid characters.", "connection": "An error occurred during login.", "server": "A server error occurred during login.", "unknown": "An unknown error occurred during login." }, "fields": { "email": { "label": "Email address", "placeholder": "your.email@example.com" }, "password": { "label": "Password", "placeholder": "••••••••", "forgot": "Forgot password?" } }, "loading": "Logging in...", "submit": "Log in" }, "registerPage": { "title": "Create account", "subtitle": "Create a free account and start your adventure with us.", "progress": { "infos": "Information", "verif": "Verification" }, "backToLogin": "Back to login" }, "resetPassword": { "title": "Forgot password", "subtitle": "Reset your password in a few simple steps", "progress": { "email": "Email", "verification": "Verification", "final": "Finalization" }, "fields": { "email": { "label": "Email address", "placeholder": "your.email@example.com" }, "code": { "label": "Verification code", "placeholder": "Enter the code received by email" }, "newPassword": { "label": "New password", "placeholder": "••••••••" } }, "verify": "Verify", "confirm": "Confirm", "changePassword": "Change password", "back": "Back", "success": "Your password has been successfully updated!", "goToLogin": "Go to login page", "backToLogin": "Back to login", "error": { "codeServer": "An error occurred while verifying the code on the server.", "codeUnknown": "An unknown error occurred while verifying the code.", "emailInvalid": "Your email is invalid. Please enter a valid email address.", "emailFormat": "Your input is not a valid email address.", "emailServer": "An error occurred while verifying the email on the server.", "emailUnknown": "An unknown error occurred while verifying the email.", "passwordServer": "An error occurred while changing the password on the server.", "passwordUnknown": "An unknown error occurred while changing the password." } }, "controllerBar": { "bookNotFound": "No book found", "errorGettingBook": "Error while trying to get the book information", "selectBook": "Select a book", "bookSettings": "Book settings", "chapterNotFound": "Chapter not found", "unknownBookError": "Unknown error while retrieving book", "unknownChapterError": "Unknown error while retrieving chapter" }, "bookList": { "library": "Library", "booksAreMirrors": "\"Books are the mirrors of the soul\"", "works": "works", "welcomeWritingWorkshop": "Welcome to your writing workshop!", "whitePageText": "The blank page is waiting for your creativity. Add your first work to start your literary adventure.", "guideStep0Title": "Congratulations", "guideStep0Content": "Your first work has been successfully added. This is the beginning of your adventure with ERitors Scribe. All your works are listed here, categorized by the type you create.", "guideStep1Title": "Your work", "guideStep1Content": "This is the work you just added. A simple click allows you to enter the Scribe editor and start letting your imagination flow.", "guideStep2Title": "Work options", "guideStep2ContentGear": "lets you manage your work's settings, such as the title, guidelines, and many other options.", "guideStep2ContentDownload": "lets you download your content as EPUB, PDF, and DOCX.", "guideStep2ContentTrash": "lets you permanently delete your work.", "errorBookCreate": "An error occurred while creating the book.", "errorBooksFetch": "An error occurred while retrieving the books.", "errorBookDetails": "Error fetching book details.", "errorUnknown": "An unknown error occurred." }, "bookCard": { "noCoverAlt": "No cover", "initialsSeparator": ".", "subtitlePlaceholder": "No subtitle", "synced": "Synced", "localOnly": "Local only", "serverOnly": "Server only", "toSyncFromServer": "Download from server", "toSyncToServer": "Upload to server", "sync": "Sync" }, "scribeTopBar": { "logoAlt": "Logo", "scribe": "Scribe", "separator": " - " }, "scribeLeftBar": { "editorComponents": { "structure": { "title": "Structure", "description": "Organize your story with chapters, scenes, and characters.", "badge": "STR" } }, "homeComponents": { "addBook": { "title": "Add a book", "description": "Add a book to your library.", "badge": "ADD" }, "generateStory": { "title": "Generate a story", "description": "Generate a story from scratch.", "badge": "+" }, "lyricGenerator": { "title": "Lyrics Generator", "description": "Create song lyrics in a few clicks.", "badge": "Lyrics" } } }, "scribeChapterComponent": { "sheetHeading": "Sheet", "createSheet": "Create your sheet", "chaptersHeading": "Chapters", "addChapterPlaceholder": "+ Add a chapter", "deleteChapterTitle": "Delete chapter", "deleteChapterMessage": "You are about to delete a chapter", "errorChapterUpdate": "An error occurred while updating the chapter.", "errorChapterDelete": "An error occurred while deleting the chapter.", "errorChapterNameRequired": "Chapter name is required.", "errorChapterSubmit": "Error while trying to submit {chapterName} chapter.", "errorFetchChapter": "Error while fetching chapter.", "errorFetchChapters": "Error while fetching chapters.", "successUpdate": "Chapter updated successfully.", "unknownErrorChapterDelete": "Unknown error while deleting chapter." }, "composerRightBar": { "editorComponents": { "quillSense": { "title": "QuillSense", "description": "Get writing advice and suggestions to improve your story.", "badge": "AI" }, "worlds": { "title": "Worlds", "description": "Develop the worlds of your story, including geography and culture.", "badge": "WORLD" }, "locations": { "title": "Locations", "description": "Add locations and environments to your story.", "badge": "LOC" }, "characters": { "title": "Characters", "description": "Create and manage your characters, their relationships, and story arcs.", "badge": "CHAR" }, "items": { "title": "Items", "description": "Manage important items in your story.", "badge": "ITEM" } }, "homeComponents": { "about": { "title": "About ERitors", "description": "Discover ERitors features and advantages.", "badge": "INFO" }, "facebook": { "title": "Facebook", "description": "Join our community on Facebook.", "badge": "FB" }, "discord": { "title": "Discord", "description": "Join our community on Discord.", "badge": "DISCORD" } } }, "quillSense": { "needSubscription": "Please subscribe to QuillSense or bring your keys to access this feature.", "subscriptionDescription": "Unlock powerful writing tools to enrich your prose.", "toggleList": "Show the list of conversations", "options": { "chat": "Chat", "dictionary": "Dictionary", "synonyms": "Synonyms", "conjugator": "Conjugator", "inspiration": "Inspiration" } }, "dictionary": { "fieldName": "Smart dictionary", "searchPlaceholder": "Search for a word...", "searchAction": "Search", "loading": "Searching...", "definitionHeading": "Definition", "exampleHeading": "Example", "literaryUsageHeading": "Literary usage", "description": "Search for a word to get its definition, usage examples, and literary tips.", "errorUnknown": "An unknown error occurred while searching for the word." }, "synonyms": { "heading": "Lexical search", "subheading": "Explore the vocabulary", "optionSynonyms": "Synonyms", "optionAntonyms": "Antonyms", "inputPlaceholder": "Enter a word...", "enterWordError": "Please enter a word to search.", "loading": "Searching...", "resultSynonyms": "Synonyms for \"{word}\"", "resultAntonyms": "Antonyms for \"{word}\"", "emptySynonymsTitle": "Synonym Search", "emptyAntonymsTitle": "Antonym Search", "emptySynonymsDescription": "Enter a word to find synonyms suitable for different writing contexts.", "emptyAntonymsDescription": "Enter a word to find antonyms suitable for different writing contexts.", "errorUnknown": "An unknown error occurred while searching for the word." }, "inspireMe": { "fieldName": "Find inspiration", "inputPlaceholder": "How would you like to be inspired?", "actionLabel": "Inspire me", "loading": "Looking for inspiration...", "resultHeading": "Inspiration ideas", "justificationHeading": "Justification", "linkHeading": "Link to the story", "emptyHeading": "Inspire me", "emptyDescription": "Search for ideas to enrich your writing. Enter a prompt and let AI inspire you with creative suggestions based on your current content.", "emptyPromptError": "Please enter a prompt to get inspired.", "errorUnknown": "An unknown error occurred while trying to fetch inspiration." }, "conjugator": { "locked": { "title": "Access Required", "description": "A QuillSense basic level subscription or an OpenAI API key is required to activate the smart conjugator." }, "input": { "placeholder": "Enter a verb to conjugate...", "label": "Verb", "action": "Conjugate" }, "loading": "Conjugating...", "welcome": { "title": "Conjugator", "description": "Enter a verb to see all its conjugations in different moods and tenses." }, "error": { "unknown": "An unknown error has occurred" }, "persons": { "je": "I", "tu": "you", "il": "he/she", "nous": "we", "vous": "you", "ils": "they" } }, "worldSetting": { "getWorldsError": "Error while fetching worlds.", "unknownError": "Unknown error.", "newWorldNameError": "Please enter a name for the new world.", "selectWorld": "World", "addWorldLabel": "Add world", "createWorldLabel": "Create world", "selectWorldPlaceholder": "Select a world", "noWorldAvailable": "No world available.", "newWorldPlaceholder": "New world name...", "worldName": "World name", "worldNamePlaceholder": "Enter the world name", "worldHistory": "World history", "worldHistoryPlaceholder": "Describe the history of your world", "politics": "Political description", "politicsPlaceholder": "The political description of this world...", "economy": "Rules and economic status", "economyPlaceholder": "The rules and economic status of the world.", "religion": "Religions", "religionPlaceholder": "Talk about religious rules and restrictions.", "languages": "Languages", "languagesPlaceholder": "Create your own language or simply mention those available.", "updateWorldError": "Failed to update:", "addWorldError": "Error adding world.", "updateWorldSuccess": "World updated successfully." }, "locationComponent": { "newSectionPlaceholder": "New section name", "addSectionLabel": "Add section", "elementNamePlaceholder": "Element name", "elementDescriptionPlaceholder": "Element description", "subElementsHeading": "Sub-elements", "subElementNamePlaceholder": "Sub-element name", "subElementDescriptionPlaceholder": "Sub-element description", "newSubElementPlaceholder": "New sub-element", "noElementAvailable": "No element available. Add one below!", "newElementPlaceholder": "New element", "noSectionAvailable": "No section available.", "createSectionLabel": "Create section", "errorSectionNameEmpty": "Section name cannot be empty.", "errorElementNameEmpty": "Element name cannot be empty.", "errorSubElementNameEmpty": "Sub-element name cannot be empty.", "errorAddSection": "An error occurred while adding the section.", "errorUnknownAddSection": "Unable to add the section. Please try again later.", "errorAddElement": "An error occurred while adding the element.", "errorUnknownAddElement": "Unable to add the element. Please try again later.", "errorAddSubElement": "An error occurred while adding the sub-element.", "errorUnknownAddSubElement": "Unable to add the sub-element. Please try again later.", "errorDeleteElement": "An error occurred while deleting the element.", "errorUnknownDeleteElement": "Unable to delete the element. Please try again later.", "errorDeleteSubElement": "An error occurred while deleting the sub-element.", "errorUnknownDeleteSubElement": "Unable to delete the sub-element. Please try again later.", "errorDeleteSection": "An error occurred while deleting the section.", "errorUnknownDeleteSection": "Unable to delete the section. Please try again later.", "errorSave": "An error occurred while saving the locations.", "errorUnknownSave": "Unable to save changes. Please try again later.", "errorUnknownFetchLocations": "Unknown error fetching locations.", "successSave": "Locations saved successfully." }, "characterComponent": { "errorNameRequired": "Character name is required.", "errorCategoryRequired": "Character role is required.", "successAdd": "Character added successfully.", "successUpdate": "Character updated successfully.", "errorAddCharacter": "Error adding character.", "errorUpdateCharacter": "Error updating character.", "errorAddAttribute": "Error adding attribute.", "errorRemoveAttribute": "Error removing attribute." }, "characterDetail": { "back": "Back", "newCharacter": "New character", "basicInfo": "Basic information", "name": "Name", "namePlaceholder": "Enter a name", "lastName": "Last name", "lastNamePlaceholder": "Example: Smith", "role": "Role", "title": "Title", "historySection": "Background", "biography": "Biography", "biographyPlaceholder": "Character biography.", "history": "History", "historyPlaceholder": "Character history...", "roleFull": "Role", "roleFullPlaceholder": "Role of the character in the story", "fetchAttributesError": "Error fetching attributes." }, "characterList": { "search": "Search for a character...", "add": "Add a character", "unknownImage": "?", "unknown": "Unknown", "noLastName": "No last name", "noTitle": "No title", "noRole": "No role" }, "characterSectionElement": { "newItem": "New {item}" }, "aboutEditors": { "title": "About Scribe", "version": "Version", "copyrightLabel": "Copyright", "descriptionLabel": "Description", "teamLabel": "Team", "techLabel": "Technologies", "copyright": "© 2025, All rights reserved", "description": "ERitors is an intuitive writing platform designed for authors. Inspired by a passion for captivating stories, ERitors overcomes traditional writing barriers by offering an integrated environment to structure your ideas, manage versions, and develop your narrative worlds. Whether you're writing a short story or an epic novel, ERitors supports you at every stage of your creative journey. Join us and discover how ERitors can transform your writing process.", "teamMember": "Kevin Dorion" }, "bookSettingOption": { "basicInformation": "Basic information", "guideLine": "Guidelines", "storyPlan": "Story plan", "manageWorlds": "Manage worlds", "yourLocations": "Your locations", "characters": "Characters", "objectsList": "Objects list", "bookGoals": "Book goals", "save": "Save", "notAvailable": "Option not available" }, "noBookHome": { "title": "Your work is waiting for its first words", "description": "This work does not have any chapters yet. To start writing, create your first chapter.", "hint": "Click on the Open Book icon in the toolbar to manage the structure" }, "textEditor": { "preferences": "Preferences", "ghostWriter": "Ghost Writer", "draftCompanion": "Draft Companion", "save": "Save", "saving": "Saving...", "toolbar": { "1": "1", "2": "2", "3": "3" } }, "draftCompanion": { "noPreviousVersion": "No previous version of this chapter", "errorFetchDraft": "Error while fetching draft content.", "unknownError": "An unknown error has occurred", "errorRefineText": "Error refining text", "errorRefineDraft": "Error while refining draft: {message}", "unknownErrorRefineDraft": "An unknown error occurred while refining the draft", "successInsert": "Correction successfully inserted", "selectVersion": "Select a version", "words": "Words", "refine": "Refine", "refining": "Refining...", "abortSuccess": "Generation stopped. Token and cost totals will be available on next page refresh." }, "ghostWriter": { "title": "Ghost Writer", "description": "Turn your ideas into captivating prose", "subscriptionRequired": "You must be subscribed to Quill Sense to use Ghost Writer.", "subscribe": "Subscribe", "length": "Text length", "minimum": "Minimum", "maximum": "Maximum", "words": "words", "type": "Writing type", "toneAtmosphere": "Tone and atmosphere", "tonePlaceholder": "Ex: Mysterious, joyful, dark...", "directive": "Creative directives", "importPrompt": "Import prompt", "directivePlaceholder": "Ex: Write a chapter about...", "save": "Save", "advanced": "Advanced", "cancel": "Cancel", "generate": "Generate", "generating": "Generating...", "successGenerate": "Text generated successfully.", "successInsert": "Excerpt successfully inserted", "successImport": "Content imported successfully", "errorGenerate": "An error occurred during generation.", "errorImport": "An error occurred during import.", "errorUnknown": "An unknown error occurred.", "errorUnknownImport": "An unknown error occurred during import.", "noContentFound": "No content found", "promptEmpty": "Advanced prompt cannot be empty.", "errorSaveAdvanced": "Error saving advanced settings.", "successSaveAdvanced": "Advanced settings saved successfully.", "errorSave": "An error occurred during saving.", "errorUnknownSave": "An unknown error occurred during saving.", "errorRetrieveContent": "Error retrieving content.", "errorUnknownRetrieveContent": "Unknown error retrieving content.", "abortSuccess": "Generation stopped. Token and cost totals will be available on next page refresh.", "settings": { "addTagPlaceholder": "Tags", "unknownError": "Unknown error saving settings." }, "tags": { "unknownError": "Unknown error managing tags." } }, "userEditorSettings": { "displayPreferences": "Display preferences", "textSize": "Text size", "zoom": { "Très petit": "Very small", "Petit": "Small", "Normal": "Normal", "Grand": "Large", "Très grand": "Very large" }, "indent": "Paragraph indentation", "indentNone": "None", "indentMax": "Maximum", "lineHeight": "Line height", "lineHeightCompact": "Compact (1.2)", "lineHeightNormal": "Normal (1.5)", "lineHeightSpaced": "Spaced (1.75)", "lineHeightDouble": "Double (2.0)", "fontFamily": "Font family", "fontLora": "Lora (Custom font)", "fontSerif": "Serif (Times, Georgia)", "fontSansSerif": "Sans-serif (Arial, Helvetica)", "fontMonospace": "Monospace (Courier)", "maxWidth": "Content width", "maxWidthNarrow": "Narrow", "maxWidthWide": "Wide", "theme": "Display theme", "themeOption": { "clair": "Light", "sombre": "Dark", "sépia": "Sepia" }, "focusMode": "Focus mode (hide distractions)", "reset": "Reset preferences" }, "scribeFooterBar": { "sheet": "Sheet : ", "madeWith": "Scribe Editor made with", "words": "Words", "books": "Books" }, "addNewBookForm": { "title": "Add a new work", "type": "Book type", "typePlaceholder": "Select a book type", "bookTitle": "Title", "bookTitlePlaceholder": "Book title", "subtitle": "Subtitle", "subtitlePlaceholder": "Subtitle (optional)", "publicationDate": "Desired release date", "wordGoal": "Word goal", "wordGoalPlaceholder": "Word goal", "summary": "Summary", "summaryPlaceholder": "Book summary", "words": "words", "add": "Add", "adding": "Adding...", "error": { "titleMissing": "Oops! Title is missing.", "titleTooShort": "Title is too short. Minimum 2 characters required.", "titleTooLong": "Title is too long. Maximum 50 characters allowed.", "typeMissing": "Select a genre.", "addingBook": "An error occurred while adding the book." }, "bookTypeHint": { "title": "Type of work", "nouvelle": { "title": "Short story", "range": "2,000 - 7,500 words", "description": "Short format centered on a single event. Tight structure, ideal for starting fiction writing." }, "novelette": { "title": "Novelette", "range": "7,500 - 17,500 words", "description": "Intermediate format allowing a secondary plot. Popular in science fiction and fantasy." }, "novella": { "title": "Novella", "range": "17,500 - 40,000 words", "description": "Short but substantial work. Deep character development with optimal narrative density." }, "chapbook": { "title": "Chapbook", "range": "500 - 5,000 words", "description": "Short publication, often experimental. Free and creative format, ideal for testing new styles." }, "roman": { "title": "Novel", "range": "40,000+ words", "description": "Long work with multiple plots and characters. Requires solid structure and rigorous planning." }, "tip": "💡 Tip: Start with a short story to master the basics, then move to longer formats as you gain experience." } }, "searchBook": { "placeholder": "Search for a book..." }, "guideLineSetting": { "saveSuccess": "Guideline saved successfully.", "saveError": "Error saving guideline.", "errorUnknown": "Unknown error saving.", "personal": "Personal", "quillsense": "QuillSense", "tone": "Tone", "tonePlaceholder": "Describe the tone of your book", "atmosphere": "Atmosphere", "atmospherePlaceholder": "Describe the atmosphere of your book", "writingStyle": "Writing style", "writingStylePlaceholder": "Describe the writing style of your book", "themes": "Themes", "themesPlaceholder": "Describe the themes of your book", "themesPlaceholderQuill": "Desired themes", "symbolism": "Symbolism", "symbolismPlaceholder": "Describe the symbolism in your book", "motifs": "Motifs", "motifsPlaceholder": "Describe recurring motifs in your book", "narrativeVoice": "Narrative voice", "narrativeVoicePlaceholder": "Describe the narrative voice of your book", "pacing": "Pacing", "pacingPlaceholder": "Describe the pacing of your book", "intendedAudience": "Intended audience", "intendedAudiencePlaceholder": "Describe the intended audience for your book", "keyMessages": "Key messages", "keyMessagesPlaceholder": "Describe the key messages of your book", "plotSummary": "Plot summary", "plotSummaryPlaceholder": "Plot summary generated by QuillSense", "toneAtmosphere": "Tone and atmosphere", "toneAtmospherePlaceholder": "Recommended tone and atmosphere", "verbTense": "Verb tense", "verbTensePlaceholder": "Recommended verb tense", "narrativeType": "Narrative type", "narrativeTypePlaceholder": "Recommended narrative type", "dialogueType": "Dialogue type", "dialogueTypePlaceholder": "Recommended dialogue type", "language": "Language", "languagePlaceholder": "Recommended language" }, "story": { "errorFetch": "An error occurred while fetching story data.", "errorUnknownFetch": "An unknown error occurred while fetching story data.", "errorSave": "An error occurred while saving.", "errorUnknownSave": "An unknown error occurred while saving.", "successSave": "Story saved successfully." }, "mainChapter": { "chapters": "Chapters", "chapterTitlePlaceholder": "Chapter title", "noChapter": "No chapter available. Add one below!", "newChapterPlaceholder": "New chapter", "deleteTitle": "Delete chapter", "deleteMessage": "You are about to delete a chapter", "errorDelete": "An error occurred while deleting the chapter.", "errorUnknownDelete": "An unknown error occurred while deleting the chapter.", "errorAdd": "Error while trying to add new main chapter.", "errorUnknownAdd": "Unknown error adding main chapter." }, "actComponent": { "errorAddIncident": "Error while trying to add new inciting incident.", "errorUnknownAddIncident": "Unknown error adding inciting incident.", "errorDeleteIncident": "An error occurred while deleting the incident.", "errorUnknownDeleteIncident": "An unknown error occurred while deleting the incident.", "errorAddPlotPoint": "An error occurred while adding the plot point.", "errorUnknownAddPlotPoint": "An unknown error occurred while adding the plot point.", "errorDeletePlotPoint": "An error occurred while deleting the plot point.", "errorUnknownDeletePlotPoint": "An unknown error occurred while deleting the plot point.", "errorLinkChapter": "An error occurred while adding the chapter.", "errorUnknownLinkChapter": "An unknown error occurred while adding the chapter.", "errorUnlinkChapter": "An error occurred while removing the chapter.", "errorUnknownUnlinkChapter": "An unknown error occurred while removing the chapter.", "chapterSummaryPlaceholder": "Chapter summary for this act", "remove": "Remove", "chapters": "Chapters", "noLinkedChapter": "No linked chapter", "selectChapterPlaceholder": "Select a chapter...", "act1Summary": "Act 1 summary", "act4Summary": "Act 4 summary", "act5Summary": "Act 5 summary", "actSummary": "Act summary", "act1SummaryPlaceholder": "Act 1 summary", "act4SummaryPlaceholder": "Act 4 summary", "act5SummaryPlaceholder": "Act 5 summary", "actSummaryPlaceholder": "Act summary", "delete": "Delete", "incidentsTitle": "Incidents (Trigger Elements)", "noIncidentAdded": "No incident added", "newIncidentPlaceholder": "New trigger element", "plotPointsTitle": "Plot Points (Plot Twists)", "linkedTo": "Linked to", "noPlotPointAdded": "No plot point added", "newPlotPointPlaceholder": "New plot point", "act1Title": "Act 1: Introduction", "act2Title": "Act 2: Trigger Elements", "act3Title": "Act 3: Plot Twists", "act4Title": "Act 4: Resolution", "act5Title": "Act 5: Conclusion" }, "issues": { "title": "Issues", "issueNamePlaceholder": "Issue name", "noIssue": "No issue added. Add one below!", "newIssuePlaceholder": "New issue", "errorAdd": "An error occurred while adding.", "errorUnknownAdd": "An unknown error occurred while adding.", "errorDelete": "An error occurred while deleting.", "errorUnknownDelete": "An unknown error occurred while deleting.", "errorEmptyName": "Issue name cannot be empty.", "errorInvalidId": "Invalid issue ID." }, "worldElementComponent": { "errorDelete": "Error deleting the element.", "errorAdd": "Error adding the element.", "errorUnknown": "An unexpected error occurred.", "emptyField": "The {section} field is empty.", "namePlaceholder": "Name of {section}", "descriptionPlaceholder": "Description of {section}", "newPlaceholder": "New {section}" }, "bookTypes": { "short": "Short Story", "novelette": "Novelette", "novella": "Novella", "chapbook": "Chapbook", "novel": "Novel" }, "chapterVersions": { "prompt": "Prompt", "draft": "Draft", "refine": "Refinement", "review": "Review", "final": "Final" }, "bookSetting": { "basicInformation": "Basic Information", "guideLine": "Guideline", "story": "Story", "world": "Worlds", "locations": "Locations", "characters": "Characters", "objects": "Objects", "goals": "Goals" }, "basicInformationSetting": { "error": { "noFileSelected": "No file selected.", "removeCover": "Error removing book cover.", "titleRequired": "Title is required.", "update": "Error updating book basic information.", "unknown": "An unknown error occurred." }, "success": { "update": "Basic information updated successfully." }, "fields": { "title": "Title", "titlePlaceholder": "Enter book title", "subtitle": "Subtitle", "subtitlePlaceholder": "Enter a subtitle (optional)", "summary": "Summary", "summaryPlaceholder": "Briefly describe your book", "publicationDate": "Publication Date", "wordCount": "Word Count", "wordCountPlaceholder": "Enter word count", "coverImage": "Cover Image", "coverImageAlt": "Current cover", "generateWithQuillSense": "Generate with QuillSense" } }, "quillConversation": { "emptyMessageError": "Please enter a message before sending it.", "inputPlaceholder": "What's on your mind?", "accessRequired": { "title": "Chat Access Required", "description": "An intermediate QuillSense subscription is required, or an activated Gemini key in your settings if you are a founding member or a 'Bring Your Keys' subscriber." }, "loadingMessage": "QuillSense is typing", "welcomeTitle": "Welcome to QuillSense", "welcomeDescription": "Your smart writing assistant. Ask me questions about your story, request writing advice, or explore new creative ideas.", "welcomeTip": "💡 Tip: Enable context for personalized responses to your work", "contextLabel": "Context:", "context": { "none": "None", "chapter": "Chapter", "book": "Book" }, "contextAlert": { "title": "Context Activation", "chapter": "The current chapter content will be sent to Gemini to provide contextualized responses.", "book": "The full content of your book will be sent to Gemini to provide contextualized responses." }, "genericError": "An error occurred. Please try again.", "loadError": "Error loading the conversation.", "sendError": "Error sending the message." }, "qsTextPreview": { "title": "Generated Extract", "insert": "Insert" }, "common": { "cancel": "Cancel", "confirm": "Confirm", "unknownError": "An unknown error occurred" }, "editor": { "error": { "savedFailed": "Save failed", "unknownError": "An unknown error occurred" }, "success": { "saved": "Saved successfully" } }, "errors": { "wordCountError": "Error calculating word count" }, "homePage": { "loading": "Loading...", "guide": { "welcome": "Welcome {name}", "step0": { "description1": "ERitors is AI-powered software (Anthropic and OpenAI APIs) integrated under the name QuillSense. Its goal is to provide you with all the necessary tools to create a complete work from A to Z.", "description2": "This guide will help you get started. You can skip it if you wish." }, "step1": { "title": "Basic Tools", "addBook": "Opens the panel to create a new work.", "generateStory": "Opens the panel to generate a short story via QuillSense." }, "step2": { "title": "Search", "description": "Once your first work is created, you can easily find it using this integrated search bar." }, "step3": { "title": "Account Management", "description": "Access your settings to manage your account, enable two-factor authentication (2FA), or log out securely." }, "step4": { "title": "Ready to Begin", "description1": "You are now ready to use ERitors to its fullest! Create your first work or let QuillSense inspire you with a new story.", "description2": "Happy writing! 🖋️" } }, "errors": { "termsError": "Error retrieving terms of service", "userNotFound": "User not found", "authenticationError": "Error during authentication", "termsAcceptError": "Error accepting terms of service", "lastChapterError": "Error retrieving last chapter", "localDataError": "Unable to load local data", "encryptionKeyError": "Encryption key not found", "offlineModeError": "Error initializing offline mode" } }, "shortStoryGenerator": { "title": "Short Story Generator", "tabs": { "basics": "Basics", "structure": "Structure", "atmosphere": "Atmosphere", "result": "Result" }, "result": { "title": "Your Generated Story", "generating": "Generating story...", "words": "words", "noResponse": "No response received from generator.", "saveError": "Error saving story.", "unknownError": "An unknown error occurred.", "abortSuccess": "Generation stopped. Token and cost totals will be available on next page refresh." }, "fields": { "complexity": "Writing Level", "preset": "Preset Type", "language": "Language", "wordCount": "Word Count", "tense": "Narrative Tense", "narrative": "Narrative Person", "dialogue": "Dialogue Type", "directives": "Special Instructions", "tone": "Tone", "atmosphere": "Atmosphere", "character": "Characters" }, "placeholders": { "directives": "Add special instructions or particular details (e.g., Happy ending, major event…)", "tone": "Describe the tone (e.g., cheerful, mysterious, dramatic…)", "atmosphere": "Describe the atmosphere (e.g., sunny, dark, tense…)", "character": "List the main characters" }, "actions": { "generate": "Generate Story", "generating": "Generating...", "save": "Save", "regenerate": "Regenerate", "improve": "Improve with Magic Fix", "stop": "Stop" }, "navigation": { "previous": "Previous", "next": "Next", "cancel": "Cancel", "close": "Close" }, "accessDenied": { "title": "Access Denied", "message": "Sorry! This feature is reserved for advanced members. You must have a higher subscription or the advanced AI activation option.", "close": "Close" } }, "offline": { "mode": { "title": "Offline Mode", "backToOnline": "Back to online login" }, "pin": { "setup": { "title": "Configure PIN", "titleFirstLogin": "Secure your offline access", "subtitle": "Protect your local data", "description": "This PIN will allow you to access your works even without an internet connection", "pinLabel": "PIN Code (4-8 digits)", "confirmPinLabel": "Confirm PIN", "laterButton": "Later", "configureButton": "Configure PIN", "configuringButton": "Configuring...", "footer": "Your PIN is stored securely on your device" }, "verify": { "title": "Offline Mode", "subtitle": "Enter your PIN to access your local works", "placeholder": "Enter your PIN", "enterPin": "Please enter your PIN", "incorrect": "Incorrect PIN", "tooManyAttempts": "Too many failed attempts. Please reconnect online.", "error": "Error verifying PIN", "cancelButton": "Cancel", "unlockButton": "Unlock", "verifyingButton": "Verifying...", "attemptsRemaining": "{{count}} attempt(s) remaining" }, "errors": { "tooShort": "PIN must be at least 4 digits", "tooLong": "PIN cannot exceed 8 digits", "digitsOnly": "PIN must contain only digits", "mismatch": "PINs do not match", "setupFailed": "Error configuring PIN" } } } }