2015-07-18 07:07:42 +03:00
{
"common" : {
2015-11-12 15:29:45 +03:00
"mail" : {
"title" : "Ghost at {domain}"
} ,
"seeLinkForInstructions" : "See {link} for instructions." ,
"time" : {
"seconds" : "seconds"
} ,
"api" : {
"authentication" : {
"sampleBlogDescription" : "Thoughts, stories and ideas." ,
"mail" : {
"resetPassword" : "Reset Password" ,
"checkEmailForInstructions" : "Check your email for further instructions." ,
"passwordChanged" : "Password changed successfully." ,
"invitationAccepted" : "Invitation accepted." ,
"yourNewGhostBlog" : "Your New Ghost Blog"
}
} ,
"mail" : {
"testGhostEmail" : "Test Ghost Email"
} ,
"users" : {
"mail" : {
"invitedByName" : "{invitedByName} has invited you to join {blogName}"
}
}
}
2015-07-18 07:07:42 +03:00
} ,
"errors" : {
2015-11-12 15:29:45 +03:00
"apps" : {
"failedToParseActiveAppsSettings" : {
"error" : "Failed to parse activeApps setting value: {message}" ,
"context" : "Your apps will not be loaded." ,
"help" : "Check your settings table for typos in the activeApps value. It should look like: [\"app-1\", \"app2\"] (double quotes required)."
} ,
"appWillNotBeLoaded" : {
"error" : "The app will not be loaded" ,
"help" : "Check with the app creator, or read the app documentation for more details on app requirements"
} ,
"permissionsErrorLoadingApp" : {
"error" : "Error loading app named {name}; problem reading permissions: {message}"
} ,
"noInstallMethodLoadingApp" : {
"error" : "Error loading app named {name}; no install() method defined."
} ,
"noActivateMethodLoadingApp" : {
"error" : "Error loading app named {name}; no activate() method defined."
} ,
"accessResourceWithoutPermission" : {
"error" : "The App \"{name}\" attempted to perform an action or access a resource ({perm}.{method}) without permission."
} ,
"mustProvideAppName" : {
"error" : "Must provide an app name for api context"
} ,
"mustProvideAppPermissions" : {
"error" : "Must provide app permissions"
} ,
"unsafeAppRequire" : {
"error" : "Unsafe App require: {msg}"
}
} ,
"middleware" : {
"auth" : {
2016-04-04 05:40:23 +03:00
"clientAuthenticationFailed" : "Client Authentication Failed" ,
2015-11-12 15:29:45 +03:00
"clientCredentialsNotProvided" : "Client credentials were not provided" ,
"clientCredentialsNotValid" : "Client credentials were not valid" ,
"forInformationRead" : "For information on how to fix this, please read {url}." ,
"accessDenied" : "Access denied." ,
2016-03-27 01:28:00 +03:00
"pleaseSignIn" : "Please Sign In"
2015-11-12 15:29:45 +03:00
} ,
"oauth" : {
"invalidClient" : "Invalid client." ,
"invalidRefreshToken" : "Invalid refresh token." ,
"refreshTokenExpired" : "Refresh token expired."
} ,
"privateblogging" : {
"wrongPassword" : "Wrong password"
} ,
"spamprevention" : {
"tooManyAttempts" : "Too many attempts." ,
"noUsername" : "No username." ,
"noPassword" : "No password entered" ,
"tooManySigninAttempts" : {
"error" : "Only {rateSigninAttempts} tries per IP address every {rateSigninPeriod} seconds." ,
"context" : "Too many login attempts."
} ,
"tryAgainLater" : " Please try again later" ,
"waitOneHour" : " Please wait 1 hour." ,
"noEmail" : "No email." ,
"forgottenPasswordEmail" : {
"error" : "Only {rfa} forgotten password attempts per email every {rfp} seconds." ,
"context" : "Forgotten password reset attempt failed"
} ,
"forgottenPasswordIp" : {
"error" : "Only {rfa} tries per IP address every {rfp} seconds." ,
"context" : "Forgotten password reset attempt failed"
}
} ,
"themehandler" : {
"missingTheme" : "The currently active theme \"{theme}\" is missing."
}
} ,
"utils" : {
"parsepackagejson" : {
"couldNotReadPackage" : "Could not read package.json file" ,
"nameOrVersionMissing" : "\"name\" or \"version\" is missing from theme package.json file." ,
"willBeRequired" : "This will be required in future. Please see {url}" ,
"themeFileIsMalformed" : "Theme package.json file is malformed"
} ,
"validatethemes" : {
"themeWithNoPackage" : {
"message" : "Found a theme with no package.json file" ,
"context" : "Theme name: {name}" ,
"help" : "This will be required in future. Please see {url}"
} ,
"malformedPackage" : {
"message" : "Found a malformed package.json" ,
"context" : "Theme name: {name}" ,
"help" : "Valid package.json will be required in future. Please see {url}"
}
}
} ,
"config" : {
"couldNotLocateConfigFile" : {
"error" : "Could not locate a configuration file." ,
"help" : "Please check your deployment for config.js or config.example.js."
} ,
"couldNotOpenForReading" : {
"error" : "Could not open {file} for read." ,
"help" : "Please check your deployment for config.js or config.example.js."
} ,
"couldNotOpenForWriting" : {
"error" : "Could not open {file} for write." ,
"help" : "Please check your deployment for config.js or config.example.js."
} ,
"invalidUrlInConfig" : {
"error" : "invalid site url" ,
"description" : "Your site url in config.js is invalid." ,
"help" : "Please make sure this is a valid url before restarting"
} ,
"urlCannotContainGhostSubdir" : {
"error" : "ghost subdirectory not allowed" ,
"description" : "Your site url in config.js cannot contain a subdirectory called ghost." ,
"help" : "Please rename the subdirectory before restarting"
} ,
2016-04-11 16:58:41 +03:00
"urlCannotContainPrivateSubdir" : {
"error" : "private subdirectory not allowed" ,
"description" : "Your site url in config.js cannot contain a subdirectory called private." ,
"help" : "Please rename the subdirectory before restarting"
} ,
2015-11-12 15:29:45 +03:00
"dbConfigInvalid" : {
"error" : "invalid database configuration" ,
"description" : "Your database configuration in config.js is invalid." ,
"help" : "Please make sure this is a valid Bookshelf database configuration"
} ,
"deprecatedProperty" : {
"error" : "The configuration property [{property}] has been deprecated." ,
"explanation" : "This will be removed in a future version, please update your config.js file." ,
"help" : "Please check {url} for the most up-to-date example."
} ,
"invalidServerValues" : {
"error" : "invalid server configuration" ,
"description" : "Your server values (socket, or host and port) in config.js are invalid." ,
"help" : "Please provide them before restarting."
}
} ,
"general" : {
"moreInfo" : "\nMore info: {info}" ,
"requiredOnFuture" : "This will be required in future. Please see {link}"
} ,
"httpServer" : {
"addressInUse" : {
"error" : "(EADDRINUSE) Cannot start Ghost." ,
"context" : "Port {port} is already in use by another program." ,
"help" : "Is another Ghost instance already running?"
} ,
"otherError" : {
"error" : "(Code: {errorNumber})" ,
"context" : "There was an error starting your server." ,
"help" : "Please use the error code above to search for a solution."
}
} ,
"mail" : {
"incompleteMessageData" : {
"error" : "Error: Incomplete message data."
} ,
"failedSendingEmail" : {
"error" : "Error: Failed to send email"
} ,
"noMailServerAtAddress" : {
"error" : " - no mail server found at {domain}"
} ,
"messageNotSent" : {
"error" : "Error: Message could not be sent"
}
} ,
"models" : {
2016-04-29 13:58:40 +03:00
"subscriber" : {
"notEnoughPermission" : "You do not have permission to perform this action"
} ,
2015-11-12 15:29:45 +03:00
"post" : {
"untitled" : "(Untitled)" ,
2016-04-14 14:22:38 +03:00
"valueCannotBeBlank" : "Value in {key} cannot be blank." ,
"expectedPublishedAtInFuture" : "Expected published_at to be in the future." ,
2015-11-12 15:29:45 +03:00
"noUserFound" : "No user found" ,
"notEnoughPermission" : "You do not have permission to perform this action" ,
"tagUpdates" : {
"error" : "Unable to save tags." ,
"help" : "Your post was saved, but your tags were not updated."
}
} ,
"role" : {
"notEnoughPermission" : "You do not have permission to perform this action"
} ,
"settings" : {
"valueCannotBeBlank" : "Value in [settings.key] cannot be blank." ,
"unableToFindSetting" : "Unable to find setting to update: {key}" ,
"unableToFindDefaultSetting" : "Unable to find default setting: {key}"
} ,
"user" : {
"missingContext" : "missing context" ,
"onlyOneRolePerUserSupported" : "Only one role per user is supported at the moment." ,
"methodDoesNotSupportOwnerRole" : "This method does not support assigning the owner role" ,
"passwordDoesNotComplyLength" : "Your password must be at least 8 characters long." ,
"notEnoughPermission" : "You do not have permission to perform this action" ,
"noUserWithEnteredEmailAddr" : "There is no user with that email address." ,
"userIsInactive" : "The user with that email address is inactive." ,
"incorrectPasswordAttempts" : "Your password is incorrect. <br /> {remaining} attempt{s} remaining!" ,
"userUpdateError" : {
"context" : "Error thrown from user update during login" ,
"help" : "Visit and save your profile after logging in to check for problems."
} ,
"incorrectPassword" : "Your password is incorrect." ,
"accountLocked" : "Your account is locked. Please reset your password to log in again by clicking the \"Forgotten password?\" link!" ,
"newPasswordsDoNotMatch" : "Your new passwords do not match" ,
"passwordRequiredForOperation" : "Password is required for this operation" ,
"invalidTokenStructure" : "Invalid token structure" ,
"invalidTokenExpiration" : "Invalid token expiration" ,
"expiredToken" : "Expired token" ,
"tokenLocked" : "Token locked" ,
"invalidToken" : "Invalid token" ,
"userNotFound" : "User not found" ,
"onlyOwnerCanTransferOwnerRole" : "Only owners are able to transfer the owner role." ,
"onlyAdmCanBeAssignedOwnerRole" : "Only administrators can be assigned the owner role."
} ,
"base" : {
"index" : {
"missingContext" : "missing context"
} ,
"token" : {
"noUserFound" : "No user found" ,
"tokenNotFound" : "Token not found"
}
} ,
"plugins" : {
"filter" : {
"errorParsing" : "Error parsing filter" ,
"forInformationRead" : "For more information on how to use filter, see {url}"
}
}
} ,
"permissions" : {
"noActionsMapFound" : {
"error" : "No actions map found, please call permissions.init() before use."
} ,
"applyStatusRules" : {
"error" : "You do not have permission to retrieve {docName} with that status"
} ,
"noPermissionToAction" : "You do not have permission to perform this action"
} ,
"update-check" : {
"checkingForUpdatesFailed" : {
"error" : "Checking for updates failed, your blog will continue to function." ,
"help" : "If you get this error repeatedly, please seek help from {url}."
} ,
"unableToDecodeUpdateResponse" : {
"error" : "Unable to decode update response"
}
} ,
"api" : {
"authentication" : {
2016-03-06 21:18:33 +03:00
"setupUnableToRun" : "Database missing fixture data. Please reset database and try again." ,
2015-11-12 15:29:45 +03:00
"setupMustBeCompleted" : "Setup must be completed before making this request." ,
"noEmailProvided" : "No email provided." ,
"invalidEmailReceived" : "The server did not receive a valid email" ,
"setupAlreadyCompleted" : "Setup has already been completed." ,
"unableToSendWelcomeEmail" : "Unable to send welcome email, your blog will continue to function." ,
"checkEmailConfigInstructions" : "Please see {url} for instructions on configuring email." ,
"notLoggedIn" : "You are not logged in." ,
"notTheBlogOwner" : "You are not the blog owner." ,
"invalidTokenTypeHint" : "Invalid token_type_hint given." ,
2016-03-06 21:18:33 +03:00
"invalidTokenProvided" : "Invalid token provided" ,
"tokenRevocationFailed" : "Token revocation failed"
2015-11-12 15:29:45 +03:00
} ,
"clients" : {
"clientNotFound" : "Client not found."
} ,
"configuration" : {
"invalidKey" : "Invalid key"
} ,
"db" : {
"noPermissionToExportData" : "You do not have permission to export data (no rights)." ,
"noPermissionToImportData" : "You do not have permission to import data (no rights)." ,
"selectFileToImport" : "Please select a file to import." ,
"unsupportedFile" : "Unsupported file. Please try any of the following formats: "
} ,
"mail" : {
"noPermissionToSendEmail" : "You do not have permission to send mail." ,
"cannotFindCurrentUser" : "Could not find the current user"
} ,
"notifications" : {
"noPermissionToBrowseNotif" : "You do not have permission to browse notifications." ,
"noPermissionToAddNotif" : "You do not have permission to add notifications." ,
"noPermissionToDestroyNotif" : "You do not have permission to destroy notifications." ,
"noPermissionToDismissNotif" : "You do not have permission to dismiss this notification." ,
"notificationDoesNotExist" : "Notification does not exist."
} ,
"posts" : {
"postNotFound" : "Post not found."
} ,
"settings" : {
"problemFindingSetting" : "Problem finding setting: {key}" ,
"accessCoreSettingFromExtReq" : "Attempted to access core setting from external request" ,
"invalidJsonInLabs" : "Error: Invalid JSON in settings.labs" ,
"labsColumnCouldNotBeParsed" : "The column with key \"labs\" could not be parsed as JSON" ,
"tryUpdatingLabs" : "Please try updating a setting on the labs page, or manually editing your DB" ,
"noPermissionToEditSettings" : "You do not have permission to edit settings." ,
"noPermissionToReadSettings" : "You do not have permission to read settings."
} ,
"slugs" : {
"couldNotGenerateSlug" : "Could not generate slug." ,
"unknownSlugType" : "Unknown slug type '{type}'."
} ,
2016-05-08 17:49:12 +03:00
"subscribers" : {
"subscriberNotFound" : "Subscriber not found." ,
2016-05-12 18:37:45 +03:00
"subscriberAlreadyExists" : "Email address is already subscribed."
} ,
"tags" : {
"tagNotFound" : "Tag not found."
2016-04-14 23:44:05 +03:00
} ,
2015-11-12 15:29:45 +03:00
"themes" : {
"noPermissionToBrowseThemes" : "You do not have permission to browse themes." ,
"noPermissionToEditThemes" : "You do not have permission to edit themes." ,
"themeDoesNotExist" : "Theme does not exist." ,
"invalidRequest" : "Invalid request."
} ,
"upload" : {
"pleaseSelectImage" : "Please select an image." ,
"pleaseSelectValidImage" : "Please select a valid image."
} ,
"users" : {
"userNotFound" : "User not found." ,
"cannotChangeOwnRole" : "You cannot change your own role." ,
"cannotChangeOwnersRole" : "Cannot change Owner's role" ,
"noPermissionToEditUser" : "You do not have permission to edit this user" ,
"notAllowedToCreateOwner" : "Not allowed to create an owner user." ,
"noPermissionToAddUser" : "You do not have permission to add this user" ,
"noEmailProvided" : "No email provided." ,
"userAlreadyRegistered" : "User is already registered." ,
"errorSendingEmail" : {
"error" : "Error sending email: {message}" ,
"help" : "Please check your email settings and resend the invitation."
} ,
"noPermissionToDestroyUser" : "You do not have permission to destroy this user." ,
"noPermissionToChangeUsersPwd" : "You do not have permission to change the password for this user"
} ,
"utils" : {
"noPermissionToCall" : "You do not have permission to {method} {docName}" ,
"noRootKeyProvided" : "No root key ('{docName}') provided." ,
"invalidIdProvided" : "Invalid id provided."
}
} ,
"data" : {
"export" : {
"errorExportingData" : "Error exporting data"
} ,
"import" : {
"dataImporter" : {
"unableToFindOwner" : "Unable to find an owner"
} ,
"index" : {
"duplicateEntryFound" : "Duplicate entry found. Multiple values of '{value}' found for {offendingProperty}."
} ,
"utils" : {
"dataLinkedToUnknownUser" : "Attempting to import data linked to unknown user id {userToMap}"
}
} ,
"importer" : {
"index" : {
"couldNotCleanUpFile" : {
"error" : "Import could not clean up file " ,
"context" : "Your blog will continue to work as expected"
} ,
"unsupportedRoonExport" : "Your zip file looks like an old format Roon export, please re-export your Roon blog and try again." ,
"noContentToImport" : "Zip did not include any content to import." ,
"invalidZipStructure" : "Invalid zip file structure." ,
"invalidZipFileBaseDirectory" : "Invalid zip file: base directory read failed" ,
"zipContainsMultipleDataFormats" : "Zip file contains multiple data formats. Please split up and import separately."
} ,
"handlers" : {
"json" : {
"invalidJsonFormat" : "Invalid JSON format, expected `{ db: [exportedData] }`" ,
"apiDbImportContent" : "API DB import content" ,
"checkImportJsonIsValid" : "check that the import file is valid JSON." ,
"failedToParseImportJson" : "Failed to parse the import JSON file."
}
}
} ,
"versioning" : {
"index" : {
"dbVersionNotRecognized" : "Database version is not recognized" ,
2016-02-25 10:10:36 +03:00
"settingsTableDoesNotExist" : "Settings table does not exist" ,
"cannotMigrate" : {
"error" : "Unable to upgrade from version 0.4.2 or earlier" ,
"context" : "Please upgrade to 0.7.1 first"
}
2015-11-12 15:29:45 +03:00
}
} ,
"xml" : {
"xmlrpc" : {
"pingUpdateFailed" : {
"error" : "Pinging services for updates on your blog failed, your blog will continue to function." ,
"help" : "If you get this error repeatedly, please seek help on {url}."
}
}
}
} ,
"errors" : {
"noMessageSupplied" : "no message supplied" ,
"error" : "\nERROR:" ,
"warning" : "\nWarning:" ,
"anErrorOccurred" : "An error occurred" ,
"unknownErrorOccurred" : "An unknown error occurred." ,
"unknownError" : "Unknown Error" ,
"unknownApiError" : "Unknown API Error" ,
"databaseIsReadOnly" : "Your database is in read only mode. Visitors can read your blog, but you can't log in or add posts." ,
"checkDatabase" : "Check your database file and make sure that file owner and permissions are correct." ,
"notEnoughPermission" : "You do not have permission to perform this action" ,
"errorWhilstRenderingError" : "Error whilst rendering error page" ,
"errorTemplateHasError" : "Error template has an error" ,
"oopsErrorTemplateHasError" : "Oops, seems there is an error in the error template." ,
"encounteredError" : "Encountered the error: " ,
"whilstTryingToRender" : "whilst trying to render an error page for the error: " ,
"renderingErrorPage" : "Rendering Error Page" ,
"caughtProcessingError" : "Ghost caught a processing error in the middleware layer." ,
"pageNotFound" : "Page not found"
}
2015-07-18 07:07:42 +03:00
} ,
"warnings" : {
2015-11-12 15:29:45 +03:00
"index" : {
"usingDirectMethodToSendEmail" : "Ghost is attempting to use a direct method to send email. \nIt is recommended that you explicitly configure an email service." ,
"unableToSendEmail" : "Ghost is currently unable to send email."
} ,
"helpers" : {
2016-04-21 18:37:52 +03:00
"helperNotAvailable" : "The \\{\\{{helperName}\\}\\} helper is not available." ,
"apiMustBeEnabled" : "The {flagName} labs flag must be enabled if you wish to use the \\{\\{{helperName}\\}\\} helper." ,
"seeLink" : "See {url}" ,
2015-11-12 15:29:45 +03:00
"foreach" : {
"iteratorNeeded" : "Need to pass an iterator to #foreach"
} ,
"get" : {
"mustBeCalledAsBlock" : "Get helper must be called as a block" ,
"invalidResource" : "Invalid resource given to get helper" ,
"helperNotAvailable" : "The \\{\\{get\\}\\} helper is not available." ,
"apiMustBeEnabled" : "Public API access must be enabled if you wish to use the \\{\\{get\\}\\} helper." ,
"seeLink" : "See {url}"
} ,
"has" : {
"invalidAttribute" : "Invalid or no attribute given to has helper"
} ,
"index" : {
"missingHelper" : "Missing helper: '{arg}'"
} ,
"is" : {
"invalidAttribute" : "Invalid or no attribute given to is helper"
} ,
"navigation" : {
"invalidData" : "navigation data is not an object or is a function" ,
"valuesMustBeDefined" : "All values must be defined for label, url and current" ,
"valuesMustBeString" : "Invalid value, Url and Label must be strings"
} ,
"page_url" : {
"isDeprecated" : "Warning: pageUrl is deprecated, please use page_url instead\nThe helper pageUrl has been replaced with page_url in Ghost 0.4.2, and will be removed entirely in Ghost 0.6\nIn your theme's pagination.hbs file, pageUrl should be renamed to page_url"
} ,
"pagination" : {
"invalidData" : "pagination data is not an object or is a function" ,
"valuesMustBeDefined" : "All values must be defined for page, pages, limit and total" ,
"nextPrevValuesMustBeNumeric" : "Invalid value, Next/Prev must be a number" ,
"valuesMustBeNumeric" : "Invalid value, check page, pages, limit and total are numbers"
} ,
"plural" : {
"valuesMustBeDefined" : "All values must be defined for empty, singular and plural"
} ,
"template" : {
"templateNotFound" : "Template {name} not found."
}
}
2015-07-18 07:07:42 +03:00
} ,
"notices" : {
2015-11-12 15:29:45 +03:00
"controllers" : {
"newVersionAvailable" : "Ghost {version} is available! Hot Damn. {link} to upgrade."
} ,
"index" : {
"welcomeToGhost" : "Welcome to Ghost." ,
"youAreRunningUnderEnvironment" : "You're running under the <strong> {environment} </strong> environment." ,
"yourURLisSetTo" : "Your URL is set to <strong> {url} </strong>."
} ,
"httpServer" : {
"cantTouchThis" : "Can't touch this" ,
"ghostIsRunning" : "Ghost is running..." ,
"yourBlogIsAvailableOn" : "\nYour blog is now available on {url}" ,
"ctrlCToShutDown" : "\nCtrl+C to shut down" ,
"ghostIsRunningIn" : "Ghost is running in {env}..." ,
"listeningOn" : "\nListening on" ,
"urlConfiguredAs" : "\nUrl configured as: {url}" ,
"ghostHasShutdown" : "\nGhost has shut down" ,
"yourBlogIsNowOffline" : "\nYour blog is now offline" ,
"ghostWasRunningFor" : "\nGhost was running for" ,
"ghostIsClosingConnections" : "Ghost is closing connections"
} ,
"mail" : {
"messageSent" : "Message sent. Double check inbox and spam folder!"
} ,
"api" : {
"users" : {
"pwdChangedSuccessfully" : "Password changed successfully."
}
} ,
"data" : {
"fixtures" : {
"canSafelyDelete" : "<!-- You can safely delete this line if your theme does not require jQuery -->\n" ,
"jQueryRemoved" : "jQuery has been removed from Ghost core and is now being loaded from the jQuery Foundation's CDN." ,
2016-02-14 22:36:49 +03:00
"canBeChanged" : "This can be changed or removed in your <strong>Code Injection</strong> settings area."
2015-11-12 15:29:45 +03:00
} ,
"utils" : {
"index" : {
"noSupportForDatabase" : "No support for database client {client}"
}
} ,
"validation" : {
"index" : {
"valueCannotBeBlank" : "Value in [{tableName}.{columnKey}] cannot be blank." ,
2016-03-27 13:19:32 +03:00
"valueMustBeBoolean" : "Value in [settings.key] must be one of true, false, 0 or 1." ,
2015-11-12 15:29:45 +03:00
"valueExceedsMaxLength" : "Value in [{tableName}.{columnKey}] exceeds maximum length of {maxlength} characters." ,
"valueIsNotInteger" : "Value in [{tableName}.{columnKey}] is not an integer." ,
"themeCannotBeActivated" : "{themeName} cannot be activated because it is not currently installed." ,
"validationFailed" : "Validation ({validationName}) failed for {key}"
}
}
}
2015-07-18 07:07:42 +03:00
}
}