/* 
  ErrorMessages.strings
  TimeStory

  Created by Aaron Trickey on 6/7/21.
  Copyright © 2021 Aaron Trickey. All rights reserved.
*/

// MARK: Date and date-formula parsing errors
"InputError.invalidDate" = "Unrecognized date format";
"InputError.outOfOrderDates" = "Start/End dates are out of order";

// MARK: Filter-string syntax errors
"InputError.unterminatedOpenParen" = "Unmatched parenthesis";
"InputError.unmatchedCloseParen" = "Unmatched parenthesis";
"InputError.emptyParens" = "Parentheses with nothing inside them";
"InputError.negationWithoutOperand" = "“~” should be followed by something to negate";
"InputError.dateOperatorWithoutDate" = "Missing date (use %@, followed by a date, to do date-based filtering)";
"InputError.inOperatorWithoutSection" = "“in:” is for filtering by section name, and should be followed by a string";
"InputError.isTypeWithoutType" = "“is:” is for filtering by event type, and should be followed by either “point” or “span”";

// MARK: Functional syntax errors
"InputError.fnUnexpectedOpenParen" = "Use parentheses only to group inputs to functions";
"InputError.fnUnexpectedComma" = "Commas can only be used to separate inputs to functions";
"InputError.fnUnexpectedCloseParen" = "Unmatched parenthesis";
"InputError.fnUnexpected" = "“%@” is not allowed here";
"InputError.notValidFunctionalTerm" = "Not a valid date or date function";

// MARK: Date formula semantic errors
"InputError.unknownTerm" = "Unknown name %@";
"InputError.argMismatchForFunction" = "Incorrect inputs for “%@”";
"InputError.startOfSpanMayNotBeComputed" = "The start of a span event must be a fixed date";

// MARK: Event-entry semantic errors
"InputError.eventRequiresTitle" = "An event title is required";
"InputError.eventRequiresDate" = "An event must have a date (or range of dates, for a span event)";
"InputError.endBeforeStart" = "End date came before start date";

// MARK: Document template management errors
"InputError.emptyTemplateName" = "Templates cannot have empty names";
"InputError.templateNameContainsDisallowedSubstring" = "Template names cannot contain “%@”";
"InputError.cantUseBuiltinTemplateName" = "Can't save a template with this name; it's reserved for a built-in template";
"InputError.cantEditBundledTemplate" = "Cannot edit built-in template; instead, use this template to create a document and save that document as a new template";
"InputError.cantDeleteBundledTemplate" = "This is a built-in template and can't be deleted";
"InputError.duplicateTemplateName" = "A template named “%@” already exists";
"InputError.cantDeleteDefaultTemplate" = "This is the current default template used for new files. Choose another template to become default before deleting this one.";

// MARK: Import errors
"InputError.importCantReadFile" = "Could not read the file at %@";
"InputError.importRequiresEventDate" = "Missing Date field";
"InputError.importRequiresEventTitle" = "Missing Title field";
"InputError.conflictingColumnSpec" = "Duplicate or conflicting columns %d and %d";
"InputError.importRowHasTooFewColumns" = "Too few columns in input row";

// MARK: General microsyntax and naming errors
"InputError.expectedInt" = "Expected an integer here";
"InputError.unknownColor" = "Unknown color name, or unrecognized color syntax";
"InputError.unknownSpanEndShape" = "Unrecognized span end shape name";

// MARK: File-loading errors
"InputError.invalidFileWithVersion" = "Could not load %@. It was saved by version %@; this is version %@.";
"InputError.invalidFile" = "Could not load %@; it does not seem to be a valid TimeStory file";
