diff --git a/Makefile b/Makefile
index 0a1ccd20dd0c981a2315c7f621f2fb27fb77ab7f..e7f99b6843048ff097c6dfd0670ac23e9dae1e1d 100644
--- a/Makefile
+++ b/Makefile
@@ -62,7 +62,21 @@ include $(MAKEFILE_IMPORT_PATH)terminal-check.mk
 #############################################################################################
 #############################################################################################
 
+%.md5: %
+	@md5sum $< | cmp -s $@ -; if test $$? -ne 0; then md5sum $< > $@; fi
 
+LOCALEFILES := $(shell find $(SOURCE_PATH)translations/locales/ -name '*.json')
+CATALOGFILES := $(SOURCE_PATH)translations/locales/catalog.go
+
+$(CATALOGFILES): $(LOCALEFILES)
+	echo $(LOCALEFILES)
+	$(QUITE) $(ECHO) "Generating catalog files..."
+	$(QUITE) $(GO) generate $(SOURCE_PATH)translations/translations.go
+
+.PHONY: build-locales
+# Generate the catalog files	
+build-locales: $(CATALOGFILES)
+	$(QUITE) $(ECHO) "Building locales..."
 	
 
 	
diff --git a/application/source/translations/catalog.go b/application/source/translations/catalog.go
index 34454b8fb8d008b8bb655274daa0d4656f7c7d68..bae05d4a26ccc97165e1894ce8c038fc4630bad0 100644
--- a/application/source/translations/catalog.go
+++ b/application/source/translations/catalog.go
@@ -39,40 +39,39 @@ func init() {
 }
 
 var messageKeyToIndex = map[string]int{
-	"Error":                   0,
+	"Adds a new document": 24,
+	"Error":               0,
+	"Functions for creating and editing documents": 22,
 	"Info":                    2,
-	"No active command found": 19,
+	"No active command found": 18,
 	"Not permitted":           3,
-	"This program can be used to create documentation for your project.": 20,
-	"This program can be used to create documentation for your project. It can be used to create a new documentation project, add new documentation to an existing project, or to generate documentation from a source code project.": 21,
-	"Unknown Error: %s":       18,
-	"Warn":                    1,
-	"build: %s\n":             30,
-	"duplicated flag":         12,
-	"expected argument":       5,
+	"Prints the version and build information":                           27,
+	"This program can be used to create documentation for your project.": 19,
+	"This program can be used to create documentation for your project.\nIt can be used to create a new documentation project,\nadd new documentation to an existing project, or to generate\ndocumentation from a source code project.": 20,
+	"Unknown Error: %s": 17,
+	"Warn":              1,
+	"base directory in which the documents are saved": 23,
+	"build: %s\n":       29,
+	"duplicated flag":   11,
+	"expected argument": 5,
+	"file names of the new documents, separated by spaces": 25,
 	"flag error unknown":      4,
-	"handler %s not found":    22,
-	"invalid choice":          15,
-	"invalid tag":             16,
-	"long document":           24,
-	"long document add":       26,
-	"long version":            28,
+	"handler %s not found":    21,
+	"invalid choice":          14,
+	"invalid tag":             15,
 	"marshal":                 8,
 	"no argument for bool":    9,
-	"required":                10,
-	"short document":          23,
-	"short document add":      25,
-	"short name too long":     11,
-	"short version":           27,
-	"tag":                     13,
-	"unknown command":         14,
+	"no document name given":  26,
+	"short name too long":     10,
+	"tag %s":                  12,
+	"unknown command":         13,
 	"unknown flag":            6,
 	"unknown group":           7,
-	"unrecognized error type": 17,
-	"version: %s\n":           29,
+	"unrecognized error type": 16,
+	"version: %s\n":           28,
 }
 
