summaryrefslogtreecommitdiff
path: root/docs/_locale/de_DE/LC_MESSAGES/contributing
diff options
context:
space:
mode:
Diffstat (limited to 'docs/_locale/de_DE/LC_MESSAGES/contributing')
-rw-r--r--docs/_locale/de_DE/LC_MESSAGES/contributing/build-vyos.po582
-rw-r--r--docs/_locale/de_DE/LC_MESSAGES/contributing/debugging.po310
-rw-r--r--docs/_locale/de_DE/LC_MESSAGES/contributing/development.po1019
-rw-r--r--docs/_locale/de_DE/LC_MESSAGES/contributing/issues-features.po141
-rw-r--r--docs/_locale/de_DE/LC_MESSAGES/contributing/testing.po231
-rw-r--r--docs/_locale/de_DE/LC_MESSAGES/contributing/upstream-packages.po211
6 files changed, 2494 insertions, 0 deletions
diff --git a/docs/_locale/de_DE/LC_MESSAGES/contributing/build-vyos.po b/docs/_locale/de_DE/LC_MESSAGES/contributing/build-vyos.po
new file mode 100644
index 00000000..82c09950
--- /dev/null
+++ b/docs/_locale/de_DE/LC_MESSAGES/contributing/build-vyos.po
@@ -0,0 +1,582 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) 2021, VyOS maintainers and contributors
+# This file is distributed under the same license as the VyOS package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: VyOS 1.4\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2022-10-21 12:01+0200\n"
+"PO-Revision-Date: 2022-10-21 10:04+0000\n"
+"Language-Team: German (Germany) (https://www.transifex.com/vyos/teams/155110/de_DE/)\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Language: de_DE\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: ../../contributing/build-vyos.rst:5 f9b434efcd7a47e6ba9e7a6aaa04434d
+msgid "Build VyOS"
+msgstr ""
+
+#: ../../contributing/build-vyos.rst:9 e7859dcaaf73449f97a0e48a37f86172
+msgid "Prerequisites"
+msgstr ""
+
+#: ../../contributing/build-vyos.rst:11 17de3ba2c45340499b63d4f5d27bf877
+msgid "There are different ways you can build VyOS."
+msgstr ""
+
+#: ../../contributing/build-vyos.rst:13 18040e9a029542619d890b955a7da385
+msgid ""
+"Building using a :ref:`build_docker` container, although not the only way, "
+"is the easiest way as all dependencies are managed for you. However, you can"
+" also set up your own build machine and run a :ref:`build_native`."
+msgstr ""
+
+#: ../../contributing/build-vyos.rst:17 34f1314ec9ef47cdb4942d747072dcaf
+msgid ""
+"Starting with VyOS 1.2 the release model of VyOS has changed. VyOS is now "
+"**free as in speech, but not as in beer**. This means that while VyOS is "
+"still an open source project, the release ISOs are no longer free and can "
+"only be obtained via subscription, or by contributing to the community."
+msgstr ""
+
+#: ../../contributing/build-vyos.rst:23 6567d7d0b0064e7cbb1b19a7937a0a2e
+msgid ""
+"The source code remains public and an ISO can be built using the process "
+"outlined in this chapter."
+msgstr ""
+
+#: ../../contributing/build-vyos.rst:26 8d50098cac234918806bbf90d7c43e77
+msgid ""
+"This will guide you through the process of building a VyOS ISO using "
+"Docker_. This process has been tested on clean installs of Debian Jessie, "
+"Stretch, and Buster."
+msgstr ""
+
+#: ../../contributing/build-vyos.rst:33 a5e42057b3ae42fd9dd69626c8d3427b
+msgid "Docker"
+msgstr ""
+
+#: ../../contributing/build-vyos.rst:35 b441cd3eaafb4687bcfd3e21158b3277
+msgid "Installing Docker_ and prerequisites:"
+msgstr ""
+
+#: ../../contributing/build-vyos.rst:46 911751b4040444788ef2bf7f7e02d612
+msgid ""
+"To be able to use Docker_ without ``sudo``, the current non-root user must "
+"be added to the ``docker`` group by calling: ``sudo usermod -aG docker "
+"yourusername``."
+msgstr ""
+
+#: ../../contributing/build-vyos.rst:50 05146ea1c05d4c0db6e76b87276c43eb
+msgid ""
+"Doing so grants privileges equivalent to the ``root`` user! It is "
+"recommended to remove the non-root user from the ``docker`` group after "
+"building the VyOS ISO. See also `Docker as non-root`_."
+msgstr ""
+
+#: ../../contributing/build-vyos.rst:54 900c5ddbe9174950ab52565784843ba9
+msgid ""
+"The build process needs to be built on a local file system, building on SMB "
+"or NFS shares will result in the container failing to build properly! "
+"VirtualBox Drive Share is also not an option as block device operations are "
+"not implemented and the drive is always mounted as \"nodev\""
+msgstr ""
+
+#: ../../contributing/build-vyos.rst:60 b4b73dd959f849828a9640ee6564615e
+msgid "Build Container"
+msgstr ""
+
+#: ../../contributing/build-vyos.rst:62 073648837b614bed812f5e2883bff835
+msgid ""
+"The container can be built by hand or by fetching the pre-built one from "
+"DockerHub. Using the pre-built containers from the `VyOS DockerHub "
+"organisation`_ will ensure that the container is always up-to-date. A "
+"rebuild is triggered once the container changes (please note this will take "
+"2-3 hours after pushing to the vyos-build repository)."
+msgstr ""
+
+#: ../../contributing/build-vyos.rst:73 640cb63c32944b0bae642bbbf713260f
+msgid "Dockerhub"
+msgstr ""
+
+#: ../../contributing/build-vyos.rst:75 f351d2c9e39544438bc481283aee2750
+msgid "To manually download the container from DockerHub, run:"
+msgstr ""
+
+#: ../../contributing/build-vyos.rst:83 a5327e673a0247d4acc9734cef314b0d
+msgid "Build from source"
+msgstr ""
+
+#: ../../contributing/build-vyos.rst:85 1c11cd53a55b49f497db759f5931b167
+msgid "The container can also be built directly from source:"
+msgstr ""
+
+#: ../../contributing/build-vyos.rst:98 50d70f507ae740c6a1393ceb353f1b57
+msgid ""
+"Since VyOS has switched to Debian (11) Bullseye in its ``current`` branch, "
+"you will require individual container for `current`, `equuleus` and `crux` "
+"builds."
+msgstr ""
+
+#: ../../contributing/build-vyos.rst:103 25325d646f134653bcd53a9e67939997
+msgid "Tips and Tricks"
+msgstr ""
+
+#: ../../contributing/build-vyos.rst:105 3335f88bb36f454f9e6fdf9fed044450
+msgid ""
+"You can create yourself some handy Bash aliases to always launch the latest "
+"- per release train (`current` or `crux`) - container. Add the following to "
+"your ``.bash_aliases`` file:"
+msgstr ""
+
+#: ../../contributing/build-vyos.rst:129 05c7bec68a46426791346de5999e0537
+msgid ""
+"Now you are prepared with two new aliases ``vybld`` and ``vybld_crux`` to "
+"spawn your development containers in your current working directory."
+msgstr ""
+
+#: ../../contributing/build-vyos.rst:132 189ec31e898b4bbbadf749952f753b00
+msgid ""
+"Some VyOS packages (namely vyos-1x) come with build-time tests which verify "
+"some of the internal library calls that they work as expected. Those tests "
+"are carried out through the Python Unittest module. If you want to build the"
+" ``vyos-1x`` package (which is our main development package) you need to "
+"start your Docker container using the following argument: ``--sysctl "
+"net.ipv6.conf.lo.disable_ipv6=0``, otherwise those tests will fail."
+msgstr ""
+
+#: ../../contributing/build-vyos.rst:142 c09bcecd4164410f87484de8a531cbae
+msgid "Native Build"
+msgstr ""
+
+#: ../../contributing/build-vyos.rst:144 0dffd1bda041451c8f52e52195fd2e89
+msgid ""
+"To build VyOS natively you require a properly configured build host with the"
+" following Debian versions installed:"
+msgstr ""
+
+#: ../../contributing/build-vyos.rst:147 bc54d4f524704452af0d5498640e59d2
+msgid "Debian Jessie for VyOS 1.2 (crux)"
+msgstr ""
+
+#: ../../contributing/build-vyos.rst:148 6bbd23b0a6c842639f5265e9ff79c214
+msgid ""
+"Debian Buster for VyOS 1.3 (equuleus, current) - aka the rolling release"
+msgstr ""
+
+#: ../../contributing/build-vyos.rst:150 fcdeba9a35e64863ae7eda72cb5514d1
+msgid "To start, clone the repository to your local machine:"
+msgstr ""
+
+#: ../../contributing/build-vyos.rst:160 3c61095c1ab14dcf94b5c9529eaf3754
+msgid ""
+"For the packages required, you can refer to the ``docker/Dockerfile`` file "
+"in the repository_. The ``./configure`` script will also warn you if any "
+"dependencies are missing."
+msgstr ""
+
+#: ../../contributing/build-vyos.rst:164 31e329aa835e41429ed4dc1a75f15174
+msgid ""
+"Once you have the required dependencies installed, you may proceed with the "
+"steps described in :ref:`build_iso`."
+msgstr ""
+
+#: ../../contributing/build-vyos.rst:172 8e95321ef391422a85155e9840aa810f
+msgid "Build ISO"
+msgstr ""
+
+#: ../../contributing/build-vyos.rst:174 b789f79b043744b0a88da222720d3754
+msgid ""
+"Now as you are aware of the prerequisites we can continue and build our own "
+"ISO from source. For this we have to fetch the latest source code from "
+"GitHub. Please note as this will differ for both `current` and `crux`."
+msgstr ""
+
+#: ../../contributing/build-vyos.rst:186 c59724b4d1bd4e39b68b822e653242ef
+msgid ""
+"Now a fresh build of the VyOS ISO can begin. Change directory to the ``vyos-"
+"build`` directory and run:"
+msgstr ""
+
+#: ../../contributing/build-vyos.rst:213 83359a6fcc8b45a2a2850676e858f09e
+msgid "Start the build:"
+msgstr ""
+
+#: ../../contributing/build-vyos.rst:220 813652e166e14361ad000f77ce3c3a76
+msgid ""
+"When the build is successful, the resulting iso can be found inside the "
+"``build`` directory as ``live-image-[architecture].hybrid.iso``."
+msgstr ""
+
+#: ../../contributing/build-vyos.rst:223 b6621b905b94486888fc75685dfa79ba
+msgid "Good luck!"
+msgstr ""
+
+#: ../../contributing/build-vyos.rst:225 ce7b1c2e720c417eaa2fff65a9910a83
+msgid ""
+"Building VyOS on Windows WSL2 with Docker integrated into WSL2 will work "
+"like a charm. No problems are known so far!"
+msgstr ""
+
+#: ../../contributing/build-vyos.rst:234 54aee8b029ce4144a48bfe6d396716f9
+msgid "Customize"
+msgstr ""
+
+#: ../../contributing/build-vyos.rst:236 7df61c4ffd844f6dab126ca4f1d041cd
+msgid ""
+"This ISO can be customized with the following list of configure options. The"
+" full and current list can be generated with ``./configure --help``:"
+msgstr ""
+
+#: ../../contributing/build-vyos.rst:281 29d46fec07694c14926803dd88c9631f
+msgid "ISO Build Issues"
+msgstr ""
+
+#: ../../contributing/build-vyos.rst:283 2b860168d39a485ca40730cd97021857
+msgid ""
+"There are (rare) situations where building an ISO image is not possible at "
+"all due to a broken package feed in the background. APT is not very good at "
+"reporting the root cause of the issue. Your ISO build will likely fail with "
+"a more or less similar looking error message:"
+msgstr ""
+
+#: ../../contributing/build-vyos.rst:306 111028887cdf451aaf5085b1c5bb3eb9
+msgid ""
+"To debug the build process and gain additional information of what could be "
+"the root cause, you need to use `chroot` to change into the build directry. "
+"This is explained in the following step by step procedure:"
+msgstr ""
+
+#: ../../contributing/build-vyos.rst:314 b91798ddcb664dd0afc0c3e5dc5d22b0
+msgid "We now need to mount some required, volatile filesystems"
+msgstr ""
+
+#: ../../contributing/build-vyos.rst:322 13f1f727c4cc44838022d0201b1663ee
+msgid ""
+"We now are free to run any command we would like to use for debugging, e.g. "
+"re-installing the failed package after updating the repository."
+msgstr ""
+
+#: ../../contributing/build-vyos.rst:357 99bf13c8aae4486d9b18181cc2ef828e
+msgid ""
+"Now it's time to fix the package mirror and rerun the last step until the "
+"package installation succeeds again!"
+msgstr ""
+
+#: ../../contributing/build-vyos.rst:363 9a84c0d47fdd4b168bf3b531a204ead8
+msgid "Linux Kernel"
+msgstr ""
+
+#: ../../contributing/build-vyos.rst:365 b6132ca1c1cc4ca2b987f401909b0624
+msgid ""
+"The Linux kernel used by VyOS is heavily tied to the ISO build process. The "
+"file ``data/defaults.json`` hosts a JSON definition of the kernel version "
+"used ``kernel_version`` and the ``kernel_flavor`` of the kernel which "
+"represents the kernel's LOCAL_VERSION. Both together form the kernel version"
+" variable in the system:"
+msgstr ""
+
+#: ../../contributing/build-vyos.rst:376 5f8e92525fa444fd840775e9b1941c7b
+msgid ""
+"Other packages (e.g. vyos-1x) add dependencies to the ISO build procedure on"
+" e.g. the wireguard-modules package which itself adds a dependency on the "
+"kernel version used due to the module it ships. This may change (for "
+"WireGuard) in future kernel releases but as long as we have out-of-tree "
+"modules."
+msgstr ""
+
+#: ../../contributing/build-vyos.rst:381 ../../contributing/build-vyos.rst:570
+#: 2f53ab64046d40618abfa33fc5f91ed1 6c8fe0f76a79488fb1d9a21c41334902
+msgid "WireGuard"
+msgstr ""
+
+#: ../../contributing/build-vyos.rst:382 ../../contributing/build-vyos.rst:618
+#: 698978e34d5244558896024b11bcc12b f27c76294f614a5397ea7dd435954de6
+msgid "Accel-PPP"
+msgstr ""
+
+#: ../../contributing/build-vyos.rst:383 9daedc35e77f42ba9870cdd7adffb9fb
+msgid "Intel NIC drivers"
+msgstr ""
+
+#: ../../contributing/build-vyos.rst:384 2e7c0a9f85544e6695d278414e90e2b9
+msgid "Inter QAT"
+msgstr ""
+
+#: ../../contributing/build-vyos.rst:386 27289b3878224bd7b7254f1daed3ee7e
+msgid ""
+"Each of those modules holds a dependency on the kernel version and if you "
+"are lucky enough to receive an ISO build error which sounds like:"
+msgstr ""
+
+#: ../../contributing/build-vyos.rst:404 09ba89747d10433c848a262d4f50ee42
+msgid "The most obvious reasons could be:"
+msgstr ""
+
+#: ../../contributing/build-vyos.rst:406 db2b650375644a649f6297dd8afc026d
+msgid ""
+"``vyos-build`` repo is outdated, please ``git pull`` to update to the latest"
+" release kernel version from us."
+msgstr ""
+
+#: ../../contributing/build-vyos.rst:409 6046e08b28dd417f974505d3b0a3c40b
+msgid ""
+"You have your own custom kernel `*.deb` packages in the `packages` folder "
+"but neglected to create all required out-of tree modules like Accel-PPP, "
+"WireGuard, Intel QAT, Intel NIC"
+msgstr ""
+
+#: ../../contributing/build-vyos.rst:414 a2f814ee71fb49aaa7a5c4623df52c78
+msgid "Building The Kernel"
+msgstr ""
+
+#: ../../contributing/build-vyos.rst:416 9516ca81a94d41f98227a52c1e721f1b
+msgid ""
+"The kernel build is quite easy, most of the required steps can be found in "
+"the ``vyos-build/packages/linux-kernel/Jenkinsfile`` but we will walk you "
+"through it."
+msgstr ""
+
+#: ../../contributing/build-vyos.rst:420 cdd6bfbaf88242f18fffe5e9bcf18fbb
+msgid "Clone the kernel source to `vyos-build/packages/linux-kernel/`:"
+msgstr ""
+
+#: ../../contributing/build-vyos.rst:427 d4dc7278e7a84f8c8152e34cbd574939
+msgid ""
+"Check out the required kernel version - see ``vyos-"
+"build/data/defaults.json`` file (example uses kernel 4.19.146):"
+msgstr ""
+
+#: ../../contributing/build-vyos.rst:448 8778f37392a942048d61a1a7ccc1fa0e
+msgid ""
+"Now we can use the helper script ``build-kernel.sh`` which does all the "
+"necessary voodoo by applying required patches from the `vyos-"
+"build/packages/linux-kernel/patches` folder, copying our kernel "
+"configuration ``x86_64_vyos_defconfig`` to the right location, and finally "
+"building the Debian packages."
+msgstr ""
+
+#: ../../contributing/build-vyos.rst:454 bc21b4fbf014442e828a814ad6125e88
+msgid ""
+"Building the kernel will take some time depending on the speed and quantity "
+"of your CPU/cores and disk speed. Expect 20 minutes (or even longer) on "
+"lower end hardware."
+msgstr ""
+
+#: ../../contributing/build-vyos.rst:533 c6a344996c504a93a3bbca90e8770e52
+msgid ""
+"In the end you will be presented with the kernel binary packages which you "
+"can then use in your custom ISO build process, by placing all the `*.deb` "
+"files in the vyos-build/packages folder where they will be used "
+"automatically when building VyOS as documented above."
+msgstr ""
+
+#: ../../contributing/build-vyos.rst:539 936f19a82df5456f9288c58ec80a1425
+msgid "Firmware"
+msgstr ""
+
+#: ../../contributing/build-vyos.rst:541 9330cf56b314426a9b809003a7f698e5
+msgid ""
+"If you upgrade your kernel or include new drivers you may need new firmware."
+" Build a new ``vyos-linux-firmware`` package with the included helper "
+"scripts."
+msgstr ""
+
+#: ../../contributing/build-vyos.rst:551 1163d0a81d2947cb88c5fa0912944c3b
+msgid ""
+"This tries to automatically detect which blobs are needed based on which "
+"drivers were built. If it fails to find the correct files you can add them "
+"manually to ``vyos-build/packages/linux-kernel/build-linux-firmware.sh``:"
+msgstr ""
+
+#: ../../contributing/build-vyos.rst:561 736268b6ee684258b753e15f46f98568
+msgid "Building Out-Of-Tree Modules"
+msgstr ""
+
+#: ../../contributing/build-vyos.rst:563 47b278781793406692070098433d50db
+msgid ""
+"Building the kernel is one part, but now you also need to build the required"
+" out-of-tree modules so everything is lined up and the ABIs match. To do so,"
+" you can again take a look at ``vyos-build/packages/linux-"
+"kernel/Jenkinsfile`` to see all of the required modules and their selected "
+"versions. We will show you how to build all the current required modules."
+msgstr ""
+
+#: ../../contributing/build-vyos.rst:572 ../../contributing/build-vyos.rst:620
+#: 3784c59cab18425c939c7eac26664604 b5760a364c314ce6b0f41f69a3ae386b
+msgid ""
+"First, clone the source code and check out the appropriate version by "
+"running:"
+msgstr ""
+
+#: ../../contributing/build-vyos.rst:581 ../../contributing/build-vyos.rst:627
+#: 4f7da575ba2b41ad9601e543f7232a99 1fb50119001f4deb8dc2f499be966a7d
+msgid ""
+"We again make use of a helper script and some patches to make the build "
+"work. Just run the following command:"
+msgstr ""
+
+#: ../../contributing/build-vyos.rst:613 ../../contributing/build-vyos.rst:654
+#: ../../contributing/build-vyos.rst:683 ../../contributing/build-vyos.rst:718
+#: e16a0aa8ede84c2d974e5f1a3fa3a05c 942733a6786a4c90888b48e3258925fb
+#: 96de1ad1ca564306874ca693b64ed2f2 2b4b177225ea4ffaa7d921bdaa18f21f
+msgid ""
+"After compiling the packages you will find yourself the newly generated "
+"`*.deb` binaries in ``vyos-build/packages/linux-kernel`` from which you can "
+"copy them to the ``vyos-build/packages`` folder for inclusion during the ISO"
+" build."
+msgstr ""
+
+#: ../../contributing/build-vyos.rst:659 09c99b056d4b4b208113b5fd1cf3c178
+msgid "Intel NIC"
+msgstr ""
+
+#: ../../contributing/build-vyos.rst:661 8514daf0ed214cc08bcc8362d8ad78f0
+msgid ""
+"The Intel NIC drivers do not come from a Git repository, instead we just "
+"fetch the tarballs from our mirror and compile them."
+msgstr ""
+
+#: ../../contributing/build-vyos.rst:664 ../../contributing/build-vyos.rst:693
+#: 26953b5adaaa477884145ddedc79283a 3250ff3979494fd79a01a57e35e38e90
+msgid "Simply use our wrapper script to build all of the driver modules."
+msgstr ""
+
+#: ../../contributing/build-vyos.rst:688 4ca472da70ed40c2ba31ea481c27d2e9
+msgid "Intel QAT"
+msgstr ""
+
+#: ../../contributing/build-vyos.rst:689 432251d26cbe43ee84f637d19538fa2e
+msgid ""
+"The Intel QAT (Quick Assist Technology) drivers do not come from a Git "
+"repository, instead we just fetch the tarballs from 01.org, Intel's open-"
+"source website."
+msgstr ""
+
+#: ../../contributing/build-vyos.rst:724 ../../contributing/build-vyos.rst:793
+#: 0863473aebad423e9ca45ed5d9e9821d a173df96275148daa3d0aaf02801d23c
+msgid "Packages"
+msgstr ""
+
+#: ../../contributing/build-vyos.rst:726 a7072cbb80e449e88ce611ec3b84f7a2
+msgid ""
+"If you are brave enough to build yourself an ISO image containing any "
+"modified package from our GitHub organisation - this is the place to be."
+msgstr ""
+
+#: ../../contributing/build-vyos.rst:729 8116e03a23d04c309b363093ce82621d
+msgid ""
+"Any \"modified\" package may refer to an altered version of e.g. vyos-1x "
+"package that you would like to test before filing a pull request on GitHub."
+msgstr ""
+
+#: ../../contributing/build-vyos.rst:732 5c1d80f2550243af93c07c134bcc56e8
+msgid ""
+"Building an ISO with any customized package is in no way different than "
+"building a regular (customized or not) ISO image. Simply place your modified"
+" `*.deb` package inside the `packages` folder within `vyos-build`. The build"
+" process will then pickup your custom package and integrate it into your "
+"ISO."
+msgstr ""
+
+#: ../../contributing/build-vyos.rst:738 0e5753f4c8af477787450aeb71bb7657
+msgid "Troubleshooting"
+msgstr ""
+
+#: ../../contributing/build-vyos.rst:740 7b10ee6f0426415bb71660552ccf413a
+msgid ""
+"Debian APT is not very verbose when it comes to errors. If your ISO build "
+"breaks for whatever reason and you suspect it's a problem with APT "
+"dependencies or installation you can add this small patch which increases "
+"the APT verbosity during ISO build."
+msgstr ""
+
+#: ../../contributing/build-vyos.rst:769 694253006ae1488aa93431b9a8a80aec
+msgid "Virtualization Platforms"
+msgstr ""
+
+#: ../../contributing/build-vyos.rst:772 c480920ab1f5426eaf8983d73d3190b2
+msgid "QEMU"
+msgstr ""
+
+#: ../../contributing/build-vyos.rst:774 2a108d6c3e804d0eaa95325f12aaa514
+msgid "Run the following command after building the ISO image."
+msgstr ""
+
+#: ../../contributing/build-vyos.rst:781 0db23ac276b14114b934de5ca75a3247
+msgid "VMware"
+msgstr ""
+
+#: ../../contributing/build-vyos.rst:783 825e9f45a5ac4f1da0948de25c6dc888
+msgid "Run the following command after building the QEMU image."
+msgstr ""
+
+#: ../../contributing/build-vyos.rst:795 bfecae5db1254d4686abf116ac4a761d
+msgid ""
+"VyOS itself comes with a bunch of packages that are specific to our system "
+"and thus cannot be found in any Debian mirror. Those packages can be found "
+"at the `VyOS GitHub project`_ in their source format can easily be compiled "
+"into a custom Debian (`*.deb`) package."
+msgstr ""
+
+#: ../../contributing/build-vyos.rst:800 ad250e9952604cce8f18577aff2fe5dd
+msgid ""
+"The easiest way to compile your package is with the above mentioned "
+":ref:`build_docker` container, it includes all required dependencies for all"
+" VyOS related packages."
+msgstr ""
+
+#: ../../contributing/build-vyos.rst:804 7557ad729d0944729ad7efcc559ca6b3
+msgid ""
+"Assume we want to build the vyos-1x package on our own and modify it to our "
+"needs. We first need to clone the repository from GitHub."
+msgstr ""
+
+#: ../../contributing/build-vyos.rst:812 c9bd4af0c6864730ac3f1b9783c47f2e
+msgid "Build"
+msgstr ""
+
+#: ../../contributing/build-vyos.rst:814 47f948a1262c4b01a4bc222308a3abee
+msgid "Launch Docker container and build package"
+msgstr ""
+
+#: ../../contributing/build-vyos.rst:827 677fe0e847b04bdfa0cfc3b3a64ff9a0
+msgid ""
+"After a minute or two you will find the generated DEB packages next to the "
+"vyos-1x source directory:"
+msgstr ""
+
+#: ../../contributing/build-vyos.rst:837 54fbfde9deac4d58b273469b9ec25d31
+msgid "Install"
+msgstr ""
+
+#: ../../contributing/build-vyos.rst:839 2b42e8916d7a455f84ab2bd89c556b53
+msgid ""
+"To take your newly created package on a test drive you can simply SCP it to "
+"a running VyOS instance and install the new `*.deb` package over the current"
+" running one."
+msgstr ""
+
+#: ../../contributing/build-vyos.rst:843 16e510091299422e952a2fd36740b4e8
+msgid "Just install using the following commands:"
+msgstr ""
+
+#: ../../contributing/build-vyos.rst:854 d9c6c6a8d29f43778d826b759a763067
+msgid ""
+"You can also place the generated `*.deb` into your ISO build environment to "
+"include it in a custom iso, see :ref:`build_custom_packages` for more "
+"information."
+msgstr ""
+
+#: ../../contributing/build-vyos.rst:858 406e3d0896054894af4661516b0e1cc2
+msgid ""
+"Any packages in the packages directory will be added to the iso during "
+"build, replacing the upstream ones. Make sure you delete them (both the "
+"source directories and built deb packages) if you want to build an iso from "
+"purely upstream packages."
+msgstr ""
diff --git a/docs/_locale/de_DE/LC_MESSAGES/contributing/debugging.po b/docs/_locale/de_DE/LC_MESSAGES/contributing/debugging.po
new file mode 100644
index 00000000..fc42604f
--- /dev/null
+++ b/docs/_locale/de_DE/LC_MESSAGES/contributing/debugging.po
@@ -0,0 +1,310 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) 2021, VyOS maintainers and contributors
+# This file is distributed under the same license as the VyOS package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: VyOS 1.4\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2022-10-21 12:01+0200\n"
+"PO-Revision-Date: 2022-10-21 10:04+0000\n"
+"Language-Team: German (Germany) (https://www.transifex.com/vyos/teams/155110/de_DE/)\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Language: de_DE\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: ../../contributing/debugging.rst:5 d9abb064d6ec46698758d0f175f7b250
+msgid "Debugging"
+msgstr ""
+
+#: ../../contributing/debugging.rst:7 7fb551891e1a4f0c8ac9917eb715e178
+msgid ""
+"There are two flags available to aid in debugging configuration scripts. "
+"Since configuration loading issues will manifest during boot, the flags are "
+"passed as kernel boot parameters."
+msgstr ""
+
+#: ../../contributing/debugging.rst:12 19772cc03d234060bb88c9b6d1c6ce3a
+msgid "ISO image build"
+msgstr ""
+
+#: ../../contributing/debugging.rst:14 c23659ab849a46b59d6b774017f364eb
+msgid ""
+"When having trouble compiling your own ISO image or debugging Jenkins issues"
+" you can follow the steps at :ref:`iso_build_issues`."
+msgstr ""
+
+#: ../../contributing/debugging.rst:18 f711dd3a740242ca9155020137c35f77
+msgid "System Startup"
+msgstr ""
+
+#: ../../contributing/debugging.rst:20 1954ad919001400681578eed03136e5e
+msgid ""
+"The system startup can be debugged (like loading in the configuration file "
+"from ``/config/config.boot``. This can be achieve by extending the Kernel "
+"command-line in the bootloader."
+msgstr ""
+
+#: ../../contributing/debugging.rst:25 f865988e532244acbdfb851b45b734a2
+msgid "Kernel"
+msgstr ""
+
+#: ../../contributing/debugging.rst:27 7917e5ed63eb4ebbb3632ace2f89edd8
+msgid ""
+"``vyos-debug`` - Adding the parameter to the linux boot line will produce "
+"timing results for the execution of scripts during commit. If one is seeing "
+"an unexpected delay during manual or boot commit, this may be useful in "
+"identifying bottlenecks. The internal flag is ``VYOS_DEBUG``, and is found "
+"in vyatta-cfg_. Output is directed to ``/var/log/vyatta/cfg-stdout.log``."
+msgstr ""
+
+#: ../../contributing/debugging.rst:33 bc15a266694b4c6c9b9e1c7bf9996f1c
+msgid ""
+"``vyos-config-debug`` - During development, coding errors can lead to a "
+"commit failure on boot, possibly resulting in a failed initialization of the"
+" CLI. In this circumstance, the kernel boot parameter ``vyos-config-debug`` "
+"will ensure access to the system as user ``vyos``, and will log a Python "
+"stack trace to the file ``/tmp/boot-config-trace``. File ``boot-config-"
+"trace`` will generate only if config loaded with a failure status."
+msgstr ""
+
+#: ../../contributing/debugging.rst:42 927250c6b0fb4a99a77084985694f7c8
+msgid "Live System"
+msgstr ""
+
+#: ../../contributing/debugging.rst:44 12a2672d770344088afbffa70ffc74cc
+msgid ""
+"A number of flags can be set up to change the behaviour of VyOS at runtime. "
+"These flags can be toggled using either environment variables or creating "
+"files."
+msgstr ""
+
+#: ../../contributing/debugging.rst:48 b29d56dc00ec4533b6636c8778d70099
+msgid ""
+"For each feature, a file called ``vyos.feature.debug`` can be created to "
+"toggle the feature on. If a parameter is required it can be placed inside "
+"the file as its first line."
+msgstr ""
+
+#: ../../contributing/debugging.rst:52 e466228a7cae4312883ae8bbefa4fdf5
+msgid ""
+"The file can be placed in ``/tmp`` for one time debugging (as the file will "
+"be removed on reboot) or placed in '/config' to stay permanently."
+msgstr ""
+
+#: ../../contributing/debugging.rst:55 f370c2cf80634831956e8734a9ae24b1
+msgid ""
+"For example, ``/tmp/vyos.ifconfig.debug`` can be created to enable interface"
+" debugging."
+msgstr ""
+
+#: ../../contributing/debugging.rst:58 e71ea39e57f54e92b55270142994fc09
+msgid ""
+"It is also possible to set up the debugging using environment variables. In "
+"that case, the name will be (in uppercase) VYOS_FEATURE_DEBUG."
+msgstr ""
+
+#: ../../contributing/debugging.rst:61 cb30841880024964a3fcbf7b9fdd0946
+msgid ""
+"For example running, ``export VYOS_IFCONFIG_DEBUG=\"\"`` on your vbash, will"
+" have the same effect as ``touch /tmp/vyos.ifconfig.debug``."
+msgstr ""
+
+#: ../../contributing/debugging.rst:64 731e8847dcd44bfe92fdda526ff194b4
+msgid ""
+"``ifconfig`` - Once set, all commands used, and their responses received "
+"from the OS, will be presented on the screen for inspection."
+msgstr ""
+
+#: ../../contributing/debugging.rst:67 27e26aae8d964b249b9a190ef75da061
+msgid ""
+"``command`` - Once set, all commands used, and their responses received from"
+" the OS, will be presented on the screen for inspection."
+msgstr ""
+
+#: ../../contributing/debugging.rst:70 5ef22224a4fc44e2a79717a9a957ca1d
+msgid ""
+"``developer`` - Should a command fail, instead of printing a message to the "
+"user explaining how to report issues, the python interpreter will start a "
+"PBD post-mortem session to allow the developer to debug the issue. As the "
+"debugger will wait from input from the developer, it has the capacity to "
+"prevent a router to boot and therefore should only be permanently set up on "
+"production if you are ready to see the OS fail to boot."
+msgstr ""
+
+#: ../../contributing/debugging.rst:77 18e8907f0d36479ea5161e45c5ec576d
+msgid ""
+"``log`` - In some rare cases, it may be useful to see what the OS is doing, "
+"including during boot. This option sends all commands used by VyOS to a "
+"file. The default file is ``/tmp/full-log`` but it can be changed."
+msgstr ""
+
+#: ../../contributing/debugging.rst:81 e8bcb010512d4fba8d59c97d869321a7
+msgid ""
+"In order to retrieve the debug output on the command-line you need to "
+"disable ``vyos-configd`` in addition. This can be run either one-time by "
+"calling ``sudo systemctl stop vyos-configd`` or make this reboot-safe by "
+"calling ``sudo systemctl disable vyos-configd``."
+msgstr ""
+
+#: ../../contributing/debugging.rst:87 867c3d7496274fe79c97081b7e704248
+msgid "FRR"
+msgstr ""
+
+#: ../../contributing/debugging.rst:89 812b9cd9ae6e4a4fb2c73eedea6b7b49
+msgid ""
+"Recent versions use the ``vyos.frr`` framework. The Python class is located "
+"inside our ``vyos-1x:python/vyos/frr.py``. It comes with an embedded "
+"debugging/ (print style) debugger as vyos.ifconfig does."
+msgstr ""
+
+#: ../../contributing/debugging.rst:93 038ea4d82d7d4c918310759e41c190e5
+msgid "To enable debugging just run: ``$ touch /tmp/vyos.frr.debug``"
+msgstr ""
+
+#: ../../contributing/debugging.rst:96 dceda9b7f48d4884a1e0a004b936eb7c
+msgid "Debugging Python Code with PDB"
+msgstr ""
+
+#: ../../contributing/debugging.rst:98 cd88176ad7d142448cf6ac2d8e455e39
+msgid ""
+"Sometimes it might be useful to debug Python code interactively on the live "
+"system rather than a IDE. This can be achieved using pdb."
+msgstr ""
+
+#: ../../contributing/debugging.rst:101 c07c3d6e486c44669f5b3b3ec8ca96f1
+msgid ""
+"Let us assume you want to debug a Python script that is called by an op-mode"
+" command. After you found the script by looking up the op-mode-defitions you"
+" can edit the script in the live system using e.g. vi: ``vi "
+"/usr/libexec/vyos/op_mode/show_xyz.py``"
+msgstr ""
+
+#: ../../contributing/debugging.rst:106 514228796e6c40b0b3256acb705bfcc2
+msgid ""
+"Insert the following statement right before the section where you want to "
+"investigate a problem (e.g. a statement you see in a backtrace): ``import "
+"pdb; pdb.set_trace()`` Optionally you can surrounded this statement by an "
+"``if`` which only triggers under the condition you are interested in."
+msgstr ""
+
+#: ../../contributing/debugging.rst:112 c4311e64a9744e4080d75c4c5db2b92d
+msgid ""
+"Once you run ``show xyz`` and your condition is triggered you should be "
+"dropped into the python debugger:"
+msgstr ""
+
+#: ../../contributing/debugging.rst:122 dc107ce6ee184239bafa54bdd9d70500
+msgid ""
+"You can type ``help`` to get an overview of the available commands, and "
+"``help command`` to get more information on each command."
+msgstr ""
+
+#: ../../contributing/debugging.rst:125 6f979c80ad2c4e72a1b51dca2d47d967
+msgid "Useful commands are:"
+msgstr ""
+
+#: ../../contributing/debugging.rst:127 88b8de755a664a7498ec6fc3ff4cf17c
+msgid "examine variables using ``pp(var)``"
+msgstr ""
+
+#: ../../contributing/debugging.rst:128 e507a6e6fe2f453bae93a6ff56230a2c
+msgid "contine execution using ``cont``"
+msgstr ""
+
+#: ../../contributing/debugging.rst:129 916108c9344b4dbdae1c1f711a832939
+msgid "get a backtrace using ``bt``"
+msgstr ""
+
+#: ../../contributing/debugging.rst:132 a9fe7dad4d714d4e8d03e427443b2470
+msgid "Config Migration Scripts"
+msgstr ""
+
+#: ../../contributing/debugging.rst:134 ae021de2a9594b20a143453fe35f91dc
+msgid ""
+"When writing a new configuration migrator it may happen that you see an "
+"error when you try to invoke it manually on a development system. This error"
+" will look like:"
+msgstr ""
+
+#: ../../contributing/debugging.rst:148 23268f450e6a4ddcaa2f7d06e3ec5b81
+msgid ""
+"The reason is that the configuration migration backend is rewritten and uses"
+" a new form of \"magic string\" which is applied on demand when real config "
+"migration is run on boot. When runnint individual migrators for testing, you"
+" need to convert the \"magic string\" on your own by:"
+msgstr ""
+
+#: ../../contributing/debugging.rst:158 8ea3762fb0844be0882803885c0eda19
+msgid "Configuration Error on System Boot"
+msgstr ""
+
+#: ../../contributing/debugging.rst:160 b5a16f1b27f04b00871631f0b3bde437
+msgid ""
+"Beeing brave and running the latest rolling releases will sometimes trigger "
+"bugs due to corner cases we missed in our design. Those bugs should be filed"
+" via Phabricator_ but you can help us to narrow doen the issue. Login to "
+"your VyOS system and change into configuration mode by typing ``configure``."
+" Now re-load your boot configuration by simply typing ``load`` followed by "
+"return."
+msgstr ""
+
+#: ../../contributing/debugging.rst:166 eb0d350d49b54104b57d23f9e360c7b8
+msgid ""
+"You shoudl now see a Python backtrace which will help us to handle the "
+"issue, please attach it to the Phabricator_ task."
+msgstr ""
+
+#: ../../contributing/debugging.rst:170 0d4185dd8b384bd281a9bdcb9f6a1cc8
+msgid "Boot Timing"
+msgstr ""
+
+#: ../../contributing/debugging.rst:172 62039345d4e04c6296b6e614a2f5c333
+msgid ""
+"During the migration and extensive rewrite of functionality from Perl into "
+"Python a significant increase in the overall system boottime was noticed. "
+"The system boot time can be analysed and a graph can be generated in the end"
+" which shows in detail who called whom during the system startup phase."
+msgstr ""
+
+#: ../../contributing/debugging.rst:177 9817ac9f29a5498c973c3a224f01dc7f
+msgid ""
+"This is done by utilizing the ``systemd-bootchart`` package which is now "
+"installed by default on the VyOS 1.3 (equuleus) branch. The configuration is"
+" also versioned so we get comparable results. ``systemd-bootchart`` is "
+"configured using this file: bootchart.conf_"
+msgstr ""
+
+#: ../../contributing/debugging.rst:182 556676d2db2c4b3c82dee76fa99d570b
+msgid ""
+"To enable boot time graphing change the Kernel commandline and add the "
+"folowing string: ``init=/usr/lib/systemd/systemd-bootchart``"
+msgstr ""
+
+#: ../../contributing/debugging.rst:185 d946cf69e7364195b4a57b9743dc0a8a
+msgid "This can also be done permanently by changing ``/boot/grub/grub.cfg``."
+msgstr ""
+
+#: ../../contributing/debugging.rst:188 11ace3b44bff4e62b514f7e511f19bb8
+msgid "Priorities"
+msgstr ""
+
+#: ../../contributing/debugging.rst:190 4383613095884c7e96f71695b1575997
+msgid ""
+"VyOS CLI is all about priorities. Every CLI node has a corresponding "
+"``node.def`` file and possibly an attached script that is executed when the "
+"node is present. Nodes can have a priority, and on system bootup - or any "
+"other ``commit`` to the config all scripts are executed from lowest to "
+"higest priority. This is good as this gives a deterministic behavior."
+msgstr ""
+
+#: ../../contributing/debugging.rst:196 6236dba2871a4a6b85a73550abc56e8d
+msgid ""
+"To debug issues in priorities or to see what's going on in the background "
+"you can use the ``/opt/vyatta/sbin/priority.pl`` script which lists to you "
+"the execution order of the scripts."
+msgstr ""
diff --git a/docs/_locale/de_DE/LC_MESSAGES/contributing/development.po b/docs/_locale/de_DE/LC_MESSAGES/contributing/development.po
new file mode 100644
index 00000000..b92c397b
--- /dev/null
+++ b/docs/_locale/de_DE/LC_MESSAGES/contributing/development.po
@@ -0,0 +1,1019 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) 2021, VyOS maintainers and contributors
+# This file is distributed under the same license as the VyOS package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: VyOS 1.4\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2022-10-21 12:01+0200\n"
+"PO-Revision-Date: 2022-10-21 10:04+0000\n"
+"Language-Team: German (Germany) (https://www.transifex.com/vyos/teams/155110/de_DE/)\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Language: de_DE\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: ../../contributing/development.rst:5 13f6a7fcaf664b70b688682893ae0e83
+msgid "Development"
+msgstr ""
+
+#: ../../contributing/development.rst:7 bca53b364a914bce877b500ae541ff18
+msgid ""
+"All VyOS source code is hosted on GitHub under the VyOS organization which "
+"can be found here: https://github.com/vyos"
+msgstr ""
+
+#: ../../contributing/development.rst:10 33a075fffdd64ce491df5c96ef021c4f
+msgid ""
+"Our code is split into several modules. VyOS is composed of multiple "
+"individual packages, some of them are forks of upstream packages and are "
+"periodically synced with upstream, so keeping the whole source under a "
+"single repository would be very inconvenient and slow. There is now an "
+"ongoing effort to consolidate all VyOS-specific framework/config packages "
+"into vyos-1x package, but the basic structure is going to stay the same, "
+"just with fewer and fewer packages while the base code is rewritten from "
+"Perl/BASH into Python using and XML based interface definition for the CLI."
+msgstr ""
+
+#: ../../contributing/development.rst:19 495a976e071d4dd69db319e18c61b25c
+msgid ""
+"The repository that contains all the ISO build scripts is: "
+"https://github.com/vyos/vyos-build"
+msgstr ""
+
+#: ../../contributing/development.rst:22 89dd9bf9c5ee41e19e60ab3f5da1a8bc
+msgid ""
+"The README.md file will guide you to use the this top level repository."
+msgstr ""
+
+#: ../../contributing/development.rst:25 6e4a1b07b19e4427befa188a40f6a904
+msgid "Submit a Patch"
+msgstr ""
+
+#: ../../contributing/development.rst:27 0f4667f35277442aaaae849d2e67af0d
+msgid ""
+"Patches are always more than welcome. To have a clean and easy to maintain "
+"repository we have some guidelines when working with Git. A clean repository"
+" eases the automatic generation of a changelog file."
+msgstr ""
+
+#: ../../contributing/development.rst:31 6132f60414b14d07be6626db55d39c96
+msgid ""
+"A good approach for writing commit messages is actually to have a look at "
+"the file(s) history by invoking ``git log path/to/file.txt``."
+msgstr ""
+
+#: ../../contributing/development.rst:37 c5541522f1854c0a89696d4bdac27d43
+msgid "Prepare patch/commit"
+msgstr ""
+
+#: ../../contributing/development.rst:39 567f89dd00c545d3b940d01e0240f85c
+msgid ""
+"In a big system, such as VyOS, that is comprised of multiple components, "
+"it's impossible to keep track of all the changes and bugs/feature requests "
+"in one's head. We use a bugtracker known as Phabricator_ for it (\"issue "
+"tracker\" would be a better term, but this one stuck)."
+msgstr ""
+
+#: ../../contributing/development.rst:44 4c02c609c4364dcbaf99318a1b0de8e5
+msgid "The information is used in three ways:"
+msgstr ""
+
+#: ../../contributing/development.rst:46 182bf37a0da641da9e72c341a930313e
+msgid ""
+"Keep track of the progress (what we've already done in this branch and what "
+"we still need to do)."
+msgstr ""
+
+#: ../../contributing/development.rst:49 3441bca232f341cd9fd36ded1b8a7d9a
+msgid "Prepare release notes for upcoming releases"
+msgstr ""
+
+#: ../../contributing/development.rst:51 dd91874c6e484dffbb9f007186e77068
+msgid ""
+"Help future maintainers of VyOS (it could be you!) to find out why certain "
+"things have been changed in the codebase or why certain features have been "
+"added"
+msgstr ""
+
+#: ../../contributing/development.rst:55 3d262f62e2824207a5336028aacbb014
+msgid ""
+"To make this approach work, every change must be associated with a task "
+"number (prefixed with **T**) and a component. If there is no bug "
+"report/feature request for the changes you are going to make, you have to "
+"create a Phabricator_ task first. Once there is an entry in Phabricator_, "
+"you should reference its id in your commit message, as shown below:"
+msgstr ""
+
+#: ../../contributing/development.rst:61 47e4acaf426145008b6fd8ab91bd82fa
+msgid "``ddclient: T1030: auto create runtime directories``"
+msgstr ""
+
+#: ../../contributing/development.rst:62 3c338c90678541c591296fd27890f079
+msgid "``Jenkins: add current Git commit ID to build description``"
+msgstr ""
+
+#: ../../contributing/development.rst:64 c7830178939b4a0189fcc2f20822ebd3
+msgid ""
+"If there is no Phabricator_ reference in the commits of your pull request, "
+"we have to ask you to amend the commit message. Otherwise we will have to "
+"reject it."
+msgstr ""
+
+#: ../../contributing/development.rst:69 ed8e41d2420a401092165cce77771c92
+msgid "Writing good commit messages"
+msgstr ""
+
+#: ../../contributing/development.rst:71 84ed04eae60d4146ae29846f909fcd4c
+msgid ""
+"The format should be and is inspired by: https://git-scm.com/book/ch5-2.html"
+" It is also worth reading https://chris.beams.io/posts/git-commit/"
+msgstr ""
+
+#: ../../contributing/development.rst:74 a534e6ffa0414c95943fd95381621982
+msgid ""
+"A single, short, summary of the commit (recommended 50 characters or less, "
+"not exceeding 80 characters) containing a prefix of the changed component "
+"and the corresponding Phabricator_ reference e.g. ``snmp: T1111:`` or "
+"``ethernet: T2222:`` - multiple components could be concatenated as in "
+"``snmp: ethernet: T3333``"
+msgstr ""
+
+#: ../../contributing/development.rst:80 6b72dc852a05479b82e4682f7aa54cba
+msgid ""
+"In some contexts, the first line is treated as the subject of an email and "
+"the rest of the text as the body. The blank line separating the summary from"
+" the body is critical (unless you omit the body entirely); tools like rebase"
+" can get confused if you run the two together."
+msgstr ""
+
+#: ../../contributing/development.rst:85 f5af85d4f0434ac6acb2329942d002e8
+msgid "Followed by a message which describes all the details like:"
+msgstr ""
+
+#: ../../contributing/development.rst:87 5770782710354b32a60879e0166ef185
+msgid ""
+"What/why/how something has been changed, makes everyone's life easier when "
+"working with `git bisect`"
+msgstr ""
+
+#: ../../contributing/development.rst:90 d409491e1b0b4fa1b7786c2353c56400
+msgid ""
+"All text of the commit message should be wrapped at 72 characters if "
+"possible which makes reading commit logs easier with ``git log`` on a "
+"standard terminal (which happens to be 80x25)"
+msgstr ""
+
+#: ../../contributing/development.rst:94 7aaf86fe66e8470584b71ef895e7a273
+msgid ""
+"If applicable a reference to a previous commit should be made linking those "
+"commits nicely when browsing the history: ``After commit abcd12ef (\"snmp: "
+"this is a headline\") a Python import statement is missing, throwing the "
+"following exception: ABCDEF``"
+msgstr ""
+
+#: ../../contributing/development.rst:99 1ea5d06d73934128aa343519d5697279
+msgid ""
+"Always use the ``-x`` option to the ``git cherry-pick`` command when back or"
+" forward porting an individual commit. This automatically appends the line: "
+"``(cherry picked from commit <ID>)`` to the original authors commit message "
+"making it easier when bisecting problems."
+msgstr ""
+
+#: ../../contributing/development.rst:104 b8149340cde0423fbd040efaab204019
+msgid ""
+"Every change set must be consistent (self containing)! Do not fix multiple "
+"bugs in a single commit. If you already worked on multiple fixes in the same"
+" file use `git add --patch` to only add the parts related to the one issue "
+"into your upcoming commit."
+msgstr ""
+
+#: ../../contributing/development.rst:109 5ef784f4960e4a82a5bddaa415944c61
+msgid "Limits:"
+msgstr ""
+
+#: ../../contributing/development.rst:111 112a6d6a4c8c4d32b0e052cf60e26573
+msgid ""
+"We only accept bugfixes in packages other than "
+"https://github.com/vyos/vyos-1x as no new functionality should use the old "
+"style templates (``node.def`` and Perl/BASH code. Use the new style "
+"XML/Python interface instead."
+msgstr ""
+
+#: ../../contributing/development.rst:115 b0bb964fb0764e2f9f958335ea287868
+msgid ""
+"Please submit your patches using the well-known GitHub pull-request against "
+"our repositories found in the VyOS GitHub organisation at "
+"https://github.com/vyos"
+msgstr ""
+
+#: ../../contributing/development.rst:120 c38eca26eca14a4daf60ac8dc815cc5b
+msgid "Determinine source package"
+msgstr ""
+
+#: ../../contributing/development.rst:122 3ac68249f169449ebffe37b33abac85a
+msgid ""
+"Suppose you want to make a change in the webproxy script but yet you do not "
+"know which of the many VyOS packages ship this file. You can determine the "
+"VyOS package name in question by using Debian's ``dpkg -S`` command of your "
+"running VyOS installation."
+msgstr ""
+
+#: ../../contributing/development.rst:132 09de05f3b665422cab77b5808e5b2585
+msgid ""
+"This means the file in question (``/opt/vyatta/sbin/vyatta-update-"
+"webproxy.pl``) is located in the ``vyatta-webproxy`` package which can be "
+"found here: https://github.com/vyos/vyatta-webproxy"
+msgstr ""
+
+#: ../../contributing/development.rst:138 abf1cbb03527490db9d36348be3f9fb7
+msgid "Fork Repository and submit Patch"
+msgstr ""
+
+#: ../../contributing/development.rst:140 cf2f695e771e4da7afcbe7f4e6be4764
+msgid ""
+"Forking the repository and submitting a GitHub pull-request is the preferred"
+" way of submitting your changes to VyOS. You can fork any VyOS repository to"
+" your very own GitHub account by just appending ``/fork`` to any "
+"repository's URL on GitHub. To e.g. fork the ``vyos-1x`` repository, open "
+"the following URL in your favourite browser: "
+"https://github.com/vyos/vyos-1x/fork"
+msgstr ""
+
+#: ../../contributing/development.rst:146 47d1dec79b274c96bae18c564fffc8d4
+msgid ""
+"You then can proceed with cloning your fork or add a new remote to your "
+"local repository:"
+msgstr ""
+
+#: ../../contributing/development.rst:149 473607ea52524136bd35ff89877b461d
+msgid "Clone: ``git clone https://github.com/<user>/vyos-1x.git``"
+msgstr ""
+
+#: ../../contributing/development.rst:151 eb23e4735532454a812e977f4e1f64e0
+msgid "Fork: ``git remote add myfork https://github.com/<user>/vyos-1x.git``"
+msgstr ""
+
+#: ../../contributing/development.rst:153 51a8dee2722546f5a1a8b841bf0d47d1
+msgid ""
+"In order to record you as the author of the fix please identify yourself to "
+"Git by setting up your name and email. This can be done local for this one "
+"and only repository ``git config`` or globally using ``git config "
+"--global``."
+msgstr ""
+
+#: ../../contributing/development.rst:162 08945358e29443e1b768547e707f4dff
+msgid ""
+"Make your changes and save them. Do the following for all changes files to "
+"record them in your created Git commit:"
+msgstr ""
+
+#: ../../contributing/development.rst:165 be8ecf3e5c9242b0be78f476cb82ca8f
+msgid ""
+"Add file to Git index using ``git add myfile``, or for a whole directory: "
+"``git add somedir/*``"
+msgstr ""
+
+#: ../../contributing/development.rst:168 29625b4d7af94c28a91c85596b4cb1de
+msgid ""
+"Commit the changes by calling ``git commit``. Please use a meaningful commit"
+" headline (read above) and don't forget to reference the Phabricator_ ID."
+msgstr ""
+
+#: ../../contributing/development.rst:171 48466af0f86c48b096143233ded58de4
+msgid "Submit the patch ``git push`` and create the GitHub pull-request."
+msgstr ""
+
+#: ../../contributing/development.rst:175 36bcc1288264449a8bad68f6e2565f80
+msgid "Attach patch to Phabricator task"
+msgstr ""
+
+#: ../../contributing/development.rst:177 ae16033e6e7c4914aa0406204a1591f5
+msgid ""
+"Follow the above steps on how to \"Fork repository to submit a Patch\". "
+"Instead of uploading \"pushing\" your changes to GitHub you can export the "
+"patches/ commits and send it to maintainers@vyos.net or attach it directly "
+"to the bug (preferred over email)"
+msgstr ""
+
+#: ../../contributing/development.rst:182 6fe17a5c6e0f48ca809ad82aaab5d704
+msgid ""
+"Export last commit to patch file: ``git format-patch`` or export the last "
+"two commits into its appropriate patch files: ``git format-patch -2``"
+msgstr ""
+
+#: ../../contributing/development.rst:187 7200a007c67c4e238e709557dcea986a
+msgid "Coding Guidelines"
+msgstr ""
+
+#: ../../contributing/development.rst:189 962d647556e8434c93a1e524737691c2
+msgid ""
+"Like any other project we have some small guidelines about our source code, "
+"too. The rules we have are not there to punish you - the rules are in place "
+"to help us all. By having a consistent coding style it becomes very easy for"
+" new and also longtime contributors to navigate through the sources and all "
+"the implied logic of any one source file.."
+msgstr ""
+
+#: ../../contributing/development.rst:195 8702ba3737a94b18902caf95e9c3f75e
+msgid ""
+"Python 3 **shall** be used. How long can we keep Python 2 alive anyway? No "
+"considerations for Python 2 compatibility **should** be taken at any time."
+msgstr ""
+
+#: ../../contributing/development.rst:200 bf829c06036e44e29a94a0109251e344
+msgid "Formatting"
+msgstr ""
+
+#: ../../contributing/development.rst:202 c3cbbf35ce07497ca96a4c1e1a543730
+msgid ""
+"Python: Tabs **shall not** be used. Every indentation level should be 4 "
+"spaces"
+msgstr ""
+
+#: ../../contributing/development.rst:203 0edd04481e594ff09ee893c010cd881e
+msgid ""
+"XML: Tabs **shall not** be used. Every indentation level should be 2 spaces"
+msgstr ""
+
+#: ../../contributing/development.rst:205 f201706450d645999e1edd4c2558bce9
+msgid ""
+"There are extensions to e.g. VIM (xmllint) which will help you to get your "
+"indention levels correct. Add to following to your .vimrc file: ``au "
+"FileType xml setlocal equalprg=xmllint\\ --format\\ --recover\\ -\\ "
+"2>/dev/null`` now you can call the linter using ``gg=G`` in command mode."
+msgstr ""
+
+#: ../../contributing/development.rst:212 660e9fc0c3ab489392b6ec6ab967a33b
+msgid "Text generation"
+msgstr ""
+
+#: ../../contributing/development.rst:214 a46c47306cf44f3fa51fb0e183d33d60
+msgid ""
+"Template processor **should** be used for generating config files. Built-in "
+"string formatting **may** be used for simple line-oriented formats where "
+"every line is self-contained, such as iptables rules. Template processor "
+"**must** be used for structured, multi-line formats such as those used by "
+"ISC DHCPd."
+msgstr ""
+
+#: ../../contributing/development.rst:219 f97220818b4f4d38bc701b54beb1f26e
+msgid "The default template processor for VyOS code is Jinja2_."
+msgstr ""
+
+#: ../../contributing/development.rst:223 c70da7d925ae4993834091de6a0dc12b
+msgid "Summary"
+msgstr ""
+
+#: ../../contributing/development.rst:225 cc3153e1c9bf4429ae228461552f1b13
+msgid ""
+"When modifying the source code, remember these rules of the legacy "
+"elimination campaign:"
+msgstr ""
+
+#: ../../contributing/development.rst:228 d65f761886d94c4486c6286959ae4bb1
+msgid "No new features in Perl"
+msgstr ""
+
+#: ../../contributing/development.rst:229 b551d79de6b34b199e66e99ac128e3e2
+msgid "No old style command definitions"
+msgstr ""
+
+#: ../../contributing/development.rst:230 52734945788945b69e2fe8834950a01c
+msgid "No code incompatible with Python3"
+msgstr ""
+
+#: ../../contributing/development.rst:234 c9418116422b4b579870438fdd2830d6
+msgid "Python"
+msgstr ""
+
+#: ../../contributing/development.rst:236 ec8641ba5d0d4d9980b63b5d9e90345d
+msgid ""
+"The switch to the Python programming language for new code is not merely a "
+"change of the language, but a chance to rethink and improve the programming "
+"approach."
+msgstr ""
+
+#: ../../contributing/development.rst:240 53852f2af01f40039b618f0bd0dec169
+msgid ""
+"Let's face it: VyOS is full of spaghetti code where logic for reading the "
+"VyOS config, generating daemon configs, and restarting processes is all "
+"mixed up."
+msgstr ""
+
+#: ../../contributing/development.rst:243 15a4a1df6d5c466889aebfed7616c29f
+msgid ""
+"Python (or any other language, for that matter) does not provide automatic "
+"protection from bad design, so we need to also devise design guidelines and "
+"follow them to keep the system extensible and maintainable."
+msgstr ""
+
+#: ../../contributing/development.rst:247 b444574c9f1f48d79335a6a87f6289d1
+msgid ""
+"But we are here to assist you and want to guide you through how you can "
+"become a good VyOS contributor. The rules we have are not there to punish "
+"you - the rules are in place to help us all. What does it mean? By having a "
+"consistent coding style it becomes very easy for new contributors and also "
+"longtime contributors to navigate through the sources and all the implied "
+"logic of the spaghetti code."
+msgstr ""
+
+#: ../../contributing/development.rst:254 5177502a9cd44b96beca39366de4eb20
+msgid ""
+"Please use the following template as good starting point when developing new"
+" modules or even rewrite a whole bunch of code in the new style XML/Pyhon "
+"interface."
+msgstr ""
+
+#: ../../contributing/development.rst:260 26aa43f8ad9e4dbdbdfaa474e66358f8
+msgid "Configuration Script Structure and Behaviour"
+msgstr ""
+
+#: ../../contributing/development.rst:262 2c7cb8e45c9e4ad990aa8e0961958d81
+msgid ""
+"Your configuration script or operation mode script which is also written in "
+"Python3 should have a line break on 80 characters. This seems to be a bit "
+"odd nowadays but as some people also work remotely or program using vi(m) "
+"this is a fair good standard which I hope we can rely on."
+msgstr ""
+
+#: ../../contributing/development.rst:267 83c054697c564ea78e266afd9ea4d371
+msgid ""
+"In addition this also helps when browsing the GitHub codebase on a mobile "
+"device if you happen to be a crazy scientist."
+msgstr ""
+
+#: ../../contributing/development.rst:328 2a7679b8b46543ff801735bf23a2b6a2
+msgid ""
+"The ``get_config()`` function must convert the VyOS config to an abstract, "
+"internal representation. No other function is allowed to call the "
+"``vyos.config. Config`` object method directly. The rationale for it is that"
+" when config reads are mixed with other logic, it's very hard to change the "
+"config syntax since you need to weed out every occurrence of the old syntax."
+" If syntax-specific code is confined to a single function, the rest of the "
+"code can be left untouched as long as the internal representation remains "
+"compatible."
+msgstr ""
+
+#: ../../contributing/development.rst:336 6da990d2f8104f1289c1b08c6add7c7a
+msgid ""
+"Another advantage is testability of the code. Mocking the entire config "
+"subsystem is hard, while constructing an internal representation by hand is "
+"way simpler."
+msgstr ""
+
+#: ../../contributing/development.rst:340 7e64a2d3f8104a778f29a4017feddc41
+msgid ""
+"The ``verify()`` function takes your internal representation of the config "
+"and checks if it's valid, otherwise it must raise ``ConfigError`` with an "
+"error message that describes the problem and possibly suggests how to fix "
+"it. It must not make any changes to the system. The rationale for it is "
+"again testability and, in the future when the config backend is ready and "
+"every script is rewritten in this fashion, ability to execute commit dry run"
+" (\"commit test\" like in JunOS) and abort commit before making any changes "
+"to the system if an error is found in any component."
+msgstr ""
+
+#: ../../contributing/development.rst:349 bd667197d6bf44adbcc9eeae47406de5
+msgid ""
+"The ``generate()`` function generates config files for system components."
+msgstr ""
+
+#: ../../contributing/development.rst:351 e8d9af1c502e437ba433f3687ffd7ae0
+msgid ""
+"The ``apply()`` function applies the generated configuration to the live "
+"system. It should use non-disruptive reload whenever possible. It may "
+"execute disruptive operations such as daemon process restart if a particular"
+" component does not support non-disruptive reload, or when the expected "
+"service degradation is minimal (for example, in case of auxiliary services "
+"such as LLDPd). In case of high impact services such as VPN daemon and "
+"routing protocols, when non- disruptive reload is supported for some but not"
+" all types of configuration changes, scripts authors should make effort to "
+"determine if a configuration change can be done in a non-disruptive way and "
+"only resort to disruptive restart if it cannot be avoided."
+msgstr ""
+
+#: ../../contributing/development.rst:362 976cb9f3d9814554b2d10496826e3078
+msgid ""
+"Unless absolutely necessary, configuration scripts should not modify the "
+"active configuration of system components directly. Whenever at all "
+"possible, scripts should generate a configuration file or files that can be "
+"applied with a single command such as reloading a service through systemd "
+"init. Inserting statements one by one is particularly discouraged, for "
+"example, when configuring netfilter rules, saving them to a file and loading"
+" it with iptables-restore should always be preferred to executing iptables "
+"directly."
+msgstr ""
+
+#: ../../contributing/development.rst:370 6fe2ed80e6804a4e922703668c95efb8
+msgid ""
+"The ``apply()`` and ``generate()`` functions may ``raise ConfigError`` if, "
+"for example, the daemon failed to start with the updated config. It "
+"shouldn't be a substitute for proper config checking in the ``verify()`` "
+"function. All reasonable effort should be made to verify that generated "
+"configuration is valid and will be accepted by the daemon, including, when "
+"necessary, cross- checks with other VyOS configuration subtrees."
+msgstr ""
+
+#: ../../contributing/development.rst:377 f1efcf352ca74fd99b34a443c1d086ad
+msgid ""
+"Exceptions, including ``VyOSError`` (which is raised by "
+"``vyos.config.Config`` on improper config operations, such as trying to use "
+"``list_nodes()`` on a non-tag node) should not be silenced or caught and re-"
+"raised as config error. Sure this will not look pretty on user's screen, but"
+" it will make way better bug reports, and help users (and most VyOS users "
+"are IT professionals) do their own debugging as well."
+msgstr ""
+
+#: ../../contributing/development.rst:384 0c989b22ba6341049eeff36f354faabb
+msgid ""
+"For easy orientation we suggest you take a look on the ``ntp.py`` or "
+"``interfaces-bonding.py`` (for tag nodes) implementation. Both files can be "
+"found in the vyos-1x_ repository."
+msgstr ""
+
+#: ../../contributing/development.rst:390 753ac897e3044181977a217d93c293dd
+msgid "XML (used for CLI definitions)"
+msgstr ""
+
+#: ../../contributing/development.rst:392 80257fc611834dbba73ec93a5e12124a
+msgid ""
+"The bash (or better vbash) completion in VyOS is defined in *templates*. "
+"Templates are text files (called ``node.def``) stored in a directory tree. "
+"The directory names define the command names, and template files define the "
+"command behaviour. Before VyOS 1.2 (crux) this files were created by hand. "
+"After a complex redesign process_ the new style template are automatically "
+"generated from a XML input file."
+msgstr ""
+
+#: ../../contributing/development.rst:399 b957e501d42942e4a5002cafeead50e9
+msgid ""
+"XML interface definitions for VyOS come with a RelaxNG schema and are "
+"located in the vyos-1x_ module. This schema is a slightly modified schema "
+"from VyConf_ alias VyOS 2.0 So VyOS 1.2.x interface definitions will be "
+"reusable in Nextgen VyOS Versions with very minimal changes."
+msgstr ""
+
+#: ../../contributing/development.rst:404 87ee6c860692439c85189b514a35064a
+msgid ""
+"The great thing about schemas is not only that people can know the complete "
+"grammar for certain, but also that it can be automatically verified. The "
+"`scripts/build-command-templates` script that converts the XML definitions "
+"to old style templates also verifies them against the schema, so a bad "
+"definition will cause the package build to fail. I do agree that the format "
+"is verbose, but there is no other format now that would allow this. Besides,"
+" a specialized XML editor can alleviate the issue with verbosity."
+msgstr ""
+
+#: ../../contributing/development.rst:412 8ddcf1750176485fa0d58071eadd993e
+msgid "Example:"
+msgstr ""
+
+#: ../../contributing/development.rst:490 ecb47c0f1ea9452c842c08e7975d1d9a
+msgid ""
+"Command definitions are purely declarative, and cannot contain any logic. "
+"All logic for generating config files for target applications, restarting "
+"services and so on is implemented in configuration scripts instead."
+msgstr ""
+
+#: ../../contributing/development.rst:495 cc22cb46c89c4de19ffb0afb032c3fdb
+msgid "GNU Preprocessor"
+msgstr ""
+
+#: ../../contributing/development.rst:497 b7e5943f25fb40f3912acaaf54f35334
+msgid ""
+"XML interface definition files use the `xml.in` file extension which was "
+"implemented in :vytask:`T1843`. XML interface definitions tend to have a lot"
+" of duplicated code in areas such as:"
+msgstr ""
+
+#: ../../contributing/development.rst:501 ab255f82577842e68117818cf6ebbaeb
+msgid "VIF (incl. VIF-S/VIF-C)"
+msgstr ""
+
+#: ../../contributing/development.rst:502 b0107af78f194974882efa229e16d549
+msgid "Address"
+msgstr ""
+
+#: ../../contributing/development.rst:503 5e420ecfba134a6c95ee6263a33862c9
+msgid "Description"
+msgstr ""
+
+#: ../../contributing/development.rst:504 8460407ee3f9477ebcc971d5c2ced47d
+msgid "Enabled/Disabled"
+msgstr ""
+
+#: ../../contributing/development.rst:506 8610850201c44d678df80cdbb4effc51
+msgid ""
+"Instead of supplying all those XML nodes multiple times there are now "
+"include files with predefined features. Brief overview:"
+msgstr ""
+
+#: ../../contributing/development.rst:509 36a0a931d83a45829cc8ecc9b09cc96a
+msgid "`IPv4, IPv6 and DHCP(v6)`_ address assignment"
+msgstr ""
+
+#: ../../contributing/development.rst:510 def3132d1e21443c85b21dd1fa2f3e6a
+msgid "`IPv4, IPv6`_ address assignment"
+msgstr ""
+
+#: ../../contributing/development.rst:511 61ce6f0a4cb3462d8bc48d384b506913
+msgid "`VLAN (VIF)`_ definition"
+msgstr ""
+
+#: ../../contributing/development.rst:512 781e8c44179a431da25e8fe060a04080
+msgid "`MAC address`_ assignment"
+msgstr ""
+
+#: ../../contributing/development.rst:514 067bc714fc1a45de9fcc0a5b009b9d90
+msgid ""
+"All interface definition XML input files (.in suffix) will be sent to the "
+"GCC preprocess and the output is stored in the `build/interface-definitions`"
+" folder. The previously mentioned `scripts/build-command-templates` script "
+"operates on the `build/interface-definitions` folder to generate all "
+"required CLI nodes."
+msgstr ""
+
+#: ../../contributing/development.rst:535 9be60615915942eeaf9a1e0b049eaf27
+msgid "Guidelines"
+msgstr ""
+
+#: ../../contributing/development.rst:538 14786773fcee449da1c62ba5c1a64a0a
+msgid "Use of numbers"
+msgstr ""
+
+#: ../../contributing/development.rst:540 da524dea88274a22832af93181402987
+msgid ""
+"Use of numbers in command names **should** be avoided unless a number is a "
+"part of a protocol name or similar. Thus, ``protocols ospfv3`` is perfectly "
+"fine, but something like ``server-1`` is questionable at best."
+msgstr ""
+
+#: ../../contributing/development.rst:545 8aa1c3880cfc40a3bc1eab5426951cc7
+msgid "Help String"
+msgstr ""
+
+#: ../../contributing/development.rst:547 b5fe3cf51bdc4504a9f20d93a02ffb21
+msgid ""
+"To ensure uniform look and feel, and improve readability, we should follow a"
+" set of guidelines consistently."
+msgstr ""
+
+#: ../../contributing/development.rst:551 346e85e9486045c086a92ba1ff4064a6
+msgid "Capitalization and punctuation"
+msgstr ""
+
+#: ../../contributing/development.rst:553 5f17c826c42e4d878388bcef714cd361
+msgid ""
+"The first word of every help string **must** be capitalized. There **must "
+"not** be a period at the end of help strings."
+msgstr ""
+
+#: ../../contributing/development.rst:556 32aebf2319834080a10eb82c4fa3eb5b
+msgid ""
+"Rationale: this seems to be the unwritten standard in network device CLIs, "
+"and a good aesthetic compromise."
+msgstr ""
+
+#: ../../contributing/development.rst:559
+#: ../../contributing/development.rst:571
+#: ../../contributing/development.rst:580
+#: ../../contributing/development.rst:591
+#: ../../contributing/development.rst:602
+#: ../../contributing/development.rst:616 b658373b852b4a609c0134af02aa0c2e
+#: b020e944556843c0be34cfa715d51f75 55720daa53754cd992e6a7188b3c98b1
+#: 21c7e859df8f46429e239198ece35d81 3e50eb2086654ad99a7fe20d247d5bd6
+#: fef35b651890497090c26be05c88d465
+msgid "Examples:"
+msgstr ""
+
+#: ../../contributing/development.rst:561 cd0282b12e1547b48638e9b97e797bba
+msgid "Good: \"Frobnication algorithm\""
+msgstr ""
+
+#: ../../contributing/development.rst:562 24a84860978448649189947b280a8e70
+msgid "Bad: \"frobnication algorithm\""
+msgstr ""
+
+#: ../../contributing/development.rst:563 af8d7ef416ab47dc8b6dc2bde95fb3e9
+msgid "Bad: \"Frobnication algorithm.\""
+msgstr ""
+
+#: ../../contributing/development.rst:564 f160d2d45016433aaa5e3fbd609c3558
+msgid "Horrible: \"frobnication algorithm.\""
+msgstr ""
+
+#: ../../contributing/development.rst:567 40e524d8fd2c49d7b34bb899ae644116
+msgid "Use of abbreviations and acronyms"
+msgstr ""
+
+#: ../../contributing/development.rst:569 50af60e0123b458e9fed80ea7be1076c
+msgid "Abbreviations and acronyms **must** be capitalized."
+msgstr ""
+
+#: ../../contributing/development.rst:573
+#: ../../contributing/development.rst:604 b0946251124045b6bf97ae3875f948e2
+#: 6a299471787141aaa3a108e2a48f59b1
+msgid "Good: \"TCP connection timeout\""
+msgstr ""
+
+#: ../../contributing/development.rst:574 8372511294954ee881facc029cdafcb2
+msgid "Bad: \"tcp connection timeout\""
+msgstr ""
+
+#: ../../contributing/development.rst:575 01429f1227664923acf4a6f149c63e45
+msgid "Horrible: \"Tcp connection timeout\""
+msgstr ""
+
+#: ../../contributing/development.rst:577 a7f34af1c0154c989e3375aa460e337a
+msgid ""
+"Acronyms also **must** be capitalized to visually distinguish them from "
+"normal words:"
+msgstr ""
+
+#: ../../contributing/development.rst:582 243ffd888b2f4f839b4ce6c6bbbe8ced
+msgid "Good: RADIUS (as in remote authentication for dial-in user services)"
+msgstr ""
+
+#: ../../contributing/development.rst:583 d9536a7cef704f19806ff14f207fe5a3
+msgid ""
+"Bad: radius (unless it's about the distance between a center of a circle and"
+" any of its points)"
+msgstr ""
+
+#: ../../contributing/development.rst:586 598992d29c3948ce8b9daf8136ef6f3e
+msgid ""
+"Some abbreviations are traditionally written in mixed case. Generally, if it"
+" contains words \"over\" or \"version\", the letter **should** be lowercase."
+" If there's an accepted spelling (especially if defined by an RFC or another"
+" standard), it **must** be followed."
+msgstr ""
+
+#: ../../contributing/development.rst:593 27c7117975c041fdaf4e23e9f07dd527
+msgid "Good: PPPoE, IPsec"
+msgstr ""
+
+#: ../../contributing/development.rst:594 88c045836ff14ecba67f923acfdb69b2
+msgid "Bad: PPPOE, IPSEC"
+msgstr ""
+
+#: ../../contributing/development.rst:595 ff188a95155a4a6d85c440ec112470b3
+msgid "Bad: pppoe, ipsec"
+msgstr ""
+
+#: ../../contributing/development.rst:598 26901f5cbcfc4cfeb69da88966604704
+msgid "Use of verbs"
+msgstr ""
+
+#: ../../contributing/development.rst:600 84ad88808fcd41389ab5a8384be44351
+msgid "Verbs **should** be avoided. If a verb can be omitted, omit it."
+msgstr ""
+
+#: ../../contributing/development.rst:605 5831b1d1b4014dd9aa36d7a64a3c789a
+msgid "Bad: \"Set TCP connection timeout\""
+msgstr ""
+
+#: ../../contributing/development.rst:607 b6ade6844d5647ad97e6856ca1041917
+msgid ""
+"If a verb is essential, keep it. For example, in the help text of ``set "
+"system ipv6 disable-forwarding``, \"Disable IPv6 forwarding on all "
+"interfaces\" is a perfectly justified wording."
+msgstr ""
+
+#: ../../contributing/development.rst:612 b6581bc8632d4b51868fb7bb484d2a2d
+msgid "Prefer infinitives"
+msgstr ""
+
+#: ../../contributing/development.rst:614 c0fac675ba34446fb6f8d474ddfdcfd2
+msgid ""
+"Verbs, when they are necessary, **should** be in their infinitive form."
+msgstr ""
+
+#: ../../contributing/development.rst:618 39e33e702b2e410ebf16bd02cfb070d3
+msgid "Good: \"Disable IPv6 forwarding\""
+msgstr ""
+
+#: ../../contributing/development.rst:619 4a2e1fff7f8543b8bbe833f719f226a7
+msgid "Bad: \"Disables IPv6 forwarding\""
+msgstr ""
+
+#: ../../contributing/development.rst:622 09e1a88b6428413fa6337164fa4871a7
+msgid "Migrating old CLI"
+msgstr ""
+
+#: ../../contributing/development.rst:628 7cc4489e656f403dbf220ae4b79a0b0c
+msgid "Old concept/syntax"
+msgstr ""
+
+#: ../../contributing/development.rst:629 f72b04fe25894237a0958a5af8d662f7
+msgid "New syntax"
+msgstr ""
+
+#: ../../contributing/development.rst:630 4325ebdacbc9451bad8ea85c3042e95c
+msgid "Notes"
+msgstr ""
+
+#: ../../contributing/development.rst:631 b22ec3d4accd4dabb22f2df06947e955
+msgid "mynode/node.def"
+msgstr ""
+
+#: ../../contributing/development.rst:632 813c64088d3a4faea8df9fe6674c8896
+msgid "<node name=\"mynode\"> </node>"
+msgstr ""
+
+#: ../../contributing/development.rst:633 0cbc70a2a3274db4a02e28acc75595ba
+msgid "Leaf nodes (nodes with values) use <leafNode> tag instead"
+msgstr ""
+
+#: ../../contributing/development.rst:634 7ff7be20e53b481a8916e6d09a247075
+msgid "mynode/node.tag , tag:"
+msgstr ""
+
+#: ../../contributing/development.rst:635 d97d99660bb241d5b67e8a512404fd90
+msgid "<tagNode name=\"mynode> </node>"
+msgstr ""
+
+#: ../../contributing/development.rst:637 e3fba8ff692a4819937093306b7bbfa3
+msgid "help: My node"
+msgstr ""
+
+#: ../../contributing/development.rst:638 219da58427f64cf6813b5e62944eef14
+msgid "<properties> <help>My node</help>"
+msgstr ""
+
+#: ../../contributing/development.rst:640 6b1d4eb28c9348f78bad00c0d36d8197
+msgid "val_help: <format>; some string"
+msgstr ""
+
+#: ../../contributing/development.rst:641 b12810695e7a4ca0b5e89f0895691b71
+msgid ""
+"<properties> <valueHelp> <format> format </format> <description> some string"
+" </description>"
+msgstr ""
+
+#: ../../contributing/development.rst:643 3d228a4ecdda42c5bcac5beda63079d8
+msgid ""
+"Do not add angle brackets around the format, they will be inserted "
+"automatically"
+msgstr ""
+
+#: ../../contributing/development.rst:645 197955c5e68d4c169c2b3646fe5fab07
+msgid "syntax:expression: pattern"
+msgstr ""
+
+#: ../../contributing/development.rst:646 f54ac7b073ba4aaca03d931f0dafab21
+msgid "<properties> <constraint> <regex> ..."
+msgstr ""
+
+#: ../../contributing/development.rst:647 bb848432f84745389e12d3420fd9b200
+msgid "<constraintErrorMessage> will be displayed on failure"
+msgstr ""
+
+#: ../../contributing/development.rst:648 318f28f6358641319bd6bd73ade0a5ce
+msgid "syntax:expression: $VAR(@) in \"foo\", \"bar\", \"baz\""
+msgstr ""
+
+#: ../../contributing/development.rst:649
+#: ../../contributing/development.rst:656
+#: ../../contributing/development.rst:676
+#: ../../contributing/development.rst:679
+#: ../../contributing/development.rst:682 848f62017cff42f48932eec178fca271
+#: 5409dd2a521b48988e2711e3b1cb9ecb e2b50ef0506242328052488e3c20eef9
+#: 7d71973bda64400db9774df185a7bc69 077c812f057a447bbf7909f4db0f1fee
+msgid "None"
+msgstr ""
+
+#: ../../contributing/development.rst:650 f437eb411a6545939babd65caf3d54f8
+msgid "Use regex"
+msgstr ""
+
+#: ../../contributing/development.rst:651 f3226b9b99e94e7c90617691c1b3db82
+msgid "syntax:expression: exec ..."
+msgstr ""
+
+#: ../../contributing/development.rst:652 f0f39c43c9d24035b7799ddee422ec16
+msgid "<properties> <constraint> <validator> <name =\"foo\" argument=\"bar\">"
+msgstr ""
+
+#: ../../contributing/development.rst:653 80caa3fd0b414be5948828228f8f56bc
+msgid ""
+"\"${vyos_libexecdir}/validators/foo bar $VAR(@)\" will be executed, "
+"<constraintErrorMessage> will be displayed on failure"
+msgstr ""
+
+#: ../../contributing/development.rst:655 cfaefb230d494308868c1a2b1ccd0cbd
+msgid "syntax:expression: (arithmetic expression)"
+msgstr ""
+
+#: ../../contributing/development.rst:657 12d7c3f6f5674daeaace5931c0ca8efd
+msgid ""
+"External arithmetic validator may be added if there's demand, complex "
+"validation is better left to commit-time scripts"
+msgstr ""
+
+#: ../../contributing/development.rst:659 55a9e6825cf24261909a2a1865bee2a1
+msgid "priority: 999"
+msgstr ""
+
+#: ../../contributing/development.rst:660 359045dbc11949d2846edcbb1823d4b2
+msgid "<properties> <priority>999</priority>"
+msgstr ""
+
+#: ../../contributing/development.rst:661 b35d3f18f65b447baea445023b722c2f
+msgid ""
+"Please leave a comment explaining why the priority was chosen (e.g. \"after "
+"interfaces are configured\")"
+msgstr ""
+
+#: ../../contributing/development.rst:663 f2fc7e7db46d410a8d5a7fd01488447f
+msgid "multi:"
+msgstr ""
+
+#: ../../contributing/development.rst:664 a5c47353b4e240a897d9989c6b4cc418
+msgid "<properties> <multi/>"
+msgstr ""
+
+#: ../../contributing/development.rst:665 d22bd39f7baa49ac828aff803f93a5b3
+msgid "Only applicable to leaf nodes"
+msgstr ""
+
+#: ../../contributing/development.rst:666 8b603494e75748a5950b48cf7bdc1e76
+msgid "allowed: echo foo bar"
+msgstr ""
+
+#: ../../contributing/development.rst:667 31b948d3cf3e49aba60122c0e5b18fa7
+msgid "<properties> <completionHelp> <list> foo bar </list>"
+msgstr ""
+
+#: ../../contributing/development.rst:669 ae1fa30e898b4b9880386b11c2656d88
+msgid "allowed: cli-shell-api listNodes vpn ipsec esp-group"
+msgstr ""
+
+#: ../../contributing/development.rst:670 34ff9f59e15f4b0c89fdc50bf26ae5cf
+msgid "<properties> <completionHelp> <path> vpn ipsec esp-group </path> ..."
+msgstr ""
+
+#: ../../contributing/development.rst:672 0acda12d528c4983a8bc24e215e2e938
+msgid "allowed: /path/to/script"
+msgstr ""
+
+#: ../../contributing/development.rst:673 e50fd5d7b645484e9f85438fcaeee425
+msgid "<properties> <completionHelp> <script> /path/to/script </script> ..."
+msgstr ""
+
+#: ../../contributing/development.rst:675 88e7993d35574ae28c11ed123d2892d0
+msgid "default:"
+msgstr ""
+
+#: ../../contributing/development.rst:677 989f6e68960c448b9b140d8422bea4c7
+msgid "Move default values to scripts"
+msgstr ""
+
+#: ../../contributing/development.rst:678 1f79f35408e34bd28365ef547a70792b
+msgid "commit:expression:"
+msgstr ""
+
+#: ../../contributing/development.rst:680 1a95ffbafac2474cb1822de847539037
+msgid ""
+"All commit time checks should be in the verify() function of the script"
+msgstr ""
+
+#: ../../contributing/development.rst:681 6abc6c67084f4588993c0ad9fdf45c6c
+msgid "begin:/create:/delete:"
+msgstr ""
+
+#: ../../contributing/development.rst:683 dae250339d384fe998af358aeaa8edc1
+msgid "All logic should be in the scripts"
+msgstr ""
+
+#: ../../contributing/development.rst:686 0a761544b2394577b208ceae0173ee7d
+msgid "Continuous Integration"
+msgstr ""
+
+#: ../../contributing/development.rst:688 15570252713643b9b14be94fe82afaf3
+msgid ""
+"VyOS makes use of Jenkins_ as our Continuous Integration (CI) service. Our "
+"`VyOS CI`_ server is publicly accessible here: https://ci.vyos.net. You can "
+"get a brief overview of all required components shipped in a VyOS ISO."
+msgstr ""
+
+#: ../../contributing/development.rst:692 316fa05e045744999e29a99d37461ab6
+msgid ""
+"To build our modules we utilize a CI/CD Pipeline script. Each and every VyOS"
+" component comes with it's own ``Jenkinsfile`` which is (more or less) a "
+"copy. The Pipeline utilizes the Docker container from the :ref:`build_iso` "
+"section - but instead of building it from source on every run, we rather "
+"always fetch a fresh copy (if needed) from Dockerhub_."
+msgstr ""
+
+#: ../../contributing/development.rst:698 529a7e068b0f411c9e71f107c09baac3
+msgid ""
+"Each module is build on demand if a new commit on the branch in question is "
+"found. After a successful run the resulting Debian Package(s) will be "
+"deployed to our Debian repository which is used during build time. It is "
+"located here: http://dev.packages.vyos.net/repositories/."
+msgstr ""
diff --git a/docs/_locale/de_DE/LC_MESSAGES/contributing/issues-features.po b/docs/_locale/de_DE/LC_MESSAGES/contributing/issues-features.po
new file mode 100644
index 00000000..0aba0553
--- /dev/null
+++ b/docs/_locale/de_DE/LC_MESSAGES/contributing/issues-features.po
@@ -0,0 +1,141 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) 2021, VyOS maintainers and contributors
+# This file is distributed under the same license as the VyOS package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: VyOS 1.4\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2022-10-21 12:01+0200\n"
+"PO-Revision-Date: 2022-10-21 10:04+0000\n"
+"Language-Team: German (Germany) (https://www.transifex.com/vyos/teams/155110/de_DE/)\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Language: de_DE\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: ../../contributing/issues-features.rst:5 67ed87b152074a30a52d46af521b5ef5
+msgid "Issues/Feature requests"
+msgstr ""
+
+#: ../../contributing/issues-features.rst:10 66cf2839261a4020b3d554105560c21c
+msgid "Bug Report/Issue"
+msgstr ""
+
+#: ../../contributing/issues-features.rst:12 7e605712d1664ad5ae7232b6372f5997
+msgid ""
+"Issues or bugs are found in any software project. VyOS is not an exception."
+msgstr ""
+
+#: ../../contributing/issues-features.rst:14 771a1b0e62d54ec3bb263a682bbc5df4
+msgid ""
+"All issues should be reported to the developers. This lets the developers "
+"know what is not working properly. Without this sort of feedback every "
+"developer will believe that everything is working correctly."
+msgstr ""
+
+#: ../../contributing/issues-features.rst:19 650c1b3dcd57474db2ecd269b8bb874b
+msgid "I have found a bug, what should I do?"
+msgstr ""
+
+#: ../../contributing/issues-features.rst:21 32fce891abf04dbc913dfa89cddea7a4
+msgid ""
+"When you believe you have found a bug, it is always a good idea to verify "
+"the issue prior to opening a bug request."
+msgstr ""
+
+#: ../../contributing/issues-features.rst:24 adc43f7363c34865a593d8f1c95e87ab
+msgid ""
+"Consult the documentation_ to ensure that you have configured your system "
+"correctly"
+msgstr ""
+
+#: ../../contributing/issues-features.rst:26 d7d0062602d044d1bdb3a2b8b3be7fe5
+msgid "Get community support via Slack_ or our Forum_"
+msgstr ""
+
+#: ../../contributing/issues-features.rst:29 dc5cbde3e57d4f27b2e5d89f5f4a105d
+msgid "Ensure the problem is reproducible"
+msgstr ""
+
+#: ../../contributing/issues-features.rst:31 9a7189709ac8461fa72b85625deaa646
+msgid ""
+"When you are able to verify that it is actually a bug, spend some time to "
+"document how to reproduce the issue. This documentation can be invaluable."
+msgstr ""
+
+#: ../../contributing/issues-features.rst:34 e061de570c9e4ce485cb77ba307960aa
+msgid ""
+"When you wish to have a developer fix a bug that you found, helping them "
+"reproduce the issue is beneficial to everyone. Be sure to include "
+"information about the hardware you are using, commands that you were "
+"running, any other activities that you may have been doing at the time. This"
+" additional information can be very useful."
+msgstr ""
+
+#: ../../contributing/issues-features.rst:40 b70152a95f8e443fbbd256328613dfa4
+msgid "What were you attempting to achieve?"
+msgstr ""
+
+#: ../../contributing/issues-features.rst:41 7affcbd7b6314551adfdb34013ba0222
+msgid "What was the configuration prior to the change?"
+msgstr ""
+
+#: ../../contributing/issues-features.rst:42 dcae4f45bff447fb898f662b3b90cc32
+msgid ""
+"What commands did you use? Use e.g. ``run show configuration commands``"
+msgstr ""
+
+#: ../../contributing/issues-features.rst:45 f85302174c954225ab6721e5091ed2f3
+msgid "Include output"
+msgstr ""
+
+#: ../../contributing/issues-features.rst:47 a8fbc693065a4312be095f3823b74bf7
+msgid ""
+"The output you get when you find a bug can provide lots of information. If "
+"you get an error message on the screen, copy it exactly. Having the exact "
+"message can provide detail that the developers can use. Like wise if you "
+"have any log messages that also are from the time of the issue, include "
+"those. They may also contain information that is helpful for the development"
+" team."
+msgstr ""
+
+#: ../../contributing/issues-features.rst:54 b339c27e8fd8412ea0e694d4dc08b799
+msgid "Report a Bug"
+msgstr ""
+
+#: ../../contributing/issues-features.rst:56 90b1d77fbe6c4fc09eda77bd5f518ce4
+msgid ""
+"In order to open up a bug-report/feature request you need to create yourself"
+" an account on VyOS Phabricator_. On the left side of the specific project "
+"(VyOS 1.2 or VyOS 1.3) you will find quick-links for opening a bug-"
+"report/feature request."
+msgstr ""
+
+#: ../../contributing/issues-features.rst:61 ff1adaa26a3e485a93296c900310eb54
+msgid "Provide as much information as you can"
+msgstr ""
+
+#: ../../contributing/issues-features.rst:62 b8d57159162a4be3b93be5e59f4c6209
+msgid "Which version of VyOS are you using? ``run show version``"
+msgstr ""
+
+#: ../../contributing/issues-features.rst:63 ad99ad1ff73149518a83f91af52eaf8a
+msgid "How can we reproduce this Bug?"
+msgstr ""
+
+#: ../../contributing/issues-features.rst:68 2a4ee93179b843fb8f015b834f353086
+msgid "Feature Request"
+msgstr ""
+
+#: ../../contributing/issues-features.rst:70 13e17cc27e5d42c182a9bdf532a61797
+msgid ""
+"You have an idea of how to make VyOS better or you are in need of a specific"
+" feature which all users of VyOS would benefit from? To send a feature "
+"request please search Phabricator_ if there is already a request pending. "
+"You can enhance it or if you don't find one, create a new one by use the "
+"quick link in the left side under the specific project."
+msgstr ""
diff --git a/docs/_locale/de_DE/LC_MESSAGES/contributing/testing.po b/docs/_locale/de_DE/LC_MESSAGES/contributing/testing.po
new file mode 100644
index 00000000..7548acdc
--- /dev/null
+++ b/docs/_locale/de_DE/LC_MESSAGES/contributing/testing.po
@@ -0,0 +1,231 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) 2021, VyOS maintainers and contributors
+# This file is distributed under the same license as the VyOS package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: VyOS 1.4\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2022-10-21 12:01+0200\n"
+"PO-Revision-Date: 2022-10-21 10:04+0000\n"
+"Language-Team: German (Germany) (https://www.transifex.com/vyos/teams/155110/de_DE/)\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Language: de_DE\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: ../../contributing/testing.rst:5 12f678d43bd94c489aa570e0c4ca556e
+msgid "Testing"
+msgstr ""
+
+#: ../../contributing/testing.rst:7 f01ded081f2343928f839bb0cab1db56
+msgid ""
+"One of the major advantages introduced in VyOS 1.3 is an autmated test "
+"framework. When assembling an ISO image multiple things can go wrong badly "
+"and publishing a faulty ISO makes no sense. The user is disappointed by the "
+"quality of the image and the developers get flodded with bug reports over "
+"and over again."
+msgstr ""
+
+#: ../../contributing/testing.rst:12 0dfb498ddebc4d768ced32229293e682
+msgid ""
+"As the VyOS documentation is not only for users but also for the developers "
+"- and we keep no secret documentation - this section describes how the "
+"automated testing works."
+msgstr ""
+
+#: ../../contributing/testing.rst:17 9dbc2349b1a84132887c40f32c547d70
+msgid "Jenkins CI"
+msgstr ""
+
+#: ../../contributing/testing.rst:19 bc6c0084cd434bf0aab4728193354604
+msgid ""
+"Our `VyOS CI`_ system is based on Jenkins and builds all our required "
+"packages for VyOS 1.2 to 1.4. In addition to the package build, there is the"
+" vyos-build Job which builds and tests the VyOS ISO image which is published"
+" after a successfull test drive."
+msgstr ""
+
+#: ../../contributing/testing.rst:24 9b7434772d0a429aaa2938e74a895de1
+msgid ""
+"We differentiate in two independent tests, which are both run in parallel by"
+" two separate QEmu instances which are launched via ``make test`` and ``make"
+" testc`` from within the vyos-build_ repository."
+msgstr ""
+
+#: ../../contributing/testing.rst:29 74b920e0bd134fa988efdec86b23d357
+msgid "Smoketests"
+msgstr ""
+
+#: ../../contributing/testing.rst:31 c12843ff659149af976fdefd7ea393ef
+msgid ""
+"Smoketests executes predefined VyOS CLI commands and checks if the desired "
+"daemon/service configuration is rendert - that is how to put it \"short\"."
+msgstr ""
+
+#: ../../contributing/testing.rst:34 00d52833413c4a318da64b20fc7ba1a7
+msgid ""
+"When and ISO image is assembled by the `VyOS CI`_, the ``BUILD_SMOKETEST`` "
+"parameter is enabled by default, which will extend the ISO configuration "
+"line with the following packages:"
+msgstr ""
+
+#: ../../contributing/testing.rst:44 37eedf5c4a604af781cedd13458f8e5e
+msgid ""
+"So if you plan to build your own custom ISO image and wan't to make use of "
+"our smoketests, ensure that you have the `vyos-1x-smoketest` package "
+"installed."
+msgstr ""
+
+#: ../../contributing/testing.rst:47 da014d1914214bcaab3956a92c81bf48
+msgid ""
+"The ``make test`` command from the vyos-build_ repository will launch a new "
+"QEmu instance and the ISO image is first installed to the virtual harddisk."
+msgstr ""
+
+#: ../../contributing/testing.rst:50 fd8bcaef78c9475e88f07247c4a34e8f
+msgid ""
+"After its first boot into the newly installed system the main Smoketest "
+"script is executed, it can be found here: `/usr/bin/vyos-smoketest`"
+msgstr ""
+
+#: ../../contributing/testing.rst:53 d29e928983634961b080fe7c8604694d
+msgid ""
+"The script only searches for executable \"test-cases\" under "
+"``/usr/libexec/vyos/tests/smoke/cli/`` and executes them one by one."
+msgstr ""
+
+#: ../../contributing/testing.rst:56 a68164b072394a8daf96e84a7a196c0c
+msgid ""
+"As Smoketests will alter the system configuration and you are logged in "
+"remote you may loose your connection to the system."
+msgstr ""
+
+#: ../../contributing/testing.rst:60 14fe375078034abfb14b552724557ae7
+msgid "Manual Smoketest Run"
+msgstr ""
+
+#: ../../contributing/testing.rst:62 48458c32bdd24b839fced729143b04e4
+msgid ""
+"On the other hand - as each test is contain in its own file - one can always"
+" execute a single Smoketest by hand by simply running the Python test "
+"scripts."
+msgstr ""
+
+#: ../../contributing/testing.rst:65 8f9365c2d06f4b818faa18a0951447af
+msgid "Example:"
+msgstr ""
+
+#: ../../contributing/testing.rst:90 96a57240744b4485b78bedb198064a87
+msgid "Interface based tests"
+msgstr ""
+
+#: ../../contributing/testing.rst:92 a53042041eaa4a07b44f7fe6a3ca88c8
+msgid ""
+"Our smoketests not only test daemons and serives, but also check if what we "
+"configure for an interface works. Thus there is a common base classed named:"
+" ``base_interfaces_test.py`` which holds all the common code that an "
+"interface supports and is tested."
+msgstr ""
+
+#: ../../contributing/testing.rst:97 edc3bb0938f140cd8e9087ce2d0d2adf
+msgid "Those common tests consists out of:"
+msgstr ""
+
+#: ../../contributing/testing.rst:99 ff30b0f5d774470b89dea6d5b0a8ecc7
+msgid "Add one or more IP addresses"
+msgstr ""
+
+#: ../../contributing/testing.rst:100 fd357f424d154e57a1d1990529a1e255
+msgid "DHCP client and DHCPv6 prefix delegation"
+msgstr ""
+
+#: ../../contributing/testing.rst:101 24e70da5dff347b6820a175f6bb6a0af
+msgid "MTU size"
+msgstr ""
+
+#: ../../contributing/testing.rst:102 1940344c3e8b4f7793780e32ec0f843c
+msgid "IP and IPv6 options"
+msgstr ""
+
+#: ../../contributing/testing.rst:103 f7ce56b3c8d042768b32349da21f1cc0
+msgid "Port description"
+msgstr ""
+
+#: ../../contributing/testing.rst:104 c24b306b179e4cfeb1602f4c43e74626
+msgid "Port disable"
+msgstr ""
+
+#: ../../contributing/testing.rst:105 6a744f5f6064443298a29a6c903fd81c
+msgid "VLANs (QinQ and regular 802.1q)"
+msgstr ""
+
+#: ../../contributing/testing.rst:106 73bc9780c5694384b0d9f09c24c4daf1
+msgid "..."
+msgstr ""
+
+#: ../../contributing/testing.rst:108 e76b5f62ef9b4d58875686621b54283a
+msgid ""
+"When you are working on interface configuration and you also wan't to test "
+"if the Smoketests pass you would normally loose the remote SSH connection to"
+" your :abbr:`DUT (Device Under Test)`. To handle this issue, some of the "
+"interface based tests can be called with an environment variable beforehand "
+"to limit the number of interfaces used in the test. By default all interface"
+" e.g. all Ethernet interfaces are used."
+msgstr ""
+
+#: ../../contributing/testing.rst:147 d1e0e72d711c43679c7f4f07abcd20eb
+msgid ""
+"This will limit the `bond` interface test to only make use of `eth1` and "
+"`eth2` as member ports."
+msgstr ""
+
+#: ../../contributing/testing.rst:151 e0946dbd689b436897ae38ea0620c4d5
+msgid "Config Load Tests"
+msgstr ""
+
+#: ../../contributing/testing.rst:153 15cca66010514b56a714892d1e371145
+msgid ""
+"The other part of our tests are called \"config load tests\". The config "
+"load tests will load - one after another - arbitrary configuration files to "
+"test if the configuration migration scripts work as designed and that a "
+"given set of functionality still can be loaded with a fresh VyOS ISO image."
+msgstr ""
+
+#: ../../contributing/testing.rst:158 d71157cea333454fb83ca4420c378fd7
+msgid ""
+"The configurations are all derived from production systems and can not only "
+"act as a testcase but also as reference if one wants to enable a certain "
+"feature. The configurations can be found here: "
+"https://github.com/vyos/vyos-1x/tree/current/smoketest/configs"
+msgstr ""
+
+#: ../../contributing/testing.rst:163 db34600555b3424a9b1f086bfc8a2c1a
+msgid ""
+"The entire test is controlled by the main wrapper script ``/usr/bin/vyos-"
+"configtest`` which behaves in the same way as the main smoketest script. It "
+"scans the folder for potential configuration files and issues a ``load`` "
+"command one after another."
+msgstr ""
+
+#: ../../contributing/testing.rst:168 f205e96b0e574f7aa73a44521ee55ae0
+msgid "Manual config load test"
+msgstr ""
+
+#: ../../contributing/testing.rst:170 87a92c6df15e43ad89c4a07203664740
+msgid ""
+"One is not bound to load all configurations one after another but can also "
+"load individual test configurations on his own."
+msgstr ""
+
+#: ../../contributing/testing.rst:201 80c566100698466e8a18a599df3a5fa0
+msgid ""
+"Some of the configurations have preconditions which need to be met. Those "
+"most likely include generation of crypographic keys before the config can be"
+" applied - you will get a commit error otherwise. If you are interested how "
+"those preconditions are fulfilled check the vyos-build_ repository and the "
+"``scripts/check-qemu-install`` file."
+msgstr ""
diff --git a/docs/_locale/de_DE/LC_MESSAGES/contributing/upstream-packages.po b/docs/_locale/de_DE/LC_MESSAGES/contributing/upstream-packages.po
new file mode 100644
index 00000000..e08f47e3
--- /dev/null
+++ b/docs/_locale/de_DE/LC_MESSAGES/contributing/upstream-packages.po
@@ -0,0 +1,211 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) 2021, VyOS maintainers and contributors
+# This file is distributed under the same license as the VyOS package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: VyOS 1.4\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2022-10-21 12:01+0200\n"
+"PO-Revision-Date: 2022-10-21 10:04+0000\n"
+"Language-Team: German (Germany) (https://www.transifex.com/vyos/teams/155110/de_DE/)\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Language: de_DE\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: ../../contributing/upstream-packages.rst:4 9b4ae0ac1ea24c0ebb7c2ff74c9d87ff
+msgid "Upstream packages"
+msgstr ""
+
+#: ../../contributing/upstream-packages.rst:6 a558c26feb7541eba474107211fd1139
+msgid ""
+"Many base system packages are pulled straight from Debian's main and contrib"
+" repositories, but there are exceptions."
+msgstr ""
+
+#: ../../contributing/upstream-packages.rst:9 c1a0875f437c48bcbfc5bdabc51ae0a9
+msgid ""
+"This chapter lists those exceptions and gives you a brief overview what we "
+"have done on those packages. If you only want to build yourself a fresh ISO "
+"you can completely skip this chapter. It may become interesting once you "
+"have a VyOS deep dive."
+msgstr ""
+
+#: ../../contributing/upstream-packages.rst:15
+#: 65b83944a66442f7b7c2899ba488806a
+msgid "vyos-netplug"
+msgstr ""
+
+#: ../../contributing/upstream-packages.rst:17
+#: 0d4f8c22ba1c41a59688d8daf4b5cdea
+msgid ""
+"Due to issues in the upstream version that sometimes set interfaces down, a "
+"modified version is used."
+msgstr ""
+
+#: ../../contributing/upstream-packages.rst:20
+#: 183453c93d374021a88b4302f35cd6ef
+msgid "The source is located at https://github.com/vyos/vyos-netplug"
+msgstr ""
+
+#: ../../contributing/upstream-packages.rst:22
+#: ae1f220be3fb41698f8f941e8384100c
+msgid ""
+"In the future, we may switch to using systemd infrastructure instead. "
+"Building it doesn't require a special procedure."
+msgstr ""
+
+#: ../../contributing/upstream-packages.rst:26
+#: e2e10b338baf406c884afc2aef56c7b0
+msgid "keepalived"
+msgstr ""
+
+#: ../../contributing/upstream-packages.rst:28
+#: 8b06b5c620734e2aae0aa1117fa2d58f
+msgid ""
+"Keepalived normally isn't updated to newer feature releases between Debian "
+"versions, so we are building it from source."
+msgstr ""
+
+#: ../../contributing/upstream-packages.rst:31
+#: fc8753e785b0479d88f64613b8b333c2
+msgid ""
+"Debian does keep their package in git, but it's upstream tarball imported "
+"into git without its original commit history. To be able to merge new tags "
+"in, we keep a fork of the upstream repository with packaging files imported "
+"from Debian at https://github.com/vyos/keepalived-upstream"
+msgstr ""
+
+#: ../../contributing/upstream-packages.rst:37
+#: db84775608f348dbbb6be1fa9a36c613
+msgid "strongswan"
+msgstr ""
+
+#: ../../contributing/upstream-packages.rst:39
+#: 0b59cbc4f5194cd5ad8ce50486351639
+msgid "Our StrongSWAN build differs from the upstream:"
+msgstr ""
+
+#: ../../contributing/upstream-packages.rst:41
+#: 3136121b130a47b0a54e777a1e654824
+msgid ""
+"strongswan-nm package build is disabled since we don't use NetworkManager"
+msgstr ""
+
+#: ../../contributing/upstream-packages.rst:42
+#: 3f4bf7625b6543a2b61d21eca1033324
+msgid "Patches for DMVPN are merged in"
+msgstr ""
+
+#: ../../contributing/upstream-packages.rst:44
+#: 3078be3341be468f9a8d521381cfe986
+msgid "The source is at https://github.com/vyos/vyos-strongswan"
+msgstr ""
+
+#: ../../contributing/upstream-packages.rst:46
+#: 821c606accad40ab84f391182fc9ed66
+msgid ""
+"DMVPN patches are added by this commit: https://github.com/vyos/vyos-"
+"strongswan/commit/1cf12b0f2f921bfc51affa3b81226"
+msgstr ""
+
+#: ../../contributing/upstream-packages.rst:49
+#: a3281c9ed3fb4b409cd1c79493d8177c
+msgid ""
+"Our op mode scripts use the python-vici module, which is not included in "
+"Debian's build, and isn't quite easy to integrate in that build. For this "
+"reason we debianize that module by hand now, using this procedure:"
+msgstr ""
+
+#: ../../contributing/upstream-packages.rst:53
+#: 5c6f25aa4b644e349e25cd3880d85c24
+msgid "Install https://pypi.org/project/stdeb/"
+msgstr ""
+
+#: ../../contributing/upstream-packages.rst:54
+#: 0f41c2d30bd049e39b5f7c8e0c487cbb
+msgid "`cd vyos-strongswan`"
+msgstr ""
+
+#: ../../contributing/upstream-packages.rst:55
+#: 76a28644f37e4132b58f282541198b7e
+msgid "`./configure --enable-python-eggs`"
+msgstr ""
+
+#: ../../contributing/upstream-packages.rst:56
+#: 9e6e31f88f5145b3a2ea81e42e6999ee
+msgid "`cd src/libcharon/plugins/vici/python`"
+msgstr ""
+
+#: ../../contributing/upstream-packages.rst:57
+#: 4d878cf8e5aa47a7b873ab8b6aa93071
+msgid "`make`"
+msgstr ""
+
+#: ../../contributing/upstream-packages.rst:58
+#: 292eb22ff927426e859c35e14d46b5b4
+msgid "`python3 setup.py --command-packages=stdeb.command bdist_deb`"
+msgstr ""
+
+#: ../../contributing/upstream-packages.rst:60
+#: 2178b97610de4642ad03b2ebad7aa254
+msgid "The package ends up in deb_dist dir."
+msgstr ""
+
+#: ../../contributing/upstream-packages.rst:63
+#: 32da7f654db94f66bb2b30a74c5f9c9c
+msgid "mdns-repeater"
+msgstr ""
+
+#: ../../contributing/upstream-packages.rst:65
+#: ee629cfc4d894707a7ca0501750bedd3
+msgid ""
+"This package doesn't exist in Debian. A debianized fork is kept at "
+"https://github.com/vyos/mdns-repeater"
+msgstr ""
+
+#: ../../contributing/upstream-packages.rst:68
+#: ../../contributing/upstream-packages.rst:76
+#: 3a3c7365c26b44d5941e3224e6b1012d f4becab36b5e45b88877c38e0f72ccd6
+msgid "No special build procedure is required."
+msgstr ""
+
+#: ../../contributing/upstream-packages.rst:71
+#: aee16c64e47e452c8632bb8b811c0125
+msgid "udp-broadcast-relay"
+msgstr ""
+
+#: ../../contributing/upstream-packages.rst:73
+#: 5f3b26af3a7d418a9a34453d7defbb6c
+msgid ""
+"This package doesn't exist in Debian. A debianized fork is kept at "
+"https://github.com/vyos/udp-broadcast-relay"
+msgstr ""
+
+#: ../../contributing/upstream-packages.rst:79
+#: 635325753817483f956e1daeef70e9ed
+msgid "hvinfo"
+msgstr ""
+
+#: ../../contributing/upstream-packages.rst:81
+#: ad10113bf94a43fb8873aa37bb8b3f29
+msgid ""
+"A fork with packaging changes for VyOS is kept at "
+"https://github.com/vyos/hvinfo"
+msgstr ""
+
+#: ../../contributing/upstream-packages.rst:83
+#: ed8ccc1234b741efb0dc076cc2bfea8f
+msgid "The original repo is at https://github.com/dmbaturin/hvinfo"
+msgstr ""
+
+#: ../../contributing/upstream-packages.rst:85
+#: 22d6bd34b22f486dbd103dc1dd969801
+msgid ""
+"It's an Ada program and requires GNAT and gprbuild for building, "
+"dependencies are properly specified so just follow debuild's suggestions."
+msgstr ""