diff options
author | rebortg <github@ghlr.de> | 2022-10-24 20:49:12 +0200 |
---|---|---|
committer | rebortg <github@ghlr.de> | 2022-10-24 20:49:12 +0200 |
commit | 99ccd5cd0e0ac2efdc50f3eda88744601a0a996a (patch) | |
tree | cd08da26447517eef3c0d7e14b08313108199f26 /docs/_locale/de_DE/LC_MESSAGES/contributing/development.po | |
parent | 214bb78660e10ca210e1117340497c9c2de3a9d6 (diff) | |
download | vyos-documentation-99ccd5cd0e0ac2efdc50f3eda88744601a0a996a.tar.gz vyos-documentation-99ccd5cd0e0ac2efdc50f3eda88744601a0a996a.zip |
add german test translation
Diffstat (limited to 'docs/_locale/de_DE/LC_MESSAGES/contributing/development.po')
-rw-r--r-- | docs/_locale/de_DE/LC_MESSAGES/contributing/development.po | 1019 |
1 files changed, 1019 insertions, 0 deletions
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 "" |