-var deIndex = []uint32{ // 32 elements
+var deIndex = []uint32{ // 31 elements
 	0x00000000, 0x00000007, 0x0000000f, 0x00000014,
 	0x00000014, 0x00000014, 0x00000014, 0x00000014,
 	0x00000014, 0x00000014, 0x00000014, 0x00000014,
@@ -80,34 +79,37 @@ var deIndex = []uint32{ // 32 elements
 	0x00000014, 0x00000014, 0x00000014, 0x00000014,
 	0x00000014, 0x00000014, 0x00000014, 0x00000014,
 	0x00000014, 0x00000014, 0x00000014, 0x00000014,
-	0x00000014, 0x00000014, 0x00000014, 0x00000014,
-} // Size: 152 bytes
+	0x00000014, 0x00000014, 0x00000014,
+} // Size: 148 bytes
 
 const deData string = "\x02Fehler\x02Warnung\x02Info"
 
-var enIndex = []uint32{ // 32 elements
+var enIndex = []uint32{ // 31 elements
 	0x00000000, 0x00000006, 0x0000000b, 0x00000010,
 	0x0000001e, 0x00000031, 0x00000043, 0x00000050,
-	0x0000005e, 0x00000066, 0x0000007b, 0x00000084,
-	0x00000098, 0x000000a8, 0x000000ac, 0x000000bc,
-	0x000000cb, 0x000000d7, 0x000000ef, 0x00000104,
-	0x0000011c, 0x0000015f, 0x0000023f, 0x00000257,
-	0x00000266, 0x00000274, 0x00000287, 0x00000299,
-	0x000002a7, 0x000002b4, 0x000002c8, 0x000002da,
-} // Size: 152 bytes
+	0x0000005e, 0x00000066, 0x0000007b, 0x0000008f,
+	0x0000009f, 0x000000a9, 0x000000b9, 0x000000c8,
+	0x000000d4, 0x000000ec, 0x00000101, 0x00000119,
+	0x0000015c, 0x0000023c, 0x00000254, 0x00000281,
+	0x000002b1, 0x000002de, 0x00000313, 0x0000032a,
+	0x00000357, 0x0000036b, 0x0000037d,
+} // Size: 148 bytes
 
-const enData string = "" + // Size: 730 bytes
+const enData string = "" + // Size: 893 bytes
 	"\x02Error\x02Warn\x02Info\x02Not permitted\x02flag error unknown\x02expe" +
 	"cted argument\x02unknown flag\x02unknown group\x02marshal\x02no argument" +
-	" for bool\x02required\x02short name too long\x02duplicated flag\x02tag" +
-	"\x02unknown command\x02invalid choice\x02invalid tag\x02unrecognized err" +
-	"or type\x02Unknown Error: %[1]s\x02No active command found\x02This progr" +
-	"am can be used to create documentation for your project.\x02This program" +
-	" can be used to create documentation for your project. It can be used to" +
-	" create a new documentation project, add new documentation to an existin" +
-	"g project, or to generate documentation from a source code project.\x02h" +
-	"andler %[1]s not found\x02short document\x02long document\x02short docum" +
-	"ent add\x02long document add\x02short version\x02long version\x04\x00" +
-	"\x01\x0a\x0f\x02version: %[1]s\x04\x00\x01\x0a\x0d\x02build: %[1]s"
+	" for bool\x02short name too long\x02duplicated flag\x02tag %[1]s\x02unkn" +
+	"own command\x02invalid choice\x02invalid tag\x02unrecognized error type" +
+	"\x02Unknown Error: %[1]s\x02No active command found\x02This program can " +
+	"be used to create documentation for your project.\x02This program can be" +
+	" used to create documentation for your project.\x0aIt can be used to cre" +
+	"ate a new documentation project,\x0aadd new documentation to an existing" +
+	" project, or to generate\x0adocumentation from a source code project." +
+	"\x02handler %[1]s not found\x02Functions for creating and editing docume" +
+	"nts\x02base directory in which the documents are saved\x02Functions for " +
+	"creating and editing documents\x02file names of the new documents, separ" +
+	"ated by spaces\x02no document name given\x02Functions for creating and e" +
+	"diting documents\x04\x00\x01\x0a\x0f\x02version: %[1]s\x04\x00\x01\x0a" +
+	"\x0d\x02build: %[1]s"
 
-	// Total table size 1054 bytes (1KiB); checksum: 2EA20D06
+	// Total table size 1209 bytes (1KiB); checksum: DC32E83D
diff --git a/application/source/translations/locales/de/out.gotext.json b/application/source/translations/locales/de/out.gotext.json
index 7027e2a781c07e823d1cfb7191c4083dfe63729c..4f7ca9edcda20d28db3aca0353efec3e1f40f836 100644
--- a/application/source/translations/locales/de/out.gotext.json
+++ b/application/source/translations/locales/de/out.gotext.json
@@ -36,11 +36,6 @@
             "message": "no argument for bool",
             "translation": ""
         },
-        {
-            "id": "required",
-            "message": "required",
-            "translation": ""
-        },
         {
             "id": "short name too long",
             "message": "short name too long",
@@ -52,9 +47,19 @@
             "translation": ""
         },
         {
-            "id": "tag",
-            "message": "tag",
-            "translation": ""
+            "id": "tag {Error}",
+            "message": "tag {Error}",
+            "translation": "",
+            "placeholders": [
+                {
+                    "id": "Error",
+                    "string": "%[1]s",
+                    "type": "string",
+                    "underlyingType": "string",
+                    "argNum": 1,
+                    "expr": "err.Error()"
+                }
+            ]
         },
         {
             "id": "unknown command",
@@ -116,8 +121,8 @@
             "translation": ""
         },
         {
-            "id": "This program can be used to create documentation for your project. It can be used to create a new documentation project, add new documentation to an existing project, or to generate documentation from a source code project.",
-            "message": "This program can be used to create documentation for your project. It can be used to create a new documentation project, add new documentation to an existing project, or to generate documentation from a source code project.",
+            "id": "This program can be used to create documentation for your project.\nIt can be used to create a new documentation project,\nadd new documentation to an existing project, or to generate\ndocumentation from a source code project.",
+            "message": "This program can be used to create documentation for your project.\nIt can be used to create a new documentation project,\nadd new documentation to an existing project, or to generate\ndocumentation from a source code project.",
             "translation": ""
         },
         {
@@ -135,33 +140,26 @@
             ]
         },
         {
-            "id": "short document",
-            "message": "short document",
-            "translation": ""
-        },
-        {
-            "id": "long document",
-            "message": "long document",
-            "translation": ""
-        },
-        {
-            "id": "short document add",
-            "message": "short document add",
+            "id": [
+                "text",
+                "Functions for creating and editing documents"
+            ],
+            "message": "Functions for creating and editing documents",
             "translation": ""
         },
         {
-            "id": "long document add",
-            "message": "long document add",
+            "id": "base directory in which the documents are saved",
+            "message": "base directory in which the documents are saved",
             "translation": ""
         },
         {
-            "id": "short version",
-            "message": "short version",
+            "id": "file names of the new documents, separated by spaces",
+            "message": "file names of the new documents, separated by spaces",
             "translation": ""
         },
         {
-            "id": "long version",
-            "message": "long version",
+            "id": "no document name given",
+            "message": "no document name given",
             "translation": ""
         },
         {
diff --git a/application/source/translations/locales/en/out.gotext.json b/application/source/translations/locales/en/out.gotext.json
index 04d827f1df11a6b872264b0aa228d2fc267d7f83..233f178c0fdfee41aeeb902fa3a6f2079df9a4da 100644
--- a/application/source/translations/locales/en/out.gotext.json
+++ b/application/source/translations/locales/en/out.gotext.json
@@ -50,13 +50,6 @@
             "translatorComment": "Copied from source.",
             "fuzzy": true
         },
