split from types.go, added missing locales
diff --git a/locales.go b/locales.go
new file mode 100644
index 0000000..1fcd550
--- /dev/null
+++ b/locales.go
@@ -0,0 +1,106 @@
+// Copyright 2015 xeipuuv ( https://github.com/xeipuuv )
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+// author xeipuuv
+// author-github https://github.com/xeipuuv
+// author-mail xeipuuv@gmail.com
+//
+// repository-name gojsonschema
+// repository-desc An implementation of JSON Schema, based on IETF's draft v4 - Go language.
+//
+// description Contains const string and messages.
+//
+// created 01-01-2015
+
+package gojsonschema
+
+const (
+ STRING_NUMBER = "number"
+ STRING_ARRAY_OF_STRINGS = "array of strings"
+ STRING_ARRAY_OF_SCHEMAS = "array of schemas"
+ STRING_SCHEMA = "schema"
+ STRING_SCHEMA_OR_ARRAY_OF_STRINGS = "schema or array of strings"
+ STRING_PROPERTIES = "properties"
+ STRING_DEPENDENCY = "dependency"
+ STRING_PROPERTY = "property"
+
+ STRING_CONTEXT_ROOT = "(root)"
+ STRING_ROOT_SCHEMA_PROPERTY = "(root)"
+
+ STRING_UNDEFINED = "undefined"
+
+ ERROR_MESSAGE_X_IS_NOT_A_VALID_TYPE = `%s is not a valid type`
+ ERROR_MESSAGE_X_TYPE_IS_DUPLICATED = `%s type is duplicated`
+
+ ERROR_MESSAGE_X_MUST_BE_OF_TYPE_Y = `%s must be of type %s`
+
+ ERROR_MESSAGE_X_MUST_BE_A_Y = `%s must be of a %s`
+ ERROR_MESSAGE_X_MUST_BE_AN_Y = `%s must be of an %s`
+
+ ERROR_MESSAGE_X_IS_MISSING_AND_REQUIRED = `%s is missing and required`
+ ERROR_MESSAGE_MUST_BE_OF_TYPE_X = `must be of type %s`
+ ERROR_MESSAGE_X_ITEMS_MUST_BE_UNIQUE = `%s items must be unique`
+ ERROR_MESSAGE_X_ITEMS_MUST_BE_TYPE_Y = `%s items must be %s`
+ ERROR_MESSAGE_DOES_NOT_MATCH_PATTERN = `does not match pattern '%s'`
+ ERROR_MESSAGE_MUST_MATCH_ONE_ENUM_VALUES = `must match one of the enum values [%s]`
+
+ ERROR_MESSAGE_STRING_LENGTH_MUST_BE_GREATER_OR_EQUAL = `string length must be greater or equal to %d`
+ ERROR_MESSAGE_STRING_LENGTH_MUST_BE_LOWER_OR_EQUAL = `string length must be lower or equal to %d`
+
+ ERROR_MESSAGE_NUMBER_MUST_BE_LOWER_OR_EQUAL = `must be lower than or equal to %s`
+ ERROR_MESSAGE_NUMBER_MUST_BE_LOWER = `must be lower than %s`
+ ERROR_MESSAGE_NUMBER_MUST_BE_GREATER_OR_EQUAL = `must be greater than or equal to %s`
+ ERROR_MESSAGE_NUMBER_MUST_BE_GREATER = `must be greater than %s`
+
+ ERROR_MESSAGE_NUMBER_MUST_VALIDATE_ALLOF = `must validate all the schemas (allOf)`
+ ERROR_MESSAGE_NUMBER_MUST_VALIDATE_ONEOF = `must validate one and only one schema (oneOf)`
+ ERROR_MESSAGE_NUMBER_MUST_VALIDATE_ANYOF = `must validate at least one schema (anyOf)`
+ ERROR_MESSAGE_NUMBER_MUST_VALIDATE_NOT = `must not validate the schema (not)`
+
+ ERROR_MESSAGE_ARRAY_MIN_ITEMS = `array must have at least %d items`
+ ERROR_MESSAGE_ARRAY_MAX_ITEMS = `array must have at the most %d items`
+
+ ERROR_MESSAGE_ARRAY_MIN_PROPERTIES = `must have at least %d properties`
+ ERROR_MESSAGE_ARRAY_MAX_PROPERTIES = `must have at the most %d properties`
+
+ ERROR_MESSAGE_HAS_DEPENDENCY_ON = `has a dependency on %s`
+
+ ERROR_MESSAGE_MULTIPLE_OF = `must be a multiple of %s`
+
+ ERROR_MESSAGE_ARRAY_NO_ADDITIONAL_ITEM = `no additional item allowed on array`
+
+ ERROR_MESSAGE_ADDITIONAL_PROPERTY_NOT_ALLOWED = `additional property "%s" is not allowed`
+ ERROR_MESSAGE_INVALID_PATTERN_PROPERTY = `property "%s" does not match pattern %s`
+
+ ERROR_MESSAGE_INTERNAL = `internal error %s`
+
+ ERROR_MESSAGE_GET_HTTP_BAD_STATUS = `Could not read schema from HTTP, response status is %d`
+
+ ERROR_MESSAGE_NEW_SCHEMA_DOCUMENT_INVALID_ARGUMENT = `Invalid argument, must be a JSON string, a JSON reference string or a map[string]interface{}`
+
+ ERROR_MESSAGE_INVALID_REGEX_PATTERN = `Invalid regex pattern '%s'`
+ ERROR_MESSAGE_X_MUST_BE_VALID_REGEX = `%s must be a valid regex`
+
+ ERROR_MESSAGE_X_MUST_BE_GREATER_OR_TO_0 = `%s must be greater than or equal to 0`
+
+ ERROR_MESSAGE_X_CANNOT_BE_GREATER_THAN_Y = `%s cannot be greater than %s`
+
+ ERROR_MESSAGE_X_MUST_BE_STRICTLY_GREATER_THAN_0 = `%s must be strictly greater than 0`
+
+ ERROR_MESSAGE_X_CANNOT_BE_USED_WITHOUT_Y = `%s cannot be used without %s`
+
+ ERROR_MESSAGE_REFERENCE_X_MUST_BE_CANONICAL = `Reference %s must be canonical`
+
+ RESULT_ERROR_FORMAT = `%s : %s, given %s` // context, description, value
+)