// Code generated by go-localize; DO NOT EDIT.
// This file was generated by robots at
// 2023-09-11 16:39:50.19002 +0300 IDT m=+0.007249459

package localizations

import (
	"bytes"
	"fmt"
	"strings"
	"text/template"
)

var localizations = map[string]string{
	"en.messages.added-required-request-body":                              "added required request body",
	"en.messages.api-deprecated-sunset-parse":                              "api sunset date '%s' can't be parsed for deprecated API: %v",
	"en.messages.api-global-security-added":                                "the security scheme %s was added to the API",
	"en.messages.api-global-security-removed":                              "the security scheme %s was removed from the API",
	"en.messages.api-global-security-scope-added":                          "the security scope %s was added to the global security scheme %s",
	"en.messages.api-global-security-scope-removed":                        "the security scope %s was removed from the global security scheme %s",
	"en.messages.api-operation-id-added":                                   "api operation id %s was added",
	"en.messages.api-operation-id-removed":                                 "api operation id %s removed and replaced with %s",
	"en.messages.api-path-removed-before-sunset":                           "api path removed before the sunset date %s",
	"en.messages.api-path-removed-without-deprecation":                     "api path removed without deprecation",
	"en.messages.api-removed-before-sunset":                                "api removed before the sunset date %s",
	"en.messages.api-removed-without-deprecation":                          "api removed without deprecation",
	"en.messages.api-schema-removed":                                       "removed the schema %s",
	"en.messages.api-security-added":                                       "the endpoint scheme security %s was added to the API",
	"en.messages.api-security-component-added":                             "the component security scheme %s was added",
	"en.messages.api-security-component-oauth-scope-added":                 "the component security scheme %s oauth scope %s was added",
	"en.messages.api-security-component-oauth-scope-changed":               "the component security scheme %s oauth scope %s was updated from %s to %s",
	"en.messages.api-security-component-oauth-scope-removed":               "the component security scheme %s oauth scope %s was removed",
	"en.messages.api-security-component-oauth-url-changed":                 "the component security scheme %s oauth url changed from %s to %s",
	"en.messages.api-security-component-removed":                           "the component security scheme %s was removed",
	"en.messages.api-security-component-type-changed":                      "the component security scheme %s type changed from %s to %s",
	"en.messages.api-security-removed":                                     "the endpoint scheme security %s was removed from the API",
	"en.messages.api-security-scope-added":                                 "the security scope %s was added to the endpoint's security scheme %s",
	"en.messages.api-security-scope-removed":                               "the security scope %s was removed from the endpoint's security scheme %s",
	"en.messages.api-security-updated":                                     "the endpoint scheme security %s was updated from %s to %s",
	"en.messages.api-sunset-date-changed-too-small":                        "api sunset date changed to earlier date from %s to %s, new sunset date must be not earlier than %s at least %d days from now",
	"en.messages.api-sunset-date-too-small":                                "api sunset date '%s' is too small, must be at least %d days from now",
	"en.messages.api-tag-added":                                            "api tag %s added",
	"en.messages.api-tag-removed":                                          "api tag %s removed",
	"en.messages.at":                                                       "at",
	"en.messages.endpoint-added":                                           "endpoint added",
	"en.messages.endpoint-deprecated":                                      "endpoint deprecated",
	"en.messages.endpoint-reactivated":                                     "endpoint reactivated",
	"en.messages.in":                                                       "in",
	"en.messages.new-optional-request-default-parameter-to-existing-path":  "added the new optional %s request parameter %s to all path's operations",
	"en.messages.new-optional-request-parameter":                           "added the new optional %s request parameter %s",
	"en.messages.new-optional-request-property":                            "added the new optional request property %s",
	"en.messages.new-request-path-parameter":                               "added the new path request parameter %s",
	"en.messages.new-required-request-default-parameter-to-existing-path":  "added the new required %s request parameter %s to all path's operations",
	"en.messages.new-required-request-header-property":                     "added the new required %s request header's property %s",
	"en.messages.new-required-request-parameter":                           "added the new required %s request parameter %s",
	"en.messages.new-required-request-property":                            "added the new required request property %s",
	"en.messages.optional-response-header-removed":                         "the optional response header %s removed for the status %s",
	"en.messages.pattern-changed-warn-comment":                             "This is a warning because it is difficult to automatically analyze if the new pattern is a superset of the previous pattern (e.g. changed from '[0-9]+' to '[0-9]*')",
	"en.messages.request-allOf-modified":                                   "modified allOf of the request property %s",
	"en.messages.request-allOf-modified-comment":                           "It is a warning because it is very difficult to check that allOf changed correctly without breaking changes",
	"en.messages.request-body-all-of-added":                                "added %s to the request body 'allOf' list",
	"en.messages.request-body-all-of-removed":                              "removed %s from the request body 'allOf' list",
	"en.messages.request-body-any-of-added":                                "added %s to the request body 'anyOf' list",
	"en.messages.request-body-any-of-removed":                              "removed %s from the request body 'anyOf' list",
	"en.messages.request-body-became-enum":                                 "request body was restricted to a list of enum values",
	"en.messages.request-body-became-not-nullable":                         "the request's body became not nullable",
	"en.messages.request-body-became-nullable":                             "the request's body became nullable",
	"en.messages.request-body-became-optional":                             "request body became optional",
	"en.messages.request-body-became-required":                             "request body became required",
	"en.messages.request-body-default-value-added":                         "the request body %s default value %s was added",
	"en.messages.request-body-default-value-changed":                       "the request body %s default value changed from %s to %s",
	"en.messages.request-body-default-value-removed":                       "the request body %s default value %s was removed",
	"en.messages.request-body-discriminator-added":                         "added request discriminator",
	"en.messages.request-body-discriminator-mapping-added":                 "added %s mapping keys to the request discriminator",
	"en.messages.request-body-discriminator-mapping-changed":               "mapped value for key %s changed from %s to %s from the request discriminator",
	"en.messages.request-body-discriminator-mapping-deleted":               "removed %s mapping keys from the request discriminator",
	"en.messages.request-body-discriminator-property-name-changed":         "request discriminator property name changed from %s to %s",
	"en.messages.request-body-discriminator-removed":                       "removed request discriminator",
	"en.messages.request-body-enum-value-removed":                          "request body enum value removed %s",
	"en.messages.request-body-max-decreased":                               "the request's body max was decreased to %s",
	"en.messages.request-body-max-increased":                               "the request's body max was increased from %s to %s",
	"en.messages.request-body-max-length-decreased":                        "the request's body maxLength was decreased to %s",
	"en.messages.request-body-max-length-increased":                        "the request's body maxLength was increased from %s to %s",
	"en.messages.request-body-max-length-set":                              "the request's body maxLength was set to %s",
	"en.messages.request-body-max-length-set-comment":                      "This is a warning because sometimes it is required to be set. But good clients should be checked to support this restriction before such change in specification.",
	"en.messages.request-body-max-set":                                     "the request's body max was set to %s",
	"en.messages.request-body-max-set-comment":                             "This is a warning because sometimes it is required to be set. But good clients should be checked to support this restriction before such change in specification.",
	"en.messages.request-body-media-type-added":                            "added the media type %s to the request body",
	"en.messages.request-body-media-type-removed":                          "removed the media type %s from the request body",
	"en.messages.request-body-min-decreased":                               "the request's body min was decreased to from %s to %s",
	"en.messages.request-body-min-increased":                               "the request's body min was increased to %s",
	"en.messages.request-body-min-items-decreased":                         "the request's body minItems was decreased from %s to %s",
	"en.messages.request-body-min-items-increased":                         "the request's body minItems was increased to %s",
	"en.messages.request-body-min-items-set":                               "the request's body minItems was set to %s",
	"en.messages.request-body-min-items-set-comment":                       "This is a warning because sometimes it is required to be set. But good clients should be checked to support this restriction before such change in specification.",
	"en.messages.request-body-min-length-decreased":                        "the request's body minLength was decreased from %s to %s",
	"en.messages.request-body-min-length-increased":                        "the request's body minLength was increased from %s to %s",
	"en.messages.request-body-min-set":                                     "the request's body min was set to %s",
	"en.messages.request-body-min-set-comment":                             "This is a warning because sometimes it is required to be set. But good clients should be checked to support this restriction before such change in specification.",
	"en.messages.request-body-one-of-added":                                "added %s to the request body 'oneOf' list",
	"en.messages.request-body-one-of-removed":                              "removed %s from the request body 'oneOf' list",
	"en.messages.request-body-type-changed":                                "the request's body type/format changed from %s/%s to %s/%s",
	"en.messages.request-header-property-became-enum":                      "the %s request header's property %s was restricted to a list of enum values",
	"en.messages.request-header-property-became-required":                  "the %s request header's property %s became required",
	"en.messages.request-optional-property-became-not-read-only":           "the request optional property %s became not read-only",
	"en.messages.request-optional-property-became-not-write-only":          "the request optional property %s became not write-only",
	"en.messages.request-optional-property-became-read-only":               "the request optional property %s became read-only",
	"en.messages.request-optional-property-became-write-only":              "the request optional property %s became write-only",
	"en.messages.request-parameter-became-enum":                            "the %s request parameter %s was restricted to a list of enum values",
	"en.messages.request-parameter-became-optional":                        "the %s request parameter %s became optional",
	"en.messages.request-parameter-became-required":                        "the %s request parameter %s became required",
	"en.messages.request-parameter-default-value-added":                    "for the %s request parameter %s, default value %s was added",
	"en.messages.request-parameter-default-value-changed":                  "for the %s request parameter %s, default value was changed from %s to %s",
	"en.messages.request-parameter-default-value-removed":                  "for the %s request parameter %s, default value %s was removed",
	"en.messages.request-parameter-enum-value-added":                       "added the new enum value %s to the %s request parameter %s",
	"en.messages.request-parameter-enum-value-removed":                     "removed the enum value %s from the %s request parameter %s",
	"en.messages.request-parameter-max-decreased":                          "for the %s request parameter %s, the max was decreased from %s to %s",
	"en.messages.request-parameter-max-increased":                          "for the %s request parameter %s, the max was increased from %s to %s",
	"en.messages.request-parameter-max-items-decreased":                    "for the %s request parameter %s, the maxItems was decreased from %s to %s",
	"en.messages.request-parameter-max-items-increased":                    "for the %s request parameter %s, the maxItems was increased from %s to %s",
	"en.messages.request-parameter-max-length-decreased":                   "for the %s request parameter %s, the maxLength was decreased from %s to %s",
	"en.messages.request-parameter-max-length-increased":                   "for the %s request parameter %s, the maxLength was increased from %s to %s",
	"en.messages.request-parameter-max-length-set":                         "for the %s request parameter %s, the maxLength was set to %s",
	"en.messages.request-parameter-max-length-set-comment":                 "This is a warning because sometimes it is required to be set because of security reasons or current error in specification. But good clients should be checked to support this restriction before such change in specification.",
	"en.messages.request-parameter-max-set":                                "for the %s request parameter %s, the max was set to %s",
	"en.messages.request-parameter-max-set-comment":                        "This is a warning because sometimes it is required to be set because of security reasons or current error in specification. But good clients should be checked to support this restriction before such change in specification.",
	"en.messages.request-parameter-min-decreased":                          "for the %s request parameter %s, the min was decreased from %s to %s",
	"en.messages.request-parameter-min-increased":                          "for the %s request parameter %s, the min was increased from %s to %s",
	"en.messages.request-parameter-min-items-decreased":                    "for the %s request parameter %s, the minItems was decreased from %s to %s",
	"en.messages.request-parameter-min-items-increased":                    "for the %s request parameter %s, the minItems was increased from %s to %s",
	"en.messages.request-parameter-min-items-set":                          "for the %s request parameter %s, the minItems was set to %s",
	"en.messages.request-parameter-min-items-set-comment":                  "This is a warning because sometimes it is required to be set because of security reasons or current error in specification. But good clients should be checked to support this restriction before such change in specification.",
	"en.messages.request-parameter-min-length-decreased":                   "for the %s request parameter %s, the minLength was decreased from %s to %s",
	"en.messages.request-parameter-min-length-increased":                   "for the %s request parameter %s, the minLength was increased from %s to %s",
	"en.messages.request-parameter-min-set":                                "for the %s request parameter %s, the min was set to %s",
	"en.messages.request-parameter-min-set-comment":                        "This is a warning because sometimes it is required to be set because of security reasons or current error in specification. But good clients should be checked to support this restriction before such change in specification.",
	"en.messages.request-parameter-pattern-added":                          "added the pattern '%s' to the %s request parameter %s",
	"en.messages.request-parameter-pattern-changed":                        "changed the pattern of the %s request parameter %s from '%s' to '%s'",
	"en.messages.request-parameter-pattern-removed":                        "removed the pattern '%s' from the %s request parameter %s",
	"en.messages.request-parameter-removed":                                "deleted the %s request parameter %s",
	"en.messages.request-parameter-type-changed":                           "for the %s request parameter %s, the type/format was changed from %s/%s to %s/%s",
	"en.messages.request-parameter-x-extensible-enum-value-removed":        "removed the x-extensible-enum value %s from the %s request parameter %s",
	"en.messages.request-property-all-of-added":                            "added %s to the %s request property 'allOf' list",
	"en.messages.request-property-all-of-removed":                          "removed %s from the %s request property 'allOf' list",
	"en.messages.request-property-any-of-added":                            "added %s to the %s request property 'anyOf' list",
	"en.messages.request-property-any-of-removed":                          "removed %s from the %s request property 'anyOf' list",
	"en.messages.request-property-became-enum":                             "request property %s was restricted to a list of enum values",
	"en.messages.request-property-became-not-nullable":                     "the request property %s became not nullable",
	"en.messages.request-property-became-nullable":                         "the request property %s became nullable",
	"en.messages.request-property-became-optional":                         "the request property %s became optional",
	"en.messages.request-property-became-required":                         "the request property %s became required",
	"en.messages.request-property-default-value-added":                     "the %s request property default value %s was added",
	"en.messages.request-property-default-value-changed":                   "the %s request property default value changed from %s to %s",
	"en.messages.request-property-default-value-removed":                   "the %s request property default value %s was removed",
	"en.messages.request-property-discriminator-added":                     "added discriminator to %s request property",
	"en.messages.request-property-discriminator-mapping-added":             "added %s discriminator mapping keys to the %s request property",
	"en.messages.request-property-discriminator-mapping-changed":           "mapped value for discriminator key %s changed from %s to %s for %s request property",
	"en.messages.request-property-discriminator-mapping-deleted":           "removed %s discriminator mapping keys from the %s request property",
	"en.messages.request-property-discriminator-property-name-changed":     "request discriminator property name changed for %s request property from %s to %s",
	"en.messages.request-property-discriminator-removed":                   "removed discriminator from %s request property",
	"en.messages.request-property-enum-value-added":                        "added the new %s enum value to the request property %s",
	"en.messages.request-property-enum-value-removed":                      "removed the enum value %s of the request property %s",
	"en.messages.request-property-max-decreased":                           "the %s request property's max was decreased to %s",
	"en.messages.request-property-max-increased":                           "the %s request property's max was increased from %s to %s",
	"en.messages.request-property-max-length-decreased":                    "the %s request property's maxLength was decreased to %s",
	"en.messages.request-property-max-length-increased":                    "the %s request property's maxLength was increased from %s to %s",
	"en.messages.request-property-max-length-set":                          "the %s request property's maxLength was set to %s",
	"en.messages.request-property-max-length-set-comment":                  "This is a warning because sometimes it is required to be set. But good clients should be checked to support this restriction before such change in specification.",
	"en.messages.request-property-max-set":                                 "the %s request property's max was set to %s",
	"en.messages.request-property-max-set-comment":                         "This is a warning because sometimes it is required to be set. But good clients should be checked to support this restriction before such change in specification.",
	"en.messages.request-property-min-decreased":                           "the %s request property's min was decreased from %s to %s",
	"en.messages.request-property-min-increased":                           "the %s request property's min was increased to %s",
	"en.messages.request-property-min-items-decreased":                     "the %s request property's minItems was decreased from %s to %s",
	"en.messages.request-property-min-items-increased":                     "the %s request property's minItems was increased to %s",
	"en.messages.request-property-min-items-set":                           "the %s request property's minItems was set to %s",
	"en.messages.request-property-min-items-set-comment":                   "This is a warning because sometimes it is required to be set. But good clients should be checked to support this restriction before such change in specification.",
	"en.messages.request-property-min-length-decreased":                    "the %s request property's minLength was decreased from %s to %s",
	"en.messages.request-property-min-length-increased":                    "the %s request property's minLength was increased from %s to %s",
	"en.messages.request-property-min-set":                                 "the %s request property's min was set to %s",
	"en.messages.request-property-min-set-comment":                         "This is a warning because sometimes it is required to be set. But good clients should be checked to support this restriction before such change in specification.",
	"en.messages.request-property-one-of-added":                            "added %s to the %s request property 'oneOf' list",
	"en.messages.request-property-one-of-removed":                          "removed %s from the %s request property 'oneOf' list",
	"en.messages.request-property-pattern-added":                           "added the pattern '%s' to the request property %s",
	"en.messages.request-property-pattern-changed":                         "changed the pattern of the request property %s from '%s' to '%s'",
	"en.messages.request-property-pattern-removed":                         "removed the pattern '%s' from the request property %s",
	"en.messages.request-property-removed":                                 "removed the request property %s",
	"en.messages.request-property-type-changed":                            "the %s request property type/format changed from %s/%s to %s/%s",
	"en.messages.request-property-x-extensible-enum-value-removed":         "removed the x-extensible-enum value '%s' of the request property %s",
	"en.messages.request-required-property-became-not-read-only":           "the request required property %s became not read-only",
	"en.messages.request-required-property-became-not-write-only":          "the request required property %s became not write-only",
	"en.messages.request-required-property-became-read-only":               "the request required property %s became read-only",
	"en.messages.request-required-property-became-write-only":              "the request required property %s became write-only",
	"en.messages.required-response-header-removed":                         "the mandatory response header %s removed for the status %s",
	"en.messages.response-body-all-of-added":                               "added %s to the response body 'allOf' list for the response status %s",
	"en.messages.response-body-all-of-removed":                             "removed %s from the response body 'allOf' list for the response status %s",
	"en.messages.response-body-any-of-added":                               "added %s to the response body 'anyOf' list for the response status %s",
	"en.messages.response-body-any-of-removed":                             "removed %s from the response body 'anyOf' list for the response status %s",
	"en.messages.response-body-became-nullable":                            "the response's body became nullable",
	"en.messages.response-body-default-value-added":                        "the response body %s default value %s was added for the status %s",
	"en.messages.response-body-default-value-changed":                      "the response body %s default value changed from %s to %s for the status %s",
	"en.messages.response-body-default-value-removed":                      "the response body %s default value %s was removed for the status %s",
	"en.messages.response-body-discriminator-added":                        "added response discriminator for the response status %s",
	"en.messages.response-body-discriminator-mapping-added":                "added %s mapping keys to the response discriminator for the response status %s",
	"en.messages.response-body-discriminator-mapping-changed":              "mapped value for key %s changed from %s to %s from the response discriminator for the response status %s",
	"en.messages.response-body-discriminator-mapping-deleted":              "removed %s mapping keys from the response discriminator for the response status %s",
	"en.messages.response-body-discriminator-property-name-changed":        "response discriminator property name changed from %s to %s for the response status %s",
	"en.messages.response-body-discriminator-removed":                      "removed response discriminator for the response status %s",
	"en.messages.response-body-max-increased":                              "the response's body max was increased from %s to %s",
	"en.messages.response-body-max-length-increased":                       "the response's body maxLength was increased from %s to %s",
	"en.messages.response-body-max-length-unset":                           "the response's body maxLength was unset from %s",
	"en.messages.response-body-min-decreased":                              "the response's body min was decreased from %s to %s",
	"en.messages.response-body-min-items-decreased":                        "the response's body minItems was decreased from %s to %s",
	"en.messages.response-body-min-items-unset":                            "the response's body minItems was unset from %s",
	"en.messages.response-body-min-length-decreased":                       "the response's body minLength was decreased from %s to %s",
	"en.messages.response-body-one-of-added":                               "added %s to the response body 'oneOf' list for the response status %s",
	"en.messages.response-body-one-of-removed":                             "removed %s from the response body 'oneOf' list for the response status %s",
	"en.messages.response-body-type-changed":                               "the response's body type/format changed from %s/%s to %s/%s for status %s",
	"en.messages.response-header-became-optional":                          "the response header %s became optional for the status %s",
	"en.messages.response-media-type-added":                                "added the media type %s for the response with the status %s",
	"en.messages.response-media-type-removed":                              "removed the media type %s for the response with the status %s",
	"en.messages.response-mediatype-enum-value-removed":                    "response schema %s enum value removed %s",
	"en.messages.response-non-success-status-added":                        "added the non-success response with the status %s",
	"en.messages.response-non-success-status-removed":                      "removed the non-success response with the status %s",
	"en.messages.response-optional-property-added":                         "added the optional property %s to the response with the %s status",
	"en.messages.response-optional-property-became-not-read-only":          "the response optional property %s became not read-only for the status %s",
	"en.messages.response-optional-property-became-not-write-only":         "the response optional property %s became not write-only for the status %s",
	"en.messages.response-optional-property-became-read-only":              "the response optional property %s became read-only for the status %s",
	"en.messages.response-optional-property-became-write-only":             "the response optional property %s became write-only for the status %s",
	"en.messages.response-optional-property-removed":                       "removed the optional property %s from the response with the %s status",
	"en.messages.response-optional-write-only-property-added":              "added the optional write-only property %s to the response with the %s status",
	"en.messages.response-optional-write-only-property-removed":            "removed the optional write-only property %s from the response with the %s status",
	"en.messages.response-property-all-of-added":                           "added %s to the %s response property 'allOf' list for the response status %s",
	"en.messages.response-property-all-of-removed":                         "removed %s from the %s response property 'allOf' list for the response status %s",
	"en.messages.response-property-any-of-added":                           "added %s to the %s response property 'anyOf' list for the response status %s",
	"en.messages.response-property-any-of-removed":                         "removed %s from the %s response property 'anyOf' list for the response status %s",
	"en.messages.response-property-became-nullable":                        "the response property %s became nullable for the status %s",
	"en.messages.response-property-became-optional":                        "the response property %s became optional for the status %s",
	"en.messages.response-property-became-required":                        "the response property %s became required for the status %s",
	"en.messages.response-property-default-value-added":                    "the %s response's property default value %s was added for the status %s",
	"en.messages.response-property-default-value-changed":                  "the %s response's property default value changed from %s to %s for the status %s",
	"en.messages.response-property-default-value-removed":                  "the %s response's property default value %s was removed for the status %s",
	"en.messages.response-property-discriminator-added":                    "added discriminator to %s response property for the response status %s",
	"en.messages.response-property-discriminator-mapping-added":            "added %s discriminator mapping keys to the %s response property for the response status %s",
	"en.messages.response-property-discriminator-mapping-changed":          "mapped value for discriminator key %s changed from %s to %s for %s response property for the response status %s",
	"en.messages.response-property-discriminator-mapping-deleted":          "removed %s discriminator mapping keys from the %s response property for the response status %s",
	"en.messages.response-property-discriminator-property-name-changed":    "response discriminator property name changed for %s response property from %s to %s for the response status %s",
	"en.messages.response-property-discriminator-removed":                  "removed discriminator from %s response property for the response status %s",
	"en.messages.response-property-enum-value-added":                       "added the new '%s' enum value to the %s response property for the response status %s",
	"en.messages.response-property-enum-value-added-comment":               "Adding new enum values to response could be unexpected for clients, use x-extensible-enum instead.",
	"en.messages.response-property-enum-value-removed":                     "removed the '%s' enum value from the %s response property for the response status %s",
	"en.messages.response-property-max-increased":                          "the %s response property's max was increased from %s to %s for the response status %s",
	"en.messages.response-property-max-length-increased":                   "the %s response property's maxLength was increased from %s to %s for the response status %s",
	"en.messages.response-property-max-length-unset":                       "the %s response property's maxLength was unset from %s for the response status %s",
	"en.messages.response-property-min-decreased":                          "the %s response property's min was decreased from %s to %s for the response status %s",
	"en.messages.response-property-min-items-decreased":                    "the %s response property's minItems was decreased from %s to %s for the response status %s",
	"en.messages.response-property-min-items-unset":                        "the %s response property's minItems was unset from %s for the response status %s",
	"en.messages.response-property-min-length-decreased":                   "the %s response property's minLength was decreased from %s to %s for the response status %s",
	"en.messages.response-property-one-of-added":                           "added %s to the %s response property 'oneOf' list for the response status %s",
	"en.messages.response-property-one-of-removed":                         "removed %s from the %s response property 'oneOf' list for the response status %s",
	"en.messages.response-property-pattern-added":                          "the %s response's property pattern %s was added for the status %s",
	"en.messages.response-property-pattern-changed":                        "the %s response's property pattern was changed from %s to %s for the status %s",
	"en.messages.response-property-pattern-removed":                        "the %s response's property pattern %s was removed for the status %s",
	"en.messages.response-property-type-changed":                           "the response's property type/format changed from %s/%s to %s/%s for status %s",
	"en.messages.response-required-property-added":                         "added the required property %s to the response with the %s status",
	"en.messages.response-required-property-became-not-read-only":          "the response required property %s became not read-only for the status %s",
	"en.messages.response-required-property-became-not-write-only":         "the response required property %s became not write-only for the status %s",
	"en.messages.response-required-property-became-not-write-only-comment": "It is valid only if the property was always returned before the specification has been changed",
	"en.messages.response-required-property-became-read-only":              "the response required property %s became read-only for the status %s",
	"en.messages.response-required-property-became-write-only":             "the response required property %s became write-only for the status %s",
	"en.messages.response-required-property-removed":                       "removed the required property %s from the response with the %s status",
	"en.messages.response-required-write-only-property-added":              "added the required write-only property %s to the response with the %s status",
	"en.messages.response-required-write-only-property-removed":            "removed the required write-only property %s from the response with the %s status",
	"en.messages.response-success-status-added":                            "added the success response with the status %s",
	"en.messages.response-success-status-removed":                          "removed the success response with the status %s",
	"en.messages.response-write-only-property-became-optional":             "the response write-only property %s became optional for the status %s",
	"en.messages.response-write-only-property-became-required":             "the response write-only property %s became required for the status %s",
	"en.messages.response-write-only-property-enum-value-added":            "added the new '%s' enum value to the %s response write-only property for the response status %s",
	"en.messages.sunset-deleted":                                           "api sunset date deleted, but deprecated=true kept",
	"en.messages.total-changes":                                            "%d changes: %d %s, %d %s, %d %s\n",
	"en.messages.total-errors":                                             "%d breaking changes: %d %s, %d %s\n",
	"ru.messages.added-required-request-body":                              "добавлено обязательное тело запроса",
	"ru.messages.api-deprecated-sunset-parse":                              "API deprecated без валидно парсящейся '%s' даты sunset: %v",
	"ru.messages.api-global-security-added":                                "схема безопасности %s была добавлена к API",
	"ru.messages.api-global-security-removed":                              "схема безопасности %s была удалена из API",
	"ru.messages.api-global-security-scope-added":                          "к глобальной схеме безопасности %s была добавлена область безопасности %s",
	"ru.messages.api-global-security-scope-removed":                        "из глобальной схемы безопасности %s была удалена область безопасности %s",
	"ru.messages.api-operation-id-added":                                   "добавлен идентификатор операции API %s",
	"ru.messages.api-operation-id-removed":                                 "Идентификатор операции API %s удален и заменен на %s",
	"ru.messages.api-path-added":                                           "API path добавлено",
	"ru.messages.api-path-deprecated":                                      "API path deprecated",
	"ru.messages.api-path-reactivated":                                     "API path реактивирован",
	"ru.messages.api-path-removed-before-sunset":                           "API path удалён до даты sunset %s",
	"ru.messages.api-path-removed-without-deprecation":                     "api path удалён без процедуры deprecation",
	"ru.messages.api-removed-before-sunset":                                "API удалёг до даты sunset %s",
	"ru.messages.api-removed-without-deprecation":                          "API удалён без deprecation",
	"ru.messages.api-schema-removed":                                       "удалена схема %s",
	"ru.messages.api-security-added":                                       "схема безопасности точки доступа %s была добавлена к API",
	"ru.messages.api-security-component-added":                             "компонент схемы безопасности %s был добавлен",
	"ru.messages.api-security-component-oauth-scope-added":                 "добавлено разрешение OAuth %s для компонента схемы безопасности %s",
	"ru.messages.api-security-component-oauth-scope-changed":               "разрешение OAuth %s для компонента схемы безопасности %s было обновлено с %s на %s",
	"ru.messages.api-security-component-oauth-scope-removed":               "удалено разрешение OAuth %s для компонента схемы безопасности %s",
	"ru.messages.api-security-component-oauth-url-changed":                 "URL OAuth компонента схемы безопасности %s был изменен с %s на %s",
	"ru.messages.api-security-component-removed":                           "компонент схемы безопасности %s был удален",
	"ru.messages.api-security-component-type-changed":                      "тип компонента схемы безопасности %s был изменен с %s на %s",
	"ru.messages.api-security-removed":                                     "схема безопасности точки доступа %s была удалена из API",
	"ru.messages.api-security-scope-added":                                 "к схеме безопасности эндпоинта %s была добавлена область безопасности %s",
	"ru.messages.api-security-scope-removed":                               "из схемы безопасности эндпоинта %s была удалена область безопасности %s",
	"ru.messages.api-security-updated":                                     "схема безопасности точки доступа %s была обновлена с %s на %s",
	"ru.messages.api-sunset-date-changed-too-small":                        "дата sunset у API изменена на более раннюю с %s на %s, новая дата sunset должна быть либо не раньше %s, либо, как минимум, %d дней от текущего дня",
	"ru.messages.api-sunset-date-too-small":                                "дата API sunset date '%s' слишком ранняя, должно быть как минимум %d дней от текущего дня",
	"ru.messages.api-tag-added":                                            "тег API %s добавлен",
	"ru.messages.api-tag-removed":                                          "Тег API %s удален",
	"ru.messages.at":                                                       "в",
	"ru.messages.in":                                                       "в",
	"ru.messages.new-optional-request-default-parameter-to-existing-path":  "добавлен новый необязательный %s параметр запроса %s ко всем операциям пути",
	"ru.messages.new-optional-request-parameter":                           "добавлен новый необязательный %s параметр зароса %s",
	"ru.messages.new-optional-request-property":                            "добавлено новое необязательное поле запроса %s",
	"ru.messages.new-request-path-parameter":                               "добален новый path параметр запроса %s",
	"ru.messages.new-required-request-default-parameter-to-existing-path":  "добавлен новый обязательный %s параметр запроса %s для всех операций пути",
	"ru.messages.new-required-request-header-property":                     "в заголовке запроса %s добавлено новое обязательное поле %s",
	"ru.messages.new-required-request-parameter":                           "добавлен новый обязательный %s параметр зароса %s",
	"ru.messages.new-required-request-property":                            "добавлено новое обязательное поле запроса %s",
	"ru.messages.optional-response-header-removed":                         "удалён ранее необязательный заголовок ответа %s для ответа со статусом %s",
	"ru.messages.pattern-changed-warn-comment":                             "Это предупреждение, потому что сложно автоматически проанализировать, является ли новый шаблон надмножеством предыдущего шаблона (например, изменен с '[0-9]+' на '[0-9]*').",
	"ru.messages.request-allOf-modified":                                   "изменено allOf для поля запроса %s",
	"ru.messages.request-allOf-modified-comment":                           "Это предупреждение, потому что очень сложно алгоритмически автоматизированно проверить правильность изменения allOf на обратную совместимость.",
	"ru.messages.request-body-all-of-added":                                "добавлено %s в список 'allOf' тела запроса",
	"ru.messages.request-body-all-of-removed":                              "удалён %s из списка 'allOf' тела запроса",
	"ru.messages.request-body-any-of-added":                                "добавлено %s в список 'anyOf' тела запроса",
	"ru.messages.request-body-any-of-removed":                              "удалён %s из списка 'anyOf' тела запроса",
	"ru.messages.request-body-became-enum":                                 "тело запроса было ограничено списком значений перечисления",
	"ru.messages.request-body-became-not-nullable":                         "тело запроса стало недействительным",
	"ru.messages.request-body-became-nullable":                             "тело запроса стало обнуляемым",
	"ru.messages.request-body-became-optional":                             "тело запроса стало необязательным",
	"ru.messages.request-body-became-required":                             "тело запроса стало обязательным",
	"ru.messages.request-body-default-value-added":                         "добавлено значение по умолчанию %s для тела запроса",
	"ru.messages.request-body-default-value-changed":                       "значение по умолчанию для тела запроса изменено с %s на %s",
	"ru.messages.request-body-default-value-removed":                       "удалено значение по умолчанию %s для тела запроса %s",
	"ru.messages.request-body-discriminator-added":                         "добавлен дискриминатор запроса",
	"ru.messages.request-body-discriminator-mapping-added":                 "добавлены ключи сопоставления %s для дискриминатора запроса",
	"ru.messages.request-body-discriminator-mapping-changed":               "значение для ключа %s изменено с %s на %s в дискриминаторе запроса",
	"ru.messages.request-body-discriminator-mapping-deleted":               "удалены ключи сопоставления %s из дискриминатора запроса",
	"ru.messages.request-body-discriminator-property-name-changed":         "имя свойства дискриминатора запроса изменено с %s на %s",
	"ru.messages.request-body-discriminator-removed":                       "удален дискриминатор запроса",
	"ru.messages.request-body-enum-value-removed":                          "значение перечисления тела запроса удалено %s",
	"ru.messages.request-body-max-decreased":                               "значение max у тела запроса уменьшено до %s",
	"ru.messages.request-body-max-increased":                               "максимум тела запроса был увеличен с %s до %s",
	"ru.messages.request-body-max-length-decreased":                        "значение maxLength у тела запроса уменьшено до %s",
	"ru.messages.request-body-max-length-increased":                        "максимальная длина тела запроса была увеличена с %s до %s",
	"ru.messages.request-body-max-length-set":                              "у тела запроса задано значение maxLength в %s",
	"ru.messages.request-body-max-length-set-comment":                      "Это предупреждение, потому что иногда его требуется установить из соображений безопасности или из-за текущей ошибки в спецификации. Но хорошие клиенты должны быть проверены на поддержку этого ограничения перед внесением таких изменений в спецификацию.",
	"ru.messages.request-body-max-set":                                     "у тела запроса задано значение max в %s",
	"ru.messages.request-body-max-set-comment":                             "Это предупреждение, потому что иногда его требуется установить из соображений безопасности или из-за текущей ошибки в спецификации. Но хорошие клиенты должны быть проверены на поддержку этого ограничения перед внесением таких изменений в спецификацию.",
	"ru.messages.request-body-media-type-added":                            "добавлен тип медиа для тела запроса %s",
	"ru.messages.request-body-media-type-removed":                          "удален тип медиа для тела запроса %s",
	"ru.messages.request-body-min-decreased":                               "минимум тела запроса был уменьшен с %s до %s",
	"ru.messages.request-body-min-increased":                               "значение min у тела запроса увеличено до %s",
	"ru.messages.request-body-min-items-decreased":                         "минимальное количество элементов тела запроса было уменьшено с %s до %s",
	"ru.messages.request-body-min-items-increased":                         "значение minItems у тела запроса увеличено до %s",
	"ru.messages.request-body-min-items-set":                               "задано значение minItems у тела запроса в %s",
	"ru.messages.request-body-min-items-set-comment":                       "Это предупреждение, потому что иногда его требуется установить из соображений безопасности или из-за текущей ошибки в спецификации. Но хорошие клиенты должны быть проверены на поддержку этого ограничения перед внесением таких изменений в спецификацию.",
	"ru.messages.request-body-min-length-decreased":                        "минимальная длина тела запроса была уменьшена с %s до %s",
	"ru.messages.request-body-min-length-increased":                        "минимальная длина тела запроса была увеличена с %s до %s",
	"ru.messages.request-body-min-set":                                     "задано значение min у тела запроса в %s",
	"ru.messages.request-body-min-set-comment":                             "Это предупреждение, потому что иногда его требуется установить из соображений безопасности или из-за текущей ошибки в спецификации. Но хорошие клиенты должны быть проверены на поддержку этого ограничения перед внесением таких изменений в спецификацию.",
	"ru.messages.request-body-one-of-added":                                "добавлено %s в список 'oneOf' тела запроса",
	"ru.messages.request-body-one-of-removed":                              "удалён %s из списка 'oneOf' тела запроса",
	"ru.messages.request-body-type-changed":                                "изменился type/format тела запроса с %s/%s на %s/%s",
	"ru.messages.request-header-property-became-enum":                      "свойство %s заголовка запроса %s было ограничено списком значений перечисления",
	"ru.messages.request-header-property-became-required":                  "в заголовке запроса %s поле %s стало обязательным",
	"ru.messages.request-optional-property-became-not-read-only":           "необязательное поле запроса %s перестало быть только для чтения",
	"ru.messages.request-optional-property-became-not-write-only":          "необязательное поле запроса %s перестало быть только для записи",
	"ru.messages.request-optional-property-became-read-only":               "необязательное поле запроса %s стало только для чтения",
	"ru.messages.request-optional-property-became-write-only":              "необязательное поле запроса %s стало только для записи",
	"ru.messages.request-parameter-became-enum":                            "заголовок запроса %s поле %s было ограничено списком значений перечисления",
	"ru.messages.request-parameter-became-optional":                        "ранее необязательный параметр запроса %s %s теперь является необязательным",
	"ru.messages.request-parameter-became-required":                        "ранее необязательный %s параметр запроса %s стал обязательным",
	"ru.messages.request-parameter-default-value-added":                    "для параметра запроса %s добавлено значение по умолчанию %s",
	"ru.messages.request-parameter-default-value-changed":                  "для параметра запроса %s значение по умолчанию изменено с %s на %s",
	"ru.messages.request-parameter-default-value-removed":                  "для параметра запроса %s удалено значение по умолчанию %s",
	"ru.messages.request-parameter-enum-value-added":                       "добавлено значение enum %s у %s параметра запроса %s",
	"ru.messages.request-parameter-enum-value-removed":                     "удалено значение enum %s у %s параметра запроса %s",
	"ru.messages.request-parameter-max-decreased":                          "в %s параметре запроса %s, max уменьшен с %s до %s",
	"ru.messages.request-parameter-max-increased":                          "в %s параметре запроса %s, max увеличен с %s до %s",
	"ru.messages.request-parameter-max-items-decreased":                    "в %s параметре запроса %s, maxItems уменьшен с %s до %s",
	"ru.messages.request-parameter-max-items-increased":                    "в %s параметре запроса %s, maxItems увеличен с %s до %s",
	"ru.messages.request-parameter-max-length-decreased":                   "в %s параметре запроса %s, maxLength уменьшен с %s до %s",
	"ru.messages.request-parameter-max-length-increased":                   "в %s параметре запроса %s, maxLength увеличен с %s до %s",
	"ru.messages.request-parameter-max-length-set":                         "в %s параметре запроса %s, maxLength установлен в %s",
	"ru.messages.request-parameter-max-length-set-comment":                 "Это предупреждение, потому что иногда его требуется установить из соображений безопасности или из-за текущей ошибки в спецификации. Но хорошие клиенты должны быть проверены на поддержку этого ограничения перед внесением таких изменений в спецификацию.",
	"ru.messages.request-parameter-max-set":                                "в %s параметре запроса %s, max установлен в %s",
	"ru.messages.request-parameter-max-set-comment":                        "Это предупреждение, потому что иногда его требуется установить из соображений безопасности или из-за текущей ошибки в спецификации. Но хорошие клиенты должны быть проверены на поддержку этого ограничения перед внесением таких изменений в спецификацию.",
	"ru.messages.request-parameter-min-decreased":                          "в %s параметре запроса %s, min уменьшен с %s до %s",
	"ru.messages.request-parameter-min-increased":                          "в %s параметре запроса %s, min увеличен с %s до %s",
	"ru.messages.request-parameter-min-items-decreased":                    "в %s параметре запроса %s, minItems уменьшен с %s до %s",
	"ru.messages.request-parameter-min-items-increased":                    "в %s параметре запроса %s, minItems увеличен с %s до %s",
	"ru.messages.request-parameter-min-items-set":                          "в %s параметре запроса %s, minItems установлен в %s",
	"ru.messages.request-parameter-min-items-set-comment":                  "Это предупреждение, потому что иногда его требуется установить из соображений безопасности или из-за текущей ошибки в спецификации. Но хорошие клиенты должны быть проверены на поддержку этого ограничения перед внесением таких изменений в спецификацию.",
	"ru.messages.request-parameter-min-length-decreased":                   "в %s параметре запроса %s, minLength уменьшен с %s до %s",
	"ru.messages.request-parameter-min-length-increased":                   "в %s параметре запроса %s, minLength увеличен с %s до %s",
	"ru.messages.request-parameter-min-set":                                "в %s параметре запроса %s, min установлен в %s",
	"ru.messages.request-parameter-min-set-comment":                        "Это предупреждение, потому что иногда его требуется установить из соображений безопасности или из-за текущей ошибки в спецификации. Но хорошие клиенты должны быть проверены на поддержку этого ограничения перед внесением таких изменений в спецификацию.",
	"ru.messages.request-parameter-pattern-added":                          "добавлен pattern '%s' у %s параметра запроса %s",
	"ru.messages.request-parameter-pattern-changed":                        "изменён pattern у %s параметра запроса %s со значения '%s' на значение '%s'",
	"ru.messages.request-parameter-pattern-removed":                        "удалён pattern '%s' у %s параметра запроса %s",
	"ru.messages.request-parameter-removed":                                "удалён %s параметр запроса %s",
	"ru.messages.request-parameter-type-changed":                           "в %s параметре запроса %s, type/format изменился с %s/%s на %s/%s",
	"ru.messages.request-parameter-x-extensible-enum-value-removed":        "удалено из x-extensible-enum значение %s у %s параметра запроса %s",
	"ru.messages.request-property-all-of-added":                            "добавлено %s в список 'allOf' свойства запроса %s",
	"ru.messages.request-property-all-of-removed":                          "удалён %s из списка 'allOf' свойства запроса %s",
	"ru.messages.request-property-any-of-added":                            "добавлено %s в список 'anyOf' свойства запроса %s",
	"ru.messages.request-property-any-of-removed":                          "удалён %s из списка 'anyOf' свойства запроса %s",
	"ru.messages.request-property-became-enum":                             "свойство запроса %s было ограничено списком значений перечисления",
	"ru.messages.request-property-became-not-nullable":                     "свойство запроса %s стало недействительным",
	"ru.messages.request-property-became-nullable":                         "свойство запроса %s стало обнуляемым",
	"ru.messages.request-property-became-optional":                         "поле запроса %s стало необязательным",
	"ru.messages.request-property-became-required":                         "поле запроса %s стало обязательным",
	"ru.messages.request-property-default-value-added":                     "добавлено значение по умолчанию %s для свойства запроса %s",
	"ru.messages.request-property-default-value-changed":                   "значение по умолчанию для свойства запроса %s изменено с %s на %s",
	"ru.messages.request-property-default-value-removed":                   "удалено значение по умолчанию %s для свойства запроса %s",
	"ru.messages.request-property-discriminator-added":                     "добавлен дискриминатор к свойству запроса %s",
	"ru.messages.request-property-discriminator-mapping-added":             "добавлены ключи сопоставления дискриминатора %s для свойства запроса %s",
	"ru.messages.request-property-discriminator-mapping-changed":           "значение для ключа дискриминатора %s изменено с %s на %s для свойства запроса %s",
	"ru.messages.request-property-discriminator-mapping-deleted":           "удалены ключи сопоставления дискриминатора %s из свойства запроса %s",
	"ru.messages.request-property-discriminator-property-name-changed":     "имя свойства дискриминатора запроса изменено для свойства запроса %s с %s на %s",
	"ru.messages.request-property-discriminator-removed":                   "удален дискриминатор из свойства запроса %s",
	"ru.messages.request-property-enum-value-added":                        "добавлено enum значение %s у поля запроса %s",
	"ru.messages.request-property-enum-value-removed":                      "удалено enum значение %s у поля запроса %s",
	"ru.messages.request-property-max-decreased":                           "значение max у поля запроса %s уменьшено до %s",
	"ru.messages.request-property-max-increased":                           "максимум свойства запроса %s был увеличен с %s до %s",
	"ru.messages.request-property-max-length-decreased":                    "значение maxLength у поля запроса %s уменьшено до %s",
	"ru.messages.request-property-max-length-increased":                    "максимальная длина свойства запроса %s была увеличена с %s до %s",
	"ru.messages.request-property-max-length-set":                          "у поля запроса %s задано значение maxLength в %s",
	"ru.messages.request-property-max-length-set-comment":                  "Это предупреждение, потому что иногда его требуется установить из соображений безопасности или из-за текущей ошибки в спецификации. Но хорошие клиенты должны быть проверены на поддержку этого ограничения перед внесением таких изменений в спецификацию.",
	"ru.messages.request-property-max-set":                                 "у поля запроса %s задано значение max в %s",
	"ru.messages.request-property-max-set-comment":                         "Это предупреждение, потому что иногда его требуется установить из соображений безопасности или из-за текущей ошибки в спецификации. Но хорошие клиенты должны быть проверены на поддержку этого ограничения перед внесением таких изменений в спецификацию.",
	"ru.messages.request-property-min-decreased":                           "минимум свойства запроса %s был уменьшен с %s до %s",
	"ru.messages.request-property-min-increased":                           "у поля запроса %s, увеличено значение min до %s",
	"ru.messages.request-property-min-items-decreased":                     "минимальное количество элементов свойства запроса %s было уменьшено с %s до %s",
	"ru.messages.request-property-min-items-increased":                     "значение minItems у поля запроса %s увеличено до %s",
	"ru.messages.request-property-min-items-set":                           "у поля запроса %s задано значение minItems в %s",
	"ru.messages.request-property-min-items-set-comment":                   "Это предупреждение, потому что иногда его требуется установить из соображений безопасности или из-за текущей ошибки в спецификации. Но хорошие клиенты должны быть проверены на поддержку этого ограничения перед внесением таких изменений в спецификацию.",
	"ru.messages.request-property-min-length-decreased":                    "минимальная длина свойства запроса %s была уменьшена с %s до %s",
	"ru.messages.request-property-min-length-increased":                    "минимальная длина свойства запроса %s была увеличена с %s до %s",
	"ru.messages.request-property-min-set":                                 "у поля запроса %s задано значение min в %s",
	"ru.messages.request-property-min-set-comment":                         "Это предупреждение, потому что иногда его требуется установить из соображений безопасности или из-за текущей ошибки в спецификации. Но хорошие клиенты должны быть проверены на поддержку этого ограничения перед внесением таких изменений в спецификацию.",
	"ru.messages.request-property-one-of-added":                            "добавлено %s в список 'oneOf' свойства запроса %s",
	"ru.messages.request-property-one-of-removed":                          "удалён %s из списка 'oneOf' свойства запроса %s",
	"ru.messages.request-property-pattern-added":                           "добавлен pattern '%s' у поля запроса %s",
	"ru.messages.request-property-pattern-changed":                         "изменён pattern у поля запроса %s со значения '%s' на значение '%s'",
	"ru.messages.request-property-pattern-removed":                         "удалён pattern '%s' у поля запроса %s",
	"ru.messages.request-property-removed":                                 "удалено поле запроса %s",
	"ru.messages.request-property-type-changed":                            "у поля запроса %s изменился type/format с %s/%s на %s/%s",
	"ru.messages.request-property-x-extensible-enum-value-removed":         "удалено значение x-extensible-enum '%s' в поле запроса %s",
	"ru.messages.request-required-property-became-not-read-only":           "обязательное поле запроса %s перестало быть только для чтения",
	"ru.messages.request-required-property-became-not-write-only":          "обязательное поле запроса %s перестало быть только для записи",
	"ru.messages.request-required-property-became-read-only":               "обязательное поле запроса %s стало только для чтения",
	"ru.messages.request-required-property-became-write-only":              "обязательное поле запроса %s стало только для записи",
	"ru.messages.required-response-header-removed":                         "удалён ранее обязательный заголовок ответа %s для ответа со статусом %s",
	"ru.messages.response-body-all-of-added":                               "добавлено %s в список 'allOf' тела ответа для статуса ответа %s",
	"ru.messages.response-body-all-of-removed":                             "удалён %s из списка 'allOf' тела ответа для статуса ответа %s",
	"ru.messages.response-body-any-of-added":                               "добавлено %s в список 'anyOf' тела ответа для статуса ответа %s",
	"ru.messages.response-body-any-of-removed":                             "удалён %s из списка 'anyOf' тела ответа для статуса ответа %s",
	"ru.messages.response-body-became-nullable":                            "у тела ответа стало обнуляемым",
	"ru.messages.response-body-default-value-added":                        "добавлено значение по умолчанию %s для тела ответа для статуса %s",
	"ru.messages.response-body-default-value-changed":                      "значение по умолчанию для тела ответа %s изменено с %s на %s для статуса %s",
	"ru.messages.response-body-default-value-removed":                      "удалено значение по умолчанию %s для тела ответа для статуса %s",
	"ru.messages.response-body-discriminator-added":                        "добавлен дискриминатор ответа для статуса ответа %s",
	"ru.messages.response-body-discriminator-mapping-added":                "добавлены ключи сопоставления %s для дискриминатора ответа для статуса ответа %s",
	"ru.messages.response-body-discriminator-mapping-changed":              "значение для ключа %s изменено с %s на %s в дискриминаторе ответа для статуса ответа %s",
	"ru.messages.response-body-discriminator-mapping-deleted":              "удалены ключи сопоставления %s из дискриминатора ответа для статуса ответа %s",
	"ru.messages.response-body-discriminator-property-name-changed":        "имя свойства дискриминатора ответа изменено с %s на %s для статуса ответа %s",
	"ru.messages.response-body-discriminator-removed":                      "удален дискриминатор ответа для статуса ответа %s",
	"ru.messages.response-body-max-increased":                              "у тела ответа max увеличен с %s до %s",
	"ru.messages.response-body-max-length-increased":                       "у тела ответа maxLength увеличен с %s до %s",
	"ru.messages.response-body-max-length-unset":                           "у тела ответа maxLength был удалён, предыдущее значение - %s",
	"ru.messages.response-body-min-decreased":                              "у тела ответа min уменьшено с %s до %s",
	"ru.messages.response-body-min-items-decreased":                        "у тела ответа minItems уменьшено с %s до %s",
	"ru.messages.response-body-min-items-unset":                            "удалено значение minItems для тела ответа, предыдущее значение - %s",
	"ru.messages.response-body-min-length-decreased":                       "значение minLength для тела ответа уменьшено с %s до %s",
	"ru.messages.response-body-one-of-added":                               "добавлено %s в список 'oneOf' тела ответа для статуса ответа %s",
	"ru.messages.response-body-one-of-removed":                             "удалён %s из списка 'oneOf' тела ответа для статуса ответа %s",
	"ru.messages.response-body-type-changed":                               "у тела ответа type/format изменился с %s/%s на %s/%s для ответа со статусом %s",
	"ru.messages.response-header-became-optional":                          "заголовок ответа %s стал необязательным для ответа со статусом %s",
	"ru.messages.response-media-type-added":                                "добавлен тип медиа %s для ответа со статусом %s",
	"ru.messages.response-media-type-removed":                              "удалён media type %s для ответа со статусом %s",
	"ru.messages.response-mediatype-enum-value-removed":                    "значение перечисления схемы ответа %s удалено %s",
	"ru.messages.response-non-success-status-added":                        "добавлен ответ об отсутствии успеха со статусом %s",
	"ru.messages.response-non-success-status-removed":                      "удален неуспешный (не 2xx) статус ответа %s",
	"ru.messages.response-optional-property-added":                         "добавлено необязательное свойство %s в ответе со статусом %s",
	"ru.messages.response-optional-property-became-not-read-only":          "необязательное свойство %s перестало быть только для чтения для ответа со статусом %s",
	"ru.messages.response-optional-property-became-not-write-only":         "необязательное свойство %s перестало быть только для записи для ответа со статусом %s",
	"ru.messages.response-optional-property-became-read-only":              "необязательное свойство %s перестало быть только для чтения для ответа со статусом %s",
	"ru.messages.response-optional-property-became-write-only":             "необязательное свойство %s перестало быть только для записи для ответа со статусом %s",
	"ru.messages.response-optional-property-removed":                       "удалено необязательное поле %s из ответа со статусом %s",
	"ru.messages.response-optional-write-only-property-added":              "добавлено необязательное свойство только для записи %s в ответе со статусом %s",
	"ru.messages.response-optional-write-only-property-removed":            "удалено необязательное свойство только для записи %s из ответа со статусом %s",
	"ru.messages.response-property-all-of-added":                           "добавлено %s в список 'allOf' свойства ответа %s для статуса ответа %s",
	"ru.messages.response-property-all-of-removed":                         "удалён %s из списка 'allOf' свойства ответа %s для статуса ответа %s",
	"ru.messages.response-property-any-of-added":                           "добавлено %s в список 'anyOf' свойства ответа %s для статуса ответа %s",
	"ru.messages.response-property-any-of-removed":                         "удалён %s из списка 'anyOf' свойства ответа %s для статуса ответа %s",
	"ru.messages.response-property-became-nullable":                        "поле ответа %s стало обнуляемым для ответа со статусом %s",
	"ru.messages.response-property-became-optional":                        "поле ответа %s стало необязательным для ответа со статусом %s",
	"ru.messages.response-property-became-required":                        "свойство %s перестало быть необязательным для ответа со статусом %s",
	"ru.messages.response-property-became-write-only":                      "свойство %s перестало быть только для записи для ответа со статусом %s",
	"ru.messages.response-property-default-value-added":                    "добавлено значение по умолчанию %s для свойства ответа %s для статуса %s",
	"ru.messages.response-property-default-value-changed":                  "значение по умолчанию для свойства ответа %s изменено с %s на %s для статуса %s",
	"ru.messages.response-property-default-value-removed":                  "удалено значение по умолчанию %s для свойства ответа %s для статуса %s",
	"ru.messages.response-property-discriminator-added":                    "добавлен дискриминатор к свойству ответа %s для статуса ответа %s",
	"ru.messages.response-property-discriminator-mapping-added":            "добавлены ключи сопоставления дискриминатора %s для свойства ответа %s для статуса ответа %s",
	"ru.messages.response-property-discriminator-mapping-changed":          "значение для ключа дискриминатора %s изменено с %s на %s для свойства ответа %s для статуса ответа %s",
	"ru.messages.response-property-discriminator-mapping-deleted":          "удалены ключи сопоставления дискриминатора %s из свойства ответа %s для статуса ответа %s",
	"ru.messages.response-property-discriminator-property-name-changed":    "имя свойства дискриминатора ответа изменено для свойства ответа %s с %s на %s для статуса ответа %s",
	"ru.messages.response-property-discriminator-removed":                  "удален дискриминатор из свойства ответа %s для статуса ответа %s",
	"ru.messages.response-property-enum-value-added":                       "добавлено новое enum значение %s в поле ответа %s для ответа со статусом %s",
	"ru.messages.response-property-enum-value-added-comment":               "Добавление новых значений перечисления в ответ может быть неожиданным для клиентов, вместо этого используйте x-extensible-enum.",
	"ru.messages.response-property-enum-value-removed":                     "удалено значение перечисления '%s' из свойства ответа %s для статуса ответа %s.",
	"ru.messages.response-property-max-increased":                          "у поля ответа %s max увеличен с %s до %s для ответа со статусом %s",
	"ru.messages.response-property-max-length-increased":                   "у поля ответа %s maxLength увеличен с %s до %s для ответа со статусом %s",
	"ru.messages.response-property-max-length-unset":                       "у поля ответа %s maxLength был удалён, предыдущее значение - %s, для ответа со статусом %s",
	"ru.messages.response-property-min-decreased":                          "для поля ответа %s min уменьшен с %s до %s для ответа со статусом %s",
	"ru.messages.response-property-min-items-decreased":                    "у поля ответа %s уменьшено minItems с %s до %s для ответа со статусом %s",
	"ru.messages.response-property-min-items-unset":                        "у поля ответа %s удалено значение minItems, предыдущее значение - %s, для ответа со статусом %s",
	"ru.messages.response-property-min-length-decreased":                   "для поля ответа %s minLength уменьшен с %s до %s для ответа со статусом %s",
	"ru.messages.response-property-one-of-added":                           "добавлено %s в список 'oneOf' свойства ответа %s для статуса ответа %s",
	"ru.messages.response-property-one-of-removed":                         "удалён %s из списка 'oneOf' свойства ответа %s для статуса ответа %s",
	"ru.messages.response-property-pattern-added":                          "у свойства %s для ответа со статусом %s добавлен паттерн %s",
	"ru.messages.response-property-pattern-changed":                        "у свойства %s для ответа со статусом %s изменился паттерн с %s на %s",
	"ru.messages.response-property-pattern-removed":                        "у свойства %s для ответа со статусом %s удален паттерн %s",
	"ru.messages.response-property-type-changed":                           "у поля type/format изменился с %s/%s на %s/%s для ответа со статусом %s",
	"ru.messages.response-required-property-added":                         "добавил требуемое свойство %s в ответ со статусом %s",
	"ru.messages.response-required-property-became-not-read-only":          "обязательное свойство %s перестало быть только для чтения для ответа со статусом %s",
	"ru.messages.response-required-property-became-not-write-only":         "обязательное поле ответа %s перестало быть write-only для ответа со статусом %s",
	"ru.messages.response-required-property-became-not-write-only-comment": "Изменение допустимо только в том случае, если свойство ВСЕГДА возвращалось ДО изменения спецификации.",
	"ru.messages.response-required-property-became-read-only":              "обязательное свойство %s перестало быть только для записи для ответа со статусом %s",
	"ru.messages.response-required-property-removed":                       "удалено обязательное поле ответа %s из ответа со статусом %s",
	"ru.messages.response-required-write-only-property-added":              "добавлено обязательное свойство только для записи %s в ответе со статусом %s",
	"ru.messages.response-required-write-only-property-removed":            "удалено обязательное свойство только для записи %s из ответа со статусом %s",
	"ru.messages.response-success-status-added":                            "добавлен ответ об успехе со статусом %s",
	"ru.messages.response-success-status-removed":                          "удален успешный (2xx) статус ответа %s",
	"ru.messages.response-write-only-property-became-optional":             "свойство только для записи %s перестало быть обязательным для ответа со статусом %s",
	"ru.messages.response-write-only-property-became-required":             "свойство только для записи %s перестало быть необязательным для ответа со статусом %s",
	"ru.messages.response-write-only-property-enum-value-added":            "добавлено значение enum %s для свойства только для записи %s в ответе со статусом %s",
	"ru.messages.sunset-deleted":                                           "удалена дата sunset date у API, но сохранён deprecated=true",
	"ru.messages.total-changes":                                            "%d изменений: %d %s, %d %s, %d %s\n",
	"ru.messages.total-errors":                                             "%d критические изменения: %d %s, %d %s\n",
}

