- Implement `remove-inline-scripts.js` to externalize Next.js inline scripts, enhancing CSP compliance. - Add models for `Book`, `Character`, `Story`, `Editor`, `System`, and `BookSerie` with relevant properties and utilities. - Include macOS entitlements plist for app development with advanced permissions. - Add utility functions to handle script hashing, cookie management, and content formatting.
891 lines
35 KiB
JSON
891 lines
35 KiB
JSON
{
|
|
"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"
|
|
},
|
|
"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"
|
|
},
|
|
"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"
|
|
}
|
|
},
|
|
"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"
|
|
}
|
|
}
|
|
} |