diff --git a/README.md b/README.md
index 28796957d..09984abf1 100644
--- a/README.md
+++ b/README.md
@@ -6,7 +6,7 @@

[](https://raw.githubusercontent.com/iluwatar/java-design-patterns/master/LICENSE.md)
-[](https://sonarcloud.io/dashboard?id=iluwatar_java-design-patterns)
+[](https://sonarcloud.io/dashboard?id=iluwatar_java-design-patterns)
[](https://sonarcloud.io/dashboard?id=iluwatar_java-design-patterns)
[](https://gitter.im/iluwatar/java-design-patterns?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge)
@@ -15,7 +15,7 @@
-Read in different language : [**CN**](/zh/README.md), [**KR**](/ko/README.md), [**FR**](/fr/README.md), [**TR**](/tr/README.md), [**AR**](/ar/README.md)
+Read in different language : [**zh**](/localization/zh/README.md), [**ko**](/localization/ko/README.md), [**fr**](/localization/fr/README.md), [**tr**](/localization/tr/README.md), [**ar**](/localization/ar/README.md), [**es**](/localization/es/README.md)
@@ -34,7 +34,7 @@ are familiar with the patterns.
# Getting started
This site showcases Java Design Patterns. The solutions have been developed by
-experienced programmers and architects from the open source community. The
+experienced programmers and architects from the open source community. The
patterns can be browsed by their high level descriptions or by looking at their
source code. The source code examples are well commented and can be thought as
programming tutorials on how to implement a specific pattern. We use the most
@@ -49,7 +49,7 @@ patterns should only be introduced when they are needed for practical
extensibility.
Once you are familiar with these concepts you can start drilling down into the
-[available design patterns](https://java-design-patterns.com/patterns/) by any
+[available design patterns](https://java-design-patterns.com/patterns/) by any
of the following approaches
- Search for a specific pattern by name. Can't find one? Please report a new pattern [here](https://github.com/iluwatar/java-design-patterns/issues).
@@ -61,8 +61,8 @@ in your architectures and have as much fun learning them as we had developing th
# How to contribute
-If you are willing to contribute to the project you will find the relevant information in
-our [developer wiki](https://github.com/iluwatar/java-design-patterns/wiki). We will help
+If you are willing to contribute to the project you will find the relevant information in
+our [developer wiki](https://github.com/iluwatar/java-design-patterns/wiki). We will help
you and answer your questions in the [Gitter chatroom](https://gitter.im/iluwatar/java-design-patterns).
# License
diff --git a/assets/flags/AR.png b/assets/flags/AR.png
deleted file mode 100644
index f216ab108..000000000
Binary files a/assets/flags/AR.png and /dev/null differ
diff --git a/assets/flags/CN.png b/assets/flags/CN.png
deleted file mode 100644
index edd5f1de8..000000000
Binary files a/assets/flags/CN.png and /dev/null differ
diff --git a/assets/flags/FR.png b/assets/flags/FR.png
deleted file mode 100644
index 0706dcc05..000000000
Binary files a/assets/flags/FR.png and /dev/null differ
diff --git a/assets/flags/KR.png b/assets/flags/KR.png
deleted file mode 100644
index d21bef98a..000000000
Binary files a/assets/flags/KR.png and /dev/null differ
diff --git a/assets/flags/TR.png b/assets/flags/TR.png
deleted file mode 100644
index 70e2bee6c..000000000
Binary files a/assets/flags/TR.png and /dev/null differ
diff --git a/ar/README.md b/localization/ar/README.md
similarity index 100%
rename from ar/README.md
rename to localization/ar/README.md
diff --git a/localization/es/README.md b/localization/es/README.md
new file mode 100644
index 000000000..5c94ce57c
--- /dev/null
+++ b/localization/es/README.md
@@ -0,0 +1,313 @@
+
+
+# Patrones de diseño implementados en Java
+
+
+[](https://raw.githubusercontent.com/iluwatar/java-design-patterns/master/LICENSE.md)
+[](https://sonarcloud.io/dashboard?id=iluwatar_java-design-patterns)
+[](https://sonarcloud.io/dashboard?id=iluwatar_java-design-patterns)
+[](https://gitter.im/iluwatar/java-design-patterns?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge)
+
+[](#contributors-)
+
+
+# Introducción
+
+Los patrones de diseño son las mejores prácticas formalizadas que un programador puede utilizar para resolver problemas comunes al diseñar una aplicación o sistema.
+
+Los patrones de diseño pueden acelerar el proceso de desarrollo al proporcionar paradigmas de desarrollo probados y comprobados.
+
+La reutilización de patrones de diseño ayuda a prevenir problemas sutiles que causan errores importantes, y también mejora la legibilidad del código para desarrolladores y arquitectos que están familiarizados con los patrones.
+
+# Comenzar
+
+Este sitio presenta los patrones de diseño en Java. Las soluciones han sido desarrolladas por
+programadores y arquitectos experimentados de la comunidad de código abierto. Los patrones se pueden buscar por sus descripciones de alto nivel o mirando su código fuente. Los ejemplos de código fuente están bien comentados y pueden pensarse como tutoriales de programación sobre cómo implementar un patrón específico. Usamos las tecnologías Java de código abierto más populares.
+
+Antes de sumergirte en el material deberías estar familiarizado con varios
+[Principios de diseño de software](https://java-design-patterns.com/principles/).
+
+Todos los diseños deben ser lo más simples posible. Deberías comenzar con los principios KISS, YAGNI y hacer lo mas simple que funcione. La complejidad y los patrones solo deben introducirse cuando sean necesarios para una extensibilidad práctica.
+
+Una vez que esté familiarizado con estos conceptos, puedes comenzar a profundizar con los
+[patrones de diseño disponibles](https://java-design-patterns.com/patterns/) por cualquiera de los siguientes enfoques
+
+ - Buscar un patrón específico por su nombre. ¿No puedes encontrar uno? Informe un nuevo patrón [aquí](https://github.com/iluwatar/java-design-patterns/issues).
+ - Usando etiquetas como `Performance`, `Gang of Four` ó `Data access`.
+ - Usando categorías de patrones, `Creational`, `Behavioral` y otras.
+
+Esperamos que las soluciones orientadas a objetos presentadas en este sitio le resulten útiles en sus arquitecturas y se divierta aprendiéndolas tanto como nosotros desarrollándolas.
+
+# Como contribuir
+
+Si estás dispuesto a contribuir al proyecto encontrarás la información relevante en nuestra [wiki del desarrollador](https://github.com/iluwatar/java-design-patterns/wiki). Te ayudaremos y responderemos tus preguntas en la [sala de chat de Gitter](https://gitter.im/iluwatar/java-design-patterns).
+
+# Licencia
+
+Este proyecto esta licenciado de acuerdo con los términos de la licencia del MIT.
+
+# Colaboradores
+
+
+
+
+
+
+
+
+
+
diff --git a/fr/README.md b/localization/fr/README.md
similarity index 100%
rename from fr/README.md
rename to localization/fr/README.md
diff --git a/ko/README.md b/localization/ko/README.md
similarity index 100%
rename from ko/README.md
rename to localization/ko/README.md
diff --git a/ko/adapter/README.md b/localization/ko/adapter/README.md
similarity index 100%
rename from ko/adapter/README.md
rename to localization/ko/adapter/README.md
diff --git a/ko/factory/README.md b/localization/ko/factory/README.md
similarity index 100%
rename from ko/factory/README.md
rename to localization/ko/factory/README.md
diff --git a/ko/observer/README.md b/localization/ko/observer/README.md
similarity index 100%
rename from ko/observer/README.md
rename to localization/ko/observer/README.md
diff --git a/ko/prototype/README.md b/localization/ko/prototype/README.md
similarity index 100%
rename from ko/prototype/README.md
rename to localization/ko/prototype/README.md
diff --git a/ko/singleton/README.md b/localization/ko/singleton/README.md
similarity index 100%
rename from ko/singleton/README.md
rename to localization/ko/singleton/README.md
diff --git a/ko/strategy/README.md b/localization/ko/strategy/README.md
similarity index 100%
rename from ko/strategy/README.md
rename to localization/ko/strategy/README.md
diff --git a/tr/README.md b/localization/tr/README.md
similarity index 100%
rename from tr/README.md
rename to localization/tr/README.md
diff --git a/tr/singleton/README.md b/localization/tr/singleton/README.md
similarity index 100%
rename from tr/singleton/README.md
rename to localization/tr/singleton/README.md
diff --git a/zh/README.md b/localization/zh/README.md
similarity index 100%
rename from zh/README.md
rename to localization/zh/README.md
diff --git a/zh/abstract-document/README.md b/localization/zh/abstract-document/README.md
similarity index 100%
rename from zh/abstract-document/README.md
rename to localization/zh/abstract-document/README.md
diff --git a/zh/abstract-factory/README.md b/localization/zh/abstract-factory/README.md
similarity index 100%
rename from zh/abstract-factory/README.md
rename to localization/zh/abstract-factory/README.md
diff --git a/zh/active-object/README.md b/localization/zh/active-object/README.md
similarity index 100%
rename from zh/active-object/README.md
rename to localization/zh/active-object/README.md
diff --git a/zh/acyclic-visitor/README.md b/localization/zh/acyclic-visitor/README.md
similarity index 100%
rename from zh/acyclic-visitor/README.md
rename to localization/zh/acyclic-visitor/README.md
diff --git a/zh/adapter/README.md b/localization/zh/adapter/README.md
similarity index 100%
rename from zh/adapter/README.md
rename to localization/zh/adapter/README.md
diff --git a/zh/aggregator-microservices/README.md b/localization/zh/aggregator-microservices/README.md
similarity index 100%
rename from zh/aggregator-microservices/README.md
rename to localization/zh/aggregator-microservices/README.md
diff --git a/zh/ambassador/README.md b/localization/zh/ambassador/README.md
similarity index 100%
rename from zh/ambassador/README.md
rename to localization/zh/ambassador/README.md
diff --git a/zh/api-gateway/README.md b/localization/zh/api-gateway/README.md
similarity index 100%
rename from zh/api-gateway/README.md
rename to localization/zh/api-gateway/README.md
diff --git a/zh/arrange-act-assert/README.md b/localization/zh/arrange-act-assert/README.md
similarity index 100%
rename from zh/arrange-act-assert/README.md
rename to localization/zh/arrange-act-assert/README.md
diff --git a/zh/async-method-invocation/README.md b/localization/zh/async-method-invocation/README.md
similarity index 100%
rename from zh/async-method-invocation/README.md
rename to localization/zh/async-method-invocation/README.md
diff --git a/zh/balking/README.md b/localization/zh/balking/README.md
similarity index 100%
rename from zh/balking/README.md
rename to localization/zh/balking/README.md
diff --git a/zh/bridge/README.md b/localization/zh/bridge/README.md
similarity index 100%
rename from zh/bridge/README.md
rename to localization/zh/bridge/README.md
diff --git a/zh/builder/README.md b/localization/zh/builder/README.md
similarity index 100%
rename from zh/builder/README.md
rename to localization/zh/builder/README.md
diff --git a/zh/business-delegate/README.md b/localization/zh/business-delegate/README.md
similarity index 100%
rename from zh/business-delegate/README.md
rename to localization/zh/business-delegate/README.md
diff --git a/zh/caching/README.md b/localization/zh/caching/README.md
similarity index 100%
rename from zh/caching/README.md
rename to localization/zh/caching/README.md
diff --git a/zh/callback/README.md b/localization/zh/callback/README.md
similarity index 100%
rename from zh/callback/README.md
rename to localization/zh/callback/README.md
diff --git a/zh/chain/README.md b/localization/zh/chain/README.md
similarity index 100%
rename from zh/chain/README.md
rename to localization/zh/chain/README.md
diff --git a/zh/circuit-breaker/README.md b/localization/zh/circuit-breaker/README.md
similarity index 100%
rename from zh/circuit-breaker/README.md
rename to localization/zh/circuit-breaker/README.md
diff --git a/zh/collection-pipeline/README.md b/localization/zh/collection-pipeline/README.md
similarity index 100%
rename from zh/collection-pipeline/README.md
rename to localization/zh/collection-pipeline/README.md
diff --git a/zh/command/README.md b/localization/zh/command/README.md
similarity index 100%
rename from zh/command/README.md
rename to localization/zh/command/README.md
diff --git a/zh/composite-entity/README.md b/localization/zh/composite-entity/README.md
similarity index 100%
rename from zh/composite-entity/README.md
rename to localization/zh/composite-entity/README.md
diff --git a/zh/composite/README.md b/localization/zh/composite/README.md
similarity index 100%
rename from zh/composite/README.md
rename to localization/zh/composite/README.md
diff --git a/zh/converter/README.md b/localization/zh/converter/README.md
similarity index 100%
rename from zh/converter/README.md
rename to localization/zh/converter/README.md
diff --git a/zh/dao/README.md b/localization/zh/dao/README.md
similarity index 100%
rename from zh/dao/README.md
rename to localization/zh/dao/README.md
diff --git a/zh/data-bus/README.md b/localization/zh/data-bus/README.md
similarity index 100%
rename from zh/data-bus/README.md
rename to localization/zh/data-bus/README.md
diff --git a/zh/data-mapper/README.md b/localization/zh/data-mapper/README.md
similarity index 100%
rename from zh/data-mapper/README.md
rename to localization/zh/data-mapper/README.md
diff --git a/zh/data-transfer-object/README.md b/localization/zh/data-transfer-object/README.md
similarity index 100%
rename from zh/data-transfer-object/README.md
rename to localization/zh/data-transfer-object/README.md
diff --git a/zh/decorator/README.md b/localization/zh/decorator/README.md
similarity index 100%
rename from zh/decorator/README.md
rename to localization/zh/decorator/README.md
diff --git a/zh/delegation/README.md b/localization/zh/delegation/README.md
similarity index 100%
rename from zh/delegation/README.md
rename to localization/zh/delegation/README.md
diff --git a/zh/dependency-injection/README.md b/localization/zh/dependency-injection/README.md
similarity index 100%
rename from zh/dependency-injection/README.md
rename to localization/zh/dependency-injection/README.md
diff --git a/zh/dirty-flag/README.md b/localization/zh/dirty-flag/README.md
similarity index 100%
rename from zh/dirty-flag/README.md
rename to localization/zh/dirty-flag/README.md
diff --git a/zh/double-checked-locking/README.md b/localization/zh/double-checked-locking/README.md
similarity index 100%
rename from zh/double-checked-locking/README.md
rename to localization/zh/double-checked-locking/README.md
diff --git a/zh/facade/README.md b/localization/zh/facade/README.md
similarity index 100%
rename from zh/facade/README.md
rename to localization/zh/facade/README.md
diff --git a/zh/factory-kit/README.md b/localization/zh/factory-kit/README.md
similarity index 100%
rename from zh/factory-kit/README.md
rename to localization/zh/factory-kit/README.md
diff --git a/zh/factory-method/README.md b/localization/zh/factory-method/README.md
similarity index 100%
rename from zh/factory-method/README.md
rename to localization/zh/factory-method/README.md
diff --git a/zh/factory/README.md b/localization/zh/factory/README.md
similarity index 100%
rename from zh/factory/README.md
rename to localization/zh/factory/README.md
diff --git a/zh/interpreter/README.md b/localization/zh/interpreter/README.md
similarity index 100%
rename from zh/interpreter/README.md
rename to localization/zh/interpreter/README.md
diff --git a/zh/iterator/README.md b/localization/zh/iterator/README.md
similarity index 100%
rename from zh/iterator/README.md
rename to localization/zh/iterator/README.md
diff --git a/zh/observer/README.md b/localization/zh/observer/README.md
similarity index 100%
rename from zh/observer/README.md
rename to localization/zh/observer/README.md
diff --git a/zh/private-class-data/README.md b/localization/zh/private-class-data/README.md
similarity index 100%
rename from zh/private-class-data/README.md
rename to localization/zh/private-class-data/README.md
diff --git a/zh/producer-consumer/README.md b/localization/zh/producer-consumer/README.md
similarity index 100%
rename from zh/producer-consumer/README.md
rename to localization/zh/producer-consumer/README.md
diff --git a/zh/proxy/README.md b/localization/zh/proxy/README.md
similarity index 100%
rename from zh/proxy/README.md
rename to localization/zh/proxy/README.md
diff --git a/zh/sharding/README.md b/localization/zh/sharding/README.md
similarity index 100%
rename from zh/sharding/README.md
rename to localization/zh/sharding/README.md
diff --git a/zh/state/README.md b/localization/zh/state/README.md
similarity index 100%
rename from zh/state/README.md
rename to localization/zh/state/README.md
diff --git a/zh/strategy/README.md b/localization/zh/strategy/README.md
similarity index 100%
rename from zh/strategy/README.md
rename to localization/zh/strategy/README.md
diff --git a/zh/template-method/README.md b/localization/zh/template-method/README.md
similarity index 100%
rename from zh/template-method/README.md
rename to localization/zh/template-method/README.md
diff --git a/zh/version-number/README.md b/localization/zh/version-number/README.md
similarity index 100%
rename from zh/version-number/README.md
rename to localization/zh/version-number/README.md
diff --git a/zh/visitor/README.md b/localization/zh/visitor/README.md
similarity index 100%
rename from zh/visitor/README.md
rename to localization/zh/visitor/README.md