type Replacements map[string]interface{}

type Localizer struct {
	Locale         string
	FallbackLocale string
	Localizations  map[string]string
}

func New(locale string, fallbackLocale string) *Localizer {
	t := &Localizer{Locale: locale, FallbackLocale: fallbackLocale}
	t.Localizations = localizations
	return t
}

func (t Localizer) SetLocales(locale, fallback string) Localizer {
	t.Locale = locale
	t.FallbackLocale = fallback
	return t
}

func (t Localizer) SetLocale(locale string) Localizer {
	t.Locale = locale
	return t
}

func (t Localizer) SetFallbackLocale(fallback string) Localizer {
	t.FallbackLocale = fallback
	return t
}

func (t Localizer) GetWithLocale(locale, key string, replacements ...*Replacements) string {
	str, ok := t.Localizations[t.getLocalizationKey(locale, key)]
	if !ok {
		str, ok = t.Localizations[t.getLocalizationKey(t.FallbackLocale, key)]
		if !ok {
			return key
		}
	}

	// If the str doesn't have any substitutions, no need to
	// template.Execute.
	if strings.Index(str, "}}") == -1 {
		return str
	}

	return t.replace(str, replacements...)
}

func (t Localizer) Get(key string, replacements ...*Replacements) string {
	str := t.GetWithLocale(t.Locale, key, replacements...)
	return str
}

func (t Localizer) getLocalizationKey(locale string, key string) string {
	return fmt.Sprintf("%v.%v", locale, key)
}

func (t Localizer) replace(str string, replacements ...*Replacements) string {
	b := &bytes.Buffer{}
	tmpl, err := template.New("").Parse(str)
	if err != nil {
		return str
	}

	replacementsMerge := Replacements{}
	for _, replacement := range replacements {
		for k, v := range *replacement {
			replacementsMerge[k] = v
		}
	}

	err = template.Must(tmpl, err).Execute(b, replacementsMerge)
	if err != nil {
		return str
	}
	buff := b.String()
	return buff
}