-        {
-            "id": "required",
-            "message": "required",
-            "translation": "required",
-            "translatorComment": "Copied from source.",
-            "fuzzy": true
-        },
         {
             "id": "short name too long",
             "message": "short name too long",
@@ -72,10 +65,20 @@
             "fuzzy": true
         },
         {
-            "id": "tag",
-            "message": "tag",
-            "translation": "tag",
+            "id": "tag {Error}",
+            "message": "tag {Error}",
+            "translation": "tag {Error}",
             "translatorComment": "Copied from source.",
+            "placeholders": [
+                {
+                    "id": "Error",
+                    "string": "%[1]s",
+                    "type": "string",
+                    "underlyingType": "string",
+                    "argNum": 1,
+                    "expr": "err.Error()"
+                }
+            ],
             "fuzzy": true
         },
         {
@@ -158,9 +161,9 @@
             "fuzzy": true
         },
         {
-            "id": "This program can be used to create documentation for your project. It can be used to create a new documentation project, add new documentation to an existing project, or to generate documentation from a source code project.",
-            "message": "This program can be used to create documentation for your project. It can be used to create a new documentation project, add new documentation to an existing project, or to generate documentation from a source code project.",
-            "translation": "This program can be used to create documentation for your project. It can be used to create a new documentation project, add new documentation to an existing project, or to generate documentation from a source code project.",
+            "id": "This program can be used to create documentation for your project.\nIt can be used to create a new documentation project,\nadd new documentation to an existing project, or to generate\ndocumentation from a source code project.",
+            "message": "This program can be used to create documentation for your project.\nIt can be used to create a new documentation project,\nadd new documentation to an existing project, or to generate\ndocumentation from a source code project.",
+            "translation": "This program can be used to create documentation for your project.\nIt can be used to create a new documentation project,\nadd new documentation to an existing project, or to generate\ndocumentation from a source code project.",
             "translatorComment": "Copied from source.",
             "fuzzy": true
         },
@@ -181,44 +184,33 @@
             "fuzzy": true
         },
         {
-            "id": "short document",
-            "message": "short document",
-            "translation": "short document",
-            "translatorComment": "Copied from source.",
-            "fuzzy": true
-        },
-        {
-            "id": "long document",
-            "message": "long document",
-            "translation": "long document",
-            "translatorComment": "Copied from source.",
-            "fuzzy": true
-        },
-        {
-            "id": "short document add",
-            "message": "short document add",
-            "translation": "short document add",
+            "id": [
+                "text",
+                "Functions for creating and editing documents"
+            ],
+            "message": "Functions for creating and editing documents",
+            "translation": "Functions for creating and editing documents",
             "translatorComment": "Copied from source.",
             "fuzzy": true
         },
         {
-            "id": "long document add",
-            "message": "long document add",
-            "translation": "long document add",
+            "id": "base directory in which the documents are saved",
+            "message": "base directory in which the documents are saved",
+            "translation": "base directory in which the documents are saved",
             "translatorComment": "Copied from source.",
             "fuzzy": true
         },
         {
-            "id": "short version",
-            "message": "short version",
-            "translation": "short version",
+            "id": "file names of the new documents, separated by spaces",
+            "message": "file names of the new documents, separated by spaces",
+            "translation": "file names of the new documents, separated by spaces",
             "translatorComment": "Copied from source.",
             "fuzzy": true
         },
         {
-            "id": "long version",
-            "message": "long version",
-            "translation": "long version",
+            "id": "no document name given",
+            "message": "no document name given",
+            "translation": "no document name given",
             "translatorComment": "Copied from source.",
             "fuzzy": true
         },
diff --git a/development/examples/example1/assets/m1.md b/development/examples/example1/assets/m1.md
new file mode 100644
index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391