{
    "en": {
        "like": [
            "{0, plural, offset:1",
            "     =0 {Be the first to like this}",
            "     =1 {You liked this}",
            "    one {You and someone else liked this}",
            "  other {You and # others liked this}",
            "}"
        ],
        "test-hello-array": "Hello, {0} {1} {2}",
        "test-hello-object": "Hello, {first} {middle} {last}",
        "test-repeat-array": "{0} {0} {0}",
        "test-repeat-object": "{value} {value} {value}",

        "classdeclaration-constructor-modelastreq": "\"ModelFile\" and \"AST\" are required to create a \"ClassDecl\".",
        "classdeclaration-process-unrecmodelelem": "Unrecognised model element \"{type}\".",
        "classdeclaration-getfield-notfindsupertype": "Could not find supertype \"{type}\".",
        "classdeclaration-validate-identifiernotproperty": "Class \"{class}\" is identified by field \"{idField}\", but does not contain this property.",
        "classdeclaration-validate-identifiernotstring": "Class \"{class}\" is identified by field \"{idField}\", but the type of the field is not \"String\".",
        "classdeclaration-validate-duplicatefieldname": "Class \"{class}\" has more than one field named \"{fieldName}\".",
        "classdeclaration-validate-missingidentifier" : "Class \"{class}\" is not declared as \"abstract\". It must define an identifying field.",
        "classdeclaration-validate-selfextending": "Class \"{class}\" cannot extend itself.",
        "classdeclaration-validate-undefined-properties": "Properties of Class \"{class}\" has to be defined.",

        "modelfile-constructor-unrecmodelelem": "Unrecognised model element \"{type}\".",
        "modelfile-resolvetype-undecltype": "Undeclared type \"{type}\" in \"{context}\".",
        "modelfile-resolveimport-failfindimp": "Failed to find \"{type}\" in list of imports \"[{imports}]\" for namespace \"{namespace}\".",

        "transactiondeclaration-getidentifierfieldname-noidentifyingfield": "Transactions do not have an identifying field.",

        "composer-connect-noconopts": "\"connectOptions\" not specified.",
        "composer-connect-nokeyvalstore": "\"connectOptions.keyValStore\" not specified.",
        "composer-connect-nomembersrvcurl": "\"connectOptions.membershipServicesURL\" not specified.",
        "composer-connect-nopeerurl": "\"connectOptions.peerURL\" not specified.",
        "composer-connect-noeventhuburl": "\"connectOptions.eventHubURL\" not specified.",
        "composer-connect-notconnected": "Connection needs to be connected. Call \"connect(..)\".",
        "composer-login-noenrollmentid": "\"enrollmentID\" not specified.",
        "composer-login-noenrollmentsecret": "\"enrollmentSecret\" not specified.",
        "composer-deploy-nosecuritycontext": "\"securityContext\" not specified.",

        "factory-newinstance-missingidentifier": "Missing identifier for Type \"{type}\" in namespace \"{namespace}\".",
        "factory-newinstance-invalididentifier": "Invalid or missing identifier for Type \"{type}\" in namespace \"{namespace}\".",
        "factory-newinstance-abstracttype": "Cannot instantiate the abstract type \"{type}\" in the \"{namespace}\" namespace.",
        "factory-newrelationship-notregisteredwithmm" : "Cannot create relationship as namespace \"{namespace}\" is not known.",
        "factory-newinstance-typenotdeclaredinns" : "Cannot instantiate Type \"{type}\" in namespace \"{namespace}\".",

        "instancegenerator-newinstance-noconcreteclass": "No concrete extending type for \"{type}\".",

        "modelmanager-resolvetype-nonsfortype": "No registered namespace for type \"{type}\" in \"{context}\".",
        "modelmanager-resolvetype-notypeinnsforcontext": "No type \"{type}\" in namespace \"{namespace}\" for \"{context}\".",

        "modelmanager-gettype-noregisteredns": "Namespace is not defined for type \"{type}\".",
        "modelmanager-gettype-duplicatensimport": "Importing types from different versions (\"{version1}\", \"{version2}\") of the same namespace \"{namespace}\" is not permitted.",
        "modelmanager-gettype-notypeinns": "Type \"{type}\" is not defined in namespace \"{namespace}\".",

        "serializer-constructor-factorynull": "\"Factory\" cannot be \"null\".",
        "serializer-constructor-modelmanagernull": "\"ModelManager\" cannot be \"null\".",
        "serializer-tojson-notcobject": "\"Serializer.toJSON\" only accepts \"Concept\", \"Event\", \"Asset\", \"Participant\" or \"Transaction\".",

        "util-securitycheck-novalidcontext": "A valid \"SecurityContext\" must be specified.",

        "modelutil-getnamespace-nofnq": "FQN is invalid.",

        "resourcevalidator-notresourceorconcept": "Model violation in the \"{resourceId}\" instance. Class \"{classFQN}\" has the value of \"{invalidValue}\". Expected a \"Resource\" or a \"Concept\".",
        "resourcevalidator-notrelationship": "Model violation in the \"{resourceId}\" instance. Class \"{classFQN}\" has a value of \"{invalidValue}\". Expected a \"Relationship\".",
        "resourcevalidator-fieldtypeviolation": "Model violation in the \"{resourceId}\" instance. The field \"{propertyName}\" has a value of \"{value}\" (type of value: \"{typeOfValue}\"). Expected type of value: \"{fieldType}\".",
        "resourcevalidator-missingrequiredproperty": "The instance \"{resourceId}\" is missing the required field \"{fieldName}\".",
        "resourcevalidator-invalidenumvalue": "Model violation in the \"{resourceId}\" instance. Invalid enum value of \"{value}\" for the field \"{fieldName}\".",
        "resourcevalidator-abstractclass": "The class \"{className}\" is abstract and should not contain an instance.",
        "resourcevalidator-undeclaredfield": "Instance \"{resourceId}\" has a property named \"{propertyName}\", which is not declared in \"{fullyQualifiedTypeName}\".",
        "resourcevalidator-invalidfieldassignment": "Instance \"{resourceId}\" has a property \"{propertyName}\" with type \"{objectType}\" that is not derived from \"{fieldType}\".",
        "resourcevalidator-emptyidentifier": "Instance \"{resourceId}\" has an empty identifier.",
        "resourcevalidator-invalidmap": "Model violation in the \"{resourceId}\" instance. Invalid Type for Map Key or Value - expected String type.",

        "typenotfounderror-defaultmessage": "Type \"{typeName}\" not found.",

        "whereastvalidator-propertytypeviolation": "Property \"{propertyName}\" cannot be compared with \"{value}\" (type of value: \"{typeOfValue}\"). Expected type: \"{fieldType}\".",
        "whereastvalidator-enum-propertytypeviolation": "Enum property \"{propertyName}\" cannot be compared with \"{value}\" (type of value: \"{typeOfValue}\"). Expected type: \"String\".",
        "whereastvalidator-relationship-propertytypeviolation": "Relationship \"{propertyName}\" cannot be compared with \"{value}\" (type of value: \"{typeOfValue}\"). Expected type: \"String\".",
         "whereastvalidator-unsupportedtype": "Property \"{propertyName}\" of type \"{fieldType}\" cannot be compared with a literal value.",
        "whereastvalidator-invalidoperator": "Property \"{propertyName}\" cannot be compared using the \"{operator}\" operator."
    }
}
