diff --git a/.circleci/config.yml b/.circleci/config.yml index 8fae69d41..c86bbc606 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -1,603 +1,99 @@ -version: 2 +version: 2.1 +commands: + set_environment_vars: + steps: + - run: + command: | + echo "export REPO_URL=https://github.com/ysurac/openmptcprouter" >> $BASH_ENV jobs: - prepare: - machine: - image: ubuntu-1604:201903-01 - - working_directory: ~/ - - steps: - - run: - name: Prepare - command: | - sudo rm -rf /var/lib/apt/lists/lock - sudo apt-get update - sudo rm -rf /var/lib/apt/lists/lock - sudo apt-get install -yq build-essential git unzip ncurses-dev libz-dev libssl-dev python subversion gettext gawk wget curl rsync perl libelf-dev python3.5 libpython3.5-stdlib liblzma-dev - pyenv global 3.5.2 - - build_x86_64: - machine: - image: ubuntu-1604:201903-01 - + build: environment: - - OMR_VERSION: $CIRCLE_TAG - - OMR_TARGET: x86_64 - - working_directory: ~/ - + REPO_URL: https://github.com/ysurac/openmptcprouter + SOURCE_NAME: ${{ steps.branch_name.outputs.SOURCE_NAME }} + GITHUB_WORKSPACE: ${{ steps.branch_name.outputs.WORKSPACE }} + OMR_FEED_URL: https://github.com/ysurac/openmptcprouter-feeds + OMR_TARGET: << parameters.OMR_TARGET >> + OMR_KERNEL: << parameters.OMR_KERNEL >> + OMR_HOST: ${{ secrets.OMR_HOST }} + OMR_PORT: ${{ secrets.OMR_PORT }} + SOURCE_BRANCH: ${{ steps.branch_name.outputs.SOURCE_BRANCH }} + SOURCE_TAG: ${{ steps.branch_name.outputs.SOURCE_TAG }} + ARGS: -av --delete-after + TARGET: deploy/release/${{steps.branch_name.outputs.SOURCE_TAG}}/${{matrix.OMR_TARGET}} + SOURCE: ${{ steps.branch_name.outputs.SOURCE_NAME }} + KEY: ${{ secrets.PRIVATE_KEY }} + USER: deploy + HOST: ${{ secrets.OMR_DEPLOY_HOST }} + PORT: ${{ secrets.OMR_DEPLOY_PORT }} + docker: + - image: dkrecruseastamazonawscom/circlecigolangpr:current steps: - - run: - name: cache - command: | - echo "cache 81 $OMR_KERNEL $OMR_TARGET" > /tmp/cache-target - echo "cache 84 $OMR_KERNEL $OMR_TARGET $OMR_VERSION" > /tmp/cache-version - - - restore_cache: - keys: - - cache-{{ checksum "/tmp/cache-version" }} - - cache-{{ checksum "/tmp/cache-target" }} - - - run: - name: Build toolchain - no_output_timeout: 50m - command: | - git clone https://github.com/ysurac/openmptcprouter || true - cd openmptcprouter - git checkout ${CIRCLE_BRANCH:-$CIRCLE_TAG} || true - git pull || true - export OMR_PATH="$CIRCLE_PROJECT_USERNAME/$CIRCLE_PROJECT_REPONAME/${CIRCLE_BRANCH:-$CIRCLE_TAG}" - export OMR_FEED_URL="$CIRCLE_REPOSITORY_URL" - export OMR_FEED_SRC="${CIRCLE_BRANCH:-$CIRCLE_TAG}" - sudo apt-get update - sudo apt-get install -yq libelf-dev - pyenv global 3.5.2 - sh build.sh prepare {tools,toolchain}/install -j2 - echo -e "$OMR_PRIVKEY" > ~/openmptcprouter/$OMR_TARGET/source/key-build - echo -e "$OMR_PUBKEY" > ~/openmptcprouter/$OMR_TARGET/source/key-build.pub - - - save_cache: - key: cache-{{ checksum "/tmp/cache-target" }} - paths: - - openmptcprouter - - - run: - name: Build - no_output_timeout: 50m - command: make IGNORE_ERRORS=m -C ~/openmptcprouter/$OMR_TARGET/source package/{compile,install,index} target/install -j2 - - - run: - name: Deploy - command: | - ssh -p ${OMR_DEPLOY_PORT:-22} deploy@$OMR_DEPLOY_HOST mkdir -p deploy/${CIRCLE_BRANCH:-release}/${OMR_KERNEL:-4.14}/$OMR_TARGET - rsync -av --delete-after ~/openmptcprouter/$OMR_TARGET/source/bin/ -e "ssh -q -p ${OMR_DEPLOY_PORT:-22}" deploy@$OMR_DEPLOY_HOST:deploy/${CIRCLE_BRANCH:-release}/${OMR_KERNEL:-4.14}/$OMR_TARGET - rm -rf ~/openmptcprouter/$OMR_TARGET/source/bin - - - save_cache: - key: cache-{{ checksum "/tmp/cache-version" }} - paths: - - openmptcprouter - - build_x86: - machine: - image: ubuntu-1604:201903-01 - - environment: - - OMR_VERSION: $CIRCLE_TAG - - OMR_TARGET: x86 - - working_directory: ~/ - - steps: - - run: - name: cache - command: | - echo "cache 81 $OMR_KERNEL $OMR_TARGET" > /tmp/cache-target - echo "cache 84 $OMR_KERNEL $OMR_TARGET $OMR_VERSION" > /tmp/cache-version - - - restore_cache: - keys: - - cache-{{ checksum "/tmp/cache-version" }} - - cache-{{ checksum "/tmp/cache-target" }} - - - run: - name: Build toolchain - no_output_timeout: 40m - command: | - git clone https://github.com/ysurac/openmptcprouter || true - cd openmptcprouter - git checkout ${CIRCLE_BRANCH:-$CIRCLE_TAG} || true - git pull || true - export OMR_PATH="$CIRCLE_PROJECT_USERNAME/$CIRCLE_PROJECT_REPONAME/${CIRCLE_BRANCH:-$CIRCLE_TAG}" - export OMR_FEED_URL="$CIRCLE_REPOSITORY_URL" - export OMR_FEED_SRC="${CIRCLE_BRANCH:-$CIRCLE_TAG}" - pyenv global 3.5.2 - sh build.sh prepare {tools,toolchain}/install -j2 - echo -e "$OMR_PRIVKEY" > ~/openmptcprouter/$OMR_TARGET/source/key-build - echo -e "$OMR_PUBKEY" > ~/openmptcprouter/$OMR_TARGET/source/key-build.pub - - - save_cache: - key: cache-{{ checksum "/tmp/cache-target" }} - paths: - - openmptcprouter - - - run: - name: Build - no_output_timeout: 40m - command: make IGNORE_ERRORS=m -C ~/openmptcprouter/$OMR_TARGET/source package/{compile,install,index} target/install -j2 - - - run: - name: Deploy - command: | - ssh -p ${OMR_DEPLOY_PORT:-22} deploy@$OMR_DEPLOY_HOST mkdir -p deploy/${CIRCLE_BRANCH:-release}/${OMR_KERNEL:-4.14}/$OMR_TARGET - rsync -av --delete-after ~/openmptcprouter/$OMR_TARGET/source/bin/ -e "ssh -q -p ${OMR_DEPLOY_PORT:-22}" deploy@$OMR_DEPLOY_HOST:deploy/${CIRCLE_BRANCH:-release}/${OMR_KERNEL:-4.14}/$OMR_TARGET - rm -rf ~/openmptcprouter/$OMR_TARGET/source/bin - - - save_cache: - key: cache-{{ checksum "/tmp/cache-version" }} - paths: - - openmptcprouter - - build_rpi3: - machine: - image: ubuntu-1604:201903-01 - - environment: - - OMR_VERSION: $CIRCLE_TAG - - OMR_TARGET: rpi3 - - working_directory: ~/ - - steps: - - run: - name: cache - command: | - echo "cache 81 $OMR_KERNEL $OMR_TARGET" > /tmp/cache-target - echo "cache 84 $OMR_KERNEL $OMR_TARGET $OMR_VERSION" > /tmp/cache-version - - - restore_cache: - keys: - - cache-{{ checksum "/tmp/cache-version" }} - - cache-{{ checksum "/tmp/cache-target" }} - - - run: - name: Build toolchain - no_output_timeout: 40m - command: | - git clone https://github.com/ysurac/openmptcprouter || true - cd openmptcprouter - git checkout ${CIRCLE_BRANCH:-$CIRCLE_TAG} || true - git pull || true - export OMR_PATH="$CIRCLE_PROJECT_USERNAME/$CIRCLE_PROJECT_REPONAME/${CIRCLE_BRANCH:-$CIRCLE_TAG}" - export OMR_FEED_URL="$CIRCLE_REPOSITORY_URL" - export OMR_FEED_SRC="${CIRCLE_BRANCH:-$CIRCLE_TAG}" - pyenv global 3.5.2 - sh build.sh prepare {tools,toolchain}/install -j2 - echo -e "$OMR_PRIVKEY" > ~/openmptcprouter/$OMR_TARGET/source/key-build - echo -e "$OMR_PUBKEY" > ~/openmptcprouter/$OMR_TARGET/source/key-build.pub - - - save_cache: - key: cache-{{ checksum "/tmp/cache-target" }} - paths: - - openmptcprouter - - - run: - name: Build - no_output_timeout: 40m - command: make IGNORE_ERRORS=m -C ~/openmptcprouter/$OMR_TARGET/source package/{compile,install,index} target/compile -j2 package/compile -j2 target/install -j2 - - - run: - name: Deploy - command: | - ssh -p ${OMR_DEPLOY_PORT:-22} deploy@$OMR_DEPLOY_HOST mkdir -p deploy/${CIRCLE_BRANCH:-release}/${OMR_KERNEL:-4.14}/$OMR_TARGET - rsync -av --delete-after ~/openmptcprouter/$OMR_TARGET/source/bin/ -e "ssh -q -p ${OMR_DEPLOY_PORT:-22}" deploy@$OMR_DEPLOY_HOST:deploy/${CIRCLE_BRANCH:-release}/${OMR_KERNEL:-4.14}/$OMR_TARGET - rm -rf ~/openmptcprouter/$OMR_TARGET/source/bin - - - save_cache: - key: cache-{{ checksum "/tmp/cache-version" }} - paths: - - openmptcprouter - - build_rpi4: - machine: - image: ubuntu-1604:201903-01 - - environment: - - OMR_VERSION: $CIRCLE_TAG - - OMR_TARGET: rpi4 - - working_directory: ~/ - - steps: - - run: - name: cache - command: | - echo "cache 81 $OMR_KERNEL $OMR_TARGET" > /tmp/cache-target - echo "cache 84 $OMR_KERNEL $OMR_TARGET $OMR_VERSION" > /tmp/cache-version - - - restore_cache: - keys: - - cache-{{ checksum "/tmp/cache-version" }} - - cache-{{ checksum "/tmp/cache-target" }} - - - run: - name: Build toolchain - no_output_timeout: 40m - command: | - git clone https://github.com/ysurac/openmptcprouter || true - cd openmptcprouter - git checkout ${CIRCLE_BRANCH:-$CIRCLE_TAG} || true - git pull || true - export OMR_PATH="$CIRCLE_PROJECT_USERNAME/$CIRCLE_PROJECT_REPONAME/${CIRCLE_BRANCH:-$CIRCLE_TAG}" - export OMR_FEED_URL="$CIRCLE_REPOSITORY_URL" - export OMR_FEED_SRC="${CIRCLE_BRANCH:-$CIRCLE_TAG}" - pyenv global 3.5.2 - sh build.sh prepare {tools,toolchain}/install -j2 - echo -e "$OMR_PRIVKEY" > ~/openmptcprouter/$OMR_TARGET/source/key-build - echo -e "$OMR_PUBKEY" > ~/openmptcprouter/$OMR_TARGET/source/key-build.pub - - - save_cache: - key: cache-{{ checksum "/tmp/cache-target" }} - paths: - - openmptcprouter - - - run: - name: Build - no_output_timeout: 40m - command: make IGNORE_ERRORS=m -C ~/openmptcprouter/$OMR_TARGET/source package/{compile,install,index} target/compile -j2 package/compile -j2 target/install -j2 - - - run: - name: Deploy - command: | - ssh -p ${OMR_DEPLOY_PORT:-22} deploy@$OMR_DEPLOY_HOST mkdir -p deploy/${CIRCLE_BRANCH:-release}/${OMR_KERNEL:-4.14}/$OMR_TARGET - rsync -av --delete-after ~/openmptcprouter/$OMR_TARGET/source/bin/ -e "ssh -q -p ${OMR_DEPLOY_PORT:-22}" deploy@$OMR_DEPLOY_HOST:deploy/${CIRCLE_BRANCH:-release}/${OMR_KERNEL:-4.14}/$OMR_TARGET - rm -rf ~/openmptcprouter/$OMR_TARGET/source/bin - - - save_cache: - key: cache-{{ checksum "/tmp/cache-version" }} - paths: - - openmptcprouter - - build_rpi2: - machine: - image: ubuntu-1604:201903-01 - - environment: - - OMR_VERSION: $CIRCLE_TAG - - OMR_TARGET: rpi2 - - working_directory: ~/ - - steps: - - run: - name: cache - command: | - echo "cache 81 $OMR_KERNEL $OMR_TARGET" > /tmp/cache-target - echo "cache 84 $OMR_KERNEL $OMR_TARGET $OMR_VERSION" > /tmp/cache-version - - - restore_cache: - keys: - - cache-{{ checksum "/tmp/cache-version" }} - - cache-{{ checksum "/tmp/cache-target" }} - - - run: - name: Build toolchain - no_output_timeout: 40m - command: | - git clone https://github.com/ysurac/openmptcprouter || true - cd openmptcprouter - git checkout ${CIRCLE_BRANCH:-$CIRCLE_TAG} || true - git pull || true - export OMR_PATH="$CIRCLE_PROJECT_USERNAME/$CIRCLE_PROJECT_REPONAME/${CIRCLE_BRANCH:-$CIRCLE_TAG}" - export OMR_FEED_URL="$CIRCLE_REPOSITORY_URL" - export OMR_FEED_SRC="${CIRCLE_BRANCH:-$CIRCLE_TAG}" - pyenv global 3.5.2 - sh build.sh prepare {tools,toolchain}/install -j2 - echo -e "$OMR_PRIVKEY" > ~/openmptcprouter/$OMR_TARGET/source/key-build - echo -e "$OMR_PUBKEY" > ~/openmptcprouter/$OMR_TARGET/source/key-build.pub - - - save_cache: - key: cache-{{ checksum "/tmp/cache-target" }} - paths: - - openmptcprouter - - - run: - name: Build - no_output_timeout: 40m - command: make IGNORE_ERRORS=m -C ~/openmptcprouter/$OMR_TARGET/source package/{compile,install,index} target/compile package/compile target/install -j2 - - - run: - name: Deploy - command: | - ssh -p ${OMR_DEPLOY_PORT:-22} deploy@$OMR_DEPLOY_HOST mkdir -p deploy/${CIRCLE_BRANCH:-release}/${OMR_KERNEL:-4.14}/$OMR_TARGET - rsync -av --delete-after ~/openmptcprouter/$OMR_TARGET/source/bin/ -e "ssh -q -p ${OMR_DEPLOY_PORT:-22}" deploy@$OMR_DEPLOY_HOST:deploy/${CIRCLE_BRANCH:-release}/${OMR_KERNEL:-4.14}/$OMR_TARGET - rm -rf ~/openmptcprouter/$OMR_TARGET/source/bin - - - save_cache: - key: cache-{{ checksum "/tmp/cache-version" }} - paths: - - openmptcprouter - - build_bpi-r2: - machine: - image: ubuntu-1604:201903-01 - - environment: - - OMR_VERSION: $CIRCLE_TAG - - OMR_TARGET: bpi-r2 - - working_directory: ~/ - - steps: - - run: - name: cache - command: | - echo "cache 81 $OMR_KERNEL $OMR_TARGET" > /tmp/cache-target - echo "cache 84 $OMR_KERNEL $OMR_TARGET $OMR_VERSION" > /tmp/cache-version - - - restore_cache: - keys: - - cache-{{ checksum "/tmp/cache-version" }} - - cache-{{ checksum "/tmp/cache-target" }} - - - run: - name: Build toolchain - no_output_timeout: 40m - command: | - git clone https://github.com/ysurac/openmptcprouter || true - cd openmptcprouter - git checkout ${CIRCLE_BRANCH:-$CIRCLE_TAG} || true - git pull || true - export OMR_PATH="$CIRCLE_PROJECT_USERNAME/$CIRCLE_PROJECT_REPONAME/${CIRCLE_BRANCH:-$CIRCLE_TAG}" - export OMR_FEED_URL="$CIRCLE_REPOSITORY_URL" - export OMR_FEED_SRC="${CIRCLE_BRANCH:-$CIRCLE_TAG}" - pyenv global 3.5.2 - sh build.sh prepare {tools,toolchain}/install -j2 - echo -e "$OMR_PRIVKEY" > ~/openmptcprouter/$OMR_TARGET/source/key-build - echo -e "$OMR_PUBKEY" > ~/openmptcprouter/$OMR_TARGET/source/key-build.pub - - - save_cache: - key: cache-{{ checksum "/tmp/cache-target" }} - paths: - - openmptcprouter - - - run: - name: Build - no_output_timeout: 40m - command: | - sudo apt-get update - sudo apt-get -yq install swig2.0 - make IGNORE_ERRORS=m -C ~/openmptcprouter/$OMR_TARGET/source package/{compile,install,index} target/compile -j2 package/compile -j2 target/install -j2 - - - run: - name: Deploy - command: | - ssh -p ${OMR_DEPLOY_PORT:-22} deploy@$OMR_DEPLOY_HOST mkdir -p deploy/${CIRCLE_BRANCH:-release}/${OMR_KERNEL:-4.14}/$OMR_TARGET - rsync -av --delete-after ~/openmptcprouter/$OMR_TARGET/source/bin/ -e "ssh -q -p ${OMR_DEPLOY_PORT:-22}" deploy@$OMR_DEPLOY_HOST:deploy/${CIRCLE_BRANCH:-release}/${OMR_KERNEL:-4.14}/$OMR_TARGET - rm -rf ~/openmptcprouter/$OMR_TARGET/source/bin - - - save_cache: - key: cache-{{ checksum "/tmp/cache-version" }} - paths: - - openmptcprouter - - build_wrt3200acm: - machine: - image: ubuntu-1604:201903-01 - - environment: - - OMR_VERSION: $CIRCLE_TAG - - OMR_TARGET: wrt3200acm - - working_directory: ~/ - - steps: - - run: - name: cache - command: | - echo "cache 81 $OMR_KERNEL $OMR_TARGET" > /tmp/cache-target - echo "cache 84 $OMR_KERNEL $OMR_TARGET $OMR_VERSION" > /tmp/cache-version - - - restore_cache: - keys: - - cache-{{ checksum "/tmp/cache-version" }} - - cache-{{ checksum "/tmp/cache-target" }} - - - run: - name: Build toolchain - no_output_timeout: 40m - command: | - git clone https://github.com/ysurac/openmptcprouter || true - cd openmptcprouter - git checkout ${CIRCLE_BRANCH:-$CIRCLE_TAG} || true - git pull || true - export OMR_PATH="$CIRCLE_PROJECT_USERNAME/$CIRCLE_PROJECT_REPONAME/${CIRCLE_BRANCH:-$CIRCLE_TAG}" - export OMR_FEED_URL="$CIRCLE_REPOSITORY_URL" - export OMR_FEED_SRC="${CIRCLE_BRANCH:-$CIRCLE_TAG}" - pyenv global 3.5.2 - sh build.sh prepare {tools,toolchain}/install -j2 - echo -e "$OMR_PRIVKEY" > ~/openmptcprouter/$OMR_TARGET/source/key-build - echo -e "$OMR_PUBKEY" > ~/openmptcprouter/$OMR_TARGET/source/key-build.pub - - - save_cache: - key: cache-{{ checksum "/tmp/cache-target" }} - paths: - - openmptcprouter - - - run: - name: Build - no_output_timeout: 40m - command: make IGNORE_ERRORS=m -C ~/openmptcprouter/$OMR_TARGET/source package/{compile,install,index} target/compile -j2 package/compile -j2 target/install -j2 - - - run: - name: Deploy - command: | - ssh -p ${OMR_DEPLOY_PORT:-22} deploy@$OMR_DEPLOY_HOST mkdir -p deploy/${CIRCLE_BRANCH:-release}/${OMR_KERNEL:-4.14}/$OMR_TARGET - rsync -av --delete-after ~/openmptcprouter/$OMR_TARGET/source/bin/ -e "ssh -q -p ${OMR_DEPLOY_PORT:-22}" deploy@$OMR_DEPLOY_HOST:deploy/${CIRCLE_BRANCH:-release}/${OMR_KERNEL:-4.14}/$OMR_TARGET - rm -rf ~/openmptcprouter/$OMR_TARGET/source/bin - - - save_cache: - key: cache-{{ checksum "/tmp/cache-version" }} - paths: - - openmptcprouter - - build_wrt32: - machine: - image: ubuntu-1604:201903-01 - - environment: - - OMR_VERSION: $CIRCLE_TAG - - working_directory: ~/ - - steps: - - run: - name: cache - command: | - echo "cache 81 $OMR_KERNEL $OMR_TARGET" > /tmp/cache-target - echo "cache 84 $OMR_KERNEL $OMR_TARGET $OMR_VERSION" > /tmp/cache-version - - - restore_cache: - keys: - - cache-{{ checksum "/tmp/cache-version" }} - - cache-{{ checksum "/tmp/cache-target" }} - - - run: - name: Build toolchain wrt3200acm - no_output_timeout: 40m - command: | - git clone https://github.com/ysurac/openmptcprouter || true - cd openmptcprouter - git checkout ${CIRCLE_BRANCH:-$CIRCLE_TAG} || true - git pull || true - export OMR_PATH="$CIRCLE_PROJECT_USERNAME/$CIRCLE_PROJECT_REPONAME/${CIRCLE_BRANCH:-$CIRCLE_TAG}" - export OMR_FEED_URL="$CIRCLE_REPOSITORY_URL" - export OMR_FEED_SRC="${CIRCLE_BRANCH:-$CIRCLE_TAG}" - export OMR_TARGET="wrt3200acm" - pyenv global 3.5.2 - sh build.sh prepare {tools,toolchain}/install -j2 - echo -e "$OMR_PRIVKEY" > ~/openmptcprouter/wrt3200acm/source/key-build - echo -e "$OMR_PUBKEY" > ~/openmptcprouter/wrt3200acm/source/key-build.pub - - - save_cache: - key: cache-{{ checksum "/tmp/cache-target" }} - paths: - - openmptcprouter - - - run: - name: Build wrt3200acm - no_output_timeout: 40m - command: make IGNORE_ERRORS=m -C ~/openmptcprouter/wrt3200acm/source package/{compile,install,index} target/compile -j2 package/compile -j2 target/install -j2 - - - run: - name: Deploy wrt3200acm - command: | - ssh -p ${OMR_DEPLOY_PORT:-22} deploy@$OMR_DEPLOY_HOST mkdir -p deploy/${CIRCLE_BRANCH:-release}/${OMR_KERNEL:-4.14}/$OMR_TARGET - rsync -av --delete-after ~/openmptcprouter/wrt3200acm/source/bin/ -e "ssh -q -p ${OMR_DEPLOY_PORT:-22}" deploy@$OMR_DEPLOY_HOST:deploy/${CIRCLE_BRANCH:-release}/${OMR_KERNEL:-4.14}/wrt3200acm - rm -rf ~/openmptcprouter/wrt3200acm/source/bin - - - save_cache: - key: cache-{{ checksum "/tmp/cache-version" }} - paths: - - openmptcprouter - - - run: - name: Build toolchain wrt32x - no_output_timeout: 40m - command: | - cd ~/openmptcprouter/ - export OMR_PATH="$CIRCLE_PROJECT_USERNAME/$CIRCLE_PROJECT_REPONAME/${CIRCLE_BRANCH:-$CIRCLE_TAG}" - export OMR_FEED_URL="$CIRCLE_REPOSITORY_URL" - export OMR_FEED_SRC="${CIRCLE_BRANCH:-$CIRCLE_TAG}" - export OMR_TARGET="wrt32x" - ln -s wrt3200acm wrt32x - pyenv global 3.5.2 - sh build.sh prepare {tools,toolchain}/install -j2 - echo -e "$OMR_PRIVKEY" > ~/openmptcprouter/wrt32x/source/key-build - echo -e "$OMR_PUBKEY" > ~/openmptcprouter/wrt32x/source/key-build.pub - - - run: - name: Build wrt32x - no_output_timeout: 40m - command: make IGNORE_ERRORS=m -C ~/openmptcprouter/wrt32x/source package/{compile,install,index} target/compile -j2 package/compile -j2 target/install -j2 - - - run: - name: Deploy wrt32x - command: | - ssh -p ${OMR_DEPLOY_PORT:-22} deploy@$OMR_DEPLOY_HOST mkdir -p deploy/${CIRCLE_BRANCH:-release}/${OMR_KERNEL:-4.14}/$OMR_TARGET - rsync -av --delete-after ~/openmptcprouter/wrt32x/source/bin/ -e "ssh -q -p ${OMR_DEPLOY_PORT:-22}" deploy@$OMR_DEPLOY_HOST:deploy/${CIRCLE_BRANCH:-release}/${OMR_KERNEL:-4.14}/wrt32x - + - checkout + - set_environment_vars + - run: + command: | + echo "SOURCE_NAME=${GITHUB_REF#refs/*/}" >> $GITHUB_OUTPUT + echo "SOURCE_BRANCH=${GITHUB_REF#refs/heads/}" >> $GITHUB_OUTPUT + echo "SOURCE_TAG=${GITHUB_REF#refs/tags/}" >> $GITHUB_OUTPUT + echo "WORKSPACE=${GITHUB_WORKSPACE}" >> $GITHUB_OUTPUT + - run: + name: Prepare + command: | + sudo apt-get update + sudo apt-get install build-essential asciidoc binutils bzip2 gawk gettext + git libncurses5-dev libz-dev patch unzip zlib1g-dev lib32gcc-s1 libc6-dev-i386 + subversion flex uglifyjs git-core gcc-multilib p7zip p7zip-full msmtp libssl-dev + texinfo libglib2.0-dev xmlto qemu-utils upx libelf-dev autoconf automake + libtool autopoint device-tree-compiler python3-pyelftools + - run: + name: Free disk space + command: | + df -h + sudo swapoff -a >/dev/null 2>&1 || true + sudo rm -f /swapfile >/dev/null 2>&1 || true + sudo apt-get autoremove -y >/dev/null 2>&1 || true + sudo apt-get autoclean -y >/dev/null 2>&1 || true + sudo rm -rf "/usr/local/share/boost" >/dev/null 2>&1 || true + sudo rm -rf "$AGENT_TOOLSDIRECTORY" >/dev/null 2>&1 || true + sudo rm -rf /usr/share/dotnet >/dev/null 2>&1 || true + sudo rm -rf /usr/local/lib/android >/dev/null 2>&1 || true + sudo rm -rf /opt/ghc >/dev/null 2>&1 || true + sudo docker rmi $(docker images -qf "dangling=true") >/dev/null 2>&1 || + true + df -h + - run: + command: | + git clone $REPO_URL omr + if [ "$SOURCE_NAME" != "develop" ]; then + cd omr + pwd + git fetch + git checkout master + else + cd omr + git checkout develop + fi + git pull + pwd + OMR_KERNEL="${OMR_KERNEL}" OMR_FEED_SRC="${SOURCE_NAME}" sh build.sh prepare + {tools,toolchain}/install -j$(nproc) || OMR_KERNEL="${OMR_KERNEL}" OMR_FEED_SRC="${SOURCE_NAME}" + sh build.sh prepare {tools,toolchain}/install -j1 V=s + make IGNORE_ERRORS=m -C $OMR_TARGET/$OMR_KERNEL/source package/{compile,install,index} + -j$(nproc) || make IGNORE_ERRORS=m -C $OMR_TARGET/$OMR_KERNEL/source package/{compile,install,index} + -j1 V=s + make IGNORE_ERRORS=m -C $OMR_TARGET/$OMR_KERNEL/source target/install -j$(nproc) + || make IGNORE_ERRORS=m -C $OMR_TARGET/$OMR_KERNEL/source target/install + -j1 V=s + mv ${OMR_TARGET}/${OMR_KERNEL}/source/bin ${GITHUB_WORKSPACE}/ + - store_artifacts: + path: /home/runner/work/omr/${{ matrix.OMR_TARGET }}/${{ matrix.OMR_KERNEL + }}/source/bin workflows: - version: 2 - main: + openmptcprouter: jobs: - - prepare: - filters: - tags: - only: /.*/ - branches: - only: - - develop - - build_x86_64: - requires: - - prepare - filters: - tags: - only: /.*/ - branches: - only: - - develop - - build_x86: - requires: - - prepare - filters: - tags: - only: /.*/ - branches: - only: - - develop - - build_rpi4: - requires: - - prepare - filters: - tags: - only: /.*/ - branches: - only: - - develop - - build_rpi3: - requires: - - prepare - filters: - tags: - only: /.*/ - branches: - only: - - develop - - build_rpi2: - requires: - - prepare - filters: - tags: - only: /.*/ - branches: - only: - - develop - - build_bpi-r2: - requires: - - prepare - filters: - tags: - only: /.*/ - branches: - only: - - develop - - build_wrt32: - requires: - - prepare - filters: - tags: - only: /.*/ - branches: - only: - - develop + - build: + matrix: + parameters: + OMR_TARGET: ["bpi-r1","bpi-r2","bpi-r64","rpi2","rpi4","wrt32x","espressobin","r2s","rpi3","wrt3200acm","x86","x86_64","ubnt-erx","r4s","r7800","rutx12","rutx50","r5s","qnap-301w","rpi5","z8102ax_128m"] + OMR_KERNEL: ["5.4","6.1","6.6"] + \ No newline at end of file diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml new file mode 100644 index 000000000..837a083b9 --- /dev/null +++ b/.github/workflows/main.yml @@ -0,0 +1,166 @@ +name: openmptcprouter +on: [push] + +env: + REPO_URL: 'https://github.com/ysurac/openmptcprouter' + +jobs: + build: + strategy: + matrix: + OMR_TARGET: [bpi-r1, bpi-r2, bpi-r3, bpi-r4, bpi-r4-poe, bpi-r64, rpi2, rpi4, wrt32x, espressobin, r2s, rpi3, wrt3200acm, x86, x86_64, ubnt-erx, r4s, r7800, rutx12, rutx50, r5s, qnap-301w, rpi5, z8102ax_128m, z8102ax_64m, z8102ax-emmc, gl-mt6000, gl-mt3000, gl-mt2500, r5c, z8109ax_128m] + OMR_KERNEL: [6.6, 6.12] + runs-on: ubuntu-latest + continue-on-error: true + + steps: + - name: Branch name + id: branch_name + run: | + echo "SOURCE_NAME=${GITHUB_REF#refs/*/}" >> $GITHUB_OUTPUT + echo "SOURCE_BRANCH=${GITHUB_REF#refs/heads/}" >> $GITHUB_OUTPUT + echo "SOURCE_TAG=${GITHUB_REF#refs/tags/}" >> $GITHUB_OUTPUT + echo "WORKSPACE=${GITHUB_WORKSPACE}" >> $GITHUB_OUTPUT + - name: Prepare + run: | + sudo apt-get update + sudo apt-get install build-essential asciidoc binutils bzip2 gawk gettext git libncurses5-dev libz-dev patch unzip zlib1g-dev lib32gcc-s1 libc6-dev-i386 subversion flex uglifyjs git-core gcc-multilib p7zip p7zip-full msmtp libssl-dev texinfo libglib2.0-dev xmlto qemu-utils upx libelf-dev autoconf automake libtool autopoint device-tree-compiler python3-pyelftools llvm clang + - if: matrix.OMR_KERNEL == '6.6' + name: Install LLVM + run: | + sudo apt-get install llvm clang + - name: Free disk space + run: | + df -h + sudo swapoff -a >/dev/null 2>&1 || true + sudo rm -f /swapfile >/dev/null 2>&1 || true + sudo apt-get autoremove -y >/dev/null 2>&1 || true + sudo apt-get autoclean -y >/dev/null 2>&1 || true + sudo rm -rf "/usr/local/share/boost" >/dev/null 2>&1 || true + sudo rm -rf "$AGENT_TOOLSDIRECTORY" >/dev/null 2>&1 || true + sudo rm -rf /usr/share/dotnet >/dev/null 2>&1 || true + sudo rm -rf /usr/local/lib/android >/dev/null 2>&1 || true + sudo rm -rf /opt/ghc >/dev/null 2>&1 || true + sudo docker rmi $(docker images -qf "dangling=true") >/dev/null 2>&1 || true + df -h + - name: Clone source code + working-directory: ../../ + env: + REPO_URL: https://github.com/ysurac/openmptcprouter + SOURCE_NAME: ${{ steps.branch_name.outputs.SOURCE_NAME }} + GITHUB_WORKSPACE: ${{ steps.branch_name.outputs.WORKSPACE }} + run: | + git clone $REPO_URL omr + if [ "$SOURCE_NAME" != "develop" ]; then + cd omr + pwd + git fetch + git checkout master + else + cd omr + git checkout develop + fi + git pull + pwd + - name: Build toolchain + working-directory: ../../omr + env: + OMR_FEED_URL: https://github.com/ysurac/openmptcprouter-feeds + SOURCE_NAME: ${{ steps.branch_name.outputs.SOURCE_NAME }} + OMR_TARGET: ${{ matrix.OMR_TARGET }} + OMR_KERNEL: ${{ matrix.OMR_KERNEL }} + OMR_HOST: ${{ secrets.OMR_HOST }} + OMR_PORT: ${{ secrets.OMR_PORT }} + run: | + OMR_KERNEL="${OMR_KERNEL}" OMR_FEED_SRC="${SOURCE_NAME}" sh build.sh prepare {tools,toolchain}/install -j$(nproc) || OMR_KERNEL="${OMR_KERNEL}" OMR_FEED_SRC="${SOURCE_NAME}" sh build.sh prepare {tools,toolchain}/install -j1 V=s + #echo -e "${{ secrets.OMR_PRIVKEY }}" > $OMR_TARGET/$OMR_KERNEL/source/key-build + #echo -e "${{ secrets.OMR_PUBKEY }}" > $OMR_TARGET/$OMR_KERNEL/source/key-build.pub + - name: Build packages + working-directory: ../../omr + env: + OMR_TARGET: ${{ matrix.OMR_TARGET }} + OMR_KERNEL: ${{ matrix.OMR_KERNEL }} + run: | + make IGNORE_ERRORS=m -C $OMR_TARGET/$OMR_KERNEL/source package/{compile,install,index} -j$(nproc) || make IGNORE_ERRORS=m -C $OMR_TARGET/$OMR_KERNEL/source package/{compile,install,index} -j1 V=s + - name: Build image + working-directory: ../../omr + env: + OMR_TARGET: ${{ matrix.OMR_TARGET }} + OMR_KERNEL: ${{ matrix.OMR_KERNEL }} + run: | + make IGNORE_ERRORS=m -C $OMR_TARGET/$OMR_KERNEL/source target/install -j$(nproc) || make IGNORE_ERRORS=m -C $OMR_TARGET/$OMR_KERNEL/source target/install -j1 V=s + - name: Upload artifacts + uses: actions/upload-artifact@v4 + with: + name: ${{ matrix.OMR_TARGET }} + path: /home/runner/work/omr/${{ matrix.OMR_TARGET }}/${{ matrix.OMR_KERNEL }}/source/bin + overwrite: true + - if: steps.branch_name.outputs.SOURCE_BRANCH == '' + name: Deploy - Create directory + uses: ysurac/ssh-action@master + env: + SOURCE_NAME: ${{ steps.branch_name.outputs.SOURCE_NAME }} + SOURCE_BRANCH: ${{ steps.branch_name.outputs.SOURCE_BRANCH }} + SOURCE_TAG: ${{ steps.branch_name.outputs.SOURCE_TAG }} + with: + command: | + mkdir -p deploy/release/${{env.SOURCE_TAG}}/${{matrix.OMR_TARGET}} + host: ${{ secrets.OMR_DEPLOY_HOST }} + user: deploy + port: ${{ secrets.OMR_DEPLOY_PORT }} + key: ${{ secrets.PRIVATE_KEY }} + args: -tt + - if: steps.branch_name.outputs.SOURCE_BRANCH != '' + name: Deploy - Create directory + uses: ysurac/ssh-action@master + env: + SOURCE_NAME: ${{ steps.branch_name.outputs.SOURCE_NAME }} + SOURCE_BRANCH: ${{ steps.branch_name.outputs.SOURCE_BRANCH }} + SOURCE_TAG: ${{ steps.branch_name.outputs.SOURCE_TAG }} + with: + command: | + mkdir -p deploy/${{env.SOURCE_BRANCH}}/${{matrix.OMR_KERNEL}}/${{matrix.OMR_TARGET}} + host: ${{ secrets.OMR_DEPLOY_HOST }} + user: deploy + port: ${{ secrets.OMR_DEPLOY_PORT }} + key: ${{ secrets.PRIVATE_KEY }} + args: -tt + - name: Move binaries for rsync + working-directory: ../../omr + env: + OMR_TARGET: ${{ matrix.OMR_TARGET }} + OMR_KERNEL: ${{ matrix.OMR_KERNEL }} + GITHUB_WORKSPACE: ${{ steps.branch_name.outputs.WORKSPACE }} + run: | + mv ${OMR_TARGET}/${OMR_KERNEL}/source/bin ${GITHUB_WORKSPACE}/ + - if: steps.branch_name.outputs.SOURCE_BRANCH == '' + name: Deploy - Upload via rsync + uses: ysurac/action-rsync@master + env: + ARGS: -av --delete-after + TARGET: deploy/release/${{steps.branch_name.outputs.SOURCE_TAG}}/${{matrix.OMR_TARGET}} + SOURCE: ./bin/ + KEY: ${{ secrets.PRIVATE_KEY }} + USER: deploy + HOST: ${{ secrets.OMR_DEPLOY_HOST }} + PORT: ${{ secrets.OMR_DEPLOY_PORT }} + SOURCE_NAME: ${{ steps.branch_name.outputs.SOURCE_NAME }} + SOURCE_BRANCH: ${{ steps.branch_name.outputs.SOURCE_BRANCH }} + SOURCE_TAG: ${{ steps.branch_name.outputs.SOURCE_TAG }} + GITHUB_WORKSPACE: ${{ steps.branch_name.outputs.WORKSPACE }} + - if: steps.branch_name.outputs.SOURCE_BRANCH != '' + name: Deploy - Upload via rsync + uses: ysurac/action-rsync@master + env: + ARGS: -av --delete-after + TARGET: deploy/${{ steps.branch_name.outputs.SOURCE_BRANCH }}/${{matrix.OMR_KERNEL}}/${{matrix.OMR_TARGET}} + SOURCE: ./bin/ + KEY: ${{ secrets.PRIVATE_KEY }} + USER: deploy + HOST: ${{ secrets.OMR_DEPLOY_HOST }} + PORT: ${{ secrets.OMR_DEPLOY_PORT }} + SOURCE_NAME: ${{ steps.branch_name.outputs.SOURCE_NAME }} + SOURCE_BRANCH: ${{ steps.branch_name.outputs.SOURCE_BRANCH }} + SOURCE_TAG: ${{ steps.branch_name.outputs.SOURCE_TAG }} + GITHUB_WORKSPACE: ${{ steps.branch_name.outputs.WORKSPACE }} + diff --git a/.github/workflows/stale.yml b/.github/workflows/stale.yml new file mode 100644 index 000000000..71c06708d --- /dev/null +++ b/.github/workflows/stale.yml @@ -0,0 +1,19 @@ +name: Mark stale issues and pull requests + +on: + schedule: + - cron: "30 1 * * *" + +jobs: + stale: + runs-on: ubuntu-latest + steps: + - uses: actions/stale@v3.0.10 + with: + repo-token: ${{ secrets.GITHUB_TOKEN }} + stale-issue-message: "This issue is stale because it has been open 120 days with no activity. Remove stale label or comment or this will be closed in 5 days" + stale-pr-message: 'It has been open 120 days with no activity. Remove stale label or comment or this will be closed in 5 days' + days-before-stale: 120 + days-before-close: 5 + exempt-issue-labels: 'work-in-progress,enhancement' + exempt-pr-labels: 'work-in-progress,enhancement' diff --git a/README.md b/README.md index 57a0cfd6c..e92835abd 100644 --- a/README.md +++ b/README.md @@ -163,5 +163,24 @@ This is used to bypass a protocol *Description:* A middlebox detection tool +## Shortcut-FE +*Source:* [https://github.com/coolsnowwolf/lede/tree/master/package/lean/shortcut-fe](https://github.com/coolsnowwolf/lede/tree/master/package/lean/shortcut-fe) + +*Description:* Shortcut is an in-Linux-kernel IP packet forwarding engine. + + +## V2Ray +*Source:* [https://github.com/v2fly/v2ray-core](https://github.com/v2fly/v2ray-core) + +*Description:* A platform for building proxies to bypass network restrictions. + +This is used as proxy, alternative to Shadowsocks + + + # License -[![FOSSA Status](https://app.fossa.io/api/projects/git%2Bgithub.com%2FYsurac%2Fopenmptcprouter-feeds.svg?type=large)](https://app.fossa.io/projects/git%2Bgithub.com%2FYsurac%2Fopenmptcprouter-feeds?ref=badge_large) \ No newline at end of file +[![FOSSA Status](https://app.fossa.io/api/projects/git%2Bgithub.com%2FYsurac%2Fopenmptcprouter-feeds.svg?type=large)](https://app.fossa.io/projects/git%2Bgithub.com%2FYsurac%2Fopenmptcprouter-feeds?ref=badge_large) + +## Translation status + +[![Translation status](https://weblate.openmptcprouter.com/widgets/omr/-/multi-auto.svg)](https://weblate.openmptcprouter.com/engage/omr/?utm_source=widget) diff --git a/atinout/Makefile b/atinout/Makefile new file mode 100644 index 000000000..5457697e0 --- /dev/null +++ b/atinout/Makefile @@ -0,0 +1,57 @@ +include $(TOPDIR)/rules.mk + +PKG_NAME:=atinout +PKG_VERSION=0.9.1 + +PKG_MAINTAINER:=Konstantine Shevlakov +PKG_LICENSE:=GPLv2 +PKG_LICENSE_FILES:=LICENSE + +PKG_SOURCE_PROTO:=git +PKG_SOURCE_URL:=https://github.com/beralt/atinout.git +PKG_SOURCE_VERSION:=4013e8db4cd140c1df24bb90f929efeb9b61b238 + +PKG_SOURCE_SUBDIR:=$(PKG_NAME) +PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz +PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_SOURCE_SUBDIR) + +include $(INCLUDE_DIR)/package.mk + +define Package/$(PKG_NAME) + SECTION:=net + CATEGORY:=Network + SUBMENU:=Telephony + TITLE:=Send AT commands to a modem + URL:=http://atinout.sourceforge.net/ + MAINTAINER:=Adrian Guenter +endef + +define Package/$(PKG_NAME)/description + Atinout is a program that will execute AT commands in sequence and + capture the response from the modem. +endef + + +CONFIGURE_VARS += \ + CC="$(TARGET_CC)" \ + CXX="$(TARGET_CC) +.c++" \ + CFLAGS="$(TARGET_CFLAGS) -Wall -DVERSION=\"\\\"$(PKG_VERSION)\\\"\"" \ + LDFLAGS="$(TARGET_LDFLAGS)" + +define Build/Configure + $(call Build/Configure/Default,--with-linux-headers=$(LINUX_DIR)) +endef + +define Build/Compile + @echo -e "\n=== Build/Compile ===" + $(CONFIGURE_VARS) $(MAKE) -C $(PKG_BUILD_DIR) \ + all \ + +endef + +define Package/$(PKG_NAME)/install + $(INSTALL_DIR) $(1)/usr/bin + $(INSTALL_BIN) $(PKG_BUILD_DIR)/$(PKG_NAME) $(1)/usr/bin/$(PKG_NAME) +endef + +$(eval $(call BuildPackage,$(PKG_NAME))) diff --git a/bcm27xx-eeprom/Makefile b/bcm27xx-eeprom/Makefile new file mode 100644 index 000000000..8f37f3ecb --- /dev/null +++ b/bcm27xx-eeprom/Makefile @@ -0,0 +1,96 @@ +include $(TOPDIR)/rules.mk + +PKG_NAME:=bcm27xx-eeprom +PKG_RELEASE:=1 + +PKG_SOURCE_PROTO:=git +PKG_SOURCE_URL:=https://github.com/raspberrypi/rpi-eeprom +PKG_SOURCE_DATE:=2024-09-23 +PKG_SOURCE_VERSION:=c8fffcda5ae0f923857a73fedbeb07e81d2eb813 +PKG_MIRROR_HASH:=68d0eedd1aff573c2ea7071f89a5898292061ced96d7f98ea4a347dc16c8102c + +PKG_LICENSE:=BSD-3-Clause Custom +PKG_LICENSE_FILES:=LICENSE + +PKG_MAINTAINER:=Álvaro Fernández Rojas + +include $(INCLUDE_DIR)/package.mk + +TAR_OPTIONS:=--strip-components 1 $(TAR_OPTIONS) +TAR_CMD=$(HOST_TAR) -C $(1) $(TAR_OPTIONS) + +define Package/bcm27xx-eeprom/Default + SECTION:=utils + CATEGORY:=Utilities +endef + +define Package/bcm27xx-eeprom +$(call Package/bcm27xx-eeprom/Default) + TITLE:=BCM27xx EEPROM tools + DEPENDS:=bcm27xx-utils +blkid +coreutils +coreutils-od +mount-utils +pciutils +python3-light +endef + +define Package/bcm2711-eeprom +$(call Package/bcm27xx-eeprom/Default) + TITLE:=BCM2711 EEPROM tools + DEPENDS:=+bcm27xx-eeprom +endef + +define Package/bcm2712-eeprom +$(call Package/bcm27xx-eeprom/Default) + TITLE:=BCM2712 EEPROM tools + DEPENDS:=+bcm27xx-eeprom +endef + +define Package/bcm27xx-eeprom/description + BCM27xx EEPROM config and update tools. +endef + +define Package/bcm2711-eeprom/description + BCM2711 EEPROM config and update tools. +endef + +define Package/bcm2712-eeprom/description + BCM2712 EEPROM config and update tools. +endef + +define Build/Compile + true +endef + +define Package/bcm27xx-eeprom/conffiles +/etc/bcm27xx-eeprom.conf +endef + +define Package/bcm27xx-eeprom/install + $(INSTALL_DIR) $(1)/etc + $(INSTALL_CONF) $(PKG_BUILD_DIR)/rpi-eeprom-update-default $(1)/etc/bcm27xx-eeprom.conf + + $(INSTALL_DIR) $(1)/usr/bin + $(INSTALL_BIN) $(PKG_BUILD_DIR)/rpi-eeprom-config $(1)/usr/bin + $(INSTALL_BIN) $(PKG_BUILD_DIR)/rpi-eeprom-digest $(1)/usr/bin + $(INSTALL_BIN) $(PKG_BUILD_DIR)/rpi-eeprom-update $(1)/usr/bin +endef + +define Package/bcm2711-eeprom/install + $(INSTALL_DIR) $(1)/lib/firmware/raspberrypi/bootloader-2711 + $(INSTALL_DIR) $(1)/lib/firmware/raspberrypi/bootloader-2711/latest + + $(CP) $(PKG_BUILD_DIR)/firmware-2711/release-notes.md $(1)/lib/firmware/raspberrypi/bootloader-2711 + $(CP) $(PKG_BUILD_DIR)/firmware-2711/latest/pieeprom-2024-09-05.bin $(1)/lib/firmware/raspberrypi/bootloader-2711/latest + $(CP) $(PKG_BUILD_DIR)/firmware-2711/latest/recovery.bin $(1)/lib/firmware/raspberrypi/bootloader-2711/latest + $(CP) $(PKG_BUILD_DIR)/firmware-2711/latest/vl805-000138c0.bin $(1)/lib/firmware/raspberrypi/bootloader-2711/latest +endef + +define Package/bcm2712-eeprom/install + $(INSTALL_DIR) $(1)/lib/firmware/raspberrypi/bootloader-2712 + $(INSTALL_DIR) $(1)/lib/firmware/raspberrypi/bootloader-2712/latest + + $(CP) $(PKG_BUILD_DIR)/firmware-2712/release-notes.md $(1)/lib/firmware/raspberrypi/bootloader-2712 + $(CP) $(PKG_BUILD_DIR)/firmware-2712/latest/pieeprom-2024-09-23.bin $(1)/lib/firmware/raspberrypi/bootloader-2712/latest + $(CP) $(PKG_BUILD_DIR)/firmware-2712/latest/recovery.bin $(1)/lib/firmware/raspberrypi/bootloader-2712/latest +endef + +$(eval $(call BuildPackage,bcm27xx-eeprom)) +$(eval $(call BuildPackage,bcm2711-eeprom)) +$(eval $(call BuildPackage,bcm2712-eeprom)) diff --git a/bcm27xx-eeprom/patches/0001-rpi-eeprom-update-OpenWrt-defaults.patch b/bcm27xx-eeprom/patches/0001-rpi-eeprom-update-OpenWrt-defaults.patch new file mode 100644 index 000000000..e989ae1ff --- /dev/null +++ b/bcm27xx-eeprom/patches/0001-rpi-eeprom-update-OpenWrt-defaults.patch @@ -0,0 +1,37 @@ +From a7c4e8f246dc58b4c83293b11f6443528065dc70 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?=C3=81lvaro=20Fern=C3=A1ndez=20Rojas?= +Date: Mon, 23 Mar 2020 10:10:55 +0100 +Subject: [PATCH] rpi-eeprom-update: OpenWrt defaults +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Signed-off-by: Álvaro Fernández Rojas +--- + rpi-eeprom-update | 4 ++-- + rpi-eeprom-update-default | 4 ++-- + 2 files changed, 4 insertions(+), 4 deletions(-) + +--- a/rpi-eeprom-update ++++ b/rpi-eeprom-update +@@ -25,7 +25,7 @@ fi + + # Selects the release sub-directory + FIRMWARE_RELEASE_STATUS=${FIRMWARE_RELEASE_STATUS:-default} +-FIRMWARE_BACKUP_DIR=${FIRMWARE_BACKUP_DIR:-/var/lib/raspberrypi/bootloader/backup} ++FIRMWARE_BACKUP_DIR=${FIRMWARE_BACKUP_DIR:-${FIRMWARE_ROOT}/backup} + ENABLE_VL805_UPDATES=${ENABLE_VL805_UPDATES:-1} + CM4_ENABLE_RPI_EEPROM_UPDATE=${CM4_ENABLE_RPI_EEPROM_UPDATE:-0} + RPI_EEPROM_UPDATE_CONFIG_TOOL="${RPI_EEPROM_UPDATE_CONFIG_TOOL:-raspi-config}" +--- a/rpi-eeprom-update-default ++++ b/rpi-eeprom-update-default +@@ -1,7 +1,7 @@ + + FIRMWARE_ROOT=/lib/firmware/raspberrypi/bootloader +-FIRMWARE_RELEASE_STATUS="default" +-FIRMWARE_BACKUP_DIR="/var/lib/raspberrypi/bootloader/backup" ++FIRMWARE_RELEASE_STATUS="latest" ++FIRMWARE_BACKUP_DIR="${FIRMWARE_ROOT}/backup" + EEPROM_CONFIG_HOOK= + + # BOOTFS can be set here to override auto-detection in rpi-eeprom-update diff --git a/bcm27xx-eeprom/patches/0002-rpi-eeprom-update-change-default-include-path.patch b/bcm27xx-eeprom/patches/0002-rpi-eeprom-update-change-default-include-path.patch new file mode 100644 index 000000000..2bfb0beb1 --- /dev/null +++ b/bcm27xx-eeprom/patches/0002-rpi-eeprom-update-change-default-include-path.patch @@ -0,0 +1,62 @@ +From fc552b1e5c503c530763e40d2b83df55c5c2e9a3 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?=C3=81lvaro=20Fern=C3=A1ndez=20Rojas?= +Date: Wed, 25 Mar 2020 20:58:35 +0100 +Subject: [PATCH] rpi-eeprom-update: change default include path +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Signed-off-by: Álvaro Fernández Rojas +--- + rpi-eeprom-update | 12 ++++++------ + 1 file changed, 6 insertions(+), 6 deletions(-) + +--- a/rpi-eeprom-update ++++ b/rpi-eeprom-update +@@ -6,8 +6,8 @@ set -e + + script_dir=$(cd "$(dirname "$0")" && pwd) + +-if [ -f /etc/default/rpi-eeprom-update ]; then +- . /etc/default/rpi-eeprom-update ++if [ -f /etc/bcm27xx-eeprom.conf ]; then ++ . /etc/bcm27xx-eeprom.conf + fi + + LOCAL_MODE=0 +@@ -439,7 +439,7 @@ checkDependencies() { + echo "Run with -h for more information." + echo + echo "To enable flashrom programming of the EEPROM" +- echo "Add these the following entries to /etc/default/rpi-eeprom-update" ++ echo "Add these the following entries to /etc/bcm27xx-eeprom.conf" + echo "RPI_EEPROM_USE_FLASHROM=1" + echo "CM4_ENABLE_RPI_EEPROM_UPDATE=1" + echo +@@ -526,7 +526,7 @@ The system should then boot normally. + + If /boot does not correspond to the boot partition and this + is not a NOOBS system, then the mount point for BOOTFS should be defined +-in /etc/default/rpi-eeprom-update by defining the BOOTFS variable. ++in /etc/bcm27xx-eeprom.conf by defining the BOOTFS variable. + + A backup of the current EEPROM config file is written to ${FIRMWARE_BACKUP_DIR} + before applying the update. +@@ -558,7 +558,7 @@ Options: + -u Install the specified VL805 (USB EEPROM) image file. + + Environment: +-Environment variables should be defined in /etc/default/rpi-eeprom-update ++Environment variables should be defined in /etc/bcm27xx-eeprom.conf + + EEPROM_CONFIG_HOOK + +@@ -630,7 +630,7 @@ must first be enabled by removing ENABLE + via usbboot. + + After enabling self-update set the CM4_ENABLE_RPI_EEPROM_UPDATE=1 environment +-variable or define it in /etc/default/rpi-eeprom-update. ++variable or define it in /etc/bcm27xx-eeprom.conf. + + N.B. If there is a power failure during SELF_UPDATE the EEPROM write may fail and + usbboot must be used to flash the bootloader EEPROM. SELF_UPDATE is not recommended diff --git a/bcm27xx-eeprom/patches/0003-rpi-eeprom-update-chmod-silent-f-is-not-supported.patch b/bcm27xx-eeprom/patches/0003-rpi-eeprom-update-chmod-silent-f-is-not-supported.patch new file mode 100644 index 000000000..0999eb9bf --- /dev/null +++ b/bcm27xx-eeprom/patches/0003-rpi-eeprom-update-chmod-silent-f-is-not-supported.patch @@ -0,0 +1,33 @@ +From 62ec3384358bda60269c131d3880795bc8cdc3ce Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?=C3=81lvaro=20Fern=C3=A1ndez=20Rojas?= +Date: Fri, 19 Feb 2021 10:54:23 +0100 +Subject: [PATCH] rpi-eeprom-update: chmod silent (-f) is not supported +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Signed-off-by: Álvaro Fernández Rojas +--- + rpi-eeprom-update | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +--- a/rpi-eeprom-update ++++ b/rpi-eeprom-update +@@ -220,7 +220,7 @@ applyRecoveryUpdate() + || die "Failed to copy ${TMP_EEPROM_IMAGE} to ${BOOTFS}" + + # For NFS mounts ensure that the files are readable to the TFTP user +- chmod -f go+r "${BOOTFS}/pieeprom.upd" "${BOOTFS}/pieeprom.sig" \ ++ chmod go+r "${BOOTFS}/pieeprom.upd" "${BOOTFS}/pieeprom.sig" \ + || die "Failed to set permissions on eeprom update files" + fi + +@@ -231,7 +231,7 @@ applyRecoveryUpdate() + || die "Failed to copy ${VL805_UPDATE_IMAGE} to ${BOOTFS}/vl805.bin" + + # For NFS mounts ensure that the files are readable to the TFTP user +- chmod -f go+r "${BOOTFS}/vl805.bin" "${BOOTFS}/vl805.sig" \ ++ chmod go+r "${BOOTFS}/vl805.bin" "${BOOTFS}/vl805.sig" \ + || die "Failed to set permissions on eeprom update files" + fi + diff --git a/bcm27xx-eeprom/patches/0004-rpi-eeprom-config-replace-nano-with-vi-as-default-ed.patch b/bcm27xx-eeprom/patches/0004-rpi-eeprom-config-replace-nano-with-vi-as-default-ed.patch new file mode 100644 index 000000000..27543f6ac --- /dev/null +++ b/bcm27xx-eeprom/patches/0004-rpi-eeprom-config-replace-nano-with-vi-as-default-ed.patch @@ -0,0 +1,35 @@ +From 8d1e47c956ae10d1146114f7fcd4eb0d33187d08 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?=C3=81lvaro=20Fern=C3=A1ndez=20Rojas?= +Date: Tue, 16 Jan 2024 16:25:40 +0100 +Subject: [PATCH] rpi-eeprom-config: replace nano with vi as default editor +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Signed-off-by: Álvaro Fernández Rojas +--- + rpi-eeprom-config | 6 +++--- + 1 file changed, 3 insertions(+), 3 deletions(-) + +--- a/rpi-eeprom-config ++++ b/rpi-eeprom-config +@@ -186,8 +186,8 @@ def edit_config(eeprom=None): + """ + Implements something like 'git commit' for editing EEPROM configs. + """ +- # Default to nano if $EDITOR is not defined. +- editor = 'nano' ++ # Default to vi if $EDITOR is not defined. ++ editor = 'vi' + if 'EDITOR' in os.environ: + editor = os.environ['EDITOR'] + +@@ -517,7 +517,7 @@ Operating modes: + + To cancel the pending update run 'sudo rpi-eeprom-update -r' + +- The default text editor is nano and may be overridden by setting the 'EDITOR' ++ The default text editor is vi and may be overridden by setting the 'EDITOR' + environment variable and passing '-E' to 'sudo' to preserve the environment. + + 6. Signing the bootloader config file. diff --git a/bcm27xx-utils/Makefile b/bcm27xx-utils/Makefile new file mode 100644 index 000000000..8f5d91da8 --- /dev/null +++ b/bcm27xx-utils/Makefile @@ -0,0 +1,66 @@ +# SPDX-License-Identifier: GPL-2.0-only + +include $(TOPDIR)/rules.mk + +PKG_NAME:=bcm27xx-utils +PKG_VERSION:=2024.10.25 +PKG_RELEASE:=1 + +PKG_SOURCE_PROTO:=git +PKG_SOURCE_URL:=https://github.com/raspberrypi/utils.git +PKG_SOURCE_VERSION:=6a2a6becebbc38fde34a94386457ac8210f9119b +PKG_MIRROR_HASH:=a775c7ffb9fac2d798ec8e0a4c7707eb7133cbc9c4418a1cf9434f87c42c01bb + +PKG_FLAGS:=nonshared +PKG_BUILD_FLAGS:=no-lto + +PKG_LICENSE:=BSD-3-Clause +PKG_LICENSE_FILES:=LICENCE + +CMAKE_INSTALL:=1 + +include $(INCLUDE_DIR)/package.mk +include $(INCLUDE_DIR)/cmake.mk + +define Package/bcm27xx-utils + SECTION:=utils + CATEGORY:=Utilities + DEPENDS:=@TARGET_bcm27xx +libfdt + TITLE:=BCM27xx scripts and simple applications + PROVIDES:=bcm27xx-userland +endef + +define Package/bcm27xx-utils/description + BCM27xx scripts and simple applications. + Replaces bcm27xx-userland scripts and applications. +endef + +define Package/bcm27xx-utils/install + $(INSTALL_DIR) $(1)/usr/bin + + $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/dtmerge $(1)/usr/bin + $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/dtoverlay $(1)/usr/bin + $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/dtparam $(1)/usr/bin + + $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/eepdump $(1)/usr/bin + $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/eepflash.sh $(1)/usr/bin + $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/eepmake $(1)/usr/bin + + $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/kdtc $(1)/usr/bin + + $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/otpset $(1)/usr/bin + + $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/overlaycheck $(1)/usr/bin + $(INSTALL_DATA) $(PKG_INSTALL_DIR)/usr/bin/overlaycheck_exclusions.txt $(1)/usr/bin + $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/ovmerge $(1)/usr/bin + + $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/pinctrl $(1)/usr/bin + + $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/raspinfo $(1)/usr/bin + + $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/vcgencmd $(1)/usr/bin + $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/vclog $(1)/usr/bin + $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/vcmailbox $(1)/usr/bin +endef + +$(eval $(call BuildPackage,bcm27xx-utils)) diff --git a/bcm27xx-utils/patches/0001-raspinfo-adapt-to-OpenWrt.patch b/bcm27xx-utils/patches/0001-raspinfo-adapt-to-OpenWrt.patch new file mode 100644 index 000000000..9dd6d9962 --- /dev/null +++ b/bcm27xx-utils/patches/0001-raspinfo-adapt-to-OpenWrt.patch @@ -0,0 +1,255 @@ +From 0db3fb3119eda8c2360454c2a01f84602a879c38 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?=C3=81lvaro=20Fern=C3=A1ndez=20Rojas?= +Date: Tue, 16 Jan 2024 15:32:12 +0100 +Subject: [PATCH] raspinfo: adapt to OpenWrt +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Signed-off-by: Álvaro Fernández Rojas +--- + raspinfo/raspinfo | 186 ++++------------------------------------------ + 1 file changed, 13 insertions(+), 173 deletions(-) + +--- a/raspinfo/raspinfo ++++ b/raspinfo/raspinfo +@@ -1,4 +1,4 @@ +-#!/bin/bash ++#!/bin/sh + + # Some of the regex's used in sed + # Catch basic IP6 address "s/\([0-9a-fA-F]\{1,4\}:\)\{7,7\}[0-9a-fA-F]\{1,4\}/y.y.y.y.y.y.y.y/g" +@@ -6,147 +6,6 @@ + # IP4 d.d.d.d decimal "s/\([0-9]\{1,3\}\.\)\{3,3\}[0-9]\{1,3\}/x.x.x.x/g" + # mac address "s/\([0-9a-fA-F]\{2,2\}\:\)\{5,5\}[0-9a-fA-F]\{2,2\}/m.m.m.m/g" + +- +-display_info_drm() { +- # If running X then can use xrandr, otherwise +- # dump the /sys/class entries for the displays +- if command -v xrandr > /dev/null && +- DISPLAY=${DISPLAY:-:0} xrandr --listmonitors &>/dev/null; +- then +- echo "Running (F)KMS and X" +- echo +- +- DISPLAY=${DISPLAY:-:0} xrandr --verbose +- else +- echo "Running (F)KMS, console" +- echo +- +- for card in /sys/class/drm/card[0-9]-*; +- do +- echo $card +- +- # if kmsprint isn't installed print basic mode info +- if ! command -v kmsprint > /dev/null; then +- if [ -f $card/modes ]; +- then +- cat $card/modes +- else +- echo "No modes found" +- fi +- fi +- +- if [ -f $card/edid ]; +- then +- base64 $card/edid +- else +- echo "No EDID found" +- fi +- echo +- done +- fi +- +- # kmsprint is more useful, but not always installed +- echo +- if command -v kmsprint > /dev/null; then +- kmsprint +- echo +- kmsprint -m +- else +- echo "kmsprint is not installed. Install with: sudo apt install kms++-utils" +- fi +- +- echo +- +- # dump the /sys/class entries for the displays +- cardfound=0 +- for card in `seq 0 9`; +- do +- if sudo test -f "/sys/kernel/debug/dri/${card}/state"; +- then +- for hdmi in 0 1; +- do +- if sudo test -f "/sys/kernel/debug/dri/${card}/hdmi${hdmi}_regs"; +- then +- echo "HDMI${hdmi}: $(sudo cat /sys/kernel/debug/dri/$card/hdmi${hdmi}_regs | grep HOTPLUG)" +- fi +- done +- echo +- echo "/sys/kernel/debug/dri/$card/state:" +- sudo cat "/sys/kernel/debug/dri/$card/state" +- echo +- cardfound=1 +- fi +- done +- if [ "$cardfound" == "0" ]; +- then +- echo "kms state not found" +- fi +- echo +- +-} +- +-display_info_legacy() { +- # Legacy mode +- echo "Running Legacy framebuffer" +- echo +- +- for card in `seq 0 9`; +- do +- F="/dev/fb${card}" +- if test -e $F; +- then +- echo Framebuffer: $F +- fbset -s -fb $F +- fi +- done +- +- disps=`tvservice -l | awk '/Display Number/{print substr($3,1,1)}'` +- +- tmp=$(mktemp) +- +- for display in $disps +- do +- echo +- echo "Display: " $display +- +- tvservice -v $display -s +- tvservice -v $display -n +- tvservice -v $display -m CEA +- tvservice -v $display -m DMT +- +- echo +- tvservice -v $display -d $tmp > /dev/null +- base64 $tmp +- done +- +- rm $tmp +-} +- +-display_info() { +- # Check if we are running a KMS/DRM system +- +- if [ -d "/dev/dri" ]; +- then +- display_info_drm +- else +- display_info_legacy +- fi +-} +- +-audio_info() { +- aplay -l +- echo +- aplay -L +- echo +- systemctl --user status pipewire.socket pipewire.service pulseaudio.service pulseaudio.socket +- echo +- if command -v pactl > /dev/null; then +- pactl info +- else +- echo pactl not installed +- fi +-} +- + OUT=raspinfo.txt + + rm -f $OUT +@@ -163,8 +22,6 @@ echo + cat /etc/os-release | head -4 + echo + +-cat /etc/rpi-issue +-echo + uname -a + + cat /proc/cpuinfo | tail -3 +@@ -190,17 +47,6 @@ echo + cat /proc/swaps + + echo +-echo "Package version information" +-echo "---------------------------" +- +-apt-cache policy raspberrypi-ui-mods | head -2 +-apt-cache policy raspberrypi-sys-mods | head -2 +-apt-cache policy openbox | head -2 +-apt-cache policy lxpanel | head -2 +-apt-cache policy pcmanfm | head -2 +-apt-cache policy rpd-plym-splash | head -2 +- +-echo + echo "Networking Information" + echo "----------------------" + echo +@@ -212,21 +58,11 @@ echo "USB Information" + echo "---------------" + echo + +-lsusb -t +- +-echo +-echo "Display Information" +-echo "-------------------" +-echo +- +-display_info +- +-echo +-echo "Audio Information" +-echo "-------------------" +-echo +- +-audio_info ++if command -v lsusb > /dev/null; then ++ lsusb -t ++else ++ echo usbutils not installed ++fi + + echo + echo "config.txt" +@@ -250,7 +86,7 @@ echo "-----------------" + echo + + if command -v pinctrl > /dev/null; then +- sudo pinctrl 2>&1 ++ pinctrl 2>&1 + elif command -v raspi-gpio > /dev/null; then + raspi-gpio get 2>&1 + else +@@ -263,9 +99,9 @@ echo "------------------" + echo + + if command -v vcdbg > /dev/null; then +- sudo vcdbg log msg 2>&1 ++ vcdbg log msg 2>&1 + elif command -v vclog > /dev/null; then +- sudo vclog --msg 2>&1 ++ vclog --msg 2>&1 + else + echo "vcdbg not found" + fi +@@ -284,5 +120,9 @@ echo + echo "EEPROM" + echo "------" + echo +-sudo rpi-eeprom-update ++if command -v rpi-eeprom-update > /dev/null; then ++ rpi-eeprom-update ++else ++ echo bcm27xx-eeprom not installed ++fi + fi diff --git a/bcm27xx-utils/patches/0002-pinctrl-replace-reallocarray.patch b/bcm27xx-utils/patches/0002-pinctrl-replace-reallocarray.patch new file mode 100644 index 000000000..d0191f620 --- /dev/null +++ b/bcm27xx-utils/patches/0002-pinctrl-replace-reallocarray.patch @@ -0,0 +1,11 @@ +--- a/pinctrl/pinctrl.c 2024-07-02 14:14:31.113459219 +0200 ++++ b/pinctrl/pinctrl.c 2024-07-02 14:14:44.533241981 +0200 +@@ -220,7 +220,7 @@ + if (!gpio_num_is_valid(gpio)) + return 1; + +- poll_gpios = reallocarray(poll_gpios, num_poll_gpios + 1, ++ poll_gpios = realloc(poll_gpios, num_poll_gpios + 1 * + sizeof(*poll_gpios)); + new_gpio = &poll_gpios[num_poll_gpios]; + new_gpio->num = num; diff --git a/contributors/bdaylik.md b/contributors/bdaylik.md new file mode 100644 index 000000000..f83ea7d7c --- /dev/null +++ b/contributors/bdaylik.md @@ -0,0 +1,9 @@ +2024-03-22 + +I hereby agree to the terms of the "OpenMPTCProuter Individual Contributor License Agreement", with MD5 checksum bc827a07eb93611d793ddb7c75083c00. + +I furthermore declare that I am authorized and able to make this agreement and sign this declaration. + +Signed, + +Baris Daylik https://github.com/bdaylik diff --git a/contributors/cr3ative.md b/contributors/cr3ative.md new file mode 100644 index 000000000..b0c58c54e --- /dev/null +++ b/contributors/cr3ative.md @@ -0,0 +1,9 @@ +2020-11-10 + +I hereby agree to the terms of the "OpenMPTCProuter Individual Contributor License Agreement", with MD5 checksum bc827a07eb93611d793ddb7c75083c00. + +I furthermore declare that I am authorized and able to make this agreement and sign this declaration. + +Signed, + +Paul Curry https://github.com/cr3ative diff --git a/contributors/flesser.md b/contributors/flesser.md new file mode 100644 index 000000000..126dab7b5 --- /dev/null +++ b/contributors/flesser.md @@ -0,0 +1,9 @@ +2022-05-20 + +I hereby agree to the terms of the "OpenMPTCProuter Individual Contributor License Agreement", with MD5 checksum bc827a07eb93611d793ddb7c75083c00. + +I furthermore declare that I am authorized and able to make this agreement and sign this declaration. + +Signed, + +Florian Karuhtz https://github.com/flesser diff --git a/contributors/ta264.md b/contributors/ta264.md new file mode 100644 index 000000000..06ed382e6 --- /dev/null +++ b/contributors/ta264.md @@ -0,0 +1,9 @@ +2022-08-26 + +I hereby agree to the terms of the "OpenMPTCProuter Individual Contributor License Agreement", with MD5 checksum bc827a07eb93611d793ddb7c75083c00. + +I furthermore declare that I am authorized and able to make this agreement and sign this declaration. + +Signed, + +ta264 https://github.com/ta264 diff --git a/contributors/yostyle.md b/contributors/yostyle.md new file mode 100644 index 000000000..621b22d52 --- /dev/null +++ b/contributors/yostyle.md @@ -0,0 +1,9 @@ +2023-05-23 + +I hereby agree to the terms of the "OpenMPTCProuter Individual Contributor License Agreement", with MD5 checksum bc827a07eb93611d793ddb7c75083c00. + +I furthermore declare that I am authorized and able to make this agreement and sign this declaration. + +Signed, + +Yoan Pintas https://github.com/yostyle diff --git a/cryptodev-linux/Makefile b/cryptodev-linux/Makefile new file mode 100644 index 000000000..77b7fbf30 --- /dev/null +++ b/cryptodev-linux/Makefile @@ -0,0 +1,57 @@ +# +# Copyright (C) 2014 OpenWrt.org +# Copyright (C) 2023 Yannick Chabanois (Ycarus) for OpenMPTCProuter +# +# This is free software, licensed under the GNU General Public License v2. +# See /LICENSE for more information. +# +# $Id$ + +include $(TOPDIR)/rules.mk +include $(INCLUDE_DIR)/kernel.mk + +PKG_NAME:=cryptodev-linux +PKG_RELEASE:=1 + +PKG_SOURCE_PROTO:=git +PKG_SOURCE_URL:=https://github.com/$(PKG_NAME)/$(PKG_NAME).git +PKG_SOURCE_VERSION:=277d4574c10bb8e16ab6ab3f38b8e1cb6cd6c678 +PKG_VERSION:=1.14.20241010 +PKG_LICENSE:=GPL-2.0 +PKG_LICENSE_FILES:=COPYING + +PKG_MAINTAINER:=Yannick Chabanois + + +include $(INCLUDE_DIR)/package.mk + +define KernelPackage/cryptodev + SUBMENU:=Cryptographic API modules + TITLE:=Driver for cryptographic acceleration + URL:=http://cryptodev-linux.org/ + DEPENDS:=+kmod-crypto-authenc +kmod-crypto-hash + FILES:=$(PKG_BUILD_DIR)/cryptodev.$(LINUX_KMOD_SUFFIX) + AUTOLOAD:=$(call AutoLoad,50,cryptodev) + MODPARAMS.cryptodev:=cryptodev_verbosity=-1 +endef + +define KernelPackage/cryptodev/description + This is a driver for that allows to use the Linux kernel supported + hardware ciphers by user-space applications. +endef + +define Build/Configure +endef + +define Build/Compile + $(MAKE) -C $(PKG_BUILD_DIR) \ + $(KERNEL_MAKE_FLAGS) \ + KERNEL_DIR="$(LINUX_DIR)" +endef + +define Build/InstallDev + $(INSTALL_DIR) $(STAGING_DIR)/usr/include/crypto + $(CP) $(PKG_BUILD_DIR)/crypto/cryptodev.h $(STAGING_DIR)/usr/include/crypto/ +endef + +$(eval $(call KernelPackage,cryptodev)) diff --git a/dsvpn/Makefile b/dsvpn/Makefile index c3215e93a..c025e7ad9 100644 --- a/dsvpn/Makefile +++ b/dsvpn/Makefile @@ -8,11 +8,15 @@ include $(TOPDIR)/rules.mk PKG_SOURCE_PROTO:=git -PKG_SOURCE_URL:=https://github.com/jedisct1/dsvpn.git -PKG_SOURCE_VERSION:=3b99d2ef6c02b2ef68b5784bec8adfdd55b29b1a +#PKG_SOURCE_URL:=https://github.com/jedisct1/dsvpn.git +PKG_SOURCE_URL:=https://github.com/Ysurac/dsvpn.git +#PKG_SOURCE_VERSION:=3b99d2ef6c02b2ef68b5784bec8adfdd55b29b1a +PKG_SOURCE_VERSION:=4333aa705efd9c86c76809614d20dc5ebf43da7f PKG_NAME:=dsvpn -PKG_VERSION:=0.1.4-$(PKG_SOURCE_VERSION) +PKG_VERSION:=0.1.5 PKG_RELEASE:=1 +PKG_LICENSE:=MIT +PKG_LICENSE_FILES:=LICENSE include $(INCLUDE_DIR)/package.mk diff --git a/dsvpn/files/init b/dsvpn/files/init index 9a996bc3c..a43583913 100755 --- a/dsvpn/files/init +++ b/dsvpn/files/init @@ -24,7 +24,19 @@ validate_section() { 'port:port' \ 'dev:string' \ 'localip:host' \ - 'remoteip:host' + 'remoteip:host' \ + 'mode:string:client' \ + 'externalip:string:auto' +} + +version_over_5_4() { + MAJOR_VERSION=$(uname -r | awk -F '.' '{print $1}') + MINOR_VERSION=$(uname -r | awk -F '.' '{print $2}' | awk -F '-' '{print $1}') + if [ $MAJOR_VERSION -ge 5 ] && [ $MINOR_VERSION -gt 13 ] || [ $MAJOR_VERSION -gt 5 ] ; then + return 0 + else + return 1 + fi } start_instance() { @@ -39,14 +51,15 @@ start_instance() { [ -n "${key}" ] || return 1 [ "${key}" != "secretkey" ] || return 1 - [ -n "${port}" ] || return 1 + [ -z "${host}" ] && host="auto" + [ -z "${port}" ] && port="auto" [ -n "${dev}" ] || return 1 echo "${key}" > /tmp/${PROG_NAME}-${1}.key key="" if [ "$(uci -q get network.omrvpn)" != "" ] && [ "$(uci -q get network.omrvpn)" != "$dev" ]; then - uci -q set network.omrvpn.ifname=$dev + uci -q set network.omrvpn.device=$dev uci -q commit fi @@ -55,15 +68,21 @@ start_instance() { _log "starting ${PROG_NAME} ${1} instance $*" + if version_over_5_4; then + PROG="mptcpize run ${PROG}" + fi + procd_open_instance - procd_set_param command ${PROG} client \ + procd_set_param command ${PROG} ${mode} \ /tmp/${PROG_NAME}-${1}.key \ $host \ $port \ $dev \ ${localip:+$localip} \ ${remoteip:+$remoteip} + [ "$mode" = "client" ] && procd_append_param command $(ip r get $host | awk '{print $3}' | tr -d "\n") + [ "$mode" = "server" ] && procd_append_param command externalip procd_set_param respawn 0 30 5 diff --git a/dsvpn/patches/nofirewall.patch b/dsvpn/patches/nofirewall.patch deleted file mode 100644 index 89c866640..000000000 --- a/dsvpn/patches/nofirewall.patch +++ /dev/null @@ -1,65 +0,0 @@ ---- a/src/os.c 2019-12-06 19:49:50.323898270 +0100 -+++ b/src/os.c 2019-12-06 19:54:20.987206244 +0100 -@@ -445,24 +445,28 @@ - #ifdef __linux__ - static const char - *set_cmds[] = -- { "sysctl net.ipv4.ip_forward=1", -- "ip addr add $LOCAL_TUN_IP peer $REMOTE_TUN_IP dev $IF_NAME", -+ { "ip addr add $LOCAL_TUN_IP peer $REMOTE_TUN_IP dev $IF_NAME", - "ip -6 addr add $LOCAL_TUN_IP6 peer $REMOTE_TUN_IP6/96 dev $IF_NAME", - "ip link set dev $IF_NAME up", -+#ifndef NO_DEFAULT_FIREWALL -+ "sysctl net.ipv4.ip_forward=1", - "iptables -t raw -I PREROUTING ! -i $IF_NAME -d $LOCAL_TUN_IP -m addrtype ! " - "--src-type LOCAL -j DROP", - "iptables -t nat -A POSTROUTING -o $EXT_IF_NAME -s $REMOTE_TUN_IP -j MASQUERADE", - "iptables -t filter -A FORWARD -i $EXT_IF_NAME -o $IF_NAME -m state --state " - "RELATED,ESTABLISHED -j ACCEPT", - "iptables -t filter -A FORWARD -i $IF_NAME -o $EXT_IF_NAME -j ACCEPT", -+#endif - NULL }, - *unset_cmds[] = { -+#ifndef NO_DEFAULT_FIREWALL - "iptables -t nat -D POSTROUTING -o $EXT_IF_NAME -s $REMOTE_TUN_IP -j MASQUERADE", - "iptables -t filter -D FORWARD -i $EXT_IF_NAME -o $IF_NAME -m state --state " - "RELATED,ESTABLISHED -j ACCEPT", - "iptables -t filter -D FORWARD -i $IF_NAME -o $EXT_IF_NAME -j ACCEPT", - "iptables -t raw -D PREROUTING ! -i $IF_NAME -d $LOCAL_TUN_IP -m addrtype ! " - "--src-type LOCAL -j DROP", -+#endif - NULL - }; - #elif defined(__APPLE__) || defined(__OpenBSD__) || defined(__FreeBSD__) || \ -@@ -503,12 +507,17 @@ - #elif defined(__linux__) - static const char - *set_cmds[] = -- { "sysctl net.ipv4.tcp_congestion_control=bbr", -+ { -+#ifndef NO_DEFAULT_CONGESTION -+ "sysctl net.ipv4.tcp_congestion_control=bbr", -+#endif - "ip link set dev $IF_NAME up", -- "iptables -t raw -I PREROUTING ! -i $IF_NAME -d $LOCAL_TUN_IP -m addrtype ! " -- "--src-type LOCAL -j DROP", - "ip addr add $LOCAL_TUN_IP peer $REMOTE_TUN_IP dev $IF_NAME", - "ip -6 addr add $LOCAL_TUN_IP6 peer $REMOTE_TUN_IP6/96 dev $IF_NAME", -+#ifndef NO_DEFAULT_FIREWALL -+ "iptables -t raw -I PREROUTING ! -i $IF_NAME -d $LOCAL_TUN_IP -m addrtype ! " -+ "--src-type LOCAL -j DROP", -+#endif - #ifndef NO_DEFAULT_ROUTES - "ip route add default dev $IF_NAME table 42069", - "ip -6 route add default dev $IF_NAME table 42069", -@@ -525,8 +534,10 @@ - "ip rule delete table main suppress_prefixlength 0", - "ip -6 rule delete table main suppress_prefixlength 0", - #endif -+#ifndef NO_DEFAULT_FIREWALL - "iptables -t raw -D PREROUTING ! -i $IF_NAME -d $LOCAL_TUN_IP -m addrtype ! " - "--src-type LOCAL -j DROP", -+#endif - NULL - }; - #else diff --git a/fast-classifier/Makefile b/fast-classifier/Makefile new file mode 100644 index 000000000..410a0df28 --- /dev/null +++ b/fast-classifier/Makefile @@ -0,0 +1,109 @@ +# +# Copyright (c) 2013-2018 The Linux Foundation. All rights reserved. +# Permission to use, copy, modify, and/or distribute this software for +# any purpose with or without fee is hereby granted, provided that the +# above copyright notice and this permission notice appear in all copies. +# THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES +# WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF +# MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR +# ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES +# WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN +# ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT +# OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. +# + +include $(TOPDIR)/rules.mk +include $(INCLUDE_DIR)/kernel.mk + +PKG_NAME:=fast-classifier +PKG_RELEASE:=6 + +include $(INCLUDE_DIR)/package.mk + +define KernelPackage/fast-classifier/Default + SECTION:=kernel + CATEGORY:=Kernel modules + SUBMENU:=Network Support + DEPENDS:=@KERNEL_5_4 +kmod-ipt-conntrack +kmod-shortcut-fe + TITLE:=Kernel driver for FAST Classifier + FILES:=$(PKG_BUILD_DIR)/fast-classifier.ko + KCONFIG:= \ + CONFIG_NF_CONNTRACK_EVENTS=y \ + CONFIG_NF_CONNTRACK_CHAIN_EVENTS=y \ + CONFIG_NF_CONNTRACK_MARK=y \ + CONFIG_XFRM=y + CONFLICTS:=kmod-shortcut-fe-drv kmod-shortcut-fe-cm +endef + +define KernelPackage/fast-classifier + $(call KernelPackage/fast-classifier/Default) +endef + +define KernelPackage/fast-classifier-noload + $(call KernelPackage/fast-classifier/Default) +endef + +define KernelPackage/fast-classifier/Default/description +FAST Classifier talks to SFE to make decisions about offloading connections +endef + +define KernelPackage/fast-classifier/description +$(call KernelPackage/fast-classifier/Default/description) +endef + +define KernelPackage/fast-classifier-noload/description +$(call KernelPackage/fast-classifier/Default/description) + +This package does not load fast-classifier at boot by default +endef + +define Package/fast-classifier-example + TITLE:=Example user space program for fast-classifier + DEPENDS:=@KERNEL_5_4 +libnl +kmod-fast-classifier +endef + +define Package/fast-classifier-example/description +Example user space program that communicates with fast +classifier kernel module +endef + +HAVE_ECM:=$(CONFIG_PACKAGE_kmod-qca-nss-ecm-premium)$(CONFIG_PACKAGE_kmod-qca-nss-ecm-noload)$(CONFIG_PACKAGE_kmod-qca-nss-ecm-premium-noload)$(CONFIG_PACKAGE_kmod-qca-nss-ecm-standard) + +define Build/Compile/kmod + +$(MAKE) $(PKG_JOBS) -C "$(LINUX_DIR)" \ + $(KERNEL_MAKE_FLAGS) \ + $(PKG_MAKE_FLAGS) \ + M="$(PKG_BUILD_DIR)" \ + CONFIG_FAST_CLASSIFIER=m \ + EXTRA_CFLAGS+="-DSFE_SUPPORT_IPV6" \ + $(if $(HAVE_ECM),EXTRA_CFLAGS+="-DCONFIG_SFE_ECM" CONFIG_SFE_ECM=y,) \ + modules +endef + +define Build/Compile/example + $(TARGET_CC) -o $(PKG_BUILD_DIR)/userspace_fast_classifier \ + -I $(PKG_BUILD_DIR) \ + -I$(STAGING_DIR)/usr/include/libnl \ + -I$(STAGING_DIR)/usr/include/libnl3 \ + -lnl-genl-3 -lnl-3 \ + $(PKG_BUILD_DIR)/nl_classifier_test.c +endef + +define Build/Compile + $(Build/Compile/kmod) + $(if $(CONFIG_PACKAGE_fast-classifier-example),$(Build/Compile/example)) +endef + +define Build/InstallDev + $(INSTALL_DIR) $(1)/usr/include + $(CP) $(PKG_BUILD_DIR)/fast-classifier.h $(1)/usr/include/ +endef + +define Package/fast-classifier-example/install + $(INSTALL_DIR) $(1)/sbin + $(CP) $(PKG_BUILD_DIR)/userspace_fast_classifier $(1)/sbin/ +endef + +$(eval $(call KernelPackage,fast-classifier)) +#$(eval $(call KernelPackage,fast-classifier-noload)) +#$(eval $(call BuildPackage,fast-classifier-example)) diff --git a/fast-classifier/src/Makefile b/fast-classifier/src/Makefile new file mode 100644 index 000000000..58dd06e01 --- /dev/null +++ b/fast-classifier/src/Makefile @@ -0,0 +1,10 @@ +obj-$(CONFIG_FAST_CLASSIFIER) += fast-classifier.o + +ifeq ($(SFE_SUPPORT_IPV6),) +SFE_SUPPORT_IPV6=y +endif +ccflags-$(SFE_SUPPORT_IPV6) += -DSFE_SUPPORT_IPV6 + +ccflags-y += -I$(obj)/../shortcut-fe + +obj ?= . diff --git a/fast-classifier/src/fast-classifier.c b/fast-classifier/src/fast-classifier.c new file mode 100644 index 000000000..944dfae38 --- /dev/null +++ b/fast-classifier/src/fast-classifier.c @@ -0,0 +1,2002 @@ +/* + * fast-classifier.c + * Shortcut forwarding engine connection manager. + * fast-classifier + * + * Copyright (c) 2013-2018 The Linux Foundation. All rights reserved. + * Permission to use, copy, modify, and/or distribute this software for + * any purpose with or without fee is hereby granted, provided that the + * above copyright notice and this permission notice appear in all copies. + * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES + * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR + * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES + * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN + * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT + * OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + */ +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include "fast-classifier.h" + +typedef enum fast_classifier_exception { + FAST_CL_EXCEPTION_PACKET_BROADCAST, + FAST_CL_EXCEPTION_PACKET_MULTICAST, + FAST_CL_EXCEPTION_NO_IIF, + FAST_CL_EXCEPTION_NO_CT, + FAST_CL_EXCEPTION_CT_NO_TRACK, + FAST_CL_EXCEPTION_CT_NO_CONFIRM, + FAST_CL_EXCEPTION_CT_IS_ALG, + FAST_CL_EXCEPTION_IS_IPV4_MCAST, + FAST_CL_EXCEPTION_IS_IPV6_MCAST, + FAST_CL_EXCEPTION_TCP_NOT_ASSURED, + FAST_CL_EXCEPTION_TCP_NOT_ESTABLISHED, + FAST_CL_EXCEPTION_UNKNOW_PROTOCOL, + FAST_CL_EXCEPTION_NO_SRC_DEV, + FAST_CL_EXCEPTION_NO_SRC_XLATE_DEV, + FAST_CL_EXCEPTION_NO_DEST_DEV, + FAST_CL_EXCEPTION_NO_DEST_XLATE_DEV, + FAST_CL_EXCEPTION_NO_BRIDGE, + FAST_CL_EXCEPTION_LOCAL_OUT, + FAST_CL_EXCEPTION_WAIT_FOR_ACCELERATION, + FAST_CL_EXCEPTION_UPDATE_PROTOCOL_FAIL, + FAST_CL_EXCEPTION_CT_DESTROY_MISS, + FAST_CL_EXCEPTION_MAX +} fast_classifier_exception_t; + +static char *fast_classifier_exception_events_string[FAST_CL_EXCEPTION_MAX] = { + "PACKET_BROADCAST", + "PACKET_MULTICAST", + "NO_IIF", + "NO_CT", + "CT_NO_TRACK", + "CT_NO_CONFIRM", + "CT_IS_ALG", + "IS_IPV4_MCAST", + "IS_IPV6_MCAST", + "TCP_NOT_ASSURED", + "TCP_NOT_ESTABLISHED", + "UNKNOW_PROTOCOL", + "NO_SRC_DEV", + "NO_SRC_XLATE_DEV", + "NO_DEST_DEV", + "NO_DEST_XLATE_DEV", + "NO_BRIDGE", + "LOCAL_OUT", + "WAIT_FOR_ACCELERATION", + "UPDATE_PROTOCOL_FAIL", + "CT_DESTROY_MISS", +}; + +/* + * Per-module structure. + */ +struct fast_classifier { + spinlock_t lock; /* Lock for SMP correctness */ + + /* + * Control state. + */ + struct kobject *sys_fast_classifier; /* sysfs linkage */ + + /* + * Callback notifiers. + */ + struct notifier_block dev_notifier; /* Device notifier */ + struct notifier_block inet_notifier; /* IPv4 notifier */ + struct notifier_block inet6_notifier; /* IPv6 notifier */ + u32 exceptions[FAST_CL_EXCEPTION_MAX]; +}; + +static struct fast_classifier __sc; + +#if (LINUX_VERSION_CODE < KERNEL_VERSION(5, 2, 0)) +static struct nla_policy fast_classifier_genl_policy[FAST_CLASSIFIER_A_MAX + 1] = { + [FAST_CLASSIFIER_A_TUPLE] = { + .type = NLA_UNSPEC, + .len = sizeof(struct fast_classifier_tuple) + }, +}; +#endif /*KERNEL_VERSION(5, 2, 0)*/ + +static struct genl_multicast_group fast_classifier_genl_mcgrp[] = { + { + .name = FAST_CLASSIFIER_GENL_MCGRP, + }, +}; + +static int fast_classifier_offload_genl_msg(struct sk_buff *skb, struct genl_info *info); +static int fast_classifier_nl_genl_msg_DUMP(struct sk_buff *skb, struct netlink_callback *cb); + +static struct genl_ops fast_classifier_gnl_ops[] = { + { + .cmd = FAST_CLASSIFIER_C_OFFLOAD, + .flags = 0, +#if (LINUX_VERSION_CODE < KERNEL_VERSION(5, 2, 0)) + .policy = fast_classifier_genl_policy, +#endif /*KERNEL_VERSION(5, 2, 0)*/ + .doit = fast_classifier_offload_genl_msg, + .dumpit = NULL, + }, + { + .cmd = FAST_CLASSIFIER_C_OFFLOADED, + .flags = 0, +#if (LINUX_VERSION_CODE < KERNEL_VERSION(5, 2, 0)) + .policy = fast_classifier_genl_policy, +#endif /*KERNEL_VERSION(5, 2, 0)*/ + .doit = NULL, + .dumpit = fast_classifier_nl_genl_msg_DUMP, + }, + { + .cmd = FAST_CLASSIFIER_C_DONE, + .flags = 0, +#if (LINUX_VERSION_CODE < KERNEL_VERSION(5, 2, 0)) + .policy = fast_classifier_genl_policy, +#endif /*KERNEL_VERSION(5, 2, 0)*/ + .doit = NULL, + .dumpit = fast_classifier_nl_genl_msg_DUMP, + }, +}; + +static struct genl_family fast_classifier_gnl_family = { +#if (LINUX_VERSION_CODE < KERNEL_VERSION(4, 10, 0)) + .id = GENL_ID_GENERATE, +#endif /*KERNEL_VERSION(4, 10, 0)*/ + .hdrsize = FAST_CLASSIFIER_GENL_HDRSIZE, + .name = FAST_CLASSIFIER_GENL_NAME, + .version = FAST_CLASSIFIER_GENL_VERSION, + .maxattr = FAST_CLASSIFIER_A_MAX, +#if (LINUX_VERSION_CODE >= KERNEL_VERSION(4, 10, 0)) + .ops = fast_classifier_gnl_ops, + .n_ops = ARRAY_SIZE(fast_classifier_gnl_ops), + .mcgrps = fast_classifier_genl_mcgrp, + .n_mcgrps = ARRAY_SIZE(fast_classifier_genl_mcgrp), +#endif /*KERNEL_VERSION(4, 10, 0)*/ +}; + +static atomic_t offload_msgs = ATOMIC_INIT(0); +static atomic_t offload_no_match_msgs = ATOMIC_INIT(0); +static atomic_t offloaded_msgs = ATOMIC_INIT(0); +static atomic_t done_msgs = ATOMIC_INIT(0); + +static atomic_t offloaded_fail_msgs = ATOMIC_INIT(0); +static atomic_t done_fail_msgs = ATOMIC_INIT(0); + +/* + * Accelerate incoming packets destined for bridge device + * If a incoming packet is ultimatly destined for + * a bridge device we will first see the packet coming + * from the phyiscal device, we can skip straight to + * processing the packet like it came from the bridge + * for some more performance gains + * + * This only works when the hook is above the bridge. We + * only implement ingress for now, because for egress we + * want to have the bridge devices qdiscs be used. + */ +static bool skip_to_bridge_ingress; + +/* + * fast_classifier_incr_exceptions() + * increase an exception counter. + */ +static inline void fast_classifier_incr_exceptions(fast_classifier_exception_t except) +{ + struct fast_classifier *sc = &__sc; + + spin_lock_bh(&sc->lock); + sc->exceptions[except]++; + spin_unlock_bh(&sc->lock); +} + +/* + * fast_classifier_recv() + * Handle packet receives. + * + * Returns 1 if the packet is forwarded or 0 if it isn't. + */ +int fast_classifier_recv(struct sk_buff *skb) +{ + struct net_device *dev; + struct net_device *master_dev = NULL; + int ret = 0; + + /* + * We know that for the vast majority of packets we need the transport + * layer header so we may as well start to fetch it now! + */ + prefetch(skb->data + 32); + barrier(); + + dev = skb->dev; + + /* + * Process packet like it arrived on the bridge device + */ + if (skip_to_bridge_ingress && + (dev->priv_flags & IFF_BRIDGE_PORT)) { + master_dev = sfe_dev_get_master(dev); + if (!master_dev) { + DEBUG_WARN("master dev is NULL %s\n", dev->name); + goto rx_exit; + } + dev = master_dev; + } + + /* + * We're only interested in IPv4 and IPv6 packets. + */ + if (likely(htons(ETH_P_IP) == skb->protocol)) { + struct in_device *in_dev; + + /* + * Does our input device support IP processing? + */ + in_dev = (struct in_device *)dev->ip_ptr; + if (unlikely(!in_dev)) { + DEBUG_TRACE("no IP processing for device: %s\n", dev->name); + goto rx_exit; + } + + /* + * Does it have an IP address? If it doesn't then we can't do anything + * interesting here! + */ + if (unlikely(!in_dev->ifa_list)) { + DEBUG_TRACE("no IP address for device: %s\n", dev->name); + goto rx_exit; + } + + ret = sfe_ipv4_recv(dev, skb); + + } else if (likely(htons(ETH_P_IPV6) == skb->protocol)) { + struct inet6_dev *in_dev; + + /* + * Does our input device support IPv6 processing? + */ + in_dev = (struct inet6_dev *)dev->ip6_ptr; + if (unlikely(!in_dev)) { + DEBUG_TRACE("no IPv6 processing for device: %s\n", dev->name); + goto rx_exit; + } + + /* + * Does it have an IPv6 address? If it doesn't then we can't do anything + * interesting here! + */ + if (unlikely(list_empty(&in_dev->addr_list))) { + DEBUG_TRACE("no IPv6 address for device: %s\n", dev->name); + goto rx_exit; + } + + ret = sfe_ipv6_recv(dev, skb); + + } else { + DEBUG_TRACE("not IP packet\n"); + } + +rx_exit: + if (master_dev) { + dev_put(master_dev); + } + + return ret; +} + +/* + * fast_classifier_find_dev_and_mac_addr() + * Find the device and MAC address for a given IPv4 address. + * + * Returns true if we find the device and MAC address, otherwise false. + * + * We look up the rtable entry for the address and, from its neighbour + * structure, obtain the hardware address. This means this function also + * works if the neighbours are routers too. + */ +static bool fast_classifier_find_dev_and_mac_addr(struct sk_buff *skb, sfe_ip_addr_t *addr, struct net_device **dev, u8 *mac_addr, bool is_v4) +{ + struct neighbour *neigh; + struct rtable *rt; + struct rt6_info *rt6; + struct dst_entry *dst; + struct net_device *mac_dev; + + /* + * If we have skb provided, use it as the original code is unable + * to lookup routes that are policy routed. + */ + if (unlikely(skb)) { + dst = skb_dst(skb); + goto skip_dst_lookup; + } + + /* + * Look up the rtable entry for the IP address then get the hardware + * address from its neighbour structure. This means this works when the + * neighbours are routers too. + */ + if (likely(is_v4)) { + rt = ip_route_output(&init_net, addr->ip, 0, 0, 0); + if (unlikely(IS_ERR(rt))) { + goto ret_fail; + } + + dst = (struct dst_entry *)rt; + } +#ifdef SFE_SUPPORT_IPV6 + else { +#if (LINUX_VERSION_CODE >= KERNEL_VERSION(4, 17, 0)) + rt6 = rt6_lookup(&init_net, (struct in6_addr *)addr->ip6, 0, 0, NULL, 0); +#else + rt6 = rt6_lookup(&init_net, (struct in6_addr *)addr->ip6, 0, 0, 0); +#endif /*KERNEL_VERSION(4, 17, 0)*/ + if (!rt6) { + goto ret_fail; + } + + dst = (struct dst_entry *)rt6; + } +#endif + +skip_dst_lookup: + rcu_read_lock(); + neigh = sfe_dst_get_neighbour(dst, addr); + if (unlikely(!neigh)) { + rcu_read_unlock(); + if (likely(!skb)) + dst_release(dst); + + goto ret_fail; + } + + if (unlikely(!(neigh->nud_state & NUD_VALID))) { + rcu_read_unlock(); + neigh_release(neigh); + if (likely(!skb)) + dst_release(dst); + + goto ret_fail; + } + + mac_dev = neigh->dev; + if (!mac_dev) { + rcu_read_unlock(); + neigh_release(neigh); + if (likely(!skb)) + dst_release(dst); + + goto ret_fail; + } + + memcpy(mac_addr, neigh->ha, (size_t)mac_dev->addr_len); + + dev_hold(mac_dev); + *dev = mac_dev; + rcu_read_unlock(); + neigh_release(neigh); + if (likely(!skb)) + dst_release(dst); + + return true; + +ret_fail: + if (is_v4) { + DEBUG_TRACE("failed to find MAC address for IP: %pI4\n", addr); + + } else { + DEBUG_TRACE("failed to find MAC address for IP: %pI6\n", addr); + } + + return false; +} + +static DEFINE_SPINLOCK(sfe_connections_lock); + +struct sfe_connection { + struct hlist_node hl; + struct sfe_connection_create *sic; + struct nf_conn *ct; + int hits; + int offload_permit; + int offloaded; + bool is_v4; + unsigned char smac[ETH_ALEN]; + unsigned char dmac[ETH_ALEN]; +}; + +static int sfe_connections_size; + +#define FC_CONN_HASH_ORDER 13 +static DEFINE_HASHTABLE(fc_conn_ht, FC_CONN_HASH_ORDER); + +static u32 fc_conn_hash(sfe_ip_addr_t *saddr, sfe_ip_addr_t *daddr, + unsigned short sport, unsigned short dport, bool is_v4) +{ + u32 idx, cnt = ((is_v4 ? sizeof(saddr->ip) : sizeof(saddr->ip6))/sizeof(u32)); + u32 hash = 0; + + for (idx = 0; idx < cnt; idx++) { + hash ^= ((u32 *)saddr)[idx] ^ ((u32 *)daddr)[idx]; + } + + return hash ^ (sport | (dport << 16)); +} + +/* + * fast_classifier_update_protocol() + * Update sfe_ipv4_create struct with new protocol information before we offload + */ +static int fast_classifier_update_protocol(struct sfe_connection_create *p_sic, struct nf_conn *ct) +{ + #if LINUX_VERSION_CODE >= KERNEL_VERSION(5, 15, 0) + struct net *net=NULL ; + struct nf_tcp_net *tn=NULL; + #endif + switch (p_sic->protocol) { + case IPPROTO_TCP: + p_sic->src_td_window_scale = ct->proto.tcp.seen[0].td_scale; + p_sic->src_td_max_window = ct->proto.tcp.seen[0].td_maxwin; + p_sic->src_td_end = ct->proto.tcp.seen[0].td_end; + p_sic->src_td_max_end = ct->proto.tcp.seen[0].td_maxend; + p_sic->dest_td_window_scale = ct->proto.tcp.seen[1].td_scale; + p_sic->dest_td_max_window = ct->proto.tcp.seen[1].td_maxwin; + p_sic->dest_td_end = ct->proto.tcp.seen[1].td_end; + p_sic->dest_td_max_end = ct->proto.tcp.seen[1].td_maxend; +#if LINUX_VERSION_CODE >= KERNEL_VERSION(5, 15, 0) + net = nf_ct_net(ct); + tn = nf_tcp_pernet(net); + if ((tn&&tn->tcp_no_window_check) +#else + if (nf_ct_tcp_no_window_check +#endif + + || (ct->proto.tcp.seen[0].flags & IP_CT_TCP_FLAG_BE_LIBERAL) + || (ct->proto.tcp.seen[1].flags & IP_CT_TCP_FLAG_BE_LIBERAL)) { + p_sic->flags |= SFE_CREATE_FLAG_NO_SEQ_CHECK; + } + + /* + * If the connection is shutting down do not manage it. + * state can not be SYN_SENT, SYN_RECV because connection is assured + * Not managed states: FIN_WAIT, CLOSE_WAIT, LAST_ACK, TIME_WAIT, CLOSE. + */ + spin_lock(&ct->lock); + if (ct->proto.tcp.state != TCP_CONNTRACK_ESTABLISHED) { + spin_unlock(&ct->lock); + fast_classifier_incr_exceptions(FAST_CL_EXCEPTION_TCP_NOT_ESTABLISHED); + DEBUG_TRACE("connection in termination state: %#x, s: %pI4:%u, d: %pI4:%u\n", + ct->proto.tcp.state, &p_sic->src_ip, ntohs(p_sic->src_port), + &p_sic->dest_ip, ntohs(p_sic->dest_port)); + return 0; + } + spin_unlock(&ct->lock); + break; + + case IPPROTO_UDP: + break; + + default: + fast_classifier_incr_exceptions(FAST_CL_EXCEPTION_UNKNOW_PROTOCOL); + DEBUG_TRACE("unhandled protocol %d\n", p_sic->protocol); + return 0; + } + + return 1; +} + +/* fast_classifier_send_genl_msg() + * Function to send a generic netlink message + */ +static void fast_classifier_send_genl_msg(int msg, struct fast_classifier_tuple *fc_msg) +{ + struct sk_buff *skb; + int rc; + int buf_len; + int total_len; + void *msg_head; + + /* + * Calculate our packet payload size. + * Start with our family header. + */ + buf_len = fast_classifier_gnl_family.hdrsize; + + /* + * Add the nla_total_size of each attribute we're going to nla_put(). + */ + buf_len += nla_total_size(sizeof(*fc_msg)); + + /* + * Lastly we need to add space for the NL message header since + * genlmsg_new only accounts for the GENL header and not the + * outer NL header. To do this, we use a NL helper function which + * calculates the total size of a netlink message given a payload size. + * Note this value does not include the GENL header, but that's + * added automatically by genlmsg_new. + */ + total_len = nlmsg_total_size(buf_len); + skb = genlmsg_new(total_len, GFP_ATOMIC); + if (!skb) + return; + + msg_head = genlmsg_put(skb, 0, 0, &fast_classifier_gnl_family, 0, msg); + if (!msg_head) { + nlmsg_free(skb); + return; + } + + rc = nla_put(skb, FAST_CLASSIFIER_A_TUPLE, sizeof(struct fast_classifier_tuple), fc_msg); + if (rc != 0) { + genlmsg_cancel(skb, msg_head); + nlmsg_free(skb); + return; + } + +#if (LINUX_VERSION_CODE <= KERNEL_VERSION(3, 19 , 0)) + rc = genlmsg_end(skb, msg_head); + if (rc < 0) { + genlmsg_cancel(skb, msg_head); + nlmsg_free(skb); + return; + } +#else + genlmsg_end(skb, msg_head); + +#endif + +#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3, 13, 0)) + rc = genlmsg_multicast(&fast_classifier_gnl_family, skb, 0, 0, GFP_ATOMIC); +#else + rc = genlmsg_multicast(skb, 0, fast_classifier_genl_mcgrp[0].id, GFP_ATOMIC); +#endif + switch (msg) { + case FAST_CLASSIFIER_C_OFFLOADED: + if (rc == 0) { + atomic_inc(&offloaded_msgs); + } else { + atomic_inc(&offloaded_fail_msgs); + } + break; + case FAST_CLASSIFIER_C_DONE: + if (rc == 0) { + atomic_inc(&done_msgs); + } else { + atomic_inc(&done_fail_msgs); + } + break; + default: + DEBUG_ERROR("fast-classifer: Unknown message type sent!\n"); + break; + } + + DEBUG_TRACE("Notify NL message %d ", msg); + if (fc_msg->ethertype == AF_INET) { + DEBUG_TRACE("sip=%pI4 dip=%pI4 ", &fc_msg->src_saddr, &fc_msg->dst_saddr); + } else { + DEBUG_TRACE("sip=%pI6 dip=%pI6 ", &fc_msg->src_saddr, &fc_msg->dst_saddr); + } + DEBUG_TRACE("protocol=%d sport=%d dport=%d smac=%pM dmac=%pM\n", + fc_msg->proto, fc_msg->sport, fc_msg->dport, fc_msg->smac, fc_msg->dmac); +} + +/* + * fast_classifier_find_conn() + * find a connection object in the hash table + * @pre the sfe_connection_lock must be held before calling this function + */ +static struct sfe_connection * +fast_classifier_find_conn(sfe_ip_addr_t *saddr, sfe_ip_addr_t *daddr, + unsigned short sport, unsigned short dport, + unsigned char proto, bool is_v4) +{ + struct sfe_connection_create *p_sic; + struct sfe_connection *conn; + u32 key; +#if (LINUX_VERSION_CODE < KERNEL_VERSION(3, 9, 0)) + struct hlist_node *node; +#endif + + key = fc_conn_hash(saddr, daddr, sport, dport, is_v4); + + sfe_hash_for_each_possible(fc_conn_ht, conn, node, hl, key) { + if (conn->is_v4 != is_v4) { + continue; + } + + p_sic = conn->sic; + + if (p_sic->protocol == proto && + p_sic->src_port == sport && + p_sic->dest_port == dport && + sfe_addr_equal(&p_sic->src_ip, saddr, is_v4) && + sfe_addr_equal(&p_sic->dest_ip, daddr, is_v4)) { + return conn; + } + } + + DEBUG_TRACE("connection not found\n"); + return NULL; +} + +/* + * fast_classifier_sb_find_conn() + * find a connection object in the hash table according to information of packet + * if not found, reverse the tuple and try again. + * @pre the sfe_connection_lock must be held before calling this function + */ +static struct sfe_connection * +fast_classifier_sb_find_conn(sfe_ip_addr_t *saddr, sfe_ip_addr_t *daddr, + unsigned short sport, unsigned short dport, + unsigned char proto, bool is_v4) +{ + struct sfe_connection_create *p_sic; + struct sfe_connection *conn; + u32 key; +#if (LINUX_VERSION_CODE < KERNEL_VERSION(3, 9, 0)) + struct hlist_node *node; +#endif + + key = fc_conn_hash(saddr, daddr, sport, dport, is_v4); + + sfe_hash_for_each_possible(fc_conn_ht, conn, node, hl, key) { + if (conn->is_v4 != is_v4) { + continue; + } + + p_sic = conn->sic; + + if (p_sic->protocol == proto && + p_sic->src_port == sport && + p_sic->dest_port_xlate == dport && + sfe_addr_equal(&p_sic->src_ip, saddr, is_v4) && + sfe_addr_equal(&p_sic->dest_ip_xlate, daddr, is_v4)) { + return conn; + } + } + + /* + * Reverse the tuple and try again + */ + key = fc_conn_hash(daddr, saddr, dport, sport, is_v4); + + sfe_hash_for_each_possible(fc_conn_ht, conn, node, hl, key) { + if (conn->is_v4 != is_v4) { + continue; + } + + p_sic = conn->sic; + + if (p_sic->protocol == proto && + p_sic->src_port == dport && + p_sic->dest_port_xlate == sport && + sfe_addr_equal(&p_sic->src_ip, daddr, is_v4) && + sfe_addr_equal(&p_sic->dest_ip_xlate, saddr, is_v4)) { + return conn; + } + } + + DEBUG_TRACE("connection not found\n"); + return NULL; +} + +/* + * fast_classifier_add_conn() + * add a connection object in the hash table if no duplicate + * @conn connection to add + * @return conn if successful, NULL if duplicate + */ +static struct sfe_connection * +fast_classifier_add_conn(struct sfe_connection *conn) +{ + struct sfe_connection_create *sic = conn->sic; + u32 key; + + spin_lock_bh(&sfe_connections_lock); + if (fast_classifier_find_conn(&sic->src_ip, &sic->dest_ip, sic->src_port, + sic->dest_port, sic->protocol, conn->is_v4)) { + spin_unlock_bh(&sfe_connections_lock); + return NULL; + } + + key = fc_conn_hash(&sic->src_ip, &sic->dest_ip, + sic->src_port, sic->dest_port, conn->is_v4); + + hash_add(fc_conn_ht, &conn->hl, key); + sfe_connections_size++; + spin_unlock_bh(&sfe_connections_lock); + + DEBUG_TRACE(" -> adding item to sfe_connections, new size: %d\n", sfe_connections_size); + + if (conn->is_v4) { + DEBUG_TRACE("new offloadable: key: %u proto: %d src_ip: %pI4 dst_ip: %pI4, src_port: %d, dst_port: %d\n", + key, sic->protocol, &(sic->src_ip), &(sic->dest_ip), sic->src_port, sic->dest_port); + } else { + DEBUG_TRACE("new offloadable: key: %u proto: %d src_ip: %pI6 dst_ip: %pI6, src_port: %d, dst_port: %d\n", + key, sic->protocol, &(sic->src_ip), &(sic->dest_ip), sic->src_port, sic->dest_port); + } + + return conn; +} + +/* + * fast_classifier_offload_genl_msg() + * Called from user space to offload a connection + */ +static int +fast_classifier_offload_genl_msg(struct sk_buff *skb, struct genl_info *info) +{ + struct nlattr *na; + struct fast_classifier_tuple *fc_msg; + struct sfe_connection *conn; + + na = info->attrs[FAST_CLASSIFIER_A_TUPLE]; + fc_msg = nla_data(na); + + if (fc_msg->ethertype == AF_INET) { + DEBUG_TRACE("want to offload: %d-%d, %pI4, %pI4, %d, %d SMAC=%pM DMAC=%pM\n", + fc_msg->ethertype, + fc_msg->proto, + &fc_msg->src_saddr, + &fc_msg->dst_saddr, + fc_msg->sport, + fc_msg->dport, + fc_msg->smac, + fc_msg->dmac); + } else { + DEBUG_TRACE("want to offload: %d-%d, %pI6, %pI6, %d, %d SMAC=%pM DMAC=%pM\n", + fc_msg->ethertype, + fc_msg->proto, + &fc_msg->src_saddr, + &fc_msg->dst_saddr, + fc_msg->sport, + fc_msg->dport, + fc_msg->smac, + fc_msg->dmac); + } + + spin_lock_bh(&sfe_connections_lock); + conn = fast_classifier_sb_find_conn((sfe_ip_addr_t *)&fc_msg->src_saddr, + (sfe_ip_addr_t *)&fc_msg->dst_saddr, + fc_msg->sport, + fc_msg->dport, + fc_msg->proto, + (fc_msg->ethertype == AF_INET)); + if (!conn) { + spin_unlock_bh(&sfe_connections_lock); + DEBUG_TRACE("REQUEST OFFLOAD NO MATCH\n"); + atomic_inc(&offload_no_match_msgs); + return 0; + } + + conn->offload_permit = 1; + spin_unlock_bh(&sfe_connections_lock); + atomic_inc(&offload_msgs); + + DEBUG_TRACE("INFO: calling sfe rule creation!\n"); + return 0; +} + +/* + * fast_classifier_nl_genl_msg_DUMP() + * ignore fast_classifier_messages OFFLOADED and DONE + */ +static int fast_classifier_nl_genl_msg_DUMP(struct sk_buff *skb, + struct netlink_callback *cb) +{ + return 0; +} + +/* auto offload connection once we have this many packets*/ +static int offload_at_pkts = 128; + +/* + * fast_classifier_post_routing() + * Called for packets about to leave the box - either locally generated or forwarded from another interface + */ +static unsigned int fast_classifier_post_routing(struct sk_buff *skb, bool is_v4) +{ + int ret; + struct sfe_connection_create sic; + struct sfe_connection_create *p_sic; + struct net_device *in; + struct nf_conn *ct; + enum ip_conntrack_info ctinfo; + struct net_device *dev; + struct net_device *src_dev; + struct net_device *dest_dev; + struct net_device *src_dev_tmp; + struct net_device *dest_dev_tmp; + struct net_device *src_br_dev = NULL; + struct net_device *dest_br_dev = NULL; + struct nf_conntrack_tuple orig_tuple; + struct nf_conntrack_tuple reply_tuple; + struct sfe_connection *conn; + struct sk_buff *tmp_skb = NULL; + + /* + * Don't process broadcast or multicast packets. + */ + if (unlikely(skb->pkt_type == PACKET_BROADCAST)) { + fast_classifier_incr_exceptions(FAST_CL_EXCEPTION_PACKET_BROADCAST); + DEBUG_TRACE("broadcast, ignoring\n"); + return NF_ACCEPT; + } + if (unlikely(skb->pkt_type == PACKET_MULTICAST)) { + fast_classifier_incr_exceptions(FAST_CL_EXCEPTION_PACKET_MULTICAST); + DEBUG_TRACE("multicast, ignoring\n"); + return NF_ACCEPT; + } + + /* + * Don't process packets that are not being forwarded. + */ + in = dev_get_by_index(&init_net, skb->skb_iif); + if (!in) { + fast_classifier_incr_exceptions(FAST_CL_EXCEPTION_NO_IIF); + DEBUG_TRACE("packet not forwarding\n"); + return NF_ACCEPT; + } + + dev_put(in); + + /* + * Don't process packets that aren't being tracked by conntrack. + */ + ct = nf_ct_get(skb, &ctinfo); + if (unlikely(!ct)) { + fast_classifier_incr_exceptions(FAST_CL_EXCEPTION_NO_CT); + DEBUG_TRACE("no conntrack connection, ignoring\n"); + return NF_ACCEPT; + } + +#if (LINUX_VERSION_CODE < KERNEL_VERSION(4, 12, 0)) + /* + * Don't process untracked connections. + */ + if (unlikely(nf_ct_is_untracked(ct))) { + fast_classifier_incr_exceptions(FAST_CL_EXCEPTION_CT_NO_TRACK); + DEBUG_TRACE("untracked connection\n"); + return NF_ACCEPT; + } +#endif /*KERNEL_VERSION(4, 12, 0)*/ + + /* + * Unconfirmed connection may be dropped by Linux at the final step, + * So we don't process unconfirmed connections. + */ + if (!nf_ct_is_confirmed(ct)) { + fast_classifier_incr_exceptions(FAST_CL_EXCEPTION_CT_NO_CONFIRM); + DEBUG_TRACE("unconfirmed connection\n"); + return NF_ACCEPT; + } + + /* + * Don't process connections that require support from a 'helper' (typically a NAT ALG). + */ + if (unlikely(nfct_help(ct))) { + fast_classifier_incr_exceptions(FAST_CL_EXCEPTION_CT_IS_ALG); + DEBUG_TRACE("connection has helper\n"); + return NF_ACCEPT; + } + + memset(&sic, 0, sizeof(sic)); + + /* + * Look up the details of our connection in conntrack. + * + * Note that the data we get from conntrack is for the "ORIGINAL" direction + * but our packet may actually be in the "REPLY" direction. + */ + orig_tuple = ct->tuplehash[IP_CT_DIR_ORIGINAL].tuple; + reply_tuple = ct->tuplehash[IP_CT_DIR_REPLY].tuple; + sic.protocol = (s32)orig_tuple.dst.protonum; + + sic.flags = 0; + + /* + * Get addressing information, non-NAT first + */ + if (likely(is_v4)) { + u32 dscp; + + sic.src_ip.ip = (__be32)orig_tuple.src.u3.ip; + sic.dest_ip.ip = (__be32)orig_tuple.dst.u3.ip; + + if (ipv4_is_multicast(sic.src_ip.ip) || ipv4_is_multicast(sic.dest_ip.ip)) { + fast_classifier_incr_exceptions(FAST_CL_EXCEPTION_IS_IPV4_MCAST); + DEBUG_TRACE("multicast address\n"); + return NF_ACCEPT; + } + + /* + * NAT'ed addresses - note these are as seen from the 'reply' direction + * When NAT does not apply to this connection these will be identical to the above. + */ + sic.src_ip_xlate.ip = (__be32)reply_tuple.dst.u3.ip; + sic.dest_ip_xlate.ip = (__be32)reply_tuple.src.u3.ip; + + dscp = ipv4_get_dsfield(ip_hdr(skb)) >> XT_DSCP_SHIFT; + if (dscp) { + sic.dest_dscp = dscp; + sic.src_dscp = sic.dest_dscp; + sic.flags |= SFE_CREATE_FLAG_REMARK_DSCP; + } + } else { + u32 dscp; + + sic.src_ip.ip6[0] = *((struct sfe_ipv6_addr *)&orig_tuple.src.u3.in6); + sic.dest_ip.ip6[0] = *((struct sfe_ipv6_addr *)&orig_tuple.dst.u3.in6); + + if (ipv6_addr_is_multicast((struct in6_addr *)sic.src_ip.ip6) || + ipv6_addr_is_multicast((struct in6_addr *)sic.dest_ip.ip6)) { + fast_classifier_incr_exceptions(FAST_CL_EXCEPTION_IS_IPV6_MCAST); + DEBUG_TRACE("multicast address\n"); + return NF_ACCEPT; + } + + /* + * NAT'ed addresses - note these are as seen from the 'reply' direction + * When NAT does not apply to this connection these will be identical to the above. + */ + sic.src_ip_xlate.ip6[0] = *((struct sfe_ipv6_addr *)&reply_tuple.dst.u3.in6); + sic.dest_ip_xlate.ip6[0] = *((struct sfe_ipv6_addr *)&reply_tuple.src.u3.in6); + + dscp = ipv6_get_dsfield(ipv6_hdr(skb)) >> XT_DSCP_SHIFT; + if (dscp) { + sic.dest_dscp = dscp; + sic.src_dscp = sic.dest_dscp; + sic.flags |= SFE_CREATE_FLAG_REMARK_DSCP; + } + } + + switch (sic.protocol) { + case IPPROTO_TCP: + sic.src_port = orig_tuple.src.u.tcp.port; + sic.dest_port = orig_tuple.dst.u.tcp.port; + sic.src_port_xlate = reply_tuple.dst.u.tcp.port; + sic.dest_port_xlate = reply_tuple.src.u.tcp.port; + + /* + * Don't try to manage a non-established connection. + */ + if (!test_bit(IPS_ASSURED_BIT, &ct->status)) { + fast_classifier_incr_exceptions(FAST_CL_EXCEPTION_TCP_NOT_ASSURED); + DEBUG_TRACE("non-established connection\n"); + return NF_ACCEPT; + } + + break; + + case IPPROTO_UDP: + sic.src_port = orig_tuple.src.u.udp.port; + sic.dest_port = orig_tuple.dst.u.udp.port; + sic.src_port_xlate = reply_tuple.dst.u.udp.port; + sic.dest_port_xlate = reply_tuple.src.u.udp.port; + + /* + * Somehow, SFE is not playing nice with IPSec traffic. + * Do not accelerate for now. + */ + if (ntohs(sic.dest_port) == 4500 || ntohs(sic.dest_port) == 500) { + if (likely(is_v4)) + DEBUG_TRACE("quarkysg:: IPsec bypass: %pI4:%d(%pI4:%d) to %pI4:%d(%pI4:%d)\n", + &sic.src_ip.ip, ntohs(sic.src_port), &sic.src_ip_xlate.ip, ntohs(sic.src_port_xlate), + &sic.dest_ip.ip, ntohs(sic.dest_port), &sic.dest_ip_xlate.ip, ntohs(sic.dest_port_xlate)); + else + DEBUG_TRACE("quarkysg:: IPsec bypass: %pI6:%d to %pI6:%d\n", + &sic.src_ip.ip6, ntohs(sic.src_port), &sic.dest_ip.ip6, ntohs(sic.dest_port)); + return NF_ACCEPT; + } + break; + + default: + fast_classifier_incr_exceptions(FAST_CL_EXCEPTION_UNKNOW_PROTOCOL); + DEBUG_TRACE("unhandled protocol %d\n", sic.protocol); + return NF_ACCEPT; + } + +#ifdef CONFIG_XFRM + sic.original_accel = 1; + sic.reply_accel = 1; +#endif + + /* + * Get QoS information + */ + if (skb->priority) { + sic.dest_priority = skb->priority; + sic.src_priority = sic.dest_priority; + sic.flags |= SFE_CREATE_FLAG_REMARK_PRIORITY; + } + + if (is_v4) { + DEBUG_TRACE("POST_ROUTE: checking new connection: %d src_ip: %pI4 dst_ip: %pI4, src_port: %d, dst_port: %d\n", + sic.protocol, &sic.src_ip, &sic.dest_ip, sic.src_port, sic.dest_port); + } else { + DEBUG_TRACE("POST_ROUTE: checking new connection: %d src_ip: %pI6 dst_ip: %pI6, src_port: %d, dst_port: %d\n", + sic.protocol, &sic.src_ip, &sic.dest_ip, sic.src_port, sic.dest_port); + } + + /* + * If we already have this connection in our list, skip it + * XXX: this may need to be optimized + */ + spin_lock_bh(&sfe_connections_lock); + + conn = fast_classifier_find_conn(&sic.src_ip, &sic.dest_ip, sic.src_port, sic.dest_port, sic.protocol, is_v4); + if (conn) { + conn->hits++; + + if (!conn->offloaded) { + if (conn->offload_permit || conn->hits >= offload_at_pkts) { + DEBUG_TRACE("OFFLOADING CONNECTION, TOO MANY HITS\n"); + + if (fast_classifier_update_protocol(conn->sic, conn->ct) == 0) { + spin_unlock_bh(&sfe_connections_lock); + fast_classifier_incr_exceptions(FAST_CL_EXCEPTION_UPDATE_PROTOCOL_FAIL); + DEBUG_TRACE("UNKNOWN PROTOCOL OR CONNECTION CLOSING, SKIPPING\n"); + return NF_ACCEPT; + } + + DEBUG_TRACE("INFO: calling sfe rule creation!\n"); + spin_unlock_bh(&sfe_connections_lock); + + ret = is_v4 ? sfe_ipv4_create_rule(conn->sic) : sfe_ipv6_create_rule(conn->sic); + if ((ret == 0) || (ret == -EADDRINUSE)) { + struct fast_classifier_tuple fc_msg; + + if (is_v4) { + fc_msg.ethertype = AF_INET; + fc_msg.src_saddr.in = *((struct in_addr *)&sic.src_ip); + fc_msg.dst_saddr.in = *((struct in_addr *)&sic.dest_ip_xlate); + } else { + fc_msg.ethertype = AF_INET6; + fc_msg.src_saddr.in6 = *((struct in6_addr *)&sic.src_ip); + fc_msg.dst_saddr.in6 = *((struct in6_addr *)&sic.dest_ip_xlate); + } + + fc_msg.proto = sic.protocol; + fc_msg.sport = sic.src_port; + fc_msg.dport = sic.dest_port_xlate; + memcpy(fc_msg.smac, conn->smac, ETH_ALEN); + memcpy(fc_msg.dmac, conn->dmac, ETH_ALEN); + fast_classifier_send_genl_msg(FAST_CLASSIFIER_C_OFFLOADED, &fc_msg); + conn->offloaded = 1; + } + + return NF_ACCEPT; + } + } + + spin_unlock_bh(&sfe_connections_lock); + if (conn->offloaded) { + is_v4 ? sfe_ipv4_update_rule(conn->sic) : sfe_ipv6_update_rule(conn->sic); + } + + DEBUG_TRACE("FOUND, SKIPPING\n"); + fast_classifier_incr_exceptions(FAST_CL_EXCEPTION_WAIT_FOR_ACCELERATION); + return NF_ACCEPT; + } + + spin_unlock_bh(&sfe_connections_lock); + + /* + * Get the net device and MAC addresses that correspond to the various source and + * destination host addresses. + */ + if (!fast_classifier_find_dev_and_mac_addr(NULL, &sic.src_ip, &src_dev_tmp, sic.src_mac, is_v4)) { + fast_classifier_incr_exceptions(FAST_CL_EXCEPTION_NO_SRC_DEV); + return NF_ACCEPT; + } + src_dev = src_dev_tmp; + + if (!fast_classifier_find_dev_and_mac_addr(NULL, &sic.src_ip_xlate, &dev, sic.src_mac_xlate, is_v4)) { + fast_classifier_incr_exceptions(FAST_CL_EXCEPTION_NO_SRC_XLATE_DEV); + goto done1; + } + dev_put(dev); + + if (unlikely(!is_v4)) + tmp_skb = skb; + + if (!fast_classifier_find_dev_and_mac_addr(tmp_skb, &sic.dest_ip, &dev, sic.dest_mac, is_v4)) { + fast_classifier_incr_exceptions(FAST_CL_EXCEPTION_NO_DEST_DEV); + goto done1; + } + dev_put(dev); + + if (!fast_classifier_find_dev_and_mac_addr(skb, &sic.dest_ip_xlate, &dest_dev_tmp, sic.dest_mac_xlate, is_v4)) { + fast_classifier_incr_exceptions(FAST_CL_EXCEPTION_NO_DEST_XLATE_DEV); + goto done1; + } + dest_dev = dest_dev_tmp; + + /* + * Our devices may actually be part of a bridge interface. If that's + * the case then find the bridge interface instead. + */ + if (src_dev->priv_flags & IFF_BRIDGE_PORT) { + src_br_dev = sfe_dev_get_master(src_dev); + if (!src_br_dev) { + fast_classifier_incr_exceptions(FAST_CL_EXCEPTION_NO_BRIDGE); + DEBUG_TRACE("no bridge found for: %s\n", src_dev->name); + goto done2; + } + src_dev = src_br_dev; + } + + if (dest_dev->priv_flags & IFF_BRIDGE_PORT) { + dest_br_dev = sfe_dev_get_master(dest_dev); + if (!dest_br_dev) { + fast_classifier_incr_exceptions(FAST_CL_EXCEPTION_NO_BRIDGE); + DEBUG_TRACE("no bridge found for: %s\n", dest_dev->name); + goto done3; + } + dest_dev = dest_br_dev; + } + + sic.src_dev = src_dev; + sic.dest_dev = dest_dev; + + sic.src_mtu = src_dev->mtu; + sic.dest_mtu = dest_dev->mtu; + + if (skb->mark) { + DEBUG_TRACE("SKB MARK NON ZERO %x\n", skb->mark); + } + sic.mark = skb->mark; + + conn = kmalloc(sizeof(*conn), GFP_ATOMIC); + if (!conn) { + printk(KERN_CRIT "ERROR: no memory for sfe\n"); + goto done4; + } + conn->hits = 0; + conn->offload_permit = 0; + conn->offloaded = 0; + conn->is_v4 = is_v4; + DEBUG_TRACE("Source MAC=%pM\n", sic.src_mac); + memcpy(conn->smac, sic.src_mac, ETH_ALEN); + memcpy(conn->dmac, sic.dest_mac_xlate, ETH_ALEN); + + p_sic = kmalloc(sizeof(*p_sic), GFP_ATOMIC); + if (!p_sic) { + printk(KERN_CRIT "ERROR: no memory for sfe\n"); + kfree(conn); + goto done4; + } + + memcpy(p_sic, &sic, sizeof(sic)); + conn->sic = p_sic; + conn->ct = ct; + + if (!fast_classifier_add_conn(conn)) { + kfree(conn->sic); + kfree(conn); + } + + /* + * If we had bridge ports then release them too. + */ +done4: + if (dest_br_dev) { + dev_put(dest_br_dev); + } +done3: + if (src_br_dev) { + dev_put(src_br_dev); + } +done2: + dev_put(dest_dev_tmp); +done1: + dev_put(src_dev_tmp); + + return NF_ACCEPT; +} + +/* + * fast_classifier_ipv4_post_routing_hook() + * Called for packets about to leave the box - either locally generated or forwarded from another interface + */ +fast_classifier_ipv4_post_routing_hook(hooknum, ops, skb, in_unused, out, okfn) +{ + return fast_classifier_post_routing(skb, true); +} + +/* + * fast_classifier_ipv6_post_routing_hook() + * Called for packets about to leave the box - either locally generated or forwarded from another interface + */ +fast_classifier_ipv6_post_routing_hook(hooknum, ops, skb, in_unused, out, okfn) +{ + return fast_classifier_post_routing(skb, false); +} + +/* + * fast_classifier_update_mark() + * updates the mark for a fast-classifier connection + */ +static void fast_classifier_update_mark(struct sfe_connection_mark *mark, bool is_v4) +{ + struct sfe_connection *conn; + + spin_lock_bh(&sfe_connections_lock); + + conn = fast_classifier_find_conn(&mark->src_ip, &mark->dest_ip, + mark->src_port, mark->dest_port, + mark->protocol, is_v4); + if (conn) { + conn->sic->mark = mark->mark; + } + + spin_unlock_bh(&sfe_connections_lock); +} + +#ifdef CONFIG_NF_CONNTRACK_EVENTS +/* + * fast_classifier_conntrack_event() + * Callback event invoked when a conntrack connection's state changes. + */ +#ifdef CONFIG_NF_CONNTRACK_CHAIN_EVENTS +static int fast_classifier_conntrack_event(struct notifier_block *this, + unsigned long events, void *ptr) +#else +static int fast_classifier_conntrack_event(unsigned int events, struct nf_ct_event *item) +#endif +{ +#ifdef CONFIG_NF_CONNTRACK_CHAIN_EVENTS + struct nf_ct_event *item = ptr; +#endif + struct sfe_connection_destroy sid; + struct nf_conn *ct = item->ct; + struct nf_conntrack_tuple orig_tuple; + struct sfe_connection *conn; + struct fast_classifier_tuple fc_msg; + int offloaded = 0; + bool is_v4; + + /* + * If we don't have a conntrack entry then we're done. + */ + if (unlikely(!ct)) { + DEBUG_WARN("no ct in conntrack event callback\n"); + return NOTIFY_DONE; + } + +#if (LINUX_VERSION_CODE < KERNEL_VERSION(4, 12, 0)) + /* + * If this is an untracked connection then we can't have any state either. + */ + if (unlikely(nf_ct_is_untracked(ct))) { + DEBUG_TRACE("ignoring untracked conn\n"); + return NOTIFY_DONE; + } +#endif /*KERNEL_VERSION(4, 12, 0)*/ + + orig_tuple = ct->tuplehash[IP_CT_DIR_ORIGINAL].tuple; + sid.protocol = (s32)orig_tuple.dst.protonum; + + /* + * Extract information from the conntrack connection. We're only interested + * in nominal connection information (i.e. we're ignoring any NAT information). + */ + if (likely(nf_ct_l3num(ct) == AF_INET)) { + sid.src_ip.ip = (__be32)orig_tuple.src.u3.ip; + sid.dest_ip.ip = (__be32)orig_tuple.dst.u3.ip; + is_v4 = true; + } else if (likely(nf_ct_l3num(ct) == AF_INET6)) { + sid.src_ip.ip6[0] = *((struct sfe_ipv6_addr *)&orig_tuple.src.u3.in6); + sid.dest_ip.ip6[0] = *((struct sfe_ipv6_addr *)&orig_tuple.dst.u3.in6); + is_v4 = false; + } else { + DEBUG_TRACE("ignoring non-IPv4 and non-IPv6 connection\n"); + return NOTIFY_DONE; + } + + switch (sid.protocol) { + case IPPROTO_TCP: + sid.src_port = orig_tuple.src.u.tcp.port; + sid.dest_port = orig_tuple.dst.u.tcp.port; + break; + + case IPPROTO_UDP: + sid.src_port = orig_tuple.src.u.udp.port; + sid.dest_port = orig_tuple.dst.u.udp.port; + break; + + default: + DEBUG_TRACE("unhandled protocol: %d\n", sid.protocol); + return NOTIFY_DONE; + } + + /* + * Check for an updated mark + */ + if ((events & (1 << IPCT_MARK)) && (ct->mark != 0)) { + struct sfe_connection_mark mark; + + mark.protocol = sid.protocol; + mark.src_ip = sid.src_ip; + mark.dest_ip = sid.dest_ip; + mark.src_port = sid.src_port; + mark.dest_port = sid.dest_port; + mark.mark = ct->mark; + + is_v4 ? sfe_ipv4_mark_rule(&mark) : sfe_ipv6_mark_rule(&mark); + fast_classifier_update_mark(&mark, is_v4); + } + + /* + * We're only interested in destroy events at this point + */ + if (unlikely(!(events & (1 << IPCT_DESTROY)))) { + DEBUG_TRACE("ignoring non-destroy event\n"); + return NOTIFY_DONE; + } + + if (is_v4) { + DEBUG_TRACE("Try to clean up: proto: %d src_ip: %pI4 dst_ip: %pI4, src_port: %d, dst_port: %d\n", + sid.protocol, &sid.src_ip, &sid.dest_ip, ntohs(sid.src_port), ntohs(sid.dest_port)); + } else { + DEBUG_TRACE("Try to clean up: proto: %d src_ip: %pI6 dst_ip: %pI6, src_port: %d, dst_port: %d\n", + sid.protocol, &sid.src_ip, &sid.dest_ip, ntohs(sid.src_port), ntohs(sid.dest_port)); + } + + spin_lock_bh(&sfe_connections_lock); + + conn = fast_classifier_find_conn(&sid.src_ip, &sid.dest_ip, sid.src_port, sid.dest_port, sid.protocol, is_v4); + if (conn && conn->offloaded) { + if (is_v4) { + fc_msg.ethertype = AF_INET; + fc_msg.src_saddr.in = *((struct in_addr *)&conn->sic->src_ip); + fc_msg.dst_saddr.in = *((struct in_addr *)&conn->sic->dest_ip_xlate); + } else { + fc_msg.ethertype = AF_INET6; + fc_msg.src_saddr.in6 = *((struct in6_addr *)&conn->sic->src_ip); + fc_msg.dst_saddr.in6 = *((struct in6_addr *)&conn->sic->dest_ip_xlate); + } + + fc_msg.proto = conn->sic->protocol; + fc_msg.sport = conn->sic->src_port; + fc_msg.dport = conn->sic->dest_port_xlate; + memcpy(fc_msg.smac, conn->smac, ETH_ALEN); + memcpy(fc_msg.dmac, conn->dmac, ETH_ALEN); + offloaded = 1; + } + + if (conn) { + DEBUG_TRACE("Free connection\n"); + + hash_del(&conn->hl); + sfe_connections_size--; + kfree(conn->sic); + kfree(conn); + } else { + fast_classifier_incr_exceptions(FAST_CL_EXCEPTION_CT_DESTROY_MISS); + } + + spin_unlock_bh(&sfe_connections_lock); + + is_v4 ? sfe_ipv4_destroy_rule(&sid) : sfe_ipv6_destroy_rule(&sid); + + if (offloaded) { + fast_classifier_send_genl_msg(FAST_CLASSIFIER_C_DONE, &fc_msg); + } + + return NOTIFY_DONE; +} + +/* + * Netfilter conntrack event system to monitor connection tracking changes + */ +#ifdef CONFIG_NF_CONNTRACK_CHAIN_EVENTS +static struct notifier_block fast_classifier_conntrack_notifier = { + .notifier_call = fast_classifier_conntrack_event, +}; +#else +static struct nf_ct_event_notifier fast_classifier_conntrack_notifier = { + .fcn = fast_classifier_conntrack_event, +}; +#endif +#endif + +/* + * Structure to establish a hook into the post routing netfilter point - this + * will pick up local outbound and packets going from one interface to another. + * + * Note: see include/linux/netfilter_ipv4.h for info related to priority levels. + * We want to examine packets after NAT translation and any ALG processing. + */ +static struct nf_hook_ops fast_classifier_ops_post_routing[] __read_mostly = { + SFE_IPV4_NF_POST_ROUTING_HOOK(__fast_classifier_ipv4_post_routing_hook), + SFE_IPV6_NF_POST_ROUTING_HOOK(__fast_classifier_ipv6_post_routing_hook), +}; + +/* + * fast_classifier_sync_rule() + * Synchronize a connection's state. + */ +static void fast_classifier_sync_rule(struct sfe_connection_sync *sis) +{ + struct nf_conntrack_tuple_hash *h; + struct nf_conntrack_tuple tuple; + struct nf_conn *ct; + SFE_NF_CONN_ACCT(acct); + + /* + * Create a tuple so as to be able to look up a connection + */ + memset(&tuple, 0, sizeof(tuple)); + tuple.src.u.all = (__be16)sis->src_port; + tuple.dst.dir = IP_CT_DIR_ORIGINAL; + tuple.dst.protonum = (u8)sis->protocol; + tuple.dst.u.all = (__be16)sis->dest_port; + + if (sis->is_v6) { + tuple.src.u3.in6 = *((struct in6_addr *)sis->src_ip.ip6); + tuple.dst.u3.in6 = *((struct in6_addr *)sis->dest_ip.ip6); + tuple.src.l3num = AF_INET6; + + DEBUG_TRACE("update connection - p: %d, s: %pI6:%u, d: %pI6:%u\n", + (int)tuple.dst.protonum, + &tuple.src.u3.in6, (unsigned int)ntohs(tuple.src.u.all), + &tuple.dst.u3.in6, (unsigned int)ntohs(tuple.dst.u.all)); + } else { + tuple.src.u3.ip = sis->src_ip.ip; + tuple.dst.u3.ip = sis->dest_ip.ip; + tuple.src.l3num = AF_INET; + + DEBUG_TRACE("update connection - p: %d, s: %pI4:%u, d: %pI4:%u\n", + (int)tuple.dst.protonum, + &tuple.src.u3.ip, (unsigned int)ntohs(tuple.src.u.all), + &tuple.dst.u3.ip, (unsigned int)ntohs(tuple.dst.u.all)); + } + + /* + * Update packet count for ingress on bridge device + */ + if (skip_to_bridge_ingress) { + struct rtnl_link_stats64 nlstats; + nlstats.tx_packets = 0; + nlstats.tx_bytes = 0; + + if (sis->src_dev && IFF_EBRIDGE && + (sis->src_new_packet_count || sis->src_new_byte_count)) { + nlstats.rx_packets = sis->src_new_packet_count; + nlstats.rx_bytes = sis->src_new_byte_count; + spin_lock_bh(&sfe_connections_lock); + br_dev_update_stats(sis->src_dev, &nlstats); + spin_unlock_bh(&sfe_connections_lock); + } + if (sis->dest_dev && IFF_EBRIDGE && + (sis->dest_new_packet_count || sis->dest_new_byte_count)) { + nlstats.rx_packets = sis->dest_new_packet_count; + nlstats.rx_bytes = sis->dest_new_byte_count; + spin_lock_bh(&sfe_connections_lock); + br_dev_update_stats(sis->dest_dev, &nlstats); + spin_unlock_bh(&sfe_connections_lock); + } + } + + /* + * Look up conntrack connection + */ + h = nf_conntrack_find_get(&init_net, SFE_NF_CT_DEFAULT_ZONE, &tuple); + if (unlikely(!h)) { + DEBUG_TRACE("no connection found\n"); + return; + } + + ct = nf_ct_tuplehash_to_ctrack(h); +#if (LINUX_VERSION_CODE < KERNEL_VERSION(4, 9, 0)) + NF_CT_ASSERT(ct->timeout.data == (unsigned long)ct); +#endif /*KERNEL_VERSION(4, 9, 0)*/ + + /* + * Only update if this is not a fixed timeout + */ + if (!test_bit(IPS_FIXED_TIMEOUT_BIT, &ct->status)) { + spin_lock_bh(&ct->lock); +#if (LINUX_VERSION_CODE >= KERNEL_VERSION(4, 9, 0)) + ct->timeout += sis->delta_jiffies; +#else + ct->timeout.expires += sis->delta_jiffies; +#endif /*KERNEL_VERSION(4, 9, 0)*/ + spin_unlock_bh(&ct->lock); + } + + acct = nf_conn_acct_find(ct); + if (acct) { + spin_lock_bh(&ct->lock); + atomic64_add(sis->src_new_packet_count, &SFE_ACCT_COUNTER(acct)[IP_CT_DIR_ORIGINAL].packets); + atomic64_add(sis->src_new_byte_count, &SFE_ACCT_COUNTER(acct)[IP_CT_DIR_ORIGINAL].bytes); + atomic64_add(sis->dest_new_packet_count, &SFE_ACCT_COUNTER(acct)[IP_CT_DIR_REPLY].packets); + atomic64_add(sis->dest_new_byte_count, &SFE_ACCT_COUNTER(acct)[IP_CT_DIR_REPLY].bytes); + spin_unlock_bh(&ct->lock); + } + + switch (sis->protocol) { + case IPPROTO_TCP: + spin_lock_bh(&ct->lock); + if (ct->proto.tcp.seen[0].td_maxwin < sis->src_td_max_window) { + ct->proto.tcp.seen[0].td_maxwin = sis->src_td_max_window; + } + if ((s32)(ct->proto.tcp.seen[0].td_end - sis->src_td_end) < 0) { + ct->proto.tcp.seen[0].td_end = sis->src_td_end; + } + if ((s32)(ct->proto.tcp.seen[0].td_maxend - sis->src_td_max_end) < 0) { + ct->proto.tcp.seen[0].td_maxend = sis->src_td_max_end; + } + if (ct->proto.tcp.seen[1].td_maxwin < sis->dest_td_max_window) { + ct->proto.tcp.seen[1].td_maxwin = sis->dest_td_max_window; + } + if ((s32)(ct->proto.tcp.seen[1].td_end - sis->dest_td_end) < 0) { + ct->proto.tcp.seen[1].td_end = sis->dest_td_end; + } + if ((s32)(ct->proto.tcp.seen[1].td_maxend - sis->dest_td_max_end) < 0) { + ct->proto.tcp.seen[1].td_maxend = sis->dest_td_max_end; + } + spin_unlock_bh(&ct->lock); + break; + } + + /* + * Release connection + */ + nf_ct_put(ct); +} + +/* + * fast_classifier_device_event() + */ +static int fast_classifier_device_event(struct notifier_block *this, unsigned long event, void *ptr) +{ + struct net_device *dev = SFE_DEV_EVENT_PTR(ptr); + + if (dev && (event == NETDEV_DOWN)) { + sfe_ipv4_destroy_all_rules_for_dev(dev); + sfe_ipv6_destroy_all_rules_for_dev(dev); + } + + return NOTIFY_DONE; +} + +/* + * fast_classifier_inet_event() + */ +static int fast_classifier_inet_event(struct notifier_block *this, unsigned long event, void *ptr) +{ + struct net_device *dev = ((struct in_ifaddr *)ptr)->ifa_dev->dev; + + if (dev && (event == NETDEV_DOWN)) { + sfe_ipv4_destroy_all_rules_for_dev(dev); + } + + return NOTIFY_DONE; +} + +/* + * fast_classifier_inet6_event() + */ +static int fast_classifier_inet6_event(struct notifier_block *this, unsigned long event, void *ptr) +{ + struct net_device *dev = ((struct inet6_ifaddr *)ptr)->idev->dev; + + if (dev && (event == NETDEV_DOWN)) { + sfe_ipv6_destroy_all_rules_for_dev(dev); + } + + return NOTIFY_DONE; +} + +/* + * fast_classifier_get_offload_at_pkts() + */ +static ssize_t fast_classifier_get_offload_at_pkts(struct device *dev, + struct device_attribute *attr, + char *buf) +{ + return snprintf(buf, (ssize_t)PAGE_SIZE, "%d\n", offload_at_pkts); +} + +/* + * fast_classifier_set_offload_at_pkts() + */ +static ssize_t fast_classifier_set_offload_at_pkts(struct device *dev, + struct device_attribute *attr, + const char *buf, size_t size) +{ + long new; + int ret; + + ret = kstrtol(buf, 0, &new); + if (ret == -EINVAL || ((int)new != new)) + return -EINVAL; + + offload_at_pkts = new; + + return size; +} + +/* + * fast_classifier_get_debug_info() + */ +static ssize_t fast_classifier_get_debug_info(struct device *dev, + struct device_attribute *attr, + char *buf) +{ + size_t len = 0; + struct sfe_connection *conn; + u32 i; +#if (LINUX_VERSION_CODE < KERNEL_VERSION(3, 9, 0)) + struct hlist_node *node; +#endif + + spin_lock_bh(&sfe_connections_lock); + len += scnprintf(buf, PAGE_SIZE - len, "size=%d offload=%d offload_no_match=%d" + " offloaded=%d done=%d offloaded_fail=%d done_fail=%d\n", + sfe_connections_size, + atomic_read(&offload_msgs), + atomic_read(&offload_no_match_msgs), + atomic_read(&offloaded_msgs), + atomic_read(&done_msgs), + atomic_read(&offloaded_fail_msgs), + atomic_read(&done_fail_msgs)); + sfe_hash_for_each(fc_conn_ht, i, node, conn, hl) { + len += scnprintf(buf + len, PAGE_SIZE - len, + (conn->is_v4 ? "o=%d, p=%d [%pM]:%pI4:%u %pI4:%u:[%pM] m=%08x h=%d\n" : "o=%d, p=%d [%pM]:%pI6:%u %pI6:%u:[%pM] m=%08x h=%d\n"), + conn->offloaded, + conn->sic->protocol, + conn->sic->src_mac, + &conn->sic->src_ip, + ntohs(conn->sic->src_port), + &conn->sic->dest_ip, + ntohs(conn->sic->dest_port), + conn->sic->dest_mac_xlate, + conn->sic->mark, + conn->hits); + } + spin_unlock_bh(&sfe_connections_lock); + + return len; +} + +/* + * fast_classifier_get_skip_bridge_ingress() + */ +static ssize_t fast_classifier_get_skip_bridge_ingress(struct device *dev, + struct device_attribute *attr, + char *buf) +{ + return snprintf(buf, (ssize_t)PAGE_SIZE, "%d\n", skip_to_bridge_ingress); +} + +/* + * fast_classifier_set_skip_bridge_ingress() + */ +static ssize_t fast_classifier_set_skip_bridge_ingress(struct device *dev, + struct device_attribute *attr, + const char *buf, size_t size) +{ + long new; + int ret; + + ret = kstrtol(buf, 0, &new); + if (ret == -EINVAL || ((int)new != new)) + return -EINVAL; + + skip_to_bridge_ingress = new ? 1 : 0; + + return size; +} + +/* + * fast_classifier_get_exceptions + * dump exception counters + */ +static ssize_t fast_classifier_get_exceptions(struct device *dev, + struct device_attribute *attr, + char *buf) +{ + int idx, len; + struct fast_classifier *sc = &__sc; + + spin_lock_bh(&sc->lock); + for (len = 0, idx = 0; idx < FAST_CL_EXCEPTION_MAX; idx++) { + if (sc->exceptions[idx]) { + len += snprintf(buf + len, (ssize_t)(PAGE_SIZE - len), "%s = %d\n", fast_classifier_exception_events_string[idx], sc->exceptions[idx]); + } + } + spin_unlock_bh(&sc->lock); + + return len; +} + +/* + * sysfs attributes. + */ +static const struct device_attribute fast_classifier_offload_at_pkts_attr = + __ATTR(offload_at_pkts, S_IWUSR | S_IRUGO, fast_classifier_get_offload_at_pkts, fast_classifier_set_offload_at_pkts); +static const struct device_attribute fast_classifier_debug_info_attr = + __ATTR(debug_info, S_IRUGO, fast_classifier_get_debug_info, NULL); +static const struct device_attribute fast_classifier_skip_bridge_ingress = + __ATTR(skip_to_bridge_ingress, S_IWUSR | S_IRUGO, fast_classifier_get_skip_bridge_ingress, fast_classifier_set_skip_bridge_ingress); +static const struct device_attribute fast_classifier_exceptions_attr = + __ATTR(exceptions, S_IRUGO, fast_classifier_get_exceptions, NULL); + +/* + * fast_classifier_init() + */ +static int __init fast_classifier_init(void) +{ + struct fast_classifier *sc = &__sc; + int result = -1; +#ifdef CONFIG_SFE_ECM + int (*fast_recv)(struct sk_buff *skb); +#endif + + printk(KERN_ALERT "fast-classifier: starting up\n"); + DEBUG_INFO("SFE CM init\n"); + + hash_init(fc_conn_ht); + + /* + * Create sys/fast_classifier + */ + sc->sys_fast_classifier = kobject_create_and_add("fast_classifier", NULL); + if (!sc->sys_fast_classifier) { + DEBUG_ERROR("failed to register fast_classifier\n"); + goto exit1; + } + + result = sysfs_create_file(sc->sys_fast_classifier, &fast_classifier_offload_at_pkts_attr.attr); + if (result) { + DEBUG_ERROR("failed to register offload at pkgs: %d\n", result); + goto exit2; + } + + result = sysfs_create_file(sc->sys_fast_classifier, &fast_classifier_debug_info_attr.attr); + if (result) { + DEBUG_ERROR("failed to register debug dev: %d\n", result); + sysfs_remove_file(sc->sys_fast_classifier, &fast_classifier_offload_at_pkts_attr.attr); + goto exit2; + } + + result = sysfs_create_file(sc->sys_fast_classifier, &fast_classifier_skip_bridge_ingress.attr); + if (result) { + DEBUG_ERROR("failed to register skip bridge on ingress: %d\n", result); + sysfs_remove_file(sc->sys_fast_classifier, &fast_classifier_offload_at_pkts_attr.attr); + sysfs_remove_file(sc->sys_fast_classifier, &fast_classifier_debug_info_attr.attr); + goto exit2; + } + + result = sysfs_create_file(sc->sys_fast_classifier, &fast_classifier_exceptions_attr.attr); + if (result) { + DEBUG_ERROR("failed to register exceptions file: %d\n", result); + sysfs_remove_file(sc->sys_fast_classifier, &fast_classifier_offload_at_pkts_attr.attr); + sysfs_remove_file(sc->sys_fast_classifier, &fast_classifier_debug_info_attr.attr); + sysfs_remove_file(sc->sys_fast_classifier, &fast_classifier_skip_bridge_ingress.attr); + goto exit2; + } + + sc->dev_notifier.notifier_call = fast_classifier_device_event; + sc->dev_notifier.priority = 1; + register_netdevice_notifier(&sc->dev_notifier); + + sc->inet_notifier.notifier_call = fast_classifier_inet_event; + sc->inet_notifier.priority = 1; + register_inetaddr_notifier(&sc->inet_notifier); + + sc->inet6_notifier.notifier_call = fast_classifier_inet6_event; + sc->inet6_notifier.priority = 1; + register_inet6addr_notifier(&sc->inet6_notifier); + + /* + * Register our netfilter hooks. + */ + result = nf_register_net_hooks(&init_net, fast_classifier_ops_post_routing, ARRAY_SIZE(fast_classifier_ops_post_routing)); + if (result < 0) { + DEBUG_ERROR("can't register nf post routing hook: %d\n", result); + goto exit3; + } + +#ifdef CONFIG_NF_CONNTRACK_EVENTS + /* + * Register a notifier hook to get fast notifications of expired connections. + */ +#ifdef CONFIG_NF_CONNTRACK_CHAIN_EVENTS + result = nf_conntrack_register_chain_notifier(&init_net, &fast_classifier_conntrack_notifier); +#else + result = nf_conntrack_register_notifier(&init_net, &fast_classifier_conntrack_notifier); +#endif + if (result < 0) { + DEBUG_ERROR("can't register nf notifier hook: %d\n", result); + goto exit4; + } +#endif + + +#if (LINUX_VERSION_CODE >= KERNEL_VERSION(4, 10, 0)) + result = genl_register_family(&fast_classifier_gnl_family); + if (result) { + DEBUG_ERROR("failed to register genl family: %d\n", result); + goto exit5; + } +#elif (LINUX_VERSION_CODE >= KERNEL_VERSION(3, 13, 0)) + result = genl_register_family_with_ops_groups(&fast_classifier_gnl_family, + fast_classifier_gnl_ops, + fast_classifier_genl_mcgrp); + if (result) { + DEBUG_ERROR("failed to register genl ops: %d\n", result); + goto exit5; + } +#else + result = genl_register_family(&fast_classifier_gnl_family); + if (result) { + printk(KERN_CRIT "unable to register genl family\n"); + goto exit5; + } + + result = genl_register_ops(&fast_classifier_gnl_family, fast_classifier_gnl_ops); + if (result) { + printk(KERN_CRIT "unable to register ops\n"); + goto exit6; + } + + result = genl_register_mc_group(&fast_classifier_gnl_family, + fast_classifier_genl_mcgrp); + if (result) { + printk(KERN_CRIT "unable to register multicast group\n"); + goto exit6; + } +#endif + + printk(KERN_ALERT "fast-classifier: registered\n"); + + spin_lock_init(&sc->lock); + + /* + * Hook the receive path in the network stack. + */ +#ifdef CONFIG_SFE_ECM + rcu_read_lock(); + fast_recv = rcu_dereference(athrs_fast_nat_recv); + rcu_read_unlock(); + if (!fast_recv) { + BUG_ON(athrs_fast_nat_recv); + } +#else + BUG_ON(athrs_fast_nat_recv); +#endif + RCU_INIT_POINTER(athrs_fast_nat_recv, fast_classifier_recv); + + /* + * Hook the shortcut sync callback. + */ + sfe_ipv4_register_sync_rule_callback(fast_classifier_sync_rule); + sfe_ipv6_register_sync_rule_callback(fast_classifier_sync_rule); + return 0; + +#if (LINUX_VERSION_CODE < KERNEL_VERSION(3, 13, 0)) +exit6: + genl_unregister_family(&fast_classifier_gnl_family); +#endif + +exit5: +#ifdef CONFIG_NF_CONNTRACK_EVENTS +#ifdef CONFIG_NF_CONNTRACK_CHAIN_EVENTS + nf_conntrack_unregister_chain_notifier(&init_net, &fast_classifier_conntrack_notifier); +#else + nf_conntrack_unregister_notifier(&init_net, &fast_classifier_conntrack_notifier); +#endif + +exit4: +#endif + nf_unregister_net_hooks(&init_net, fast_classifier_ops_post_routing, ARRAY_SIZE(fast_classifier_ops_post_routing)); + +exit3: + unregister_inetaddr_notifier(&sc->inet_notifier); + unregister_inet6addr_notifier(&sc->inet6_notifier); + unregister_netdevice_notifier(&sc->dev_notifier); + sysfs_remove_file(sc->sys_fast_classifier, &fast_classifier_offload_at_pkts_attr.attr); + sysfs_remove_file(sc->sys_fast_classifier, &fast_classifier_debug_info_attr.attr); + sysfs_remove_file(sc->sys_fast_classifier, &fast_classifier_skip_bridge_ingress.attr); + sysfs_remove_file(sc->sys_fast_classifier, &fast_classifier_exceptions_attr.attr); + +exit2: + kobject_put(sc->sys_fast_classifier); + +exit1: + return result; +} + +/* + * fast_classifier_exit() + */ +static void __exit fast_classifier_exit(void) +{ + struct fast_classifier *sc = &__sc; + int result = -1; + + DEBUG_INFO("SFE CM exit\n"); + printk(KERN_ALERT "fast-classifier: shutting down\n"); + + /* + * Unregister our sync callback. + */ + sfe_ipv4_register_sync_rule_callback(NULL); + sfe_ipv6_register_sync_rule_callback(NULL); + + /* + * Unregister our receive callback. + */ + RCU_INIT_POINTER(athrs_fast_nat_recv, NULL); + + /* + * Wait for all callbacks to complete. + */ + rcu_barrier(); + + /* + * Destroy all connections. + */ + sfe_ipv4_destroy_all_rules_for_dev(NULL); + sfe_ipv6_destroy_all_rules_for_dev(NULL); + +#if (LINUX_VERSION_CODE < KERNEL_VERSION(3, 13, 0)) + result = genl_unregister_ops(&fast_classifier_gnl_family, fast_classifier_gnl_ops); + if (result != 0) { + printk(KERN_CRIT "Unable to unreigster genl_ops\n"); + } +#endif + + result = genl_unregister_family(&fast_classifier_gnl_family); + if (result != 0) { + printk(KERN_CRIT "Unable to unregister genl_family\n"); + } + +#ifdef CONFIG_NF_CONNTRACK_EVENTS +#ifdef CONFIG_NF_CONNTRACK_CHAIN_EVENTS + nf_conntrack_unregister_chain_notifier(&init_net, &fast_classifier_conntrack_notifier); +#else + nf_conntrack_unregister_notifier(&init_net, &fast_classifier_conntrack_notifier); +#endif +#endif + nf_unregister_net_hooks(&init_net, fast_classifier_ops_post_routing, ARRAY_SIZE(fast_classifier_ops_post_routing)); + + unregister_inet6addr_notifier(&sc->inet6_notifier); + unregister_inetaddr_notifier(&sc->inet_notifier); + unregister_netdevice_notifier(&sc->dev_notifier); + + kobject_put(sc->sys_fast_classifier); +} + +module_init(fast_classifier_init) +module_exit(fast_classifier_exit) + +MODULE_DESCRIPTION("Shortcut Forwarding Engine - Connection Manager"); +MODULE_LICENSE("Dual BSD/GPL"); + diff --git a/fast-classifier/src/fast-classifier.h b/fast-classifier/src/fast-classifier.h new file mode 100644 index 000000000..6b7a18cf6 --- /dev/null +++ b/fast-classifier/src/fast-classifier.h @@ -0,0 +1,57 @@ +/* + * User space header to send message to the fast classifier + * + * Copyright (c) 2013,2016 The Linux Foundation. All rights reserved. + * Permission to use, copy, modify, and/or distribute this software for + * any purpose with or without fee is hereby granted, provided that the + * above copyright notice and this permission notice appear in all copies. + * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES + * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR + * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES + * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN + * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT + * OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + */ + +#include + +#define FAST_CLASSIFIER_GENL_VERSION (1) +#define FAST_CLASSIFIER_GENL_NAME "FC" +#define FAST_CLASSIFIER_GENL_MCGRP "FC_MCGRP" +#define FAST_CLASSIFIER_GENL_HDRSIZE (0) + +enum { + FAST_CLASSIFIER_A_UNSPEC, + FAST_CLASSIFIER_A_TUPLE, + __FAST_CLASSIFIER_A_MAX, +}; + +#define FAST_CLASSIFIER_A_MAX (__FAST_CLASSIFIER_A_MAX - 1) + +enum { + FAST_CLASSIFIER_C_UNSPEC, + FAST_CLASSIFIER_C_OFFLOAD, + FAST_CLASSIFIER_C_OFFLOADED, + FAST_CLASSIFIER_C_DONE, + __FAST_CLASSIFIER_C_MAX, +}; + +#define FAST_CLASSIFIER_C_MAX (__FAST_CLASSIFIER_C_MAX - 1) + +struct fast_classifier_tuple { + unsigned short ethertype; + unsigned char proto; + union { + struct in_addr in; + struct in6_addr in6; + } src_saddr; + union { + struct in_addr in; + struct in6_addr in6; + } dst_saddr; + unsigned short sport; + unsigned short dport; + unsigned char smac[ETH_ALEN]; + unsigned char dmac[ETH_ALEN]; +}; diff --git a/fast-classifier/src/nl_classifier_test.c b/fast-classifier/src/nl_classifier_test.c new file mode 100644 index 000000000..639417964 --- /dev/null +++ b/fast-classifier/src/nl_classifier_test.c @@ -0,0 +1,281 @@ +/* + * Copyright (c) 2016 The Linux Foundation. All rights reserved. + * Permission to use, copy, modify, and/or distribute this software for + * any purpose with or without fee is hereby granted, provided that the + * above copyright notice and this permission notice appear in all copies. + * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES + * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR + * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES + * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN + * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT + * OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + */ + +#include +#include +#include +#include +#include +#include + +#define NL_CLASSIFIER_GENL_VERSION 1 +#define NL_CLASSIFIER_GENL_FAMILY "FC" +#define NL_CLASSIFIER_GENL_GROUP "FC_MCGRP" +#define NL_CLASSIFIER_GENL_HDRSIZE 0 + +enum NL_CLASSIFIER_CMD { + NL_CLASSIFIER_CMD_UNSPEC, + NL_CLASSIFIER_CMD_ACCEL, + NL_CLASSIFIER_CMD_ACCEL_OK, + NL_CLASSIFIER_CMD_CONNECTION_CLOSED, + NL_CLASSIFIER_CMD_MAX, +}; + +enum NL_CLASSIFIER_ATTR { + NL_CLASSIFIER_ATTR_UNSPEC, + NL_CLASSIFIER_ATTR_TUPLE, + NL_CLASSIFIER_ATTR_MAX, +}; + +union nl_classifier_tuple_ip { + struct in_addr in; + struct in6_addr in6; +}; + +struct nl_classifier_tuple { + unsigned short af; + unsigned char proto; + union nl_classifier_tuple_ip src_ip; + union nl_classifier_tuple_ip dst_ip; + unsigned short sport; + unsigned short dport; + unsigned char smac[6]; + unsigned char dmac[6]; +}; + +struct nl_classifier_instance { + struct nl_sock *sock; + int family_id; + int group_id; + int stop; +}; + +struct nl_classifier_instance nl_cls_inst; + +static struct nla_policy nl_classifier_genl_policy[(NL_CLASSIFIER_ATTR_MAX+1)] = { + [NL_CLASSIFIER_ATTR_TUPLE] = { .type = NLA_UNSPEC }, +}; + +void nl_classifier_dump_nl_tuple(struct nl_classifier_tuple *tuple) +{ + char ip_str[64]; + + printf("protocol = %s\n", (tuple->proto == IPPROTO_UDP) ? "udp" : ((tuple->proto == IPPROTO_TCP) ? "tcp" : "unknown")); + printf("source ip = %s\n", inet_ntop(tuple->af, &tuple->src_ip, ip_str, sizeof(ip_str))); + printf("destination ip = %s\n", inet_ntop(tuple->af, &tuple->dst_ip, ip_str, sizeof(ip_str))); + printf("source port = %d\n", ntohs(tuple->sport)); + printf("destination port = %d\n", ntohs(tuple->dport)); +} + +int nl_classifier_msg_recv(struct nl_msg *msg, void *arg) +{ + struct nlmsghdr *nlh = nlmsg_hdr(msg); + struct genlmsghdr *gnlh = nlmsg_data(nlh); + struct nlattr *attrs[(NL_CLASSIFIER_ATTR_MAX+1)]; + + genlmsg_parse(nlh, NL_CLASSIFIER_GENL_HDRSIZE, attrs, NL_CLASSIFIER_ATTR_MAX, nl_classifier_genl_policy); + + switch (gnlh->cmd) { + case NL_CLASSIFIER_CMD_ACCEL_OK: + printf("Acceleration successful:\n"); + nl_classifier_dump_nl_tuple(nla_data(attrs[NL_CLASSIFIER_ATTR_TUPLE])); + return NL_OK; + case NL_CLASSIFIER_CMD_CONNECTION_CLOSED: + printf("Connection is closed:\n"); + nl_classifier_dump_nl_tuple(nla_data(attrs[NL_CLASSIFIER_ATTR_TUPLE])); + return NL_OK; + default: + printf("nl classifier received unknow message %d\n", gnlh->cmd); + } + + return NL_SKIP; +} + +void nl_classifier_offload(struct nl_classifier_instance *inst, + unsigned char proto, unsigned long *src_saddr, + unsigned long *dst_saddr, unsigned short sport, + unsigned short dport, int af) +{ + struct nl_msg *msg; + int ret; + struct nl_classifier_tuple classifier_msg; + + memset(&classifier_msg, 0, sizeof(classifier_msg)); + classifier_msg.af = af; + classifier_msg.proto = proto; + memcpy(&classifier_msg.src_ip, src_saddr, (af == AF_INET ? 4 : 16)); + memcpy(&classifier_msg.dst_ip, dst_saddr, (af == AF_INET ? 4 : 16)); + classifier_msg.sport = sport; + classifier_msg.dport = dport; + + msg = nlmsg_alloc(); + if (!msg) { + printf("Unable to allocate message\n"); + return; + } + + genlmsg_put(msg, NL_AUTO_PID, NL_AUTO_SEQ, inst->family_id, + NL_CLASSIFIER_GENL_HDRSIZE, NLM_F_REQUEST, + NL_CLASSIFIER_CMD_ACCEL, NL_CLASSIFIER_GENL_VERSION); + nla_put(msg, NL_CLASSIFIER_ATTR_TUPLE, sizeof(classifier_msg), &classifier_msg); + + ret = nl_send_auto(inst->sock, msg); + if (ret < 0) { + printf("send netlink message failed.\n"); + nlmsg_free(msg); + return; + } + + nlmsg_free(msg); + printf("nl classifier offload connection successful\n"); +} + +int nl_classifier_init(struct nl_classifier_instance *inst) +{ + int ret; + + inst->sock = nl_socket_alloc(); + if (!inst->sock) { + printf("Unable to allocation socket.\n"); + return -1; + } + genl_connect(inst->sock); + + inst->family_id = genl_ctrl_resolve(inst->sock, NL_CLASSIFIER_GENL_FAMILY); + if (inst->family_id < 0) { + printf("Unable to resolve family %s\n", NL_CLASSIFIER_GENL_FAMILY); + goto init_failed; + } + + inst->group_id = genl_ctrl_resolve_grp(inst->sock, NL_CLASSIFIER_GENL_FAMILY, NL_CLASSIFIER_GENL_GROUP); + if (inst->group_id < 0) { + printf("Unable to resolve mcast group %s\n", NL_CLASSIFIER_GENL_GROUP); + goto init_failed; + } + + ret = nl_socket_add_membership(inst->sock, inst->group_id); + if (ret < 0) { + printf("Unable to add membership\n"); + goto init_failed; + } + + nl_socket_disable_seq_check(inst->sock); + nl_socket_modify_cb(inst->sock, NL_CB_VALID, NL_CB_CUSTOM, nl_classifier_msg_recv, NULL); + + printf("nl classifier init successful\n"); + return 0; + +init_failed: + if (inst->sock) { + nl_close(inst->sock); + nl_socket_free(inst->sock); + inst->sock = NULL; + } + return -1; +} + +void nl_classifier_exit(struct nl_classifier_instance *inst) +{ + if (inst->sock) { + nl_close(inst->sock); + nl_socket_free(inst->sock); + inst->sock = NULL; + } + printf("nl classifier exit successful\n"); +} + +int nl_classifier_parse_arg(int argc, char *argv[], unsigned char *proto, unsigned long *src_saddr, + unsigned long *dst_saddr, unsigned short *sport, unsigned short *dport, int *af) +{ + int ret; + unsigned short port; + + if (argc < 7) { + printf("help: nl_classifier \n"); + return -1; + } + + if (0 == strncmp(argv[1], "v4", 2)) { + *af = AF_INET; + } else if (0 == strncmp(argv[1], "v6", 2)) { + *af = AF_INET6; + } else { + printf("Address family is not supported"); + return -1; + } + + if (0 == strncmp(argv[2], "udp", 3)) { + *proto = IPPROTO_UDP; + } else if (0 == strncmp(argv[2], "tcp", 3)) { + *proto = IPPROTO_TCP; + } else { + printf("Protocol is not supported"); + return -1; + } + + ret = inet_pton(*af, argv[3], src_saddr); + if (ret <= 0) { + printf("source ip has wrong format\n"); + return -1; + } + + ret = inet_pton(*af, argv[4], dst_saddr); + if (ret <= 0) { + printf("destination ip has wrong format\n"); + return -1; + } + + port = strtol(argv[5], NULL, 0); + *sport = htons(port); + port = strtol(argv[6], NULL, 0); + *dport = htons(port); + + printf("nl classifier parse arguments successful\n"); + return 0; +} + +int main(int argc, char *argv[]) +{ + struct nl_classifier_instance *inst = &nl_cls_inst; + unsigned char proto; + unsigned long src_addr[4]; + unsigned long dst_addr[4]; + unsigned short sport; + unsigned short dport; + int af; + int ret; + + ret = nl_classifier_parse_arg(argc, argv, &proto, src_addr, dst_addr, &sport, &dport, &af); + if (ret < 0) { + printf("Failed to parse arguments\n"); + return ret; + } + + ret = nl_classifier_init(inst); + if (ret < 0) { + printf("Unable to init generic netlink\n"); + return ret; + } + + nl_classifier_offload(inst, proto, src_addr, dst_addr, sport, dport, af); + + /* main loop to listen on message */ + while (!inst->stop) { + nl_recvmsgs_default(inst->sock); + } + + nl_classifier_exit(inst); + + return 0; +} diff --git a/fast-classifier/src/userspace_example.c b/fast-classifier/src/userspace_example.c new file mode 100644 index 000000000..4f4113d99 --- /dev/null +++ b/fast-classifier/src/userspace_example.c @@ -0,0 +1,232 @@ +/* + * Copyright (c) 2013,2016 The Linux Foundation. All rights reserved. + * Permission to use, copy, modify, and/or distribute this software for + * any purpose with or without fee is hereby granted, provided that the + * above copyright notice and this permission notice appear in all copies. + * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES + * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR + * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES + * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN + * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT + * OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + */ + +#include +#include +#include +#include +#include + +#include + +static struct nl_sock *sock; +static struct nl_sock *sock_event; +static int family; +static int grp_id; + +static struct nla_policy fast_classifier_genl_policy[FAST_CLASSIFIER_A_MAX + 1] = { + [FAST_CLASSIFIER_A_TUPLE] = { .type = NLA_UNSPEC }, +}; + +void dump_fc_tuple(struct fast_classifier_tuple *fc_msg) +{ + char src_str[INET_ADDRSTRLEN]; + char dst_str[INET_ADDRSTRLEN]; + + printf("TUPLE: %d, %s, %s, %d, %d" + " SMAC=%02x:%02x:%02x:%02x:%02x:%02x", + " DMAC=%02x:%02x:%02x:%02x:%02x:%02x\n", + fc_msg->proto, + inet_ntop(AF_INET, + &fc_msg->src_saddr.in.s_addr, + src_str, + INET_ADDRSTRLEN), + inet_ntop(AF_INET, + &fc_msg->dst_saddr.in.s_addr, + dst_str, + INET_ADDRSTRLEN), + fc_msg->sport, fc_msg->dport, + fc_msg->smac[0], fc_msg->smac[1], fc_msg->smac[2], + fc_msg->smac[3], fc_msg->smac[4], fc_msg->smac[5], + fc_msg->dmac[0], fc_msg->dmac[1], fc_msg->dmac[2], + fc_msg->dmac[3], fc_msg->dmac[4], fc_msg->dmac[5]); +} + +static int parse_cb(struct nl_msg *msg, void *arg) +{ + struct nlmsghdr *nlh = nlmsg_hdr(msg); + struct genlmsghdr *gnlh = nlmsg_data(nlh); + struct nlattr *attrs[FAST_CLASSIFIER_A_MAX]; + + genlmsg_parse(nlh, 0, attrs, FAST_CLASSIFIER_A_MAX, fast_classifier_genl_policy); + + switch (gnlh->cmd) { + case FAST_CLASSIFIER_C_OFFLOADED: + printf("Got a offloaded message\n"); + dump_fc_tuple(nla_data(attrs[FAST_CLASSIFIER_A_TUPLE])); + return NL_OK; + case FAST_CLASSIFIER_C_DONE: + printf("Got a done message\n"); + dump_fc_tuple(nla_data(attrs[FAST_CLASSIFIER_A_TUPLE])); + return NL_OK; + } + + return NL_SKIP; +} + +int fast_classifier_init(void) +{ + int err; + + sock = nl_socket_alloc(); + if (!sock) { + printf("Unable to allocation socket.\n"); + return -1; + } + genl_connect(sock); + + sock_event = nl_socket_alloc(); + if (!sock_event) { + nl_close(sock); + nl_socket_free(sock); + printf("Unable to allocation socket.\n"); + return -1; + } + genl_connect(sock_event); + + family = genl_ctrl_resolve(sock, FAST_CLASSIFIER_GENL_NAME); + if (family < 0) { + nl_close(sock_event); + nl_close(sock); + nl_socket_free(sock); + nl_socket_free(sock_event); + printf("Unable to resolve family\n"); + return -1; + } + + grp_id = genl_ctrl_resolve_grp(sock, FAST_CLASSIFIER_GENL_NAME, + FAST_CLASSIFIER_GENL_MCGRP); + if (grp_id < 0) { + printf("Unable to resolve mcast group\n"); + return -1; + } + + err = nl_socket_add_membership(sock_event, grp_id); + if (err < 0) { + printf("Unable to add membership\n"); + return -1; + } + + nl_socket_disable_seq_check(sock_event); + nl_socket_modify_cb(sock_event, NL_CB_VALID, NL_CB_CUSTOM, parse_cb, NULL); + + return 0; +} + +void fast_classifier_close(void) +{ + nl_close(sock_event); + nl_close(sock); + nl_socket_free(sock_event); + nl_socket_free(sock); +} + +void fast_classifier_ipv4_offload(unsigned char proto, unsigned long src_saddr, + unsigned long dst_saddr, unsigned short sport, + unsigned short dport) +{ + struct nl_msg *msg; + int ret; +#ifdef DEBUG + char src_str[INET_ADDRSTRLEN]; + char dst_str[INET_ADDRSTRLEN]; +#endif + struct fast_classifier_tuple fc_msg; + +#ifdef DEBUG + printf("DEBUG: would offload: %d, %s, %s, %d, %d\n", proto, + inet_ntop(AF_INET, &src_saddr, src_str, INET_ADDRSTRLEN), + inet_ntop(AF_INET, &dst_saddr, dst_str, INET_ADDRSTRLEN), + sport, dport); +#endif + + fc_msg.proto = proto; + fc_msg.src_saddr.in.s_addr = src_saddr; + fc_msg.dst_saddr.in.s_addr = dst_saddr; + fc_msg.sport = sport; + fc_msg.dport = dport; + fc_msg.smac[0] = 'a'; + fc_msg.smac[1] = 'b'; + fc_msg.smac[2] = 'c'; + fc_msg.smac[3] = 'd'; + fc_msg.smac[4] = 'e'; + fc_msg.smac[5] = 'f'; + fc_msg.dmac[0] = 'f'; + fc_msg.dmac[1] = 'e'; + fc_msg.dmac[2] = 'd'; + fc_msg.dmac[3] = 'c'; + fc_msg.dmac[4] = 'b'; + fc_msg.dmac[5] = 'a'; + + if (fast_classifier_init() < 0) { + printf("Unable to init generic netlink\n"); + exit(1); + } + + msg = nlmsg_alloc(); + if (!msg) { + nl_socket_free(sock); + printf("Unable to allocate message\n"); + return; + } + + genlmsg_put(msg, NL_AUTO_PID, NL_AUTO_SEQ, family, + FAST_CLASSIFIER_GENL_HDRSIZE, NLM_F_REQUEST, + FAST_CLASSIFIER_C_OFFLOAD, FAST_CLASSIFIER_GENL_VERSION); + nla_put(msg, 1, sizeof(fc_msg), &fc_msg); + + ret = nl_send_auto_complete(sock, msg); + + nlmsg_free(msg); + if (ret < 0) { + printf("nlmsg_free failed"); + nl_close(sock); + nl_socket_free(sock); + return; + } + + ret = nl_wait_for_ack(sock); + if (ret < 0) { + printf("wait for ack failed"); + nl_close(sock); + nl_socket_free(sock); + return; + } +} + +void fast_classifier_listen_for_messages(void) +{ + printf("waiting for netlink events\n"); + + while (1) { + nl_recvmsgs_default(sock_event); + } +} + +int main(int argc, char *argv[]) +{ + if (fast_classifier_init() < 0) { + printf("Unable to init generic netlink\n"); + exit(1); + } + + fast_classifier_ipv4_offload('a', 0, 0, 0, 0); + + /* this never returns */ + fast_classifier_listen_for_messages(); + + fast_classifier_close(); + + return 0; +} diff --git a/fullconenat/Makefile b/fullconenat/Makefile new file mode 100644 index 000000000..0fd188e3d --- /dev/null +++ b/fullconenat/Makefile @@ -0,0 +1,62 @@ +# +# Copyright (C) 2022 Chion Tang +# +# This is free software, licensed under the GNU General Public License v2. +# See /LICENSE for more information. +# + +include $(TOPDIR)/rules.mk + +PKG_NAME:=fullconenat +PKG_RELEASE:=9 + +PKG_SOURCE_DATE:=2022-02-13 +PKG_SOURCE_PROTO:=git +PKG_SOURCE_URL:=https://github.com/llccd/netfilter-full-cone-nat.git +PKG_SOURCE_VERSION:=108a36cbdca17e68c9e6e7fd5e26156a88f738e8 +PKG_MIRROR_HASH:=00d749235271dee194dcd23c22e6e85207ea90192a62a110b2af0b4e4de1971f + +PKG_LICENSE:=GPL-2.0 +PKG_LICENSE_FILES:=LICENSE +PKG_MAINTAINER:=Chion Tang + +include $(INCLUDE_DIR)/kernel.mk +include $(INCLUDE_DIR)/package.mk + +define Package/iptables-mod-fullconenat + SUBMENU:=Firewall + SECTION:=net + CATEGORY:=Network + TITLE:=FULLCONENAT iptables extension + DEPENDS:=+iptables +kmod-ipt-fullconenat @LINUX_5_4 +endef + +define Package/iptables-mod-fullconenat/install + $(INSTALL_DIR) $(1)/usr/lib/iptables + $(INSTALL_BIN) $(PKG_BUILD_DIR)/libipt_FULLCONENAT.so $(1)/usr/lib/iptables +endef + +define KernelPackage/ipt-fullconenat + SUBMENU:=Netfilter Extensions + TITLE:=FULLCONENAT netfilter module + DEPENDS:=+kmod-nf-ipt +kmod-nf-nat @LINUX_5_4 + KCONFIG:= \ + CONFIG_NF_CONNTRACK_EVENTS=y \ + CONFIG_NF_CONNTRACK_CHAIN_EVENTS=y + FILES:=$(PKG_BUILD_DIR)/xt_FULLCONENAT.ko +endef + +include $(INCLUDE_DIR)/kernel-defaults.mk + +define Build/Compile + +$(MAKE) $(PKG_JOBS) -C "$(LINUX_DIR)" \ + CROSS_COMPILE="$(TARGET_CROSS)" \ + ARCH="$(LINUX_KARCH)" \ + M="$(PKG_BUILD_DIR)" \ + EXTRA_CFLAGS="$(BUILDFLAGS)" \ + modules + $(call Build/Compile/Default) +endef + +$(eval $(call KernelPackage,ipt-fullconenat)) +$(eval $(call BuildPackage,iptables-mod-fullconenat)) diff --git a/fullconenat/patches/001-fix-init-Repeat-definition.patch b/fullconenat/patches/001-fix-init-Repeat-definition.patch new file mode 100644 index 000000000..67c9332c8 --- /dev/null +++ b/fullconenat/patches/001-fix-init-Repeat-definition.patch @@ -0,0 +1,20 @@ +--- a/libip6t_FULLCONENAT.c ++++ b/libip6t_FULLCONENAT.c +@@ -214,6 +214,7 @@ static struct xtables_target fullconenat_tg_reg = { + .x6_options = FULLCONENAT_opts, + }; + ++#define _init __attribute__((constructor)) _INIT + void _init(void) + { + xtables_register_target(&fullconenat_tg_reg); +--- a/libipt_FULLCONENAT.c ++++ b/libipt_FULLCONENAT.c +@@ -235,6 +235,7 @@ static struct xtables_target fullconenat_tg_reg = { + .x6_options = FULLCONENAT_opts, + }; + ++#define _init __attribute__((constructor)) _INIT + void _init(void) + { + xtables_register_target(&fullconenat_tg_reg); diff --git a/fullconenat/patches/001-linux-6.1-support.patch b/fullconenat/patches/001-linux-6.1-support.patch new file mode 100644 index 000000000..41721fb5c --- /dev/null +++ b/fullconenat/patches/001-linux-6.1-support.patch @@ -0,0 +1,26 @@ +--- a/xt_FULLCONENAT.c ++++ b/xt_FULLCONENAT.c +@@ -325,7 +325,11 @@ + /* for now we do the same thing for both --random and --random-fully */ + + /* select a random starting point */ ++#if LINUX_VERSION_CODE >= KERNEL_VERSION(6, 1, 0) ++ start = (uint16_t)(get_random_u32() % (u32)range_size); ++#else + start = (uint16_t)(prandom_u32() % (u32)range_size); ++#endif + } else { + + if ((original_port >= min && original_port <= min + range_size - 1) +@@ -995,7 +999,11 @@ + /* for now we do the same thing for both --random and --random-fully */ + + /* select a random starting point */ ++#if LINUX_VERSION_CODE >= KERNEL_VERSION(6, 1, 0) ++ start = (uint16_t)(get_random_u32() % (u32)range_size); ++#else + start = (uint16_t)(prandom_u32() % (u32)range_size); ++#endif + } else { + + if ((original_port >= min && original_port <= min + range_size - 1) diff --git a/fullconenat/src/Makefile b/fullconenat/src/Makefile new file mode 100644 index 000000000..b2f88db33 --- /dev/null +++ b/fullconenat/src/Makefile @@ -0,0 +1,6 @@ +libipt_FULLCONENAT.so: libipt_FULLCONENAT.o + $(CC) -shared -lxtables -o $@ $^; +libipt_FULLCONENAT.o: libipt_FULLCONENAT.c + $(CC) ${CFLAGS} -fPIC -D_INIT=$*_init -c -o $@ $<; + +obj-m += xt_FULLCONENAT.o diff --git a/glorytun-udp/Makefile b/glorytun-udp/Makefile index 4f4e70bf7..acacab793 100644 --- a/glorytun-udp/Makefile +++ b/glorytun-udp/Makefile @@ -1,6 +1,6 @@ # # Copyright (C) 2015 OVH -# Copyright (C) 2018-2019 Ycarus (Yannick Chabanois) for OpenMPTCProuter project +# Copyright (C) 2018-2020 Ycarus (Yannick Chabanois) for OpenMPTCProuter project # # This is free software, licensed under the GNU General Public License v2. # See /LICENSE for more information. @@ -10,10 +10,12 @@ include $(TOPDIR)/rules.mk PKG_SOURCE_PROTO:=git PKG_SOURCE_URL:=https://github.com/angt/glorytun.git -PKG_SOURCE_VERSION:=a9408e799ddbb74b5476fba70a495770322cd327 +PKG_SOURCE_VERSION:=32267e86a6da05b285bb3bf2b136c105dc0af4bb PKG_NAME:=glorytun-udp -PKG_VERSION:=0.3.0-$(PKG_SOURCE_VERSION) -PKG_RELEASE:=23 +PKG_VERSION:=0.3.4 +PKG_RELEASE:=24 +PKG_LICENSE:=BSD-2-Clause +PKG_LICENSE_FILES:=LICENSE PKG_FIXUP:=autoreconf @@ -46,7 +48,7 @@ define Package/$(PKG_NAME)/install $(INSTALL_DIR) $(1)/etc/init.d $(INSTALL_BIN) init $(1)/etc/init.d/$(PKG_NAME) $(INSTALL_DIR) $(1)/etc/config - touch $(1)/etc/config/glorytun + $(INSTALL_DATA) glorytun-udp.config $(1)/etc/config/glorytun-udp endef $(eval $(call BuildPackage,$(PKG_NAME))) diff --git a/glorytun-udp/glorytun-udp.config b/glorytun-udp/glorytun-udp.config new file mode 100644 index 000000000..431da357a --- /dev/null +++ b/glorytun-udp/glorytun-udp.config @@ -0,0 +1,14 @@ +config glorytun-udp 'vpn' + option enable '0' + option host '127.0.0.1' + option port '65001' + option dev 'tun0' + option key '' + option chacha '1' + option localip '10.255.254.2' + option remoteip '10.255.254.1' + option mode 'to' + option kxtimeout '7d' + option timetolerance '10m' + option keepalive '25s' + option rateauto '0' \ No newline at end of file diff --git a/glorytun-udp/init b/glorytun-udp/init index 1a3273e33..c9452e734 100755 --- a/glorytun-udp/init +++ b/glorytun-udp/init @@ -1,7 +1,7 @@ #!/bin/sh /etc/rc.common # vim: set noexpandtab tabstop=4 shiftwidth=4 softtabstop=4 : # Copyright (C) 2015 ovh.com -# Copyright (C) 2017 Ycarus (Yannick Chabanois) +# Copyright (C) 2017-2020 Ycarus (Yannick Chabanois) START=90 STOP=10 @@ -19,22 +19,19 @@ _err() { } validate_section() { - uci_validate_section glorytun glorytun "${1}" \ - 'enable:bool:0' \ - 'key:string' \ - 'host:host' \ - 'port:port' \ - 'proto:string' \ - 'bind:string:0.0.0.0' \ - 'bindport:port' \ - 'mtu:uinteger:1450' \ - 'mtuauto:bool:0' \ - 'chacha20:bool:0' \ + uci_validate_section glorytun-udp glorytun-udp "${1}" \ + 'enable:bool:0' \ + 'mode:string' \ + 'key:string' \ + 'host:host' \ + 'port:port' \ + 'mtuauto:bool:0' \ + 'chacha:bool:0' \ 'dev:string' } start_instance() { - local enable key host port listener proto bind bindport mtu mtuauto chacha20 dev + local enable key host port listener proto mtuauto chacha dev mode validate_section "${1}" || { _err "validation failed" @@ -42,35 +39,39 @@ start_instance() { } [ "${enable}" = "1" ] || return 1 - [ "${proto}" = "udp" ] || return 1 [ -n "${key}" ] || return 1 [ "${key}" != "secretkey" ] || return 1 [ -n "${port}" ] || return 1 [ -n "${dev}" ] || return 1 + [ -n "${mode}" ] || return 1 echo "${key}" > /tmp/${PROG_NAME}-${1}.key key="" if [ "$(uci -q get network.omrvpn)" != "" ]; then - uci -q set network.omrvpn.ifname=$dev + uci -q set network.omrvpn.device=$dev uci -q commit fi _log "starting ${PROG_NAME} ${1} instance $*" + host=$(resolveip $host) + + if [ "$mode" = "to" ]; then + bind="bind from addr :: port 5000 to addr $host port $port" + else + bind="bind from addr $host port $port to addr :: port 5000" + fi procd_open_instance procd_set_param command ${PROG} \ - ${bind:+bind "$bind"} \ - ${bindport:+ "$bindport"} \ - ${host:+to "$host"} \ - ${port:+ "$port"} \ + ${bind} \ ${dev:+dev "$dev"} \ keyfile /tmp/${PROG_NAME}-${1}.key \ persist - [ "${chacha20}" = "1" ] && procd_append_param command chacha + [ "${chacha}" = "1" ] && procd_append_param command chacha procd_set_param respawn 0 30 0 procd_set_param file /tmp/${PROG_NAME}-${1}.key @@ -80,6 +81,9 @@ start_instance() { procd_close_instance + #tc qdisc replace dev ${dev} root cake + + #ip link set $dev txqlen 100 #config_load network #config_foreach add_glorytun_path interface @@ -101,8 +105,8 @@ add_glorytun_path() { start_service() { local dev - config_load glorytun - config_foreach start_instance glorytun + config_load glorytun-udp + config_foreach start_instance glorytun-udp } reload_service() { diff --git a/glorytun/Makefile b/glorytun/Makefile index 6cd00b7ae..995fbfc44 100644 --- a/glorytun/Makefile +++ b/glorytun/Makefile @@ -9,11 +9,15 @@ include $(TOPDIR)/rules.mk PKG_NAME:=glorytun -PKG_VERSION:=0.0.35 -PKG_RELEASE:=6 +PKG_RELEASE:=8 +PKG_SOURCE_PROTO:=git +PKG_SOURCE_VERSION:=8aebb3efb3b108b1276aa74679e200e003f298de PKG_SOURCE:=glorytun-$(PKG_VERSION).tar.gz -PKG_SOURCE_URL:=https://github.com/angt/glorytun/releases/download/v$(PKG_VERSION) -PKG_HASH:=49e4d8ea4ff2990300b37947b0bd0da3c8e0985bc6eddf29f4146306188fff64 +PKG_SOURCE_URL:=https://github.com/Ysurac/glorytun.git +PKG_VERSION:=0.0.35 +PKG_LICENSE:=BSD-2-Clause +PKG_LICENSE_FILES:=LICENSE +PKG_FIXUP:=autoreconf include $(INCLUDE_DIR)/package.mk diff --git a/glorytun/glorytun.config b/glorytun/glorytun.config index a0dfe1593..78f97090c 100644 --- a/glorytun/glorytun.config +++ b/glorytun/glorytun.config @@ -9,4 +9,7 @@ config glorytun 'vpn' option chacha20 '1' option mtuauto '1' option localip '10.255.255.2' - option remoteip '10.255.255.1' \ No newline at end of file + option remoteip '10.255.255.1' + option multiqueue '1' + option label 'Default VPN' + option timeout '10000' \ No newline at end of file diff --git a/glorytun/init b/glorytun/init index e7e1cd1df..d10019fcc 100755 --- a/glorytun/init +++ b/glorytun/init @@ -22,17 +22,18 @@ validate_section() { uci_validate_section glorytun glorytun "${1}" \ 'enable:bool:0' \ 'mptcp:bool:0' \ - 'listener:bool:0' \ + 'mode:string' \ 'key:string' \ 'host:host' \ 'port:port' \ 'dev:string' \ + 'timeout:uinteger:10000' \ 'chacha20:bool:0' \ 'proto:string' } start_instance() { - local enable key host port dev listener mptcp proto chacha20 + local enable key host port dev mptcp proto chacha20 mode multiqueue timeout validate_section "${1}" || { _err "validation failed" @@ -48,6 +49,7 @@ start_instance() { [ "${key}" != "secretkey" ] || return 1 [ -n "${port}" ] || return 1 [ -n "${dev}" ] || return 1 + [ -n "${host}" ] || return 1 echo "${key}" > /tmp/${PROG_NAME}-${1}.key [ -f "/tmp/${PROG_NAME}-${1}.key" ] || { @@ -57,9 +59,10 @@ start_instance() { key="" if [ "$(uci -q get network.omrvpn)" != "" ]; then - uci -q set network.omrvpn.ifname=${dev} + uci -q set network.omrvpn.device=${dev} uci -q commit network fi + _log "starting ${PROG_NAME} ${1} instance $*" procd_open_instance @@ -70,15 +73,16 @@ start_instance() { ${host:+host "$host"} \ ${dev:+dev "$dev"} - [ "${listener}" = "1" ] && procd_append_param command listener + [ "${mode}" = "listener" ] && procd_append_param command listener [ "${mptcp}" = "1" ] && procd_append_param command mptcp [ "${chacha20}" = "1" ] && procd_append_param command chacha20 + [ "${multiqueue}" = "1" ] && procd_append_param command multiqueue procd_append_param command \ retry count -1 const 5000000 \ - timeout 100000 \ + timeout ${timeout} \ keepalive count 5 idle 20 interval 2 \ - buffer-size 32768 + buffer-size 65536 procd_set_param respawn 0 30 0 procd_set_param file /tmp/${PROG_NAME}-${1}.key diff --git a/golang-protobuf/Makefile b/golang-protobuf/Makefile index 04cc930f4..58acdc042 100644 --- a/golang-protobuf/Makefile +++ b/golang-protobuf/Makefile @@ -1,5 +1,5 @@ # -# Copyright (C) 2019 Ycarus (Yannick Chabanois) +# Copyright (C) 2019-2023 Ycarus (Yannick Chabanois) # # This is free software, licensed under the GNU General Public License v2. # See /LICENSE for more information. @@ -12,8 +12,8 @@ PKG_RELEASE:=1 PKG_SOURCE_PROTO:=git PKG_SOURCE_URL:=https://github.com/golang/protobuf.git -PKG_SOURCE_VERSION:=347cf4a86c1cb8d262994d8ef5924d4576c5b331 -PKG_SOURCE_DATE:=20190109 +PKG_SOURCE_VERSION:=5d5e8c018a13017f9d5b8bf4fad64aaa42a87308 +PKG_SOURCE_DATE:=20210916 PKG_LICENSE:=BSD-3-Clause PKG_LICENSE_FILES:=LICENSE diff --git a/golang/golang-build.sh b/golang/golang-build.sh new file mode 100644 index 000000000..01df4aa42 --- /dev/null +++ b/golang/golang-build.sh @@ -0,0 +1,210 @@ +#!/bin/sh +# +# Copyright (C) 2020, 2022 Jeffery To +# +# This is free software, licensed under the GNU General Public License v2. +# See /LICENSE for more information. +# + +nl=" +" + +log() { + # shellcheck disable=SC2039 + local IFS=" " + printf '%s\n' "$*" +} + +log_error() { + # shellcheck disable=SC2039 + local IFS=" " + printf 'Error: %s\n' "$*" >&2 +} + +link_contents() { + # shellcheck disable=SC2039 + local src="$1" dest="$2" IFS="$nl" dirs dir base + + if [ -n "$(find "$src" -mindepth 1 -maxdepth 1 -name "*.go" -not -type d)" ]; then + log_error "$src is already a Go library" + return 1 + fi + + dirs="$(find "$src" -mindepth 1 -maxdepth 1 -type d)" + for dir in $dirs; do + base="${dir##*/}" + if [ -d "$dest/$base" ]; then + case "$dir" in + *$GO_BUILD_DEPENDS_SRC/$GO_PKG) + log "$GO_PKG is already installed. Please check for circular dependencies." + ;; + *) + link_contents "$src/$base" "$dest/$base" + ;; + esac + else + log "...${src#$GO_BUILD_DEPENDS_SRC}/$base" + ln -sf "$src/$base" "$dest/$base" + fi + done + + return 0 +} + +configure() { + # shellcheck disable=SC2039 + local files code testdata gomod pattern extra IFS file dest + + cd "$BUILD_DIR" || return 1 + + files="$(find ./ -path "*/.*" -prune -o -not -type d -print)" + + if [ "$GO_INSTALL_ALL" != 1 ]; then + code="$(printf '%s\n' "$files" | grep '\.\(c\|cc\|cpp\|go\|h\|hh\|hpp\|proto\|s\)$')" + testdata="$(printf '%s\n' "$files" | grep '/testdata/')" + gomod="$(printf '%s\n' "$files" | grep '/go\.\(mod\|sum\|work\)$')" + + for pattern in $GO_INSTALL_EXTRA; do + extra="$(printf '%s\n' "$extra"; printf '%s\n' "$files" | grep -e "$pattern")" + done + + files="$(printf '%s\n%s\n%s\n%s\n' "$code" "$testdata" "$gomod" "$extra" | grep -v '^[[:space:]]*$' | sort -u)" + fi + + IFS="$nl" + + log "Copying files from $BUILD_DIR into $GO_BUILD_DIR/src/$GO_PKG" + mkdir -p "$GO_BUILD_DIR/src" + for file in $files; do + log "${file#./}" + dest="$GO_BUILD_DIR/src/$GO_PKG/${file#./}" + mkdir -p "${dest%/*}" + cp -fpR "$file" "$dest" + done + log + + if [ "$GO_SOURCE_ONLY" != 1 ]; then + if [ -d "$GO_BUILD_DEPENDS_SRC" ]; then + log "Symlinking directories from $GO_BUILD_DEPENDS_SRC into $GO_BUILD_DIR/src" + link_contents "$GO_BUILD_DEPENDS_SRC" "$GO_BUILD_DIR/src" + else + log "$GO_BUILD_DEPENDS_SRC does not exist, skipping symlinks" + fi + else + log "Not building binaries, skipping symlinks" + fi + log + + return 0 +} + +build() { + # shellcheck disable=SC2039 + local modargs pattern targets retval + + cd "$GO_BUILD_DIR" || return 1 + + if [ -f "$BUILD_DIR/go.mod" ] ; then + mkdir -p "$GO_MOD_CACHE_DIR" + modargs="$GO_MOD_ARGS" + fi + + log "Finding targets" + # shellcheck disable=SC2086 + targets="$(go list $modargs $GO_BUILD_PKG)" + for pattern in $GO_EXCLUDES; do + targets="$(printf '%s\n' "$targets" | grep -v "$pattern")" + done + log + + if [ "$GO_GO_GENERATE" = 1 ]; then + log "Calling go generate" + # shellcheck disable=SC2086 + GOOS='' GOARCH='' GO386='' GOARM='' GOARM64='' GOMIPS='' GOMIPS64='' GORISCV64=''\ + go generate -v $targets + log + fi + + if [ "$GO_SOURCE_ONLY" = 1 ]; then + return 0 + fi + + log "Building targets" + mkdir -p "$GO_BUILD_DIR/bin" "$GO_BUILD_CACHE_DIR" + # shellcheck disable=SC2086 + go install $modargs "$@" $targets + retval="$?" + log + + if [ "$retval" -eq 0 ] && [ -z "$(find "$GO_BUILD_BIN_DIR" -maxdepth 0 -type d -not -empty 2>/dev/null)" ]; then + log_error "No binaries were built" + retval=1 + fi + + if [ "$retval" -ne 0 ]; then + cache_cleanup + fi + + return "$retval" +} + +install_bin() { + # shellcheck disable=SC2039 + local dest="$1" + install -d -m0755 "$dest/$GO_INSTALL_BIN_PATH" + install -m0755 "$GO_BUILD_BIN_DIR"/* "$dest/$GO_INSTALL_BIN_PATH/" +} + +install_src() { + # shellcheck disable=SC2039 + local dest="$1" dir="${GO_PKG%/*}" + install -d -m0755 "$dest/$GO_BUILD_DEPENDS_PATH/src/$dir" + cp -fpR "$GO_BUILD_DIR/src/$GO_PKG" "$dest/$GO_BUILD_DEPENDS_PATH/src/$dir/" +} + +cache_cleanup() { + if ! [ -d "$GO_MOD_CACHE_DIR" ]; then + return 0 + fi + + # in case go is called without -modcacherw + find "$GO_MOD_CACHE_DIR" -type d -not -perm -u+w -exec chmod u+w '{}' + + + if [ -n "$CONFIG_GOLANG_MOD_CACHE_WORLD_READABLE" ]; then + find "$GO_MOD_CACHE_DIR" -type d -not -perm -go+rx -exec chmod go+rx '{}' + + find "$GO_MOD_CACHE_DIR" -not -type d -not -perm -go+r -exec chmod go+r '{}' + + fi + + return 0 +} + + +if [ "$#" -lt 1 ]; then + log_error "Missing command" + exit 1 +fi + +command="$1" +shift 1 + +case "$command" in + configure) + configure + ;; + build) + build "$@" + ;; + install_bin) + install_bin "$@" + ;; + install_src) + install_src "$@" + ;; + cache_cleanup) + cache_cleanup + ;; + *) + log_error "Invalid command \"$command\"" + exit 1 + ;; +esac diff --git a/golang/golang-compiler.mk b/golang/golang-compiler.mk index 5e7fe689d..44defed7b 100644 --- a/golang/golang-compiler.mk +++ b/golang/golang-compiler.mk @@ -1,5 +1,5 @@ # -# Copyright (C) 2018 Jeffery To +# Copyright (C) 2018, 2020-2021, 2023 Jeffery To # # This is free software, licensed under the GNU General Public License v2. # See /LICENSE for more information. @@ -19,23 +19,23 @@ define GoCompiler/Default/CheckHost endef # $(1) source go root -# $(2) destination prefix -# $(3) go version id -# $(4) additional environment variables (optional) +# $(2) additional environment variables (optional) define GoCompiler/Default/Make ( \ - cd $(1)/src ; \ - $(if $(2),GOROOT_FINAL=$(2)/lib/go-$(3)) \ - $(4) \ - $(BASH) make.bash --no-banner ; \ + cd "$(1)/src" ; \ + $(2) \ + $(BASH) make.bash \ + $(if $(findstring s,$(OPENWRT_VERBOSE)),-v) \ + --no-banner \ + ; \ ) endef # $(1) destination prefix # $(2) go version id define GoCompiler/Default/Install/make-dirs - $(INSTALL_DIR) $(1)/lib/go-$(2) - $(INSTALL_DIR) $(1)/share/go-$(2) + $(INSTALL_DIR) "$(1)/lib/go-$(2)" + $(INSTALL_DIR) "$(1)/share/go-$(2)" endef # $(1) source go root @@ -43,48 +43,52 @@ endef # $(3) go version id # $(4) file/directory name define GoCompiler/Default/Install/install-share-data - $(CP) $(1)/$(4) $(2)/share/go-$(3)/ - $(LN) ../../share/go-$(3)/$(4) $(2)/lib/go-$(3)/ + $(CP) "$(1)/$(4)" "$(2)/share/go-$(3)/" + $(LN) "../../share/go-$(3)/$(4)" "$(2)/lib/go-$(3)/" endef # $(1) source go root # $(2) destination prefix # $(3) go version id # $(4) GOOS_GOARCH +# $(5) install suffix (optional) define GoCompiler/Default/Install/Bin $(call GoCompiler/Default/Install/make-dirs,$(2),$(3)) $(call GoCompiler/Default/Install/install-share-data,$(1),$(2),$(3),api) - $(INSTALL_DATA) -p $(1)/VERSION $(2)/lib/go-$(3)/ + $(INSTALL_DATA) -p "$(1)/go.env" "$(2)/lib/go-$(3)/" + $(INSTALL_DATA) -p "$(1)/VERSION" "$(2)/lib/go-$(3)/" - for file in AUTHORS CONTRIBUTING.md CONTRIBUTORS LICENSE PATENTS README README.md; do \ - if [ -f $(1)/$$$$file ]; then \ - $(INSTALL_DATA) -p $(1)/$$$$file $(2)/share/go-$(3)/ ; \ + for file in CONTRIBUTING.md LICENSE PATENTS README.md SECURITY.md; do \ + if [ -f "$(1)/$$$$file" ]; then \ + $(INSTALL_DATA) -p "$(1)/$$$$file" "$(2)/share/go-$(3)/" ; \ fi ; \ done - $(INSTALL_DIR) $(2)/lib/go-$(3)/bin + $(INSTALL_DIR) "$(2)/lib/go-$(3)/bin" ifeq ($(4),$(GO_HOST_OS_ARCH)) - $(INSTALL_BIN) -p $(1)/bin/* $(2)/lib/go-$(3)/bin/ + $(INSTALL_BIN) -p "$(1)/bin"/* "$(2)/lib/go-$(3)/bin/" else - $(INSTALL_BIN) -p $(1)/bin/$(4)/* $(2)/lib/go-$(3)/bin/ + $(INSTALL_BIN) -p "$(1)/bin/$(4)"/* "$(2)/lib/go-$(3)/bin/" endif - $(INSTALL_DIR) $(2)/lib/go-$(3)/pkg - $(CP) $(1)/pkg/$(4) $(2)/lib/go-$(3)/pkg/ + if [ -d "$(1)/pkg/$(4)$(if $(5),_$(5))" ]; then \ + $(INSTALL_DIR) "$(2)/lib/go-$(3)/pkg" ; \ + $(CP) "$(1)/pkg/$(4)$(if $(5),_$(5))" "$(2)/lib/go-$(3)/pkg/" ; \ + fi - $(INSTALL_DIR) $(2)/lib/go-$(3)/pkg/tool/$(4) - $(INSTALL_BIN) -p $(1)/pkg/tool/$(4)/* $(2)/lib/go-$(3)/pkg/tool/$(4)/ + $(INSTALL_DIR) "$(2)/lib/go-$(3)/pkg/tool/$(4)" + $(INSTALL_BIN) -p "$(1)/pkg/tool/$(4)"/* "$(2)/lib/go-$(3)/pkg/tool/$(4)/" endef # $(1) destination prefix # $(2) go version id define GoCompiler/Default/Install/BinLinks - $(INSTALL_DIR) $(1)/bin - $(LN) ../lib/go-$(2)/bin/go $(1)/bin/go - $(LN) ../lib/go-$(2)/bin/gofmt $(1)/bin/gofmt + $(INSTALL_DIR) "$(1)/bin" + $(LN) "../lib/go-$(2)/bin/go" "$(1)/bin/go" + $(LN) "../lib/go-$(2)/bin/gofmt" "$(1)/bin/gofmt" endef # $(1) source go root @@ -94,8 +98,6 @@ define GoCompiler/Default/Install/Doc $(call GoCompiler/Default/Install/make-dirs,$(2),$(3)) $(call GoCompiler/Default/Install/install-share-data,$(1),$(2),$(3),doc) - $(call GoCompiler/Default/Install/install-share-data,$(1),$(2),$(3),favicon.ico) - $(call GoCompiler/Default/Install/install-share-data,$(1),$(2),$(3),robots.txt) endef # $(1) source go root @@ -110,29 +112,29 @@ define GoCompiler/Default/Install/Src $(call GoCompiler/Default/Install/install-share-data,$(1),$(2),$(3),test) $(FIND) \ - $(2)/share/go-$(3)/src/ \ - \! -type d -a \( -name '*.bat' -o -name '*.rc' \) \ + "$(2)/share/go-$(3)/src/" \ + \! -type d -a \( -name "*.bat" -o -name "*.rc" \) \ -delete - if [ -d $(1)/pkg/include ]; then \ - $(INSTALL_DIR) $(2)/lib/go-$(3)/pkg ; \ - $(INSTALL_DIR) $(2)/share/go-$(3)/pkg ; \ - $(CP) $(1)/pkg/include $(2)/share/go-$(3)/pkg/ ; \ - $(LN) ../../../share/go-$(3)/pkg/include $(2)/lib/go-$(3)/pkg/ ; \ + if [ -d "$(1)/pkg/include" ]; then \ + $(INSTALL_DIR) "$(2)/lib/go-$(3)/pkg" ; \ + $(INSTALL_DIR) "$(2)/share/go-$(3)/pkg" ; \ + $(CP) "$(1)/pkg/include" "$(2)/share/go-$(3)/pkg/" ; \ + $(LN) "../../../share/go-$(3)/pkg/include" "$(2)/lib/go-$(3)/pkg/" ; \ fi endef # $(1) destination prefix # $(2) go version id define GoCompiler/Default/Uninstall - rm -rf $(1)/lib/go-$(2) - rm -rf $(1)/share/go-$(2) + rm -rf "$(1)/lib/go-$(2)" + rm -rf "$(1)/share/go-$(2)" endef # $(1) destination prefix define GoCompiler/Default/Uninstall/BinLinks - rm -f $(1)/bin/go - rm -f $(1)/bin/gofmt + rm -f "$(1)/bin/go" + rm -f "$(1)/bin/gofmt" endef @@ -141,6 +143,7 @@ endef # $(3) destination prefix # $(4) go version id # $(5) GOOS_GOARCH +# $(6) install suffix (optional) define GoCompiler/AddProfile # $$(1) valid GOOS_GOARCH combinations @@ -150,12 +153,12 @@ define GoCompiler/AddProfile # $$(1) additional environment variables (optional) define GoCompiler/$(1)/Make - $$(call GoCompiler/Default/Make,$(2),$(3),$(4),$$(1)) + $$(call GoCompiler/Default/Make,$(2),$$(1)) endef # $$(1) override install prefix (optional) define GoCompiler/$(1)/Install/Bin - $$(call GoCompiler/Default/Install/Bin,$(2),$$(or $$(1),$(3)),$(4),$(5)) + $$(call GoCompiler/Default/Install/Bin,$(2),$$(or $$(1),$(3)),$(4),$(5),$(6)) endef # $$(1) override install prefix (optional) diff --git a/golang/golang-golang-x-crypto/Makefile b/golang/golang-golang-x-crypto/Makefile deleted file mode 100644 index b2d09364f..000000000 --- a/golang/golang-golang-x-crypto/Makefile +++ /dev/null @@ -1,47 +0,0 @@ -# -# Copyright (C) 2018 Jeffery To -# -# This is free software, licensed under the GNU General Public License v2. -# See /LICENSE for more information. -# - -include $(TOPDIR)/rules.mk - -PKG_NAME:=golang-golang-x-crypto -PKG_RELEASE:=1 - -PKG_SOURCE_PROTO:=git -PKG_SOURCE_URL:=https://github.com/golang/crypto.git -PKG_SOURCE_VERSION:=4def268fd1a49955bfb3dda92fe3db4f924f2285 -PKG_SOURCE_DATE:=20190701 -#PKG_MIRROR_HASH:=80b16b203736ac56883d0610edbc5981eb78f15b7b35d11b5ca639f7c3814214 - -PKG_LICENSE:=BSD-3-Clause -PKG_LICENSE_FILES:=LICENSE -PKG_MAINTAINER:=Jeffery To - -PKG_BUILD_DEPENDS:=golang/host -PKG_BUILD_PARALLEL:=1 - -GO_PKG:=golang.org/x/crypto -GO_PKG_SOURCE_ONLY:=1 - -include $(INCLUDE_DIR)/package.mk -include ../golang-package.mk - -define Package/golang-golang-x-crypto-dev -$(call GoPackage/GoSubMenu) - TITLE:=Go supplementary cryptography libraries - URL:=https://godoc.org/golang.org/x/crypto - DEPENDS:=$(GO_ARCH_DEPENDS) \ - +golang-golang-x-net-dev \ - +golang-golang-x-sys-dev - PKGARCH:=all -endef - -define Package/golang-golang-x-crypto-dev/description -Supplementary Go cryptography libraries. -endef - -$(eval $(call GoSrcPackage,golang-golang-x-crypto-dev)) -$(eval $(call BuildPackage,golang-golang-x-crypto-dev)) diff --git a/golang/golang-golang-x-net/Makefile b/golang/golang-golang-x-net/Makefile deleted file mode 100644 index 979d9be7f..000000000 --- a/golang/golang-golang-x-net/Makefile +++ /dev/null @@ -1,58 +0,0 @@ -# -# Copyright (C) 2018 Jeffery To -# -# This is free software, licensed under the GNU General Public License v2. -# See /LICENSE for more information. -# - -include $(TOPDIR)/rules.mk - -PKG_NAME:=golang-golang-x-net -PKG_RELEASE:=1 - -PKG_SOURCE_PROTO:=git -PKG_SOURCE_URL:=https://github.com/golang/net.git -PKG_SOURCE_VERSION:=afe8f62b1d6bbd81f31868121a50b06d8188e1f9 -PKG_SOURCE_DATE:=20180620 -PKG_MIRROR_HASH:=9a8bb3bf21ea60121d7e87f1bd1af9effbdcd908f758be99457653172d13eb1e - -PKG_LICENSE:=BSD-3-Clause -PKG_LICENSE_FILES:=LICENSE -PKG_MAINTAINER:=Jeffery To - -PKG_BUILD_DEPENDS:=golang/host -PKG_BUILD_PARALLEL:=1 - -GO_PKG:=golang.org/x/net -# exclude http2/h2i to break circular dependency with golang-golang-x-crypto-dev -# since there are no other binaries, can skip compilation -GO_PKG_SOURCE_ONLY:=1 - -include $(INCLUDE_DIR)/package.mk -include ../golang-package.mk - -define Package/golang-golang-x-net-dev -$(call GoPackage/GoSubMenu) - TITLE:=Go supplementary network libraries - URL:=https://godoc.org/golang.org/x/net - DEPENDS:=$(GO_ARCH_DEPENDS) +golang-golang-x-text-dev - PKGARCH:=all -endef - -define Package/golang-golang-x-net-dev/description -Supplementary Go networking libraries. -endef - -# http2/testdata/draft-ietf-httpbis-http2.xml is a non-free document -# http2/z_spec_test.go uses http2/testdata/draft-ietf-httpbis-http2.xml -define Package/golang-golang-x-net-dev/install - $(call GoPackage/Package/Install/Src,$(1)) - - rm -f $(1)$(GO_PKG_PATH)/src/$(GO_PKG)/http2/testdata/draft-ietf-httpbis-http2.xml - rmdir $(1)$(GO_PKG_PATH)/src/$(GO_PKG)/http2/testdata/ - - rm -f $(1)$(GO_PKG_PATH)/src/$(GO_PKG)/http2/z_spec_test.go -endef - -$(eval $(call GoSrcPackage,golang-golang-x-net-dev)) -$(eval $(call BuildPackage,golang-golang-x-net-dev)) diff --git a/golang/golang-golang-x-sys/Makefile b/golang/golang-golang-x-sys/Makefile deleted file mode 100644 index 5350f3cbe..000000000 --- a/golang/golang-golang-x-sys/Makefile +++ /dev/null @@ -1,46 +0,0 @@ -# -# Copyright (C) 2018 Jeffery To -# -# This is free software, licensed under the GNU General Public License v2. -# See /LICENSE for more information. -# - -include $(TOPDIR)/rules.mk - -PKG_NAME:=golang-golang-x-sys -PKG_RELEASE:=1 - -PKG_SOURCE_PROTO:=git -PKG_SOURCE_URL:=https://github.com/golang/sys.git -PKG_SOURCE_VERSION:=63fc586f45fe72d95d5240a5d5eb95e6503907d3 -PKG_SOURCE_DATE:=20180621 -PKG_MIRROR_HASH:=3afe7936fb9fb291ef9b9cfa88f51576cdc19abbd34240232ce284958ac7dbaf - -PKG_LICENSE:=BSD-3-Clause -PKG_LICENSE_FILES:=LICENSE -PKG_MAINTAINER:=Jeffery To - -PKG_BUILD_DEPENDS:=golang/host -PKG_BUILD_PARALLEL:=1 - -GO_PKG:=golang.org/x/sys -GO_PKG_SOURCE_ONLY:=1 - -include $(INCLUDE_DIR)/package.mk -include ../golang-package.mk - -define Package/golang-golang-x-sys-dev -$(call GoPackage/GoSubMenu) - TITLE:=Go packages for interaction with the OS - URL:=https://godoc.org/golang.org/x/sys - DEPENDS:=$(GO_ARCH_DEPENDS) - PKGARCH:=all -endef - -define Package/golang-golang-x-sys-dev/description -Supplementary Go packages for low-level interactions with the operating -system. -endef - -$(eval $(call GoSrcPackage,golang-golang-x-sys-dev)) -$(eval $(call BuildPackage,golang-golang-x-sys-dev)) diff --git a/golang/golang-golang-x-text/Makefile b/golang/golang-golang-x-text/Makefile deleted file mode 100644 index e3b1120b9..000000000 --- a/golang/golang-golang-x-text/Makefile +++ /dev/null @@ -1,47 +0,0 @@ -# -# Copyright (C) 2018 Jeffery To -# -# This is free software, licensed under the GNU General Public License v2. -# See /LICENSE for more information. -# - -include $(TOPDIR)/rules.mk - -PKG_NAME:=golang-golang-x-text -PKG_RELEASE:=1 - -PKG_SOURCE_PROTO:=git -PKG_SOURCE_URL:=https://github.com/golang/text.git -PKG_SOURCE_VERSION:=5cec4b58c438bd98288aeb248bab2c1840713d21 -PKG_SOURCE_DATE:=20180520 -PKG_MIRROR_HASH:=6c541a59f32f57afa54a2216045ddf16a077f8fe2e823fbbe77723eca04ddddb - -PKG_LICENSE:=BSD-3-Clause -PKG_LICENSE_FILES:=LICENSE -PKG_MAINTAINER:=Jeffery To - -PKG_BUILD_DEPENDS:=golang/host -PKG_BUILD_PARALLEL:=1 - -GO_PKG:=golang.org/x/text -# exclude gotext (and message/pipeline) to avoid dependency on golang.org/x/tools -# since there are no other binaries, can skip compilation -GO_PKG_SOURCE_ONLY:=1 - -include $(INCLUDE_DIR)/package.mk -include ../golang-package.mk - -define Package/golang-golang-x-text-dev -$(call GoPackage/GoSubMenu) - TITLE:=Go text processing support - URL:=https://godoc.org/golang.org/x/text - DEPENDS:=$(GO_ARCH_DEPENDS) - PKGARCH:=all -endef - -define Package/golang-golang-x-text-dev/description -Supplementary Go libraries for text processing, many involving Unicode. -endef - -$(eval $(call GoSrcPackage,golang-golang-x-text-dev)) -$(eval $(call BuildPackage,golang-golang-x-text-dev)) diff --git a/golang/golang-host-build.mk b/golang/golang-host-build.mk new file mode 100644 index 000000000..7c7551fd1 --- /dev/null +++ b/golang/golang-host-build.mk @@ -0,0 +1,220 @@ +# +# Copyright (C) 2020, 2022 Jeffery To +# +# This is free software, licensed under the GNU General Public License v2. +# See /LICENSE for more information. +# + +ifeq ($(origin GO_INCLUDE_DIR),undefined) + GO_INCLUDE_DIR:=$(dir $(lastword $(MAKEFILE_LIST))) +endif + +include $(GO_INCLUDE_DIR)/golang-values.mk + + +# these variables have the same meanings as in golang-package.mk +GO_HOST_INSTALL_EXTRA?=$(GO_PKG_INSTALL_EXTRA) +GO_HOST_INSTALL_ALL?=$(GO_PKG_INSTALL_ALL) +GO_HOST_SOURCE_ONLY?=$(GO_PKG_SOURCE_ONLY) +GO_HOST_BUILD_PKG?=$(GO_PKG_BUILD_PKG) +GO_HOST_EXCLUDES?=$(GO_PKG_EXCLUDES) +GO_HOST_GO_GENERATE?=$(GO_PKG_GO_GENERATE) +GO_HOST_GCFLAGS?=$(GO_PKG_GCFLAGS) +GO_HOST_LDFLAGS?=$(GO_PKG_LDFLAGS) +GO_HOST_LDFLAGS_X?=$(GO_PKG_LDFLAGS_X) +GO_HOST_TAGS?=$(GO_PKG_TAGS) +GO_HOST_INSTALL_BIN_PATH?=/bin + + +# need to repeat this here in case golang-package.mk is not included +GO_PKG_BUILD_PKG?=$(strip $(GO_PKG))/... + +GO_HOST_WORK_DIR_NAME:=.go_work +GO_HOST_BUILD_DIR=$(HOST_BUILD_DIR)/$(GO_HOST_WORK_DIR_NAME)/build +GO_HOST_BUILD_BIN_DIR=$(GO_HOST_BUILD_DIR)/bin + +GO_HOST_BUILD_DEPENDS_PATH:=/share/gocode +GO_HOST_BUILD_DEPENDS_SRC=$(STAGING_DIR_HOSTPKG)$(GO_HOST_BUILD_DEPENDS_PATH)/src + +GO_HOST_DIR_NAME:=$(lastword $(subst /,$(space),$(CURDIR))) +GO_HOST_STAGING_DIR:=$(TMP_DIR)/host-stage-$(GO_HOST_DIR_NAME) +GO_HOST_STAGING_FILES_LIST_DIR:=$(HOST_BUILD_PREFIX)/stamp +GO_HOST_BIN_STAGING_FILES_LIST:=$(GO_HOST_STAGING_FILES_LIST_DIR)/$(GO_HOST_DIR_NAME)-bin.list +GO_HOST_SRC_STAGING_FILES_LIST:=$(GO_HOST_STAGING_FILES_LIST_DIR)/$(GO_HOST_DIR_NAME)-src.list + +ifeq ($(GO_HOST_PIE_SUPPORTED),1) + GO_HOST_ENABLE_PIE:=1 +endif + +GO_HOST_BUILD_CONFIG_VARS= \ + GO_PKG="$(strip $(GO_PKG))" \ + GO_INSTALL_EXTRA="$(strip $(GO_HOST_INSTALL_EXTRA))" \ + GO_INSTALL_ALL="$(strip $(GO_HOST_INSTALL_ALL))" \ + GO_SOURCE_ONLY="$(strip $(GO_HOST_SOURCE_ONLY))" \ + GO_BUILD_PKG="$(strip $(GO_HOST_BUILD_PKG))" \ + GO_EXCLUDES="$(strip $(GO_HOST_EXCLUDES))" \ + GO_GO_GENERATE="$(strip $(GO_HOST_GO_GENERATE))" \ + GO_INSTALL_BIN_PATH="$(strip $(GO_HOST_INSTALL_BIN_PATH))" \ + BUILD_DIR="$(HOST_BUILD_DIR)" \ + GO_BUILD_DIR="$(GO_HOST_BUILD_DIR)" \ + GO_BUILD_BIN_DIR="$(GO_HOST_BUILD_BIN_DIR)" \ + GO_BUILD_DEPENDS_PATH="$(GO_HOST_BUILD_DEPENDS_PATH)" \ + GO_BUILD_DEPENDS_SRC="$(GO_HOST_BUILD_DEPENDS_SRC)" + +GO_HOST_MORE_CFLAGS?= \ + -Wformat -Werror=format-security \ + -fstack-protector-strong \ + -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=2 \ + -Wl,-z,now -Wl,-z,relro \ + $(if $(GO_HOST_ENABLE_PIE),$(FPIC)) + +GO_HOST_MORE_LDFLAGS?= \ + -znow -zrelro \ + $(if $(GO_HOST_ENABLE_PIE),$(FPIC) -specs=$(INCLUDE_DIR)/hardened-ld-pie.specs) + +GO_HOST_TARGET_VARS= \ + CGO_ENABLED=1 \ + CC=gcc \ + CXX=g++ \ + PKG_CONFIG=pkg-config \ + CGO_CFLAGS="$(HOST_CFLAGS) $(GO_HOST_MORE_CFLAGS)" \ + CGO_CPPFLAGS="$(HOST_CPPFLAGS) $(GO_HOST_MORE_CPPFLAGS)" \ + CGO_CXXFLAGS="$(HOST_CFLAGS) $(GO_HOST_MORE_CFLAGS)" \ + CGO_LDFLAGS="$(HOST_LDFLAGS) $(GO_HOST_MORE_LDFLAGS)" \ + GO_GCC_HELPER_CC="$(HOSTCC)" \ + GO_GCC_HELPER_CXX="$(HOSTCXX)" \ + GO_GCC_HELPER_PATH="$$$$PATH" \ + PATH="$(STAGING_DIR_HOSTPKG)/lib/go-cross/openwrt:$$$$PATH" + +GO_HOST_BUILD_VARS= \ + GOPATH="$(GO_HOST_BUILD_DIR)" \ + GOCACHE="$(GO_BUILD_CACHE_DIR)" \ + GOMODCACHE="$(GO_MOD_CACHE_DIR)" \ + GOENV=off + +GO_HOST_VARS= \ + $(GO_HOST_TARGET_VARS) \ + $(GO_HOST_BUILD_VARS) + +GO_HOST_DEFAULT_LDFLAGS= \ + -linkmode external \ + -extldflags '$(patsubst -z%,-Wl$(comma)-z$(comma)%,$(HOST_LDFLAGS) $(GO_HOST_MORE_LDFLAGS))' + +GO_HOST_CUSTOM_LDFLAGS= \ + $(GO_HOST_LDFLAGS) \ + $(patsubst %,-X %,$(GO_HOST_LDFLAGS_X)) + +GO_HOST_INSTALL_ARGS= \ + -v \ + -ldflags "all=$(GO_HOST_DEFAULT_LDFLAGS)" \ + $(if $(GO_HOST_ENABLE_PIE),-buildmode pie) \ + $(if $(strip $(GO_HOST_GCFLAGS)),-gcflags "$(GO_HOST_GCFLAGS)") \ + $(if $(strip $(GO_HOST_CUSTOM_LDFLAGS)),-ldflags "$(GO_HOST_CUSTOM_LDFLAGS) $(GO_HOST_DEFAULT_LDFLAGS)") \ + $(if $(strip $(GO_HOST_TAGS)),-tags "$(GO_HOST_TAGS)") + +define GoHost/Host/Configure + $(GO_GENERAL_BUILD_CONFIG_VARS) \ + $(GO_HOST_BUILD_CONFIG_VARS) \ + $(SHELL) $(GO_INCLUDE_DIR)/golang-build.sh configure +endef + +# $(1) additional arguments for go command line (optional) +define GoHost/Host/Compile + $(GO_GENERAL_BUILD_CONFIG_VARS) \ + $(GO_HOST_BUILD_CONFIG_VARS) \ + $(GO_HOST_VARS) \ + $(SHELL) $(GO_INCLUDE_DIR)/golang-build.sh build $(GO_HOST_INSTALL_ARGS) $(1) +endef + +define GoHost/Host/Install/Bin + rm -rf "$(GO_HOST_STAGING_DIR)" + mkdir -p "$(GO_HOST_STAGING_DIR)" "$(GO_HOST_STAGING_FILES_LIST_DIR)" + + $(GO_GENERAL_BUILD_CONFIG_VARS) \ + $(GO_HOST_BUILD_CONFIG_VARS) \ + $(SHELL) $(GO_INCLUDE_DIR)/golang-build.sh install_bin "$(GO_HOST_STAGING_DIR)" + + if [ -f "$(GO_HOST_BIN_STAGING_FILES_LIST)" ]; then \ + "$(SCRIPT_DIR)/clean-package.sh" \ + "$(GO_HOST_BIN_STAGING_FILES_LIST)" \ + "$(1)" ; \ + fi + + cd "$(GO_HOST_STAGING_DIR)" && find ./ > "$(GO_HOST_STAGING_DIR).files" + + $(call locked, \ + mv "$(GO_HOST_STAGING_DIR).files" "$(GO_HOST_BIN_STAGING_FILES_LIST)" && \ + $(CP) "$(GO_HOST_STAGING_DIR)"/* "$(1)/", \ + host-staging-dir \ + ) + + rm -rf "$(GO_HOST_STAGING_DIR)" +endef + +define GoHost/Host/Install/Src + rm -rf "$(GO_HOST_STAGING_DIR)" + mkdir -p "$(GO_HOST_STAGING_DIR)" "$(GO_HOST_STAGING_FILES_LIST_DIR)" + + $(GO_GENERAL_BUILD_CONFIG_VARS) \ + $(GO_HOST_BUILD_CONFIG_VARS) \ + $(SHELL) $(GO_INCLUDE_DIR)/golang-build.sh install_src "$(GO_HOST_STAGING_DIR)" + + if [ -f "$(GO_HOST_SRC_STAGING_FILES_LIST)" ]; then \ + "$(SCRIPT_DIR)/clean-package.sh" \ + "$(GO_HOST_SRC_STAGING_FILES_LIST)" \ + "$(1)" ; \ + fi + + cd "$(GO_HOST_STAGING_DIR)" && find ./ > "$(GO_HOST_STAGING_DIR).files" + + $(call locked, \ + mv "$(GO_HOST_STAGING_DIR).files" "$(GO_HOST_SRC_STAGING_FILES_LIST)" && \ + $(CP) "$(GO_HOST_STAGING_DIR)"/* "$(1)/", \ + host-staging-dir \ + ) + + rm -rf "$(GO_HOST_STAGING_DIR)" +endef + +define GoHost/Host/Install + $(if $(filter $(GO_HOST_SOURCE_ONLY),1),, \ + $(call GoHost/Host/Install/Bin,$(1)) \ + ) + $(call GoHost/Host/Install/Src,$(1)) +endef + +define GoHost/Host/Uninstall + if [ -f "$(GO_HOST_BIN_STAGING_FILES_LIST)" ]; then \ + "$(SCRIPT_DIR)/clean-package.sh" \ + "$(GO_HOST_BIN_STAGING_FILES_LIST)" \ + "$(HOST_BUILD_PREFIX)" ; \ + rm -f "$(GO_HOST_BIN_STAGING_FILES_LIST)" ; \ + fi + + if [ -f "$(GO_HOST_SRC_STAGING_FILES_LIST)" ]; then \ + "$(SCRIPT_DIR)/clean-package.sh" \ + "$(GO_HOST_SRC_STAGING_FILES_LIST)" \ + "$(HOST_BUILD_PREFIX)" ; \ + rm -f "$(GO_HOST_SRC_STAGING_FILES_LIST)" ; \ + fi +endef + + +ifneq ($(strip $(GO_PKG)),) + Host/Configure=$(call GoHost/Host/Configure) + Host/Compile=$(call GoHost/Host/Compile) + Hooks/HostCompile/Post+=Go/CacheCleanup + Host/Uninstall=$(call GoHost/Host/Uninstall,$(1)) +endif + +define GoHostBuild + Host/Install=$$(call GoHost/Host/Install,$$(1)) +endef + +define GoBinHostBuild + Host/Install=$$(call GoHost/Host/Install/Bin,$$(1)) +endef + +define GoSrcHostBuild + Host/Install=$$(call GoHost/Host/Install/Src,$$(1)) +endef diff --git a/golang/golang-package.mk b/golang/golang-package.mk index 3cb98132f..cc0050536 100644 --- a/golang/golang-package.mk +++ b/golang/golang-package.mk @@ -1,5 +1,5 @@ # -# Copyright (C) 2018 Jeffery To +# Copyright (C) 2018-2022 Jeffery To # # This is free software, licensed under the GNU General Public License v2. # See /LICENSE for more information. @@ -28,10 +28,12 @@ include $(GO_INCLUDE_DIR)/golang-values.mk # files are installed: # # * Files with one of these extensions: -# .go, .c, .cc, .h, .hh, .proto, .s +# .go, .c, .cc, .cpp, .h, .hh, .hpp, .proto, .s # # * Files in any 'testdata' directory # +# * go.mod, go.sum and go.work, in any directory +# # e.g. GO_PKG_INSTALL_EXTRA:=example.toml marshal_test.toml # # @@ -54,7 +56,7 @@ include $(GO_INCLUDE_DIR)/golang-values.mk # GO_PKG_BUILD_PKG - list of build targets, default GO_PKG/... # # Build targets for compiling this Go package, i.e. arguments passed -# to 'go install' +# to 'go install'. # # e.g. GO_PKG_BUILD_PKG:=github.com/debian/ratt/cmd/... # @@ -74,28 +76,92 @@ include $(GO_INCLUDE_DIR)/golang-values.mk # not necessary. # # e.g. GO_PKG_GO_GENERATE:=1 +# +# +# GO_PKG_GCFLAGS - list of options, default empty +# +# Additional go tool compile options to use when building targets. +# +# e.g. GO_PKG_GCFLAGS:=-N -l +# +# +# GO_PKG_LDFLAGS - list of options, default empty +# +# Additional go tool link options to use when building targets. +# +# Note that the OpenWrt build system has an option to strip binaries +# (enabled by default), so -s (Omit the symbol table and debug +# information) and -w (Omit the DWARF symbol table) flags are not +# necessary. +# +# e.g. GO_PKG_LDFLAGS:=-r dir1:dir2 -u +# +# +# GO_PKG_LDFLAGS_X - list of string variable definitions, default empty +# +# Each definition will be passed as the parameter to the -X go tool +# link option, i.e. -ldflags "-X importpath.name=value". +# +# e.g. GO_PKG_LDFLAGS_X:=main.Version=$(PKG_VERSION) main.BuildStamp=$(SOURCE_DATE_EPOCH) +# +# +# GO_PKG_TAGS - list of build tags, default empty +# +# Build tags to consider satisfied during the build, passed as the +# parameter to the -tags option for 'go install'. +# +# e.g. GO_PKG_TAGS:=release,noupgrade +# +# +# GO_PKG_INSTALL_BIN_PATH - target directory path, default /usr/bin +# +# Directory path under "dest_dir" where binaries will be installed by +# '$(call GoPackage/Package/Install/Bin,dest_dir)'. +# +# e.g. GO_PKG_INSTALL_BIN_PATH:=/sbin # Credit for this package build process (GoPackage/Build/Configure and # GoPackage/Build/Compile) belong to Debian's dh-golang completely. -# https://anonscm.debian.org/cgit/pkg-go/packages/dh-golang.git +# https://salsa.debian.org/go-team/packages/dh-golang -# for building packages, not user code -GO_PKG_PATH:=/usr/share/gocode - -GO_PKG_BUILD_PKG?=$(GO_PKG)/... +GO_PKG_BUILD_PKG?=$(strip $(GO_PKG))/... +GO_PKG_INSTALL_BIN_PATH?=/usr/bin GO_PKG_WORK_DIR_NAME:=.go_work -GO_PKG_WORK_DIR:=$(PKG_BUILD_DIR)/$(GO_PKG_WORK_DIR_NAME) +GO_PKG_BUILD_DIR=$(PKG_BUILD_DIR)/$(GO_PKG_WORK_DIR_NAME)/build +GO_PKG_BUILD_BIN_DIR=$(GO_PKG_BUILD_DIR)/bin$(if $(GO_HOST_TARGET_DIFFERENT),/$(GO_OS_ARCH)) -GO_PKG_BUILD_DIR:=$(GO_PKG_WORK_DIR)/build -GO_PKG_CACHE_DIR:=$(GO_PKG_WORK_DIR)/cache -GO_PKG_TMP_DIR:=$(GO_PKG_WORK_DIR)/tmp +GO_PKG_BUILD_DEPENDS_PATH:=/usr/share/gocode +GO_PKG_BUILD_DEPENDS_SRC=$(STAGING_DIR)$(GO_PKG_BUILD_DEPENDS_PATH)/src -GO_PKG_BUILD_BIN_DIR:=$(GO_PKG_BUILD_DIR)/bin$(if \ - $(GO_HOST_TARGET_DIFFERENT),/$(GO_OS)_$(GO_ARCH)) +ifdef CONFIG_PKG_ASLR_PIE_ALL + ifeq ($(strip $(PKG_ASLR_PIE)),1) + ifeq ($(GO_TARGET_PIE_SUPPORTED),1) + GO_PKG_ENABLE_PIE:=1 + else + $(warning PIE buildmode is not supported for $(GO_OS)/$(GO_ARCH)) + endif + endif +endif -GO_PKG_BUILD_DEPENDS_SRC:=$(STAGING_DIR)$(GO_PKG_PATH)/src +ifdef CONFIG_PKG_ASLR_PIE_REGULAR + ifeq ($(strip $(PKG_ASLR_PIE_REGULAR)),1) + ifeq ($(GO_TARGET_PIE_SUPPORTED),1) + GO_PKG_ENABLE_PIE:=1 + else + $(warning PIE buildmode is not supported for $(GO_OS)/$(GO_ARCH)) + endif + endif +endif + +ifdef CONFIG_GOLANG_SPECTRE + ifeq ($(GO_TARGET_SPECTRE_SUPPORTED),1) + GO_PKG_ENABLE_SPECTRE:=1 + else + $(warning Spectre mitigations are not supported for $(GO_ARCH)) + endif +endif # sstrip causes corrupted section header size ifneq ($(CONFIG_USE_SSTRIP),) @@ -105,16 +171,6 @@ ifneq ($(CONFIG_USE_SSTRIP),) GO_PKG_STRIP_ARGS:=--strip-all endif STRIP:=$(TARGET_CROSS)strip $(GO_PKG_STRIP_ARGS) - RSTRIP= \ - export CROSS="$(TARGET_CROSS)" \ - $(if $(PKG_BUILD_ID),KEEP_BUILD_ID=1) \ - $(if $(CONFIG_KERNEL_KALLSYMS),NO_RENAME=1) \ - $(if $(CONFIG_KERNEL_PROFILING),KEEP_SYMBOLS=1); \ - NM="$(TARGET_CROSS)nm" \ - STRIP="$(STRIP)" \ - STRIP_KMOD="$(SCRIPT_DIR)/strip-kmod.sh" \ - PATCHELF="$(STAGING_DIR_HOST)/bin/patchelf" \ - $(SCRIPT_DIR)/rstrip.sh endif define GoPackage/GoSubMenu @@ -123,151 +179,91 @@ define GoPackage/GoSubMenu CATEGORY:=Languages endef -define GoPackage/Environment - GOOS=$(GO_OS) \ - GOARCH=$(GO_ARCH) \ - GO386=$(GO_386) \ - GOARM=$(GO_ARM) \ - GOMIPS=$(GO_MIPS) \ - GOMIPS64=$(GO_MIPS64) \ +GO_PKG_BUILD_CONFIG_VARS= \ + GO_PKG="$(strip $(GO_PKG))" \ + GO_INSTALL_EXTRA="$(strip $(GO_PKG_INSTALL_EXTRA))" \ + GO_INSTALL_ALL="$(strip $(GO_PKG_INSTALL_ALL))" \ + GO_SOURCE_ONLY="$(strip $(GO_PKG_SOURCE_ONLY))" \ + GO_BUILD_PKG="$(strip $(GO_PKG_BUILD_PKG))" \ + GO_EXCLUDES="$(strip $(GO_PKG_EXCLUDES))" \ + GO_GO_GENERATE="$(strip $(GO_PKG_GO_GENERATE))" \ + GO_INSTALL_BIN_PATH="$(strip $(GO_PKG_INSTALL_BIN_PATH))" \ + BUILD_DIR="$(PKG_BUILD_DIR)" \ + GO_BUILD_DIR="$(GO_PKG_BUILD_DIR)" \ + GO_BUILD_BIN_DIR="$(GO_PKG_BUILD_BIN_DIR)" \ + GO_BUILD_DEPENDS_PATH="$(GO_PKG_BUILD_DEPENDS_PATH)" \ + GO_BUILD_DEPENDS_SRC="$(GO_PKG_BUILD_DEPENDS_SRC)" + +GO_PKG_TARGET_VARS= \ + GOOS="$(GO_OS)" \ + GOARCH="$(GO_ARCH)" \ + GO386="$(GO_386)" \ + GOAMD64="$(GO_AMD64)" \ + GOARM="$(GO_ARM)" \ + GOMIPS="$(GO_MIPS)" \ + GOMIPS64="$(GO_MIPS64)" \ + GOPPC64="$(GO_PPC64)" \ CGO_ENABLED=1 \ + CC="$(TARGET_CC)" \ + CXX="$(TARGET_CXX)" \ CGO_CFLAGS="$(filter-out $(GO_CFLAGS_TO_REMOVE),$(TARGET_CFLAGS))" \ CGO_CPPFLAGS="$(TARGET_CPPFLAGS)" \ - CGO_CXXFLAGS="$(filter-out $(GO_CFLAGS_TO_REMOVE),$(TARGET_CXXFLAGS))" -endef + CGO_CXXFLAGS="$(filter-out $(GO_CFLAGS_TO_REMOVE),$(TARGET_CXXFLAGS))" \ + CGO_LDFLAGS="$(TARGET_LDFLAGS)" -# false if directory does not exist -GoPackage/is_dir_not_empty=$$$$($(FIND) $(1) -maxdepth 0 -type d \! -empty 2>/dev/null) +GO_PKG_BUILD_VARS= \ + GOPATH="$(GO_PKG_BUILD_DIR)" \ + GOCACHE="$(GO_BUILD_CACHE_DIR)" \ + GOMODCACHE="$(GO_MOD_CACHE_DIR)" \ + GOENV=off \ + GOTOOLCHAIN=local -GoPackage/has_binaries=$(call GoPackage/is_dir_not_empty,$(GO_PKG_BUILD_BIN_DIR)) +GO_PKG_VARS= \ + $(GO_PKG_TARGET_VARS) \ + $(GO_PKG_BUILD_VARS) + +GO_PKG_DEFAULT_GCFLAGS= \ + $(if $(GO_PKG_ENABLE_SPECTRE),-spectre all) + +GO_PKG_DEFAULT_ASMFLAGS= \ + $(if $(GO_PKG_ENABLE_SPECTRE),-spectre all) + +GO_PKG_DEFAULT_LDFLAGS= \ + -buildid '$(SOURCE_DATE_EPOCH)' \ + -linkmode external \ + -extldflags '$(patsubst -z%,-Wl$(comma)-z$(comma)%,$(TARGET_LDFLAGS))' + +GO_PKG_CUSTOM_LDFLAGS= \ + $(GO_PKG_LDFLAGS) \ + $(patsubst %,-X %,$(GO_PKG_LDFLAGS_X)) + +GO_PKG_INSTALL_ARGS= \ + -v \ + -buildvcs=false \ + -trimpath \ + -ldflags "all=$(GO_PKG_DEFAULT_LDFLAGS)" \ + $(if $(strip $(GO_PKG_DEFAULT_GCFLAGS)),-gcflags "all=$(GO_PKG_DEFAULT_GCFLAGS)") \ + $(if $(strip $(GO_PKG_DEFAULT_ASMFLAGS)),-asmflags "all=$(GO_PKG_DEFAULT_ASMFLAGS)") \ + $(if $(GO_PKG_ENABLE_PIE),-buildmode pie) \ + $(if $(filter $(GO_ARCH),arm),-installsuffix "v$(GO_ARM)") \ + $(if $(filter $(GO_ARCH),mips mipsle),-installsuffix "$(GO_MIPS)") \ + $(if $(filter $(GO_ARCH),mips64 mips64le),-installsuffix "$(GO_MIPS64)") \ + $(if $(strip $(GO_PKG_GCFLAGS)),-gcflags "$(GO_PKG_GCFLAGS) $(GO_PKG_DEFAULT_GCFLAGS)") \ + $(if $(strip $(GO_PKG_CUSTOM_LDFLAGS)),-ldflags "$(GO_PKG_CUSTOM_LDFLAGS) $(GO_PKG_DEFAULT_LDFLAGS)") \ + $(if $(strip $(GO_PKG_TAGS)),-tags "$(GO_PKG_TAGS)") define GoPackage/Build/Configure - ( \ - cd $(PKG_BUILD_DIR) ; \ - mkdir -p $(GO_PKG_BUILD_DIR)/bin $(GO_PKG_BUILD_DIR)/src \ - $(GO_PKG_CACHE_DIR) $(GO_PKG_TMP_DIR) ; \ - \ - files=$$$$($(FIND) ./ \ - -type d -a \( -path './.git' -o -path './$(GO_PKG_WORK_DIR_NAME)' \) -prune -o \ - \! -type d -print | \ - sed 's|^\./||') ; \ - \ - if [ "$(GO_PKG_INSTALL_ALL)" != 1 ]; then \ - code=$$$$(echo "$$$$files" | grep '\.\(c\|cc\|go\|h\|hh\|proto\|s\)$$$$') ; \ - testdata=$$$$(echo "$$$$files" | grep '\(^\|/\)testdata/') ; \ - \ - for pattern in $(GO_PKG_INSTALL_EXTRA); do \ - extra=$$$$(echo "$$$$extra"; echo "$$$$files" | grep "$$$$pattern") ; \ - done ; \ - \ - files=$$$$(echo "$$$$code"; echo "$$$$testdata"; echo "$$$$extra") ; \ - files=$$$$(echo "$$$$files" | grep -v '^[[:space:]]*$$$$' | sort -u) ; \ - fi ; \ - \ - echo "Copying files from $(PKG_BUILD_DIR) into $(GO_PKG_BUILD_DIR)/src/$(GO_PKG)" ; \ - for file in $$$$files; do \ - echo $$$$file ; \ - dest=$(GO_PKG_BUILD_DIR)/src/$(GO_PKG)/$$$$file ; \ - mkdir -p $$$$(dirname $$$$dest) ; \ - $(CP) $$$$file $$$$dest ; \ - done ; \ - echo ; \ - \ - link_contents() { \ - local src=$$$$1 ; \ - local dest=$$$$2 ; \ - local dirs dir base ; \ - \ - if [ -n "$$$$($(FIND) $$$$src -mindepth 1 -maxdepth 1 -name '*.go' \! -type d)" ]; then \ - echo "$$$$src is already a Go library" ; \ - return 1 ; \ - fi ; \ - \ - dirs=$$$$($(FIND) $$$$src -mindepth 1 -maxdepth 1 -type d) ; \ - for dir in $$$$dirs; do \ - base=$$$$(basename $$$$dir) ; \ - if [ -d $$$$dest/$$$$base ]; then \ - case $$$$dir in \ - *$(GO_PKG_PATH)/src/$(GO_PKG)) \ - echo "$(GO_PKG) is already installed. Please check for circular dependencies." ;; \ - *) \ - link_contents $$$$src/$$$$base $$$$dest/$$$$base ;; \ - esac ; \ - else \ - echo "...$$$${src#$(GO_PKG_BUILD_DEPENDS_SRC)}/$$$$base" ; \ - $(LN) $$$$src/$$$$base $$$$dest/$$$$base ; \ - fi ; \ - done ; \ - } ; \ - \ - if [ "$(GO_PKG_SOURCE_ONLY)" != 1 ]; then \ - if [ -d $(GO_PKG_BUILD_DEPENDS_SRC) ]; then \ - echo "Symlinking directories from $(GO_PKG_BUILD_DEPENDS_SRC) into $(GO_PKG_BUILD_DIR)/src" ; \ - link_contents $(GO_PKG_BUILD_DEPENDS_SRC) $(GO_PKG_BUILD_DIR)/src ; \ - else \ - echo "$(GO_PKG_BUILD_DEPENDS_SRC) does not exist, skipping symlinks" ; \ - fi ; \ - else \ - echo "Not building binaries, skipping symlinks" ; \ - fi ; \ - echo ; \ - ) + $(GO_GENERAL_BUILD_CONFIG_VARS) \ + $(GO_PKG_BUILD_CONFIG_VARS) \ + $(SHELL) $(GO_INCLUDE_DIR)/golang-build.sh configure endef # $(1) additional arguments for go command line (optional) define GoPackage/Build/Compile - ( \ - cd $(GO_PKG_BUILD_DIR) ; \ - export GOPATH=$(GO_PKG_BUILD_DIR) \ - GOCACHE=$(GO_PKG_CACHE_DIR) \ - GOTMPDIR=$(GO_PKG_TMP_DIR) \ - GOROOT_FINAL=$(GO_TARGET_ROOT) \ - CC=$(TARGET_CC) \ - CXX=$(TARGET_CXX) \ - $(call GoPackage/Environment) ; \ - \ - echo "Finding targets" ; \ - targets=$$$$(go list $(GO_PKG_BUILD_PKG)) ; \ - for pattern in $(GO_PKG_EXCLUDES); do \ - targets=$$$$(echo "$$$$targets" | grep -v "$$$$pattern") ; \ - done ; \ - echo ; \ - \ - if [ "$(GO_PKG_GO_GENERATE)" = 1 ]; then \ - echo "Calling go generate" ; \ - go generate -v $(1) $$$$targets ; \ - echo ; \ - fi ; \ - \ - if [ "$(GO_PKG_SOURCE_ONLY)" != 1 ]; then \ - echo "Building targets" ; \ - case $(GO_ARCH) in \ - arm) installsuffix="-installsuffix v$(GO_ARM)" ;; \ - mips|mipsle) installsuffix="-installsuffix $(GO_MIPS)" ;; \ - mips64|mips64le) installsuffix="-installsuffix $(GO_MIPS64)" ;; \ - esac ; \ - ldflags="all=-linkmode external -extldflags '$(TARGET_LDFLAGS)'" ; \ - go install \ - $$$$installsuffix \ - -trimpath \ - -ldflags "$$$$ldflags" \ - -v \ - $(1) \ - $$$$targets ; \ - retval=$$$$? ; \ - echo ; \ - \ - if [ "$$$$retval" -eq 0 ] && [ -z "$(call GoPackage/has_binaries)" ]; then \ - echo "No binaries were generated, consider adding GO_PKG_SOURCE_ONLY:=1 to Makefile" ; \ - echo ; \ - fi ; \ - \ - echo "Cleaning module download cache (golang/go#27455)" ; \ - go clean -modcache ; \ - echo ; \ - fi ; \ - exit $$$$retval ; \ - ) + $(GO_GENERAL_BUILD_CONFIG_VARS) \ + $(GO_PKG_BUILD_CONFIG_VARS) \ + $(GO_PKG_VARS) \ + $(SHELL) $(GO_INCLUDE_DIR)/golang-build.sh build $(GO_PKG_INSTALL_ARGS) $(1) endef define GoPackage/Build/InstallDev @@ -275,27 +271,33 @@ define GoPackage/Build/InstallDev endef define GoPackage/Package/Install/Bin - if [ -n "$(call GoPackage/has_binaries)" ]; then \ - $(INSTALL_DIR) $(1)/usr/bin ; \ - $(INSTALL_BIN) $(GO_PKG_BUILD_BIN_DIR)/* $(1)/usr/bin/ ; \ - fi + $(GO_GENERAL_BUILD_CONFIG_VARS) \ + $(GO_PKG_BUILD_CONFIG_VARS) \ + $(SHELL) $(GO_INCLUDE_DIR)/golang-build.sh install_bin "$(1)" endef define GoPackage/Package/Install/Src - dir=$$$$(dirname $(GO_PKG)) ; \ - $(INSTALL_DIR) $(1)$(GO_PKG_PATH)/src/$$$$dir ; \ - $(CP) $(GO_PKG_BUILD_DIR)/src/$(GO_PKG) $(1)$(GO_PKG_PATH)/src/$$$$dir/ + $(GO_GENERAL_BUILD_CONFIG_VARS) \ + $(GO_PKG_BUILD_CONFIG_VARS) \ + $(SHELL) $(GO_INCLUDE_DIR)/golang-build.sh install_src "$(1)" endef define GoPackage/Package/Install - $(call GoPackage/Package/Install/Bin,$(1)) + $(if $(filter $(GO_PKG_SOURCE_ONLY),1),, \ + $(call GoPackage/Package/Install/Bin,$(1)) \ + ) $(call GoPackage/Package/Install/Src,$(1)) endef -ifneq ($(GO_PKG),) +ifneq ($(strip $(GO_PKG)),) + ifeq ($(GO_TARGET_SPECTRE_SUPPORTED),1) + PKG_CONFIG_DEPENDS+=CONFIG_GOLANG_SPECTRE + endif + Build/Configure=$(call GoPackage/Build/Configure) Build/Compile=$(call GoPackage/Build/Compile) + Hooks/Compile/Post+=Go/CacheCleanup Build/InstallDev=$(call GoPackage/Build/InstallDev,$(1)) endif diff --git a/golang/golang-values.mk b/golang/golang-values.mk index fb3b229a5..7ee00898a 100644 --- a/golang/golang-values.mk +++ b/golang/golang-values.mk @@ -1,5 +1,5 @@ # -# Copyright (C) 2018 Jeffery To +# Copyright (C) 2018-2023 Jeffery To # # This is free software, licensed under the GNU General Public License v2. # See /LICENSE for more information. @@ -9,23 +9,123 @@ ifeq ($(origin GO_INCLUDE_DIR),undefined) GO_INCLUDE_DIR:=$(dir $(lastword $(MAKEFILE_LIST))) endif -include $(GO_INCLUDE_DIR)/golang-version.mk +# Unset environment variables +# There are more magic variables to track down, but ain't nobody got time for that +# From https://pkg.go.dev/cmd/go#hdr-Environment_variables + +# General-purpose environment variables: unexport \ - GOARCH GOBIN GOCACHE GODEBUG GOHOSTARCH GOOS GOPATH GORACE GOROOT GOTMPDIR GCCGO \ + GO111MODULE \ + GCCGO \ + GOARCH \ + GOBIN \ + GOCACHE \ + GOMODCACHE \ + GODEBUG \ + GOENV \ + GOFLAGS \ + GOOS \ + GOPATH \ + GOROOT \ + GOTOOLCHAIN \ + GOTMPDIR \ + GOWORK +# Unmodified: +# GOINSECURE +# GOPRIVATE +# GOPROXY +# GONOPROXY +# GOSUMDB +# GONOSUMDB +# GOVCS + +# Environment variables for use with cgo: +unexport \ + AR \ + CC \ CGO_ENABLED \ - CGO_CFLAGS CGO_CFLAGS_ALLOW CGO_CFLAGS_DISALLOW \ + CGO_CFLAGS CGO_CFLAGS_ALLOW CGO_CFLAGS_DISALLOW \ CGO_CPPFLAGS CGO_CPPFLAGS_ALLOW CGO_CPPFLAGS_DISALLOW \ CGO_CXXFLAGS CGO_CXXFLAGS_ALLOW CGO_CXXFLAGS_DISALLOW \ - CGO_FFLAGS CGO_FFLAGS_ALLOW CGO_FFLAGS_DISALLOW \ - CGO_LDFLAGS CGO_LDFLAGS_ALLOW CGO_LDFLAGS_DISALLOW \ - GOARM GO386 GOMIPS GOMIPS64 \ - GOROOT_FINAL GO_EXTLINK_ENABLED GIT_ALLOW_PROTOCOL \ - CC_FOR_TARGET CXX_FOR_TARGET GO_DISTFLAGS GO_GCFLAGS GO_LDFLAGS GOBUILDTIMELOGFILE GOROOT_BOOTSTRAP \ - BOOT_GO_GCFLAGS GOEXPERIMENT GOBOOTSTRAP_TOOLEXEC - # there are more magic environment variables to track down, but ain't nobody got time for that - # deliberately left untouched: GOPROXY GONOPROXY GOSUMDB GONOSUMDB GOPRIVATE + CGO_FFLAGS CGO_FFLAGS_ALLOW CGO_FFLAGS_DISALLOW \ + CGO_LDFLAGS CGO_LDFLAGS_ALLOW CGO_LDFLAGS_DISALLOW \ + CXX \ + FC +# Unmodified: +# PKG_CONFIG + +# Architecture-specific environment variables: +unexport \ + GOARM \ + GOARM64 \ + GO386 \ + GOAMD64 \ + GOMIPS \ + GOMIPS64 \ + GOPPC64 \ + GORISCV64 \ + GOWASM + +# Environment variables for use with code coverage: +unexport \ + GOCOVERDIR + +# Special-purpose environment variables: +unexport \ + GCCGOTOOLDIR \ + GOEXPERIMENT \ + GOROOT_FINAL \ + GO_EXTLINK_ENABLED +# Unmodified: +# GIT_ALLOW_PROTOCOL + +# From https://pkg.go.dev/runtime#hdr-Environment_Variables +unexport \ + GOGC \ + GOMEMLIMIT \ + GOMAXPROCS \ + GORACE \ + GOTRACEBACK + +# From https://pkg.go.dev/cmd/cgo#hdr-Using_cgo_with_the_go_command +unexport \ + CC_FOR_TARGET \ + CXX_FOR_TARGET +# Todo: +# CC_FOR_${GOOS}_${GOARCH} +# CXX_FOR_${GOOS}_${GOARCH} + +# From https://go.dev/doc/install/source#environment +unexport \ + GOHOSTOS \ + GOHOSTARCH + +# From https://go.dev/src/make.bash +unexport \ + GO_GCFLAGS \ + GO_LDFLAGS \ + GO_LDSO \ + GO_DISTFLAGS \ + GOBUILDTIMELOGFILE \ + GOROOT_BOOTSTRAP + +# From https://go.dev/doc/go1.9#parallel-compile +unexport \ + GO19CONCURRENTCOMPILATION + +# From https://go.dev/src/cmd/dist/build.go +unexport \ + BOOT_GO_GCFLAGS \ + BOOT_GO_LDFLAGS + +# From https://go.dev/src/cmd/dist/buildtool.go +unexport \ + GOBOOTSTRAP_TOOLEXEC + + +# GOOS / GOARCH go_arch=$(subst \ aarch64,arm64,$(subst \ @@ -43,31 +143,129 @@ GO_HOST_OS:=$(call tolower,$(HOST_OS)) GO_HOST_ARCH:=$(call go_arch,$(subst \ armv6l,arm,$(subst \ armv7l,arm,$(subst \ - i486,i386,$(subst \ - i586,i386,$(subst \ - i686,i386,$(HOST_ARCH))))))) + i686,i386,$(HOST_ARCH))))) GO_HOST_OS_ARCH:=$(GO_HOST_OS)_$(GO_HOST_ARCH) -GO_HOST_TARGET_SAME:=$(if $(and $(findstring $(GO_OS_ARCH),$(GO_HOST_OS_ARCH)),$(findstring $(GO_HOST_OS_ARCH),$(GO_OS_ARCH))),1) -GO_HOST_TARGET_DIFFERENT:=$(if $(GO_HOST_TARGET_SAME),,1) +ifeq ($(GO_OS_ARCH),$(GO_HOST_OS_ARCH)) + GO_HOST_TARGET_SAME:=1 +else + GO_HOST_TARGET_DIFFERENT:=1 +endif -# ensure binaries can run on older CPUs -GO_386:=387 +ifeq ($(GO_ARCH),386) + ifeq ($(CONFIG_TARGET_x86_geode)$(CONFIG_TARGET_x86_legacy),y) + GO_386:=softfloat + else + GO_386:=sse2 + endif -GO_ARM:=$(if $(CONFIG_arm_v7),7,$(if $(CONFIG_arm_v6),6,$(if $(findstring $(GO_ARCH),arm),5,))) + # -fno-plt: causes "unexpected GOT reloc for non-dynamic symbol" errors + GO_CFLAGS_TO_REMOVE:=-fno-plt -GO_MIPS:=$(if $(filter $(GO_ARCH),mips mipsle),$(if $(CONFIG_HAS_FPU),hardfloat,softfloat),) +else ifeq ($(GO_ARCH),amd64) + GO_AMD64:=v1 -GO_MIPS64:=$(if $(filter $(GO_ARCH),mips64 mips64le),$(if $(CONFIG_HAS_FPU),hardfloat,softfloat),) +else ifeq ($(GO_ARCH),arm) + GO_TARGET_FPU:=$(word 2,$(subst +,$(space),$(call qstrip,$(CONFIG_CPU_TYPE)))) -# -fno-plt: causes "unexpected GOT reloc for non-dynamic symbol" errors -# -mips32r2: conflicts with -march=mips32 set by go -GO_CFLAGS_TO_REMOVE:=$(if \ -$(filter $(GO_ARCH),386),-fno-plt,$(if \ -$(filter $(GO_ARCH),mips mipsle),-mips32r2,)) + # FPU names from https://gcc.gnu.org/onlinedocs/gcc-8.4.0/gcc/ARM-Options.html#index-mfpu-1 + # see also https://github.com/gcc-mirror/gcc/blob/releases/gcc-8.4.0/gcc/config/arm/arm-cpus.in -GO_ARCH_DEPENDS:=@(aarch64||arm||i386||i686||mips||mips64||mips64el||mipsel||powerpc64||x86_64) + ifeq ($(GO_TARGET_FPU),) + GO_ARM:=5 + else ifneq ($(filter $(GO_TARGET_FPU),vfp vfpv2),) + GO_ARM:=6 + else + GO_ARM:=7 + endif -GO_TARGET_PREFIX:=/usr -GO_TARGET_VERSION_ID:=$(GO_VERSION_MAJOR_MINOR) -GO_TARGET_ROOT:=$(GO_TARGET_PREFIX)/lib/go-$(GO_TARGET_VERSION_ID) +else ifneq ($(filter $(GO_ARCH),mips mipsle),) + ifeq ($(CONFIG_HAS_FPU),y) + GO_MIPS:=hardfloat + else + GO_MIPS:=softfloat + endif + + # -mips32r2: conflicts with -march=mips32 set by go + GO_CFLAGS_TO_REMOVE:=-mips32r2 + +else ifneq ($(filter $(GO_ARCH),mips64 mips64le),) + ifeq ($(CONFIG_HAS_FPU),y) + GO_MIPS64:=hardfloat + else + GO_MIPS64:=softfloat + endif + +else ifeq ($(GO_ARCH),ppc64) + GO_PPC64:=power8 + +endif + + +# Target Go + +GO_ARCH_DEPENDS:=@(aarch64||arm||i386||i686||mips||mips64||mips64el||mipsel||powerpc64||riscv64||x86_64) + + +# ASLR/PIE + +# From https://go.dev/src/internal/platform/supported.go +GO_PIE_SUPPORTED_OS_ARCH:= \ + android_386 android_amd64 android_arm android_arm64 \ + linux_386 linux_amd64 linux_arm linux_arm64 \ + windows_386 windows_amd64 windows_arm windows_arm64 \ + \ + darwin_amd64 darwin_arm64 \ + ios_amd64 ios_arm64 \ + \ + freebsd_amd64 \ + \ + aix_ppc64 \ + \ + linux_loong64 linux_ppc64le linux_riscv64 linux_s390x + +# From https://go.dev/src/cmd/go/internal/work/init.go +go_pie_install_suffix=$(if $(filter $(1),aix_ppc64 windows_386 windows_amd64 windows_arm windows_arm64),,shared) + +ifneq ($(filter $(GO_HOST_OS_ARCH),$(GO_PIE_SUPPORTED_OS_ARCH)),) + GO_HOST_PIE_SUPPORTED:=1 + GO_HOST_PIE_INSTALL_SUFFIX:=$(call go_pie_install_suffix,$(GO_HOST_OS_ARCH)) +endif + +ifneq ($(filter $(GO_OS_ARCH),$(GO_PIE_SUPPORTED_OS_ARCH)),) + GO_TARGET_PIE_SUPPORTED:=1 + GO_TARGET_PIE_INSTALL_SUFFIX:=$(call go_pie_install_suffix,$(GO_OS_ARCH)) +endif + + +# Spectre mitigations + +GO_SPECTRE_SUPPORTED_ARCH:=amd64 + +ifneq ($(filter $(GO_HOST_ARCH),$(GO_SPECTRE_SUPPORTED_ARCH)),) + GO_HOST_SPECTRE_SUPPORTED:=1 +endif + +ifneq ($(filter $(GO_ARCH),$(GO_SPECTRE_SUPPORTED_ARCH)),) + GO_TARGET_SPECTRE_SUPPORTED:=1 +endif + + +# General build info + +GO_BUILD_CACHE_DIR:=$(or $(call qstrip,$(CONFIG_GOLANG_BUILD_CACHE_DIR)),$(TMP_DIR)/go-build) +GO_MOD_CACHE_DIR:=$(DL_DIR)/go-mod-cache + +GO_MOD_ARGS= \ + -modcacherw + +GO_GENERAL_BUILD_CONFIG_VARS= \ + CONFIG_GOLANG_MOD_CACHE_WORLD_READABLE="$(CONFIG_GOLANG_MOD_CACHE_WORLD_READABLE)" \ + GO_BUILD_CACHE_DIR="$(GO_BUILD_CACHE_DIR)" \ + GO_MOD_CACHE_DIR="$(GO_MOD_CACHE_DIR)" \ + GO_MOD_ARGS="$(GO_MOD_ARGS)" + +define Go/CacheCleanup + $(GO_GENERAL_BUILD_CONFIG_VARS) \ + $(SHELL) $(GO_INCLUDE_DIR)/golang-build.sh cache_cleanup +endef diff --git a/golang/golang-version.mk b/golang/golang-version.mk deleted file mode 100644 index 4933cb5d6..000000000 --- a/golang/golang-version.mk +++ /dev/null @@ -1,14 +0,0 @@ -# -# Copyright (C) 2018 Jeffery To -# -# This is free software, licensed under the GNU General Public License v2. -# See /LICENSE for more information. -# - -ifeq ($(origin GO_INCLUDE_DIR),undefined) - GO_INCLUDE_DIR:=$(dir $(lastword $(MAKEFILE_LIST))) -endif - - -GO_VERSION_MAJOR_MINOR:=1.13 -GO_VERSION_PATCH:=4 diff --git a/golang/golang/Config.in b/golang/golang/Config.in new file mode 100644 index 000000000..76fd85c80 --- /dev/null +++ b/golang/golang/Config.in @@ -0,0 +1,33 @@ +menu "Configuration" + +config GOLANG_EXTERNAL_BOOTSTRAP_ROOT + string "External bootstrap Go root directory" + default "" + help + Path to a working Go tree (>= Go 1.4), with bin, pkg, and src + subdirectories and the Go compiler at bin/go. + + If specified, the existing Go installation will be used to + compile host (buildroot) Go. + + Leave blank to compile the default bootstrap Go. + +config GOLANG_BUILD_CACHE_DIR + string "Go build cache directory" + default "" + help + Store the Go build cache in this directory. + If not set, uses '$(TMP_DIR)/go-build'. + +config GOLANG_MOD_CACHE_WORLD_READABLE + bool "Ensure Go module cache is world-readable" + default n + +config GOLANG_SPECTRE + bool "Enable Spectre mitigations" + default n + depends on x86_64 + help + Currently only available for x86-64 (amd64). + +endmenu diff --git a/golang/golang/Makefile b/golang/golang/Makefile index dcce9730c..593f6ed5a 100644 --- a/golang/golang/Makefile +++ b/golang/golang/Makefile @@ -1,12 +1,14 @@ # -# Copyright (C) 2018 Jeffery To +# Copyright (C) 2018-2023 Jeffery To # # This is free software, licensed under the GNU General Public License v2. # See /LICENSE for more information. # include $(TOPDIR)/rules.mk -include ../golang-version.mk + +GO_VERSION_MAJOR_MINOR:=1.23 +GO_VERSION_PATCH:=4 PKG_NAME:=golang PKG_VERSION:=$(GO_VERSION_MAJOR_MINOR)$(if $(GO_VERSION_PATCH),.$(GO_VERSION_PATCH)) @@ -18,21 +20,20 @@ GO_SOURCE_URLS:=https://dl.google.com/go/ \ PKG_SOURCE:=go$(PKG_VERSION).src.tar.gz PKG_SOURCE_URL:=$(GO_SOURCE_URLS) -PKG_HASH:=95dbeab442ee2746b9acf0934c8e2fc26414a0565c008631b04addb8c02e7624 +PKG_HASH:=ad345ac421e90814293a9699cca19dd5238251c3f687980bbcae28495b263531 +PKG_MAINTAINER:=Jeffery To PKG_LICENSE:=BSD-3-Clause PKG_LICENSE_FILES:=LICENSE -PKG_MAINTAINER:=Jeffery To +PKG_CPE_ID:=cpe:/a:golang:go PKG_BUILD_DEPENDS:=golang/host PKG_BUILD_DIR:=$(BUILD_DIR)/go-$(PKG_VERSION) PKG_BUILD_PARALLEL:=1 -PKG_USE_MIPS16:=0 +PKG_BUILD_FLAGS:=no-mips16 -PKG_GO_WORK_DIR:=$(PKG_BUILD_DIR)/.go_work -PKG_GO_HOST_CACHE_DIR:=$(PKG_GO_WORK_DIR)/host_cache -PKG_GO_TARGET_CACHE_DIR:=$(PKG_GO_WORK_DIR)/target_cache -PKG_GO_TMP_DIR:=$(PKG_GO_WORK_DIR)/tmp +PKG_GO_PREFIX:=/usr +PKG_GO_VERSION_ID:=$(GO_VERSION_MAJOR_MINOR) HOST_BUILD_DIR:=$(BUILD_DIR_HOST)/go-$(PKG_VERSION) HOST_BUILD_PARALLEL:=1 @@ -42,18 +43,34 @@ HOST_GO_VERSION_ID:=cross HOST_GO_ROOT:=$(HOST_GO_PREFIX)/lib/go-$(HOST_GO_VERSION_ID) HOST_GO_VALID_OS_ARCH:= \ - android_arm \ - darwin_386 darwin_amd64 darwin_arm darwin_arm64 \ - dragonfly_amd64 \ - freebsd_386 freebsd_amd64 freebsd_arm \ - linux_386 linux_amd64 linux_arm linux_arm64 \ - netbsd_386 netbsd_amd64 netbsd_arm \ - openbsd_386 openbsd_amd64 openbsd_arm \ - plan9_386 plan9_amd64 \ - solaris_amd64 \ - windows_386 windows_amd64 \ + android_386 android_amd64 android_arm android_arm64 \ + freebsd_386 freebsd_amd64 freebsd_arm freebsd_arm64 \ + linux_386 linux_amd64 linux_arm linux_arm64 \ + openbsd_386 openbsd_amd64 openbsd_arm openbsd_arm64 \ + netbsd_386 netbsd_amd64 netbsd_arm netbsd_arm64 \ + windows_386 windows_amd64 windows_arm windows_arm64 \ \ - linux_ppc64 linux_ppc64le linux_mips linux_mipsle linux_mips64 linux_mips64le + plan9_386 plan9_amd64 plan9_arm \ + \ + darwin_amd64 darwin_arm64 \ + ios_amd64 ios_arm64 \ + \ + dragonfly_amd64 \ + illumos_amd64 \ + solaris_amd64 \ + \ + aix_ppc64 \ + js_wasm \ + wasip1_wasm \ + \ + freebsd_riscv64 \ + openbsd_riscv64 \ + \ + linux_ppc64 linux_ppc64le \ + linux_mips linux_mipsle linux_mips64 linux_mips64le \ + linux_loong64 linux_riscv64 linux_s390x \ + \ + openbsd_mips64 BOOTSTRAP_SOURCE:=go1.4-bootstrap-20171003.tar.gz BOOTSTRAP_SOURCE_URL:=$(GO_SOURCE_URLS) @@ -72,23 +89,41 @@ BOOTSTRAP_GO_VALID_OS_ARCH:= \ solaris_amd64 \ windows_386 windows_amd64 +BOOTSTRAP_1_17_SOURCE:=go1.17.13.src.tar.gz +BOOTSTRAP_1_17_SOURCE_URL:=$(GO_SOURCE_URLS) +BOOTSTRAP_1_17_HASH:=a1a48b23afb206f95e7bbaa9b898d965f90826f6f1d1fc0c1d784ada0cd300fd + +BOOTSTRAP_1_17_BUILD_DIR:=$(HOST_BUILD_DIR)/.go_bootstrap_1.17 + +BOOTSTRAP_1_20_SOURCE:=go1.20.6.src.tar.gz +BOOTSTRAP_1_20_SOURCE_URL:=$(GO_SOURCE_URLS) +BOOTSTRAP_1_20_HASH:=62ee5bc6fb55b8bae8f705e0cb8df86d6453626b4ecf93279e2867092e0b7f70 + +BOOTSTRAP_1_20_BUILD_DIR:=$(HOST_BUILD_DIR)/.go_bootstrap_1.20 + include $(INCLUDE_DIR)/host-build.mk include $(INCLUDE_DIR)/package.mk include ../golang-compiler.mk include ../golang-package.mk -PKG_UNPACK:=$(HOST_TAR) -C $(PKG_BUILD_DIR) --strip-components=1 -xzf $(DL_DIR)/$(PKG_SOURCE) -HOST_UNPACK:=$(HOST_TAR) -C $(HOST_BUILD_DIR) --strip-components=1 -xzf $(DL_DIR)/$(PKG_SOURCE) -BOOTSTRAP_UNPACK:=$(HOST_TAR) -C $(BOOTSTRAP_BUILD_DIR) --strip-components=1 -xzf $(DL_DIR)/$(BOOTSTRAP_SOURCE) +PKG_UNPACK:=$(HOST_TAR) -C "$(PKG_BUILD_DIR)" --strip-components=1 -xzf "$(DL_DIR)/$(PKG_SOURCE)" +HOST_UNPACK:=$(HOST_TAR) -C "$(HOST_BUILD_DIR)" --strip-components=1 -xzf "$(DL_DIR)/$(PKG_SOURCE)" +BOOTSTRAP_UNPACK:=$(HOST_TAR) -C "$(BOOTSTRAP_BUILD_DIR)" --strip-components=1 -xzf "$(DL_DIR)/$(BOOTSTRAP_SOURCE)" +BOOTSTRAP_1_17_UNPACK:=$(HOST_TAR) -C "$(BOOTSTRAP_1_17_BUILD_DIR)" --strip-components=1 -xzf "$(DL_DIR)/$(BOOTSTRAP_1_17_SOURCE)" +BOOTSTRAP_1_20_UNPACK:=$(HOST_TAR) -C "$(BOOTSTRAP_1_20_BUILD_DIR)" --strip-components=1 -xzf "$(DL_DIR)/$(BOOTSTRAP_1_20_SOURCE)" -# don't strip ELF executables in test data (and go itself) +# don't strip ELF executables in test data RSTRIP:=: STRIP:=: +ifeq ($(GO_TARGET_SPECTRE_SUPPORTED),1) + PKG_CONFIG_DEPENDS+=CONFIG_GOLANG_SPECTRE +endif + define Package/golang/Default $(call GoPackage/GoSubMenu) TITLE:=Go programming language - URL:=https://golang.org/ + URL:=https://go.dev/ DEPENDS:=$(GO_ARCH_DEPENDS) endef @@ -120,6 +155,10 @@ This package provides an assembler, compiler, linker, and compiled libraries for the Go programming language. endef +define Package/golang/config + source "$(SOURCE)/Config.in" +endef + define Package/golang-doc $(call Package/golang/Default) TITLE+= (documentation) @@ -143,36 +182,107 @@ This package provides the Go programming language source files needed for cross-compilation. endef -define Download/golang-bootstrap - FILE:=$(BOOTSTRAP_SOURCE) - URL:=$(BOOTSTRAP_SOURCE_URL) - HASH:=$(BOOTSTRAP_HASH) + +# Bootstrap + +BOOTSTRAP_ROOT_DIR:=$(call qstrip,$(CONFIG_GOLANG_EXTERNAL_BOOTSTRAP_ROOT)) + +ifeq ($(BOOTSTRAP_ROOT_DIR),) + BOOTSTRAP_ROOT_DIR:=$(BOOTSTRAP_BUILD_DIR) + + define Download/golang-bootstrap + FILE:=$(BOOTSTRAP_SOURCE) + URL:=$(BOOTSTRAP_SOURCE_URL) + HASH:=$(BOOTSTRAP_HASH) + endef + $(eval $(call Download,golang-bootstrap)) + + define Bootstrap/Prepare + mkdir -p "$(BOOTSTRAP_BUILD_DIR)" && $(BOOTSTRAP_UNPACK) ; + endef + Hooks/HostPrepare/Post+=Bootstrap/Prepare + + $(eval $(call GoCompiler/AddProfile,Bootstrap,$(BOOTSTRAP_BUILD_DIR),,bootstrap,$(GO_HOST_OS_ARCH))) +endif + + +# Bootstrap 1.17 + +define Download/golang-bootstrap-1.17 + FILE:=$(BOOTSTRAP_1_17_SOURCE) + URL:=$(BOOTSTRAP_1_17_SOURCE_URL) + HASH:=$(BOOTSTRAP_1_17_HASH) endef -$(eval $(call Download,golang-bootstrap)) +$(eval $(call Download,golang-bootstrap-1.17)) -$(eval $(call GoCompiler/AddProfile,Bootstrap,$(BOOTSTRAP_BUILD_DIR),,bootstrap,$(GO_HOST_OS_ARCH))) -$(eval $(call GoCompiler/AddProfile,Host,$(HOST_BUILD_DIR),$(HOST_GO_PREFIX),$(HOST_GO_VERSION_ID),$(GO_HOST_OS_ARCH))) -$(eval $(call GoCompiler/AddProfile,Package,$(PKG_BUILD_DIR),$(GO_TARGET_PREFIX),$(GO_TARGET_VERSION_ID),$(GO_OS_ARCH))) - -define Host/Prepare - $(call Host/Prepare/Default) - mkdir -p $(BOOTSTRAP_BUILD_DIR) - $(BOOTSTRAP_UNPACK) +define Bootstrap-1.17/Prepare + mkdir -p "$(BOOTSTRAP_1_17_BUILD_DIR)" && $(BOOTSTRAP_1_17_UNPACK) ; endef +Hooks/HostPrepare/Post+=Bootstrap-1.17/Prepare -define Host/Compile +$(eval $(call GoCompiler/AddProfile,Bootstrap-1.17,$(BOOTSTRAP_1_17_BUILD_DIR),,bootstrap-1.17,$(GO_HOST_OS_ARCH))) + +# Bootstrap 1.20 + +define Download/golang-bootstrap-1.20 + FILE:=$(BOOTSTRAP_1_20_SOURCE) + URL:=$(BOOTSTRAP_1_20_SOURCE_URL) + HASH:=$(BOOTSTRAP_1_20_HASH) +endef +$(eval $(call Download,golang-bootstrap-1.20)) + +define Bootstrap-1.20/Prepare + mkdir -p "$(BOOTSTRAP_1_20_BUILD_DIR)" && $(BOOTSTRAP_1_20_UNPACK) ; +endef +Hooks/HostPrepare/Post+=Bootstrap-1.20/Prepare + +$(eval $(call GoCompiler/AddProfile,Bootstrap-1.20,$(BOOTSTRAP_1_20_BUILD_DIR),,bootstrap-1.20,$(GO_HOST_OS_ARCH))) + + +# Host + +ifeq ($(GO_HOST_PIE_SUPPORTED),1) + HOST_GO_ENABLE_PIE:=1 +endif + +# when using GO_LDFLAGS to set buildmode=pie, the PIE install suffix +# does not apply (we also delete the std lib during Host/Install) + +$(eval $(call GoCompiler/AddProfile,Host,$(HOST_BUILD_DIR),$(HOST_GO_PREFIX),$(HOST_GO_VERSION_ID),$(GO_HOST_OS_ARCH),$(HOST_GO_INSTALL_SUFFIX))) + +HOST_GO_VARS= \ + GOHOSTARCH="$(GO_HOST_ARCH)" \ + GOCACHE="$(GO_BUILD_CACHE_DIR)" \ + GOENV=off \ + CC="$(HOSTCC_NOCACHE)" \ + CXX="$(HOSTCXX_NOCACHE)" + +define Host/Configure $(call GoCompiler/Bootstrap/CheckHost,$(BOOTSTRAP_GO_VALID_OS_ARCH)) $(call GoCompiler/Host/CheckHost,$(HOST_GO_VALID_OS_ARCH)) + mkdir -p "$(GO_BUILD_CACHE_DIR)" +endef + +define Host/Compile $(call GoCompiler/Bootstrap/Make, \ - CC=$(HOSTCC_NOCACHE) \ - CXX=$(HOSTCXX_NOCACHE) \ + $(HOST_GO_VARS) \ + ) + + $(call GoCompiler/Bootstrap-1.17/Make, \ + GOROOT_BOOTSTRAP="$(BOOTSTRAP_ROOT_DIR)" \ + $(HOST_GO_VARS) \ + ) + + $(call GoCompiler/Bootstrap-1.20/Make, \ + GOROOT_BOOTSTRAP="$(BOOTSTRAP_1_17_BUILD_DIR)" \ + $(HOST_GO_VARS) \ ) $(call GoCompiler/Host/Make, \ - GOROOT_BOOTSTRAP=$(BOOTSTRAP_BUILD_DIR) \ - CC=$(HOSTCC_NOCACHE) \ - CXX=$(HOSTCXX_NOCACHE) \ + GOROOT_BOOTSTRAP="$(BOOTSTRAP_1_20_BUILD_DIR)" \ + $(if $(HOST_GO_ENABLE_PIE),GO_LDFLAGS="-buildmode pie") \ + $(HOST_GO_VARS) \ ) endef @@ -187,77 +297,124 @@ define Host/Install $(call GoCompiler/Host/Install/BinLinks,) - rm -rf $(HOST_GO_ROOT)/pkg/$(GO_HOST_OS_ARCH) + rm -rf "$(HOST_GO_ROOT)/pkg/$(GO_HOST_OS_ARCH)$(if $(HOST_GO_INSTALL_SUFFIX),_$(HOST_GO_INSTALL_SUFFIX))" - $(INSTALL_DIR) $(HOST_GO_ROOT)/openwrt - $(INSTALL_BIN) ./files/go-gcc-helper $(HOST_GO_ROOT)/openwrt/ - $(LN) go-gcc-helper $(HOST_GO_ROOT)/openwrt/gcc - $(LN) go-gcc-helper $(HOST_GO_ROOT)/openwrt/g++ + $(INSTALL_DIR) "$(HOST_GO_ROOT)/openwrt" + $(INSTALL_BIN) ./files/go-gcc-helper "$(HOST_GO_ROOT)/openwrt/" + $(LN) go-gcc-helper "$(HOST_GO_ROOT)/openwrt/gcc" + $(LN) go-gcc-helper "$(HOST_GO_ROOT)/openwrt/g++" endef define Host/Uninstall - rm -rf $(HOST_GO_ROOT)/openwrt + rm -rf "$(HOST_GO_ROOT)/openwrt" $(call GoCompiler/Host/Uninstall/BinLinks,) $(call GoCompiler/Host/Uninstall,) endef -define Build/Compile - mkdir -p \ - $(PKG_GO_HOST_CACHE_DIR) \ - $(PKG_GO_TARGET_CACHE_DIR) \ - $(PKG_GO_TMP_DIR) +# Target + +ifeq ($(GO_PKG_ENABLE_PIE),1) + PKG_GO_INSTALL_SUFFIX:=$(GO_TARGET_PIE_INSTALL_SUFFIX) +endif + +$(eval $(call GoCompiler/AddProfile,Package,$(PKG_BUILD_DIR),$(PKG_GO_PREFIX),$(PKG_GO_VERSION_ID),$(GO_OS_ARCH),$(PKG_GO_INSTALL_SUFFIX))) + +PKG_GO_ZBOOTSTRAP_MODS:= \ + s/defaultGO386 = `[^`]*`/defaultGO386 = `$(or $(GO_386),sse2)`/; \ + s/defaultGOAMD64 = `[^`]*`/defaultGOAMD64 = `$(or $(GO_AMD64),v1)`/; \ + s/defaultGOARM = `[^`]*`/defaultGOARM = `$(or $(GO_ARM),7)`/; \ + s/defaultGOMIPS = `[^`]*`/defaultGOMIPS = `$(or $(GO_MIPS),hardfloat)`/; \ + s/defaultGOMIPS64 = `[^`]*`/defaultGOMIPS64 = `$(or $(GO_MIPS64),hardfloat)`/; \ + s/defaultGOPPC64 = `[^`]*`/defaultGOPPC64 = `$(or $(GO_PPC64),power8)`/; + +PKG_GO_ZBOOTSTRAP_PATH:=$(PKG_BUILD_DIR)/src/internal/buildcfg/zbootstrap.go + +PKG_GO_VARS= \ + GOHOSTARCH="$(GO_HOST_ARCH)" \ + GOCACHE="$(GO_BUILD_CACHE_DIR)" \ + GOENV=off \ + GO_GCC_HELPER_PATH="$$$$PATH" \ + CC=gcc \ + CXX=g++ \ + PKG_CONFIG=pkg-config \ + PATH="$(HOST_GO_ROOT)/openwrt:$$$$PATH" + +PKG_GO_GCFLAGS= \ + $(if $(GO_PKG_ENABLE_SPECTRE),-spectre all) + +PKG_GO_ASMFLAGS= \ + $(if $(GO_PKG_ENABLE_SPECTRE),-spectre all) + +PKG_GO_LDFLAGS= \ + -buildid '$(SOURCE_DATE_EPOCH)' \ + -linkmode external \ + -extldflags '$(patsubst -z%,-Wl$(comma)-z$(comma)%,$(TARGET_LDFLAGS))' \ + $(if $(CONFIG_NO_STRIP)$(CONFIG_DEBUG),,-s -w) + +PKG_GO_INSTALL_ARGS= \ + -buildvcs=false \ + -trimpath \ + -ldflags "all=$(PKG_GO_LDFLAGS)" \ + $(if $(PKG_GO_GCFLAGS),-gcflags "all=$(PKG_GO_GCFLAGS)") \ + $(if $(PKG_GO_ASMFLAGS),-asmflags "all=$(PKG_GO_ASMFLAGS)") \ + $(if $(filter $(GO_PKG_ENABLE_PIE),1),-buildmode pie) + +define Build/Configure + mkdir -p "$(GO_BUILD_CACHE_DIR)" +endef + +define Build/Compile @echo "Building target Go first stage" $(call GoCompiler/Package/Make, \ - GOROOT_BOOTSTRAP=$(HOST_GO_ROOT) \ - GOCACHE=$(PKG_GO_HOST_CACHE_DIR) \ - GOTMPDIR=$(PKG_GO_TMP_DIR) \ + GOROOT_BOOTSTRAP="$(HOST_GO_ROOT)" \ GO_GCC_HELPER_CC="$(HOSTCC)" \ GO_GCC_HELPER_CXX="$(HOSTCXX)" \ - GO_GCC_HELPER_PATH=$$$$PATH \ - CC=gcc \ - CXX=g++ \ - PKG_CONFIG=pkg-config \ - PATH=$(HOST_GO_ROOT)/openwrt:$$$$PATH \ + $(PKG_GO_VARS) \ + ) + + $(SED) '$(PKG_GO_ZBOOTSTRAP_MODS)' "$(PKG_GO_ZBOOTSTRAP_PATH)" + + ( \ + if echo 'int main() { return 0; }' | $(TARGET_CC) -o $(PKG_BUILD_DIR)/test-ldso -x c - > /dev/null 2>&1; then \ + LDSO=$$$$( \ + readelf -l $(PKG_BUILD_DIR)/test-ldso | \ + sed -n -e 's/^.*interpreter: \(.*\)[]]/\1/p' \ + ) ; \ + fi ; \ + $(SED) "s,defaultGO_LDSO = \`[^\`]*\`,defaultGO_LDSO = \`$$$$LDSO\`," "$(PKG_GO_ZBOOTSTRAP_PATH)" ; \ ) @echo "Building target Go second stage" ( \ - cd $(PKG_BUILD_DIR)/bin ; \ + cd "$(PKG_BUILD_DIR)/bin" ; \ + export $(GO_PKG_TARGET_VARS) ; \ $(CP) go go-host ; \ - GOROOT_FINAL=$(GO_TARGET_ROOT) \ - GOCACHE=$(PKG_GO_TARGET_CACHE_DIR) \ - GOTMPDIR=$(PKG_GO_TMP_DIR) \ GO_GCC_HELPER_CC="$(TARGET_CC)" \ GO_GCC_HELPER_CXX="$(TARGET_CXX)" \ - GO_GCC_HELPER_PATH=$$$$PATH \ - CC=gcc \ - CXX=g++ \ - PKG_CONFIG=pkg-config \ - PATH=$(HOST_GO_ROOT)/openwrt:$$$$PATH \ - $(call GoPackage/Environment) \ - ./go-host install -a -v std cmd ; \ - retval=$$$$? ; \ + $(PKG_GO_VARS) \ + ./go-host install -a $(PKG_GO_INSTALL_ARGS) std cmd ; \ + retval="$$$$?" ; \ rm -f go-host ; \ - exit $$$$retval ; \ + exit "$$$$retval" ; \ ) endef define Package/golang/install - $(call GoCompiler/Package/Install/Bin,$(1)$(GO_TARGET_PREFIX)) - $(call GoCompiler/Package/Install/BinLinks,$(1)$(GO_TARGET_PREFIX)) + $(call GoCompiler/Package/Install/Bin,$(1)$(PKG_GO_PREFIX)) + $(call GoCompiler/Package/Install/BinLinks,$(1)$(PKG_GO_PREFIX)) endef define Package/golang-doc/install - $(call GoCompiler/Package/Install/Doc,$(1)$(GO_TARGET_PREFIX)) + $(call GoCompiler/Package/Install/Doc,$(1)$(PKG_GO_PREFIX)) endef define Package/golang-src/install - $(call GoCompiler/Package/Install/Src,$(1)$(GO_TARGET_PREFIX)) + $(call GoCompiler/Package/Install/Src,$(1)$(PKG_GO_PREFIX)) endef # src/debug contains ELF executables as test data @@ -268,6 +425,7 @@ define Package/golang-src/extra_provides echo 'libc.so.6' endef + $(eval $(call HostBuild)) $(eval $(call BuildPackage,golang)) $(eval $(call BuildPackage,golang-doc)) diff --git a/golang/golang/files/go-gcc-helper b/golang/golang/files/go-gcc-helper index 3d3f8935d..b21457b55 100644 --- a/golang/golang/files/go-gcc-helper +++ b/golang/golang/files/go-gcc-helper @@ -1,23 +1,47 @@ #!/bin/sh +# +# Copyright (C) 2018, 2020 Jeffery To +# +# This is free software, licensed under the GNU General Public License v2. +# See /LICENSE for more information. +# me=go-gcc-helper -name=$(basename $0) +name="${0##*/}" -case $name in +log() { + # shellcheck disable=SC2039 + local IFS=" " + printf '%s\n' "$me: $*" +} + +case "$name" in gcc) - cmd=$GO_GCC_HELPER_CC + if [ -z "$GO_GCC_HELPER_CC" ]; then + log "missing GO_GCC_HELPER_CC" + exit 1 + fi + cmd="$GO_GCC_HELPER_CC" ;; g++) - cmd=$GO_GCC_HELPER_CXX + if [ -z "$GO_GCC_HELPER_CXX" ]; then + log "missing GO_GCC_HELPER_CXX" + exit 1 + fi + cmd="$GO_GCC_HELPER_CXX" ;; *) - echo "$me: unknown command \"$name\"" + log "unknown command \"$name\"" exit 1 ;; esac -export PATH="$GO_GCC_HELPER_PATH" +if [ -n "$GO_GCC_HELPER_PATH" ]; then + export PATH="$GO_GCC_HELPER_PATH" +else + log "missing GO_GCC_HELPER_PATH" +fi -echo "$me: running $cmd $@" +log "running $cmd $*" $cmd "$@" diff --git a/golang/golang/test.sh b/golang/golang/test.sh new file mode 100644 index 000000000..114b427ef --- /dev/null +++ b/golang/golang/test.sh @@ -0,0 +1,5 @@ +#!/bin/sh + +[ "$1" = golang ] || exit 0 + +go version | grep -F " go$PKG_VERSION " diff --git a/grpcurl/Makefile b/grpcurl/Makefile new file mode 100644 index 000000000..8bec5ccf4 --- /dev/null +++ b/grpcurl/Makefile @@ -0,0 +1,60 @@ +# +# Copyright (C) 2022 Ycarus (Yannick Chabanois) for OpenMPTCProuter +# +# This is free software, licensed under the GNU General Public License v2. +# See /LICENSE for more information. +# + +include $(TOPDIR)/rules.mk + +PKG_NAME:=grpcurl +PKG_VERSION:=1.8.6 +PKG_RELEASE:=1 + +PKG_SOURCE:=v$(PKG_VERSION).tar.gz +PKG_SOURCE_URL:=https://github.com/fullstorydev/grpcurl/archive/refs/tags/ +PKG_HASH:=18b457f644baabeef0de350596dd8d23563586ee94a3ed3cb290063e097ab934 + +PKG_LICENSE:=MIT +PKG_LICENSE_FILES:=LICENSE +PKG_MAINTAINER:=Yannick Chabanois + +PKG_BUILD_DEPENDS:=golang/host +PKG_BUILD_PARALLEL:=1 +PKG_USE_MIPS16:=0 + +GO_PKG:=github.com/fullstorydev/grpcurl +GO_PKG_BUILD_PKG:=github.com/fullstorydev/grpcurl/cmd/grpcurl +GO_PKG_LDFLAGS_X:= \ + $(GO_PKG)/constant.Version=$(PKG_VERSION) \ + $(GO_PKG)/constant.Commit=v$(PKG_VERSION) +GO_PKG_LDFLAGS:=-s -w +GO_PKG_TAGS:=master + +include $(INCLUDE_DIR)/package.mk +include $(TOPDIR)/feeds/packages/lang/golang/golang-package.mk + +define Package/grpcurl + TITLE:=grpcurl is a command-line tool that lets you interact with gRPC servers + URL:=https://github.com/fullstorydev/grpcurl + SECTION:=net + CATEGORY:=Network + DEPENDS:=$(GO_ARCH_DEPENDS) +protobuf +endef + +define Package/grpcurl/description + grpcurl is a command-line tool that lets you interact with gRPC servers. It's basically curl for gRPC servers. + + The main purpose for this tool is to invoke RPC methods on a gRPC server from the command-line. gRPC servers use a binary encoding on the wire (protocol buffers, or "protobufs" for short). So they are basically impossible to interact with using regular curl (and older versions of curl that do not support HTTP/2 are of course non-starters). This program accepts messages using JSON encoding, which is much more friendly for both humans and scripts. +endef + +define Package/v2ray-core/install + $(call GoPackage/Package/Install/Bin,$(PKG_INSTALL_DIR)) + + $(INSTALL_DIR) $(1)/usr/bin + + $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/grpcurl $(1)/usr/bin +endef + +$(eval $(call GoBinPackage,grpcurl)) +$(eval $(call BuildPackage,grpcurl)) diff --git a/ipcalc/Makefile b/ipcalc/Makefile index f2d752d59..3d95869ff 100644 --- a/ipcalc/Makefile +++ b/ipcalc/Makefile @@ -1,5 +1,5 @@ # -# Copyright (C) 2018-2019 Ycarus (Yannick Chabanois) +# Copyright (C) 2018-2023 Ycarus (Yannick Chabanois) # # This is free software, licensed under the GNU General Public License v2. # See /LICENSE for more information. @@ -10,11 +10,12 @@ include $(TOPDIR)/rules.mk PKG_NAME:=ipcalc PKG_RELEASE:=1 -PKG_SOURCE_URL:=https://github.com/nmav/ipcalc.git +PKG_SOURCE_URL:=https://gitlab.com/ipcalc/ipcalc.git PKG_SOURCE_PROTO:=git -PKG_SOURCE_VERSION:=e9f88461f2585575d12fc95f5eeb9996b863f5af +PKG_SOURCE_VERSION:=d8a2fe29a89f0f9f0d44a7b15e260c74f0e8388b PKG_MAINTAINER:=Ycarus (Yannick Chabanois) PKG_LICENSE:=GPL-2.0 +PKG_LICENSE_FILE:=COPYING include $(INCLUDE_DIR)/package.mk diff --git a/iperf3/Makefile b/iperf3/Makefile index b1f7dc21d..a5fe60450 100644 --- a/iperf3/Makefile +++ b/iperf3/Makefile @@ -1,6 +1,5 @@ # # Copyright (C) 2007-2010 OpenWrt.org -# Copyright (C) 2019 Ycarus (Yannick Chabanois) # # This is free software, licensed under the GNU General Public License v2. # See /LICENSE for more information. @@ -9,15 +8,16 @@ include $(TOPDIR)/rules.mk PKG_NAME:=iperf -PKG_SOURCE_VERSION:=02a5f4755878b319f0db5ccd490daf61e6d76043 -PKG_VERSION:=3.7-$(PKG_SOURCE_VERSION) -PKG_RELEASE:=2 +PKG_VERSION:=3.18 +PKG_RELEASE:=1 -PKG_SOURCE_PROTO:=git -PKG_SOURCE_URL:=https://github.com/esnet/iperf.git +PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz +PKG_SOURCE_URL:=https://downloads.es.net/pub/iperf +PKG_HASH:=c0618175514331e766522500e20c94bfb293b4424eb27d7207fb427b88d20bab -PKG_MAINTAINER:=Yannick Chabanois +PKG_MAINTAINER:=Felix Fietkau PKG_LICENSE:=BSD-3-Clause +PKG_CPE_ID:=cpe:/a:es:iperf3 PKG_BUILD_PARALLEL:=1 PKG_INSTALL:=1 @@ -38,24 +38,36 @@ endef define Package/iperf3 $(call Package/iperf3/default) VARIANT:=nossl + DEPENDS:=+libiperf3 endef define Package/iperf3-ssl $(call Package/iperf3/default) TITLE+= with iperf_auth support VARIANT:=ssl - DEPENDS:= +libopenssl + DEPENDS:=+libopenssl +libatomic + CONFLICTS:=iperf3 +endef + +define Package/libiperf3 + SECTION:=libs + CATEGORY:=Libraries + TITLE:=Internet Protocol bandwidth measuring library + URL:=https://github.com/esnet/iperf + DEPENDS+=+libatomic endef TARGET_CFLAGS += -D_GNU_SOURCE -CONFIGURE_ARGS += --disable-shared +TARGET_LDFLAGS += -latomic ifeq ($(BUILD_VARIANT),ssl) - CONFIGURE_ARGS += --with-openssl="$(STAGING_DIR)/usr" + CONFIGURE_ARGS += --with-openssl="$(STAGING_DIR)/usr" --disable-shared else CONFIGURE_ARGS += --without-openssl endif +CONFIGURE_ARGS += --without-sctp + MAKE_FLAGS += noinst_PROGRAMS= define Package/iperf3/description @@ -64,6 +76,17 @@ define Package/iperf3/description characteristics. endef +define Package/libiperf3/description + Libiperf is a library providing an API for iperf3 functionality. +endef + +define Build/InstallDev + $(INSTALL_DIR) $(1)/usr/lib + $(INSTALL_DIR) $(1)/usr/include + $(CP) $(PKG_INSTALL_DIR)/usr/lib/libiperf.* $(1)/usr/lib/ + $(CP) $(PKG_INSTALL_DIR)/usr/include/* $(1)/usr/include/ +endef + # autoreconf fails if the README file isn't present define Build/Prepare $(call Build/Prepare/Default) @@ -80,5 +103,11 @@ define Package/iperf3-ssl/install $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/iperf3 $(1)/usr/bin/ endef +define Package/libiperf3/install + $(INSTALL_DIR) $(1)/usr/lib + $(CP) $(PKG_INSTALL_DIR)/usr/lib/libiperf.so.* $(1)/usr/lib +endef + $(eval $(call BuildPackage,iperf3)) $(eval $(call BuildPackage,iperf3-ssl)) +$(eval $(call BuildPackage,libiperf3)) diff --git a/iperf3/patches/010-big-endian.patch b/iperf3/patches/010-big-endian.patch new file mode 100644 index 000000000..f57ef51a4 --- /dev/null +++ b/iperf3/patches/010-big-endian.patch @@ -0,0 +1,21 @@ +From fe09305eb6f907e4eb637b8edd0c8a986187d1dd Mon Sep 17 00:00:00 2001 +From: Rosen Penev +Date: Sat, 8 Jun 2024 15:23:51 -0700 +Subject: [PATCH] fix crash under big endian musl + +iperf_printf is using an int format here but an int64_t variable. The format only needs the first 3 digits. Cast to int to fix it. +--- + src/iperf_api.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +--- a/src/iperf_api.c ++++ b/src/iperf_api.c +@@ -4137,7 +4137,7 @@ iperf_print_results(struct iperf_test *t + iperf_printf(test, report_sender_not_available_summary_format, "SUM"); + } + else { +- iperf_printf(test, report_sum_bw_retrans_format, mbuf, start_time, sender_time, ubuf, nbuf, total_retransmits, report_sender); ++ iperf_printf(test, report_sum_bw_retrans_format, mbuf, start_time, sender_time, ubuf, nbuf, (int)total_retransmits, report_sender); + } + } else { + /* Summary sum, TCP without retransmits. */ diff --git a/iperf3/patches/add-MPTCP-support.patch b/iperf3/patches/add-MPTCP-support.patch new file mode 100644 index 000000000..fce1a388f --- /dev/null +++ b/iperf3/patches/add-MPTCP-support.patch @@ -0,0 +1,266 @@ +From cf75cf46785871330717a6d2c889abeb7bbd7bfd Mon Sep 17 00:00:00 2001 +From: Geliang Tang +Date: Wed, 6 Mar 2024 11:23:33 +0800 +Subject: [PATCH] add MPTCPv1 support + +The Multipath TCP (MPTCP) protocol (v1 / RFC 8684) has been added in +the upstream Linux kernel since v5.6. + +MPTCP is strongly tied to TCP, and the kernel APIs are almost the same. +The only required dependency is the 'IPPROTO_MPTCP' protocol number +definition, which should be provided by the netinet/in.h header if it +is recent enough. + +This patch adds a new flag '-m' or '--mptcp' to support MPTCPv1. It can +be used like this: + + > iperf3 -m -s + > iperf3 -m -c 127.0.0.1 + +If IPPROTO_MPTCP is not supported by the kernel being tested, it is +normal to fail because the feature is not available and the user +explicitly asked to use MPTCP. + +Closes: https://github.com/esnet/iperf/pull/1659 +Co-developed-by: Paolo Abeni +Signed-off-by: Geliang Tang +--- + configure.ac | 12 ++++++++++++ + src/iperf.h | 1 + + src/iperf3.1 | 4 ++++ + src/iperf_api.c | 19 ++++++++++++++++++- + src/iperf_locale.c | 3 +++ + src/iperf_tcp.c | 18 +++++++++++++++--- + src/net.c | 10 +++++----- + src/net.h | 2 +- + 8 files changed, 59 insertions(+), 10 deletions(-) + +diff --git a/configure.ac b/configure.ac +index 66c1e97a5..22c2a95cf 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -337,6 +337,18 @@ if test "x$iperf3_cv_header_tcp_info_snd_wnd" = "xyes"; then + AC_DEFINE([HAVE_TCP_INFO_SND_WND], [1], [Have tcpi_snd_wnd field in tcp_info.]) + fi + ++# Check for IPPROTO_MPTCP (Linux) ++AC_CACHE_CHECK([MPTCP protocol], ++[iperf3_cv_header_ipproto_mptcp], ++AC_COMPILE_IFELSE( ++ [AC_LANG_PROGRAM([[#include ]], ++ [[int foo = IPPROTO_MPTCP;]])], ++ iperf3_cv_header_ipproto_mptcp=yes, ++ iperf3_cv_header_ipproto_mptcp=no)) ++if test "x$iperf3_cv_header_ipproto_mptcp" = "xyes"; then ++ AC_DEFINE([HAVE_IPPROTO_MPTCP], [1], [Have MPTCP protocol.]) ++fi ++ + # Check if we need -lrt for clock_gettime + AC_SEARCH_LIBS(clock_gettime, [rt posix4]) + # Check for clock_gettime support +diff --git a/src/iperf.h b/src/iperf.h +index 202d3016f..4043031b3 100644 +--- a/src/iperf.h ++++ b/src/iperf.h +@@ -353,6 +353,7 @@ struct iperf_test + int repeating_payload; /* --repeating-payload */ + int timestamps; /* --timestamps */ + char *timestamp_format; ++ int mptcp; /* -m, --mptcp */ + + char *json_output_string; /* rendered JSON output if json_output is set */ + /* Select related parameters */ +diff --git a/src/iperf3.1 b/src/iperf3.1 +index f8eff48d2..9e425cabc 100644 +--- a/src/iperf3.1 ++++ b/src/iperf3.1 +@@ -202,6 +202,10 @@ iperf-3.17, OAEP padding is used, however this is a breaking change + that is not compatible with older iperf3 versions. Use this option to + preserve the less secure, but more compatible, behavior. + .TP ++.BR -m ", " --mptcp " " ++use mptcp variant for the current protocol. This only applies to ++TCP and enables MPTCP usage. ++.TP + .BR -d ", " --debug " " + emit debugging output. + Primarily (perhaps exclusively) of use to developers. +diff --git a/src/iperf_api.c b/src/iperf_api.c +index fa06dc830..419b48657 100644 +--- a/src/iperf_api.c ++++ b/src/iperf_api.c +@@ -1149,6 +1149,9 @@ iperf_parse_arguments(struct iperf_test *test, int argc, char **argv) + {"idle-timeout", required_argument, NULL, OPT_IDLE_TIMEOUT}, + {"rcv-timeout", required_argument, NULL, OPT_RCV_TIMEOUT}, + {"snd-timeout", required_argument, NULL, OPT_SND_TIMEOUT}, ++#if defined(HAVE_IPPROTO_MPTCP) ++ {"mptcp", no_argument, NULL, 'm'}, ++#endif + {"debug", optional_argument, NULL, 'd'}, + {"help", no_argument, NULL, 'h'}, + {NULL, 0, NULL, 0} +@@ -1174,7 +1177,7 @@ iperf_parse_arguments(struct iperf_test *test, int argc, char **argv) + FILE *ptr_file; + #endif /* HAVE_SSL */ + +- while ((flag = getopt_long(argc, argv, "p:f:i:D1VJvsc:ub:t:n:k:l:P:Rw:B:M:N46S:L:ZO:F:A:T:C:dI:hX:", longopts, NULL)) != -1) { ++ while ((flag = getopt_long(argc, argv, "p:f:i:D1VJvsc:ub:t:n:k:l:P:Rw:B:M:N46S:L:ZO:F:A:T:C:dI:mhX:", longopts, NULL)) != -1) { + switch (flag) { + case 'p': + portno = atoi(optarg); +@@ -1647,6 +1650,12 @@ iperf_parse_arguments(struct iperf_test *test, int argc, char **argv) + test->settings->connect_timeout = unit_atoi(optarg); + client_flag = 1; + break; ++#if defined(HAVE_IPPROTO_MPTCP) ++ case 'm': ++ set_protocol(test, Ptcp); ++ test->mptcp = 1; ++ break; ++#endif + case 'h': + usage_long(stdout); + exit(0); +@@ -2259,6 +2268,10 @@ send_parameters(struct iperf_test *test) + cJSON_AddTrueToObject(j, "reverse"); + if (test->bidirectional) + cJSON_AddTrueToObject(j, "bidirectional"); ++#if defined(HAVE_IPPROTO_MPTCP) ++ if (test->mptcp) ++ cJSON_AddTrueToObject(j, "mptcp"); ++#endif + if (test->settings->socket_bufsize) + cJSON_AddNumberToObject(j, "window", test->settings->socket_bufsize); + if (test->settings->blksize) +@@ -2375,6 +2388,10 @@ get_parameters(struct iperf_test *test) + iperf_set_test_reverse(test, 1); + if ((j_p = iperf_cJSON_GetObjectItemType(j, "bidirectional", cJSON_True)) != NULL) + iperf_set_test_bidirectional(test, 1); ++#if defined(HAVE_IPPROTO_MPTCP) ++ if ((j_p = iperf_cJSON_GetObjectItemType(j, "mptcp", cJSON_True)) != NULL) ++ test->mptcp = 1; ++#endif + if ((j_p = iperf_cJSON_GetObjectItemType(j, "window", cJSON_Number)) != NULL) + test->settings->socket_bufsize = j_p->valueint; + if ((j_p = iperf_cJSON_GetObjectItemType(j, "len", cJSON_Number)) != NULL) +diff --git a/src/iperf_locale.c b/src/iperf_locale.c +index 32883da84..f1d89e298 100644 +--- a/src/iperf_locale.c ++++ b/src/iperf_locale.c +@@ -128,6 +128,9 @@ const char usage_longstr[] = "Usage: iperf3 [-s|-c host] [options]\n" + " --snd-timeout # timeout for unacknowledged TCP data\n" + " (in ms, default is system settings)\n" + #endif /* HAVE_TCP_USER_TIMEOUT */ ++#if defined(HAVE_IPPROTO_MPTCP) ++ " -m, --mptcp use MPTCP rather than plain TCP\n" ++#endif + " -d, --debug[=#] emit debugging output\n" + " (optional optional \"=\" and debug level: 1-4. Default is 4 - all messages)\n" + " -v, --version show version information and quit\n" +diff --git a/src/iperf_tcp.c b/src/iperf_tcp.c +index 481c09dc8..2c10d7df5 100644 +--- a/src/iperf_tcp.c ++++ b/src/iperf_tcp.c +@@ -184,9 +184,10 @@ iperf_tcp_listen(struct iperf_test *test) + * + * It's not clear whether this is a requirement or a convenience. + */ +- if (test->no_delay || test->settings->mss || test->settings->socket_bufsize) { ++ if (test->no_delay || test->mptcp || test->settings->mss || test->settings->socket_bufsize) { + struct addrinfo hints, *res; + char portstr[6]; ++ int proto = 0; + + FD_CLR(s, &test->read_set); + close(s); +@@ -212,7 +213,12 @@ iperf_tcp_listen(struct iperf_test *test) + return -1; + } + +- if ((s = socket(res->ai_family, SOCK_STREAM, 0)) < 0) { ++#if defined(HAVE_IPPROTO_MPTCP) ++ if (test->mptcp) ++ proto = IPPROTO_MPTCP; ++#endif ++ ++ if ((s = socket(res->ai_family, SOCK_STREAM, proto)) < 0) { + freeaddrinfo(res); + i_errno = IESTREAMLISTEN; + return -1; +@@ -380,8 +386,14 @@ iperf_tcp_connect(struct iperf_test *test) + socklen_t optlen; + int saved_errno; + int rcvbuf_actual, sndbuf_actual; ++ int proto = 0; ++ ++#if defined(HAVE_IPPROTO_MPTCP) ++ if (test->mptcp) ++ proto = IPPROTO_MPTCP; ++#endif + +- s = create_socket(test->settings->domain, SOCK_STREAM, test->bind_address, test->bind_dev, test->bind_port, test->server_hostname, test->server_port, &server_res); ++ s = create_socket(test->settings->domain, SOCK_STREAM, proto, test->bind_address, test->bind_dev, test->bind_port, test->server_hostname, test->server_port, &server_res); + if (s < 0) { + i_errno = IESTREAMCONNECT; + return -1; +diff --git a/src/net.c b/src/net.c +index b693ea7fb..febf20885 100644 +--- a/src/net.c ++++ b/src/net.c +@@ -124,7 +124,7 @@ timeout_connect(int s, const struct sockaddr *name, socklen_t namelen, + + /* create a socket */ + int +-create_socket(int domain, int proto, const char *local, const char *bind_dev, int local_port, const char *server, int port, struct addrinfo **server_res_out) ++create_socket(int domain, int type, int proto, const char *local, const char *bind_dev, int local_port, const char *server, int port, struct addrinfo **server_res_out) + { + struct addrinfo hints, *local_res = NULL, *server_res = NULL; + int s, saved_errno; +@@ -133,14 +133,14 @@ create_socket(int domain, int proto, const char *local, const char *bind_dev, in + if (local) { + memset(&hints, 0, sizeof(hints)); + hints.ai_family = domain; +- hints.ai_socktype = proto; ++ hints.ai_socktype = type; + if ((gerror = getaddrinfo(local, NULL, &hints, &local_res)) != 0) + return -1; + } + + memset(&hints, 0, sizeof(hints)); + hints.ai_family = domain; +- hints.ai_socktype = proto; ++ hints.ai_socktype = type; + snprintf(portstr, sizeof(portstr), "%d", port); + if ((gerror = getaddrinfo(server, portstr, &hints, &server_res)) != 0) { + if (local) +@@ -148,7 +148,7 @@ create_socket(int domain, int proto, const char *local, const char *bind_dev, in + return -1; + } + +- s = socket(server_res->ai_family, proto, 0); ++ s = socket(server_res->ai_family, type, proto); + if (s < 0) { + if (local) + freeaddrinfo(local_res); +@@ -238,7 +238,7 @@ netdial(int domain, int proto, const char *local, const char *bind_dev, int loca + struct addrinfo *server_res = NULL; + int s, saved_errno; + +- s = create_socket(domain, proto, local, bind_dev, local_port, server, port, &server_res); ++ s = create_socket(domain, proto, 0, local, bind_dev, local_port, server, port, &server_res); + if (s < 0) { + return -1; + } +diff --git a/src/net.h b/src/net.h +index 859c52cef..fb78d289b 100644 +--- a/src/net.h ++++ b/src/net.h +@@ -28,7 +28,7 @@ + #define __NET_H + + int timeout_connect(int s, const struct sockaddr *name, socklen_t namelen, int timeout); +-int create_socket(int domain, int proto, const char *local, const char *bind_dev, int local_port, const char *server, int port, struct addrinfo **server_res_out); ++int create_socket(int domain, int type, int proto, const char *local, const char *bind_dev, int local_port, const char *server, int port, struct addrinfo **server_res_out); + int netdial(int domain, int proto, const char *local, const char *bind_dev, int local_port, const char *server, int port, int timeout); + int netannounce(int domain, int proto, const char *local, const char *bind_dev, int port); + int Nread(int fd, char *buf, size_t count, int prot); diff --git a/iperf3/patches/add-sock5-proxy-tcp-support.patch b/iperf3/patches/add-sock5-proxy-tcp-support.patch new file mode 100644 index 000000000..4cb90879c --- /dev/null +++ b/iperf3/patches/add-sock5-proxy-tcp-support.patch @@ -0,0 +1,552 @@ +From 197d8ba733f0502985abb5b0a22bf9f71c2596a7 Mon Sep 17 00:00:00 2001 +From: David Bar-On +Date: Mon, 25 Mar 2024 22:11:49 +0200 +Subject: [PATCH] Add SOCKS5 Proxy support for TCP + +--- + src/iperf.h | 8 ++ + src/iperf_api.c | 250 ++++++++++++++++++++++++++++++++++++++++- + src/iperf_api.h | 13 ++- + src/iperf_client_api.c | 27 ++++- + src/iperf_error.c | 10 ++ + src/iperf_locale.c | 2 + + src/iperf_tcp.c | 22 +++- + 7 files changed, 323 insertions(+), 9 deletions(-) + +diff --git a/src/iperf.h b/src/iperf.h +index dc3c0d1df..9823dc180 100644 +--- a/src/iperf.h ++++ b/src/iperf.h +@@ -343,6 +343,14 @@ struct iperf_test + int timestamps; /* --timestamps */ + char *timestamp_format; + ++ char *socks5_host; /* --socks5 option */ ++ uint16_t socks5_port; /* --socks5 option optional value */ ++ char *socks5_username; /* --socks5 option optional value */ ++ char *socks5_password; /* --socks5 option optional value */ ++ char socks5_bind_atyp; /* from socks5 CONNECT response ATYP */ ++ char *socks5_bind_host; /* from socks5 CONNECT response BIND.ADDR*/ ++ uint16_t socks5_bind_port; /* from socks5 CONNECT response BIND.PORT */ ++ + char *json_output_string; /* rendered JSON output if json_output is set */ + /* Select related parameters */ + int max_fd; +diff --git a/src/iperf_api.c b/src/iperf_api.c +index 4765d4e97..ca47f708d 100644 +--- a/src/iperf_api.c ++++ b/src/iperf_api.c +@@ -115,7 +115,7 @@ usage() + void + usage_long(FILE *f) + { +- fprintf(f, usage_longstr, DEFAULT_NO_MSG_RCVD_TIMEOUT, UDP_RATE / (1024*1024), DEFAULT_PACING_TIMER, DURATION, DEFAULT_TCP_BLKSIZE / 1024, DEFAULT_UDP_BLKSIZE); ++ fprintf(f, usage_longstr, DEFAULT_NO_MSG_RCVD_TIMEOUT, UDP_RATE / (1024*1024), DEFAULT_PACING_TIMER, DURATION, DEFAULT_TCP_BLKSIZE / 1024, DEFAULT_UDP_BLKSIZE, SOCKS5_DEFAULT_PORT); + } + + +@@ -1100,6 +1100,7 @@ iperf_parse_arguments(struct iperf_test *test, int argc, char **argv) + {"version6", no_argument, NULL, '6'}, + {"tos", required_argument, NULL, 'S'}, + {"dscp", required_argument, NULL, OPT_DSCP}, ++ {"socks5", required_argument, NULL, OPT_SOCKS5}, + {"extra-data", required_argument, NULL, OPT_EXTRA_DATA}, + #if defined(HAVE_FLOWLABEL) + {"flowlabel", required_argument, NULL, 'L'}, +@@ -1157,7 +1158,7 @@ iperf_parse_arguments(struct iperf_test *test, int argc, char **argv) + char* comma; + #endif /* HAVE_CPU_AFFINITY */ + char* slash; +- char *p, *p1; ++ char *p, *p1, *p2; + struct xbind_entry *xbe; + double farg; + int rcv_timeout_in = 0; +@@ -1433,6 +1434,47 @@ iperf_parse_arguments(struct iperf_test *test, int argc, char **argv) + } + client_flag = 1; + break; ++ case OPT_SOCKS5: // Format: "[username:password@][:port]" ++ if (strlen(optarg) <= 0) { ++ i_errno = IESOCKS5HOST; ++ return -1; ++ } ++ p1 = strtok(optarg, "@"); // p1 -> user:password ++ if (p1 == NULL) { ++ i_errno = IESOCKS5HOST; ++ return -1; ++ } ++ p = strtok(NULL, "@"); // p -> host[:port] ++ if (p == NULL) { ++ p = p1; ++ p1 = NULL; ++ } ++ p2 = strtok(p, ":"); // parse host[:port] ++ if (strlen(p2) <= 0) { ++ i_errno = IESOCKS5HOST; ++ return -1; ++ } ++ test->socks5_host = strdup(p2); ++ p2 = strtok(NULL, ":"); ++ if (p2 && strlen(p2) > 0) { ++ test->socks5_port = atoi(p2); ++ } ++ if (p1) { // parse user:password ++ p2 = strtok(p1, ":"); ++ if (strlen(p2) <= 0 || strlen(p2) > 255) { ++ i_errno = IESOCKS5HOST; ++ return -1; ++ } ++ test->socks5_username = strdup(p2); ++ p2 = strtok(NULL, ":"); ++ if (!p2 || strlen(p2) <= 0 || strlen(p2) > 255) { ++ i_errno = IESOCKS5HOST; ++ return -1; ++ } ++ test->socks5_password = strdup(p2); ++ } ++ client_flag = 1; ++ break; + case OPT_EXTRA_DATA: + test->extra_data = strdup(optarg); + client_flag = 1; +@@ -1740,6 +1782,12 @@ iperf_parse_arguments(struct iperf_test *test, int argc, char **argv) + return -1; + } + ++ // SOCKS5 Proxy is supported only for TCP ++ if(test->role == 'c' && test->socks5_host && test->protocol->id != Ptcp) { ++ i_errno = IESOCKS5RTCPONLY; ++ return -1; ++ } ++ + if (blksize == 0) { + if (test->protocol->id == Pudp) + blksize = 0; /* try to dynamically determine from MSS */ +@@ -2943,6 +2991,12 @@ iperf_defaults(struct iperf_test *testp) + testp->stats_interval = testp->reporter_interval = 1; + testp->num_streams = 1; + ++ testp->socks5_host = NULL; ++ testp->socks5_port = SOCKS5_DEFAULT_PORT; ++ testp->socks5_username = NULL; ++ testp->socks5_password = NULL; ++ testp->socks5_bind_host = NULL; ++ + testp->settings->domain = AF_UNSPEC; + testp->settings->unit_format = 'a'; + testp->settings->socket_bufsize = 0; /* use autotuning */ +@@ -3100,6 +3154,14 @@ iperf_free_test(struct iperf_test *test) + free(test->remote_congestion_used); + if (test->timestamp_format) + free(test->timestamp_format); ++ if (test->socks5_host) ++ free(test->socks5_host); ++ if (test->socks5_username) ++ free(test->socks5_username); ++ if (test->socks5_password) ++ free(test->socks5_password); ++ if (test->socks5_bind_host) ++ free(test->socks5_bind_host); + if (test->omit_timer != NULL) + tmr_cancel(test->omit_timer); + if (test->timer != NULL) +@@ -3289,6 +3351,23 @@ iperf_reset_test(struct iperf_test *test) + free(test->extra_data); + test->extra_data = NULL; + } ++ if (test->socks5_host) { ++ free(test->socks5_host); ++ test->socks5_host = NULL; ++ } ++ test->socks5_port = SOCKS5_DEFAULT_PORT; ++ if (test->socks5_username) { ++ free(test->socks5_username); ++ test->socks5_username = NULL; ++ } ++ if (test->socks5_password) { ++ free(test->socks5_password); ++ test->socks5_password = NULL; ++ } ++ if (test->socks5_bind_host) { ++ free(test->socks5_bind_host); ++ test->socks5_bind_host = NULL; ++ } + + /* Free output line buffers, if any (on the server only) */ + struct iperf_textline *t; +@@ -4614,6 +4693,173 @@ iperf_add_stream(struct iperf_test *test, struct iperf_stream *sp) + } + } + ++/**************************************************************************/ ++ ++/* iperf_socks5_handshake ++ * ++ * Handshake with a SOCKS5 Proxy per RFC1928, RFC1929 ++ */ ++int ++iperf_socks5_handshake(struct iperf_test *test, int s) { ++ char req[1024]; ++ char res[1024]; ++ char selected_mthod; ++ char *p, *p1; ++ size_t len; ++ int ret; ++ uint16_t net_order_short; ++ ++ // Send method selection request [RFC1928] ++ p = req; ++ *p++ = 5; // VERSION ++ if (test->socks5_username) // Number of METHODs supported ++ *p++ = 2; ++ else ++ *p++ = 1; ++ *p++ = 0; // NO AUTHENTICATION REQUIRED ++ if (test->socks5_username) *p++ = 2; // USERNAME/PASSWORD ++ if (Nwrite(s, req, p - req, Ptcp) < 0) { ++ i_errno = IESOCKS5HANDSHAKE; ++ iperf_err(test, "Writing SOCKS5 auth methods message failed\n"); ++ return -1; ++ } ++ ++ // Receive selected method ++ if (Nread(s, res, 2, Ptcp) != 2) { ++ i_errno = IESOCKS5HANDSHAKE; ++ iperf_err(test, "Reading selected SOCKS5 method message failed\n"); ++ return -1; ++ } ++ ++ selected_mthod = res[1]; ++ if (res[0] != 5 || (selected_mthod != 0 && selected_mthod != 2)) { ++ i_errno = IESOCKS5HANDSHAKE; ++ iperf_err(test, "Ilegal SOCKS5 method selection response: version=%d, auth method=%d\n", res[0], selected_mthod); ++ return -1; ++ } ++ if (test->debug) { ++ iperf_printf(test, "SOCKS5 server selected authentication method %d\n", selected_mthod); ++ } ++ ++ // Send Username/Password request and receive the auth response [RFC1929] ++ if (selected_mthod == 2) { ++ p = req; ++ *p++ = 1; // VERSION ++ len = strlen(test->socks5_username); ++ *p++ = len; ++ memcpy(p, test->socks5_username, len); // USERNAME ++ p += len; ++ len = strlen(test->socks5_password); ++ *p++ = len; ++ memcpy(p, test->socks5_password, len); // PASSWORD ++ p += len; ++ ++ if (Nwrite(s, req, p - req, Ptcp) < 0) { ++ i_errno = IESOCKS5HANDSHAKE; ++ iperf_err(test, "Writing SOCKS5 Username/Password request message failed\n"); ++ return -1; ++ } ++ ++ if ((ret = Nread(s, res, 2, Ptcp)) != 2) { ++ i_errno = IESOCKS5HANDSHAKE; ++ iperf_err(test, "Reading SOCKS5 Username/Password response failed; Returned %d\n", ret); ++ return -1; ++ } ++ if (res[1] != 0) { ++ i_errno = IESOCKS5HANDSHAKE; ++ iperf_err(test, "SOCKS5 Username/Password failed with error %d\n", res[1]); ++ return -1; ++ } ++ } ++ ++ // Send CONNECT request [RFC1928] ++ p = req; ++ *p++ = 5; // VERSION ++ *p++ = 1; // CMD = CONNECT ++ *p++ = 0; // RESERVED ++ *p++ = 3; // ATYPE = DOMAINNAME: ++ len = strlen(test->server_hostname); ++ if (len > 255) { ++ i_errno = IESOCKS5HANDSHAKE; ++ iperf_err(test, "iperf3 host option length is limited to 255 chars when SOCKS5 is used\n"); ++ return -1; ++ } ++ *p++ = len; ++ memcpy(p, test->server_hostname, len); // ADDR ++ p += len; ++ net_order_short = htons(test->server_port); ++ p1 = (char *)&net_order_short; ++ *p++ = *p1++; // PORT ++ *p++ = *p1; ++ if (Nwrite(s, req, p - req, Ptcp) < 0) { ++ i_errno = IESOCKS5HANDSHAKE; ++ iperf_err(test, "Writing SOCKS5 CONNECT message failed\n"); ++ return -1; ++ } ++ ++ // Read CONNECT response [RFC1928] ++ if ((ret = Nread(s, res, 4, Ptcp)) != 4) { ++ i_errno = IESOCKS5HANDSHAKE; ++ iperf_err(test, "Reading SOCKS5 CONNECT response failed; Returned %d\n", ret); ++ return -1; ++ } ++ ++ if (res[0] != 5 || res[1] != 0 || res[2] != 0) { ++ i_errno = IESOCKS5HANDSHAKE; ++ iperf_err(test, "SOCKS5 CONNECT failed with error %d\n", res[1]); ++ return -1; ++ } ++ ++ // Get BND.ADDR length ++ test->socks5_bind_atyp = res[3]; // ATYP ++ switch (test->socks5_bind_atyp) { ++ case 1: // IP V4 address ++ len = 4; ++ break; ++ case 3: // DOMAINNAME: ++ if ((ret = read(s, res, 1)) != 1) { ++ i_errno = IESOCKS5HANDSHAKE; ++ iperf_err(test, "Failed to read SOCKS5 CONNECT response BND.ADDR length; Returned %d\n", ret); ++ return -1; ++ } ++ len = (unsigned char)res[0]; ++ break; ++ case 4: // IP V6 address ++ len = 16; ++ break; ++ default: ++ i_errno = IESOCKS5HANDSHAKE; ++ iperf_err(test, "Illegal SOCKS5 CONNECT response ATYP %d\n", res[3]); ++ return -1; ++ } ++ // Read BND.ADDR ++ if ((ret = Nread(s, res, len, Ptcp)) != len) { ++ i_errno = IESOCKS5HANDSHAKE; ++ iperf_err(test, "Failed to read SOCKS5 detailes BND.ADDR; Returned %d\n", ret); ++ return -1; ++ } ++ res[len] = '\0'; ++ test->socks5_bind_host = strdup(res); ++ // Read BND.PORT ++ if ((ret = Nread(s, res, 2, Ptcp)) != 2) { ++ i_errno = IESOCKS5HANDSHAKE; ++ iperf_err(test, "Failed to read SOCKS5 detailes BND.PORT; Returned %d\n", ret); ++ return -1; ++ } ++ p1 = (char *)&net_order_short; ++ *p1++ = res[0]; ++ *p1 = res[1]; ++ test->socks5_bind_port = ntohs(net_order_short); ++ if (test->debug) { ++ iperf_printf(test, "SOCKS5 server BIND ADDR type=%d, PORT=%d\n", test->socks5_bind_atyp, test->socks5_bind_port); ++ } ++ ++ return 0; ++} ++ ++/**************************************************************************/ ++ ++ + /* This pair of routines gets inserted into the snd/rcv function pointers + ** when there's a -F flag. They handle the file stuff and call the real + ** snd/rcv functions, which have been saved in snd2/rcv2. +diff --git a/src/iperf_api.h b/src/iperf_api.h +index d2bbdfe96..01d63bf5e 100644 +--- a/src/iperf_api.h ++++ b/src/iperf_api.h +@@ -68,6 +68,7 @@ typedef atomic_uint_fast64_t atomic_iperf_size_t; + #define DEFAULT_PACING_TIMER 1000 + #define DEFAULT_NO_MSG_RCVD_TIMEOUT 120000 + #define MIN_NO_MSG_RCVD_TIMEOUT 100 ++#define SOCKS5_DEFAULT_PORT 1080 + + #define WARN_STR_LEN 128 + +@@ -100,7 +101,8 @@ typedef atomic_uint_fast64_t atomic_iperf_size_t; + #define OPT_RCV_TIMEOUT 27 + #define OPT_JSON_STREAM 28 + #define OPT_SND_TIMEOUT 29 + #define OPT_USE_PKCS1_PADDING 30 ++#define OPT_SOCKS5 31 + + /* states */ + #define TEST_START 1 +@@ -308,6 +310,12 @@ void iperf_free_stream(struct iperf_stream * sp); + */ + int iperf_common_sockopts(struct iperf_test *, int s); + ++/** ++ * iperf_socks5_handshake - handshake with a SOCKS5 Proxy per RFC1928, RFC1929 ++ * ++ */ ++int iperf_socks5_handshake(struct iperf_test *test, int s); ++ + int has_tcpinfo(void); + int has_tcpinfo_retransmits(void); + void save_tcpinfo(struct iperf_stream *sp, struct iperf_interval_results *irp); +@@ -419,6 +427,8 @@ enum { + IESNDTIMEOUT = 33, // Illegal message send timeout + IEUDPFILETRANSFER = 34, // Cannot transfer file using UDP + IESERVERAUTHUSERS = 35, // Cannot access authorized users file ++ IESOCKS5HOST = 36, // Illegal SOCKS5 host / creadentials ++ IESOCKS5RTCPONLY = 37, // SOCKS5 Proxy is supported only for TCP + /* Test errors */ + IENEWTEST = 100, // Unable to create a new test (check perror) + IEINITTEST = 101, // Test initialization failed (check perror) +@@ -473,8 +483,9 @@ enum { + IEPTHREADCANCEL=151, // Unable to cancel thread (check perror) + IEPTHREADJOIN=152, // Unable to join thread (check perror) + IEPTHREADATTRINIT=153, // Unable to initialize thread attribute (check perror) + IEPTHREADATTRDESTROY=154, // Unable to destroy thread attribute (check perror) + IEPTHREADSIGMASK=155, // Unable to initialize sub thread signal mask (check perror) ++ IESOCKS5HANDSHAKE = 156, // SOCKS5 Handshake with the server failed + /* Stream errors */ + IECREATESTREAM = 200, // Unable to create a new stream (check herror/perror) + IEINITSTREAM = 201, // Unable to initialize stream (check herror/perror) +diff --git a/src/iperf_client_api.c b/src/iperf_client_api.c +index 7ad4c939b..670e3521d 100644 +--- a/src/iperf_client_api.c ++++ b/src/iperf_client_api.c +@@ -385,6 +385,8 @@ iperf_connect(struct iperf_test *test) + { + int opt; + socklen_t len; ++ const char *connect_server; ++ int connect_port; + + if (NULL == test) + { +@@ -397,12 +399,20 @@ iperf_connect(struct iperf_test *test) + make_cookie(test->cookie); + + /* Create and connect the control channel */ +- if (test->ctrl_sck < 0) +- // Create the control channel using an ephemeral port +- test->ctrl_sck = netdial(test->settings->domain, Ptcp, test->bind_address, test->bind_dev, 0, test->server_hostname, test->server_port, test->settings->connect_timeout); + if (test->ctrl_sck < 0) { +- i_errno = IECONNECT; +- return -1; ++ if (test->socks5_host) { ++ connect_server = test->socks5_host; ++ connect_port = test->socks5_port; ++ } else { ++ connect_server = test->server_hostname; ++ connect_port = test->server_port; ++ } ++ // Create the control channel using an ephemeral port ++ test->ctrl_sck = netdial(test->settings->domain, Ptcp, test->bind_address, test->bind_dev, 0, connect_server, connect_port, test->settings->connect_timeout); ++ if (test->ctrl_sck < 0) { ++ i_errno = IECONNECT; ++ return -1; ++ } + } + + // set TCP_NODELAY for lower latency on control messages +@@ -421,6 +431,13 @@ iperf_connect(struct iperf_test *test) + } + #endif /* HAVE_TCP_USER_TIMEOUT */ + ++ /* socks5 proxy handshake */ ++ if (test->socks5_host) { ++ if (0 != iperf_socks5_handshake(test, test->ctrl_sck)) { ++ return -1; ++ } ++ } ++ + if (Nwrite(test->ctrl_sck, test->cookie, COOKIE_SIZE, Ptcp) < 0) { + i_errno = IESENDCOOKIE; + return -1; +diff --git a/src/iperf_error.c b/src/iperf_error.c +index 6426554cf..a0bbb6844 100644 +--- a/src/iperf_error.c ++++ b/src/iperf_error.c +@@ -216,6 +216,9 @@ iperf_strerror(int int_errno) + case IEUNIMP: + snprintf(errstr, len, "an option you are trying to set is not implemented yet"); + break; ++ case IESOCKS5HOST: ++ snprintf(errstr, len, "ilegal SOCKS5 host / creadentials"); ++ break; + case IEFILE: + snprintf(errstr, len, "unable to open -F file"); + perr = 1; +@@ -375,6 +378,9 @@ iperf_strerror(int int_errno) + case IEUDPFILETRANSFER: + snprintf(errstr, len, "cannot transfer file using UDP"); + break; ++ case IESOCKS5RTCPONLY: ++ snprintf(errstr, len, "SOCKS5 Proxy is supported only for TCP"); ++ break; + case IERVRSONLYRCVTIMEOUT: + snprintf(errstr, len, "client receive timeout is valid only in receiving mode"); + perr = 1; +@@ -507,6 +513,10 @@ iperf_strerror(int int_errno) + snprintf(errstr, len, "unable to destroy thread attributes"); + perr = 1; + break; ++ case IESOCKS5HANDSHAKE: ++ snprintf(errstr, len, "socks5 Handshake with the server failed"); ++ perr = 1; ++ break; + default: + snprintf(errstr, len, "int_errno=%d", int_errno); + perr = 1; +diff --git a/src/iperf_locale.c b/src/iperf_locale.c +index ae0f63a41..c8b9a71d1 100644 +--- a/src/iperf_locale.c ++++ b/src/iperf_locale.c +@@ -194,6 +194,8 @@ const char usage_longstr[] = "Usage: iperf3 [-s|-c host] [options]\n" + " --dscp N or --dscp val set the IP dscp value, either 0-63 or symbolic.\n" + " Numeric values can be specified in decimal,\n" + " octal and hex (see --tos above).\n" ++ " --socks5 [user:password@][:port] use SOCKS5 Proxy for TCP connections,\n" ++ " using no auth or user:password. Default Proxy port is %d \n" + #if defined(HAVE_FLOWLABEL) + " -L, --flowlabel N set the IPv6 flow label (only supported on Linux)\n" + #endif /* HAVE_FLOWLABEL */ +diff --git a/src/iperf_tcp.c b/src/iperf_tcp.c +index 184a1955e..515913581 100644 +--- a/src/iperf_tcp.c ++++ b/src/iperf_tcp.c +@@ -375,14 +375,24 @@ iperf_tcp_connect(struct iperf_test *test) + socklen_t optlen; + int saved_errno; + int rcvbuf_actual, sndbuf_actual; + int proto = 0; ++ const char *connect_server; ++ int connect_port; + + #if defined(HAVE_IPPROTO_MPTCP) + if (test->mptcp) + proto = IPPROTO_MPTCP; + #endif + +- s = create_socket(test->settings->domain, SOCK_STREAM, proto, test->bind_address, test->bind_dev, test->bind_port, test->server_hostname, test->server_port, &server_res); ++ if (test->socks5_host) { ++ connect_server = test->socks5_host; ++ connect_port = test->socks5_port; ++ } else { ++ connect_server = test->server_hostname; ++ connect_port = test->server_port; ++ } ++ ++ s = create_socket(test->settings->domain, SOCK_STREAM, proto, test->bind_address, test->bind_dev, test->bind_port, connect_server, connect_port, &server_res); + if (s < 0) { + i_errno = IESTREAMCONNECT; + return -1; +@@ -571,6 +581,16 @@ iperf_tcp_connect(struct iperf_test *test) + + freeaddrinfo(server_res); + ++ /* socks5 proxy handshake */ ++ if (test->socks5_host) { ++ if (0 != iperf_socks5_handshake(test, s)) { ++ saved_errno = errno; ++ close(s); ++ errno = saved_errno; ++ return -1; ++ } ++ } ++ + /* Send cookie for verification */ + if (Nwrite(s, test->cookie, COOKIE_SIZE, Ptcp) < 0) { + saved_errno = errno; diff --git a/iproute2/Makefile b/iproute2/Makefile new file mode 100644 index 000000000..ca6793d49 --- /dev/null +++ b/iproute2/Makefile @@ -0,0 +1,268 @@ +# +# Copyright (C) 2006-2015 OpenWrt.org +# +# This is free software, licensed under the GNU General Public License v2. +# See /LICENSE for more information. +# + +include $(TOPDIR)/rules.mk + +PKG_NAME:=iproute2 +PKG_VERSION:=6.12.0 +PKG_RELEASE:=2 + +PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz +PKG_SOURCE_URL:=@KERNEL/linux/utils/net/iproute2 +PKG_HASH:=bbd141ef7b5d0127cc2152843ba61f274dc32814fa3e0f13e7d07a080bef53d9 +PKG_BUILD_PARALLEL:=1 +PKG_BUILD_DEPENDS:=iptables +PKG_LICENSE:=GPL-2.0 +PKG_CPE_ID:=cpe:/a:iproute2_project:iproute2 + +PKG_BUILD_FLAGS:=gc-sections lto + +include $(INCLUDE_DIR)/kernel.mk +include $(INCLUDE_DIR)/package.mk +include $(INCLUDE_DIR)/nls.mk + +define Package/iproute2/Default + SECTION:=net + CATEGORY:=Network + URL:=http://www.linuxfoundation.org/collaborate/workgroups/networking/iproute2 + SUBMENU:=Routing and Redirection + MAINTAINER:=Russell Senior +endef + +define Package/ip-tiny +$(call Package/iproute2/Default) + TITLE:=Routing control utility (minimal) + VARIANT:=iptiny + DEFAULT_VARIANT:=1 + PROVIDES:=ip + ALTERNATIVES:=200:/sbin/ip:/usr/libexec/ip-tiny + DEPENDS:=+libnl-tiny +(PACKAGE_devlink||PACKAGE_rdma):libmnl +endef + +define Package/ip-full +$(call Package/iproute2/Default) + TITLE:=Routing control utility (full) + VARIANT:=ipfull + PROVIDES:=ip + ALTERNATIVES:=300:/sbin/ip:/usr/libexec/ip-full + DEPENDS:=+libnl-tiny +libbpf +(PACKAGE_devlink||PACKAGE_rdma):libmnl +endef + +define Package/tc-tiny +$(call Package/iproute2/Default) + TITLE:=Traffic control utility (minimal) + VARIANT:=tctiny + DEFAULT_VARIANT:=1 + PROVIDES:=tc + ALTERNATIVES:=200:/sbin/tc:/usr/libexec/tc-tiny + DEPENDS:=+kmod-sched-core +(PACKAGE_devlink||PACKAGE_rdma):libmnl +endef + +define Package/tc-bpf +$(call Package/iproute2/Default) + TITLE:=Traffic control utility (bpf) + VARIANT:=tcbpf + PROVIDES:=tc + ALTERNATIVES:=300:/sbin/tc:/usr/libexec/tc-bpf + DEPENDS:=+kmod-sched-core +(PACKAGE_devlink||PACKAGE_rdma):libmnl +libbpf +endef + +define Package/tc-full +$(call Package/iproute2/Default) + TITLE:=Traffic control utility (full) + VARIANT:=tcfull + PROVIDES:=tc + ALTERNATIVES:=400:/sbin/tc:/usr/libexec/tc-full + DEPENDS:=+kmod-sched-core +(PACKAGE_devlink||PACKAGE_rdma):libmnl +libbpf +libxtables +endef + +define Package/genl +$(call Package/iproute2/Default) + TITLE:=General netlink utility frontend + DEPENDS:=+libnl-tiny +(PACKAGE_devlink||PACKAGE_rdma):libmnl +endef + +define Package/ip-bridge +$(call Package/iproute2/Default) + TITLE:=Bridge configuration utility from iproute2 + DEPENDS:=+libnl-tiny +(PACKAGE_devlink||PACKAGE_rdma):libmnl +endef + +define Package/ss +$(call Package/iproute2/Default) + TITLE:=Socket statistics utility + DEPENDS:=+libnl-tiny +(PACKAGE_devlink||PACKAGE_rdma):libmnl +libbpf +kmod-netlink-diag +endef + +define Package/nstat +$(call Package/iproute2/Default) + TITLE:=Network statistics utility + DEPENDS:=+libnl-tiny +(PACKAGE_devlink||PACKAGE_rdma):libmnl +endef + +define Package/devlink +$(call Package/iproute2/Default) + TITLE:=Network devlink utility + DEPENDS:=+libmnl +endef + +define Package/rdma +$(call Package/iproute2/Default) + TITLE:=Network rdma utility + DEPENDS:=+libmnl +endef + +ifeq ($(BUILD_VARIANT),iptiny) + IP_CONFIG_TINY:=y + LIBBPF_FORCE:=off +endif + +ifeq ($(BUILD_VARIANT),ipfull) + HAVE_ELF:=y + LIBBPF_FORCE:=on +endif + +ifeq ($(BUILD_VARIANT),tctiny) + LIBBPF_FORCE:=off +endif + +ifeq ($(BUILD_VARIANT),tcbpf) + HAVE_ELF:=y + LIBBPF_FORCE:=on + SHARED_LIBS:=y +endif + +ifeq ($(BUILD_VARIANT),tcfull) + #enable iptables/xtables requirement only if tciptables variant is selected + TC_CONFIG_XT:=y + TC_CONFIG_XT_OLD:=y + TC_CONFIG_XT_OLD_H:=y + TC_CONFIG_IPSET:=y + HAVE_ELF:=y + LIBBPF_FORCE:=on + SHARED_LIBS:=y +else + #disable iptables requirement by default + TC_CONFIG_XT:=n + TC_CONFIG_XT_OLD:=n + TC_CONFIG_XT_OLD_H:=n + TC_CONFIG_IPSET:=n +endif + +ifdef CONFIG_PACKAGE_devlink + HAVE_MNL:=y +endif + +ifdef CONFIG_PACKAGE_rdma + HAVE_MNL:=y +endif + +define Build/Configure + echo "static const char SNAPSHOT[] = \"$(PKG_VERSION)-$(PKG_RELEASE)-openwrt\";" \ + > $(PKG_BUILD_DIR)/include/SNAPSHOT.h +endef + +TARGET_LDFLAGS += -Wl,--as-needed +TARGET_CPPFLAGS += -I$(STAGING_DIR)/usr/include/libnl-tiny + +MAKE_FLAGS += \ + KERNEL_INCLUDE="$(LINUX_DIR)/include/uapi" \ + SHARED_LIBS=$(SHARED_LIBS) \ + IP_CONFIG_TINY=$(IP_CONFIG_TINY) \ + BUILD_VARIANT=$(BUILD_VARIANT) \ + LIBBPF_FORCE=$(LIBBPF_FORCE) \ + HAVE_ELF=$(HAVE_ELF) \ + HAVE_MNL=$(HAVE_MNL) \ + HAVE_CAP=$(HAVE_CAP) \ + HAVE_TIRPC=n \ + IPT_LIB_DIR=/usr/lib/iptables \ + XT_LIB_DIR=/usr/lib/iptables \ + TC_CONFIG_XT=$(TC_CONFIG_XT) \ + TC_CONFIG_XT_OLD=$(TC_CONFIG_XT_OLD) \ + TC_CONFIG_XT_OLD_H=$(TC_CONFIG_XT_OLD_H) \ + TC_CONFIG_IPSET=$(TC_CONFIG_IPSET) \ + FPIC="$(FPIC)" \ + $(if $(findstring c,$(OPENWRT_VERBOSE)),V=1,V='') + +define Build/Compile + +$(MAKE_VARS) $(MAKE) $(PKG_JOBS) -C $(PKG_BUILD_DIR) $(MAKE_FLAGS) +endef + +define Build/InstallDev + $(INSTALL_DIR) $(1)/usr/include/iproute2 + $(CP) $(PKG_BUILD_DIR)/include/bpf_elf.h $(1)/usr/include/iproute2 + $(CP) $(PKG_BUILD_DIR)/include/{libgenl,libnetlink}.h $(1)/usr/include/ + $(INSTALL_DIR) $(1)/usr/lib + $(CP) $(PKG_BUILD_DIR)/lib/libnetlink.a $(1)/usr/lib/ +endef + +define Package/ip-tiny/install + $(INSTALL_DIR) $(1)/usr/libexec + $(INSTALL_BIN) $(PKG_BUILD_DIR)/ip/ip $(1)/usr/libexec/ip-tiny +endef + +define Package/ip-full/install + $(INSTALL_DIR) $(1)/usr/libexec + $(INSTALL_BIN) $(PKG_BUILD_DIR)/ip/ip $(1)/usr/libexec/ip-full +endef + +define Package/tc-tiny/install + $(INSTALL_DIR) $(1)/usr/libexec + $(INSTALL_BIN) $(PKG_BUILD_DIR)/tc/tc $(1)/usr/libexec/tc-tiny +endef + +define Package/tc-bpf/install + $(INSTALL_DIR) $(1)/usr/libexec + $(INSTALL_BIN) $(PKG_BUILD_DIR)/tc/tc $(1)/usr/libexec/tc-bpf +endef + +define Package/tc-full/install + $(INSTALL_DIR) $(1)/usr/libexec + $(INSTALL_BIN) $(PKG_BUILD_DIR)/tc/tc $(1)/usr/libexec/tc-full +endef + +define Package/genl/install + $(INSTALL_DIR) $(1)/usr/sbin + $(INSTALL_BIN) $(PKG_BUILD_DIR)/genl/genl $(1)/usr/sbin/ +endef + +define Package/ip-bridge/install + $(INSTALL_DIR) $(1)/usr/sbin + $(INSTALL_BIN) $(PKG_BUILD_DIR)/bridge/bridge $(1)/usr/sbin/ +endef + +define Package/ss/install + $(INSTALL_DIR) $(1)/usr/sbin + $(INSTALL_BIN) $(PKG_BUILD_DIR)/misc/ss $(1)/usr/sbin/ +endef + +define Package/nstat/install + $(INSTALL_DIR) $(1)/usr/sbin + $(INSTALL_BIN) $(PKG_BUILD_DIR)/misc/nstat $(1)/usr/sbin/ +endef + +define Package/devlink/install + $(INSTALL_DIR) $(1)/usr/sbin + $(INSTALL_BIN) $(PKG_BUILD_DIR)/devlink/devlink $(1)/usr/sbin/ +endef + +define Package/rdma/install + $(INSTALL_DIR) $(1)/usr/sbin + $(INSTALL_BIN) $(PKG_BUILD_DIR)/rdma/rdma $(1)/usr/sbin/ +endef + +$(eval $(call BuildPackage,ip-tiny)) +$(eval $(call BuildPackage,ip-full)) +$(eval $(call BuildPackage,tc-tiny)) +$(eval $(call BuildPackage,tc-bpf)) +$(eval $(call BuildPackage,tc-full)) +$(eval $(call BuildPackage,genl)) +$(eval $(call BuildPackage,ip-bridge)) +$(eval $(call BuildPackage,ss)) +$(eval $(call BuildPackage,nstat)) +$(eval $(call BuildPackage,devlink)) +$(eval $(call BuildPackage,rdma)) diff --git a/iproute2/patches/013-endian.h.patch b/iproute2/patches/013-endian.h.patch new file mode 100644 index 000000000..a81c3b5ee --- /dev/null +++ b/iproute2/patches/013-endian.h.patch @@ -0,0 +1,22 @@ +From c8b3ecc22ed0edaf0259eaf7d1a5c04f300ad6e4 Mon Sep 17 00:00:00 2001 +From: Stephen Hemminger +Date: Thu, 12 Dec 2024 11:24:18 -0800 +Subject: [PATCH] libnetlink: add missing endian.h + +Need endian.h to get htobe64 with musl. + +Signed-off-by: Stephen Hemminger +--- + include/libnetlink.h | 1 + + 1 file changed, 1 insertion(+) + +--- a/include/libnetlink.h ++++ b/include/libnetlink.h +@@ -4,6 +4,7 @@ + + #include + #include ++#include + #include + #include + #include diff --git a/iproute2/patches/014-basename.patch b/iproute2/patches/014-basename.patch new file mode 100644 index 000000000..f98238ec6 --- /dev/null +++ b/iproute2/patches/014-basename.patch @@ -0,0 +1,29 @@ +From fa3949b792e275f75d7d6200dc2036ef7fff8816 Mon Sep 17 00:00:00 2001 +From: Stephen Hemminger +Date: Thu, 12 Dec 2024 11:21:56 -0800 +Subject: [PATCH] rdma: add missing header for basename + +The function basename prototype is in libgen.h +Fixes build on musl + +Signed-off-by: Stephen Hemminger +--- + rdma/rdma.h | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +--- a/rdma/rdma.h ++++ b/rdma/rdma.h +@@ -10,11 +10,12 @@ + #include + #include + #include ++#include ++#include + #include + #include + #include + #include +-#include + #include + + #include "list.h" diff --git a/iproute2/patches/015-limits.h.patch b/iproute2/patches/015-limits.h.patch new file mode 100644 index 000000000..e212b88eb --- /dev/null +++ b/iproute2/patches/015-limits.h.patch @@ -0,0 +1,84 @@ +From 7e23da91fca6e5dedeb32a7d308cf20982e897c3 Mon Sep 17 00:00:00 2001 +From: Stephen Hemminger +Date: Tue, 10 Dec 2024 13:38:08 -0800 +Subject: [PATCH] ip: rearrange and prune header files + +The recent report of issues with missing limits.h impacting musl +suggested looking at what files are and are not included in ip code. + +The standard practice is to put standard headers first, then system, +then local headers. Used iwyu to get suggestions about missing +and extraneous headers. + +Signed-off-by: Stephen Hemminger +--- + ip/iplink.c | 13 +++++-------- + ip/ipnetns.c | 19 +++++++++---------- + 2 files changed, 14 insertions(+), 18 deletions(-) + +--- a/ip/iplink.c ++++ b/ip/iplink.c +@@ -11,17 +11,14 @@ + #include + #include + #include ++#include ++#include ++#include ++ + #include ++#include + #include +-#include + #include +-#include +-#include +-#include +-#include +-#include +-#include +-#include + + #include "rt_names.h" + #include "utils.h" +--- a/ip/ipnetns.c ++++ b/ip/ipnetns.c +@@ -1,21 +1,21 @@ + /* SPDX-License-Identifier: GPL-2.0 */ + #define _ATFILE_SOURCE +-#include +-#include +-#include +-#include +-#include +-#include +-#include ++ + #include ++#include + #include +-#include + #include + #include + #include + #include + #include +-#include ++#include ++ ++#include ++#include ++#include ++#include ++#include + + #include + +@@ -23,7 +23,6 @@ + #include "list.h" + #include "ip_common.h" + #include "namespace.h" +-#include "json_print.h" + + static int usage(void) + { diff --git a/iproute2/patches/016-limits.h.patch b/iproute2/patches/016-limits.h.patch new file mode 100644 index 000000000..c20404f6f --- /dev/null +++ b/iproute2/patches/016-limits.h.patch @@ -0,0 +1,26 @@ +From f982f30e166a02e09097de05129449031ba51f76 Mon Sep 17 00:00:00 2001 +From: Stephen Hemminger +Date: Thu, 12 Dec 2024 11:29:44 -0800 +Subject: [PATCH] cg_map: use limits.h + +Prefer limits.h from system headers over linux/limits.h +Fixes build with musl. + +Signed-off-by: Stephen Hemminger +--- + lib/cg_map.c | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +--- a/lib/cg_map.c ++++ b/lib/cg_map.c +@@ -9,8 +9,9 @@ + #include + #include + #include ++#include ++ + #include +-#include + #include + + #include "cg_map.h" diff --git a/iproute2/patches/017-linux-limits.patch b/iproute2/patches/017-linux-limits.patch new file mode 100644 index 000000000..0c5d13840 --- /dev/null +++ b/iproute2/patches/017-linux-limits.patch @@ -0,0 +1,178 @@ +From ac547ad027e3d4e283202ecb487cf54707234491 Mon Sep 17 00:00:00 2001 +From: Stephen Hemminger +Date: Thu, 12 Dec 2024 14:15:59 -0800 +Subject: [PATCH] flower: replace XATTR_SIZE_MAX + +The flower tc parser was using XATTR_SIZE_MAX from linux/limits.h, +but this constant is intended to before extended filesystem attributes +not for TC. Replace it with a local define. + +This fixes issue on systems with musl and XATTR_SIZE_MAX is not +defined in limits.h there. + +Signed-off-by: Stephen Hemminger +--- + tc/f_flower.c | 37 ++++++++++++++++++++----------------- + 1 file changed, 20 insertions(+), 17 deletions(-) + +--- a/tc/f_flower.c ++++ b/tc/f_flower.c +@@ -10,7 +10,7 @@ + #include + #include + #include +-#include ++ + #include + #include + #include +@@ -22,6 +22,9 @@ + #include "tc_util.h" + #include "rt_names.h" + ++/* maximum length of options string */ ++#define FLOWER_OPTS_MAX 4096 ++ + #ifndef IPPROTO_L2TP + #define IPPROTO_L2TP 115 + #endif +@@ -1252,7 +1255,7 @@ static int flower_check_enc_opt_key(char + + static int flower_parse_enc_opts_geneve(char *str, struct nlmsghdr *n) + { +- char key[XATTR_SIZE_MAX], mask[XATTR_SIZE_MAX]; ++ char key[FLOWER_OPTS_MAX], mask[FLOWER_OPTS_MAX]; + int data_len, key_len, mask_len, err; + char *token, *slash; + struct rtattr *nest; +@@ -1265,7 +1268,7 @@ static int flower_parse_enc_opts_geneve( + if (slash) + *slash = '\0'; + +- if ((key_len + strlen(token) > XATTR_SIZE_MAX) || ++ if ((key_len + strlen(token) > FLOWER_OPTS_MAX) || + flower_check_enc_opt_key(token)) + return -1; + +@@ -1275,7 +1278,7 @@ static int flower_parse_enc_opts_geneve( + + if (!slash) { + /* Pad out mask when not provided */ +- if (mask_len + strlen(token) > XATTR_SIZE_MAX) ++ if (mask_len + strlen(token) > FLOWER_OPTS_MAX) + return -1; + + data_len = strlen(rindex(token, ':')); +@@ -1288,7 +1291,7 @@ static int flower_parse_enc_opts_geneve( + continue; + } + +- if (mask_len + strlen(slash + 1) > XATTR_SIZE_MAX) ++ if (mask_len + strlen(slash + 1) > FLOWER_OPTS_MAX) + return -1; + + strcpy(&mask[mask_len], slash + 1); +@@ -1318,7 +1321,7 @@ static int flower_parse_enc_opts_geneve( + + static int flower_parse_enc_opts_vxlan(char *str, struct nlmsghdr *n) + { +- char key[XATTR_SIZE_MAX], mask[XATTR_SIZE_MAX]; ++ char key[FLOWER_OPTS_MAX], mask[FLOWER_OPTS_MAX]; + struct rtattr *nest; + char *slash; + int err; +@@ -1326,14 +1329,14 @@ static int flower_parse_enc_opts_vxlan(c + slash = strchr(str, '/'); + if (slash) { + *slash++ = '\0'; +- if (strlen(slash) > XATTR_SIZE_MAX) ++ if (strlen(slash) > FLOWER_OPTS_MAX) + return -1; + strcpy(mask, slash); + } else { + strcpy(mask, "0xffffffff"); + } + +- if (strlen(str) > XATTR_SIZE_MAX) ++ if (strlen(str) > FLOWER_OPTS_MAX) + return -1; + strcpy(key, str); + +@@ -1355,7 +1358,7 @@ static int flower_parse_enc_opts_vxlan(c + + static int flower_parse_enc_opts_erspan(char *str, struct nlmsghdr *n) + { +- char key[XATTR_SIZE_MAX], mask[XATTR_SIZE_MAX]; ++ char key[FLOWER_OPTS_MAX], mask[FLOWER_OPTS_MAX]; + struct rtattr *nest; + char *slash; + int err; +@@ -1364,7 +1367,7 @@ static int flower_parse_enc_opts_erspan( + slash = strchr(str, '/'); + if (slash) { + *slash++ = '\0'; +- if (strlen(slash) > XATTR_SIZE_MAX) ++ if (strlen(slash) > FLOWER_OPTS_MAX) + return -1; + strcpy(mask, slash); + } else { +@@ -1376,7 +1379,7 @@ static int flower_parse_enc_opts_erspan( + strcpy(mask + index, ":0xffffffff:0xff:0xff"); + } + +- if (strlen(str) > XATTR_SIZE_MAX) ++ if (strlen(str) > FLOWER_OPTS_MAX) + return -1; + strcpy(key, str); + +@@ -1398,7 +1401,7 @@ static int flower_parse_enc_opts_erspan( + + static int flower_parse_enc_opts_gtp(char *str, struct nlmsghdr *n) + { +- char key[XATTR_SIZE_MAX], mask[XATTR_SIZE_MAX]; ++ char key[FLOWER_OPTS_MAX], mask[FLOWER_OPTS_MAX]; + struct rtattr *nest; + char *slash; + int err; +@@ -1406,13 +1409,13 @@ static int flower_parse_enc_opts_gtp(cha + slash = strchr(str, '/'); + if (slash) { + *slash++ = '\0'; +- if (strlen(slash) > XATTR_SIZE_MAX) ++ if (strlen(slash) > FLOWER_OPTS_MAX) + return -1; + strcpy(mask, slash); + } else + strcpy(mask, "ff:ff"); + +- if (strlen(str) > XATTR_SIZE_MAX) ++ if (strlen(str) > FLOWER_OPTS_MAX) + return -1; + strcpy(key, str); + +@@ -1433,7 +1436,7 @@ static int flower_parse_enc_opts_gtp(cha + + static int flower_parse_enc_opts_pfcp(char *str, struct nlmsghdr *n) + { +- char key[XATTR_SIZE_MAX], mask[XATTR_SIZE_MAX]; ++ char key[FLOWER_OPTS_MAX], mask[FLOWER_OPTS_MAX]; + struct rtattr *nest; + char *slash; + int err; +@@ -1442,14 +1445,14 @@ static int flower_parse_enc_opts_pfcp(ch + slash = strchr(str, '/'); + if (slash) { + *slash++ = '\0'; +- if (strlen(slash) > XATTR_SIZE_MAX) ++ if (strlen(slash) > FLOWER_OPTS_MAX) + return -1; + strcpy(mask, slash); + } else { + strcpy(mask, "ff:ffffffffffffffff"); + } + +- if (strlen(str) > XATTR_SIZE_MAX) ++ if (strlen(str) > FLOWER_OPTS_MAX) + return -1; + strcpy(key, str); + diff --git a/iproute2/patches/018-linux-limits.patch b/iproute2/patches/018-linux-limits.patch new file mode 100644 index 000000000..8c2669acd --- /dev/null +++ b/iproute2/patches/018-linux-limits.patch @@ -0,0 +1,37 @@ +From 458dce5d0431f0589aca1bc841904b5d1db3bbce Mon Sep 17 00:00:00 2001 +From: Stephen Hemminger +Date: Thu, 12 Dec 2024 14:18:35 -0800 +Subject: [PATCH] uapi: remove no longer used linux/limits.h + +Code is now using limits.h instead. + +Signed-off-by: Stephen Hemminger +--- + include/uapi/linux/limits.h | 21 --------------------- + 1 file changed, 21 deletions(-) + delete mode 100644 include/uapi/linux/limits.h + +--- a/include/uapi/linux/limits.h ++++ /dev/null +@@ -1,21 +0,0 @@ +-/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ +-#ifndef _LINUX_LIMITS_H +-#define _LINUX_LIMITS_H +- +-#define NR_OPEN 1024 +- +-#define NGROUPS_MAX 65536 /* supplemental group IDs are available */ +-#define ARG_MAX 131072 /* # bytes of args + environ for exec() */ +-#define LINK_MAX 127 /* # links a file may have */ +-#define MAX_CANON 255 /* size of the canonical input queue */ +-#define MAX_INPUT 255 /* size of the type-ahead buffer */ +-#define NAME_MAX 255 /* # chars in a file name */ +-#define PATH_MAX 4096 /* # chars in a path name including nul */ +-#define PIPE_BUF 4096 /* # bytes in atomic write to a pipe */ +-#define XATTR_NAME_MAX 255 /* # chars in an extended attribute name */ +-#define XATTR_SIZE_MAX 65536 /* size of an extended attribute value (64k) */ +-#define XATTR_LIST_MAX 65536 /* size of extended attribute namelist (64k) */ +- +-#define RTSIG_MAX 32 +- +-#endif diff --git a/iproute2/patches/110-darwin_fixes.patch b/iproute2/patches/110-darwin_fixes.patch new file mode 100644 index 000000000..06ae59f8b --- /dev/null +++ b/iproute2/patches/110-darwin_fixes.patch @@ -0,0 +1,59 @@ +--- a/netem/maketable.c ++++ b/netem/maketable.c +@@ -11,7 +11,9 @@ + #include + #include + #include ++#if !defined(__APPLE__) && !defined(__FreeBSD__) + #include ++#endif + #include + #include + #include +--- a/netem/normal.c ++++ b/netem/normal.c +@@ -9,8 +9,12 @@ + #include + #include + ++#if !defined(__APPLE__) && !defined(__FreeBSD__) + #include + #include ++#else ++#define NETEM_DIST_SCALE 8192 ++#endif + + #define TABLESIZE 16384 + #define TABLEFACTOR NETEM_DIST_SCALE +--- a/netem/pareto.c ++++ b/netem/pareto.c +@@ -8,8 +8,12 @@ + #include + #include + ++#if !defined(__APPLE__) && !defined(__FreeBSD__) + #include + #include ++#else ++#define NETEM_DIST_SCALE 8192 ++#endif + + static const double a=3.0; + #define TABLESIZE 16384 +--- a/netem/paretonormal.c ++++ b/netem/paretonormal.c +@@ -15,10 +15,13 @@ + #include + #include + #include ++#if !defined(__APPLE__) && !defined(__FreeBSD__) + #include +- + #include + #include ++#else ++#define NETEM_DIST_SCALE 8192 ++#endif + + #define TABLESIZE 16384 + #define TABLEFACTOR NETEM_DIST_SCALE diff --git a/iproute2/patches/115-add-config-xtlibdir.patch b/iproute2/patches/115-add-config-xtlibdir.patch new file mode 100644 index 000000000..38448e6cd --- /dev/null +++ b/iproute2/patches/115-add-config-xtlibdir.patch @@ -0,0 +1,12 @@ +--- a/tc/Makefile ++++ b/tc/Makefile +@@ -107,6 +107,9 @@ CFLAGS += -DCONFIG_GACT -DCONFIG_GACT_PR + ifneq ($(IPT_LIB_DIR),) + CFLAGS += -DIPT_LIB_DIR=\"$(IPT_LIB_DIR)\" + endif ++ifneq ($(XT_LIB_DIR),) ++ CFLAGS += -DXT_LIB_DIR=\"$(XT_LIB_DIR)\" ++endif + + LEX := flex + CFLAGS += -DYY_NO_INPUT diff --git a/iproute2/patches/120-no_arpd_ifstat_rtacct_lnstat.patch b/iproute2/patches/120-no_arpd_ifstat_rtacct_lnstat.patch new file mode 100644 index 000000000..bb6a8d018 --- /dev/null +++ b/iproute2/patches/120-no_arpd_ifstat_rtacct_lnstat.patch @@ -0,0 +1,20 @@ +--- a/misc/Makefile ++++ b/misc/Makefile +@@ -2,13 +2,13 @@ + SSOBJ=ss.o ssfilter_check.o ssfilter.tab.o + LNSTATOBJ=lnstat.o lnstat_util.o + +-TARGETS=ss nstat ifstat rtacct lnstat ++TARGETS=ss nstat + + include ../config.mk + +-ifeq ($(HAVE_BERKELEY_DB),y) +- TARGETS += arpd +-endif ++#ifeq ($(HAVE_BERKELEY_DB),y) ++# TARGETS += arpd ++#endif + + all: $(TARGETS) + diff --git a/iproute2/patches/130-no_netem_tipc_dcb_man_vdpa.patch b/iproute2/patches/130-no_netem_tipc_dcb_man_vdpa.patch new file mode 100644 index 000000000..7f946070f --- /dev/null +++ b/iproute2/patches/130-no_netem_tipc_dcb_man_vdpa.patch @@ -0,0 +1,14 @@ +--- a/Makefile ++++ b/Makefile +@@ -69,9 +69,9 @@ WFLAGS += -Wmissing-declarations -Wold-s + CFLAGS := $(WFLAGS) $(CCOPTS) -I../include -I../include/uapi $(DEFINES) $(CFLAGS) + YACCFLAGS = -d -t -v + +-SUBDIRS=lib ip tc bridge misc netem genl man ++SUBDIRS=lib ip tc bridge misc genl + ifeq ($(HAVE_MNL),y) +-SUBDIRS += tipc devlink rdma dcb vdpa ++SUBDIRS += devlink rdma + endif + + LIBNETLINK=../lib/libutil.a ../lib/libnetlink.a diff --git a/iproute2/patches/140-allow_pfifo_fast.patch b/iproute2/patches/140-allow_pfifo_fast.patch new file mode 100644 index 000000000..8f5a7d352 --- /dev/null +++ b/iproute2/patches/140-allow_pfifo_fast.patch @@ -0,0 +1,9 @@ +--- a/tc/q_fifo.c ++++ b/tc/q_fifo.c +@@ -90,5 +90,6 @@ struct qdisc_util pfifo_head_drop_qdisc_ + + struct qdisc_util pfifo_fast_qdisc_util = { + .id = "pfifo_fast", ++ .parse_qopt = fifo_parse_opt, + .print_qopt = prio_print_opt, + }; diff --git a/iproute2/patches/140-keep_libmnl_optional.patch b/iproute2/patches/140-keep_libmnl_optional.patch new file mode 100644 index 000000000..48a4ae751 --- /dev/null +++ b/iproute2/patches/140-keep_libmnl_optional.patch @@ -0,0 +1,11 @@ +--- a/configure ++++ b/configure +@@ -368,7 +368,7 @@ check_tirpc() + + check_mnl() + { +- if ${PKG_CONFIG} libmnl --exists; then ++ if [ "${HAVE_MNL}" = "y" ] && ${PKG_CONFIG} libmnl --exists; then + echo "HAVE_MNL:=y" >>$CONFIG + echo "yes" + diff --git a/iproute2/patches/145-keep_libelf_optional.patch b/iproute2/patches/145-keep_libelf_optional.patch new file mode 100644 index 000000000..99b9d326f --- /dev/null +++ b/iproute2/patches/145-keep_libelf_optional.patch @@ -0,0 +1,11 @@ +--- a/configure ++++ b/configure +@@ -217,7 +217,7 @@ EOF + + check_elf() + { +- if ${PKG_CONFIG} libelf --exists; then ++ if [ "${HAVE_ELF}" = "y" ] && ${PKG_CONFIG} libelf --exists; then + echo "HAVE_ELF:=y" >>$CONFIG + echo "yes" + diff --git a/iproute2/patches/150-keep_libcap_optional.patch b/iproute2/patches/150-keep_libcap_optional.patch new file mode 100644 index 000000000..49873f87b --- /dev/null +++ b/iproute2/patches/150-keep_libcap_optional.patch @@ -0,0 +1,11 @@ +--- a/configure ++++ b/configure +@@ -427,7 +427,7 @@ EOF + + check_cap() + { +- if ${PKG_CONFIG} libcap --exists; then ++ if [ "${HAVE_CAP}" = "y" ] && ${PKG_CONFIG} libcap --exists; then + echo "HAVE_CAP:=y" >>$CONFIG + echo "yes" + diff --git a/iproute2/patches/155-keep_tirpc_optional.patch b/iproute2/patches/155-keep_tirpc_optional.patch new file mode 100644 index 000000000..9e5e4330c --- /dev/null +++ b/iproute2/patches/155-keep_tirpc_optional.patch @@ -0,0 +1,11 @@ +--- a/configure ++++ b/configure +@@ -355,7 +355,7 @@ check_selinux() + + check_tirpc() + { +- if ${PKG_CONFIG} libtirpc --exists; then ++ if [ "${HAVE_TIRPC}" = "y" ] && ${PKG_CONFIG} libtirpc --exists; then + echo "HAVE_RPC:=y" >>$CONFIG + echo "yes" + diff --git a/iproute2/patches/160-libnetlink-pic.patch b/iproute2/patches/160-libnetlink-pic.patch new file mode 100644 index 000000000..145ec7a9e --- /dev/null +++ b/iproute2/patches/160-libnetlink-pic.patch @@ -0,0 +1,11 @@ +--- a/lib/Makefile ++++ b/lib/Makefile +@@ -1,7 +1,7 @@ + # SPDX-License-Identifier: GPL-2.0 + include ../config.mk + +-CFLAGS += -fPIC ++CFLAGS += $(FPIC) + + UTILOBJ = utils.o utils_math.o rt_names.o ll_map.o ll_types.o ll_proto.o ll_addr.o \ + inet_proto.o namespace.o json_writer.o json_print.o json_print_math.o \ diff --git a/iproute2/patches/170-ip_tiny.patch b/iproute2/patches/170-ip_tiny.patch new file mode 100644 index 000000000..149bcd2af --- /dev/null +++ b/iproute2/patches/170-ip_tiny.patch @@ -0,0 +1,108 @@ +--- a/ip/Makefile ++++ b/ip/Makefile +@@ -19,6 +19,13 @@ RTMONOBJ=rtmon.o + + include ../config.mk + ++STATIC_SYM_FILTER:= ++ifeq ($(IP_CONFIG_TINY),y) ++ STATIC_SYM_FILTER:=iplink_can.c iplink_ipoib.c iplink_vxlan.c ++ CFLAGS += -DIPROUTE2_TINY ++endif ++STATIC_SYM_SOURCES:=$(filter-out $(STATIC_SYM_FILTER),$(wildcard *.c)) ++ + ALLOBJ=$(IPOBJ) $(RTMONOBJ) + SCRIPTS=routel + TARGETS=ip rtmon +@@ -48,7 +55,7 @@ else + + ip: static-syms.o + static-syms.o: static-syms.h +-static-syms.h: $(wildcard *.c) ++static-syms.h: $(STATIC_SYM_SOURCES) + files="$^" ; \ + for s in `grep -B 3 '\ +Date: Thu, 30 May 2013 11:54:04 +0200 +Subject: [PATCH] add support for dropping with FAILED_POLICY + +--- + include/linux/fib_rules.h | 4 ++++ + include/linux/rtnetlink.h | 1 + + ip/rtm_map.c | 4 ++++ + 3 files changed, 9 insertions(+) + +--- a/ip/rtm_map.c ++++ b/ip/rtm_map.c +@@ -49,6 +49,8 @@ char *rtnl_rtntype_n2a(int id, char *buf + return "nat"; + case RTN_XRESOLVE: + return "xresolve"; ++ case RTN_FAILED_POLICY: ++ return "failed_policy"; + default: + snprintf(buf, len, "%d", id); + return buf; +@@ -84,6 +86,8 @@ int rtnl_rtntype_a2n(int *id, char *arg) + res = RTN_UNICAST; + else if (strcmp(arg, "throw") == 0) + res = RTN_THROW; ++ else if (strcmp(arg, "failed_policy") == 0) ++ res = RTN_FAILED_POLICY; + else { + res = strtoul(arg, &end, 0); + if (!end || end == arg || *end || res > 255) +--- a/include/uapi/linux/rtnetlink.h ++++ b/include/uapi/linux/rtnetlink.h +@@ -265,6 +265,7 @@ enum { + RTN_THROW, /* Not in this table */ + RTN_NAT, /* Translate this address */ + RTN_XRESOLVE, /* Use external resolver */ ++ RTN_FAILED_POLICY, /* Source address failed policy */ + __RTN_MAX + }; + diff --git a/iproute2/patches/190-fix-nls-rpath-link.patch b/iproute2/patches/190-fix-nls-rpath-link.patch new file mode 100644 index 000000000..545075fd8 --- /dev/null +++ b/iproute2/patches/190-fix-nls-rpath-link.patch @@ -0,0 +1,20 @@ +--- a/configure ++++ b/configure +@@ -241,7 +241,7 @@ int main(int argc, char **argv) { + } + EOF + +- $CC -o $TMPDIR/libbpf_test $TMPDIR/libbpf_test.c $LIBBPF_CFLAGS $LIBBPF_LDLIBS >/dev/null 2>&1 ++ $CC -o $TMPDIR/libbpf_test $TMPDIR/libbpf_test.c $LIBBPF_CFLAGS $LIBBPF_LDLIBS $LDFLAGS >/dev/null 2>&1 + local ret=$? + + rm -f $TMPDIR/libbpf_test.c $TMPDIR/libbpf_test +@@ -259,7 +259,7 @@ int main(int argc, char **argv) { + } + EOF + +- $CC -o $TMPDIR/libbpf_sec_test $TMPDIR/libbpf_sec_test.c $LIBBPF_CFLAGS $LIBBPF_LDLIBS >/dev/null 2>&1 ++ $CC -o $TMPDIR/libbpf_sec_test $TMPDIR/libbpf_sec_test.c $LIBBPF_CFLAGS $LIBBPF_LDLIBS $LDFLAGS >/dev/null 2>&1 + local ret=$? + + rm -f $TMPDIR/libbpf_sec_test.c $TMPDIR/libbpf_sec_test diff --git a/iproute2/patches/195-build_variant_ip_tc.patch b/iproute2/patches/195-build_variant_ip_tc.patch new file mode 100644 index 000000000..6ecf5568b --- /dev/null +++ b/iproute2/patches/195-build_variant_ip_tc.patch @@ -0,0 +1,22 @@ +--- a/ip/Makefile ++++ b/ip/Makefile +@@ -28,7 +28,7 @@ STATIC_SYM_SOURCES:=$(filter-out $(STATI + + ALLOBJ=$(IPOBJ) $(RTMONOBJ) + SCRIPTS=routel +-TARGETS=ip rtmon ++TARGETS=$(findstring ip,$(BUILD_VARIANT)) rtmon + + all: $(TARGETS) $(SCRIPTS) + +--- a/tc/Makefile ++++ b/tc/Makefile +@@ -120,7 +120,7 @@ MODDESTDIR := $(DESTDIR)$(LIBDIR)/tc + $(QUIET_CC)$(CC) $(CFLAGS) $(CPPFLAGS) $(LDFLAGS) -shared -fpic $< -o $@ + + +-all: tc $(TCSO) ++all: $(findstring tc,$(BUILD_VARIANT)) $(TCSO) + + tc: $(TCOBJ) $(LIBNETLINK) libtc.a + $(QUIET_LINK)$(CC) $^ $(LDFLAGS) $(LDLIBS) -o $@ diff --git a/iproute2/patches/200-drop_libbsd_dependency.patch b/iproute2/patches/200-drop_libbsd_dependency.patch new file mode 100644 index 000000000..38193be15 --- /dev/null +++ b/iproute2/patches/200-drop_libbsd_dependency.patch @@ -0,0 +1,19 @@ +--- a/configure ++++ b/configure +@@ -413,14 +413,8 @@ EOF + if $CC -I$INCLUDE -o $TMPDIR/strtest $TMPDIR/strtest.c >/dev/null 2>&1; then + echo "no" + else +- if ${PKG_CONFIG} libbsd --exists; then +- echo 'CFLAGS += -DHAVE_LIBBSD' "$(${PKG_CONFIG} libbsd --cflags)" >>$CONFIG +- echo 'LDLIBS +=' "$(${PKG_CONFIG} libbsd --libs)" >> $CONFIG +- echo "no" +- else +- echo 'CFLAGS += -DNEED_STRLCPY' >>$CONFIG +- echo "yes" +- fi ++ echo 'CFLAGS += -DNEED_STRLCPY' >>$CONFIG ++ echo "yes" + fi + rm -f $TMPDIR/strtest.c $TMPDIR/strtest + } diff --git a/iproute2/patches/300-selinux-configurable.patch b/iproute2/patches/300-selinux-configurable.patch new file mode 100644 index 000000000..9f07d3176 --- /dev/null +++ b/iproute2/patches/300-selinux-configurable.patch @@ -0,0 +1,11 @@ +--- a/configure ++++ b/configure +@@ -342,7 +342,7 @@ check_libbpf() + check_selinux() + # SELinux is a compile time option in the ss utility + { +- if ${PKG_CONFIG} libselinux --exists; then ++ if [ "${HAVE_SELINUX}" = "y" ] && ${PKG_CONFIG} libselinux --exists; then + echo "HAVE_SELINUX:=y" >>$CONFIG + echo "yes" + diff --git a/libbpf/Makefile b/libbpf/Makefile deleted file mode 100644 index 862b075a3..000000000 --- a/libbpf/Makefile +++ /dev/null @@ -1,60 +0,0 @@ -# -# Copyright (C) 2018-2019 Ycarus (Yannick Chabanois) -# -# This is free software, licensed under the GNU General Public License v2. -# See /LICENSE for more information. -# - -include $(TOPDIR)/rules.mk - -PKG_NAME:=libbpf -PKG_VERSION:=556e0a0 -PKG_RELEASE:=1 - -PKG_SOURCE_URL:=https://github.com/libbpf/libbpf.git -PKG_SOURCE_VERSION:=556e0a0def956ece0476d99ccb0570ee4ecd4d23 -PKG_MAINTAINER:=Yannick Chabanois (Ycarus) - -PKG_SOURCE_PROTO:=git - -include $(INCLUDE_DIR)/package.mk - -define Package/libbpf - SECTION:=net - CATEGORY:=Network - TITLE:=libbpf - DEPENDS:=+libstdcpp +libelf1 - KCONFIG:=CONFIG_BPF_STREAM_PARSER=y -endef - -define Package/libbpf/description - libbpf -endef - -EXTRA_CPPFLAGS += -fpermissive -Wno-variadic-macros - -TARGET_CFLAGS += -DCOMPAT_NEED_REALLOCARRAY - -define Build/Configure -endef - -define Build/Compile - BUILD_SHARED=y $(MAKE) -C $(PKG_BUILD_DIR)/src \ - CC="$(TARGET_CC)" \ - CFLAGS="$(TARGET_CFLAGS)" \ - LDFLAGS="$(TARGET_LDFLAGS)" -endef - -define Build/InstallDev - $(INSTALL_DIR) $(1)/usr/lib - $(CP) $(PKG_BUILD_DIR)/src/libbpf.so $(1)/usr/lib - $(INSTALL_DIR) $(1)/usr/include/bpf - $(CP) $(PKG_BUILD_DIR)/src/*.h $(1)/usr/include/bpf -endef - -define Package/libbpf/install - $(INSTALL_DIR) $(1)/usr/lib - $(CP) $(PKG_BUILD_DIR)/src/libbpf.so $(1)/usr/lib -endef - -$(eval $(call BuildPackage,libbpf)) diff --git a/libell/Makefile b/libell/Makefile new file mode 100644 index 000000000..8b12f4b51 --- /dev/null +++ b/libell/Makefile @@ -0,0 +1,44 @@ +# +# Copyright (C) 2020-2021 Ycarus (Yannick Chabanois) +# +# This is free software, licensed under the GNU General Public License v2. +# See /LICENSE for more information. +# + +include $(TOPDIR)/rules.mk + +PKG_NAME:=ell +PKG_VERSION:=0.41 +PKG_RELEASE:=1 +PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz +PKG_HASH:=4e8dba6c53cf152dbd0fd1dc3d4c7b04abf79e20a948895f85943e586870505c +PKG_SOURCE_URL:=@KERNEL/linux/libs/ell +PKG_LICENSE:=GPL-2.0 +PKG_LICENSE_FILES:=GPL +PKG_INSTALL:=1 +PKG_MAINTAINER:=Ycarus + +include $(INCLUDE_DIR)/package.mk + +define Package/libell + SECTION:=libs + CATEGORY:=Libraries + TITLE:=Embedded Linux library + URL:=https://git.kernel.org/pub/scm/libs/ell/ell.git +endef + +define Package/libell/description + Embeded Linux library +endef + +define Package/libell/install + $(INSTALL_DIR) $(1)/usr/lib + $(CP) $(PKG_INSTALL_DIR)/usr/lib/libell*.so* $(1)/usr/lib +endef + +define Build/InstallDev + $(INSTALL_DIR) $(1) + $(CP) $(PKG_INSTALL_DIR)/* $(1)/ +endef + +$(eval $(call BuildPackage,libell)) diff --git a/libgpiod/Makefile b/libgpiod/Makefile new file mode 100644 index 000000000..57842ab78 --- /dev/null +++ b/libgpiod/Makefile @@ -0,0 +1,125 @@ +# +# Copyright (C) 2018-2019 Michael Heimpold +# +# This is free software, licensed under the GNU General Public License v2. +# See /LICENSE for more information. +# + +include $(TOPDIR)/rules.mk + +PKG_NAME:=libgpiod +PKG_VERSION:=2.1.1 +PKG_RELEASE:=1 + +PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz +PKG_SOURCE_URL:=@KERNEL/software/libs/libgpiod/ +PKG_HASH:=b21913f469d3135680d5516f00fdf9f81d5e564e19ffb690927ea7f1d7e312cb + +PKG_MAINTAINER:=Michael Heimpold +PKG_LICENSE:=LGPL-2.1-or-later +PKG_LICENSE_FILES:=COPYING + +PKG_INSTALL:=1 +PKG_BUILD_PARALLEL:=1 +PYTHON3_PKG_BUILD:=0 + +include $(INCLUDE_DIR)/package.mk +include $(TOPDIR)/feeds/packages/lang/python/python3-package.mk + +ifneq ($(CONFIG_PACKAGE_gpiod-tools),) +CONFIGURE_ARGS += --enable-tools +endif + +PYTHON3_PKG_SETUP_DIR:=bindings/python +TARGET_CPPFLAGS+=-I$(PKG_BUILD_DIR)/include +TARGET_LDFLAGS+=-L$(PKG_BUILD_DIR)/lib/.libs + +define Package/libgpiod + SECTION:=libs + CATEGORY:=Libraries + URL:=https://git.kernel.org/pub/scm/libs/libgpiod/libgpiod.git + TITLE:=Library for interacting with Linux's GPIO character device + KCONFIG:= \ + CONFIG_GPIO_CDEV=y + DEPENDS:=@GPIO_SUPPORT +endef + +define Package/libgpiod/description + C library for interacting with the linux GPIO character device + (gpiod stands for GPIO device). +endef + +define Package/gpiod-tools + SECTION:=utils + CATEGORY:=Utilities + TITLE:=Tools for interacting with GPIO pins + DEPENDS:=+libgpiod +endef + +define Package/gpiod-tools/description + Tools for interacting with the linux GPIO character device + (gpiod stands for GPIO device). +endef + +define Package/python3-gpiod + SECTION:=lang + CATEGORY:=Languages + SUBMENU:=Python + TITLE:=Python bindings for libgpiod + URL:=https://git.kernel.org/pub/scm/libs/libgpiod/libgpiod.git + DEPENDS:=+python3-light +libgpiod +endef + +define Package/python3-gpiod/description + This package contains the Python bindings for libgpiod. +endef + +define Build/Configure + $(call Build/Configure/Default) + ifneq ($(CONFIG_PACKAGE_python3-gpiod),) + $(call Py3Build/Configure) + endif +endef + +define Build/Compile + $(call Build/Compile/Default) + ifneq ($(CONFIG_PACKAGE_python3-gpiod),) + $(call Py3Build/Compile) + endif +endef + +define Build/InstallDev + $(INSTALL_DIR) $(1)/usr/include + $(CP) $(PKG_INSTALL_DIR)/usr/include/gpiod.h $(1)/usr/include/ + + $(INSTALL_DIR) $(1)/usr/lib + $(CP) $(PKG_INSTALL_DIR)/usr/lib/libgpiod.{so*,a} $(1)/usr/lib/ + + $(INSTALL_DIR) $(1)/usr/lib/pkgconfig + $(CP) $(PKG_INSTALL_DIR)/usr/lib/pkgconfig/libgpiod.pc $(1)/usr/lib/pkgconfig/ + + ifneq ($(CONFIG_PACKAGE_python3-gpiod),) + $(INSTALL_DIR) $(1)$(PYTHON3_PKG_DIR) + $(CP) $(PKG_INSTALL_DIR)$(PYTHON3_PKG_DIR)/* $(1)$(PYTHON3_PKG_DIR) + endif +endef + +define Package/libgpiod/install + $(INSTALL_DIR) $(1)/usr/lib + $(CP) $(PKG_INSTALL_DIR)/usr/lib/libgpiod.so.* $(1)/usr/lib/ +endef + +define Package/gpiod-tools/install + $(INSTALL_DIR) $(1)/usr/bin + $(CP) $(PKG_INSTALL_DIR)/usr/bin/* $(1)/usr/bin/ +endef + +define Py3Package/python3-gpiod/install + # this empty define prevent installing tools from /usr/bin +endef + +$(eval $(call BuildPackage,libgpiod)) +$(eval $(call BuildPackage,gpiod-tools)) +$(eval $(call Py3Package,python3-gpiod)) +$(eval $(call BuildPackage,python3-gpiod)) +$(eval $(call BuildPackage,python3-gpiod-src)) diff --git a/libmbim/Makefile b/libmbim/Makefile new file mode 100644 index 000000000..5482a3cfb --- /dev/null +++ b/libmbim/Makefile @@ -0,0 +1,97 @@ +# +# Copyright (C) 2016 Velocloud Inc. +# Copyright (C) 2016 Aleksander Morgado +# +# This is free software, licensed under the GNU General Public License v2. +# + +include $(TOPDIR)/rules.mk + +PKG_NAME:=libmbim +PKG_VERSION:=1.31.6 +PKG_SOURCE_VERSION:=1.31.6-dev +#PKG_SOURCE_VERSION:=1866ed53c05916c66c5d52682778a6078e5221d3 +PKG_RELEASE:=1 + +PKG_SOURCE_PROTO:=git +PKG_SOURCE_URL:=https://gitlab.freedesktop.org/mobile-broadband/libmbim.git +#libmPKG_MIRROR_HASH:=8fc4e2d78d6a1003bf89303d3ce779283b176d74e84a241ba8efb0d468605268 + +PKG_BUILD_FLAGS:=gc-sections + +PKG_MAINTAINER:=Nicholas Smith + +include $(INCLUDE_DIR)/package.mk +include $(INCLUDE_DIR)/nls.mk +include $(INCLUDE_DIR)/meson.mk + +TARGET_CFLAGS += -fno-merge-all-constants -fmerge-constants + +MESON_ARGS += \ + -Dintrospection=false \ + -Dman=false \ + -Dbash_completion=false \ + -Db_lto=true + +define Package/libmbim + SECTION:=libs + CATEGORY:=Libraries + DEPENDS:=+glib2 + TITLE:=Helper library and utils to talk to MBIM enabled modems + URL:=https://www.freedesktop.org/wiki/Software/libmbim + LICENSE:=LGPL-2.0-or-later + LICENSE_FILES:=COPYING.LIB +endef + +define Package/libmbim/description + Helper library to talk to MBIM enabled modems. + Add mbim-utils for extra utilities. +endef + +define Package/mbim-utils + SECTION:=utils + CATEGORY:=Utilities + DEPENDS:=+libmbim + TITLE:=Utilities to talk to MBIM enabled modems + URL:=https://www.freedesktop.org/wiki/Software/libmbim + LICENSE:=GPL-2.0-or-later + LICENSE_FILES:=COPYING +endef + +define Build/InstallDev + $(INSTALL_DIR) $(1)/usr/include + $(CP) \ + $(PKG_INSTALL_DIR)/usr/include/libmbim-glib \ + $(1)/usr/include/ + + $(INSTALL_DIR) $(1)/usr/lib + $(CP) \ + $(PKG_INSTALL_DIR)/usr/lib/libmbim*.so* \ + $(1)/usr/lib/ + + $(INSTALL_DIR) $(1)/usr/lib/pkgconfig + $(CP) \ + $(PKG_INSTALL_DIR)/usr/lib/pkgconfig/mbim-glib.pc \ + $(1)/usr/lib/pkgconfig +endef + +define Package/libmbim/install + $(INSTALL_DIR) \ + $(1)/usr/lib \ + $(1)/usr/libexec + + $(CP) \ + $(PKG_INSTALL_DIR)/usr/lib/libmbim*.so.* \ + $(1)/usr/lib/ + + $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/libexec/mbim-proxy $(1)/usr/libexec/ +endef + +define Package/mbim-utils/install + $(INSTALL_DIR) $(1)/usr/bin + $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/mbimcli $(1)/usr/bin/ + $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/mbim-network $(1)/usr/bin/ +endef + +$(eval $(call BuildPackage,libmbim)) +$(eval $(call BuildPackage,mbim-utils)) diff --git a/libqmi/Config.in b/libqmi/Config.in new file mode 100644 index 000000000..7dfa7ca52 --- /dev/null +++ b/libqmi/Config.in @@ -0,0 +1,31 @@ +menu "Configuration" + depends on PACKAGE_libqmi + +config LIBQMI_WITH_MBIM_QMUX + bool "Include MBIM QMUX service support" + default y + help + Compile libqmi with QMI-over-MBIM support + +config LIBQMI_WITH_QRTR_GLIB + bool "Include QRTR support" + default y + help + Compile libqmi with QRTR support + +choice + prompt "Select QMI message collection to build" + default LIBQMI_COLLECTION_BASIC + + config LIBQMI_COLLECTION_MINIMAL + depends on !MODEMMANAGER_WITH_QMI + bool "minimal" + + config LIBQMI_COLLECTION_BASIC + bool "basic (default)" + + config LIBQMI_COLLECTION_FULL + bool "full" +endchoice + +endmenu diff --git a/libqmi/Makefile b/libqmi/Makefile new file mode 100644 index 000000000..ca7122ad5 --- /dev/null +++ b/libqmi/Makefile @@ -0,0 +1,113 @@ +# +# Copyright (C) 2016 Velocloud Inc. +# Copyright (C) 2016 Aleksander Morgado +# +# This is free software, licensed under the GNU General Public License v2. +# + +include $(TOPDIR)/rules.mk + +PKG_NAME:=libqmi +PKG_VERSION:=1.35.6 +PKG_SOURCE_VERSION:=1.35.6-dev +PKG_RELEASE:=1 + +PKG_SOURCE_PROTO:=git +PKG_SOURCE_URL:=https://gitlab.freedesktop.org/mobile-broadband/libqmi.git +#PKG_MIRROR_HASH:=af3dc760d0c40ef8af1f8b424435daa12bff698ed45b1cc9a9e38ea62ed047f0 + +PKG_BUILD_FLAGS:=gc-sections + +PKG_MAINTAINER:=Nicholas Smith + +include $(INCLUDE_DIR)/package.mk +include $(INCLUDE_DIR)/nls.mk +include $(INCLUDE_DIR)/meson.mk + +TARGET_CFLAGS += -fno-merge-all-constants -fmerge-constants + +define Package/libqmi/config + source "$(SOURCE)/Config.in" +endef + +define Package/libqmi + SECTION:=libs + CATEGORY:=Libraries + DEPENDS:= \ + +glib2 \ + +LIBQMI_WITH_MBIM_QMUX:libmbim \ + +LIBQMI_WITH_QRTR_GLIB:libqrtr-glib + TITLE:=Helper library to talk to QMI enabled modems + URL:=https://www.freedesktop.org/wiki/Software/libqmi + LICENSE:=LGPL-2.0-or-later + LICENSE_FILES:=COPYING.LIB +endef + +define Package/libqmi/description + Helper library talk to QMI enabled modems. + Add qmi-utils for extra utilities. +endef + +define Package/qmi-utils + SECTION:=utils + CATEGORY:=Utilities + DEPENDS:=+libqmi + TITLE:=Utilities to talk to QMI enabled modems + URL:=https://www.freedesktop.org/wiki/Software/libqmi + LICENSE:=GPL-2.0-or-later + LICENSE_FILES:=COPYING +endef + +define Package/libqmi-utils/description + Utils to talk to QMI enabled modems +endef + +MESON_ARGS += \ + -Dudev=false \ + -Dintrospection=false \ + -Dman=false \ + -Dbash_completion=false \ + -Db_lto=true \ + -Dmbim_qmux=$(if $(CONFIG_LIBQMI_WITH_MBIM_QMUX),true,false) \ + -Dqrtr=$(if $(CONFIG_LIBQMI_WITH_QRTR_GLIB),true,false) \ + -Dcollection=$(if $(CONFIG_LIBQMI_COLLECTION_MINIMAL),minimal\ + ,$(if $(CONFIG_LIBQMI_COLLECTION_BASIC),basic,full)) + +define Build/InstallDev + $(INSTALL_DIR) $(1)/usr/include + $(CP) \ + $(PKG_INSTALL_DIR)/usr/include/libqmi-glib \ + $(1)/usr/include/ + + $(INSTALL_DIR) $(1)/usr/lib + $(CP) \ + $(PKG_INSTALL_DIR)/usr/lib/libqmi*.so* \ + $(1)/usr/lib/ + + $(INSTALL_DIR) $(1)/usr/lib/pkgconfig + $(CP) \ + $(PKG_INSTALL_DIR)/usr/lib/pkgconfig/qmi-glib.pc \ + $(1)/usr/lib/pkgconfig +endef + +define Package/libqmi/install + $(INSTALL_DIR) \ + $(1)/usr/lib \ + $(1)/usr/libexec + + $(CP) \ + $(PKG_INSTALL_DIR)/usr/lib/libqmi*.so.* \ + $(1)/usr/lib/ + + $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/libexec/qmi-proxy $(1)/usr/libexec/ +endef + +define Package/qmi-utils/install + $(INSTALL_DIR) $(1)/usr/bin + $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/qmicli $(1)/usr/bin/ + $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/qmi-network $(1)/usr/bin/ + $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/qmi-firmware-update $(1)/usr/bin/ +endef + +$(eval $(call BuildPackage,libqmi)) +$(eval $(call BuildPackage,qmi-utils)) diff --git a/luci-app-dsvpn/Makefile b/luci-app-dsvpn/Makefile index d78150d98..cc5052f9d 100644 --- a/luci-app-dsvpn/Makefile +++ b/luci-app-dsvpn/Makefile @@ -1,11 +1,11 @@ # -# Copyright (C) 2018-2019 Ycarus (Yannick Chabanois) for OpenMPTCProuter +# Copyright (C) 2018-2020 Ycarus (Yannick Chabanois) # # include $(TOPDIR)/rules.mk -LUCI_TITLE:=LuCI Support for DSVPN +LUCI_TITLE:=LuCI Interface to DSVPN LUCI_DEPENDS:=+dsvpn PKG_LICENSE:=GPLv3 diff --git a/luci-app-dsvpn/htdocs/luci-static/resources/view/services/dsvpn.js b/luci-app-dsvpn/htdocs/luci-static/resources/view/services/dsvpn.js new file mode 100644 index 000000000..453a13836 --- /dev/null +++ b/luci-app-dsvpn/htdocs/luci-static/resources/view/services/dsvpn.js @@ -0,0 +1,66 @@ +'use strict'; +'require rpc'; +'require form'; +'require fs'; +'require uci'; +'require tools.widgets as widgets'; + +var callHostHints; + +return L.view.extend({ + callHostHints: rpc.declare({ + object: 'luci-rpc', + method: 'getHostHints', + expect: { '': {} } + }), + + load: function() { + return this.callHostHints(); + }, + + render: function(hosts) { + var m, s, o; + + m = new form.Map('dsvpn', _('DSVPN')); + + s = m.section(form.GridSection, 'dsvpn', _('Instances')); + s.addremove = true; + s.anonymous = true; + s.nodescriptions = true; + + o = s.option(form.Flag, 'enable', _('Enabled')); + o.default = o.enabled; + + o = s.option(form.Value, 'label', _('Label')); + o.rmempty = true; + + o = s.option(form.ListValue, 'mode', _('Mode')); + o.value('client',_('Client')); + o.value('server',_('Server')); + o.modalonly = true; + + o = s.option(form.Value, 'host', _('Host')); + o.rmempty = false; + + o = s.option(form.Value, 'port', _('Port')); + o.rmempty = false; + + o = s.option(form.Value, 'key', _('Key')); + o.rmempty = false; + o.modalonly = true; + + o = s.option(form.Value, 'dev', _('Interface name')); + o.rmempty = false; + o.modalonly = true; + + o = s.option(form.Value, 'localip', _('Local IP')); + o.datatype = 'or(ip4addr,ip6addr)'; + o.rmempty = false; + + o = s.option(form.Value, 'remoteip', _('Remote IP')); + o.datatype = 'or(ip4addr,ip6addr)'; + o.rmempty = false; + + return m.render(); + } +}); diff --git a/luci-app-dsvpn/luasrc/controller/dsvpn.lua b/luci-app-dsvpn/luasrc/controller/dsvpn.lua deleted file mode 100644 index 99793584a..000000000 --- a/luci-app-dsvpn/luasrc/controller/dsvpn.lua +++ /dev/null @@ -1,7 +0,0 @@ -module("luci.controller.dsvpn", package.seeall) - -function index() - --entry({"admin", "openmptcprouter", "mlvpn"}, cbi("mlvpn"), _("DSVPN")) - --entry({"admin", "services", "dsvpn"}, cbi("dsvpn"), _("DSVPN")) - entry({"admin", "vpn", "dsvpn"}, cbi("dsvpn"), _("DSVPN")) -end diff --git a/luci-app-dsvpn/luasrc/model/cbi/dsvpn.lua b/luci-app-dsvpn/luasrc/model/cbi/dsvpn.lua deleted file mode 100644 index d0c6a3141..000000000 --- a/luci-app-dsvpn/luasrc/model/cbi/dsvpn.lua +++ /dev/null @@ -1,44 +0,0 @@ -local net = require "luci.model.network".init() -local sys = require "luci.sys" -local ifaces = sys.net:devices() -local m, s, o - -m = Map("dsvpn", translate("DSVPN")) - -s = m:section(TypedSection, "dsvpn", translate("Settings")) -s.anonymous = true -s.addremove = false - -o = s:option(Flag, "enable", translate("Enable")) -o.rmempty = false - -o = s:option(Value, "host", translate("Remote host")) -o.placeholder = "128.128.128.128" -o.default = "128.128.128.128" -o.datatype = "host" -o.rmempty = false - -o = s:option(Value, "port", translate("Remote port")) -o.placeholder = "65011" -o.default = "65011" -o.datatype = "port" - -o = s:option(Value, "key", translate("Key")) -o.password = true -o.rmempty = false - - -o = s:option(Value, "localip", translate("Tunnel local IP")) -o.default = "10.255.251.2" -o.datatype = "host" - -o = s:option(Value, "remoteip", translate("Tunnel remote IP")) -o.default = "10.255.251.1" -o.datatype = "host" - -o = s:option(Value, "dev", translate("Interface name")) -o.placeholder = "tun0" -o.default = "tun0" -o.rmempty = false - -return m diff --git a/luci-app-dsvpn/po/fr/dsvpn.po b/luci-app-dsvpn/po/fr/dsvpn.po index 7eebcf23e..448d90c08 100644 --- a/luci-app-dsvpn/po/fr/dsvpn.po +++ b/luci-app-dsvpn/po/fr/dsvpn.po @@ -1,52 +1,68 @@ msgid "" msgstr "" -"Content-Type: text/plain; charset=UTF-8\n" -"Project-Id-Version: \n" -"POT-Creation-Date: \n" -"PO-Revision-Date: \n" -"Language-Team: \n" -"MIME-Version: 1.0\n" -"Content-Transfer-Encoding: 8bit\n" -"X-Generator: Poedit 2.2.3\n" -"Last-Translator: Ycarus \n" -"Plural-Forms: nplurals=2; plural=(n > 1);\n" +"PO-Revision-Date: 2021-04-30 16:16+0000\n" +"Last-Translator: Weblate Admin \n" +"Language-Team: French \n" "Language: fr\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=n > 1;\n" +"X-Generator: Weblate 4.5.2\n" -#: luci-app-dsvpn/luasrc/controller/dsvpn.lua:4 -#: luci-app-dsvpn/luasrc/controller/dsvpn.lua:5 -#: luci-app-dsvpn/luasrc/controller/dsvpn.lua:6 -#: luci-app-dsvpn/luasrc/model/cbi/dsvpn.lua:6 +#: luci-app-dsvpn/htdocs/luci-static/resources/view/services/dsvpn.js:38 +msgid "Client" +msgstr "Client" + +#: luci-app-dsvpn/htdocs/luci-static/resources/view/services/dsvpn.js:24 +#: luci-app-dsvpn/root/usr/share/luci/menu.d/luci-app-dsvpn.json:3 msgid "DSVPN" -msgstr "" +msgstr "DSVPN" -#: luci-app-dsvpn/luasrc/model/cbi/dsvpn.lua:12 -msgid "Enable" -msgstr "Activé" +#: luci-app-dsvpn/htdocs/luci-static/resources/view/services/dsvpn.js:31 +msgid "Enabled" +msgstr "Activer" -#: luci-app-dsvpn/luasrc/model/cbi/dsvpn.lua:39 +#: luci-app-dsvpn/root/usr/share/rpcd/acl.d/luci-app-dsvpn.json:3 +msgid "Grant access to DSVPN" +msgstr "Accorder l'accès à DSVPN" + +#: luci-app-dsvpn/htdocs/luci-static/resources/view/services/dsvpn.js:42 +msgid "Host" +msgstr "Hôte" + +#: luci-app-dsvpn/htdocs/luci-static/resources/view/services/dsvpn.js:26 +msgid "Instances" +msgstr "Instances" + +#: luci-app-dsvpn/htdocs/luci-static/resources/view/services/dsvpn.js:52 msgid "Interface name" msgstr "Nom de l'interface" -#: luci-app-dsvpn/luasrc/model/cbi/dsvpn.lua:26 +#: luci-app-dsvpn/htdocs/luci-static/resources/view/services/dsvpn.js:48 msgid "Key" msgstr "Clef" -#: luci-app-dsvpn/luasrc/model/cbi/dsvpn.lua:15 -msgid "Remote host" -msgstr "Nom de l'hôte distant ou adresse IP" +#: luci-app-dsvpn/htdocs/luci-static/resources/view/services/dsvpn.js:34 +msgid "Label" +msgstr "Étiquette" -#: luci-app-dsvpn/luasrc/model/cbi/dsvpn.lua:21 -msgid "Remote port" -msgstr "Port distant" +#: luci-app-dsvpn/htdocs/luci-static/resources/view/services/dsvpn.js:56 +msgid "Local IP" +msgstr "Adresse IP locale" -#: luci-app-dsvpn/luasrc/model/cbi/dsvpn.lua:8 -msgid "Settings" -msgstr "Paramètres" +#: luci-app-dsvpn/htdocs/luci-static/resources/view/services/dsvpn.js:37 +msgid "Mode" +msgstr "Mode" -#: luci-app-dsvpn/luasrc/model/cbi/dsvpn.lua:31 -msgid "Tunnel local IP" -msgstr "Adresse IP locale du tunnel" +#: luci-app-dsvpn/htdocs/luci-static/resources/view/services/dsvpn.js:45 +msgid "Port" +msgstr "Port" -#: luci-app-dsvpn/luasrc/model/cbi/dsvpn.lua:35 -msgid "Tunnel remote IP" -msgstr "Adresse IP distance du tunnel" +#: luci-app-dsvpn/htdocs/luci-static/resources/view/services/dsvpn.js:60 +msgid "Remote IP" +msgstr "IP Distante" + +#: luci-app-dsvpn/htdocs/luci-static/resources/view/services/dsvpn.js:39 +msgid "Server" +msgstr "Serveur" diff --git a/luci-app-dsvpn/po/fr/dsvpn.po~ b/luci-app-dsvpn/po/fr/dsvpn.po~ new file mode 100644 index 000000000..dc421eb01 --- /dev/null +++ b/luci-app-dsvpn/po/fr/dsvpn.po~ @@ -0,0 +1,68 @@ +msgid "" +msgstr "" +"PO-Revision-Date: 2021-04-30 16:16+0000\n" +"Last-Translator: Weblate Admin \n" +"Language-Team: French \n" +"Language: fr\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=n > 1;\n" +"X-Generator: Weblate 4.5.2\n" + +#: luci-app-dsvpn/htdocs/luci-static/resources/view/services/dsvpn.js:35 +msgid "Client" +msgstr "Client" + +#: luci-app-dsvpn/htdocs/luci-static/resources/view/services/dsvpn.js:24 +#: luci-app-dsvpn/root/usr/share/luci/menu.d/luci-app-dsvpn.json:3 +msgid "DSVPN" +msgstr "DSVPN" + +#: luci-app-dsvpn/htdocs/luci-static/resources/view/services/dsvpn.js:31 +msgid "Enabled" +msgstr "Activer" + +#: luci-app-dsvpn/root/usr/share/rpcd/acl.d/luci-app-dsvpn.json:3 +msgid "Grant access to DSVPN" +msgstr "Accorder l'accès à DSVPN" + +#: luci-app-dsvpn/htdocs/luci-static/resources/view/services/dsvpn.js:39 +msgid "Host" +msgstr "Hôte" + +#: luci-app-dsvpn/htdocs/luci-static/resources/view/services/dsvpn.js:26 +msgid "Instances" +msgstr "Instances" + +#: luci-app-dsvpn/htdocs/luci-static/resources/view/services/dsvpn.js:49 +msgid "Interface name" +msgstr "Nom de l'interface" + +#: luci-app-dsvpn/htdocs/luci-static/resources/view/services/dsvpn.js:45 +msgid "Key" +msgstr "Clef" + +#: luci-app-dsvpn/htdocs/luci-static/resources/view/services/dsvpn.js:61 +msgid "Label" +msgstr "Étiquette" + +#: luci-app-dsvpn/htdocs/luci-static/resources/view/services/dsvpn.js:53 +msgid "Local IP" +msgstr "Adresse IP locale" + +#: luci-app-dsvpn/htdocs/luci-static/resources/view/services/dsvpn.js:34 +msgid "Mode" +msgstr "Mode" + +#: luci-app-dsvpn/htdocs/luci-static/resources/view/services/dsvpn.js:42 +msgid "Port" +msgstr "Port" + +#: luci-app-dsvpn/htdocs/luci-static/resources/view/services/dsvpn.js:57 +msgid "Remote IP" +msgstr "IP Distante" + +#: luci-app-dsvpn/htdocs/luci-static/resources/view/services/dsvpn.js:36 +msgid "Server" +msgstr "Serveur" diff --git a/luci-app-dsvpn/po/ru/dsvpn.po b/luci-app-dsvpn/po/ru/dsvpn.po new file mode 100644 index 000000000..a926fd1ab --- /dev/null +++ b/luci-app-dsvpn/po/ru/dsvpn.po @@ -0,0 +1,69 @@ +msgid "" +msgstr "" +"PO-Revision-Date: 2021-06-16 10:51+0000\n" +"Last-Translator: Dmitry Galenko \n" +"Language-Team: Russian \n" +"Language: ru\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n" +"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" +"X-Generator: Weblate 4.6.1\n" + +#: luci-app-dsvpn/htdocs/luci-static/resources/view/services/dsvpn.js:38 +msgid "Client" +msgstr "Клиент" + +#: luci-app-dsvpn/htdocs/luci-static/resources/view/services/dsvpn.js:24 +#: luci-app-dsvpn/root/usr/share/luci/menu.d/luci-app-dsvpn.json:3 +msgid "DSVPN" +msgstr "DSVPN" + +#: luci-app-dsvpn/htdocs/luci-static/resources/view/services/dsvpn.js:31 +msgid "Enabled" +msgstr "Установлено" + +#: luci-app-dsvpn/root/usr/share/rpcd/acl.d/luci-app-dsvpn.json:3 +msgid "Grant access to DSVPN" +msgstr "Полный доступ к DSVPN" + +#: luci-app-dsvpn/htdocs/luci-static/resources/view/services/dsvpn.js:42 +msgid "Host" +msgstr "Хост" + +#: luci-app-dsvpn/htdocs/luci-static/resources/view/services/dsvpn.js:26 +msgid "Instances" +msgstr "Экземпляры" + +#: luci-app-dsvpn/htdocs/luci-static/resources/view/services/dsvpn.js:52 +msgid "Interface name" +msgstr "Имя интерфейса" + +#: luci-app-dsvpn/htdocs/luci-static/resources/view/services/dsvpn.js:48 +msgid "Key" +msgstr "Ключ" + +#: luci-app-dsvpn/htdocs/luci-static/resources/view/services/dsvpn.js:34 +msgid "Label" +msgstr "Метка" + +#: luci-app-dsvpn/htdocs/luci-static/resources/view/services/dsvpn.js:56 +msgid "Local IP" +msgstr "Локальный IP" + +#: luci-app-dsvpn/htdocs/luci-static/resources/view/services/dsvpn.js:37 +msgid "Mode" +msgstr "Режим" + +#: luci-app-dsvpn/htdocs/luci-static/resources/view/services/dsvpn.js:45 +msgid "Port" +msgstr "Порт" + +#: luci-app-dsvpn/htdocs/luci-static/resources/view/services/dsvpn.js:60 +msgid "Remote IP" +msgstr "Удаленный IP" + +#: luci-app-dsvpn/htdocs/luci-static/resources/view/services/dsvpn.js:39 +msgid "Server" +msgstr "Сервер" diff --git a/luci-app-dsvpn/po/templates/dsvpn.pot b/luci-app-dsvpn/po/templates/dsvpn.pot index bc26ff694..4b5645646 100644 --- a/luci-app-dsvpn/po/templates/dsvpn.pot +++ b/luci-app-dsvpn/po/templates/dsvpn.pot @@ -1,41 +1,59 @@ msgid "" msgstr "Content-Type: text/plain; charset=UTF-8" -#: luci-app-dsvpn/luasrc/controller/dsvpn.lua:4 -#: luci-app-dsvpn/luasrc/controller/dsvpn.lua:5 -#: luci-app-dsvpn/luasrc/controller/dsvpn.lua:6 -#: luci-app-dsvpn/luasrc/model/cbi/dsvpn.lua:6 +#: luci-app-dsvpn/htdocs/luci-static/resources/view/services/dsvpn.js:38 +msgid "Client" +msgstr "" + +#: luci-app-dsvpn/htdocs/luci-static/resources/view/services/dsvpn.js:24 +#: luci-app-dsvpn/root/usr/share/luci/menu.d/luci-app-dsvpn.json:3 msgid "DSVPN" msgstr "" -#: luci-app-dsvpn/luasrc/model/cbi/dsvpn.lua:12 -msgid "Enable" +#: luci-app-dsvpn/htdocs/luci-static/resources/view/services/dsvpn.js:31 +msgid "Enabled" msgstr "" -#: luci-app-dsvpn/luasrc/model/cbi/dsvpn.lua:39 +#: luci-app-dsvpn/root/usr/share/rpcd/acl.d/luci-app-dsvpn.json:3 +msgid "Grant access to DSVPN" +msgstr "" + +#: luci-app-dsvpn/htdocs/luci-static/resources/view/services/dsvpn.js:42 +msgid "Host" +msgstr "" + +#: luci-app-dsvpn/htdocs/luci-static/resources/view/services/dsvpn.js:26 +msgid "Instances" +msgstr "" + +#: luci-app-dsvpn/htdocs/luci-static/resources/view/services/dsvpn.js:52 msgid "Interface name" msgstr "" -#: luci-app-dsvpn/luasrc/model/cbi/dsvpn.lua:26 +#: luci-app-dsvpn/htdocs/luci-static/resources/view/services/dsvpn.js:48 msgid "Key" msgstr "" -#: luci-app-dsvpn/luasrc/model/cbi/dsvpn.lua:15 -msgid "Remote host" +#: luci-app-dsvpn/htdocs/luci-static/resources/view/services/dsvpn.js:34 +msgid "Label" msgstr "" -#: luci-app-dsvpn/luasrc/model/cbi/dsvpn.lua:21 -msgid "Remote port" +#: luci-app-dsvpn/htdocs/luci-static/resources/view/services/dsvpn.js:56 +msgid "Local IP" msgstr "" -#: luci-app-dsvpn/luasrc/model/cbi/dsvpn.lua:8 -msgid "Settings" +#: luci-app-dsvpn/htdocs/luci-static/resources/view/services/dsvpn.js:37 +msgid "Mode" msgstr "" -#: luci-app-dsvpn/luasrc/model/cbi/dsvpn.lua:31 -msgid "Tunnel local IP" +#: luci-app-dsvpn/htdocs/luci-static/resources/view/services/dsvpn.js:45 +msgid "Port" msgstr "" -#: luci-app-dsvpn/luasrc/model/cbi/dsvpn.lua:35 -msgid "Tunnel remote IP" +#: luci-app-dsvpn/htdocs/luci-static/resources/view/services/dsvpn.js:60 +msgid "Remote IP" +msgstr "" + +#: luci-app-dsvpn/htdocs/luci-static/resources/view/services/dsvpn.js:39 +msgid "Server" msgstr "" diff --git a/luci-app-dsvpn/po/zh_Hans/dsvpn.po b/luci-app-dsvpn/po/zh_Hans/dsvpn.po new file mode 100644 index 000000000..e0379098d --- /dev/null +++ b/luci-app-dsvpn/po/zh_Hans/dsvpn.po @@ -0,0 +1,68 @@ +msgid "" +msgstr "" +"PO-Revision-Date: 2021-05-05 11:40+0000\n" +"Last-Translator: niergouge <1150108426@qq.com>\n" +"Language-Team: Chinese (Simplified) \n" +"Language: zh_Hans\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=1; plural=0;\n" +"X-Generator: Weblate 4.6.1\n" + +#: luci-app-dsvpn/htdocs/luci-static/resources/view/services/dsvpn.js:38 +msgid "Client" +msgstr "客户端" + +#: luci-app-dsvpn/htdocs/luci-static/resources/view/services/dsvpn.js:24 +#: luci-app-dsvpn/root/usr/share/luci/menu.d/luci-app-dsvpn.json:3 +msgid "DSVPN" +msgstr "DSVPN" + +#: luci-app-dsvpn/htdocs/luci-static/resources/view/services/dsvpn.js:31 +msgid "Enabled" +msgstr "启用" + +#: luci-app-dsvpn/root/usr/share/rpcd/acl.d/luci-app-dsvpn.json:3 +msgid "Grant access to DSVPN" +msgstr "授予对DSVPN的访问权限" + +#: luci-app-dsvpn/htdocs/luci-static/resources/view/services/dsvpn.js:42 +msgid "Host" +msgstr "主机" + +#: luci-app-dsvpn/htdocs/luci-static/resources/view/services/dsvpn.js:26 +msgid "Instances" +msgstr "实例" + +#: luci-app-dsvpn/htdocs/luci-static/resources/view/services/dsvpn.js:52 +msgid "Interface name" +msgstr "接口名称" + +#: luci-app-dsvpn/htdocs/luci-static/resources/view/services/dsvpn.js:48 +msgid "Key" +msgstr "秘钥" + +#: luci-app-dsvpn/htdocs/luci-static/resources/view/services/dsvpn.js:34 +msgid "Label" +msgstr "标签" + +#: luci-app-dsvpn/htdocs/luci-static/resources/view/services/dsvpn.js:56 +msgid "Local IP" +msgstr "本地IP" + +#: luci-app-dsvpn/htdocs/luci-static/resources/view/services/dsvpn.js:37 +msgid "Mode" +msgstr "模式" + +#: luci-app-dsvpn/htdocs/luci-static/resources/view/services/dsvpn.js:45 +msgid "Port" +msgstr "端口" + +#: luci-app-dsvpn/htdocs/luci-static/resources/view/services/dsvpn.js:60 +msgid "Remote IP" +msgstr "远程IP" + +#: luci-app-dsvpn/htdocs/luci-static/resources/view/services/dsvpn.js:39 +msgid "Server" +msgstr "服务器" diff --git a/luci-app-dsvpn/po/zh_Hans/dsvpn.po~ b/luci-app-dsvpn/po/zh_Hans/dsvpn.po~ new file mode 100644 index 000000000..177492257 --- /dev/null +++ b/luci-app-dsvpn/po/zh_Hans/dsvpn.po~ @@ -0,0 +1,68 @@ +msgid "" +msgstr "" +"PO-Revision-Date: 2020-12-04 16:03+0000\n" +"Last-Translator: antrouter \n" +"Language-Team: Chinese (Simplified) \n" +"Language: zh_Hans\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=1; plural=0;\n" +"X-Generator: Weblate 4.0.4\n" + +#: luci-app-dsvpn/htdocs/luci-static/resources/view/services/dsvpn.js:35 +msgid "Client" +msgstr "客户端" + +#: luci-app-dsvpn/htdocs/luci-static/resources/view/services/dsvpn.js:24 +#: luci-app-dsvpn/root/usr/share/luci/menu.d/luci-app-dsvpn.json:3 +msgid "DSVPN" +msgstr "DSVPN" + +#: luci-app-dsvpn/htdocs/luci-static/resources/view/services/dsvpn.js:31 +msgid "Enabled" +msgstr "开启" + +#: luci-app-dsvpn/root/usr/share/rpcd/acl.d/luci-app-dsvpn.json:3 +msgid "Grant access to DSVPN" +msgstr "授予对DSVPN的访问权限" + +#: luci-app-dsvpn/htdocs/luci-static/resources/view/services/dsvpn.js:39 +msgid "Host" +msgstr "主机" + +#: luci-app-dsvpn/htdocs/luci-static/resources/view/services/dsvpn.js:26 +msgid "Instances" +msgstr "实例" + +#: luci-app-dsvpn/htdocs/luci-static/resources/view/services/dsvpn.js:49 +msgid "Interface name" +msgstr "接口名称" + +#: luci-app-dsvpn/htdocs/luci-static/resources/view/services/dsvpn.js:45 +msgid "Key" +msgstr "秘钥" + +#: luci-app-dsvpn/htdocs/luci-static/resources/view/services/dsvpn.js:61 +msgid "Label" +msgstr "标签" + +#: luci-app-dsvpn/htdocs/luci-static/resources/view/services/dsvpn.js:53 +msgid "Local IP" +msgstr "本地IP" + +#: luci-app-dsvpn/htdocs/luci-static/resources/view/services/dsvpn.js:34 +msgid "Mode" +msgstr "模式" + +#: luci-app-dsvpn/htdocs/luci-static/resources/view/services/dsvpn.js:42 +msgid "Port" +msgstr "端口" + +#: luci-app-dsvpn/htdocs/luci-static/resources/view/services/dsvpn.js:57 +msgid "Remote IP" +msgstr "远程IP" + +#: luci-app-dsvpn/htdocs/luci-static/resources/view/services/dsvpn.js:36 +msgid "Server" +msgstr "服务器" diff --git a/luci-app-dsvpn/root/usr/share/luci/menu.d/luci-app-dsvpn.json b/luci-app-dsvpn/root/usr/share/luci/menu.d/luci-app-dsvpn.json new file mode 100644 index 000000000..49ebec311 --- /dev/null +++ b/luci-app-dsvpn/root/usr/share/luci/menu.d/luci-app-dsvpn.json @@ -0,0 +1,13 @@ +{ + "admin/vpn/dsvpn": { + "title": "DSVPN", + "order": 60, + "action": { + "type": "view", + "path": "services/dsvpn" + }, + "depends": { + "acl": [ "luci-app-dsvpn" ] + } + } +} diff --git a/luci-app-dsvpn/root/usr/share/rpcd/acl.d/luci-app-dsvpn.json b/luci-app-dsvpn/root/usr/share/rpcd/acl.d/luci-app-dsvpn.json new file mode 100644 index 000000000..e11c9127c --- /dev/null +++ b/luci-app-dsvpn/root/usr/share/rpcd/acl.d/luci-app-dsvpn.json @@ -0,0 +1,11 @@ +{ + "luci-app-dsvpn": { + "description": "Grant access to DSVPN", + "read": { + "uci": [ "dsvpn" ] + }, + "write": { + "uci": [ "dsvpn" ] + } + } +} \ No newline at end of file diff --git a/luci-app-firewall/Makefile b/luci-app-firewall/Makefile new file mode 100644 index 000000000..793e06468 --- /dev/null +++ b/luci-app-firewall/Makefile @@ -0,0 +1,17 @@ +# +# Copyright (C) 2008-2014 The LuCI Team +# +# This is free software, licensed under the Apache License, Version 2.0 . +# + +include $(TOPDIR)/rules.mk + +LUCI_TITLE:=Firewall and port forwarding application +LUCI_DEPENDS:=+luci-base +uci-firewall + +PKG_LICENSE:=Apache-2.0 +PKG_MAINTAINER:=Jo-Philipp Wich + +include $(TOPDIR)/feeds/luci/luci.mk + +# call BuildPackage - OpenWrt buildroot signature diff --git a/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js b/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js new file mode 100644 index 000000000..f9d7dc611 --- /dev/null +++ b/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js @@ -0,0 +1,703 @@ +'use strict'; +'require baseclass'; +'require dom'; +'require ui'; +'require uci'; +'require form'; +'require network'; +'require firewall'; +'require validation'; +'require tools.prng as random'; + +var protocols = [ + 'ip', 0, 'IP', + 'hopopt', 0, 'HOPOPT', + 'icmp', 1, 'ICMP', + 'igmp', 2, 'IGMP', + 'ggp', 3 , 'GGP', + 'ipencap', 4, 'IP-ENCAP', + 'st', 5, 'ST', + 'tcp', 6, 'TCP', + 'egp', 8, 'EGP', + 'igp', 9, 'IGP', + 'pup', 12, 'PUP', + 'udp', 17, 'UDP', + 'hmp', 20, 'HMP', + 'xns-idp', 22, 'XNS-IDP', + 'rdp', 27, 'RDP', + 'iso-tp4', 29, 'ISO-TP4', + 'dccp', 33, 'DCCP', + 'xtp', 36, 'XTP', + 'ddp', 37, 'DDP', + 'idpr-cmtp', 38, 'IDPR-CMTP', + 'ipv6', 41, 'IPv6', + 'ipv6-route', 43, 'IPv6-Route', + 'ipv6-frag', 44, 'IPv6-Frag', + 'idrp', 45, 'IDRP', + 'rsvp', 46, 'RSVP', + 'gre', 47, 'GRE', + 'esp', 50, 'IPSEC-ESP', + 'ah', 51, 'IPSEC-AH', + 'skip', 57, 'SKIP', + 'icmpv6', 58, 'IPv6-ICMP', + 'ipv6-icmp', 58, 'IPv6-ICMP', + 'ipv6-nonxt', 59, 'IPv6-NoNxt', + 'ipv6-opts', 60, 'IPv6-Opts', + 'rspf', 73, 'RSPF', + 'rspf', 73, 'CPHB', + 'vmtp', 81, 'VMTP', + 'eigrp', 88, 'EIGRP', + 'ospf', 89, 'OSPFIGP', + 'ax.25', 93, 'AX.25', + 'ipip', 94, 'IPIP', + 'etherip', 97, 'ETHERIP', + 'encap', 98, 'ENCAP', + 'pim', 103, 'PIM', + 'ipcomp', 108, 'IPCOMP', + 'vrrp', 112, 'VRRP', + 'l2tp', 115, 'L2TP', + 'isis', 124, 'ISIS', + 'sctp', 132, 'SCTP', + 'fc', 133, 'FC', + 'mh', 135, 'Mobility-Header', + 'ipv6-mh', 135, 'Mobility-Header', + 'mobility-header', 135, 'Mobility-Header', + 'udplite', 136, 'UDPLite', + 'mpls-in-ip', 137, 'MPLS-in-IP', + 'manet', 138, 'MANET', + 'hip', 139, 'HIP', + 'shim6', 140, 'Shim6', + 'wesp', 141, 'WESP', + 'rohc', 142, 'ROHC', +]; + +function lookupProto(x) { + if (x == null || x === '') + return null; + + var s = String(x).toLowerCase(); + + for (var i = 0; i < protocols.length; i += 3) + if (s == protocols[i] || s == protocols[i+1]) + return [ protocols[i+1], protocols[i+2], protocols[i] ]; + + return [ -1, x, x ]; +} + +return baseclass.extend({ + fmt: function(fmtstr, args, values) { + var repl = [], + wrap = false, + tokens = []; + + if (values == null) { + values = []; + wrap = true; + } + + var get = function(args, key) { + var names = key.trim().split(/\./), + obj = args, + ctx = obj; + + for (var i = 0; i < names.length; i++) { + if (!L.isObject(obj)) + return null; + + ctx = obj; + obj = obj[names[i]]; + } + + if (typeof(obj) == 'function') + return obj.call(ctx); + + return obj; + }; + + var isset = function(val) { + if (L.isObject(val) && !dom.elem(val)) { + for (var k in val) + if (val.hasOwnProperty(k)) + return true; + + return false; + } + else if (Array.isArray(val)) { + return (val.length > 0); + } + else { + return (val !== null && val !== undefined && val !== '' && val !== false); + } + }; + + var parse = function(tokens, text) { + if (dom.elem(text)) { + tokens.push(''.format(values.length)); + values.push(text); + } + else { + tokens.push(String(text).replace(/\\(.)/g, '$1')); + } + }; + + for (var i = 0, last = 0; i <= fmtstr.length; i++) { + if (fmtstr.charAt(i) == '%' && fmtstr.charAt(i + 1) == '{') { + if (i > last) + parse(tokens, fmtstr.substring(last, i)); + + var j = i + 1, nest = 0; + + var subexpr = []; + + for (var off = j + 1, esc = false; j <= fmtstr.length; j++) { + var ch = fmtstr.charAt(j); + + if (esc) { + esc = false; + } + else if (ch == '\\') { + esc = true; + } + else if (ch == '{') { + nest++; + } + else if (ch == '}') { + if (--nest == 0) { + subexpr.push(fmtstr.substring(off, j)); + break; + } + } + else if (ch == '?' || ch == ':' || ch == '#') { + if (nest == 1) { + subexpr.push(fmtstr.substring(off, j)); + subexpr.push(ch); + off = j + 1; + } + } + } + + var varname = subexpr[0].trim(), + op1 = (subexpr[1] != null) ? subexpr[1] : '?', + if_set = (subexpr[2] != null && subexpr[2] != '') ? subexpr[2] : '%{' + varname + '}', + op2 = (subexpr[3] != null) ? subexpr[3] : ':', + if_unset = (subexpr[4] != null) ? subexpr[4] : ''; + + /* Invalid expression */ + if (nest != 0 || subexpr.length > 5 || varname == '') { + return fmtstr; + } + + /* enumeration */ + else if (op1 == '#' && subexpr.length == 3) { + var items = L.toArray(get(args, varname)); + + for (var k = 0; k < items.length; k++) { + tokens.push.apply(tokens, this.fmt(if_set, Object.assign({}, args, { + first: k == 0, + next: k > 0, + last: (k + 1) == items.length, + item: items[k] + }), values)); + } + } + + /* ternary expression */ + else if (op1 == '?' && op2 == ':' && (subexpr.length == 1 || subexpr.length == 3 || subexpr.length == 5)) { + var val = get(args, varname); + + if (subexpr.length == 1) + parse(tokens, isset(val) ? val : ''); + else if (isset(val)) + tokens.push.apply(tokens, this.fmt(if_set, args, values)); + else + tokens.push.apply(tokens, this.fmt(if_unset, args, values)); + } + + /* unrecognized command */ + else { + return fmtstr; + } + + last = j + 1; + i = j; + } + else if (i >= fmtstr.length) { + if (i > last) + parse(tokens, fmtstr.substring(last, i)); + } + } + + if (wrap) { + var node = E('span', {}, tokens.join('')), + repl = node.querySelectorAll('span[data-fmt-placeholder]'); + + for (var i = 0; i < repl.length; i++) + repl[i].parentNode.replaceChild(values[repl[i].getAttribute('data-fmt-placeholder')], repl[i]); + + return node; + } + else { + return tokens; + } + }, + + map_invert: function(v, fn) { + return L.toArray(v).map(function(v) { + v = String(v); + + if (fn != null && typeof(v[fn]) == 'function') + v = v[fn].call(v); + + return { + ival: v, + inv: v.charAt(0) == '!', + val: v.replace(/^!\s*/, '') + }; + }); + }, + + lookupProto: lookupProto, + + addDSCPOption: function(s, is_target) { + var o = s.taboption(is_target ? 'general' : 'advanced', form.Value, is_target ? 'set_dscp' : 'dscp', + is_target ? _('DSCP mark') : _('Match DSCP'), + is_target ? _('Apply the given DSCP class or value to established connections.') : _('Matches traffic carrying the specified DSCP marking.')); + + o.modalonly = true; + o.rmempty = !is_target; + o.placeholder = _('any'); + + if (is_target) + o.depends('target', 'DSCP'); + + o.value('CS0'); + o.value('CS1'); + o.value('CS2'); + o.value('CS3'); + o.value('CS4'); + o.value('CS5'); + o.value('CS6'); + o.value('CS7'); + o.value('BE'); + o.value('AF11'); + o.value('AF12'); + o.value('AF13'); + o.value('AF21'); + o.value('AF22'); + o.value('AF23'); + o.value('AF31'); + o.value('AF32'); + o.value('AF33'); + o.value('AF41'); + o.value('AF42'); + o.value('AF43'); + o.value('EF'); + o.validate = function(section_id, value) { + if (value == '') + return is_target ? _('DSCP mark required') : true; + + if (!is_target) + value = String(value).replace(/^!\s*/, ''); + + var m = value.match(/^(?:CS[0-7]|BE|AF[1234][123]|EF|(0x[0-9a-f]{1,2}|[0-9]{1,2}))$/); + + if (!m || (m[1] != null && +m[1] > 0x3f)) + return _('Invalid DSCP mark'); + + return true; + }; + + return o; + }, + + addMarkOption: function(s, is_target) { + var o = s.taboption(is_target ? 'general' : 'advanced', form.Value, + (is_target > 1) ? 'set_xmark' : (is_target ? 'set_mark' : 'mark'), + (is_target > 1) ? _('XOR mark') : (is_target ? _('Set mark') : _('Match mark')), + (is_target > 1) ? _('Apply a bitwise XOR of the given value and the existing mark value on established connections. Format is value[/mask]. If a mask is specified then those bits set in the mask are zeroed out.') : + (is_target ? _('Set the given mark value on established connections. Format is value[/mask]. If a mask is specified then only those bits set in the mask are modified.') : + _('Matches a specific firewall mark or a range of different marks.'))); + + o.modalonly = true; + o.rmempty = true; + + if (is_target > 1) + o.depends('target', 'MARK_XOR'); + else if (is_target) + o.depends('target', 'MARK_SET'); + + o.validate = function(section_id, value) { + if (value == '') + return is_target ? _('Valid firewall mark required') : true; + + if (!is_target) + value = String(value).replace(/^!\s*/, ''); + + var m = value.match(/^(0x[0-9a-f]{1,8}|[0-9]{1,10})(?:\/(0x[0-9a-f]{1,8}|[0-9]{1,10}))?$/i); + + if (!m || +m[1] > 0xffffffff || (m[2] != null && +m[2] > 0xffffffff)) + return _('Expecting: %s').format(_('valid firewall mark')); + + return true; + }; + + return o; + }, + + addLimitOption: function(s) { + var o = s.taboption('advanced', form.Value, 'limit', + _('Limit matching'), + _('Limits traffic matching to the specified rate.')); + + o.modalonly = true; + o.rmempty = true; + o.placeholder = _('unlimited'); + o.value('10/second'); + o.value('60/minute'); + o.value('3/hour'); + o.value('500/day'); + o.validate = function(section_id, value) { + if (value == '') + return true; + + var m = String(value).toLowerCase().match(/^(?:0x[0-9a-f]{1,8}|[0-9]{1,10})\/([a-z]+)$/), + u = ['second', 'minute', 'hour', 'day'], + i = 0; + + if (m) + for (i = 0; i < u.length; i++) + if (u[i].indexOf(m[1]) == 0) + break; + + if (!m || i >= u.length) + return _('Invalid limit value'); + + return true; + }; + + return o; + }, + + addLimitBurstOption: function(s) { + var o = s.taboption('advanced', form.Value, 'limit_burst', + _('Limit burst'), + _('Maximum initial number of packets to match: this number gets recharged by one every time the limit specified above is not reached, up to this number.')); + + o.modalonly = true; + o.rmempty = true; + o.placeholder = '5'; + o.datatype = 'uinteger'; + o.depends({ limit: null, '!reverse': true }); + + return o; + }, + + transformHostHints: function(family, hosts) { + var choice_values = [], + choice_labels = {}, + ip6addrs = {}, + ipaddrs = {}; + + for (var mac in hosts) { + L.toArray(hosts[mac].ipaddrs || hosts[mac].ipv4).forEach(function(ip) { + ipaddrs[ip] = mac; + }); + + L.toArray(hosts[mac].ip6addrs || hosts[mac].ipv6).forEach(function(ip) { + ip6addrs[ip] = mac; + }); + } + + if (!family || family == 'ipv4') { + L.sortedKeys(ipaddrs, null, 'addr').forEach(function(ip) { + var val = ip, + txt = hosts[ipaddrs[ip]].name || ipaddrs[ip]; + + choice_values.push(val); + choice_labels[val] = E([], [ val, ' (', E('strong', {}, [txt]), ')' ]); + }); + } + + if (!family || family == 'ipv6') { + L.sortedKeys(ip6addrs, null, 'addr').forEach(function(ip) { + var val = ip, + txt = hosts[ip6addrs[ip]].name || ip6addrs[ip]; + + choice_values.push(val); + choice_labels[val] = E([], [ val, ' (', E('strong', {}, [txt]), ')' ]); + }); + } + + return [choice_values, choice_labels]; + }, + + updateHostHints: function(map, section_id, option, family, hosts) { + var opt = map.lookupOption(option, section_id)[0].getUIElement(section_id), + choices = this.transformHostHints(family, hosts); + + opt.clearChoices(); + opt.addChoices(choices[0], choices[1]); + }, + + CBIDynamicMultiValueList: form.DynamicList.extend({ + renderWidget: function(/* ... */) { + var dl = form.DynamicList.prototype.renderWidget.apply(this, arguments), + inst = dom.findClassInstance(dl); + + inst.addItem = function(dl, value, text, flash) { + var values = L.toArray(value); + for (var i = 0; i < values.length; i++) + ui.DynamicList.prototype.addItem.call(this, dl, values[i], null, true); + }; + + return dl; + } + }), + + addIPOption: function(s, tab, name, label, description, family, hosts, multiple) { + var o = s.taboption(tab, multiple ? this.CBIDynamicMultiValueList : form.Value, name, label, description); + var fw4 = L.hasSystemFeature('firewall4'); + + o.modalonly = true; + o.datatype = (fw4 && validation.types.iprange) ? 'list(neg(or(ipmask("true"),iprange)))' : 'list(neg(ipmask("true")))'; + o.placeholder = multiple ? _('-- add IP --') : _('any'); + + if (family != null) { + var choices = this.transformHostHints(family, hosts); + + for (var i = 0; i < choices[0].length; i++) + o.value(choices[0][i], choices[1][choices[0][i]]); + } + + /* force combobox rendering */ + o.transformChoices = function() { + return this.super('transformChoices', []) || {}; + }; + + return o; + }, + + addLocalIPOption: function(s, tab, name, label, description, devices) { + var o = s.taboption(tab, form.Value, name, label, description); + var fw4 = L.hasSystemFeature('firewall4'); + + o.modalonly = true; + o.datatype = !fw4?'ip4addr("nomask")':'ipaddr("nomask")'; + o.placeholder = _('any'); + + L.sortedKeys(devices, 'name').forEach(function(dev) { + var ip4addrs = devices[dev].ipaddrs; + var ip6addrs = devices[dev].ip6addrs; + + if (!L.isObject(devices[dev].flags) || devices[dev].flags.loopback) + return; + + for (var i = 0; Array.isArray(ip4addrs) && i < ip4addrs.length; i++) { + if (!L.isObject(ip4addrs[i]) || !ip4addrs[i].address) + continue; + + o.value(ip4addrs[i].address, E([], [ + ip4addrs[i].address, ' (', E('strong', {}, [dev]), ')' + ])); + } + for (var i = 0; fw4 && Array.isArray(ip6addrs) && i < ip6addrs.length; i++) { + if (!L.isObject(ip6addrs[i]) || !ip6addrs[i].address) + continue; + + o.value(ip6addrs[i].address, E([], [ + ip6addrs[i].address, ' (', E('strong', {}, [dev]), ')' + ])); + } + }); + + return o; + }, + + addMACOption: function(s, tab, name, label, description, hosts) { + var o = s.taboption(tab, this.CBIDynamicMultiValueList, name, label, description); + + o.modalonly = true; + o.datatype = 'list(macaddr)'; + o.placeholder = _('-- add MAC --'); + + L.sortedKeys(hosts).forEach(function(mac) { + o.value(mac, E([], [ mac, ' (', E('strong', {}, [ + hosts[mac].name || + L.toArray(hosts[mac].ipaddrs || hosts[mac].ipv4)[0] || + L.toArray(hosts[mac].ip6addrs || hosts[mac].ipv6)[0] || + '?' + ]), ')' ])); + }); + + return o; + }, + + CBIProtocolSelect: form.MultiValue.extend({ + __name__: 'CBI.ProtocolSelect', + + addChoice: function(value, label) { + if (!Array.isArray(this.keylist) || this.keylist.indexOf(value) == -1) + this.value(value, label); + }, + + load: function(section_id) { + var cfgvalue = L.toArray(this.super('load', [section_id]) || this.default).sort(); + + ['all', 'tcp', 'udp', 'icmp'].concat(cfgvalue).forEach(L.bind(function(value) { + switch (value) { + case 'all': + case 'any': + case '*': + this.addChoice('all', _('Any')); + break; + + case 'tcpudp': + this.addChoice('tcp', 'TCP'); + this.addChoice('udp', 'UDP'); + break; + + default: + var m = value.match(/^(0x[0-9a-f]{1,2}|[0-9]{1,3})$/), + p = lookupProto(m ? +m[1] : value); + + this.addChoice(p[2], p[1]); + break; + } + }, this)); + + if (cfgvalue == '*' || cfgvalue == 'any' || cfgvalue == 'all') + cfgvalue = 'all'; + + return cfgvalue; + }, + + renderWidget: function(section_id, option_index, cfgvalue) { + var value = (cfgvalue != null) ? cfgvalue : this.default, + choices = this.transformChoices(); + + var widget = new ui.Dropdown(L.toArray(value), choices, { + id: this.cbid(section_id), + sort: this.keylist, + multiple: true, + optional: false, + display_items: 10, + dropdown_items: -1, + create: true, + disabled: (this.readonly != null) ? this.readonly : this.map.readonly, + validate: function(value) { + var v = L.toArray(value); + + for (var i = 0; i < v.length; i++) { + if (v[i] == 'all') + continue; + + var m = v[i].match(/^(0x[0-9a-f]{1,2}|[0-9]{1,3})$/); + + if (m ? (+m[1] > 255) : (lookupProto(v[i])[0] == -1)) + return _('Unrecognized protocol'); + } + + return true; + } + }); + + widget.createChoiceElement = function(sb, value) { + var p = lookupProto(value); + + return ui.Dropdown.prototype.createChoiceElement.call(this, sb, p[2], p[1]); + }; + + widget.createItems = function(sb, value) { + var values = L.toArray(value).map(function(value) { + var m = value.match(/^(0x[0-9a-f]{1,2}|[0-9]{1,3})$/), + p = lookupProto(m ? +m[1] : value); + + return (p[0] > -1) ? p[2] : p[1]; + }); + + values.sort(); + + return ui.Dropdown.prototype.createItems.call(this, sb, values.join(' ')); + }; + + widget.toggleItem = function(sb, li) { + var value = li.getAttribute('data-value'), + toggleFn = ui.Dropdown.prototype.toggleItem; + + toggleFn.call(this, sb, li); + + if (value == 'all') { + var items = li.parentNode.querySelectorAll('li[data-value]'); + + for (var j = 0; j < items.length; j++) + if (items[j] !== li) + toggleFn.call(this, sb, items[j], false); + } + else { + toggleFn.call(this, sb, li.parentNode.querySelector('li[data-value="all"]'), false); + } + }; + + return widget.render(); + } + }), + + checkLegacySNAT: function() { + var redirects = uci.sections('firewall', 'redirect'); + + for (var i = 0; i < redirects.length; i++) + if ((redirects[i]['target'] || '').toLowerCase() == 'snat') + return true; + + return false; + }, + + handleMigration: function(ev) { + var redirects = uci.sections('firewall', 'redirect'), + tasks = []; + + var mapping = { + dest: 'src', + reflection: null, + reflection_src: null, + src_dip: 'snat_ip', + src_dport: 'snat_port', + src: null + }; + + for (var i = 0; i < redirects.length; i++) { + if ((redirects[i]['target'] || '').toLowerCase() != 'snat') + continue; + + var sid = uci.add('firewall', 'nat'); + + for (var opt in redirects[i]) { + if (opt.charAt(0) == '.') + continue; + + if (mapping[opt] === null) + continue; + + uci.set('firewall', sid, mapping[opt] || opt, redirects[i][opt]); + } + + uci.remove('firewall', redirects[i]['.name']); + } + + return uci.save() + .then(L.bind(ui.changes.init, ui.changes)) + .then(L.bind(ui.changes.apply, ui.changes)); + }, + + renderMigration: function() { + ui.showModal(_('Firewall configuration migration'), [ + E('p', _('The existing firewall configuration needs to be changed for LuCI to function properly.')), + E('p', _('Upon pressing "Continue", "redirect" sections with target "SNAT" will be converted to "nat" sections and the firewall will be restarted to apply the updated configuration.')), + E('div', { 'class': 'right' }, + E('button', { + 'class': 'btn cbi-button-action important', + 'click': ui.createHandlerFn(this, 'handleMigration') + }, _('Continue'))) + ]); + }, +}); diff --git a/luci-app-firewall/htdocs/luci-static/resources/view/firewall/custom.js b/luci-app-firewall/htdocs/luci-static/resources/view/firewall/custom.js new file mode 100644 index 000000000..1997a720c --- /dev/null +++ b/luci-app-firewall/htdocs/luci-static/resources/view/firewall/custom.js @@ -0,0 +1,33 @@ +'use strict'; +'require view'; +'require fs'; +'require ui'; + +return view.extend({ + load: function() { + return L.resolveDefault(fs.read('/etc/firewall.user'), ''); + }, + + handleSave: function(ev) { + var value = (document.querySelector('textarea').value || '').trim().replace(/\r\n/g, '\n') + '\n'; + + return fs.write('/etc/firewall.user', value).then(function(rc) { + document.querySelector('textarea').value = value; + ui.addNotification(null, E('p', _('Contents have been saved.')), 'info'); + fs.exec('/etc/init.d/firewall', ['restart']); + }).catch(function(e) { + ui.addNotification(null, E('p', _('Unable to save contents: %s').format(e.message))); + }); + }, + + render: function(fwuser) { + return E([ + E('h2', _('Firewall - Custom Rules')), + E('p', {}, _('Custom rules allow you to execute arbitrary iptables commands which are not otherwise covered by the firewall framework. The commands are executed after each firewall restart, right after the default ruleset has been loaded.')), + E('p', {}, E('textarea', { 'style': 'width:100%', 'rows': 25 }, [ fwuser != null ? fwuser : '' ])) + ]); + }, + + handleSaveApply: null, + handleReset: null +}); diff --git a/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js b/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js new file mode 100644 index 000000000..5fc3245f5 --- /dev/null +++ b/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js @@ -0,0 +1,361 @@ +'use strict'; +'require view'; +'require ui'; +'require rpc'; +'require uci'; +'require form'; +'require firewall as fwmodel'; +'require tools.firewall as fwtool'; +'require tools.widgets as widgets'; + +function rule_proto_txt(s, ctHelpers) { + var family = (uci.get('firewall', s, 'family') || '').toLowerCase().replace(/^(?:all|\*)$/, 'any'); + var dip = uci.get('firewall', s, 'dest_ip') || ''; + var proto = L.toArray(uci.get('firewall', s, 'proto')).filter(function(p) { + return (p != '*' && p != 'any' && p != 'all'); + }).map(function(p) { + var pr = fwtool.lookupProto(p); + return { + num: pr[0], + name: pr[1], + types: (pr[0] == 1 || pr[0] == 58) ? L.toArray(uci.get('firewall', s, 'icmp_type')) : null + }; + }); + + var m = String(uci.get('firewall', s, 'helper') || '').match(/^(!\s*)?(\S+)$/); + var h = m ? { + val: m[0].toUpperCase(), + inv: m[1], + name: (ctHelpers.filter(function(ctH) { return ctH.name.toLowerCase() == m[2].toLowerCase() })[0] || {}).description + } : null; + + m = String(uci.get('firewall', s, 'mark')).match(/^(!\s*)?(0x[0-9a-f]{1,8}|[0-9]{1,10})(?:\/(0x[0-9a-f]{1,8}|[0-9]{1,10}))?$/i); + var f = m ? { + val: m[0].toUpperCase().replace(/X/g, 'x'), + inv: m[1], + num: '0x%02X'.format(+m[2]), + mask: m[3] ? '0x%02X'.format(+m[3]) : null + } : null; + + return fwtool.fmt(_('Incoming %{ipv6?%{ipv4?IPv4 and IPv6:IPv6}:IPv4}%{proto?, protocol %{proto#%{next?, }%{item.types?%{item.name}ICMP with types %{item.types#%{next?, }%{item}}:%{item.name}}}}%{mark?, mark %{mark.val}}%{helper?, helper %{helper.inv?%{helper.val}:%{helper.val}}}'), { + ipv4: ((!family && dip.indexOf(':') == -1) || family == 'any' || (!family && !dip) || family == 'ipv4'), + ipv6: ((!family && dip.indexOf(':') != -1) || family == 'any' || family == 'ipv6'), + proto: proto, + helper: h, + mark: f + }); +} + +function rule_src_txt(s, hosts) { + var z = uci.get('firewall', s, 'src'); + + return fwtool.fmt(_('From %{src}%{src_ip?, IP %{src_ip#%{next?, }%{item.ival}}}%{src_port?, port %{src_port#%{next?, }%{item.ival}}}%{src_mac?, MAC %{src_mac#%{next?, }%{item.ival}}}'), { + src: E('span', { 'class': 'zonebadge', 'style': fwmodel.getZoneColorStyle(z) }, [(z == '*') ? E('em', _('any zone')) : (z ? E('strong', z) : E('em', _('this device')))]), + src_ip: fwtool.map_invert(uci.get('firewall', s, 'src_ip'), 'toLowerCase'), + src_mac: fwtool.map_invert(uci.get('firewall', s, 'src_mac'), 'toUpperCase').map(function(v) { return Object.assign(v, { hint: hosts[v.val] }) }), + src_port: fwtool.map_invert(uci.get('firewall', s, 'src_port')) + }); +} + +function rule_dest_txt(s) { + return fwtool.fmt(_('To %{dest}%{dest_ip?, IP %{dest_ip#%{next?, }%{item.ival}}}%{dest_port?, port %{dest_port#%{next?, }%{item.ival}}}'), { + dest: E('span', { 'class': 'zonebadge', 'style': fwmodel.getZoneColorStyle(null) }, [E('em', _('this device'))]), + dest_ip: fwtool.map_invert(uci.get('firewall', s, 'src_dip'), 'toLowerCase'), + dest_port: fwtool.map_invert(uci.get('firewall', s, 'src_dport')) + }); +} + +function rule_limit_txt(s) { + var m = String(uci.get('firewall', s, 'limit')).match(/^(\d+)\/([smhd])\w*$/i), + l = m ? { + num: +m[1], + unit: ({ s: _('second'), m: _('minute'), h: _('hour'), d: _('day') })[m[2]], + burst: uci.get('firewall', s, 'limit_burst') + } : null; + + if (!l) + return ''; + + return fwtool.fmt(_('Limit matching to %{limit.num} packets per %{limit.unit}%{limit.burst? burst %{limit.burst}}'), { limit: l }); +} + +function rule_target_txt(s) { + var z = uci.get('firewall', s, 'dest'); + + return fwtool.fmt(_('Forward to %{dest}%{dest_ip? IP %{dest_ip}}%{dest_port? port %{dest_port}}'), { + dest: E('span', { 'class': 'zonebadge', 'style': 'background-color:' + fwmodel.getColorForName((z && z != '*') ? z : null) }, [(z == '*') ? E('em', _('any zone')) : (z ? E('strong', z) : E('em', _('this device')))]), + dest_ip: (uci.get('firewall', s, 'dest_ip') || '').toLowerCase(), + dest_port: uci.get('firewall', s, 'dest_port') + }); +} + +function validate_opt_family(m, section_id, opt) { + var dopt = m.section.getOption('dest_ip'), + fmopt = m.section.getOption('family'); + + if (!dopt.isValid(section_id) && opt != 'dest_ip') + return true; + if (!fmopt.isValid(section_id) && opt != 'family') + return true; + + var dip = dopt.formvalue(section_id) || '', + fm = fmopt.formvalue(section_id) || ''; + + if (fm == '' || (fm == 'any' && dip == '') || (fm == 'ipv6' && (dip.indexOf(':') != -1 || dip == '')) || (fm == 'ipv4' && dip.indexOf(':') == -1)) + return true; + + return _('Address family, Internal IP address must match'); +} + +return view.extend({ + callHostHints: rpc.declare({ + object: 'luci-rpc', + method: 'getHostHints', + expect: { '': {} } + }), + + callConntrackHelpers: rpc.declare({ + object: 'luci', + method: 'getConntrackHelpers', + expect: { result: [] } + }), + + callNetworkDevices: rpc.declare({ + object: 'luci-rpc', + method: 'getNetworkDevices', + expect: { '': {} } + }), + + load: function() { + return Promise.all([ + this.callHostHints(), + this.callConntrackHelpers(), + this.callNetworkDevices(), + uci.load('firewall') + ]); + }, + + render: function(data) { + if (fwtool.checkLegacySNAT()) + return fwtool.renderMigration(); + else + return this.renderForwards(data); + }, + + renderForwards: function(data) { + var hosts = data[0], + ctHelpers = data[1], + devs = data[2], + m, s, o; + var fw4 = L.hasSystemFeature('firewall4'); + + m = new form.Map('firewall', _('Firewall - Port Forwards'), + _('Port forwarding allows remote computers on the Internet to connect to a specific computer or service within the private LAN.')); + + s = m.section(form.GridSection, 'redirect', _('Port Forwards')); + s.addremove = true; + s.anonymous = true; + s.sortable = true; + s.cloneable = true; + + s.tab('general', _('General Settings')); + s.tab('advanced', _('Advanced Settings')); + + s.filter = function(section_id) { + return (uci.get('firewall', section_id, 'target') != 'SNAT'); + }; + + s.sectiontitle = function(section_id) { + return uci.get('firewall', section_id, 'name') || _('Unnamed forward'); + }; + + s.handleAdd = function(ev) { + var config_name = this.uciconfig || this.map.config, + section_id = uci.add(config_name, this.sectiontype); + + uci.set(config_name, section_id, 'dest', 'lan'); + uci.set(config_name, section_id, 'target', 'DNAT'); + + m.addedSection = section_id; + this.renderMoreOptionsModal(section_id); + }; + + o = s.taboption('general', form.Value, 'name', _('Name')); + o.placeholder = _('Unnamed forward'); + o.modalonly = true; + + if (fw4) { + o = s.taboption('general', form.ListValue, 'family', _('Restrict to address family')); + o.modalonly = true; + o.rmempty = true; + o.value('any', _('IPv4 and IPv6')); + o.value('ipv4', _('IPv4 only')); + o.value('ipv6', _('IPv6 only')); + o.value('', _('automatic')); // infer from zone or used IP addresses + o.cfgvalue = function(section_id) { + var val = this.map.data.get(this.map.config, section_id, 'family'); + + if (!val) + return ''; + else if (val == 'any' || val == 'all' || val == '*') + return 'any'; + else if (val == 'inet' || String(val).indexOf('4') != -1) + return 'ipv4'; + else if (String(val).indexOf('6') != -1) + return 'ipv6'; + }; + o.validate = function(section_id, value) { + fwtool.updateHostHints(this.map, section_id, 'dest_ip', value, hosts); + return !fw4?true:validate_opt_family(this, section_id, 'family'); + }; + } + + o = s.option(form.DummyValue, '_match', _('Match')); + o.modalonly = false; + o.textvalue = function(s) { + return E('small', [ + rule_proto_txt(s, ctHelpers), E('br'), + rule_src_txt(s, hosts), E('br'), + rule_dest_txt(s), E('br'), + rule_limit_txt(s) + ]); + }; + + o = s.option(form.ListValue, '_dest', _('Action')); + o.modalonly = false; + o.textvalue = function(s) { + return E('small', [ + rule_target_txt(s) + ]); + }; + + o = s.option(form.Flag, 'enabled', _('Enable')); + o.modalonly = false; + o.default = o.enabled; + o.editable = true; + + o = s.taboption('general', fwtool.CBIProtocolSelect, 'proto', _('Protocol')); + o.modalonly = true; + o.default = 'tcp udp'; + + o = s.taboption('general', widgets.ZoneSelect, 'src', _('Source zone')); + o.modalonly = true; + o.rmempty = false; + o.nocreate = true; + o.default = 'wan'; + + o = s.taboption('advanced', form.Value, 'ipset', _('Use ipset')); + uci.sections('firewall', 'ipset', function(s) { + if (typeof(s.name) == 'string') + o.value(s.name, s.comment ? '%s (%s)'.format(s.name, s.comment) : s.name); + }); + o.modalonly = true; + o.rmempty = true; + + o = fwtool.addMACOption(s, 'advanced', 'src_mac', _('Source MAC address'), + _('Only match incoming traffic from these MACs.'), hosts); + o.rmempty = true; + o.datatype = 'list(neg(macaddr))'; + + o = fwtool.addIPOption(s, 'advanced', 'src_ip', _('Source IP address'), + _('Only match incoming traffic from this IP or range.'), !fw4?'ipv4':'', hosts); + o.rmempty = true; + o.datatype = !fw4?'neg(ipmask4("true"))':'neg(ipmask("true"))'; + + o = s.taboption('advanced', form.Value, 'src_port', _('Source port'), + _('Only match incoming traffic originating from the given source port or port range on the client host')); + o.modalonly = true; + o.rmempty = true; + o.datatype = 'neg(portrange)'; + o.placeholder = _('any'); + o.depends({ proto: 'tcp', '!contains': true }); + o.depends({ proto: 'udp', '!contains': true }); + + o = fwtool.addLocalIPOption(s, 'advanced', 'src_dip', _('External IP address'), + _('Only match incoming traffic directed at the given IP address.'), devs); + o.datatype = !fw4?'neg(ipmask4("true"))':'neg(ipmask("true"))'; + o.rmempty = true; + + o = s.taboption('general', form.Value, 'src_dport', _('External port'), + _('Match incoming traffic directed at the given destination port or port range on this host')); + o.modalonly = true; + o.rmempty = false; + o.datatype = 'neg(portrange)'; + o.depends({ proto: 'tcp', '!contains': true }); + o.depends({ proto: 'udp', '!contains': true }); + + o = s.taboption('general', widgets.ZoneSelect, 'dest', _('Internal zone')); + o.modalonly = true; + o.rmempty = true; + o.nocreate = true; + + o = fwtool.addIPOption(s, 'general', 'dest_ip', _('Internal IP address'), + _('Redirect matched incoming traffic to the specified internal host'), !fw4?'ipv4':'', hosts); + o.rmempty = true; + o.datatype = !fw4?'ipmask4':'ipmask'; + + o = s.taboption('general', form.Value, 'dest_port', _('Internal port'), + _('Redirect matched incoming traffic to the given port on the internal host')); + o.modalonly = true; + o.rmempty = true; + o.placeholder = _('any'); + o.datatype = 'portrange'; + o.depends({ proto: 'tcp', '!contains': true }); + o.depends({ proto: 'udp', '!contains': true }); + + o = s.taboption('advanced', form.Flag, 'reflection', _('Enable NAT Loopback')); + o.modalonly = true; + o.rmempty = true; + o.default = o.enabled; + + o = s.taboption('advanced', form.ListValue, 'reflection_src', _('Loopback source IP'), _('Specifies whether to use the external or the internal IP address for reflected traffic.')); + o.modalonly = true; + o.depends('reflection', '1'); + o.value('internal', _('Use internal IP address')); + o.value('external', _('Use external IP address')); + o.write = function(section_id, value) { + uci.set('firewall', section_id, 'reflection_src', (value != 'internal') ? value : null); + }; + + o = s.taboption('advanced', widgets.ZoneSelect, 'reflection_zone', _('Reflection zones'), _('Zones from which reflection rules shall be created. If unset, only the destination zone is used.')); + o.nocreate = true; + o.multiple = true; + o.modalonly = true; + o.depends('reflection', '1'); + + o = s.taboption('advanced', form.Value, 'helper', _('Match helper'), _('Match traffic using the specified connection tracking helper.')); + o.modalonly = true; + o.placeholder = _('any'); + for (var i = 0; i < ctHelpers.length; i++) + o.value(ctHelpers[i].name, '%s (%s)'.format(ctHelpers[i].description, ctHelpers[i].name.toUpperCase())); + o.validate = function(section_id, value) { + if (value == '' || value == null) + return true; + + value = value.replace(/^!\s*/, ''); + + for (var i = 0; i < ctHelpers.length; i++) + if (value == ctHelpers[i].name) + return true; + + return _('Unknown or not installed conntrack helper "%s"').format(value); + }; + + fwtool.addMarkOption(s, false); + fwtool.addLimitOption(s); + fwtool.addLimitBurstOption(s); + + o = s.taboption('advanced', form.Flag, 'v2ray', _('Use V2Ray/XRay'), + _('Forward a port (not a range) from server using V2Ray/XRay proxy (if enabled) instead of VPN')); + o.modalonly = true; + + if (!L.hasSystemFeature('firewall4')) { + o = s.taboption('advanced', form.Value, 'extra', _('Extra arguments'), + _('Passes additional arguments to iptables. Use with care!')); + o.modalonly = true; + o.rmempty = true; + } + + return m.render(); + } +}); diff --git a/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js b/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js new file mode 100644 index 000000000..0b3a0db1f --- /dev/null +++ b/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js @@ -0,0 +1,222 @@ +'use strict'; +'require view'; +'require uci'; +'require form'; +'require firewall'; +'require tools.firewall as fwtool'; + + +return view.extend({ + + load: function() { + return Promise.all([ + uci.load('firewall') + ]); + }, + + render: function(data) { + let m, s, o; + + m = new form.Map('firewall', _('Firewall - IP sets'), + _('firewall4 supports referencing and creating IP sets to simplify matching of large address lists without the need to create one rule per item to match. Port ranges in ipsets are unsupported by firewall4.
')); + + var have_fw4 = L.hasSystemFeature('firewall4'); + + if (have_fw4) { + s = m.section(form.NamedSection, 'fwver', 'fwver', '', _('Your device runs firewall4.')); + } else { + s = m.section(form.NamedSection, 'fwver', 'fwver', '', _('Your device does not run firewall4.')); + } + + + s = m.section(form.GridSection, 'ipset', _('IP Sets')); + s.addremove = true; + s.anonymous = true; + s.sortable = true; + s.cloneable = true; + s.nodescriptions = true; + s.filter = function(section_id) { + return (section_id.startsWith('bypass') == false && section_id.startsWith('omr_dst') == false && section_id.startsWith('omr_dscp') == false); + }; + + + /* refer to: https://ipset.netfilter.org/ipset.man.html */ + if (have_fw4) { + o = s.option(form.Value, 'name', _('Name')); + o.optional = false; + o.rmempty = false; + o.validate = function (section_id, value) { + if (!/^[a-zA-Z_.][a-zA-Z0-9\/_.-]*$/.test(value)) + return _('Invalid set name'); + + return true; + }; + } else { + o = s.option(form.Value, 'name', _('Name')); + o.depends({ external: '' }); + /* Default: (none) if external is unset + value of external if external is set */ + } + o.placeholder = _('Unnamed set'); + + + /* comment requires https://git.openwrt.org/?p=project/firewall4.git;a=commitdiff;h=39e8c70957c795bf0c12f04299170ae86c6efdf8 */ + o = s.option(form.Value, 'comment', _('Comment')); + o.placeholder = _('Comment'); + o.modalonly = true; + o.rmempty = true; + + + o = s.option(form.ListValue, 'family', _('Family')); + o.value('ipv4', _('IPv4')); + o.value('ipv6', _('IPv6')); + o.default = _('ipv4'); + + + /* Direction src, dst; (Data)Types: ip, port, mac, net or set + Tuples: direction_datatype e.g. src_port, dest_net */ + o = s.option(form.DynamicList, 'match', _('Packet Field Match'), + _('Packet fields to match upon.
' + + 'Syntax: direction_datatype. e.g.: src_port, dest_net.
' + + 'Directions: src, dst. Datatypes: ip, port, mac, net, set.
' + + 'Direction prefixes are optional.
' + + '*Note: datatype set is unsupported in fw4.')); + o.value('ip', _('ip: IP addr')); + o.value('port', _('port: Port')); + o.value('mac', _('mac: MAC addr')); + o.value('net', _('net: (sub)net')); + if (!have_fw4) + o.value('set', _('set: ipset*')); + o.value('src_ip', _('src_ip: Source IP')); + o.value('src_port', _('src_port: Source Port')); + o.value('src_mac', _('src_mac: Source MAC addr')); + o.value('src_net', _('src_net: Source (sub)net')); + if (!have_fw4) + o.value('src_set', _('src_Set: Source ipset*')); // fw4 unsupported + o.value('dest_ip', _('dest_ip: Destination IP')); + o.value('dest_port', _('dest_port: Destination Port')); + o.value('dest_mac', _('dest_mac: Destination MAC addr')); + o.value('dest_net', _('dest_net: Destination (sub)net')); + if (!have_fw4) + o.value('dest_set', _('dest_set: Destination ipset*')); // fw4 unsupported + o.optional = false; + o.rmempty = false; + + + // TODO: if/when firewall5 arrives, this 'else' check must change. + if (have_fw4) { + + //we have fw4 + o = s.option(form.DynamicList, 'entry', _('IPs/Networks/MACs'), + _('macaddr|ip[/cidr]
')); + o.datatype = 'or(ipaddr,macaddr)'; + o.rmempty = true; + + + o = s.option(form.Value, 'maxelem', _('Max Entries'), + _('up to 65536 entries.')); + o.datatype = 'port'; //covers 16 bit size + o.modalonly = true; + o.rmempty = true; + + } else { + // this else section is intended to handle firewall3 + + o = s.option(form.Value, 'external', _('Refer To External Set')); + /* Todo: loop to fill o.values with all other ipset names except itself */ + o.rmempty = true; + o.optional = true; + + + /* 'storage' depends on fw3. It must be removed for fw4 */ + //aka 'method' in netfilter terminology. + o = s.option(form.ListValue, 'storage', _('Storage Method')); + o.value('bitmap', _('bitmap')); //ipv4 only + o.value('hash', _('hash')); + o.value('list', _('list')); + o.validate = function(section_id, value) { + var family = this.section.formvalue(section_id, 'family'); + if (value.match(/bitmap/) && !family.match(/ipv4/)) + return _('bitmap is ipv4 only'); + return true; + } + + /* this iprange differs from netfilters range fromip-toip|ip/cidr: + uci enforces a datatype = cidr in order to be able to enter + an IP for all storage/data types. */ + o = s.option(form.Value, 'iprange', _('IP (range)'), + _('ip[/cidr]
'+ + 'For use with Match datatypes: *_ip.')); + o.datatype = 'ipaddr'; + o.depends({family: 'ipv4', storage: 'bitmap', match: /_ip|_mac/ }); + o.depends({storage: 'hash', match: /_ip/ }); + + + o = s.option(form.DynamicList, 'entry', _('IPs/Networks'), + _('ip[/cidr]
')); + o.datatype = 'or(ipaddr,macaddr)'; + o.depends({storage: 'hash', match: /_ip|_net|_mac/ }); + + + o = s.option(form.Value, 'portrange', _('Port range'), + _('fromport-toport')); + o.datatype = 'neg(portrange)'; + o.depends({family: 'ipv4', storage: 'bitmap', match: /_port/ }); + o.depends({family: 'ipv4', storage: 'hash', match: /_port/ }); + o.depends({family: 'ipv6', storage: 'hash', match: /_port/ }); + + + o = s.option(form.Value, 'netmask', _('Netmask')); + o.datatype = 'or(ip4prefix,ip6prefix)'; + o.depends({family: 'ipv4', storage: 'bitmap', match: /_ip/ }); + o.depends({storage: 'hash', match: /_ip/}); + + + o = s.option(form.Value, 'maxelem', _('Max Length'), + _('up to 65536 entries.')); + o.datatype = 'port'; //covers 16 bit size + o.depends('storage', 'hash'); + o.depends('storage', 'list'); + o.modalonly = true; + + + o = s.option(form.Value, 'hashsize', _('Initial Hash Size')); + o.depends('storage', 'hash'); + o.placeholder = _('1024'); + o.modalonly = true; + + } + + o = s.option(form.FileUpload, 'loadfile', _('Include File'), + _('Path to file of CIDRs, subnets, host IPs, etc.
')); + o.root_directory = '/etc/luci-uploads'; + o.enable_delete = true; + o.enable_upload = true; + o.datatype = 'file'; + o.rmempty = true; + + + o = s.option(form.Value, 'timeout', _('Timeout'), + _('Unit: seconds. Default 0 means the entry is added permanently to the set.
' + + 'Max: 2147483 seconds.')); + o.placeholder = _('0'); + o.modalonly = true; + o.rmempty = true; + + + o = s.option(form.Flag, 'counters', _('Counters'), + _('Enables packet and byte count tracking for the set.')); + o.modalonly = true; + o.rmempty = true; + o.default = false; + + + o = s.option(form.Flag, 'enabled', _('Enabled')); + o.default = true; + o.editable = true; + o.modalonly = false; + + + return m.render(); + } +}); diff --git a/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js b/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js new file mode 100644 index 000000000..8103aa66f --- /dev/null +++ b/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js @@ -0,0 +1,525 @@ +'use strict'; +'require view'; +'require ui'; +'require rpc'; +'require uci'; +'require form'; +'require firewall as fwmodel'; +'require tools.firewall as fwtool'; +'require tools.widgets as widgets'; + +function rule_proto_txt(s, ctHelpers) { + var f = (uci.get('firewall', s, 'family') || '').toLowerCase().replace(/^(?:any|\*)$/, ''); + + var proto = L.toArray(uci.get('firewall', s, 'proto')).filter(function(p) { + return (p != '*' && p != 'any' && p != 'all'); + }).map(function(p) { + var pr = fwtool.lookupProto(p); + return { + num: pr[0], + name: pr[1], + types: (pr[0] == 1 || pr[0] == 58) ? L.toArray(uci.get('firewall', s, 'icmp_type')) : null + }; + }); + + var m = String(uci.get('firewall', s, 'helper') || '').match(/^(!\s*)?(\S+)$/); + var h = m ? { + val: m[0].toUpperCase(), + inv: m[1], + name: (ctHelpers.filter(function(ctH) { return ctH.name.toLowerCase() == m[2].toLowerCase() })[0] || {}).description + } : null; + + m = String(uci.get('firewall', s, 'mark')).match(/^(!\s*)?(0x[0-9a-f]{1,8}|[0-9]{1,10})(?:\/(0x[0-9a-f]{1,8}|[0-9]{1,10}))?$/i); + var w = m ? { + val: m[0].toUpperCase().replace(/X/g, 'x'), + inv: m[1], + num: '0x%02X'.format(+m[2]), + mask: m[3] ? '0x%02X'.format(+m[3]) : null + } : null; + + m = String(uci.get('firewall', s, 'dscp')).match(/^(!\s*)?(?:(CS[0-7]|BE|AF[1234][123]|EF)|(0x[0-9a-f]{1,2}|[0-9]{1,2}))$/); + var d = m ? { + val: m[0], + inv: m[1], + name: m[2], + num: m[3] ? '0x%02X'.format(+m[3]) : null + } : null; + + return fwtool.fmt(_('%{src?%{dest?Forwarded:Incoming}:Outgoing} %{ipv6?%{ipv4?IPv4 and IPv6:IPv6}:IPv4}%{proto?, protocol %{proto#%{next?, }%{item.types?%{item.name}ICMP with types %{item.types#%{next?, }%{item}}:%{item.name}}}}%{mark?, mark %{mark.val}}%{dscp?, DSCP %{dscp.inv?%{dscp.val}:%{dscp.val}}}%{helper?, helper %{helper.inv?%{helper.val}:%{helper.val}}}'), { + ipv4: (!f || f == 'ipv4'), + ipv6: (!f || f == 'ipv6'), + src: uci.get('firewall', s, 'src'), + dest: uci.get('firewall', s, 'dest'), + proto: proto, + helper: h, + mark: w, + dscp: d + }); +} + +function rule_src_txt(s, hosts) { + var z = uci.get('firewall', s, 'src'), + d = (uci.get('firewall', s, 'direction') == 'in') ? uci.get('firewall', s, 'device') : null; + + return fwtool.fmt(_('From %{src}%{src_device?, interface %{src_device}}%{src_ip?, IP %{src_ip#%{next?, }%{item.ival}}}%{src_port?, port %{src_port#%{next?, }%{item.ival}}}%{src_mac?, MAC %{src_mac#%{next?, }%{item.ival}}}'), { + src: E('span', { 'class': 'zonebadge', 'style': fwmodel.getZoneColorStyle(z) }, [(z == '*') ? E('em', _('any zone')) : (z ? E('strong', z) : E('em', _('this device')))]), + src_ip: fwtool.map_invert(uci.get('firewall', s, 'src_ip'), 'toLowerCase'), + src_mac: fwtool.map_invert(uci.get('firewall', s, 'src_mac'), 'toUpperCase').map(function(v) { return Object.assign(v, { hint: hosts[v.val] }) }), + src_port: fwtool.map_invert(uci.get('firewall', s, 'src_port')), + src_device: d + }); +} + +function rule_dest_txt(s) { + var z = uci.get('firewall', s, 'dest'), + d = (uci.get('firewall', s, 'direction') == 'out') ? uci.get('firewall', s, 'device') : null; + + return fwtool.fmt(_('To %{dest}%{dest_device?, interface %{dest_device}}%{dest_ip?, IP %{dest_ip#%{next?, }%{item.ival}}}%{dest_port?, port %{dest_port#%{next?, }%{item.ival}}}'), { + dest: E('span', { 'class': 'zonebadge', 'style': fwmodel.getZoneColorStyle(z) }, [(z == '*') ? E('em', _('any zone')) : (z ? E('strong', z) : E('em', _('this device')))]), + dest_ip: fwtool.map_invert(uci.get('firewall', s, 'dest_ip'), 'toLowerCase'), + dest_port: fwtool.map_invert(uci.get('firewall', s, 'dest_port')), + dest_device: d + }); +} + +function rule_limit_txt(s) { + var m = String(uci.get('firewall', s, 'limit')).match(/^(\d+)\/([smhd])\w*$/i), + l = m ? { + num: +m[1], + unit: ({ s: _('second'), m: _('minute'), h: _('hour'), d: _('day') })[m[2]], + burst: uci.get('firewall', s, 'limit_burst') + } : null; + + if (!l) + return ''; + + return fwtool.fmt(_('Limit matching to %{limit.num} packets per %{limit.unit}%{limit.burst? burst %{limit.burst}}'), { limit: l }); +} + +function rule_target_txt(s, ctHelpers) { + var t = uci.get('firewall', s, 'target'), + h = (uci.get('firewall', s, 'set_helper') || '').toUpperCase(), + s = { + target: t, + src: uci.get('firewall', s, 'src'), + dest: uci.get('firewall', s, 'dest'), + set_helper: h, + set_mark: uci.get('firewall', s, 'set_mark'), + set_xmark: uci.get('firewall', s, 'set_xmark'), + set_dscp: uci.get('firewall', s, 'set_dscp'), + helper_name: (ctHelpers.filter(function(ctH) { return ctH.name.toUpperCase() == h })[0] || {}).description + }; + + switch (t) { + case 'DROP': + return fwtool.fmt(_('Drop %{src?%{dest?forward:input}:output}'), s); + + case 'ACCEPT': + return fwtool.fmt(_('Accept %{src?%{dest?forward:input}:output}'), s); + + case 'REJECT': + return fwtool.fmt(_('Reject %{src?%{dest?forward:input}:output}'), s); + + case 'NOTRACK': + return fwtool.fmt(_('Do not track %{src?%{dest?forward:input}:output}'), s); + + case 'HELPER': + return fwtool.fmt(_('Assign conntrack helper %{set_helper}'), s); + + case 'MARK': + return fwtool.fmt(_('%{set_mark?Assign:XOR} firewall mark %{set_mark?:%{set_xmark}}'), s); + + case 'DSCP': + return fwtool.fmt(_('Assign DSCP classification %{set_dscp}'), s); + + default: + return t; + } +} + +return view.extend({ + callHostHints: rpc.declare({ + object: 'luci-rpc', + method: 'getHostHints', + expect: { '': {} } + }), + + callConntrackHelpers: rpc.declare({ + object: 'luci', + method: 'getConntrackHelpers', + expect: { result: [] } + }), + + load: function() { + return Promise.all([ + this.callHostHints(), + this.callConntrackHelpers(), + uci.load('firewall') + ]); + }, + + render: function(data) { + if (fwtool.checkLegacySNAT()) + return fwtool.renderMigration(); + else + return this.renderRules(data); + }, + + renderRules: function(data) { + var hosts = data[0], + ctHelpers = data[1], + m, s, o; + + m = new form.Map('firewall', _('Firewall - Traffic Rules'), + _('Traffic rules define policies for packets travelling between different zones, for example to reject traffic between certain hosts or to open WAN ports on the router.')); + + s = m.section(form.GridSection, 'rule', _('Traffic Rules')); + s.addremove = true; + s.anonymous = true; + s.sortable = true; + s.cloneable = true; + + s.tab('general', _('General Settings')); + s.tab('advanced', _('Advanced Settings')); + s.tab('timed', _('Time Restrictions')); + + s.filter = function(section_id) { + //return (uci.get('firewall', section_id, 'target') != 'SNAT'); + return (uci.get('firewall', section_id, 'target') != 'SNAT' && section_id.startsWith('omr_dst') == false && section_id.startsWith('omr_dscp') == false); + }; + + s.sectiontitle = function(section_id) { + return uci.get('firewall', section_id, 'name') || _('Unnamed rule'); + }; + + s.handleAdd = function(ev) { + var config_name = this.uciconfig || this.map.config, + section_id = uci.add(config_name, this.sectiontype), + opt1 = this.getOption('src'), + opt2 = this.getOption('dest'); + + opt1.default = 'wan'; + opt2.default = 'lan'; + + this.addedSection = section_id; + this.renderMoreOptionsModal(section_id); + + delete opt1.default; + delete opt2.default; + }; + + o = s.taboption('general', form.Value, 'name', _('Name')); + o.placeholder = _('Unnamed rule'); + o.modalonly = true; + + o = s.option(form.DummyValue, '_match', _('Match')); + o.modalonly = false; + o.textvalue = function(s) { + return E('small', [ + rule_proto_txt(s, ctHelpers), E('br'), + rule_src_txt(s, hosts), E('br'), + rule_dest_txt(s), E('br'), + rule_limit_txt(s) + ]); + }; + + o = s.option(form.ListValue, '_target', _('Action')); + o.modalonly = false; + o.textvalue = function(s) { + return rule_target_txt(s, ctHelpers); + }; + + o = s.option(form.Flag, 'enabled', _('Enable')); + o.modalonly = false; + o.default = o.enabled; + o.editable = true; + o.tooltip = function(section_id) { + var weekdays = uci.get('firewall', section_id, 'weekdays'); + var monthdays = uci.get('firewall', section_id, 'monthdays'); + var start_time = uci.get('firewall', section_id, 'start_time'); + var stop_time = uci.get('firewall', section_id, 'stop_time'); + var start_date = uci.get('firewall', section_id, 'start_date'); + var stop_date = uci.get('firewall', section_id, 'stop_date'); + + if (weekdays || monthdays || start_time || stop_time || start_date || stop_date ) + return _('Time restrictions are enabled for this rule'); + + return null; + }; + + o = s.taboption('advanced', form.ListValue, 'direction', _('Match device')); + o.modalonly = true; + o.value('', _('unspecified')); + o.value('in', _('Inbound device')); + o.value('out', _('Outbound device')); + o.cfgvalue = function(section_id) { + var val = uci.get('firewall', section_id, 'direction'); + switch (val) { + case 'in': + case 'ingress': + return 'in'; + + case 'out': + case 'egress': + return 'out'; + } + + return null; + }; + + o = s.taboption('advanced', widgets.DeviceSelect, 'device', _('Device name'), + _('Specifies whether to tie this traffic rule to a specific inbound or outbound network device.')); + o.modalonly = true; + o.noaliases = true; + o.rmempty = false; + o.depends('direction', 'in'); + o.depends('direction', 'out'); + + o = s.taboption('advanced', form.ListValue, 'family', _('Restrict to address family')); + o.modalonly = true; + o.rmempty = true; + o.value('', _('IPv4 and IPv6')); + o.value('ipv4', _('IPv4 only')); + o.value('ipv6', _('IPv6 only')); + o.validate = function(section_id, value) { + fwtool.updateHostHints(this.map, section_id, 'src_ip', value, hosts); + fwtool.updateHostHints(this.map, section_id, 'dest_ip', value, hosts); + return true; + }; + + o = s.taboption('general', fwtool.CBIProtocolSelect, 'proto', _('Protocol')); + o.modalonly = true; + o.default = 'tcp udp'; + + o = s.taboption('advanced', form.MultiValue, 'icmp_type', _('Match ICMP type')); + o.modalonly = true; + o.multiple = true; + o.custom = true; + o.cast = 'table'; + o.placeholder = _('any/all'); + o.value('address-mask-reply'); + o.value('address-mask-request'); + o.value('address-unreachable'); /* icmpv6 1:3 */ + o.value('bad-header'); /* icmpv6 4:0 */ + o.value('certification-path-solicitation-message'); /* icmpv6 148 */ + o.value('certification-path-advertisement-message'); /* icmpv6 149 */ + o.value('communication-prohibited'); + o.value('destination-unreachable'); + o.value('duplicate-address-request'); /* icmpv6 157 */ + o.value('duplicate-address-confirmation'); /* icmpv6 158 */ + o.value('echo-reply'); + o.value('echo-request'); + o.value('extended-echo-request'); /* icmpv6 160 */ + o.value('extended-echo-reply'); /* icmpv6 161 */ + o.value('fmipv6-message'); /* icmpv6 154 */ + o.value('fragmentation-needed'); + o.value('home-agent-address-discovery-reply-message'); /* icmpv6 145 */ + o.value('home-agent-address-discovery-request-message'); /* icmpv6 144 */ + o.value('host-precedence-violation'); + o.value('host-prohibited'); + o.value('host-redirect'); + o.value('host-unknown'); + o.value('host-unreachable'); + o.value('ilnpv6-locator-update-message'); /* icmpv6 156 */ + o.value('inverse-neighbour-discovery-advertisement-message'); /* icmpv6 142 */ + o.value('inverse-neighbour-discovery-solicitation-message'); /* icmpv6 141 */ + o.value('ip-header-bad'); + o.value('mobile-prefix-advertisement'); /* icmpv6 147 */ + o.value('mobile-prefix-solicitation'); /* icmpv6 146 */ + o.value('mpl-control-message'); /* icmpv6 159 */ + o.value('multicast-listener-query'); /* icmpv6 130 */ + o.value('multicast-listener-report'); /* icmpv6 131 */ + o.value('multicast-listener-done'); /* icmpv6 132 */ + o.value('multicast-router-advertisement'); /* icmpv6 151 */ + o.value('multicast-router-solicitation'); /* icmpv6 152 */ + o.value('multicast-router-termination'); /* icmpv6 153 */ + o.value('neighbour-advertisement'); + o.value('neighbour-solicitation'); + o.value('network-prohibited'); + o.value('network-redirect'); + o.value('network-unknown'); + o.value('network-unreachable'); + o.value('no-route'); /* icmpv6 1:0 */ + o.value('node-info-query'); /* icmpv6 139 */ + o.value('node-info-response'); /* icmpv6 140 */ + o.value('packet-too-big'); + o.value('parameter-problem'); + o.value('port-unreachable'); + o.value('precedence-cutoff'); + o.value('protocol-unreachable'); + o.value('redirect'); + o.value('required-option-missing'); + o.value('router-advertisement'); + o.value('router-renumbering'); /* icmpv6 138 */ + o.value('router-solicitation'); + o.value('rpl-control-message'); /* icmpv6 155 */ + o.value('source-quench'); + o.value('source-route-failed'); + o.value('time-exceeded'); + o.value('timestamp-reply'); + o.value('timestamp-request'); + o.value('TOS-host-redirect'); + o.value('TOS-host-unreachable'); + o.value('TOS-network-redirect'); + o.value('TOS-network-unreachable'); + o.value('ttl-zero-during-reassembly'); + o.value('ttl-zero-during-transit'); + o.value('v2-multicast-listener-report'); /* icmpv6 143 */ + o.value('unknown-header-type'); /* icmpv6 4:1 */ + o.value('unknown-option'); /* icmpv6 4:2 */ + o.depends({ proto: 'icmp', '!contains': true }); + o.depends({ proto: 'icmpv6', '!contains': true }); + + o = s.taboption('general', widgets.ZoneSelect, 'src', _('Source zone')); + o.modalonly = true; + o.nocreate = true; + o.allowany = true; + o.allowlocal = 'src'; + + o = s.taboption('advanced', form.Value, 'ipset', _('Use ipset')); + uci.sections('firewall', 'ipset', function(s) { + if (typeof(s.name) == 'string') + o.value(s.name, s.comment ? '%s (%s)'.format(s.name, s.comment) : s.name); + }); + o.modalonly = true; + o.rmempty = true; + + fwtool.addMACOption(s, 'advanced', 'src_mac', _('Source MAC address'), null, hosts); + fwtool.addIPOption(s, 'general', 'src_ip', _('Source address'), null, '', hosts, true); + + o = s.taboption('general', form.Value, 'src_port', _('Source port')); + o.modalonly = true; + o.datatype = 'list(neg(portrange))'; + o.placeholder = _('any'); + o.depends({ proto: 'tcp', '!contains': true }); + o.depends({ proto: 'udp', '!contains': true }); + + o = s.taboption('general', widgets.ZoneSelect, 'dest', _('Destination zone')); + o.modalonly = true; + o.nocreate = true; + o.allowany = true; + o.allowlocal = true; + + fwtool.addIPOption(s, 'general', 'dest_ip', _('Destination address'), null, '', hosts, true); + + o = s.taboption('general', form.Value, 'dest_port', _('Destination port')); + o.modalonly = true; + o.datatype = 'list(neg(portrange))'; + o.placeholder = _('any'); + o.depends({ proto: 'tcp', '!contains': true }); + o.depends({ proto: 'udp', '!contains': true }); + + o = s.taboption('general', form.ListValue, 'target', _('Action')); + o.modalonly = true; + o.default = 'ACCEPT'; + o.value('DROP', _('drop')); + o.value('ACCEPT', _('accept')); + o.value('REJECT', _('reject')); + o.value('NOTRACK', _("don't track")); + o.value('HELPER', _('assign conntrack helper')); + o.value('MARK_SET', _('apply firewall mark')); + o.value('MARK_XOR', _('XOR firewall mark')); + o.value('DSCP', _('DSCP classification')); + o.cfgvalue = function(section_id) { + var t = uci.get('firewall', section_id, 'target'), + m = uci.get('firewall', section_id, 'set_mark'); + + if (t == 'MARK') + return m ? 'MARK_SET' : 'MARK_XOR'; + + return t; + }; + o.write = function(section_id, value) { + return this.super('write', [section_id, (value == 'MARK_SET' || value == 'MARK_XOR') ? 'MARK' : value]); + }; + + fwtool.addMarkOption(s, 1); + fwtool.addMarkOption(s, 2); + fwtool.addDSCPOption(s, true); + + o = s.taboption('general', form.ListValue, 'set_helper', _('Tracking helper'), _('Assign the specified connection tracking helper to matched traffic.')); + o.modalonly = true; + o.placeholder = _('any'); + o.depends('target', 'HELPER'); + for (var i = 0; i < ctHelpers.length; i++) + o.value(ctHelpers[i].name, '%s (%s)'.format(ctHelpers[i].description, ctHelpers[i].name.toUpperCase())); + + o = s.taboption('advanced', form.Value, 'helper', _('Match helper'), _('Match traffic using the specified connection tracking helper.')); + o.modalonly = true; + o.placeholder = _('any'); + for (var i = 0; i < ctHelpers.length; i++) + o.value(ctHelpers[i].name, '%s (%s)'.format(ctHelpers[i].description, ctHelpers[i].name.toUpperCase())); + o.validate = function(section_id, value) { + if (value == '' || value == null) + return true; + + value = value.replace(/^!\s*/, ''); + + for (var i = 0; i < ctHelpers.length; i++) + if (value == ctHelpers[i].name) + return true; + + return _('Unknown or not installed conntrack helper "%s"').format(value); + }; + + fwtool.addMarkOption(s, false); + fwtool.addDSCPOption(s, false); + fwtool.addLimitOption(s); + fwtool.addLimitBurstOption(s); + + if (!L.hasSystemFeature('firewall4')) { + o = s.taboption('advanced', form.Value, 'extra', _('Extra arguments'), + _('Passes additional arguments to iptables. Use with care!')); + o.modalonly = true; + } + + o = s.taboption('timed', form.MultiValue, 'weekdays', _('Week Days')); + o.modalonly = true; + o.multiple = true; + o.display = 5; + o.placeholder = _('Any day'); + o.value('Sun', _('Sunday')); + o.value('Mon', _('Monday')); + o.value('Tue', _('Tuesday')); + o.value('Wed', _('Wednesday')); + o.value('Thu', _('Thursday')); + o.value('Fri', _('Friday')); + o.value('Sat', _('Saturday')); + o.write = function(section_id, value) { + return this.super('write', [ section_id, L.toArray(value).join(' ') ]); + }; + + o = s.taboption('timed', form.MultiValue, 'monthdays', _('Month Days')); + o.modalonly = true; + o.multiple = true; + o.display_size = 15; + o.placeholder = _('Any day'); + o.write = function(section_id, value) { + return this.super('write', [ section_id, L.toArray(value).join(' ') ]); + }; + for (var i = 1; i <= 31; i++) + o.value(i); + + o = s.taboption('timed', form.Value, 'start_time', _('Start Time (hh:mm:ss)')); + o.modalonly = true; + o.datatype = 'timehhmmss'; + + o = s.taboption('timed', form.Value, 'stop_time', _('Stop Time (hh:mm:ss)')); + o.modalonly = true; + o.datatype = 'timehhmmss'; + + o = s.taboption('timed', form.Value, 'start_date', _('Start Date (yyyy-mm-dd)')); + o.modalonly = true; + o.datatype = 'dateyyyymmdd'; + + o = s.taboption('timed', form.Value, 'stop_date', _('Stop Date (yyyy-mm-dd)')); + o.modalonly = true; + o.datatype = 'dateyyyymmdd'; + + o = s.taboption('timed', form.Flag, 'utc_time', _('Time in UTC')); + o.modalonly = true; + o.default = o.disabled; + + return m.render(); + } +}); diff --git a/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js b/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js new file mode 100644 index 000000000..a700475e4 --- /dev/null +++ b/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js @@ -0,0 +1,397 @@ +'use strict'; +'require view'; +'require ui'; +'require rpc'; +'require uci'; +'require form'; +'require firewall as fwmodel'; +'require tools.firewall as fwtool'; +'require tools.widgets as widgets'; + +function rule_proto_txt(s) { + var family = (uci.get('firewall', s, 'family') || '').toLowerCase().replace(/^(?:all|\*)$/, 'any'); + var sip = uci.get('firewall', s, 'src_ip') || ''; + var dip = uci.get('firewall', s, 'dest_ip') || ''; + var rwip = uci.get('firewall', s, 'snat_ip') || ''; + var proto = L.toArray(uci.get('firewall', s, 'proto')).filter(function(p) { + return (p != '*' && p != 'any' && p != 'all'); + }).map(function(p) { + var pr = fwtool.lookupProto(p); + return { + num: pr[0], + name: pr[1] + }; + }); + + var m = String(uci.get('firewall', s, 'mark')).match(/^(!\s*)?(0x[0-9a-f]{1,8}|[0-9]{1,10})(?:\/(0x[0-9a-f]{1,8}|[0-9]{1,10}))?$/i); + var f = m ? { + val: m[0].toUpperCase().replace(/X/g, 'x'), + inv: m[1], + num: '0x%02X'.format(+m[2]), + mask: m[3] ? '0x%02X'.format(+m[3]) : null + } : null; + + return fwtool.fmt(_('Forwarded %{ipv6?%{ipv4?IPv4 and IPv6:IPv6}:IPv4}%{proto?, protocol %{proto#%{next?, }%{item.name}}}%{mark?, mark %{mark.val}}'), { + ipv4: (family == 'ipv4' || family == 'any' || (!family && sip.indexOf(':') == -1 && dip.indexOf(':') == -1 && rwip.indexOf(':') == -1)), + ipv6: (family == 'ipv6' || family == 'any' || (!family && (sip.indexOf(':') != -1 || dip.indexOf(':') != -1 || rwip.indexOf(':') != -1))), + proto: proto, + mark: f + }); +} + +function rule_src_txt(s, hosts) { + var z = uci.get('firewall', s, 'src'); + + return fwtool.fmt(_('From %{src}%{src_device?, interface %{src_device}}%{src_ip?, IP %{src_ip#%{next?, }%{item.ival}}}%{src_port?, port %{src_port#%{next?, }%{item.ival}}}'), { + src: E('span', { 'class': 'zonebadge', 'style': fwmodel.getZoneColorStyle(null) }, [E('em', _('any zone'))]), + src_ip: fwtool.map_invert(uci.get('firewall', s, 'src_ip'), 'toLowerCase'), + src_port: fwtool.map_invert(uci.get('firewall', s, 'src_port')) + }); +} + +function rule_dest_txt(s) { + var z = uci.get('firewall', s, 'src'); + + return fwtool.fmt(_('To %{dest}%{dest_device?, via interface %{dest_device}}%{dest_ip?, IP %{dest_ip#%{next?, }%{item.ival}}}%{dest_port?, port %{dest_port#%{next?, }%{item.ival}}}'), { + dest: E('span', { 'class': 'zonebadge', 'style': fwmodel.getZoneColorStyle(z) }, [(z == '*') ? E('em', _('any zone')) : (z ? E('strong', z) : E('em', _('this device')))]), + dest_ip: fwtool.map_invert(uci.get('firewall', s, 'dest_ip'), 'toLowerCase'), + dest_port: fwtool.map_invert(uci.get('firewall', s, 'dest_port')), + dest_device: uci.get('firewall', s, 'device') + }); +} + +function rule_limit_txt(s) { + var m = String(uci.get('firewall', s, 'limit')).match(/^(\d+)\/([smhd])\w*$/i), + l = m ? { + num: +m[1], + unit: ({ s: _('second'), m: _('minute'), h: _('hour'), d: _('day') })[m[2]], + burst: uci.get('firewall', s, 'limit_burst') + } : null; + + if (!l) + return ''; + + return fwtool.fmt(_('Limit matching to %{limit.num} packets per %{limit.unit}%{limit.burst? burst %{limit.burst}}'), { limit: l }); +} + +function rule_target_txt(s) { + var t = uci.get('firewall', s, 'target'), + s = { + target: t, + snat_ip: uci.get('firewall', s, 'snat_ip'), + snat_port: uci.get('firewall', s, 'snat_port') + }; + + switch (t) { + case 'SNAT': + return fwtool.fmt(_('Statically rewrite to source %{snat_ip?IP %{snat_ip}} %{snat_port?port %{snat_port}}'), s); + + case 'MASQUERADE': + return fwtool.fmt(_('Automatically rewrite source IP')); + + case 'ACCEPT': + return fwtool.fmt(_('Prevent source rewrite')); + + default: + return t; + } +} + +function validate_opt_family(m, section_id, opt) { + var sopt = m.section.getOption('src_ip'), + dopt = m.section.getOption('dest_ip'), + rwopt = m.section.getOption('snat_ip'), + fmopt = m.section.getOption('family'), + tgopt = m.section.getOption('target'); + + if (!sopt.isValid(section_id) && opt != 'src_ip') + return true; + if (!dopt.isValid(section_id) && opt != 'dest_ip') + return true; + if (!rwopt.isValid(section_id) && opt != 'snat_ip') + return true; + if (!fmopt.isValid(section_id) && opt != 'family') + return true; + if (!tgopt.isValid(section_id) && opt != 'target') + return true; + + var sip = sopt.formvalue(section_id) || '', + dip = dopt.formvalue(section_id) || '', + rwip = rwopt.formvalue(section_id) || '', + fm = fmopt.formvalue(section_id) || '', + tg = tgopt.formvalue(section_id); + + if (fm == 'ipv6' && (sip.indexOf(':') != -1 || sip == '') && (dip.indexOf(':') != -1 || dip == '') && ((rwip.indexOf(':') != -1 && tg == 'SNAT') || rwip == '')) + return true; + if (fm == 'ipv4' && (sip.indexOf(':') == -1) && (dip.indexOf(':') == -1) && ((rwip.indexOf(':') == -1 && tg == 'SNAT') || rwip == '')) + return true; + if (fm == '' || fm == 'any') { + if ((sip.indexOf(':') != -1 || sip == '') && (dip.indexOf(':') != -1 || dip == '') && ((rwip.indexOf(':') != -1 && tg == 'SNAT') || rwip == '')) + return true; + if ((sip.indexOf(':') == -1) && (dip.indexOf(':') == -1) && ((rwip.indexOf(':') == -1 && tg == 'SNAT') || rwip == '')) + return true; + } + + return _('Address family, source address, destination address, rewrite IP address must match'); +} + +return view.extend({ + callHostHints: rpc.declare({ + object: 'luci-rpc', + method: 'getHostHints', + expect: { '': {} } + }), + + callNetworkDevices: rpc.declare({ + object: 'luci-rpc', + method: 'getNetworkDevices', + expect: { '': {} } + }), + + load: function() { + return Promise.all([ + this.callHostHints(), + this.callNetworkDevices(), + uci.load('firewall') + ]); + }, + + render: function(data) { + if (fwtool.checkLegacySNAT()) + return fwtool.renderMigration(); + else + return this.renderNats(data); + }, + + renderNats: function(data) { + var hosts = data[0], + devs = data[1], + m, s, o; + var fw4 = L.hasSystemFeature('firewall4'); + + m = new form.Map('firewall', _('Firewall - NAT Rules'), + _('NAT rules allow fine grained control over the source IP to use for outbound or forwarded traffic.')); + + s = m.section(form.GridSection, 'nat', _('NAT Rules')); + s.addremove = true; + s.anonymous = true; + s.sortable = true; + s.cloneable = true; + + s.tab('general', _('General Settings')); + s.tab('advanced', _('Advanced Settings')); + s.tab('timed', _('Time Restrictions')); + + s.sectiontitle = function(section_id) { + return uci.get('firewall', section_id, 'name') || _('Unnamed NAT'); + }; + + o = s.taboption('general', form.Value, 'name', _('Name')); + o.placeholder = _('Unnamed NAT'); + o.modalonly = true; + + o = s.option(form.DummyValue, '_match', _('Match')); + o.modalonly = false; + o.textvalue = function(s) { + return E('small', [ + rule_proto_txt(s), E('br'), + rule_src_txt(s, hosts), E('br'), + rule_dest_txt(s), E('br'), + rule_limit_txt(s) + ]); + }; + + o = s.option(form.ListValue, '_target', _('Action')); + o.modalonly = false; + o.textvalue = function(s) { + return rule_target_txt(s); + }; + + o = s.option(form.Flag, 'enabled', _('Enable')); + o.modalonly = false; + o.default = o.enabled; + o.editable = true; + + if (fw4) { + o = s.taboption('general', form.ListValue, 'family', _('Restrict to address family')); + o.modalonly = true; + o.rmempty = true; + o.value('any', _('IPv4 and IPv6')); + o.value('ipv4', _('IPv4 only')); + o.value('ipv6', _('IPv6 only')); + o.value('', _('automatic')); // infer from zone or used IP addresses + o.cfgvalue = function(section_id) { + var val = this.map.data.get(this.map.config, section_id, 'family'); + + if (!val) + return ''; + else if (val == 'any' || val == 'all' || val == '*') + return 'any'; + else if (val == 'inet' || String(val).indexOf('4') != -1) + return 'ipv4'; + else if (String(val).indexOf('6') != -1) + return 'ipv6'; + }; + o.validate = function(section_id, value) { + fwtool.updateHostHints(this.map, section_id, 'src_ip', value, hosts); + fwtool.updateHostHints(this.map, section_id, 'dest_ip', value, hosts); + return !fw4?true:validate_opt_family(this, section_id, 'family'); + }; + } + + o = s.taboption('general', fwtool.CBIProtocolSelect, 'proto', _('Protocol')); + o.modalonly = true; + o.default = 'all'; + + o = s.taboption('general', widgets.ZoneSelect, 'src', _('Outbound zone')); + o.modalonly = true; + o.rmempty = false; + o.nocreate = true; + o.allowany = true; + o.default = 'lan'; + + o = fwtool.addIPOption(s, 'general', 'src_ip', _('Source address'), + _('Match forwarded traffic from this IP or range.'), !fw4?'ipv4':'', hosts); + o.rmempty = true; + o.datatype = !fw4?'neg(ipmask4("true"))':'neg(ipmask("true"))'; + o.validate = function(section_id, value) { + return !fw4?true:validate_opt_family(this, section_id, 'src_ip'); + }; + + o = s.taboption('general', form.Value, 'src_port', _('Source port'), + _('Match forwarded traffic originating from the given source port or port range.')); + o.modalonly = true; + o.rmempty = true; + o.datatype = 'neg(portrange)'; + o.placeholder = _('any'); + o.depends({ proto: 'tcp', '!contains': true }); + o.depends({ proto: 'udp', '!contains': true }); + + o = fwtool.addIPOption(s, 'general', 'dest_ip', _('Destination address'), + _('Match forwarded traffic directed at the given IP address.'), !fw4?'ipv4':'', hosts); + o.rmempty = true; + o.datatype = !fw4?'neg(ipmask4("true"))':'neg(ipmask("true"))'; + o.validate = function(section_id, value) { + return !fw4?true:validate_opt_family(this, section_id, 'dest_ip'); + }; + + o = s.taboption('general', form.Value, 'dest_port', _('Destination port'), + _('Match forwarded traffic directed at the given destination port or port range.')); + o.modalonly = true; + o.rmempty = true; + o.placeholder = _('any'); + o.datatype = 'neg(portrange)'; + o.depends({ proto: 'tcp', '!contains': true }); + o.depends({ proto: 'udp', '!contains': true }); + + o = s.taboption('general', form.ListValue, 'target', _('Action')); + o.modalonly = true; + o.default = 'SNAT'; + o.value('SNAT', _('SNAT - Rewrite to specific source IP or port')); + o.value('MASQUERADE', _('MASQUERADE - Automatically rewrite to outbound interface IP')); + o.value('ACCEPT', _('ACCEPT - Disable address rewriting')); + o.validate = function(section_id, value) { + return !fw4?true:validate_opt_family(this, section_id, 'target'); + }; + + o = fwtool.addLocalIPOption(s, 'general', 'snat_ip', _('Rewrite IP address'), + _('Rewrite matched traffic to the specified source IP address.'), devs); + o.placeholder = null; + o.depends('target', 'SNAT'); + o.validate = function(section_id, value) { + var a = this.formvalue(section_id), + p = this.section.formvalue(section_id, 'snat_port'); + + if ((a == null || a == '') && (p == null || p == '') && value == '') + return _('A rewrite IP must be specified!'); + + return !fw4?true:validate_opt_family(this, section_id, 'snat_ip'); + }; + + o = s.taboption('general', form.Value, 'snat_port', _('Rewrite port'), + _('Rewrite matched traffic to the specified source port or port range.')); + o.modalonly = true; + o.rmempty = true; + o.placeholder = _('do not rewrite'); + o.datatype = 'portrange'; + o.depends({ proto: 'tcp', '!contains': true }); + o.depends({ proto: 'udp', '!contains': true }); + + var have_fw4 = L.hasSystemFeature('firewall4') + if (!have_fw4) { + o = s.taboption('advanced', form.Value, 'ipset', _('Use ipset')); + uci.sections('firewall', 'ipset', function(s) { + if (typeof(s.name) == 'string') + o.value(s.name, s.comment ? '%s (%s)'.format(s.name, s.comment) : s.name); + }); + o.modalonly = true; + o.rmempty = true; + } + + o = s.taboption('advanced', widgets.DeviceSelect, 'device', _('Outbound device'), + _('Matches forwarded traffic using the specified outbound network device.')); + o.noaliases = true; + o.modalonly = true; + o.rmempty = true; + + fwtool.addMarkOption(s, false); + fwtool.addLimitOption(s); + fwtool.addLimitBurstOption(s); + + if (!have_fw4) { + o = s.taboption('advanced', form.Value, 'extra', _('Extra arguments'), + _('Passes additional arguments to iptables. Use with care!')); + o.modalonly = true; + o.rmempty = true; + } + + o = s.taboption('timed', form.MultiValue, 'weekdays', _('Week Days')); + o.modalonly = true; + o.multiple = true; + o.display = 5; + o.placeholder = _('Any day'); + o.value('Sun', _('Sunday')); + o.value('Mon', _('Monday')); + o.value('Tue', _('Tuesday')); + o.value('Wed', _('Wednesday')); + o.value('Thu', _('Thursday')); + o.value('Fri', _('Friday')); + o.value('Sat', _('Saturday')); + o.write = function(section_id, value) { + return this.super('write', [ section_id, L.toArray(value).join(' ') ]); + }; + + o = s.taboption('timed', form.MultiValue, 'monthdays', _('Month Days')); + o.modalonly = true; + o.multiple = true; + o.display_size = 15; + o.placeholder = _('Any day'); + o.write = function(section_id, value) { + return this.super('write', [ section_id, L.toArray(value).join(' ') ]); + }; + for (var i = 1; i <= 31; i++) + o.value(i); + + o = s.taboption('timed', form.Value, 'start_time', _('Start Time (hh:mm:ss)')); + o.modalonly = true; + o.datatype = 'timehhmmss'; + + o = s.taboption('timed', form.Value, 'stop_time', _('Stop Time (hh:mm:ss)')); + o.modalonly = true; + o.datatype = 'timehhmmss'; + + o = s.taboption('timed', form.Value, 'start_date', _('Start Date (yyyy-mm-dd)')); + o.modalonly = true; + o.datatype = 'dateyyyymmdd'; + + o = s.taboption('timed', form.Value, 'stop_date', _('Stop Date (yyyy-mm-dd)')); + o.modalonly = true; + o.datatype = 'dateyyyymmdd'; + + o = s.taboption('timed', form.Flag, 'utc_time', _('Time in UTC')); + o.modalonly = true; + o.default = o.disabled; + + return m.render(); + } +}); diff --git a/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js b/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js new file mode 100644 index 000000000..80df278f3 --- /dev/null +++ b/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js @@ -0,0 +1,405 @@ +'use strict'; +'require view'; +'require rpc'; +'require uci'; +'require form'; +'require network'; +'require firewall'; +'require tools.firewall as fwtool'; +'require tools.widgets as widgets'; + +return view.extend({ + callConntrackHelpers: rpc.declare({ + object: 'luci', + method: 'getConntrackHelpers', + expect: { result: [] } + }), + + load: function() { + return Promise.all([ + this.callConntrackHelpers(), + firewall.getDefaults() + ]); + }, + + render: function(data) { + if (fwtool.checkLegacySNAT()) + return fwtool.renderMigration(); + else + return this.renderZones(data); + }, + + renderZones: function(data) { + var ctHelpers = data[0], + fwDefaults = data[1], + m, s, o, inp, out; + var fw4 = L.hasSystemFeature('firewall4'); + + m = new form.Map('firewall', _('Firewall - Zone Settings'), + _('The firewall creates zones over your network interfaces to control network traffic flow.')); + + s = m.section(form.TypedSection, 'defaults', _('General Settings')); + s.anonymous = true; + s.addremove = false; + + o = s.option(form.Flag, 'synflood_protect', _('Enable SYN-flood protection')); + o.cfgvalue = function(section_id) { + var val = uci.get('firewall', section_id, 'synflood_protect'); + return (val != null) ? val : uci.get('firewall', section_id, 'syn_flood'); + }; + o.write = function(section_id, value) { + uci.unset('firewall', section_id, 'syn_flood'); + uci.set('firewall', section_id, 'synflood_protect', value); + }; + o.remove = function(section_id) { + uci.unset('firewall', section_id, 'syn_flood'); + uci.unset('firewall', section_id, 'synflood_protect'); + }; + + o = s.option(form.Flag, 'drop_invalid', _('Drop invalid packets')); + + var p = [ + s.option(form.ListValue, 'input', _('Input')), + s.option(form.ListValue, 'output', _('Output')), + s.option(form.ListValue, 'forward', _('Forward')) + ]; + + for (var i = 0; i < p.length; i++) { + p[i].value('REJECT', _('reject')); + p[i].value('DROP', _('drop')); + p[i].value('ACCEPT', _('accept')); + } + + /* Netfilter flow offload support */ + + if (L.hasSystemFeature('offloading')) { + s = m.section(form.TypedSection, 'defaults', _('Routing/NAT Offloading'), + _('Not fully compatible with QoS/SQM.')); + + s.anonymous = true; + s.addremove = false; + + o = s.option(form.RichListValue, "offloading_type", _("Flow offloading type")); + o.value('0', _("None")); + o.value('1', _("Software flow offloading"), _('Software based offloading for routing/NAT.')); + o.value('2', _("Hardware flow offloading"), _('Hardware based offloading for routing with/without NAT.') + ' ' + _(' Requires hardware NAT support.')); + o.optional = false; + o.load = function (section_id) { + var flow_offloading = uci.get('firewall', section_id, 'flow_offloading'); + var flow_offloading_hw = uci.get('firewall', section_id, 'flow_offloading_hw'); + return (flow_offloading === '1') + ? (flow_offloading_hw === '1' ? '2' : '1') + : '0'; + }; + o.write = function(section_id, value) { + uci.set('firewall', section_id, 'flow_offloading', value === '0' ? null : '1'); + uci.set('firewall', section_id, 'flow_offloading_hw', value === '2' ? '1' : null); + }; + } + + + s = m.section(form.GridSection, 'zone', _('Zones')); + s.addremove = true; + s.anonymous = true; + s.sortable = true; + s.nodescriptions = true; + + s.handleRemove = function(section_id, ev) { + return firewall.deleteZone(section_id).then(L.bind(function() { + return this.super('handleRemove', [section_id, ev]); + }, this)); + }; + + s.tab('general', _('General Settings')); + s.tab('advanced', _('Advanced Settings')); + s.tab('conntrack', _('Conntrack Settings')); + s.tab('extra', _('Extra iptables arguments')); + + o = s.taboption('general', form.DummyValue, '_generalinfo'); + o.rawhtml = true; + o.modalonly = true; + o.cfgvalue = function(section_id) { + var name = uci.get('firewall', section_id, 'name'); + if (name == null) + name = _("this new zone"); + return _('This section defines common properties of %q. The input and output options set the default policies for traffic entering and leaving this zone while the forward option describes the policy for forwarded traffic between different networks within the zone. Covered networks specifies which available networks are members of this zone.') + .replace(/%s/g, name).replace(/%q/g, '"' + name + '"'); + }; + + o = s.taboption('general', form.Value, 'name', _('Name')); + o.placeholder = _('Unnamed zone'); + o.modalonly = true; + o.rmempty = false; + o.datatype = 'and(uciname,maxlength(11))'; + o.write = function(section_id, formvalue) { + var cfgvalue = this.cfgvalue(section_id); + + if (cfgvalue == null || cfgvalue == '') + return uci.set('firewall', section_id, 'name', formvalue); + else if (cfgvalue != formvalue) + return firewall.renameZone(cfgvalue, formvalue); + }; + + o = s.option(widgets.ZoneForwards, '_info', _('Zone ⇒ Forwardings')); + o.editable = true; + o.modalonly = false; + o.cfgvalue = function(section_id) { + return uci.get('firewall', section_id, 'name'); + }; + + var p = [ + s.taboption('general', form.ListValue, 'input', _('Input')), + s.taboption('general', form.ListValue, 'output', _('Output')), + s.taboption('general', form.ListValue, 'forward', _('Intra zone forward')) + ]; + + for (var i = 0; i < p.length; i++) { + p[i].value('REJECT', _('reject')); + p[i].value('DROP', _('drop')); + p[i].value('ACCEPT', _('accept')); + p[i].editable = true; + } + + p[0].default = fwDefaults.getInput(); + p[1].default = fwDefaults.getOutput(); + p[2].default = fwDefaults.getForward(); + + o = s.taboption('general', form.Flag, 'masq', _('Masquerading'), + _('Enable network address and port translation IPv4 (NAT4 or NAPT4) for outbound traffic on this zone. This is typically enabled on the wan zone.')); + o.editable = true; + o.tooltip = function(section_id) { + var family = uci.get('firewall', section_id, 'family') + var masq_src = uci.get('firewall', section_id, 'masq_src') + var masq_dest = uci.get('firewall', section_id, 'masq_dest') + if ((!family || family.indexOf('6') == -1) && (masq_src || masq_dest)) + return _('Limited masquerading enabled'); + + return null; + }; + + /* + o = s.taboption('general', form.Flag, 'fullcone', _('Full Cone')); + o.editable = true; + o.depends('masq', '1'); + + o = s.taboption('general', form.Flag, 'fullcone6', _('Full Cone IPv6')); + o.editable = true; + o.depends('masq', '1'); + */ + + o = s.taboption('general', form.Flag, 'mtu_fix', _('MSS clamping')); + o.modalonly = true; + + o = s.taboption('general', widgets.NetworkSelect, 'network', _('Covered networks')); + o.modalonly = true; + o.multiple = true; + o.cfgvalue = function(section_id) { + return uci.get('firewall', section_id, 'network'); + }; + o.write = function(section_id, formvalue) { + var name = uci.get('firewall', section_id, 'name'), + cfgvalue = this.cfgvalue(section_id), + oldNetworks = L.toArray(cfgvalue), + newNetworks = L.toArray(formvalue); + + oldNetworks.sort(); + newNetworks.sort(); + + if (oldNetworks.join(' ') == newNetworks.join(' ')) + return; + + var tasks = [ firewall.getZone(name) ]; + + if (Array.isArray(formvalue)) + for (var i = 0; i < newNetworks.length; i++) { + var netname = newNetworks[i]; + tasks.push(network.getNetwork(netname).then(L.bind(function(netname, net) { + return net || network.addNetwork(netname, { 'proto': 'none' }); + }, this, netname))); + } + + return Promise.all(tasks).then(function(zone_networks) { + if (zone_networks[0]) { + zone_networks[0].clearNetworks(); + for (var i = 1; i < zone_networks.length; i++) + zone_networks[0].addNetwork(zone_networks[i].getName()); + } + }); + }; + + o = s.taboption('advanced', form.DummyValue, '_advancedinfo'); + o.rawhtml = true; + o.modalonly = true; + o.cfgvalue = function(section_id) { + var name = uci.get('firewall', section_id, 'name'); + if (name == null) + name = _("this new zone"); + return _('The options below control the forwarding policies between this zone (%s) and other zones. Destination zones cover forwarded traffic originating from %q. Source zones match forwarded traffic from other zones targeted at %q. The forwarding rule is unidirectional, e.g. a forward from lan to wan does not imply a permission to forward from wan to lan as well.') + .format(name); + }; + + o = s.taboption('advanced', widgets.DeviceSelect, 'device', _('Covered devices'), _('Use this option to classify zone traffic by raw, non-uci managed network devices.')); + o.modalonly = true; + o.noaliases = true; + o.multiple = true; + + o = s.taboption('advanced', form.DynamicList, 'subnet', _('Covered subnets'), _('Use this option to classify zone traffic by source or destination subnet instead of networks or devices.')); + o.datatype = 'neg(cidr("true"))'; + o.modalonly = true; + o.multiple = true; + + if (fw4) { + o = s.taboption('advanced', form.Flag, 'masq6', _('IPv6 Masquerading'), + _('Enable network address and port translation IPv6 (NAT6 or NAPT6) for outbound traffic on this zone.')); + o.modalonly = true; + o.tooltip = function(section_id) { + var family = uci.get('firewall', section_id, 'family') + var masq_src = uci.get('firewall', section_id, 'masq_src') + var masq_dest = uci.get('firewall', section_id, 'masq_dest') + if ((!family || family.indexOf('6') >= 0) && (masq_src || masq_dest)) + return _('Limited masquerading enabled'); + return null; + }; + } + + o = s.taboption('advanced', form.ListValue, 'family', _('Restrict to address family')); + o.value('', _('IPv4 and IPv6')); + o.value('ipv4', _('IPv4 only')); + o.value('ipv6', _('IPv6 only')); + o.modalonly = true; + + o = s.taboption('advanced', form.DynamicList, 'masq_src', _('Restrict Masquerading to given source subnets')); + if (fw4) { + o.datatype = 'list(neg(or(uciname,hostname,ipmask)))'; + } else { + o.depends('family', ''); + o.depends('family', 'ipv4'); + o.datatype = 'list(neg(or(uciname,hostname,ipmask4)))'; + } + o.placeholder = '0.0.0.0/0'; + o.modalonly = true; + + o = s.taboption('advanced', form.DynamicList, 'masq_dest', _('Restrict Masquerading to given destination subnets')); + if (fw4) { + o.datatype = 'list(neg(or(uciname,hostname,ipmask)))'; + } else { + o.depends('family', ''); + o.depends('family', 'ipv4'); + o.datatype = 'list(neg(or(uciname,hostname,ipmask4)))'; + } + o.placeholder = '0.0.0.0/0'; + o.modalonly = true; + + o = s.taboption('conntrack', form.Flag, 'masq_allow_invalid', _('Allow "invalid" traffic'), _('Do not install extra rules to reject forwarded traffic with conntrack state invalid. This may be required for complex asymmetric route setups.')); + o.modalonly = true; + + o = s.taboption('conntrack', form.Flag, 'auto_helper', _('Automatic helper assignment'), _('Automatically assign conntrack helpers based on traffic protocol and port')); + o.default = o.enabled; + o.modalonly = true; + + o = s.taboption('conntrack', form.MultiValue, 'helper', _('Conntrack helpers'), _('Explicitly choses allowed connection tracking helpers for zone traffic')); + o.depends('auto_helper', '0'); + o.modalonly = true; + for (var i = 0; i < ctHelpers.length; i++) + o.value(ctHelpers[i].name, E('%s (%s)%s'.format(ctHelpers[i].description, ctHelpers[i].name.toUpperCase(), ctHelpers[i].name.toUpperCase()))); + + o = s.taboption('advanced', form.Flag, 'log', _('Enable logging on this zone')); + o.modalonly = true; + + o = s.taboption('advanced', form.Value, 'log_limit', _('Limit log messages')); + o.depends('log', '1'); + o.placeholder = '10/minute'; + o.modalonly = true; + + if (!L.hasSystemFeature('firewall4')) { + o = s.taboption('extra', form.DummyValue, '_extrainfo'); + o.rawhtml = true; + o.modalonly = true; + o.cfgvalue = function(section_id) { + return _('Passing raw iptables arguments to source and destination traffic classification rules allows to match packets based on other criteria than interfaces or subnets. These options should be used with extreme care as invalid values could render the firewall ruleset broken, completely exposing all services.'); + }; + + o = s.taboption('extra', form.Value, 'extra_src', _('Extra source arguments'), _('Additional raw iptables arguments to classify zone source traffic, e.g. -p tcp --sport 443 to only match inbound HTTPS traffic.')); + o.modalonly = true; + o.cfgvalue = function(section_id) { + return uci.get('firewall', section_id, 'extra_src') || uci.get('firewall', section_id, 'extra'); + }; + o.write = function(section_id, value) { + uci.unset('firewall', section_id, 'extra'); + uci.set('firewall', section_id, 'extra_src', value); + }; + + o = s.taboption('extra', form.Value, 'extra_dest', _('Extra destination arguments'), _('Additional raw iptables arguments to classify zone destination traffic, e.g. -p tcp --dport 443 to only match outbound HTTPS traffic.')); + o.modalonly = true; + o.cfgvalue = function(section_id) { + return uci.get('firewall', section_id, 'extra_dest') || uci.get('firewall', section_id, 'extra_src') || uci.get('firewall', section_id, 'extra'); + }; + o.write = function(section_id, value) { + uci.unset('firewall', section_id, 'extra'); + uci.set('firewall', section_id, 'extra_dest', value); + }; + } + + o = s.taboption('general', form.DummyValue, '_forwardinfo'); + o.rawhtml = true; + o.modalonly = true; + o.cfgvalue = function(section_id) { + var name = uci.get('firewall', section_id, 'name'); + if (name == null) + name = _("this new zone"); + return _('The options below control the forwarding policies between this zone (%s) and other zones. Destination zones cover forwarded traffic originating from %q. Source zones match forwarded traffic from other zones targeted at %q. The forwarding rule is unidirectional, e.g. a forward from lan to wan does not imply a permission to forward from wan to lan as well.') + .format(name); + }; + + out = o = s.taboption('general', widgets.ZoneSelect, 'out', _('Allow forward to destination zones:')); + o.nocreate = true; + o.multiple = true; + o.modalonly = true; + o.filter = function(section_id, value) { + return (uci.get('firewall', section_id, 'name') != value); + }; + o.cfgvalue = function(section_id) { + var out = (this.option == 'out'), + zone = this.lookupZone(uci.get('firewall', section_id, 'name')), + fwds = zone ? zone.getForwardingsBy(out ? 'src' : 'dest') : [], + value = []; + + for (var i = 0; i < fwds.length; i++) + value.push(out ? fwds[i].getDestination() : fwds[i].getSource()); + + return value; + }; + o.write = o.remove = function(section_id, formvalue) { + var out = (this.option == 'out'), + zone = this.lookupZone(uci.get('firewall', section_id, 'name')), + fwds = zone ? zone.getForwardingsBy(out ? 'src' : 'dest') : []; + + if (formvalue == null) + formvalue = []; + + if (Array.isArray(formvalue)) { + for (var i = 0; i < fwds.length; i++) { + var cmp = out ? fwds[i].getDestination() : fwds[i].getSource(); + if (!formvalue.filter(function(d) { return d == cmp }).length) + zone.deleteForwarding(fwds[i]); + } + + for (var i = 0; i < formvalue.length; i++) + if (out) + zone.addForwardingTo(formvalue[i]); + else + zone.addForwardingFrom(formvalue[i]); + } + }; + + inp = o = s.taboption('general', widgets.ZoneSelect, 'in', _('Allow forward from source zones:')); + o.nocreate = true; + o.multiple = true; + o.modalonly = true; + o.write = o.remove = out.write; + o.filter = out.filter; + o.cfgvalue = out.cfgvalue; + + return m.render(); + } +}); diff --git a/luci-app-firewall/po/ar/firewall.po b/luci-app-firewall/po/ar/firewall.po new file mode 100644 index 000000000..89ce2dbce --- /dev/null +++ b/luci-app-firewall/po/ar/firewall.po @@ -0,0 +1,1589 @@ +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2010-03-30 17:00+0200\n" +"PO-Revision-Date: 2024-07-16 16:41+0000\n" +"Last-Translator: Rex_sa \n" +"Language-Team: Arabic \n" +"Language: ar\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 " +"&& n%100<=10 ? 3 : n%100>=11 ? 4 : 5;\n" +"X-Generator: Weblate 5.7-dev\n" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:48 +msgid "" +"%{src?%{dest?Forwarded:Incoming}:Outgoing} %{ipv6?%{ipv4?IPv4 and " +"IPv6:IPv6}:IPv4}%{proto?, protocol " +"%{proto#%{next?, }%{item.types?%{item." +"name}ICMP with types %{item.types#%{next?, }" +"%{item}}:%{item.name}}}}%{mark?, mark " +"%{mark.val}}%{dscp?, DSCP %{dscp." +"inv?%{dscp.val}:%{dscp.val}}}%{helper?, helper " +"%{helper.inv?%{helper.val}:%{helper." +"val}}}" +msgstr "" +"%{src?%{dest?Forwarded:Incoming}:Outgoing} %{ipv6?%{ipv4?IPv4 and " +"IPv6:IPv6}:IPv4}%{proto?, protocol " +"%{proto#%{next?, }%{item.types?%{item." +"name}ICMP with types %{item.types#%{next?, }" +"%{item}}:%{item.name}}}}%{mark?, mark " +"%{mark.val}}%{dscp?, DSCP %{dscp." +"inv?%{dscp.val}:%{dscp.val}}}%{helper?, helper " +"%{helper.inv?%{helper.val}:%{helper." +"val}}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:463 +msgid "-- add IP --" +msgstr "- إضافة IP -" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:521 +msgid "-- add MAC --" +msgstr "- اضافة MAC -" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:199 +msgid "0" +msgstr "0" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:182 +msgid "1024" +msgstr "1024" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:118 +msgid "" +"Accept %{src?%{dest?forward:input}:output}" +msgstr "" +"‍‎Accept %{src?%{dest?forward:input}:output}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:93 +msgid "Prevent source rewrite" +msgstr "منع إعادة كتابة المصدر" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:85 +msgid "" +"Forward to %{dest}%{dest_ip? IP " +"%{dest_ip}}%{dest_port? port %{dest_port}}" +msgstr "" +"‎Forward to %{dest}%{dest_ip? IP " +"%{dest_ip}}%{dest_port? port %{dest_port}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:115 +msgid "" +"Drop %{src?%{dest?forward:input}:output}" +msgstr "" +"‎Drop %{src?%{dest?forward:input}:output}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:133 +msgid "" +"Assign DSCP classification %{set_dscp}" +"" +msgstr "" +"تعيين تصنيف DSCP %{set_dscp}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:127 +msgid "" +"Assign conntrack helper " +"%{set_helper}" +msgstr "" +"تعيين مساعد التعقب %{set_helper}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:130 +msgid "" +"%{set_mark?Assign:XOR} firewall mark " +"%{set_mark?:%{set_xmark}}" +msgstr "" +"علامة جدار الحماية %{set_mark?Assign:XOR} " +"%{set_mark?:%{set_xmark}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:90 +msgid "Automatically rewrite source IP" +msgstr "‎Automatically rewrite source IP" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:124 +msgid "" +"Do not track %{src?%{dest?forward:input}:" +"output}" +msgstr "" +"‎Do not track %{src?%{dest?forward:input}:" +"output}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:121 +msgid "" +"Reject %{src?%{dest?forward:input}:output}" +msgstr "" +"‎Reject %{src?%{dest?forward:input}:output}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:87 +msgid "" +"Statically rewrite to source %{snat_ip?IP " +"%{snat_ip}} %{snat_port?port %{snat_port}}" +msgstr "" +"‎Statically rewrite to source %{snat_ip?IP " +"%{snat_ip}} %{snat_port?port %{snat_port}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:306 +msgid "A rewrite IP must be specified!" +msgstr "يجب تحديد إعادة كتابة IP!" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:292 +msgid "ACCEPT - Disable address rewriting" +msgstr "قبول - تعطيل إعادة كتابة العنوان" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:224 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:225 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:411 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:204 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:287 +msgid "Action" +msgstr "إجراء" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:322 +msgid "" +"Additional raw iptables arguments to classify zone destination " +"traffic, e.g. -p tcp --dport 443 to only match outbound HTTPS " +"traffic." +msgstr "" +"وسيطات iptables خام إضافية لتصنيف حركة مرور وجهة المنطقة ، على " +"سبيل المثال -p tcp --dport 443 لمطابقة حركة مرور HTTPS " +"الصادرة فقط." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:312 +msgid "" +"Additional raw iptables arguments to classify zone source traffic, " +"e.g. -p tcp --sport 443 to only match inbound HTTPS traffic." +msgstr "" +"وسيطات iptables خام إضافية لتصنيف حركة مرور مصدر المنطقة ، على " +"سبيل المثال -p tcp --sport 443 لمطابقة حركة مرور HTTPS " +"الواردة فقط." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:107 +msgid "Address family, Internal IP address must match" +msgstr "عائلة العنوان، يجب أن تتطابق عنوان IP الداخلي" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:135 +msgid "" +"Address family, source address, destination address, rewrite IP address must " +"match" +msgstr "" +"يجب أن تتطابق عائلة العنوان وعنوان المصدر وعنوان الوجهة وإعادة كتابة عنوان IP" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:162 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:183 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:182 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:114 +msgid "Advanced Settings" +msgstr "إعدادات متقدمة" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:283 +msgid "Allow \"invalid\" traffic" +msgstr "السماح بحركة المرور \"الغير الصالحة\"" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:385 +msgid "Allow forward from source zones:" +msgstr "السماح بإعادة التوجيه من مناطق المصدر :" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:344 +msgid "Allow forward to destination zones:" +msgstr "السماح بإعادة التوجيه إلى مناطق الوجهة :" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:551 +msgid "Any" +msgstr "أي" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:479 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:495 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:352 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:368 +msgid "Any day" +msgstr "اي يوم" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:317 +msgid "" +"Apply a bitwise XOR of the given value and the existing mark value on " +"established connections. Format is value[/mask]. If a mask is specified then " +"those bits set in the mask are zeroed out." +msgstr "" +"قم بتطبيق XOR على مستوى بت للقيمة المحددة وقيمة العلامة الحالية على " +"الاتصالات القائمة. التنسيق هو القيمة [/ القناع]. إذا تم تحديد قناع ، فسيتم " +"التخلص من البتات المحددة في القناع." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:264 +msgid "Apply the given DSCP class or value to established connections." +msgstr "قم بتطبيق فئة أو قيمة DSCP المحددة على الاتصالات القائمة." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:439 +msgid "Assign the specified connection tracking helper to matched traffic." +msgstr "قم بتعيين مساعد تتبع الاتصال المحدد لحركة المرور المتطابقة." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:286 +msgid "Automatic helper assignment" +msgstr "تعيين المساعد التلقائي" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:286 +msgid "" +"Automatically assign conntrack helpers based on traffic protocol and port" +msgstr "قم بتعيين مساعدي conntrack تلقائيًا بناءً على بروتوكول المرور والبوابة" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:61 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:62 +msgid "Comment" +msgstr "تعليق" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:115 +msgid "Conntrack Settings" +msgstr "إعدادات Conntrack" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:290 +msgid "Conntrack helpers" +msgstr "مساعدين كونتراك" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/custom.js:16 +msgid "Contents have been saved." +msgstr "تم حفظ المحتويات." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:700 +msgid "Continue" +msgstr "يكمل" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:204 +msgid "Counters" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:231 +msgid "Covered devices" +msgstr "الأجهزة المغطاة" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:183 +msgid "Covered networks" +msgstr "الشبكات المغطاة" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:236 +msgid "Covered subnets" +msgstr "الشبكات الفرعية المغطاة" + +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:62 +msgid "Custom Rules" +msgstr "القواعد المخصصة" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/custom.js:26 +msgid "" +"Custom rules allow you to execute arbitrary iptables commands which are not " +"otherwise covered by the firewall framework. The commands are executed after " +"each firewall restart, right after the default ruleset has been loaded." +msgstr "" +"تسمح لك القواعد المخصصة بتنفيذ أوامر iptables التعسفية التي لا يغطيها إطار " +"عمل جدار الحماية. يتم تنفيذ الأوامر بعد كل إعادة تشغيل لجدار الحماية ، " +"مباشرة بعد تحميل مجموعة القواعد الافتراضية." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:421 +msgid "DSCP classification" +msgstr "تصنيف DSCP" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:263 +msgid "DSCP mark" +msgstr "علامة DSCP" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:297 +msgid "DSCP mark required" +msgstr "علامة DSCP مطلوبة" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:402 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:270 +msgid "Destination address" +msgstr "عنوان الوجهة" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:404 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:278 +msgid "Destination port" +msgstr "بوابة الوجهة" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:396 +msgid "Destination zone" +msgstr "منطقة الوجهة" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:269 +msgid "Device name" +msgstr "اسم الجهاز" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:283 +msgid "" +"Do not install extra rules to reject forwarded traffic with conntrack state " +"invalid. This may be required for complex asymmetric route setups." +msgstr "" +"لا تقم بتثبيت قواعد إضافية لرفض حركة المرور المعاد توجيهها مع حالة conntrack " +" غير صالحة . قد يكون هذا مطلوبًا لإعدادات المسار غير المتماثلة " +"المعقدة." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:59 +msgid "Drop invalid packets" +msgstr "قم بإسقاط الحزم غير الصالحة" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:232 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:231 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:210 +msgid "Enable" +msgstr "شغل" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:306 +msgid "Enable NAT Loopback" +msgstr "تفعيل NAT Loopback" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:45 +msgid "Enable SYN-flood protection" +msgstr "تفعيل الحماية من الفيضانات SYN" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:296 +msgid "Enable logging on this zone" +msgstr "قم بتمكين تسجيل الدخول إلى هذه المنطقة" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:168 +msgid "" +"Enable network address and port translation IPv4 (NAT4 or NAPT4) for " +"outbound traffic on this zone. This is typically enabled on the wan " +"zone." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:243 +msgid "" +"Enable network address and port translation IPv6 (NAT6 or NAPT6) for " +"outbound traffic on this zone." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:211 +msgid "Enabled" +msgstr "مفعَّل" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:205 +msgid "Enables packet and byte count tracking for the set." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:339 +msgid "Expecting: %s" +msgstr "توقع: %s" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:290 +msgid "Explicitly choses allowed connection tracking helpers for zone traffic" +msgstr "يختار صراحة مساعدي تتبع الاتصال المسموح به لحركة مرور المنطقة" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:274 +msgid "External IP address" +msgstr "عنوان IP خارجي" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:279 +msgid "External port" +msgstr "منفذ خارجي" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:349 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:470 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:342 +msgid "Extra arguments" +msgstr "حجج اضافية" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:322 +msgid "Extra destination arguments" +msgstr "وسيطات الوجهة الإضافية" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:116 +msgid "Extra iptables arguments" +msgstr "حجج iptables الإضافية" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:312 +msgid "Extra source arguments" +msgstr "حجج مصدر إضافي" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:67 +msgid "Family" +msgstr "" + +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:3 +msgid "Firewall" +msgstr "جدار الحماية" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/custom.js:25 +msgid "Firewall - Custom Rules" +msgstr "جدار الحماية - القواعد المخصصة" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:20 +msgid "Firewall - IP sets" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:172 +msgid "Firewall - NAT Rules" +msgstr "جدار الحماية - قواعد NAT" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:152 +msgid "Firewall - Port Forwards" +msgstr "جدار الحماية - منفذ إلى الأمام" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:173 +msgid "Firewall - Traffic Rules" +msgstr "جدار الحماية - قواعد المرور" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:38 +msgid "Firewall - Zone Settings" +msgstr "جدار الحماية - إعدادات المنطقة" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:693 +msgid "Firewall configuration migration" +msgstr "ترحيل تكوين جدار الحماية" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:82 +msgid "Flow offloading type" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:64 +msgid "Forward" +msgstr "إلى الأمام" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:34 +msgid "" +"Forwarded %{ipv6?%{ipv4?IPv4 and IPv6:IPv6}:" +"IPv4}%{proto?, protocol %{proto#%{next?, }%{item.name}}}%{mark?, mark %{mark.val}" +"}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:485 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:358 +msgid "Friday" +msgstr "الجمعة" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:45 +msgid "" +"From %{src}%{src_device?, interface %{src_device}}%{src_ip?, IP " +"%{src_ip#%{next?, }%{item.ival}}}%{src_port?, port %{src_port#%{next?, }" +"%{item." +"ival}}}" +msgstr "" +"ابتداءً من %{src}%{ src_device?, interface %{src_device}%{src_ip?، " +"IP %{ src_ip#%{ next?, }%{ item.ival}}} %{ src_port?, port " +"%{ src_port#%{ next?, }%{ item.ival}}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:64 +msgid "" +"From %{src}%{src_device?, interface %{src_device}}%{src_ip?, IP " +"%{src_ip#%{next?, }%{item.ival}}}%{src_port?, port %{src_port#%{next?, }" +"%{item." +"ival}}}%{src_mac?, MAC %{src_mac#%{next?, }%{item.ival}" +"}}" +msgstr "" +"من %{src}%{src_device?, interface %{src_device}}%{src_ip?, IP " +"%{src_ip#%{next?, }%{item.ival}}}%{src_port?, port %{src_port#%{next?, }" +"%{item." +"ival}}}%{src_mac?, MAC %{src_mac#%{next?, }%{item.ival}" +"}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:52 +msgid "" +"From %{src}%{src_ip?, IP %{src_ip#%{next?, }%{item.ival}}}%{src_port?, port %{src_port#%{next?, }%{item.ival}}}%{src_mac?, " +"MAC %{src_mac#%{next?, }%{item.ival}}}" +msgstr "" +"من %{src}%{src_ip?, IP %{src_ip#%{next?, }%{item.ival}}}%{src_port?, port %{src_port#%{next?, }%{item.ival}}}%{src_mac?, " +"MAC %{src_mac#%{next?, }%{item.ival}}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:161 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:182 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:181 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:41 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:113 +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:17 +msgid "General Settings" +msgstr "الاعدادات العامة" + +#: applications/luci-app-firewall/root/usr/share/rpcd/acl.d/luci-app-firewall.json:3 +msgid "Grant access to firewall configuration" +msgstr "منح الوصول إلى تكوين جدار الحماية" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:85 +msgid "Hardware based offloading for routing with/without NAT." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:85 +msgid "Hardware flow offloading" +msgstr "تفريغ تدفق الأجهزة" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:144 +msgid "IP (range)" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:32 +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:53 +msgid "IP Sets" +msgstr "مجموعات IP" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:152 +msgid "IPs/Networks" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:107 +msgid "IPs/Networks/MACs" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:68 +msgid "IPv4" +msgstr "IPv4" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:191 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:280 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:219 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:256 +msgid "IPv4 and IPv6" +msgstr "IPv4 و IPv6" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:192 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:281 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:220 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:257 +msgid "IPv4 only" +msgstr "IPv4 فقط" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:69 +msgid "IPv6" +msgstr "IPv6" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:242 +msgid "IPv6 Masquerading" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:193 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:282 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:221 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:258 +msgid "IPv6 only" +msgstr "IPv6 فقط" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:252 +msgid "Inbound device" +msgstr "جهاز وارد" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:187 +msgid "Include File" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:40 +msgid "" +"Incoming %{ipv6?%{ipv4?IPv4 and IPv6:IPv6}:" +"IPv4}%{proto?, protocol %{proto#%{next?, }%{item.types?%{item.name}ICMP " +"with types %{item.types#%{next?, }%{item}}:" +"%{item.name}}}}%{mark?, mark %{mark.val}}%{helper?, helper %{helper.inv?%{helper.val}:%{helper.val}}}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:180 +msgid "Initial Hash Size" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:62 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:151 +msgid "Input" +msgstr "إدخال" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:292 +msgid "Internal IP address" +msgstr "عنوان IP الداخلي" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:297 +msgid "Internal port" +msgstr "منفذ داخلي" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:287 +msgid "Internal zone" +msgstr "المنطقة الداخلية" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:153 +msgid "Intra zone forward" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:305 +msgid "Invalid DSCP mark" +msgstr "علامة DSCP غير صالحة" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:373 +msgid "Invalid limit value" +msgstr "قيمة حد غير صالحة" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:47 +msgid "Invalid set name" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:383 +msgid "Limit burst" +msgstr "حد الطلقات" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:299 +msgid "Limit log messages" +msgstr "تقييد رسائل السجل" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:349 +msgid "Limit matching" +msgstr "حد المطابقة" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:79 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:96 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:74 +msgid "" +"Limit matching to %{limit.num} packets per %{limit.unit}%{limit.burst? burst %{limit.burst}}" +msgstr "" +"مطابقة محدودة ل ٪ {limit.num} حزم لكل ٪ {limit.unit} ٪ {limit.burst؟ انفجار ٪ {limit.burst} }" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:175 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:250 +msgid "Limited masquerading enabled" +msgstr "تمكين التنكر المحدود" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:350 +msgid "Limits traffic matching to the specified rate." +msgstr "يحد من مطابقة حركة المرور إلى المعدل المحدد." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:311 +msgid "Loopback source IP" +msgstr "IP مصدر الاسترجاع" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:291 +msgid "MASQUERADE - Automatically rewrite to outbound interface IP" +msgstr "MASQUERADE - إعادة الكتابة تلقائيًا إلى عنوان IP للواجهة الصادرة" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:180 +msgid "MSS clamping" +msgstr "لقط MSS" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:167 +msgid "Masquerading" +msgstr "تنكر" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:213 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:214 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:193 +msgid "Match" +msgstr "تطابق" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:263 +msgid "Match DSCP" +msgstr "تطابق DSCP" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:293 +msgid "Match ICMP type" +msgstr "تطابق نوع ICMP" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:249 +msgid "Match device" +msgstr "تطابق الأجهزة" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:271 +msgid "Match forwarded traffic directed at the given IP address." +msgstr "تطابق حركة المرور المعاد توجيهها إلى عنوان IP المحدد." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:279 +msgid "" +"Match forwarded traffic directed at the given destination port or port range." +msgstr "" +"تطابق حركة المرور المعاد توجيهها إلى منفذ الوجهة المحدد أو نطاق المنفذ." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:254 +msgid "Match forwarded traffic from this IP or range." +msgstr "تطابق حركة المرور المعاد توجيهها من هذا IP أو النطاق." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:262 +msgid "" +"Match forwarded traffic originating from the given source port or port range." +msgstr "" +"تطابق حركة المرور المعاد توجيهها الناشئة من منفذ المصدر المحدد أو نطاق " +"المنفذ." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:326 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:446 +msgid "Match helper" +msgstr "مساعد المطابقة" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:280 +msgid "" +"Match incoming traffic directed at the given destination port or port range " +"on this host" +msgstr "" +"تطابق حركة المرور الواردة الموجهة إلى منفذ الوجهة المحدد أو نطاق المنفذ على " +"هذا المضيف" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:316 +msgid "Match mark" +msgstr "علامة المطابقة" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:326 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:446 +msgid "Match traffic using the specified connection tracking helper." +msgstr "تطابق حركة المرور باستخدام مساعد تتبع الاتصال المحدد." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:319 +msgid "Matches a specific firewall mark or a range of different marks." +msgstr "يتطابق مع علامة جدار حماية معينة أو نطاق من العلامات المختلفة." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:332 +msgid "Matches forwarded traffic using the specified outbound network device." +msgstr "يطابق حركة المرور المعاد توجيهها باستخدام جهاز الشبكة الصادرة المحدد." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:264 +msgid "Matches traffic carrying the specified DSCP marking." +msgstr "يطابق حركة المرور التي تحمل علامة DSCP المحددة." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:113 +msgid "Max Entries" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:172 +msgid "Max Length" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:384 +msgid "" +"Maximum initial number of packets to match: this number gets recharged by " +"one every time the limit specified above is not reached, up to this number." +msgstr "" +"الحد الأقصى لعدد الحزم التي يجب مطابقتها: يتم إعادة شحن هذا الرقم بواحدة في " +"كل مرة لا يتم فيها الوصول إلى الحد المحدد أعلاه ، حتى هذا الرقم." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:481 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:354 +msgid "Monday" +msgstr "الإثنين" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:491 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:364 +msgid "Month Days" +msgstr "أيام الشهر" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:175 +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:44 +msgid "NAT Rules" +msgstr "قواعد NAT" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:173 +msgid "" +"NAT rules allow fine grained control over the source IP to use for outbound " +"or forwarded traffic." +msgstr "" +"تسمح قواعد NAT بالتحكم الدقيق في عنوان IP المصدر لاستخدامه في حركة المرور " +"الصادرة أو المُعاد توجيهها." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:183 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:42 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:52 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:210 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:189 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:129 +msgid "Name" +msgstr "اسم" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:166 +msgid "Netmask" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:83 +msgid "None" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:77 +msgid "Not fully compatible with QoS/SQM." +msgstr "غير متوافق تمامًا مع QoS / SQM." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:275 +msgid "Only match incoming traffic directed at the given IP address." +msgstr "تطابق حركة المرور الواردة الموجهة إلى عنوان IP المحدد فقط." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:256 +msgid "Only match incoming traffic from these MACs." +msgstr "تطابق فقط حركة المرور الواردة من أجهزة MAC هذه." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:261 +msgid "Only match incoming traffic from this IP or range." +msgstr "تطابق فقط حركة المرور الواردة من هذا IP أو النطاق." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:266 +msgid "" +"Only match incoming traffic originating from the given source port or port " +"range on the client host" +msgstr "" +"تطابق فقط حركة المرور الواردة الصادرة من منفذ المصدر المحدد أو نطاق المنفذ " +"على مضيف العميل" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:253 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:331 +msgid "Outbound device" +msgstr "جهاز الصادر" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:246 +msgid "Outbound zone" +msgstr "المنطقة الصادرة" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:63 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:152 +msgid "Output" +msgstr "انتاج" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:75 +msgid "Packet Field Match" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:76 +msgid "" +"Packet fields to match upon.
Syntax: direction_datatype. e.g.: " +"src_port, dest_net.
Directions: src, dst. " +"Datatypes: ip, port, mac, net, set.
Direction prefixes are " +"optional.
*Note: datatype set is unsupported in fw4." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:350 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:471 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:343 +msgid "Passes additional arguments to iptables. Use with care!" +msgstr "يمرر الحجج الإضافية إلى iptables. استخدم بعناية!" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:309 +msgid "" +"Passing raw iptables arguments to source and destination traffic " +"classification rules allows to match packets based on other criteria than " +"interfaces or subnets. These options should be used with extreme care as " +"invalid values could render the firewall ruleset broken, completely exposing " +"all services." +msgstr "" +"يسمح تمرير وسيطات iptables الأولية إلى قواعد تصنيف حركة المرور إلى المصدر " +"والوجهة بمطابقة الحزم بناءً على معايير أخرى غير الواجهات أو الشبكات الفرعية. " +"يجب استخدام هذه الخيارات بحذر شديد نظرًا لأن القيم غير الصالحة قد تؤدي إلى " +"كسر مجموعة قواعد جدار الحماية ، مما يؤدي إلى تعريض جميع الخدمات تمامًا." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:188 +msgid "Path to file of CIDRs, subnets, host IPs, etc.
" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:155 +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:26 +msgid "Port Forwards" +msgstr "بوابة التوجيه" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:153 +msgid "" +"Port forwarding allows remote computers on the Internet to connect to a " +"specific computer or service within the private LAN." +msgstr "" +"يسمح إعادة توجيه المنفذ لأجهزة الكمبيوتر البعيدة على الإنترنت بالاتصال " +"بكمبيوتر أو خدمة معينة داخل شبكة LAN الخاصة." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:158 +msgid "Port range" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:237 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:289 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:242 +msgid "Protocol" +msgstr "البروتوكول" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:298 +msgid "" +"Redirect matched incoming traffic to the given port on the internal host" +msgstr "" +"إعادة توجيه حركة المرور الواردة المتطابقة إلى المنفذ المحدد على المضيف " +"الداخلي" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:293 +msgid "Redirect matched incoming traffic to the specified internal host" +msgstr "إعادة توجيه حركة المرور الواردة المتطابقة إلى المضيف الداخلي المحدد" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:122 +msgid "Refer To External Set" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:320 +msgid "Reflection zones" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:85 +msgid "Requires hardware NAT support." +msgstr "يتطلب دعم NAT للأجهزة." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:272 +msgid "Restrict Masquerading to given destination subnets" +msgstr "قصر التنكر على الشبكات الفرعية للوجهة المحددة" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:261 +msgid "Restrict Masquerading to given source subnets" +msgstr "قصر التنكر على الشبكات الفرعية للمصدر المحدد" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:188 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:277 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:216 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:255 +msgid "Restrict to address family" +msgstr "تقييد لمعالجة الأسرة" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:297 +msgid "Rewrite IP address" +msgstr "أعد كتابة عنوان IP" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:298 +msgid "Rewrite matched traffic to the specified source IP address." +msgstr "أعد كتابة حركة المرور المتطابقة إلى عنوان IP المصدر المحدد." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:312 +msgid "Rewrite matched traffic to the specified source port or port range." +msgstr "أعد كتابة حركة المرور المتطابقة إلى منفذ المصدر المحدد أو نطاق المنفذ." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:311 +msgid "Rewrite port" +msgstr "أعد كتابة المنفذ" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:76 +msgid "Routing/NAT Offloading" +msgstr "التوجيه / تفريغ NAT" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:290 +msgid "SNAT - Rewrite to specific source IP or port" +msgstr "SNAT - إعادة الكتابة إلى عنوان IP أو منفذ معين" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:486 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:359 +msgid "Saturday" +msgstr "السبت" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:316 +msgid "Set mark" +msgstr "وضع علامة" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:318 +msgid "" +"Set the given mark value on established connections. Format is value[/mask]. " +"If a mask is specified then only those bits set in the mask are modified." +msgstr "" +"قم بتعيين قيمة العلامة المحددة على الاتصالات القائمة. التنسيق هو القيمة [/ " +"القناع]. إذا تم تحديد قناع ، فسيتم تعديل وحدات البت المحددة في القناع فقط." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:84 +msgid "Software based offloading for routing/NAT." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:84 +msgid "Software flow offloading" +msgstr "تفريغ تدفق البرنامج" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:260 +msgid "Source IP address" +msgstr "عنوان IP المصدر" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:255 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:386 +msgid "Source MAC address" +msgstr "عنوان MAC المصدر" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:387 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:253 +msgid "Source address" +msgstr "عنوان المصدر" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:265 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:389 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:261 +msgid "Source port" +msgstr "منفذ المصدر" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:241 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:372 +msgid "Source zone" +msgstr "منطقة المصدر" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:270 +msgid "" +"Specifies whether to tie this traffic rule to a specific inbound or outbound " +"network device." +msgstr "" +"يحدد ما إذا كان سيتم ربط قاعدة حركة المرور هذه بجهاز شبكة محدد وارد أو صادر." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:311 +msgid "" +"Specifies whether to use the external or the internal IP address for " +"reflected traffic." +msgstr "" +"يحدد ما إذا كان سيتم استخدام عنوان IP الخارجي أو الداخلي لحركة المرور " +"المنعكسة." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:510 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:383 +msgid "Start Date (yyyy-mm-dd)" +msgstr "تاريخ البدء (yyyy-mm-dd)" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:502 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:375 +msgid "Start Time (hh:mm:ss)" +msgstr "وقت البدء (hh:mm:ss)" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:514 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:387 +msgid "Stop Date (yyyy-mm-dd)" +msgstr "تاريخ التوقف (yyyy-mm-dd)" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:506 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:379 +msgid "Stop Time (hh:mm:ss)" +msgstr "وقت التوقف (hh:mm:ss)" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:130 +msgid "Storage Method" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:480 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:353 +msgid "Sunday" +msgstr "الأحد" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:694 +msgid "" +"The existing firewall configuration needs to be changed for LuCI to function " +"properly." +msgstr "يجب تغيير تكوين جدار الحماية الحالي لكي يعمل LuCI بشكل صحيح." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:39 +msgid "" +"The firewall creates zones over your network interfaces to control network " +"traffic flow." +msgstr "" +"يقوم جدار الحماية بإنشاء مناطق عبر واجهات الشبكة للتحكم في تدفق حركة مرور " +"الشبكة." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:227 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:340 +msgid "" +"The options below control the forwarding policies between this zone (%s) and " +"other zones. Destination zones cover forwarded traffic " +"originating from %q. Source zones match forwarded " +"traffic from other zones targeted at %q. The forwarding " +"rule is unidirectional, e.g. a forward from lan to wan does " +"not imply a permission to forward from wan to lan as well." +msgstr "" +"تتحكم الخيارات أدناه في سياسات إعادة التوجيه بين هذه المنطقة (%s) والمناطق " +"الأخرى. تغطي مناطق الوجهة حركة المرور المعاد توجيهها " +"الناشئة عن %q. تتطابق مناطق المصدر مع حركة المرور " +"المعاد توجيهها من المناطق الأخرى المستهدفة بنسبة %q. قاعدة " +"إعادة التوجيه أحادية الاتجاه، على سبيل المثال، لا يعني " +"التقدم من الشبكة المحلية إلى الشبكة المحلية إذنًا بإعادة التوجيه من الشبكة " +"المحلية إلى الشبكة المحلية أيضًا." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:125 +msgid "" +"This section defines common properties of %q. The input and " +"output options set the default policies for traffic entering and " +"leaving this zone while the forward option describes the policy for " +"forwarded traffic between different networks within the zone. Covered " +"networks specifies which available networks are members of this zone." +msgstr "" +"يحدد هذا القسم الخصائص العامة ل q%. يعين خياري الإدخال و " +"الإخراج السياسات الافتراضية لحركة المرور التي تدخل وتغادر هذه المنطقة " +"بينما يصف خيار إعادة التوجيه سياسة حركة المرور المعاد توجيهها بين " +"الشبكات المختلفة داخل المنطقة. تحدد الشبكات المغطاة الشبكات " +"المتاحة الأعضاء في هذه المنطقة." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:484 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:357 +msgid "Thursday" +msgstr "الخميس" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:184 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:183 +msgid "Time Restrictions" +msgstr "قيود الوقت" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:518 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:391 +msgid "Time in UTC" +msgstr "الوقت بالتوقيت العالمي المنسق" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:244 +msgid "Time restrictions are enabled for this rule" +msgstr "تم تمكين قيود الوقت لهذه القاعدة" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:196 +msgid "Timeout" +msgstr "نفذ الوقت" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:77 +msgid "" +"To %{dest}%{dest_device?, interface %{dest_device}}%{dest_ip?, IP " +"%{dest_ip#%{next?, }%{item.ival}
}}%{dest_port?, port %{dest_port#%{next?, }" +"%{item." +"ival}
}}" +msgstr "" +"إلى%{dest}%{ dest_device?, interface %{dest_device}}%{ dest_ip?، " +"IP %{ dest_ip#%{ next?, }%{ item.ival}}} %{ dest_port?, port " +"%{ dest_port#%{ next?, }%{ item.ival}}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:55 +msgid "" +"To %{dest}%{dest_device?, via interface %{dest_device}}%{dest_ip?, IP %{dest_ip#%{next?, }%{item.ival}}}%{dest_port?, port " +"%{dest_port#%{next?, }%{item.ival}}}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:61 +msgid "" +"To %{dest}%{dest_ip?, IP %{dest_ip#%{next?, }%{item.ival}}}%{dest_port?, port %{dest_port#%{next?, }%{item.ival}}}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:439 +msgid "Tracking helper" +msgstr "مساعد التتبع" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:176 +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:35 +msgid "Traffic Rules" +msgstr "قواعد المرور" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:174 +msgid "" +"Traffic rules define policies for packets travelling between different " +"zones, for example to reject traffic between certain hosts or to open WAN " +"ports on the router." +msgstr "" +"تحدد قواعد المرور سياسات الحزم التي تنتقل بين مناطق مختلفة ، على سبيل المثال " +"لرفض حركة المرور بين مضيفين معينين أو لفتح منافذ WAN على جهاز التوجيه." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:482 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:355 +msgid "Tuesday" +msgstr "الثلاثاء" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/custom.js:19 +msgid "Unable to save contents: %s" +msgstr "تعذر حفظ المحتويات: %s" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:197 +msgid "" +"Unit: seconds. Default 0 means the entry is added permanently " +"to the set.
Max: 2147483 seconds." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:341 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:461 +msgid "Unknown or not installed conntrack helper \"%s\"" +msgstr "مساعد conntrack غير معروف أو غير مثبت \" %s\"" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:186 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:190 +msgid "Unnamed NAT" +msgstr "NAT بدون اسم" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:169 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:184 +msgid "Unnamed forward" +msgstr "تقدم بدون إسم" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:191 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:211 +msgid "Unnamed rule" +msgstr "قاعدة بدون اسم" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:57 +msgid "Unnamed set" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:130 +msgid "Unnamed zone" +msgstr "منطقة بدون اسم" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:597 +msgid "Unrecognized protocol" +msgstr "بروتوكول غير معروف" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:695 +msgid "" +"Upon pressing \"Continue\", \"redirect\" sections with target \"SNAT\" will " +"be converted to \"nat\" sections and the firewall will be restarted to apply " +"the updated configuration." +msgstr "" +"عند الضغط على \"متابعة\" ، سيتم تحويل أقسام \"إعادة التوجيه\" ذات الهدف " +"\"SNAT\" إلى أقسام \"nat\" وسيتم إعادة تشغيل جدار الحماية لتطبيق التكوين " +"المحدث." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:315 +msgid "Use external IP address" +msgstr "استخدم عنوان IP خارجي" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:314 +msgid "Use internal IP address" +msgstr "استخدم عنوان IP الداخلي" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:247 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:378 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:322 +msgid "Use ipset" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:231 +msgid "" +"Use this option to classify zone traffic by raw, non-uci managed " +"network devices." +msgstr "" +"استخدم هذا الخيار لتصنيف حركة مرور المنطقة عن طريق أجهزة الشبكة الأولية غير " +" uci ." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:236 +msgid "" +"Use this option to classify zone traffic by source or destination subnet " +"instead of networks or devices." +msgstr "" +"استخدم هذا الخيار لتصنيف حركة مرور المنطقة حسب المصدر أو الشبكة الفرعية " +"الوجهة بدلاً من الشبكات أو الأجهزة." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:331 +msgid "Valid firewall mark required" +msgstr "مطلوب علامة صالحة لجدار الحماية" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:483 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:356 +msgid "Wednesday" +msgstr "الأربعاء" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:475 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:348 +msgid "Week Days" +msgstr "أيام الأسبوع" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:420 +msgid "XOR firewall mark" +msgstr "علامة جدار الحماية XOR" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:316 +msgid "XOR mark" +msgstr "علامة XOR" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:28 +msgid "Your device does not run firewall4." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:26 +msgid "Your device runs firewall4." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:143 +msgid "Zone ⇒ Forwardings" +msgstr "المنطقة=> تَوجِيه" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:101 +msgid "Zones" +msgstr "المناطق" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:320 +msgid "" +"Zones from which reflection rules shall be created. If unset, only the " +"destination zone is used." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:415 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:70 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:159 +msgid "accept" +msgstr "قبول" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:268 +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:463 +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:486 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:270 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:301 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:328 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:392 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:407 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:441 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:448 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:266 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:282 +msgid "any" +msgstr "أي" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:53 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:86 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:65 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:78 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:46 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:56 +msgid "any zone" +msgstr "أي منطقة" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:298 +msgid "any/all" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:419 +msgid "apply firewall mark" +msgstr "تطبيق علامة جدار الحماية" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:418 +msgid "assign conntrack helper" +msgstr "تعيين مساعد conntrack" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:194 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:222 +msgid "automatic" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:131 +msgid "bitmap" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:137 +msgid "bitmap is ipv4 only" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:72 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:89 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:67 +msgid "day" +msgstr "يوم" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:93 +msgid "dest_ip: Destination IP" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:95 +msgid "dest_mac: Destination MAC addr" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:96 +msgid "dest_net: Destination (sub)net" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:94 +msgid "dest_port: Destination Port" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:98 +msgid "dest_set: Destination ipset*" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:315 +msgid "do not rewrite" +msgstr "لا تعيد الكتابة" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:417 +msgid "don't track" +msgstr "لا تتبع" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:414 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:69 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:158 +msgid "drop" +msgstr "إبعاد" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:21 +msgid "" +"firewall4 supports referencing and creating IP sets to simplify matching of " +"large address lists without the need to create one rule per item to match. " +"Port ranges in ipsets are unsupported by firewall4.
" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:159 +msgid "fromport-toport" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:132 +msgid "hash" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:72 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:89 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:67 +msgid "hour" +msgstr "ساعة" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:81 +msgid "ip: IP addr" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:153 +msgid "ip[/cidr]
" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:145 +msgid "ip[/cidr]
For use with Match datatypes: *_ip." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:70 +msgid "ipv4" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:133 +msgid "list" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:83 +msgid "mac: MAC addr" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:108 +msgid "macaddr|ip[/cidr]
" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:72 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:89 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:67 +msgid "minute" +msgstr "دقيقة" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:84 +msgid "net: (sub)net" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:82 +msgid "port: Port" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:416 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:68 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:157 +msgid "reject" +msgstr "رفض" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:72 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:89 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:67 +msgid "second" +msgstr "ثانية" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:86 +msgid "set: ipset*" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:92 +msgid "src_Set: Source ipset*" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:87 +msgid "src_ip: Source IP" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:89 +msgid "src_mac: Source MAC addr" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:90 +msgid "src_net: Source (sub)net" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:88 +msgid "src_port: Source Port" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:53 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:62 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:86 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:65 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:78 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:56 +msgid "this device" +msgstr "هذا الجهاز" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:124 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:226 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:339 +msgid "this new zone" +msgstr "هذه المنطقة الجديدة" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:354 +msgid "unlimited" +msgstr "غير محدود" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:251 +msgid "unspecified" +msgstr "غير محدد" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:114 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:173 +msgid "up to 65536 entries." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:339 +msgid "valid firewall mark" +msgstr "علامة جدار حماية صالحة" + +#~ msgid "Software based offloading for routing/NAT" +#~ msgstr "برنامج التفريغ القائم على التوجيه / NAT" + +#~ msgid "" +#~ "Forwarded IPv4%{proto?, protocol %{proto#%{next?, }%{item.name}}}%{mark?, mark %{mark." +#~ "val}}" +#~ msgstr "" +#~ "Forwarded IPv4%{proto?, protocol %{proto#%{next?, }%{item.name}}}%{mark?, mark %{mark." +#~ "val}}" + +#, fuzzy +#~ msgid "" +#~ "Incoming IPv4%{proto?, protocol %{proto#%{next?, }%{item.types?%{item.name}ICMP with types %{item.types#%{next?, }%{item}}:%{item.name}}}}%{mark?, mark %{mark.val}}%{helper?, helper %{helper.inv?%{helper.val}:%{helper.val}" +#~ "}}" +#~ msgstr "" +#~ "Incoming IPv4%{proto?, protocol %{proto#%{next?, }%{item.types?%{item.name}ICMP with types %{item.types#%{next?, }%{item}}:%{item.name}}}}%{mark?, mark %{mark.val}}%{helper?, helper %{helper.inv?%{helper.val}:%{helper.val}" +#~ "}}" diff --git a/luci-app-firewall/po/bg/firewall.po b/luci-app-firewall/po/bg/firewall.po new file mode 100644 index 000000000..cf10f4dfd --- /dev/null +++ b/luci-app-firewall/po/bg/firewall.po @@ -0,0 +1,1445 @@ +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2010-03-30 17:00+0200\n" +"PO-Revision-Date: 2024-10-17 17:10+0000\n" +"Last-Translator: Boyan Alexiev \n" +"Language-Team: Bulgarian \n" +"Language: bg\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Generator: Weblate 5.8-rc\n" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:48 +#, fuzzy +msgid "" +"%{src?%{dest?Forwarded:Incoming}:Outgoing} %{ipv6?%{ipv4?IPv4 and " +"IPv6:IPv6}:IPv4}%{proto?, protocol " +"%{proto#%{next?, }%{item.types?%{item." +"name}ICMP with types %{item.types#%{next?, }" +"%{item}}:%{item.name}}}}%{mark?, mark " +"%{mark.val}}%{dscp?, DSCP %{dscp." +"inv?%{dscp.val}:%{dscp.val}}}%{helper?, helper " +"%{helper.inv?%{helper.val}:%{helper." +"val}}}" +msgstr "" +"%{src?%{dest?Forwarded:Incoming}:Изходящ} %{ipv6?%{ipv4?IPv4 and " +"IPv6:IPv6}:IPv4}%{proto?, protocol " +"%{proto#%{next?, }%{item.types?%{item." +"name}ICMP с типове %{item.types#%{next?, }" +"%{item}}:%{item.name}}}}%{mark?, mark " +"%{mark.val}}%{dscp?, DSCP %{dscp." +"inv?%{dscp.val}:%{dscp.val}}}%{helper?, helper " +"%{helper.inv?%{helper.val}:%{helper.val}}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:463 +msgid "-- add IP --" +msgstr "-- добави IP --" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:521 +msgid "-- add MAC --" +msgstr "-- добави MAC --" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:199 +msgid "0" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:182 +msgid "1024" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:118 +msgid "" +"Accept %{src?%{dest?forward:input}:output}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:93 +msgid "Prevent source rewrite" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:85 +msgid "" +"Forward to %{dest}%{dest_ip? IP " +"%{dest_ip}}%{dest_port? port %{dest_port}}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:115 +msgid "" +"Drop %{src?%{dest?forward:input}:output}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:133 +msgid "" +"Assign DSCP classification %{set_dscp}" +"" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:127 +msgid "" +"Assign conntrack helper " +"%{set_helper}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:130 +msgid "" +"%{set_mark?Assign:XOR} firewall mark " +"%{set_mark?:%{set_xmark}}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:90 +msgid "Automatically rewrite source IP" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:124 +msgid "" +"Do not track %{src?%{dest?forward:input}:" +"output}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:121 +msgid "" +"Reject %{src?%{dest?forward:input}:output}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:87 +msgid "" +"Statically rewrite to source %{snat_ip?IP " +"%{snat_ip}} %{snat_port?port %{snat_port}}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:306 +msgid "A rewrite IP must be specified!" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:292 +msgid "ACCEPT - Disable address rewriting" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:224 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:225 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:411 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:204 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:287 +msgid "Action" +msgstr "Действие" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:322 +msgid "" +"Additional raw iptables arguments to classify zone destination " +"traffic, e.g. -p tcp --dport 443 to only match outbound HTTPS " +"traffic." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:312 +msgid "" +"Additional raw iptables arguments to classify zone source traffic, " +"e.g. -p tcp --sport 443 to only match inbound HTTPS traffic." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:107 +msgid "Address family, Internal IP address must match" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:135 +msgid "" +"Address family, source address, destination address, rewrite IP address must " +"match" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:162 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:183 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:182 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:114 +msgid "Advanced Settings" +msgstr "Разширени настройки" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:283 +msgid "Allow \"invalid\" traffic" +msgstr "Разрешаване на \"невалиден\" трафик" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:385 +msgid "Allow forward from source zones:" +msgstr "Разрешаване на препращане от изходящи зони :" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:344 +msgid "Allow forward to destination zones:" +msgstr "Разрешаване на препращане към дестинационни зони :" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:551 +msgid "Any" +msgstr "Всички" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:479 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:495 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:352 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:368 +msgid "Any day" +msgstr "Всеки ден" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:317 +msgid "" +"Apply a bitwise XOR of the given value and the existing mark value on " +"established connections. Format is value[/mask]. If a mask is specified then " +"those bits set in the mask are zeroed out." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:264 +msgid "Apply the given DSCP class or value to established connections." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:439 +msgid "Assign the specified connection tracking helper to matched traffic." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:286 +msgid "Automatic helper assignment" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:286 +msgid "" +"Automatically assign conntrack helpers based on traffic protocol and port" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:61 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:62 +msgid "Comment" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:115 +msgid "Conntrack Settings" +msgstr "Настройки на Conntrack" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:290 +msgid "Conntrack helpers" +msgstr "Помощници на Conntrack" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/custom.js:16 +msgid "Contents have been saved." +msgstr "Съдържанието е записано." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:700 +msgid "Continue" +msgstr "Продължи" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:204 +msgid "Counters" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:231 +msgid "Covered devices" +msgstr "Обхванати устройства" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:183 +msgid "Covered networks" +msgstr "Обхванати мрежи" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:236 +msgid "Covered subnets" +msgstr "Обхванати подмрежи" + +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:62 +msgid "Custom Rules" +msgstr "Потребителски правила" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/custom.js:26 +msgid "" +"Custom rules allow you to execute arbitrary iptables commands which are not " +"otherwise covered by the firewall framework. The commands are executed after " +"each firewall restart, right after the default ruleset has been loaded." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:421 +msgid "DSCP classification" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:263 +msgid "DSCP mark" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:297 +msgid "DSCP mark required" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:402 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:270 +msgid "Destination address" +msgstr "Адрес на дестинацията" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:404 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:278 +msgid "Destination port" +msgstr "Дестинейшън Порт" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:396 +msgid "Destination zone" +msgstr "Дестинейшън зона" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:269 +msgid "Device name" +msgstr "Име на устройството" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:283 +msgid "" +"Do not install extra rules to reject forwarded traffic with conntrack state " +"invalid. This may be required for complex asymmetric route setups." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:59 +msgid "Drop invalid packets" +msgstr "Изпускане на невалидни пакети" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:232 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:231 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:210 +msgid "Enable" +msgstr "Включване" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:306 +msgid "Enable NAT Loopback" +msgstr "Разрешаване на NAT loopback" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:45 +msgid "Enable SYN-flood protection" +msgstr "Активиране на SYN-flood защита" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:296 +msgid "Enable logging on this zone" +msgstr "Разрешаване на журнал в тази зона" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:168 +msgid "" +"Enable network address and port translation IPv4 (NAT4 or NAPT4) for " +"outbound traffic on this zone. This is typically enabled on the wan " +"zone." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:243 +msgid "" +"Enable network address and port translation IPv6 (NAT6 or NAPT6) for " +"outbound traffic on this zone." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:211 +msgid "Enabled" +msgstr "Позволен" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:205 +msgid "Enables packet and byte count tracking for the set." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:339 +msgid "Expecting: %s" +msgstr "Очакване: %s" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:290 +msgid "Explicitly choses allowed connection tracking helpers for zone traffic" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:274 +msgid "External IP address" +msgstr "Външен IP адрес" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:279 +msgid "External port" +msgstr "Външен порт" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:349 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:470 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:342 +msgid "Extra arguments" +msgstr "Допълнителни аргументи" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:322 +msgid "Extra destination arguments" +msgstr "Допълнителни аргументи за дестинацията" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:116 +msgid "Extra iptables arguments" +msgstr "Допълнителни аргументи на iptables" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:312 +msgid "Extra source arguments" +msgstr "Допълнителни аргументи за източника" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:67 +msgid "Family" +msgstr "" + +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:3 +msgid "Firewall" +msgstr "Защитна стена" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/custom.js:25 +msgid "Firewall - Custom Rules" +msgstr "Защитна стена - Потребителски правила" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:20 +msgid "Firewall - IP sets" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:172 +msgid "Firewall - NAT Rules" +msgstr "Защитна стена - NAT правила" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:152 +msgid "Firewall - Port Forwards" +msgstr "Защитна стена - препращане на портове" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:173 +msgid "Firewall - Traffic Rules" +msgstr "Защитна стена - Трафик правила" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:38 +msgid "Firewall - Zone Settings" +msgstr "Защитна стена - Настройки на зона" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:693 +msgid "Firewall configuration migration" +msgstr "Миграция на конфигурацията на защитната стена" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:82 +msgid "Flow offloading type" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:64 +msgid "Forward" +msgstr "Напред" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:34 +msgid "" +"Forwarded %{ipv6?%{ipv4?IPv4 and IPv6:IPv6}:" +"IPv4}%{proto?, protocol %{proto#%{next?, }%{item.name}}}%{mark?, mark %{mark.val}" +"}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:485 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:358 +msgid "Friday" +msgstr "Петък" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:45 +msgid "" +"From %{src}%{src_device?, interface %{src_device}}%{src_ip?, IP " +"%{src_ip#%{next?, }%{item.ival}}}%{src_port?, port %{src_port#%{next?, }" +"%{item." +"ival}}}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:64 +msgid "" +"From %{src}%{src_device?, interface %{src_device}}%{src_ip?, IP " +"%{src_ip#%{next?, }%{item.ival}}}%{src_port?, port %{src_port#%{next?, }" +"%{item." +"ival}}}%{src_mac?, MAC %{src_mac#%{next?, }%{item.ival}" +"}}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:52 +msgid "" +"From %{src}%{src_ip?, IP %{src_ip#%{next?, }%{item.ival}}}%{src_port?, port %{src_port#%{next?, }%{item.ival}}}%{src_mac?, " +"MAC %{src_mac#%{next?, }%{item.ival}}}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:161 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:182 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:181 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:41 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:113 +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:17 +msgid "General Settings" +msgstr "Общи настройки" + +#: applications/luci-app-firewall/root/usr/share/rpcd/acl.d/luci-app-firewall.json:3 +msgid "Grant access to firewall configuration" +msgstr "Предоставяне на достъп до конфигурацията на защитната стена" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:85 +msgid "Hardware based offloading for routing with/without NAT." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:85 +msgid "Hardware flow offloading" +msgstr "Хардуерно разтоварване на потока" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:144 +msgid "IP (range)" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:32 +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:53 +msgid "IP Sets" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:152 +msgid "IPs/Networks" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:107 +msgid "IPs/Networks/MACs" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:68 +msgid "IPv4" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:191 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:280 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:219 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:256 +msgid "IPv4 and IPv6" +msgstr "IPv4 и IPv6" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:192 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:281 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:220 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:257 +msgid "IPv4 only" +msgstr "Само IPv4" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:69 +msgid "IPv6" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:242 +msgid "IPv6 Masquerading" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:193 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:282 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:221 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:258 +msgid "IPv6 only" +msgstr "Само IPv6" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:252 +msgid "Inbound device" +msgstr "Входящо устройство" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:187 +msgid "Include File" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:40 +msgid "" +"Incoming %{ipv6?%{ipv4?IPv4 and IPv6:IPv6}:" +"IPv4}%{proto?, protocol %{proto#%{next?, }%{item.types?%{item.name}ICMP " +"with types %{item.types#%{next?, }%{item}}:" +"%{item.name}}}}%{mark?, mark %{mark.val}}%{helper?, helper %{helper.inv?%{helper.val}:%{helper.val}}}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:180 +msgid "Initial Hash Size" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:62 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:151 +msgid "Input" +msgstr "Вход" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:292 +msgid "Internal IP address" +msgstr "Вътрешен IP адрес" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:297 +msgid "Internal port" +msgstr "Вътрешен порт" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:287 +msgid "Internal zone" +msgstr "Вътрешна зона" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:153 +msgid "Intra zone forward" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:305 +msgid "Invalid DSCP mark" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:373 +msgid "Invalid limit value" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:47 +msgid "Invalid set name" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:383 +msgid "Limit burst" +msgstr "Бърст лимит" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:299 +msgid "Limit log messages" +msgstr "Ограничаване на съобщенията в журнала" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:349 +msgid "Limit matching" +msgstr "Ограничи съвпадащаите" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:79 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:96 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:74 +msgid "" +"Limit matching to %{limit.num} packets per %{limit.unit}%{limit.burst? burst %{limit.burst}}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:175 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:250 +msgid "Limited masquerading enabled" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:350 +msgid "Limits traffic matching to the specified rate." +msgstr "Ограничава съвпадащия трафик до определената скорост." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:311 +msgid "Loopback source IP" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:291 +msgid "MASQUERADE - Automatically rewrite to outbound interface IP" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:180 +msgid "MSS clamping" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:167 +msgid "Masquerading" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:213 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:214 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:193 +msgid "Match" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:263 +msgid "Match DSCP" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:293 +msgid "Match ICMP type" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:249 +msgid "Match device" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:271 +msgid "Match forwarded traffic directed at the given IP address." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:279 +msgid "" +"Match forwarded traffic directed at the given destination port or port range." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:254 +msgid "Match forwarded traffic from this IP or range." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:262 +msgid "" +"Match forwarded traffic originating from the given source port or port range." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:326 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:446 +msgid "Match helper" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:280 +msgid "" +"Match incoming traffic directed at the given destination port or port range " +"on this host" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:316 +msgid "Match mark" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:326 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:446 +msgid "Match traffic using the specified connection tracking helper." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:319 +msgid "Matches a specific firewall mark or a range of different marks." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:332 +msgid "Matches forwarded traffic using the specified outbound network device." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:264 +msgid "Matches traffic carrying the specified DSCP marking." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:113 +msgid "Max Entries" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:172 +msgid "Max Length" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:384 +msgid "" +"Maximum initial number of packets to match: this number gets recharged by " +"one every time the limit specified above is not reached, up to this number." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:481 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:354 +msgid "Monday" +msgstr "Понеделник" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:491 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:364 +msgid "Month Days" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:175 +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:44 +msgid "NAT Rules" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:173 +msgid "" +"NAT rules allow fine grained control over the source IP to use for outbound " +"or forwarded traffic." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:183 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:42 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:52 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:210 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:189 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:129 +msgid "Name" +msgstr "Име" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:166 +msgid "Netmask" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:83 +msgid "None" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:77 +msgid "Not fully compatible with QoS/SQM." +msgstr "Не е напълно съвместима с QoS/SQM." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:275 +msgid "Only match incoming traffic directed at the given IP address." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:256 +msgid "Only match incoming traffic from these MACs." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:261 +msgid "Only match incoming traffic from this IP or range." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:266 +msgid "" +"Only match incoming traffic originating from the given source port or port " +"range on the client host" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:253 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:331 +msgid "Outbound device" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:246 +msgid "Outbound zone" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:63 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:152 +msgid "Output" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:75 +msgid "Packet Field Match" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:76 +msgid "" +"Packet fields to match upon.
Syntax: direction_datatype. e.g.: " +"src_port, dest_net.
Directions: src, dst. " +"Datatypes: ip, port, mac, net, set.
Direction prefixes are " +"optional.
*Note: datatype set is unsupported in fw4." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:350 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:471 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:343 +msgid "Passes additional arguments to iptables. Use with care!" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:309 +msgid "" +"Passing raw iptables arguments to source and destination traffic " +"classification rules allows to match packets based on other criteria than " +"interfaces or subnets. These options should be used with extreme care as " +"invalid values could render the firewall ruleset broken, completely exposing " +"all services." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:188 +msgid "Path to file of CIDRs, subnets, host IPs, etc.
" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:155 +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:26 +msgid "Port Forwards" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:153 +msgid "" +"Port forwarding allows remote computers on the Internet to connect to a " +"specific computer or service within the private LAN." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:158 +msgid "Port range" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:237 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:289 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:242 +msgid "Protocol" +msgstr "Протокол" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:298 +msgid "" +"Redirect matched incoming traffic to the given port on the internal host" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:293 +msgid "Redirect matched incoming traffic to the specified internal host" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:122 +msgid "Refer To External Set" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:320 +msgid "Reflection zones" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:85 +msgid "Requires hardware NAT support." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:272 +msgid "Restrict Masquerading to given destination subnets" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:261 +msgid "Restrict Masquerading to given source subnets" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:188 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:277 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:216 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:255 +msgid "Restrict to address family" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:297 +msgid "Rewrite IP address" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:298 +msgid "Rewrite matched traffic to the specified source IP address." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:312 +msgid "Rewrite matched traffic to the specified source port or port range." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:311 +msgid "Rewrite port" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:76 +msgid "Routing/NAT Offloading" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:290 +msgid "SNAT - Rewrite to specific source IP or port" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:486 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:359 +msgid "Saturday" +msgstr "Събота" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:316 +msgid "Set mark" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:318 +msgid "" +"Set the given mark value on established connections. Format is value[/mask]. " +"If a mask is specified then only those bits set in the mask are modified." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:84 +msgid "Software based offloading for routing/NAT." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:84 +msgid "Software flow offloading" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:260 +msgid "Source IP address" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:255 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:386 +msgid "Source MAC address" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:387 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:253 +msgid "Source address" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:265 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:389 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:261 +msgid "Source port" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:241 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:372 +msgid "Source zone" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:270 +msgid "" +"Specifies whether to tie this traffic rule to a specific inbound or outbound " +"network device." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:311 +msgid "" +"Specifies whether to use the external or the internal IP address for " +"reflected traffic." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:510 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:383 +msgid "Start Date (yyyy-mm-dd)" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:502 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:375 +msgid "Start Time (hh:mm:ss)" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:514 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:387 +msgid "Stop Date (yyyy-mm-dd)" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:506 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:379 +msgid "Stop Time (hh:mm:ss)" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:130 +msgid "Storage Method" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:480 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:353 +msgid "Sunday" +msgstr "Неделя" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:694 +msgid "" +"The existing firewall configuration needs to be changed for LuCI to function " +"properly." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:39 +msgid "" +"The firewall creates zones over your network interfaces to control network " +"traffic flow." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:227 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:340 +msgid "" +"The options below control the forwarding policies between this zone (%s) and " +"other zones. Destination zones cover forwarded traffic " +"originating from %q. Source zones match forwarded " +"traffic from other zones targeted at %q. The forwarding " +"rule is unidirectional, e.g. a forward from lan to wan does " +"not imply a permission to forward from wan to lan as well." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:125 +msgid "" +"This section defines common properties of %q. The input and " +"output options set the default policies for traffic entering and " +"leaving this zone while the forward option describes the policy for " +"forwarded traffic between different networks within the zone. Covered " +"networks specifies which available networks are members of this zone." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:484 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:357 +msgid "Thursday" +msgstr "Четвъртък" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:184 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:183 +msgid "Time Restrictions" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:518 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:391 +msgid "Time in UTC" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:244 +msgid "Time restrictions are enabled for this rule" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:196 +msgid "Timeout" +msgstr "Таймаут" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:77 +msgid "" +"To %{dest}%{dest_device?, interface %{dest_device}}%{dest_ip?, IP " +"%{dest_ip#%{next?, }%{item.ival}
}}%{dest_port?, port %{dest_port#%{next?, }" +"%{item." +"ival}}}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:55 +msgid "" +"To %{dest}%{dest_device?, via interface %{dest_device}}%{dest_ip?, IP %{dest_ip#%{next?, }%{item.ival}}}%{dest_port?, port " +"%{dest_port#%{next?, }%{item.ival}}}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:61 +msgid "" +"To %{dest}%{dest_ip?, IP %{dest_ip#%{next?, }%{item.ival}}}%{dest_port?, port %{dest_port#%{next?, }%{item.ival}}}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:439 +msgid "Tracking helper" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:176 +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:35 +msgid "Traffic Rules" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:174 +msgid "" +"Traffic rules define policies for packets travelling between different " +"zones, for example to reject traffic between certain hosts or to open WAN " +"ports on the router." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:482 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:355 +msgid "Tuesday" +msgstr "Вторник" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/custom.js:19 +msgid "Unable to save contents: %s" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:197 +msgid "" +"Unit: seconds. Default 0 means the entry is added permanently " +"to the set.
Max: 2147483 seconds." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:341 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:461 +msgid "Unknown or not installed conntrack helper \"%s\"" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:186 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:190 +msgid "Unnamed NAT" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:169 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:184 +msgid "Unnamed forward" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:191 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:211 +msgid "Unnamed rule" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:57 +msgid "Unnamed set" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:130 +msgid "Unnamed zone" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:597 +msgid "Unrecognized protocol" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:695 +msgid "" +"Upon pressing \"Continue\", \"redirect\" sections with target \"SNAT\" will " +"be converted to \"nat\" sections and the firewall will be restarted to apply " +"the updated configuration." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:315 +msgid "Use external IP address" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:314 +msgid "Use internal IP address" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:247 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:378 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:322 +msgid "Use ipset" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:231 +msgid "" +"Use this option to classify zone traffic by raw, non-uci managed " +"network devices." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:236 +msgid "" +"Use this option to classify zone traffic by source or destination subnet " +"instead of networks or devices." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:331 +msgid "Valid firewall mark required" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:483 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:356 +msgid "Wednesday" +msgstr "Сряда" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:475 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:348 +msgid "Week Days" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:420 +msgid "XOR firewall mark" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:316 +msgid "XOR mark" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:28 +msgid "Your device does not run firewall4." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:26 +msgid "Your device runs firewall4." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:143 +msgid "Zone ⇒ Forwardings" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:101 +msgid "Zones" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:320 +msgid "" +"Zones from which reflection rules shall be created. If unset, only the " +"destination zone is used." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:415 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:70 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:159 +msgid "accept" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:268 +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:463 +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:486 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:270 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:301 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:328 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:392 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:407 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:441 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:448 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:266 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:282 +msgid "any" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:53 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:86 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:65 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:78 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:46 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:56 +msgid "any zone" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:298 +msgid "any/all" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:419 +msgid "apply firewall mark" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:418 +msgid "assign conntrack helper" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:194 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:222 +msgid "automatic" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:131 +msgid "bitmap" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:137 +msgid "bitmap is ipv4 only" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:72 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:89 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:67 +msgid "day" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:93 +msgid "dest_ip: Destination IP" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:95 +msgid "dest_mac: Destination MAC addr" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:96 +msgid "dest_net: Destination (sub)net" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:94 +msgid "dest_port: Destination Port" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:98 +msgid "dest_set: Destination ipset*" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:315 +msgid "do not rewrite" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:417 +msgid "don't track" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:414 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:69 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:158 +msgid "drop" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:21 +msgid "" +"firewall4 supports referencing and creating IP sets to simplify matching of " +"large address lists without the need to create one rule per item to match. " +"Port ranges in ipsets are unsupported by firewall4.
" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:159 +msgid "fromport-toport" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:132 +msgid "hash" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:72 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:89 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:67 +msgid "hour" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:81 +msgid "ip: IP addr" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:153 +msgid "ip[/cidr]
" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:145 +msgid "ip[/cidr]
For use with Match datatypes: *_ip." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:70 +msgid "ipv4" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:133 +msgid "list" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:83 +msgid "mac: MAC addr" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:108 +msgid "macaddr|ip[/cidr]
" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:72 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:89 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:67 +msgid "minute" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:84 +msgid "net: (sub)net" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:82 +msgid "port: Port" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:416 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:68 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:157 +msgid "reject" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:72 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:89 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:67 +msgid "second" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:86 +msgid "set: ipset*" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:92 +msgid "src_Set: Source ipset*" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:87 +msgid "src_ip: Source IP" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:89 +msgid "src_mac: Source MAC addr" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:90 +msgid "src_net: Source (sub)net" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:88 +msgid "src_port: Source Port" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:53 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:62 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:86 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:65 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:78 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:56 +msgid "this device" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:124 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:226 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:339 +msgid "this new zone" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:354 +msgid "unlimited" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:251 +msgid "unspecified" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:114 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:173 +msgid "up to 65536 entries." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:339 +msgid "valid firewall mark" +msgstr "" diff --git a/luci-app-firewall/po/bn_BD/firewall.po b/luci-app-firewall/po/bn_BD/firewall.po new file mode 100644 index 000000000..62d8e12bc --- /dev/null +++ b/luci-app-firewall/po/bn_BD/firewall.po @@ -0,0 +1,1431 @@ +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2010-03-30 17:00+0200\n" +"PO-Revision-Date: 2021-10-08 18:54+0000\n" +"Last-Translator: Rayhan Nabi \n" +"Language-Team: Bengali (Bangladesh) \n" +"Language: bn_BD\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Generator: Weblate 4.9-dev\n" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:48 +msgid "" +"%{src?%{dest?Forwarded:Incoming}:Outgoing} %{ipv6?%{ipv4?IPv4 and " +"IPv6:IPv6}:IPv4}%{proto?, protocol " +"%{proto#%{next?, }%{item.types?%{item." +"name}ICMP with types %{item.types#%{next?, }" +"%{item}}:%{item.name}}}}%{mark?, mark " +"%{mark.val}}%{dscp?, DSCP %{dscp." +"inv?%{dscp.val}:%{dscp.val}}}%{helper?, helper " +"%{helper.inv?%{helper.val}:%{helper." +"val}}}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:463 +msgid "-- add IP --" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:521 +msgid "-- add MAC --" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:199 +msgid "0" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:182 +msgid "1024" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:118 +msgid "" +"Accept %{src?%{dest?forward:input}:output}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:93 +msgid "Prevent source rewrite" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:85 +msgid "" +"Forward to %{dest}%{dest_ip? IP " +"%{dest_ip}}%{dest_port? port %{dest_port}}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:115 +msgid "" +"Drop %{src?%{dest?forward:input}:output}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:133 +msgid "" +"Assign DSCP classification %{set_dscp}" +"" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:127 +msgid "" +"Assign conntrack helper " +"%{set_helper}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:130 +msgid "" +"%{set_mark?Assign:XOR} firewall mark " +"%{set_mark?:%{set_xmark}}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:90 +msgid "Automatically rewrite source IP" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:124 +msgid "" +"Do not track %{src?%{dest?forward:input}:" +"output}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:121 +msgid "" +"Reject %{src?%{dest?forward:input}:output}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:87 +msgid "" +"Statically rewrite to source %{snat_ip?IP " +"%{snat_ip}} %{snat_port?port %{snat_port}}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:306 +msgid "A rewrite IP must be specified!" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:292 +msgid "ACCEPT - Disable address rewriting" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:224 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:225 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:411 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:204 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:287 +msgid "Action" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:322 +msgid "" +"Additional raw iptables arguments to classify zone destination " +"traffic, e.g. -p tcp --dport 443 to only match outbound HTTPS " +"traffic." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:312 +msgid "" +"Additional raw iptables arguments to classify zone source traffic, " +"e.g. -p tcp --sport 443 to only match inbound HTTPS traffic." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:107 +msgid "Address family, Internal IP address must match" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:135 +msgid "" +"Address family, source address, destination address, rewrite IP address must " +"match" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:162 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:183 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:182 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:114 +msgid "Advanced Settings" +msgstr "উন্নত সেটিংস" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:283 +msgid "Allow \"invalid\" traffic" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:385 +msgid "Allow forward from source zones:" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:344 +msgid "Allow forward to destination zones:" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:551 +msgid "Any" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:479 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:495 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:352 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:368 +msgid "Any day" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:317 +msgid "" +"Apply a bitwise XOR of the given value and the existing mark value on " +"established connections. Format is value[/mask]. If a mask is specified then " +"those bits set in the mask are zeroed out." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:264 +msgid "Apply the given DSCP class or value to established connections." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:439 +msgid "Assign the specified connection tracking helper to matched traffic." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:286 +msgid "Automatic helper assignment" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:286 +msgid "" +"Automatically assign conntrack helpers based on traffic protocol and port" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:61 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:62 +msgid "Comment" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:115 +msgid "Conntrack Settings" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:290 +msgid "Conntrack helpers" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/custom.js:16 +msgid "Contents have been saved." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:700 +msgid "Continue" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:204 +msgid "Counters" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:231 +msgid "Covered devices" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:183 +msgid "Covered networks" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:236 +msgid "Covered subnets" +msgstr "" + +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:62 +msgid "Custom Rules" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/custom.js:26 +msgid "" +"Custom rules allow you to execute arbitrary iptables commands which are not " +"otherwise covered by the firewall framework. The commands are executed after " +"each firewall restart, right after the default ruleset has been loaded." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:421 +msgid "DSCP classification" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:263 +msgid "DSCP mark" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:297 +msgid "DSCP mark required" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:402 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:270 +msgid "Destination address" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:404 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:278 +msgid "Destination port" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:396 +msgid "Destination zone" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:269 +msgid "Device name" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:283 +msgid "" +"Do not install extra rules to reject forwarded traffic with conntrack state " +"invalid. This may be required for complex asymmetric route setups." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:59 +msgid "Drop invalid packets" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:232 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:231 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:210 +msgid "Enable" +msgstr "সক্রিয় করুন" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:306 +msgid "Enable NAT Loopback" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:45 +msgid "Enable SYN-flood protection" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:296 +msgid "Enable logging on this zone" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:168 +msgid "" +"Enable network address and port translation IPv4 (NAT4 or NAPT4) for " +"outbound traffic on this zone. This is typically enabled on the wan " +"zone." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:243 +msgid "" +"Enable network address and port translation IPv6 (NAT6 or NAPT6) for " +"outbound traffic on this zone." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:211 +msgid "Enabled" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:205 +msgid "Enables packet and byte count tracking for the set." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:339 +msgid "Expecting: %s" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:290 +msgid "Explicitly choses allowed connection tracking helpers for zone traffic" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:274 +msgid "External IP address" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:279 +msgid "External port" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:349 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:470 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:342 +msgid "Extra arguments" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:322 +msgid "Extra destination arguments" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:116 +msgid "Extra iptables arguments" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:312 +msgid "Extra source arguments" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:67 +msgid "Family" +msgstr "" + +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:3 +msgid "Firewall" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/custom.js:25 +msgid "Firewall - Custom Rules" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:20 +msgid "Firewall - IP sets" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:172 +msgid "Firewall - NAT Rules" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:152 +msgid "Firewall - Port Forwards" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:173 +msgid "Firewall - Traffic Rules" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:38 +msgid "Firewall - Zone Settings" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:693 +msgid "Firewall configuration migration" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:82 +msgid "Flow offloading type" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:64 +msgid "Forward" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:34 +msgid "" +"Forwarded %{ipv6?%{ipv4?IPv4 and IPv6:IPv6}:" +"IPv4}%{proto?, protocol %{proto#%{next?, }%{item.name}}}%{mark?, mark %{mark.val}" +"}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:485 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:358 +msgid "Friday" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:45 +msgid "" +"From %{src}%{src_device?, interface %{src_device}}%{src_ip?, IP " +"%{src_ip#%{next?, }%{item.ival}}}%{src_port?, port %{src_port#%{next?, }" +"%{item." +"ival}}}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:64 +msgid "" +"From %{src}%{src_device?, interface %{src_device}}%{src_ip?, IP " +"%{src_ip#%{next?, }%{item.ival}}}%{src_port?, port %{src_port#%{next?, }" +"%{item." +"ival}}}%{src_mac?, MAC %{src_mac#%{next?, }%{item.ival}" +"}}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:52 +msgid "" +"From %{src}%{src_ip?, IP %{src_ip#%{next?, }%{item.ival}}}%{src_port?, port %{src_port#%{next?, }%{item.ival}}}%{src_mac?, " +"MAC %{src_mac#%{next?, }%{item.ival}}}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:161 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:182 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:181 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:41 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:113 +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:17 +msgid "General Settings" +msgstr "সাধারণ সেটিংস" + +#: applications/luci-app-firewall/root/usr/share/rpcd/acl.d/luci-app-firewall.json:3 +msgid "Grant access to firewall configuration" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:85 +msgid "Hardware based offloading for routing with/without NAT." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:85 +msgid "Hardware flow offloading" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:144 +msgid "IP (range)" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:32 +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:53 +msgid "IP Sets" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:152 +msgid "IPs/Networks" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:107 +msgid "IPs/Networks/MACs" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:68 +msgid "IPv4" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:191 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:280 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:219 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:256 +msgid "IPv4 and IPv6" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:192 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:281 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:220 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:257 +msgid "IPv4 only" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:69 +msgid "IPv6" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:242 +msgid "IPv6 Masquerading" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:193 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:282 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:221 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:258 +msgid "IPv6 only" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:252 +msgid "Inbound device" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:187 +msgid "Include File" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:40 +msgid "" +"Incoming %{ipv6?%{ipv4?IPv4 and IPv6:IPv6}:" +"IPv4}%{proto?, protocol %{proto#%{next?, }%{item.types?%{item.name}ICMP " +"with types %{item.types#%{next?, }%{item}}:" +"%{item.name}}}}%{mark?, mark %{mark.val}}%{helper?, helper %{helper.inv?%{helper.val}:%{helper.val}}}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:180 +msgid "Initial Hash Size" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:62 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:151 +msgid "Input" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:292 +msgid "Internal IP address" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:297 +msgid "Internal port" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:287 +msgid "Internal zone" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:153 +msgid "Intra zone forward" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:305 +msgid "Invalid DSCP mark" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:373 +msgid "Invalid limit value" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:47 +msgid "Invalid set name" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:383 +msgid "Limit burst" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:299 +msgid "Limit log messages" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:349 +msgid "Limit matching" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:79 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:96 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:74 +msgid "" +"Limit matching to %{limit.num} packets per %{limit.unit}%{limit.burst? burst %{limit.burst}}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:175 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:250 +msgid "Limited masquerading enabled" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:350 +msgid "Limits traffic matching to the specified rate." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:311 +msgid "Loopback source IP" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:291 +msgid "MASQUERADE - Automatically rewrite to outbound interface IP" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:180 +msgid "MSS clamping" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:167 +msgid "Masquerading" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:213 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:214 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:193 +msgid "Match" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:263 +msgid "Match DSCP" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:293 +msgid "Match ICMP type" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:249 +msgid "Match device" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:271 +msgid "Match forwarded traffic directed at the given IP address." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:279 +msgid "" +"Match forwarded traffic directed at the given destination port or port range." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:254 +msgid "Match forwarded traffic from this IP or range." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:262 +msgid "" +"Match forwarded traffic originating from the given source port or port range." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:326 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:446 +msgid "Match helper" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:280 +msgid "" +"Match incoming traffic directed at the given destination port or port range " +"on this host" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:316 +msgid "Match mark" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:326 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:446 +msgid "Match traffic using the specified connection tracking helper." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:319 +msgid "Matches a specific firewall mark or a range of different marks." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:332 +msgid "Matches forwarded traffic using the specified outbound network device." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:264 +msgid "Matches traffic carrying the specified DSCP marking." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:113 +msgid "Max Entries" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:172 +msgid "Max Length" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:384 +msgid "" +"Maximum initial number of packets to match: this number gets recharged by " +"one every time the limit specified above is not reached, up to this number." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:481 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:354 +msgid "Monday" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:491 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:364 +msgid "Month Days" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:175 +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:44 +msgid "NAT Rules" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:173 +msgid "" +"NAT rules allow fine grained control over the source IP to use for outbound " +"or forwarded traffic." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:183 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:42 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:52 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:210 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:189 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:129 +msgid "Name" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:166 +msgid "Netmask" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:83 +msgid "None" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:77 +msgid "Not fully compatible with QoS/SQM." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:275 +msgid "Only match incoming traffic directed at the given IP address." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:256 +msgid "Only match incoming traffic from these MACs." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:261 +msgid "Only match incoming traffic from this IP or range." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:266 +msgid "" +"Only match incoming traffic originating from the given source port or port " +"range on the client host" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:253 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:331 +msgid "Outbound device" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:246 +msgid "Outbound zone" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:63 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:152 +msgid "Output" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:75 +msgid "Packet Field Match" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:76 +msgid "" +"Packet fields to match upon.
Syntax: direction_datatype. e.g.: " +"src_port, dest_net.
Directions: src, dst. " +"Datatypes: ip, port, mac, net, set.
Direction prefixes are " +"optional.
*Note: datatype set is unsupported in fw4." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:350 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:471 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:343 +msgid "Passes additional arguments to iptables. Use with care!" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:309 +msgid "" +"Passing raw iptables arguments to source and destination traffic " +"classification rules allows to match packets based on other criteria than " +"interfaces or subnets. These options should be used with extreme care as " +"invalid values could render the firewall ruleset broken, completely exposing " +"all services." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:188 +msgid "Path to file of CIDRs, subnets, host IPs, etc.
" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:155 +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:26 +msgid "Port Forwards" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:153 +msgid "" +"Port forwarding allows remote computers on the Internet to connect to a " +"specific computer or service within the private LAN." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:158 +msgid "Port range" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:237 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:289 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:242 +msgid "Protocol" +msgstr "প্রোটোকল" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:298 +msgid "" +"Redirect matched incoming traffic to the given port on the internal host" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:293 +msgid "Redirect matched incoming traffic to the specified internal host" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:122 +msgid "Refer To External Set" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:320 +msgid "Reflection zones" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:85 +msgid "Requires hardware NAT support." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:272 +msgid "Restrict Masquerading to given destination subnets" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:261 +msgid "Restrict Masquerading to given source subnets" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:188 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:277 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:216 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:255 +msgid "Restrict to address family" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:297 +msgid "Rewrite IP address" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:298 +msgid "Rewrite matched traffic to the specified source IP address." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:312 +msgid "Rewrite matched traffic to the specified source port or port range." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:311 +msgid "Rewrite port" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:76 +msgid "Routing/NAT Offloading" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:290 +msgid "SNAT - Rewrite to specific source IP or port" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:486 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:359 +msgid "Saturday" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:316 +msgid "Set mark" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:318 +msgid "" +"Set the given mark value on established connections. Format is value[/mask]. " +"If a mask is specified then only those bits set in the mask are modified." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:84 +msgid "Software based offloading for routing/NAT." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:84 +msgid "Software flow offloading" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:260 +msgid "Source IP address" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:255 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:386 +msgid "Source MAC address" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:387 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:253 +msgid "Source address" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:265 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:389 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:261 +msgid "Source port" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:241 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:372 +msgid "Source zone" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:270 +msgid "" +"Specifies whether to tie this traffic rule to a specific inbound or outbound " +"network device." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:311 +msgid "" +"Specifies whether to use the external or the internal IP address for " +"reflected traffic." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:510 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:383 +msgid "Start Date (yyyy-mm-dd)" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:502 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:375 +msgid "Start Time (hh:mm:ss)" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:514 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:387 +msgid "Stop Date (yyyy-mm-dd)" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:506 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:379 +msgid "Stop Time (hh:mm:ss)" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:130 +msgid "Storage Method" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:480 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:353 +msgid "Sunday" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:694 +msgid "" +"The existing firewall configuration needs to be changed for LuCI to function " +"properly." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:39 +msgid "" +"The firewall creates zones over your network interfaces to control network " +"traffic flow." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:227 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:340 +msgid "" +"The options below control the forwarding policies between this zone (%s) and " +"other zones. Destination zones cover forwarded traffic " +"originating from %q. Source zones match forwarded " +"traffic from other zones targeted at %q. The forwarding " +"rule is unidirectional, e.g. a forward from lan to wan does " +"not imply a permission to forward from wan to lan as well." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:125 +msgid "" +"This section defines common properties of %q. The input and " +"output options set the default policies for traffic entering and " +"leaving this zone while the forward option describes the policy for " +"forwarded traffic between different networks within the zone. Covered " +"networks specifies which available networks are members of this zone." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:484 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:357 +msgid "Thursday" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:184 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:183 +msgid "Time Restrictions" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:518 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:391 +msgid "Time in UTC" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:244 +msgid "Time restrictions are enabled for this rule" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:196 +msgid "Timeout" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:77 +msgid "" +"To %{dest}%{dest_device?, interface %{dest_device}}%{dest_ip?, IP " +"%{dest_ip#%{next?, }%{item.ival}
}}%{dest_port?, port %{dest_port#%{next?, }" +"%{item." +"ival}}}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:55 +msgid "" +"To %{dest}%{dest_device?, via interface %{dest_device}}%{dest_ip?, IP %{dest_ip#%{next?, }%{item.ival}}}%{dest_port?, port " +"%{dest_port#%{next?, }%{item.ival}}}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:61 +msgid "" +"To %{dest}%{dest_ip?, IP %{dest_ip#%{next?, }%{item.ival}}}%{dest_port?, port %{dest_port#%{next?, }%{item.ival}}}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:439 +msgid "Tracking helper" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:176 +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:35 +msgid "Traffic Rules" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:174 +msgid "" +"Traffic rules define policies for packets travelling between different " +"zones, for example to reject traffic between certain hosts or to open WAN " +"ports on the router." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:482 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:355 +msgid "Tuesday" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/custom.js:19 +msgid "Unable to save contents: %s" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:197 +msgid "" +"Unit: seconds. Default 0 means the entry is added permanently " +"to the set.
Max: 2147483 seconds." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:341 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:461 +msgid "Unknown or not installed conntrack helper \"%s\"" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:186 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:190 +msgid "Unnamed NAT" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:169 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:184 +msgid "Unnamed forward" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:191 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:211 +msgid "Unnamed rule" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:57 +msgid "Unnamed set" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:130 +msgid "Unnamed zone" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:597 +msgid "Unrecognized protocol" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:695 +msgid "" +"Upon pressing \"Continue\", \"redirect\" sections with target \"SNAT\" will " +"be converted to \"nat\" sections and the firewall will be restarted to apply " +"the updated configuration." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:315 +msgid "Use external IP address" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:314 +msgid "Use internal IP address" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:247 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:378 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:322 +msgid "Use ipset" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:231 +msgid "" +"Use this option to classify zone traffic by raw, non-uci managed " +"network devices." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:236 +msgid "" +"Use this option to classify zone traffic by source or destination subnet " +"instead of networks or devices." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:331 +msgid "Valid firewall mark required" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:483 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:356 +msgid "Wednesday" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:475 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:348 +msgid "Week Days" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:420 +msgid "XOR firewall mark" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:316 +msgid "XOR mark" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:28 +msgid "Your device does not run firewall4." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:26 +msgid "Your device runs firewall4." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:143 +msgid "Zone ⇒ Forwardings" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:101 +msgid "Zones" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:320 +msgid "" +"Zones from which reflection rules shall be created. If unset, only the " +"destination zone is used." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:415 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:70 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:159 +msgid "accept" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:268 +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:463 +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:486 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:270 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:301 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:328 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:392 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:407 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:441 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:448 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:266 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:282 +msgid "any" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:53 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:86 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:65 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:78 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:46 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:56 +msgid "any zone" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:298 +msgid "any/all" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:419 +msgid "apply firewall mark" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:418 +msgid "assign conntrack helper" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:194 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:222 +msgid "automatic" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:131 +msgid "bitmap" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:137 +msgid "bitmap is ipv4 only" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:72 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:89 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:67 +msgid "day" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:93 +msgid "dest_ip: Destination IP" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:95 +msgid "dest_mac: Destination MAC addr" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:96 +msgid "dest_net: Destination (sub)net" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:94 +msgid "dest_port: Destination Port" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:98 +msgid "dest_set: Destination ipset*" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:315 +msgid "do not rewrite" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:417 +msgid "don't track" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:414 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:69 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:158 +msgid "drop" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:21 +msgid "" +"firewall4 supports referencing and creating IP sets to simplify matching of " +"large address lists without the need to create one rule per item to match. " +"Port ranges in ipsets are unsupported by firewall4.
" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:159 +msgid "fromport-toport" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:132 +msgid "hash" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:72 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:89 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:67 +msgid "hour" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:81 +msgid "ip: IP addr" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:153 +msgid "ip[/cidr]
" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:145 +msgid "ip[/cidr]
For use with Match datatypes: *_ip." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:70 +msgid "ipv4" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:133 +msgid "list" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:83 +msgid "mac: MAC addr" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:108 +msgid "macaddr|ip[/cidr]
" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:72 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:89 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:67 +msgid "minute" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:84 +msgid "net: (sub)net" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:82 +msgid "port: Port" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:416 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:68 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:157 +msgid "reject" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:72 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:89 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:67 +msgid "second" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:86 +msgid "set: ipset*" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:92 +msgid "src_Set: Source ipset*" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:87 +msgid "src_ip: Source IP" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:89 +msgid "src_mac: Source MAC addr" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:90 +msgid "src_net: Source (sub)net" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:88 +msgid "src_port: Source Port" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:53 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:62 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:86 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:65 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:78 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:56 +msgid "this device" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:124 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:226 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:339 +msgid "this new zone" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:354 +msgid "unlimited" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:251 +msgid "unspecified" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:114 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:173 +msgid "up to 65536 entries." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:339 +msgid "valid firewall mark" +msgstr "" diff --git a/luci-app-firewall/po/ca/firewall.po b/luci-app-firewall/po/ca/firewall.po new file mode 100644 index 000000000..2aaab8960 --- /dev/null +++ b/luci-app-firewall/po/ca/firewall.po @@ -0,0 +1,1461 @@ +# luci-fw.pot +# generated from ./applications/luci-fw/luasrc/i18n/luci-fw.en.lua +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2010-03-30 17:00+0200\n" +"PO-Revision-Date: 2024-03-18 11:11+0000\n" +"Last-Translator: \"S. Barj.\" \n" +"Language-Team: Catalan \n" +"Language: ca\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Generator: Weblate 5.5-dev\n" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:48 +msgid "" +"%{src?%{dest?Forwarded:Incoming}:Outgoing} %{ipv6?%{ipv4?IPv4 and " +"IPv6:IPv6}:IPv4}%{proto?, protocol " +"%{proto#%{next?, }%{item.types?%{item." +"name}ICMP with types %{item.types#%{next?, }" +"%{item}}:%{item.name}}}}%{mark?, mark " +"%{mark.val}}%{dscp?, DSCP %{dscp." +"inv?%{dscp.val}:%{dscp.val}}}%{helper?, helper " +"%{helper.inv?%{helper.val}:%{helper." +"val}}}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:463 +msgid "-- add IP --" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:521 +msgid "-- add MAC --" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:199 +msgid "0" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:182 +msgid "1024" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:118 +msgid "" +"Accept %{src?%{dest?forward:input}:output}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:93 +msgid "Prevent source rewrite" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:85 +msgid "" +"Forward to %{dest}%{dest_ip? IP " +"%{dest_ip}}%{dest_port? port %{dest_port}}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:115 +msgid "" +"Drop %{src?%{dest?forward:input}:output}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:133 +msgid "" +"Assign DSCP classification %{set_dscp}" +"" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:127 +msgid "" +"Assign conntrack helper " +"%{set_helper}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:130 +msgid "" +"%{set_mark?Assign:XOR} firewall mark " +"%{set_mark?:%{set_xmark}}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:90 +msgid "Automatically rewrite source IP" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:124 +msgid "" +"Do not track %{src?%{dest?forward:input}:" +"output}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:121 +msgid "" +"Reject %{src?%{dest?forward:input}:output}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:87 +msgid "" +"Statically rewrite to source %{snat_ip?IP " +"%{snat_ip}} %{snat_port?port %{snat_port}}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:306 +msgid "A rewrite IP must be specified!" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:292 +msgid "ACCEPT - Disable address rewriting" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:224 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:225 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:411 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:204 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:287 +msgid "Action" +msgstr "Acció" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:322 +msgid "" +"Additional raw iptables arguments to classify zone destination " +"traffic, e.g. -p tcp --dport 443 to only match outbound HTTPS " +"traffic." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:312 +msgid "" +"Additional raw iptables arguments to classify zone source traffic, " +"e.g. -p tcp --sport 443 to only match inbound HTTPS traffic." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:107 +msgid "Address family, Internal IP address must match" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:135 +msgid "" +"Address family, source address, destination address, rewrite IP address must " +"match" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:162 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:183 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:182 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:114 +msgid "Advanced Settings" +msgstr "Configuració avançada" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:283 +msgid "Allow \"invalid\" traffic" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:385 +msgid "Allow forward from source zones:" +msgstr "Permet el reenviament des dels zones d'origen:" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:344 +msgid "Allow forward to destination zones:" +msgstr "Permet el reenviament als zones de destí:" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:551 +msgid "Any" +msgstr "Qualsevol" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:479 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:495 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:352 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:368 +msgid "Any day" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:317 +msgid "" +"Apply a bitwise XOR of the given value and the existing mark value on " +"established connections. Format is value[/mask]. If a mask is specified then " +"those bits set in the mask are zeroed out." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:264 +msgid "Apply the given DSCP class or value to established connections." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:439 +msgid "Assign the specified connection tracking helper to matched traffic." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:286 +msgid "Automatic helper assignment" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:286 +msgid "" +"Automatically assign conntrack helpers based on traffic protocol and port" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:61 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:62 +msgid "Comment" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:115 +msgid "Conntrack Settings" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:290 +msgid "Conntrack helpers" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/custom.js:16 +msgid "Contents have been saved." +msgstr "S'han desat els continguts." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:700 +msgid "Continue" +msgstr "Continua" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:204 +msgid "Counters" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:231 +msgid "Covered devices" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:183 +msgid "Covered networks" +msgstr "Xarxes cobertes" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:236 +msgid "Covered subnets" +msgstr "" + +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:62 +msgid "Custom Rules" +msgstr "Regles personalitzades" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/custom.js:26 +msgid "" +"Custom rules allow you to execute arbitrary iptables commands which are not " +"otherwise covered by the firewall framework. The commands are executed after " +"each firewall restart, right after the default ruleset has been loaded." +msgstr "" +"Les regles personalitzades us permet executar ordres del iptables arbitraris " +"que la infraestructura de tallafocs no cobreix d'altra manera. Aquests " +"ordres s'executen després de cada reinici de tallafocs, just després el " +"conjunt de regles per defecte s'ha carregat." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:421 +msgid "DSCP classification" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:263 +msgid "DSCP mark" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:297 +msgid "DSCP mark required" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:402 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:270 +msgid "Destination address" +msgstr "Adreça de destí" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:404 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:278 +msgid "Destination port" +msgstr "Port de destí" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:396 +msgid "Destination zone" +msgstr "Zona de destí" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:269 +msgid "Device name" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:283 +msgid "" +"Do not install extra rules to reject forwarded traffic with conntrack state " +"invalid. This may be required for complex asymmetric route setups." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:59 +msgid "Drop invalid packets" +msgstr "Descarta els paquets invàlids" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:232 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:231 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:210 +msgid "Enable" +msgstr "Activa" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:306 +msgid "Enable NAT Loopback" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:45 +msgid "Enable SYN-flood protection" +msgstr "Habilita protecció contra la inundació SYN" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:296 +msgid "Enable logging on this zone" +msgstr "Habilita el registre d'aquesta zona" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:168 +msgid "" +"Enable network address and port translation IPv4 (NAT4 or NAPT4) for " +"outbound traffic on this zone. This is typically enabled on the wan " +"zone." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:243 +msgid "" +"Enable network address and port translation IPv6 (NAT6 or NAPT6) for " +"outbound traffic on this zone." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:211 +msgid "Enabled" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:205 +msgid "Enables packet and byte count tracking for the set." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:339 +msgid "Expecting: %s" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:290 +msgid "Explicitly choses allowed connection tracking helpers for zone traffic" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:274 +msgid "External IP address" +msgstr "Adreça IP extern" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:279 +msgid "External port" +msgstr "Port extern" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:349 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:470 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:342 +msgid "Extra arguments" +msgstr "Paràmetres extres" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:322 +msgid "Extra destination arguments" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:116 +msgid "Extra iptables arguments" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:312 +msgid "Extra source arguments" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:67 +msgid "Family" +msgstr "" + +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:3 +msgid "Firewall" +msgstr "Tallafocs" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/custom.js:25 +msgid "Firewall - Custom Rules" +msgstr "Tallafocs - Regles personalitzades" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:20 +msgid "Firewall - IP sets" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:172 +msgid "Firewall - NAT Rules" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:152 +msgid "Firewall - Port Forwards" +msgstr "Tallafocs - Reenviaments de port" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:173 +msgid "Firewall - Traffic Rules" +msgstr "Tallafocs - Regles de tràfic" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:38 +msgid "Firewall - Zone Settings" +msgstr "Tallafocs - Ajusts de zona" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:693 +msgid "Firewall configuration migration" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:82 +msgid "Flow offloading type" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:64 +msgid "Forward" +msgstr "Reenvia" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:34 +msgid "" +"Forwarded %{ipv6?%{ipv4?IPv4 and IPv6:IPv6}:" +"IPv4}%{proto?, protocol %{proto#%{next?, }%{item.name}}}%{mark?, mark %{mark.val}" +"}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:485 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:358 +msgid "Friday" +msgstr "Divendres" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:45 +msgid "" +"From %{src}%{src_device?, interface %{src_device}}%{src_ip?, IP " +"%{src_ip#%{next?, }%{item.ival}}}%{src_port?, port %{src_port#%{next?, }" +"%{item." +"ival}}}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:64 +msgid "" +"From %{src}%{src_device?, interface %{src_device}}%{src_ip?, IP " +"%{src_ip#%{next?, }%{item.ival}}}%{src_port?, port %{src_port#%{next?, }" +"%{item." +"ival}}}%{src_mac?, MAC %{src_mac#%{next?, }%{item.ival}" +"}}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:52 +msgid "" +"From %{src}%{src_ip?, IP %{src_ip#%{next?, }%{item.ival}}}%{src_port?, port %{src_port#%{next?, }%{item.ival}}}%{src_mac?, " +"MAC %{src_mac#%{next?, }%{item.ival}}}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:161 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:182 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:181 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:41 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:113 +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:17 +msgid "General Settings" +msgstr "Paràmetres generals" + +#: applications/luci-app-firewall/root/usr/share/rpcd/acl.d/luci-app-firewall.json:3 +msgid "Grant access to firewall configuration" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:85 +msgid "Hardware based offloading for routing with/without NAT." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:85 +msgid "Hardware flow offloading" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:144 +msgid "IP (range)" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:32 +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:53 +msgid "IP Sets" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:152 +msgid "IPs/Networks" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:107 +msgid "IPs/Networks/MACs" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:68 +msgid "IPv4" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:191 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:280 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:219 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:256 +msgid "IPv4 and IPv6" +msgstr "IPv4 i IPv6" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:192 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:281 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:220 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:257 +msgid "IPv4 only" +msgstr "Només IPv4" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:69 +msgid "IPv6" +msgstr "IPv6" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:242 +msgid "IPv6 Masquerading" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:193 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:282 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:221 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:258 +msgid "IPv6 only" +msgstr "Només IPv6" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:252 +msgid "Inbound device" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:187 +msgid "Include File" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:40 +msgid "" +"Incoming %{ipv6?%{ipv4?IPv4 and IPv6:IPv6}:" +"IPv4}%{proto?, protocol %{proto#%{next?, }%{item.types?%{item.name}ICMP " +"with types %{item.types#%{next?, }%{item}}:" +"%{item.name}}}}%{mark?, mark %{mark.val}}%{helper?, helper %{helper.inv?%{helper.val}:%{helper.val}}}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:180 +msgid "Initial Hash Size" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:62 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:151 +msgid "Input" +msgstr "Entrada" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:292 +msgid "Internal IP address" +msgstr "Adreça IP interna" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:297 +msgid "Internal port" +msgstr "Port intern" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:287 +msgid "Internal zone" +msgstr "Zona interna" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:153 +msgid "Intra zone forward" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:305 +msgid "Invalid DSCP mark" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:373 +msgid "Invalid limit value" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:47 +msgid "Invalid set name" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:383 +msgid "Limit burst" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:299 +msgid "Limit log messages" +msgstr "Limita els missatges de registre" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:349 +msgid "Limit matching" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:79 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:96 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:74 +msgid "" +"Limit matching to %{limit.num} packets per %{limit.unit}%{limit.burst? burst %{limit.burst}}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:175 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:250 +msgid "Limited masquerading enabled" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:350 +msgid "Limits traffic matching to the specified rate." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:311 +msgid "Loopback source IP" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:291 +msgid "MASQUERADE - Automatically rewrite to outbound interface IP" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:180 +msgid "MSS clamping" +msgstr "Fixació MSS" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:167 +msgid "Masquerading" +msgstr "Mascarada" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:213 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:214 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:193 +msgid "Match" +msgstr "Coincideix" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:263 +msgid "Match DSCP" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:293 +msgid "Match ICMP type" +msgstr "Coincideix amb el tipus ICMP" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:249 +msgid "Match device" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:271 +msgid "Match forwarded traffic directed at the given IP address." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:279 +msgid "" +"Match forwarded traffic directed at the given destination port or port range." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:254 +msgid "Match forwarded traffic from this IP or range." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:262 +msgid "" +"Match forwarded traffic originating from the given source port or port range." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:326 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:446 +msgid "Match helper" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:280 +msgid "" +"Match incoming traffic directed at the given destination port or port range " +"on this host" +msgstr "" +"Coincideix amb trànsit entrant dirigit al port o rang de ports de destí en " +"aquest host donat" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:316 +msgid "Match mark" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:326 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:446 +msgid "Match traffic using the specified connection tracking helper." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:319 +msgid "Matches a specific firewall mark or a range of different marks." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:332 +msgid "Matches forwarded traffic using the specified outbound network device." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:264 +msgid "Matches traffic carrying the specified DSCP marking." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:113 +msgid "Max Entries" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:172 +msgid "Max Length" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:384 +msgid "" +"Maximum initial number of packets to match: this number gets recharged by " +"one every time the limit specified above is not reached, up to this number." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:481 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:354 +msgid "Monday" +msgstr "Dilluns" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:491 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:364 +msgid "Month Days" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:175 +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:44 +msgid "NAT Rules" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:173 +msgid "" +"NAT rules allow fine grained control over the source IP to use for outbound " +"or forwarded traffic." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:183 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:42 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:52 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:210 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:189 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:129 +msgid "Name" +msgstr "Nom" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:166 +msgid "Netmask" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:83 +msgid "None" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:77 +msgid "Not fully compatible with QoS/SQM." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:275 +msgid "Only match incoming traffic directed at the given IP address." +msgstr "Només coincideix amb trànsit entrant dirigit a la adreça IP donada." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:256 +msgid "Only match incoming traffic from these MACs." +msgstr "Només coincideix amb trànsit entrant des d'aquests MAC." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:261 +msgid "Only match incoming traffic from this IP or range." +msgstr "Només coincideix amb trànsit entrant des d'aquest IP o rang." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:266 +msgid "" +"Only match incoming traffic originating from the given source port or port " +"range on the client host" +msgstr "" +"Només coincideix amb trànsit originant en el host client des del port o del " +"rang de ports d'origen donat" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:253 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:331 +msgid "Outbound device" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:246 +msgid "Outbound zone" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:63 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:152 +msgid "Output" +msgstr "Sortida" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:75 +msgid "Packet Field Match" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:76 +msgid "" +"Packet fields to match upon.
Syntax: direction_datatype. e.g.: " +"src_port, dest_net.
Directions: src, dst. " +"Datatypes: ip, port, mac, net, set.
Direction prefixes are " +"optional.
*Note: datatype set is unsupported in fw4." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:350 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:471 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:343 +msgid "Passes additional arguments to iptables. Use with care!" +msgstr "Passa paràmetres addicionals al iptables. Utilitzeu-ho amb cura!" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:309 +msgid "" +"Passing raw iptables arguments to source and destination traffic " +"classification rules allows to match packets based on other criteria than " +"interfaces or subnets. These options should be used with extreme care as " +"invalid values could render the firewall ruleset broken, completely exposing " +"all services." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:188 +msgid "Path to file of CIDRs, subnets, host IPs, etc.
" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:155 +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:26 +msgid "Port Forwards" +msgstr "Reenviaments de port" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:153 +msgid "" +"Port forwarding allows remote computers on the Internet to connect to a " +"specific computer or service within the private LAN." +msgstr "" +"El reenviament de ports permet que els ordinadors remots en el Internet " +"connectin a un ordinador o servei específic dins del LAN privat." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:158 +msgid "Port range" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:237 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:289 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:242 +msgid "Protocol" +msgstr "Protocol" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:298 +msgid "" +"Redirect matched incoming traffic to the given port on the internal host" +msgstr "Redirigeix trànsit entrant coincidit al port donat en el host intern" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:293 +msgid "Redirect matched incoming traffic to the specified internal host" +msgstr "Redirigeix trànsit entrant coincidit al host intern especificat" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:122 +msgid "Refer To External Set" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:320 +msgid "Reflection zones" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:85 +msgid "Requires hardware NAT support." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:272 +msgid "Restrict Masquerading to given destination subnets" +msgstr "Restringeix la mascarada a les subxarxes de destí donades" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:261 +msgid "Restrict Masquerading to given source subnets" +msgstr "Restringeix la mascarada a les subxarxes d'origen donades" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:188 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:277 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:216 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:255 +msgid "Restrict to address family" +msgstr "Restringeix a la família d'adreces" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:297 +msgid "Rewrite IP address" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:298 +msgid "Rewrite matched traffic to the specified source IP address." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:312 +msgid "Rewrite matched traffic to the specified source port or port range." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:311 +msgid "Rewrite port" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:76 +msgid "Routing/NAT Offloading" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:290 +msgid "SNAT - Rewrite to specific source IP or port" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:486 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:359 +msgid "Saturday" +msgstr "Dissabte" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:316 +msgid "Set mark" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:318 +msgid "" +"Set the given mark value on established connections. Format is value[/mask]. " +"If a mask is specified then only those bits set in the mask are modified." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:84 +msgid "Software based offloading for routing/NAT." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:84 +msgid "Software flow offloading" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:260 +msgid "Source IP address" +msgstr "Adreça IP d'origen" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:255 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:386 +msgid "Source MAC address" +msgstr "Adreça MAC d'origen" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:387 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:253 +msgid "Source address" +msgstr "Adreça d'origen" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:265 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:389 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:261 +msgid "Source port" +msgstr "Port d'origen" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:241 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:372 +msgid "Source zone" +msgstr "Zona d'origen" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:270 +msgid "" +"Specifies whether to tie this traffic rule to a specific inbound or outbound " +"network device." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:311 +msgid "" +"Specifies whether to use the external or the internal IP address for " +"reflected traffic." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:510 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:383 +msgid "Start Date (yyyy-mm-dd)" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:502 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:375 +msgid "Start Time (hh:mm:ss)" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:514 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:387 +msgid "Stop Date (yyyy-mm-dd)" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:506 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:379 +msgid "Stop Time (hh:mm:ss)" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:130 +msgid "Storage Method" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:480 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:353 +msgid "Sunday" +msgstr "Diumenge" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:694 +msgid "" +"The existing firewall configuration needs to be changed for LuCI to function " +"properly." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:39 +msgid "" +"The firewall creates zones over your network interfaces to control network " +"traffic flow." +msgstr "" +"El tallafocs crea zones a les teves interfícies de xarxa per controlar el " +"flux de tràfic de xarxa." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:227 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:340 +msgid "" +"The options below control the forwarding policies between this zone (%s) and " +"other zones. Destination zones cover forwarded traffic " +"originating from %q. Source zones match forwarded " +"traffic from other zones targeted at %q. The forwarding " +"rule is unidirectional, e.g. a forward from lan to wan does " +"not imply a permission to forward from wan to lan as well." +msgstr "" +"Les opcions a sota controlen les polítiques de reenviament entre aquesta " +"zona (%s) i altres zones. Zones de destí cobreixen trànsit reenviat " +"originant des de %q. Zones d'origen coincideixen " +"amb trànsit reenviat des de altres zones apuntat a %q. La " +"regla de reenviament es unidirectional, per exemple un reenviament " +"de lan a wan no implica permís per reenviar de wan a lan també." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:125 +#, fuzzy +msgid "" +"This section defines common properties of %q. The input and " +"output options set the default policies for traffic entering and " +"leaving this zone while the forward option describes the policy for " +"forwarded traffic between different networks within the zone. Covered " +"networks specifies which available networks are members of this zone." +msgstr "" +"Aquesta secció defineix propietats comuns de %q. Les opcions entrada i sortida estableixen les polítiques per defecte per a trànsit " +"entrant i sortint aquesta zona mentre l'opció reenvia descriu la " +"política de trànsit reenviat entre xarxes distintes dins de la zona. " +"Xarxes cobertes especifica quines xarxes disponibles són membres " +"d'aquesta zona." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:484 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:357 +msgid "Thursday" +msgstr "Dijous" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:184 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:183 +msgid "Time Restrictions" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:518 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:391 +msgid "Time in UTC" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:244 +msgid "Time restrictions are enabled for this rule" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:196 +msgid "Timeout" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:77 +msgid "" +"To %{dest}%{dest_device?, interface %{dest_device}}%{dest_ip?, IP " +"%{dest_ip#%{next?, }%{item.ival}
}}%{dest_port?, port %{dest_port#%{next?, }" +"%{item." +"ival}}}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:55 +msgid "" +"To %{dest}%{dest_device?, via interface %{dest_device}}%{dest_ip?, IP %{dest_ip#%{next?, }%{item.ival}}}%{dest_port?, port " +"%{dest_port#%{next?, }%{item.ival}}}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:61 +msgid "" +"To %{dest}%{dest_ip?, IP %{dest_ip#%{next?, }%{item.ival}}}%{dest_port?, port %{dest_port#%{next?, }%{item.ival}}}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:439 +msgid "Tracking helper" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:176 +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:35 +msgid "Traffic Rules" +msgstr "Regles de trànsit" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:174 +msgid "" +"Traffic rules define policies for packets travelling between different " +"zones, for example to reject traffic between certain hosts or to open WAN " +"ports on the router." +msgstr "" +"Les regles de trànsit defineixen polítiques per als paquets viatjant entre " +"zones distintes, per exemple per a rebutjar trànsit entre certs hosts o " +"obrir ports WAN en el encaminador." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:482 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:355 +msgid "Tuesday" +msgstr "Dimarts" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/custom.js:19 +msgid "Unable to save contents: %s" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:197 +msgid "" +"Unit: seconds. Default 0 means the entry is added permanently " +"to the set.
Max: 2147483 seconds." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:341 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:461 +msgid "Unknown or not installed conntrack helper \"%s\"" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:186 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:190 +msgid "Unnamed NAT" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:169 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:184 +msgid "Unnamed forward" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:191 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:211 +msgid "Unnamed rule" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:57 +msgid "Unnamed set" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:130 +msgid "Unnamed zone" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:597 +msgid "Unrecognized protocol" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:695 +msgid "" +"Upon pressing \"Continue\", \"redirect\" sections with target \"SNAT\" will " +"be converted to \"nat\" sections and the firewall will be restarted to apply " +"the updated configuration." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:315 +msgid "Use external IP address" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:314 +msgid "Use internal IP address" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:247 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:378 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:322 +msgid "Use ipset" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:231 +msgid "" +"Use this option to classify zone traffic by raw, non-uci managed " +"network devices." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:236 +msgid "" +"Use this option to classify zone traffic by source or destination subnet " +"instead of networks or devices." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:331 +msgid "Valid firewall mark required" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:483 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:356 +msgid "Wednesday" +msgstr "Dimecres" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:475 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:348 +msgid "Week Days" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:420 +msgid "XOR firewall mark" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:316 +msgid "XOR mark" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:28 +msgid "Your device does not run firewall4." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:26 +msgid "Your device runs firewall4." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:143 +msgid "Zone ⇒ Forwardings" +msgstr "Zona ⇒ Reenviaments" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:101 +msgid "Zones" +msgstr "Zones" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:320 +msgid "" +"Zones from which reflection rules shall be created. If unset, only the " +"destination zone is used." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:415 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:70 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:159 +msgid "accept" +msgstr "accepta" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:268 +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:463 +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:486 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:270 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:301 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:328 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:392 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:407 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:441 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:448 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:266 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:282 +msgid "any" +msgstr "qualsevol" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:53 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:86 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:65 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:78 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:46 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:56 +msgid "any zone" +msgstr "qualsevol zona" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:298 +msgid "any/all" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:419 +msgid "apply firewall mark" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:418 +msgid "assign conntrack helper" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:194 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:222 +msgid "automatic" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:131 +msgid "bitmap" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:137 +msgid "bitmap is ipv4 only" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:72 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:89 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:67 +msgid "day" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:93 +msgid "dest_ip: Destination IP" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:95 +msgid "dest_mac: Destination MAC addr" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:96 +msgid "dest_net: Destination (sub)net" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:94 +msgid "dest_port: Destination Port" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:98 +msgid "dest_set: Destination ipset*" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:315 +msgid "do not rewrite" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:417 +msgid "don't track" +msgstr "no rastregis" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:414 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:69 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:158 +msgid "drop" +msgstr "descarta" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:21 +msgid "" +"firewall4 supports referencing and creating IP sets to simplify matching of " +"large address lists without the need to create one rule per item to match. " +"Port ranges in ipsets are unsupported by firewall4.
" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:159 +msgid "fromport-toport" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:132 +msgid "hash" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:72 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:89 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:67 +msgid "hour" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:81 +msgid "ip: IP addr" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:153 +msgid "ip[/cidr]
" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:145 +msgid "ip[/cidr]
For use with Match datatypes: *_ip." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:70 +msgid "ipv4" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:133 +msgid "list" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:83 +msgid "mac: MAC addr" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:108 +msgid "macaddr|ip[/cidr]
" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:72 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:89 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:67 +msgid "minute" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:84 +msgid "net: (sub)net" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:82 +msgid "port: Port" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:416 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:68 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:157 +msgid "reject" +msgstr "rebutja" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:72 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:89 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:67 +msgid "second" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:86 +msgid "set: ipset*" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:92 +msgid "src_Set: Source ipset*" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:87 +msgid "src_ip: Source IP" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:89 +msgid "src_mac: Source MAC addr" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:90 +msgid "src_net: Source (sub)net" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:88 +msgid "src_port: Source Port" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:53 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:62 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:86 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:65 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:78 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:56 +msgid "this device" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:124 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:226 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:339 +msgid "this new zone" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:354 +msgid "unlimited" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:251 +msgid "unspecified" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:114 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:173 +msgid "up to 65536 entries." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:339 +msgid "valid firewall mark" +msgstr "" diff --git a/luci-app-firewall/po/cs/firewall.po b/luci-app-firewall/po/cs/firewall.po new file mode 100644 index 000000000..995bf5614 --- /dev/null +++ b/luci-app-firewall/po/cs/firewall.po @@ -0,0 +1,1488 @@ +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"PO-Revision-Date: 2024-10-22 12:00+0000\n" +"Last-Translator: Ondřej Vajda \n" +"Language-Team: Czech \n" +"Language: cs\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=3; plural=((n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2);\n" +"X-Generator: Weblate 5.8.2-dev\n" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:48 +msgid "" +"%{src?%{dest?Forwarded:Incoming}:Outgoing} %{ipv6?%{ipv4?IPv4 and " +"IPv6:IPv6}:IPv4}%{proto?, protocol " +"%{proto#%{next?, }%{item.types?%{item." +"name}ICMP with types %{item.types#%{next?, }" +"%{item}}:%{item.name}}}}%{mark?, mark " +"%{mark.val}}%{dscp?, DSCP %{dscp." +"inv?%{dscp.val}:%{dscp.val}}}%{helper?, helper " +"%{helper.inv?%{helper.val}:%{helper." +"val}}}" +msgstr "" +"%{src?%{dest?Forwarded:Incoming}:Outgoing} %{ipv6?%{ipv4?IPv4 and " +"IPv6:IPv6}:IPv4}%{proto?, protocol " +"%{proto#%{next?, }%{item.types?%{item." +"name}ICMP s typy %{item.types#%{next?, }" +"%{item}}:%{item.name}}}}%{mark?, mark " +"%{mark.val}}%{dscp?, DSCP " +"%{dscp.inv?%{dscp.val}:%{dscp.val}}}%{helper?, helper " +"%{helper.inv?%{helper.val}:%{helper." +"val}}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:463 +msgid "-- add IP --" +msgstr "-- přidat IP --" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:521 +msgid "-- add MAC --" +msgstr "-- přidat MAC --" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:199 +msgid "0" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:182 +msgid "1024" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:118 +msgid "" +"Accept %{src?%{dest?forward:input}:output}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:93 +msgid "Prevent source rewrite" +msgstr " Zabránit přepsání zdroje" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:85 +msgid "" +"Forward to %{dest}%{dest_ip? IP " +"%{dest_ip}}%{dest_port? port %{dest_port}}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:115 +msgid "" +"Drop %{src?%{dest?forward:input}:output}" +msgstr "" +"Zahodit %{src?%{dest?forward:input}:output}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:133 +msgid "" +"Assign DSCP classification %{set_dscp}" +"" +msgstr "" +"Přiřadit DSCP klasifikaci %{set_dscp}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:127 +msgid "" +"Assign conntrack helper " +"%{set_helper}" +msgstr "" +"Přiřadit conntrack helper " +"%{set_helper}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:130 +msgid "" +"%{set_mark?Assign:XOR} firewall mark " +"%{set_mark?:%{set_xmark}}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:90 +msgid "Automatically rewrite source IP" +msgstr "" +"Automaticky přepsat zdrojovou IP " +"adresu" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:124 +msgid "" +"Do not track %{src?%{dest?forward:input}:" +"output}" +msgstr "" +"Nesledovat %{src?%{dest?forward:input}:" +"output}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:121 +msgid "" +"Reject %{src?%{dest?forward:input}:output}" +msgstr "" +"Odmítnout %{src?%{dest?forward:input}:" +"output}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:87 +msgid "" +"Statically rewrite to source %{snat_ip?IP " +"%{snat_ip}} %{snat_port?port %{snat_port}}" +msgstr "" +"Staticky přepsat na zdroj %{snat_ip?IP " +"%{snat_ip}} %{snat_port?port %{snat_port}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:306 +msgid "A rewrite IP must be specified!" +msgstr "Musí být zadána IP adresa pro přepsání!" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:292 +msgid "ACCEPT - Disable address rewriting" +msgstr "ACCEPT - Zakázat přepis adresy" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:224 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:225 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:411 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:204 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:287 +msgid "Action" +msgstr "Akce" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:322 +msgid "" +"Additional raw iptables arguments to classify zone destination " +"traffic, e.g. -p tcp --dport 443 to only match outbound HTTPS " +"traffic." +msgstr "" +"Další surové argumenty iptables ke klasifikaci provozu do cílové " +"zóny, např. -p tcp --dport 443 pro pouze odchozí provoz HTTPS." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:312 +msgid "" +"Additional raw iptables arguments to classify zone source traffic, " +"e.g. -p tcp --sport 443 to only match inbound HTTPS traffic." +msgstr "" +"Další surové argumenty iptables ke klasifikaci provozu ze zdrojové " +"zóny, např. -p tcp --sport 443 pro pouze příchozí provoz HTTPS." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:107 +msgid "Address family, Internal IP address must match" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:135 +msgid "" +"Address family, source address, destination address, rewrite IP address must " +"match" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:162 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:183 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:182 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:114 +msgid "Advanced Settings" +msgstr "Pokročilá nastavení" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:283 +msgid "Allow \"invalid\" traffic" +msgstr "Povolit \"neplatný\" provoz" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:385 +msgid "Allow forward from source zones:" +msgstr "Povolit přesměrování ze zdrojových oblastí:" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:344 +msgid "Allow forward to destination zones:" +msgstr "Povolit přesměrování do zdrojových oblastí:" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:551 +msgid "Any" +msgstr "Libovolné" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:479 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:495 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:352 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:368 +msgid "Any day" +msgstr "Kterýkoli den" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:317 +msgid "" +"Apply a bitwise XOR of the given value and the existing mark value on " +"established connections. Format is value[/mask]. If a mask is specified then " +"those bits set in the mask are zeroed out." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:264 +msgid "Apply the given DSCP class or value to established connections." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:439 +msgid "Assign the specified connection tracking helper to matched traffic." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:286 +msgid "Automatic helper assignment" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:286 +msgid "" +"Automatically assign conntrack helpers based on traffic protocol and port" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:61 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:62 +msgid "Comment" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:115 +msgid "Conntrack Settings" +msgstr "Nastavení pro Conntrack" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:290 +msgid "Conntrack helpers" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/custom.js:16 +msgid "Contents have been saved." +msgstr "Obsah byl uložen." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:700 +msgid "Continue" +msgstr "Pokračovat" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:204 +msgid "Counters" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:231 +msgid "Covered devices" +msgstr "Pokrytá zařízení" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:183 +msgid "Covered networks" +msgstr "Pokryté sítě" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:236 +msgid "Covered subnets" +msgstr "Pokryté podsítě" + +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:62 +msgid "Custom Rules" +msgstr "Vlastní pravidla" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/custom.js:26 +msgid "" +"Custom rules allow you to execute arbitrary iptables commands which are not " +"otherwise covered by the firewall framework. The commands are executed after " +"each firewall restart, right after the default ruleset has been loaded." +msgstr "" +"Vlastní pravidla vám umožňují spustit libovolné iptables příkazy, které " +"nejsou jinak pokryté frameworkem firewallu. Příkazy jsou spuštěny po každém " +"restartu firewallu, právě po načtení výchozí sady pravidel." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:421 +msgid "DSCP classification" +msgstr "Klasifikace DSCP" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:263 +msgid "DSCP mark" +msgstr "Značka DSCP" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:297 +msgid "DSCP mark required" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:402 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:270 +msgid "Destination address" +msgstr "Cílová adresa" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:404 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:278 +msgid "Destination port" +msgstr "Cílový port" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:396 +msgid "Destination zone" +msgstr "Cílová zóna" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:269 +msgid "Device name" +msgstr "Název zařízení" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:283 +msgid "" +"Do not install extra rules to reject forwarded traffic with conntrack state " +"invalid. This may be required for complex asymmetric route setups." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:59 +msgid "Drop invalid packets" +msgstr "Zahazovat neplatné pakety" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:232 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:231 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:210 +msgid "Enable" +msgstr "Povolit" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:306 +msgid "Enable NAT Loopback" +msgstr "Povolit NAT Loopback" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:45 +msgid "Enable SYN-flood protection" +msgstr "Povolit ochranu proti SYN-flood" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:296 +msgid "Enable logging on this zone" +msgstr "Povolit logování v této oblasti" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:168 +msgid "" +"Enable network address and port translation IPv4 (NAT4 or NAPT4) for " +"outbound traffic on this zone. This is typically enabled on the wan " +"zone." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:243 +msgid "" +"Enable network address and port translation IPv6 (NAT6 or NAPT6) for " +"outbound traffic on this zone." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:211 +msgid "Enabled" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:205 +msgid "Enables packet and byte count tracking for the set." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:339 +msgid "Expecting: %s" +msgstr "Očekáváno: %s" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:290 +msgid "Explicitly choses allowed connection tracking helpers for zone traffic" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:274 +msgid "External IP address" +msgstr "Vnější IP adresa" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:279 +msgid "External port" +msgstr "Vnější port" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:349 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:470 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:342 +msgid "Extra arguments" +msgstr "Další argumenty volání" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:322 +msgid "Extra destination arguments" +msgstr "Další argumenty pro cíl" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:116 +msgid "Extra iptables arguments" +msgstr "Další argumenty pro iptables" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:312 +msgid "Extra source arguments" +msgstr "Další argumenty pro zdroj" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:67 +msgid "Family" +msgstr "" + +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:3 +msgid "Firewall" +msgstr "Brána firewall" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/custom.js:25 +msgid "Firewall - Custom Rules" +msgstr "Firewall - Vlastní pravidla" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:20 +msgid "Firewall - IP sets" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:172 +msgid "Firewall - NAT Rules" +msgstr "Firewall - pravidla NAT" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:152 +msgid "Firewall - Port Forwards" +msgstr "Firewall - Přesměrování portů" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:173 +msgid "Firewall - Traffic Rules" +msgstr "Firewall - Pravidla síťového provozu" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:38 +msgid "Firewall - Zone Settings" +msgstr "Firewall - Nastavení zón" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:693 +msgid "Firewall configuration migration" +msgstr "Migrace konfigurace brány firewall" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:82 +msgid "Flow offloading type" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:64 +msgid "Forward" +msgstr "Přesměrování" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:34 +msgid "" +"Forwarded %{ipv6?%{ipv4?IPv4 and IPv6:IPv6}:" +"IPv4}%{proto?, protocol %{proto#%{next?, }%{item.name}}}%{mark?, mark %{mark.val}" +"}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:485 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:358 +msgid "Friday" +msgstr "pátek" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:45 +msgid "" +"From %{src}%{src_device?, interface %{src_device}}%{src_ip?, IP " +"%{src_ip#%{next?, }%{item.ival}}}%{src_port?, port %{src_port#%{next?, }" +"%{item." +"ival}}}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:64 +msgid "" +"From %{src}%{src_device?, interface %{src_device}}%{src_ip?, IP " +"%{src_ip#%{next?, }%{item.ival}}}%{src_port?, port %{src_port#%{next?, }" +"%{item." +"ival}}}%{src_mac?, MAC %{src_mac#%{next?, }%{item.ival}" +"}}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:52 +msgid "" +"From %{src}%{src_ip?, IP %{src_ip#%{next?, }%{item.ival}}}%{src_port?, port %{src_port#%{next?, }%{item.ival}}}%{src_mac?, " +"MAC %{src_mac#%{next?, }%{item.ival}}}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:161 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:182 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:181 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:41 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:113 +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:17 +msgid "General Settings" +msgstr "Obecná nastavení" + +#: applications/luci-app-firewall/root/usr/share/rpcd/acl.d/luci-app-firewall.json:3 +msgid "Grant access to firewall configuration" +msgstr "Udělit přístup ke konfiguraci brány firewall" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:85 +msgid "Hardware based offloading for routing with/without NAT." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:85 +msgid "Hardware flow offloading" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:144 +msgid "IP (range)" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:32 +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:53 +msgid "IP Sets" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:152 +msgid "IPs/Networks" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:107 +msgid "IPs/Networks/MACs" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:68 +msgid "IPv4" +msgstr "IPv4" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:191 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:280 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:219 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:256 +msgid "IPv4 and IPv6" +msgstr "IPv4 a IPv6" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:192 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:281 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:220 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:257 +msgid "IPv4 only" +msgstr "Pouze IPv4" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:69 +msgid "IPv6" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:242 +msgid "IPv6 Masquerading" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:193 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:282 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:221 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:258 +msgid "IPv6 only" +msgstr "Pouze IPv6" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:252 +msgid "Inbound device" +msgstr "Příchozí zařízení" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:187 +msgid "Include File" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:40 +msgid "" +"Incoming %{ipv6?%{ipv4?IPv4 and IPv6:IPv6}:" +"IPv4}%{proto?, protocol %{proto#%{next?, }%{item.types?%{item.name}ICMP " +"with types %{item.types#%{next?, }%{item}}:" +"%{item.name}}}}%{mark?, mark %{mark.val}}%{helper?, helper %{helper.inv?%{helper.val}:%{helper.val}}}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:180 +msgid "Initial Hash Size" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:62 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:151 +msgid "Input" +msgstr "Vstup" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:292 +msgid "Internal IP address" +msgstr "Vnitřní IP adresa" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:297 +msgid "Internal port" +msgstr "Vnitřní port" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:287 +msgid "Internal zone" +msgstr "Vnitřní zóna" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:153 +msgid "Intra zone forward" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:305 +msgid "Invalid DSCP mark" +msgstr "Neplatná značka DSCP" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:373 +msgid "Invalid limit value" +msgstr "Neplatná hodnota limitu" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:47 +msgid "Invalid set name" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:383 +msgid "Limit burst" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:299 +msgid "Limit log messages" +msgstr "Omezit logovací zprávy" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:349 +msgid "Limit matching" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:79 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:96 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:74 +msgid "" +"Limit matching to %{limit.num} packets per %{limit.unit}%{limit.burst? burst %{limit.burst}}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:175 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:250 +msgid "Limited masquerading enabled" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:350 +msgid "Limits traffic matching to the specified rate." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:311 +msgid "Loopback source IP" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:291 +msgid "MASQUERADE - Automatically rewrite to outbound interface IP" +msgstr "MASQUERADE - Automaticky přepsat na IP adresu odchozího rozhraní" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:180 +msgid "MSS clamping" +msgstr "MSS clamping" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:167 +msgid "Masquerading" +msgstr "Maškárádování" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:213 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:214 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:193 +msgid "Match" +msgstr "Shoda" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:263 +msgid "Match DSCP" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:293 +msgid "Match ICMP type" +msgstr "Odpovídá ICMP typu" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:249 +msgid "Match device" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:271 +msgid "Match forwarded traffic directed at the given IP address." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:279 +msgid "" +"Match forwarded traffic directed at the given destination port or port range." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:254 +msgid "Match forwarded traffic from this IP or range." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:262 +msgid "" +"Match forwarded traffic originating from the given source port or port range." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:326 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:446 +msgid "Match helper" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:280 +msgid "" +"Match incoming traffic directed at the given destination port or port range " +"on this host" +msgstr "" +"Vybrat příchozí provoz, směrovaný na zadaný cílový port nebo rozsah portů " +"tohoto hostitele" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:316 +msgid "Match mark" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:326 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:446 +msgid "Match traffic using the specified connection tracking helper." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:319 +msgid "Matches a specific firewall mark or a range of different marks." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:332 +msgid "Matches forwarded traffic using the specified outbound network device." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:264 +msgid "Matches traffic carrying the specified DSCP marking." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:113 +msgid "Max Entries" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:172 +msgid "Max Length" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:384 +msgid "" +"Maximum initial number of packets to match: this number gets recharged by " +"one every time the limit specified above is not reached, up to this number." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:481 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:354 +msgid "Monday" +msgstr "pondělí" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:491 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:364 +msgid "Month Days" +msgstr "Dny v měsíci" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:175 +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:44 +msgid "NAT Rules" +msgstr "Pravidla NAT" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:173 +msgid "" +"NAT rules allow fine grained control over the source IP to use for outbound " +"or forwarded traffic." +msgstr "" +"Pravidla NAT umožňují jemně odstupňovanou kontrolu nad zdrojovou IP adresou " +"pro odchozí nebo předávaný provoz." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:183 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:42 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:52 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:210 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:189 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:129 +msgid "Name" +msgstr "Jméno" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:166 +msgid "Netmask" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:83 +msgid "None" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:77 +msgid "Not fully compatible with QoS/SQM." +msgstr "Není plně kompatibilní s QoS/SQM." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:275 +msgid "Only match incoming traffic directed at the given IP address." +msgstr "Vybrat pouze příchozí provoz, směrovaný na danou IP adresu." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:256 +msgid "Only match incoming traffic from these MACs." +msgstr "Vybrat pouze příchozí provoz z těchto MAC adres." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:261 +msgid "Only match incoming traffic from this IP or range." +msgstr "Vybrat pouze příchozí provoz z této IP nebo rozsahu IP adres." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:266 +msgid "" +"Only match incoming traffic originating from the given source port or port " +"range on the client host" +msgstr "" +"Vybrat pouze příchozí provoz, pocházející ze zadaného portu nebo rozsahu " +"portů klienta" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:253 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:331 +msgid "Outbound device" +msgstr "Odchozí zařízení" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:246 +msgid "Outbound zone" +msgstr "Odchozí zóna" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:63 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:152 +msgid "Output" +msgstr "Výstup" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:75 +msgid "Packet Field Match" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:76 +msgid "" +"Packet fields to match upon.
Syntax: direction_datatype. e.g.: " +"src_port, dest_net.
Directions: src, dst. " +"Datatypes: ip, port, mac, net, set.
Direction prefixes are " +"optional.
*Note: datatype set is unsupported in fw4." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:350 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:471 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:343 +msgid "Passes additional arguments to iptables. Use with care!" +msgstr "Předává další argumenty iptables. Používat opatrně!" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:309 +msgid "" +"Passing raw iptables arguments to source and destination traffic " +"classification rules allows to match packets based on other criteria than " +"interfaces or subnets. These options should be used with extreme care as " +"invalid values could render the firewall ruleset broken, completely exposing " +"all services." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:188 +msgid "Path to file of CIDRs, subnets, host IPs, etc.
" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:155 +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:26 +msgid "Port Forwards" +msgstr "Přesměrování portů" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:153 +msgid "" +"Port forwarding allows remote computers on the Internet to connect to a " +"specific computer or service within the private LAN." +msgstr "" +"Přesměrování portů (port forwarding) umožňuje vzdáleným počítačům z " +"Internetu připojení k vybraným počítačům nebo službám uvnitř privátní sítě " +"LAN." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:158 +msgid "Port range" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:237 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:289 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:242 +msgid "Protocol" +msgstr "Protokol" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:298 +msgid "" +"Redirect matched incoming traffic to the given port on the internal host" +msgstr "" +"Přesměrovat vybraný příchozí provoz na uvedený port vnitřního hostitele" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:293 +msgid "Redirect matched incoming traffic to the specified internal host" +msgstr "Přesměrovat vybraný příchozí provoz na uvedeného vnitřního hostitele" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:122 +msgid "Refer To External Set" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:320 +msgid "Reflection zones" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:85 +msgid "Requires hardware NAT support." +msgstr "Vyžaduje hardwarovou podporu NAT." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:272 +msgid "Restrict Masquerading to given destination subnets" +msgstr "Omezit maškarádování na uvedené cílové podsítě" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:261 +msgid "Restrict Masquerading to given source subnets" +msgstr "Omezit maškarádování na uvedené zdrojové podsítě" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:188 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:277 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:216 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:255 +msgid "Restrict to address family" +msgstr "Omezit na rodinu adres" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:297 +msgid "Rewrite IP address" +msgstr "Přepsat IP adresu" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:298 +msgid "Rewrite matched traffic to the specified source IP address." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:312 +msgid "Rewrite matched traffic to the specified source port or port range." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:311 +msgid "Rewrite port" +msgstr "Přepsat port" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:76 +msgid "Routing/NAT Offloading" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:290 +msgid "SNAT - Rewrite to specific source IP or port" +msgstr "SNAT - Přepsat na konkrétní zdrojovou IP adresu nebo port" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:486 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:359 +msgid "Saturday" +msgstr "sobota" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:316 +msgid "Set mark" +msgstr "Nastavit značku" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:318 +msgid "" +"Set the given mark value on established connections. Format is value[/mask]. " +"If a mask is specified then only those bits set in the mask are modified." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:84 +msgid "Software based offloading for routing/NAT." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:84 +msgid "Software flow offloading" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:260 +msgid "Source IP address" +msgstr "Zdrojová IP adresa" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:255 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:386 +msgid "Source MAC address" +msgstr "Zdrojová MAC adresa" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:387 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:253 +msgid "Source address" +msgstr "Zdrojová adresa" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:265 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:389 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:261 +msgid "Source port" +msgstr "Zdrojový port" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:241 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:372 +msgid "Source zone" +msgstr "Zdrojová zóna" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:270 +msgid "" +"Specifies whether to tie this traffic rule to a specific inbound or outbound " +"network device." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:311 +msgid "" +"Specifies whether to use the external or the internal IP address for " +"reflected traffic." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:510 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:383 +msgid "Start Date (yyyy-mm-dd)" +msgstr "Datum zahájení (rrrr-mm-dd)" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:502 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:375 +msgid "Start Time (hh:mm:ss)" +msgstr "Čas zahájení (hh:mm:ss)" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:514 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:387 +msgid "Stop Date (yyyy-mm-dd)" +msgstr "Datum ukončení (rrrr-mm-dd)" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:506 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:379 +msgid "Stop Time (hh:mm:ss)" +msgstr "Čas ukončení (hh:mm:ss)" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:130 +msgid "Storage Method" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:480 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:353 +msgid "Sunday" +msgstr "neděle" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:694 +msgid "" +"The existing firewall configuration needs to be changed for LuCI to function " +"properly." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:39 +msgid "" +"The firewall creates zones over your network interfaces to control network " +"traffic flow." +msgstr "" +"Firewall vytváří zóny přes vaše síťová rozhraní za účelem řízení síťového " +"provozu." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:227 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:340 +msgid "" +"The options below control the forwarding policies between this zone (%s) and " +"other zones. Destination zones cover forwarded traffic " +"originating from %q. Source zones match forwarded " +"traffic from other zones targeted at %q. The forwarding " +"rule is unidirectional, e.g. a forward from lan to wan does " +"not imply a permission to forward from wan to lan as well." +msgstr "" +"Níže uvedené možnosti řídí přesměrovací politiky mezi touto zónou (%s) a " +"ostatními zónami. Cílové zóny pokrývají přesměrovávaný provoz, " +"pocházející z %q. Zdrojové zóny porovnávají " +"přesměrovávaný provoz z ostatních zón, zaměřený na %q. " +"Přesměrovávací pravidlo je jednosměrné, například přesměrování z " +"lan do wan nepovoluje přesměrování z wan do lan (a naopak)." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:125 +msgid "" +"This section defines common properties of %q. The input and " +"output options set the default policies for traffic entering and " +"leaving this zone while the forward option describes the policy for " +"forwarded traffic between different networks within the zone. Covered " +"networks specifies which available networks are members of this zone." +msgstr "" +"Tato sekce definuje běžné možnosti %q. Vstupní a výstupní " +"možnosti nastavují výchozí politiky pro provoz, vstupující do této zóny a " +"vystupující z ní, zatímco přesměrovací možnosti popisují politiku " +"pro přesměrování provozu mezi rozdílnými sítěmi uvnitř jedné zóny. " +"Pokryté sítě určuje, které z dostupných sítí jsou členy této zóny." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:484 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:357 +msgid "Thursday" +msgstr "čtvrtek" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:184 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:183 +msgid "Time Restrictions" +msgstr "Časová omezení" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:518 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:391 +msgid "Time in UTC" +msgstr "Čas v UTC" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:244 +msgid "Time restrictions are enabled for this rule" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:196 +msgid "Timeout" +msgstr "Časový limit" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:77 +msgid "" +"To %{dest}%{dest_device?, interface %{dest_device}}%{dest_ip?, IP " +"%{dest_ip#%{next?, }%{item.ival}
}}%{dest_port?, port %{dest_port#%{next?, }" +"%{item." +"ival}}}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:55 +msgid "" +"To %{dest}%{dest_device?, via interface %{dest_device}}%{dest_ip?, IP %{dest_ip#%{next?, }%{item.ival}}}%{dest_port?, port " +"%{dest_port#%{next?, }%{item.ival}}}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:61 +msgid "" +"To %{dest}%{dest_ip?, IP %{dest_ip#%{next?, }%{item.ival}}}%{dest_port?, port %{dest_port#%{next?, }%{item.ival}}}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:439 +msgid "Tracking helper" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:176 +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:35 +msgid "Traffic Rules" +msgstr "Pravidla síťového provozu" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:174 +msgid "" +"Traffic rules define policies for packets travelling between different " +"zones, for example to reject traffic between certain hosts or to open WAN " +"ports on the router." +msgstr "" +"Pravidla síťového provozu definují politiky pro cestování paketů mezi " +"různými zónami, například pro odmítnutí provozu mezi jistými hostiteli nebo " +"pro otevření WAN portů na routeru." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:482 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:355 +msgid "Tuesday" +msgstr "úterý" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/custom.js:19 +msgid "Unable to save contents: %s" +msgstr "Nelze uložit obsah: %s" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:197 +msgid "" +"Unit: seconds. Default 0 means the entry is added permanently " +"to the set.
Max: 2147483 seconds." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:341 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:461 +msgid "Unknown or not installed conntrack helper \"%s\"" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:186 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:190 +msgid "Unnamed NAT" +msgstr "Nejmenovaný NAT" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:169 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:184 +msgid "Unnamed forward" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:191 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:211 +msgid "Unnamed rule" +msgstr "Nepojmenované pravidlo" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:57 +msgid "Unnamed set" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:130 +msgid "Unnamed zone" +msgstr "Nepojmenovaná zóna" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:597 +msgid "Unrecognized protocol" +msgstr "Nerozpoznaný protokol" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:695 +msgid "" +"Upon pressing \"Continue\", \"redirect\" sections with target \"SNAT\" will " +"be converted to \"nat\" sections and the firewall will be restarted to apply " +"the updated configuration." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:315 +msgid "Use external IP address" +msgstr "Použít vnější IP adresu" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:314 +msgid "Use internal IP address" +msgstr "Použít vnitřní IP adresu" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:247 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:378 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:322 +msgid "Use ipset" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:231 +msgid "" +"Use this option to classify zone traffic by raw, non-uci managed " +"network devices." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:236 +msgid "" +"Use this option to classify zone traffic by source or destination subnet " +"instead of networks or devices." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:331 +msgid "Valid firewall mark required" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:483 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:356 +msgid "Wednesday" +msgstr "středa" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:475 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:348 +msgid "Week Days" +msgstr "Dny v týdnu" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:420 +msgid "XOR firewall mark" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:316 +msgid "XOR mark" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:28 +msgid "Your device does not run firewall4." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:26 +msgid "Your device runs firewall4." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:143 +msgid "Zone ⇒ Forwardings" +msgstr "Zóna ⇒ Přesměrování" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:101 +msgid "Zones" +msgstr "Zóny" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:320 +msgid "" +"Zones from which reflection rules shall be created. If unset, only the " +"destination zone is used." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:415 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:70 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:159 +msgid "accept" +msgstr "přijmout" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:268 +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:463 +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:486 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:270 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:301 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:328 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:392 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:407 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:441 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:448 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:266 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:282 +msgid "any" +msgstr "libovolný" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:53 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:86 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:65 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:78 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:46 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:56 +msgid "any zone" +msgstr "libovolná zóna" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:298 +msgid "any/all" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:419 +msgid "apply firewall mark" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:418 +msgid "assign conntrack helper" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:194 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:222 +msgid "automatic" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:131 +msgid "bitmap" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:137 +msgid "bitmap is ipv4 only" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:72 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:89 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:67 +msgid "day" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:93 +msgid "dest_ip: Destination IP" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:95 +msgid "dest_mac: Destination MAC addr" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:96 +msgid "dest_net: Destination (sub)net" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:94 +msgid "dest_port: Destination Port" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:98 +msgid "dest_set: Destination ipset*" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:315 +msgid "do not rewrite" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:417 +msgid "don't track" +msgstr "nesledovat" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:414 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:69 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:158 +msgid "drop" +msgstr "zahodit" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:21 +msgid "" +"firewall4 supports referencing and creating IP sets to simplify matching of " +"large address lists without the need to create one rule per item to match. " +"Port ranges in ipsets are unsupported by firewall4.
" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:159 +msgid "fromport-toport" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:132 +msgid "hash" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:72 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:89 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:67 +msgid "hour" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:81 +msgid "ip: IP addr" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:153 +msgid "ip[/cidr]
" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:145 +msgid "ip[/cidr]
For use with Match datatypes: *_ip." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:70 +msgid "ipv4" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:133 +msgid "list" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:83 +msgid "mac: MAC addr" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:108 +msgid "macaddr|ip[/cidr]
" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:72 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:89 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:67 +msgid "minute" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:84 +msgid "net: (sub)net" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:82 +msgid "port: Port" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:416 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:68 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:157 +msgid "reject" +msgstr "odmítnout" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:72 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:89 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:67 +msgid "second" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:86 +msgid "set: ipset*" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:92 +msgid "src_Set: Source ipset*" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:87 +msgid "src_ip: Source IP" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:89 +msgid "src_mac: Source MAC addr" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:90 +msgid "src_net: Source (sub)net" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:88 +msgid "src_port: Source Port" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:53 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:62 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:86 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:65 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:78 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:56 +msgid "this device" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:124 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:226 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:339 +msgid "this new zone" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:354 +msgid "unlimited" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:251 +msgid "unspecified" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:114 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:173 +msgid "up to 65536 entries." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:339 +msgid "valid firewall mark" +msgstr "" diff --git a/luci-app-firewall/po/da/firewall.po b/luci-app-firewall/po/da/firewall.po new file mode 100644 index 000000000..933c035fa --- /dev/null +++ b/luci-app-firewall/po/da/firewall.po @@ -0,0 +1,1651 @@ +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2010-03-30 17:00+0200\n" +"PO-Revision-Date: 2024-01-25 02:53+0000\n" +"Last-Translator: drax red \n" +"Language-Team: Danish \n" +"Language: da\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Generator: Weblate 5.4-dev\n" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:48 +msgid "" +"%{src?%{dest?Forwarded:Incoming}:Outgoing} %{ipv6?%{ipv4?IPv4 and " +"IPv6:IPv6}:IPv4}%{proto?, protocol " +"%{proto#%{next?, }%{item.types?%{item." +"name}ICMP with types %{item.types#%{next?, }" +"%{item}}:%{item.name}}}}%{mark?, mark " +"%{mark.val}}%{dscp?, DSCP %{dscp." +"inv?%{dscp.val}:%{dscp.val}}}%{helper?, helper " +"%{helper.inv?%{helper.val}:%{helper." +"val}}}" +msgstr "" +"%{src?%{dest?Videresend:Incoming}:Outgoing} %{ipv6?%{ipv4?IPv4 og " +"IPv6:IPv6}:IPv4}%{proto?, protokol " +"%{proto#%{next?, }%{item.types?%{item." +"name}ICMP med typer %{item.types#%{next?, }" +"%{item}}:%{item.name}}}}%{mark?, mark " +"%{mark.val}}%{dscp?, DSCP " +"%{dscp.inv?%{dscp.val}:%{dscp.val}}}%{helper?, " +"helper %{helper.inv?%{helper.val}:%{helper.val}}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:463 +msgid "-- add IP --" +msgstr "-- tilføj IP --" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:521 +msgid "-- add MAC --" +msgstr "-- tilføj MAC --" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:199 +msgid "0" +msgstr "0" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:182 +msgid "1024" +msgstr "1024" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:118 +msgid "" +"Accept %{src?%{dest?forward:input}:output}" +msgstr "" +"Accept %{src?%{dest?videresend:input}:" +"output}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:93 +msgid "Prevent source rewrite" +msgstr "Forhindrer kildeomskrivning" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:85 +msgid "" +"Forward to %{dest}%{dest_ip? IP " +"%{dest_ip}}%{dest_port? port %{dest_port}}" +msgstr "" +"Videresend til%{dest}%{dest_ip? IP " +"%{dest_ip}}%{dest_port? port %{dest_port}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:115 +msgid "" +"Drop %{src?%{dest?forward:input}:output}" +msgstr "" +"Drop %{src?%{dest?videresend:input}:output}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:133 +msgid "" +"Assign DSCP classification %{set_dscp}" +"" +msgstr "" +"Tildel DSCP klassifikation %{set_dscp}" +"" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:127 +msgid "" +"Assign conntrack helper " +"%{set_helper}" +msgstr "" +"Tildel forbindelse hjælper " +"%{set_helper}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:130 +msgid "" +"%{set_mark?Assign:XOR} firewall mark " +"%{set_mark?:%{set_xmark}}" +msgstr "" +"%{set_mark?Assign:XOR} firewall mærke " +"%{set_mark?:%{set_xmark}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:90 +msgid "Automatically rewrite source IP" +msgstr "Omskriv automatisk kilde IP" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:124 +msgid "" +"Do not track %{src?%{dest?forward:input}:" +"output}" +msgstr "" +"Spor ikke %{src?%{dest?videresend:input}:" +"output}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:121 +msgid "" +"Reject %{src?%{dest?forward:input}:output}" +msgstr "" +"Afvis %{src?%{dest?videresend:input}:" +"output}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:87 +msgid "" +"Statically rewrite to source %{snat_ip?IP " +"%{snat_ip}} %{snat_port?port %{snat_port}}" +msgstr "" +"Statisk omskriv til kilde %{snat_ip?IP " +"%{snat_ip}} %{snat_port?port %{snat_port}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:306 +msgid "A rewrite IP must be specified!" +msgstr "En omskrivnings-IP skal angives!" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:292 +msgid "ACCEPT - Disable address rewriting" +msgstr "ACCEPT - Deaktiver adresseomskrivning" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:224 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:225 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:411 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:204 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:287 +msgid "Action" +msgstr "Handling" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:322 +msgid "" +"Additional raw iptables arguments to classify zone destination " +"traffic, e.g. -p tcp --dport 443 to only match outbound HTTPS " +"traffic." +msgstr "" +"Yderligere rå iptables argumenter til at klassificere " +"zonedestinationstrafik, f.eks. -p tcp --dport 443 for kun at " +"matche udgående HTTPS-trafik." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:312 +msgid "" +"Additional raw iptables arguments to classify zone source traffic, " +"e.g. -p tcp --sport 443 to only match inbound HTTPS traffic." +msgstr "" +"Yderligere rå iptables argumenter til at klassificere " +"zonekildetrafik, f.eks. -p tcp --sport 443 for kun at matche " +"indgående HTTPS-trafik." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:107 +msgid "Address family, Internal IP address must match" +msgstr "Adressefamilie, intern IP-adresse skal stemme overens" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:135 +msgid "" +"Address family, source address, destination address, rewrite IP address must " +"match" +msgstr "" +"Adressefamilie, kildeadresse, destinationsadresse, rewrite IP-adresse skal " +"stemme overens" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:162 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:183 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:182 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:114 +msgid "Advanced Settings" +msgstr "Avancerede indstillinger" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:283 +msgid "Allow \"invalid\" traffic" +msgstr "Tillad \"ugyldig\" trafik" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:385 +msgid "Allow forward from source zones:" +msgstr "Tillad videresendelse fra kildezoner:" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:344 +msgid "Allow forward to destination zones:" +msgstr "Tillad videresendelse til destinationszoner:" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:551 +msgid "Any" +msgstr "Enhver" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:479 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:495 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:352 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:368 +msgid "Any day" +msgstr "Enhver dag" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:317 +msgid "" +"Apply a bitwise XOR of the given value and the existing mark value on " +"established connections. Format is value[/mask]. If a mask is specified then " +"those bits set in the mask are zeroed out." +msgstr "" +"Anvend en bitvis XOR af den givne værdi og den eksisterende markeringsværdi " +"på etablerede forbindelser. Formatet er værdi[/mask]. Hvis en maske er " +"angivet, nulstilles de bits, der er sat i masken." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:264 +msgid "Apply the given DSCP class or value to established connections." +msgstr "Anvend den givne DSCP-klasse eller værdi på etablerede forbindelser." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:439 +msgid "Assign the specified connection tracking helper to matched traffic." +msgstr "Tildel den angivne forbindelsessporingshjælper til matchet trafik." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:286 +msgid "Automatic helper assignment" +msgstr "Automatisk hjælpertildeling" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:286 +msgid "" +"Automatically assign conntrack helpers based on traffic protocol and port" +msgstr "Tildel automatisk conntrack-hjælpere baseret på trafikprotokol og port" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:61 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:62 +msgid "Comment" +msgstr "Kommentar" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:115 +msgid "Conntrack Settings" +msgstr "Forbindelsesindstillinger" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:290 +msgid "Conntrack helpers" +msgstr "Forbindelseshjælpere" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/custom.js:16 +msgid "Contents have been saved." +msgstr "Indholdet er blevet gemt." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:700 +msgid "Continue" +msgstr "Fortsæt" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:204 +msgid "Counters" +msgstr "Tællere" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:231 +msgid "Covered devices" +msgstr "Dækkede enheder" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:183 +msgid "Covered networks" +msgstr "Dækkede netværk" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:236 +msgid "Covered subnets" +msgstr "Dækkede subnets" + +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:62 +msgid "Custom Rules" +msgstr "Brugerdefinerede regler" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/custom.js:26 +msgid "" +"Custom rules allow you to execute arbitrary iptables commands which are not " +"otherwise covered by the firewall framework. The commands are executed after " +"each firewall restart, right after the default ruleset has been loaded." +msgstr "" +"Brugerdefinerede regler giver dig mulighed for at udføre vilkårlige iptables-" +"kommandoer, som ellers ikke er dækket af firewall-rammen. Kommandoerne " +"udføres efter hver genstart af firewall, lige efter standardregelsættet er " +"blevet indlæst." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:421 +msgid "DSCP classification" +msgstr "DSCP klassifikation" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:263 +msgid "DSCP mark" +msgstr "DSCP mærke" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:297 +msgid "DSCP mark required" +msgstr "DSCP-mærke påkrævet" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:402 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:270 +msgid "Destination address" +msgstr "Destinationsadresse" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:404 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:278 +msgid "Destination port" +msgstr "Destinationsport" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:396 +msgid "Destination zone" +msgstr "Destination zone" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:269 +msgid "Device name" +msgstr "Enhedens navn" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:283 +msgid "" +"Do not install extra rules to reject forwarded traffic with conntrack state " +"invalid. This may be required for complex asymmetric route setups." +msgstr "" +"Installer ikke ekstra regler for at afvise videresendt trafik med conntrack-" +"tilstand ugyldig. Dette kan være nødvendigt for komplekse " +"asymmetriske ruteopsætninger." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:59 +msgid "Drop invalid packets" +msgstr "Drop ugyldige pakker" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:232 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:231 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:210 +msgid "Enable" +msgstr "Aktiver" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:306 +msgid "Enable NAT Loopback" +msgstr "Aktiver NAT Loopback" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:45 +msgid "Enable SYN-flood protection" +msgstr "Aktiver SYN-flood beskyttelse" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:296 +msgid "Enable logging on this zone" +msgstr "Aktiver logning på denne zone" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:168 +msgid "" +"Enable network address and port translation IPv4 (NAT4 or NAPT4) for " +"outbound traffic on this zone. This is typically enabled on the wan " +"zone." +msgstr "" +"Aktiver netværksadresse og portoversættelse IPv4 (NAT4 eller NAPT4) for " +"udgående trafik på denne zone. Dette er typisk aktiveret på zonen wan." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:243 +msgid "" +"Enable network address and port translation IPv6 (NAT6 or NAPT6) for " +"outbound traffic on this zone." +msgstr "" +"Aktiver netværksadresse og portoversættelse IPv6 (NAT6 eller NAPT6) for " +"udgående trafik på denne zone." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:211 +msgid "Enabled" +msgstr "Aktiveret" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:205 +msgid "Enables packet and byte count tracking for the set." +msgstr "Aktiverer sporing af pakke og byttetælling for sættet." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:339 +msgid "Expecting: %s" +msgstr "Forventer: %s" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:290 +msgid "Explicitly choses allowed connection tracking helpers for zone traffic" +msgstr "Vælger eksplicit tilladte forbindelsessporingshjælpere til zonetrafik" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:274 +msgid "External IP address" +msgstr "Ekstern IP-adresse" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:279 +msgid "External port" +msgstr "Ekstern port" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:349 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:470 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:342 +msgid "Extra arguments" +msgstr "Ekstra argumenter" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:322 +msgid "Extra destination arguments" +msgstr "Ekstra destinationsargumenter" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:116 +msgid "Extra iptables arguments" +msgstr "Ekstra iptables-argumenter" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:312 +msgid "Extra source arguments" +msgstr "Ekstra kildeargumenter" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:67 +msgid "Family" +msgstr "Familie" + +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:3 +msgid "Firewall" +msgstr "Firewall" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/custom.js:25 +msgid "Firewall - Custom Rules" +msgstr "Firewall - brugerdefinerede regler" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:20 +msgid "Firewall - IP sets" +msgstr "Firewall - IP-sæt" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:172 +msgid "Firewall - NAT Rules" +msgstr "Firewall - NAT-regler" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:152 +msgid "Firewall - Port Forwards" +msgstr "Firewall - Port Forwards" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:173 +msgid "Firewall - Traffic Rules" +msgstr "Firewall - Trafikregler" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:38 +msgid "Firewall - Zone Settings" +msgstr "Firewall - Zoneindstillinger" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:693 +msgid "Firewall configuration migration" +msgstr "Firewall-konfigurationsmigrering" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:82 +msgid "Flow offloading type" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:64 +msgid "Forward" +msgstr "Videresend" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:34 +msgid "" +"Forwarded %{ipv6?%{ipv4?IPv4 and IPv6:IPv6}:" +"IPv4}%{proto?, protocol %{proto#%{next?, }%{item.name}}}%{mark?, mark %{mark.val}" +"}" +msgstr "" +"Videresendt %{ipv6?%{ipv4?IPv4 and IPv6:IPv6}:IPv4}%{proto?, protocol %{proto#%{next?, }%{item.name}" +"}}%{mark?, mark %{mark." +"val}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:485 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:358 +msgid "Friday" +msgstr "Fredag" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:45 +msgid "" +"From %{src}%{src_device?, interface %{src_device}}%{src_ip?, IP " +"%{src_ip#%{next?, }%{item.ival}}}%{src_port?, port %{src_port#%{next?, }" +"%{item." +"ival}}}" +msgstr "" +"Fra %{src}%{src_device?, interface %{src_device}}%{src_ip?, IP " +"%{src_ip#%{next?, }%{item.ival}}}%{src_port?, port %{src_port#%{next?, }" +"%{item." +"ival}}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:64 +msgid "" +"From %{src}%{src_device?, interface %{src_device}}%{src_ip?, IP " +"%{src_ip#%{next?, }%{item.ival}}}%{src_port?, port %{src_port#%{next?, }" +"%{item." +"ival}}}%{src_mac?, MAC %{src_mac#%{next?, }%{item.ival}" +"}}" +msgstr "" +"Fra %{src}%{src_device?, interface %{src_device}}%{src_ip?, IP " +"%{src_ip#%{next?, }%{item.ival}}}%{src_port?, port %{src_port#%{next?, }" +"%{item." +"ival}}}%{src_mac?, MAC %{src_mac#%{next?, }%{item." +"ival}}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:52 +msgid "" +"From %{src}%{src_ip?, IP %{src_ip#%{next?, }%{item.ival}}}%{src_port?, port %{src_port#%{next?, }%{item.ival}}}%{src_mac?, " +"MAC %{src_mac#%{next?, }%{item.ival}}}" +msgstr "" +"Fra %{src}%{src_ip?, IP %{src_ip#%{next?, }%{item.ival}}}%{src_port?, port %{src_port#%{next?, }%{item.ival}}}%{src_mac?, MAC %{src_mac#%{next?, }%{item." +"ival}}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:161 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:182 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:181 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:41 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:113 +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:17 +msgid "General Settings" +msgstr "Generelle indstillinger" + +#: applications/luci-app-firewall/root/usr/share/rpcd/acl.d/luci-app-firewall.json:3 +msgid "Grant access to firewall configuration" +msgstr "Giv adgang til firewall-konfiguration" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:85 +msgid "Hardware based offloading for routing with/without NAT." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:85 +msgid "Hardware flow offloading" +msgstr "Aflæsning af hardwareflow" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:144 +msgid "IP (range)" +msgstr "IP (rækkevidde)" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:32 +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:53 +msgid "IP Sets" +msgstr "IP-sæt" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:152 +msgid "IPs/Networks" +msgstr "IP'er/netværk" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:107 +msgid "IPs/Networks/MACs" +msgstr "IP'er/netværk/MAC'er" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:68 +msgid "IPv4" +msgstr "IPv4" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:191 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:280 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:219 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:256 +msgid "IPv4 and IPv6" +msgstr "IPv4 og IPv6" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:192 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:281 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:220 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:257 +msgid "IPv4 only" +msgstr "Kun IPv4" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:69 +msgid "IPv6" +msgstr "IPv6" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:242 +msgid "IPv6 Masquerading" +msgstr "IPv6-maskering" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:193 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:282 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:221 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:258 +msgid "IPv6 only" +msgstr "Kun IPv4" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:252 +msgid "Inbound device" +msgstr "Indgående enhed" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:187 +msgid "Include File" +msgstr "Medtag fil" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:40 +msgid "" +"Incoming %{ipv6?%{ipv4?IPv4 and IPv6:IPv6}:" +"IPv4}%{proto?, protocol %{proto#%{next?, }%{item.types?%{item.name}ICMP " +"with types %{item.types#%{next?, }%{item}}:" +"%{item.name}}}}%{mark?, mark %{mark.val}}%{helper?, helper %{helper.inv?%{helper.val}:%{helper.val}}}" +msgstr "" +"Indgående %{ipv6?%{ipv4?IPv4 and IPv6:IPv6}:" +"IPv4}%{proto?, protokol %{proto#%{næste?, }%{item.types?%{item.name}ICMP " +"med typer %{item.types#%{next?, }%{item}}:" +"%{item.name}}}}%{mark?, mark %{mark.val}}%{helper?, helper %{helper.inv?%{helper.val}" +":%{helper.val}}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:180 +msgid "Initial Hash Size" +msgstr "Oprindelig hash-størrelse" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:62 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:151 +msgid "Input" +msgstr "Input" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:292 +msgid "Internal IP address" +msgstr "Intern IP-adresse" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:297 +msgid "Internal port" +msgstr "Intern port" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:287 +msgid "Internal zone" +msgstr "Intern zone" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:153 +msgid "Intra zone forward" +msgstr "Intra zone fremad" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:305 +msgid "Invalid DSCP mark" +msgstr "Ugyldigt DSCP-mærke" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:373 +msgid "Invalid limit value" +msgstr "Ugyldig grænseværdi" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:47 +msgid "Invalid set name" +msgstr "Ugyldigt navn" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:383 +msgid "Limit burst" +msgstr "Grænse brist" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:299 +msgid "Limit log messages" +msgstr "Begræns logmeddelelser" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:349 +msgid "Limit matching" +msgstr "Begræns matchning" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:79 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:96 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:74 +msgid "" +"Limit matching to %{limit.num} packets per %{limit.unit}%{limit.burst? burst %{limit.burst}}" +msgstr "" +"Begræns matchning til %{limit.num} pakker pr. %{limit.unit}%{limit.burst? burst %{limit.burst}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:175 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:250 +msgid "Limited masquerading enabled" +msgstr "Begrænset maskering aktiveret" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:350 +msgid "Limits traffic matching to the specified rate." +msgstr "Begrænser trafikmatchning til den specificeret sats." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:311 +msgid "Loopback source IP" +msgstr "Loopback-kilde-IP" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:291 +msgid "MASQUERADE - Automatically rewrite to outbound interface IP" +msgstr "MASKERING - Omskriv automatisk til udgående grænseflade IP" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:180 +msgid "MSS clamping" +msgstr "MSS fastspænding" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:167 +msgid "Masquerading" +msgstr "Maskering" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:213 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:214 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:193 +msgid "Match" +msgstr "Match" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:263 +msgid "Match DSCP" +msgstr "Match DSCP" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:293 +msgid "Match ICMP type" +msgstr "Match ICMP-type" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:249 +msgid "Match device" +msgstr "Match enhed" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:271 +msgid "Match forwarded traffic directed at the given IP address." +msgstr "Match videresendt trafik rettet mod den angivne IP-adresse." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:279 +msgid "" +"Match forwarded traffic directed at the given destination port or port range." +msgstr "" +"Match videresendt trafik rettet mod den givne destinationsport eller " +"portområde." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:254 +msgid "Match forwarded traffic from this IP or range." +msgstr "Match videresendt trafik fra denne IP eller dette område." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:262 +msgid "" +"Match forwarded traffic originating from the given source port or port range." +msgstr "" +"Match videresendt trafik, der stammer fra den givne kildeport eller " +"portinterval." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:326 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:446 +msgid "Match helper" +msgstr "Match hjælper" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:280 +msgid "" +"Match incoming traffic directed at the given destination port or port range " +"on this host" +msgstr "" +"Match indgående trafik rettet mod den givne destinationsport eller " +"portinterval på denne vært" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:316 +msgid "Match mark" +msgstr "Match mærke" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:326 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:446 +msgid "Match traffic using the specified connection tracking helper." +msgstr "Match trafik ved hjælp af den angivne forbindelsessporingshjælper." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:319 +msgid "Matches a specific firewall mark or a range of different marks." +msgstr "Matcher et specifikt firewallmærke eller en række forskellige mærker." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:332 +msgid "Matches forwarded traffic using the specified outbound network device." +msgstr "" +"Matcher videresendt trafik ved hjælp af den angivne udgående netværksenhed." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:264 +msgid "Matches traffic carrying the specified DSCP marking." +msgstr "Matcher trafik, der bærer den specificerede DSCP-mærkning." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:113 +msgid "Max Entries" +msgstr "Maks indlæg" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:172 +msgid "Max Length" +msgstr "Maks. længde" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:384 +msgid "" +"Maximum initial number of packets to match: this number gets recharged by " +"one every time the limit specified above is not reached, up to this number." +msgstr "" +"Maksimalt indledende antal pakker, der skal matches: Dette antal genoplades " +"med én, hver gang grænsen angivet ovenfor ikke nås, op til dette antal." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:481 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:354 +msgid "Monday" +msgstr "Mandag" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:491 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:364 +msgid "Month Days" +msgstr "Måned Dage" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:175 +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:44 +msgid "NAT Rules" +msgstr "NAT regler" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:173 +msgid "" +"NAT rules allow fine grained control over the source IP to use for outbound " +"or forwarded traffic." +msgstr "" +"NAT-regler tillader finkornet kontrol over kilde-IP'en til brug for udgående " +"eller videresendt trafik." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:183 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:42 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:52 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:210 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:189 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:129 +msgid "Name" +msgstr "Navn" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:166 +msgid "Netmask" +msgstr "Netmaske" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:83 +msgid "None" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:77 +msgid "Not fully compatible with QoS/SQM." +msgstr "Ikke fuldt kompatibel med QoS/SQM." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:275 +msgid "Only match incoming traffic directed at the given IP address." +msgstr "Match kun indgående trafik rettet mod den angivne IP-adresse." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:256 +msgid "Only match incoming traffic from these MACs." +msgstr "Match kun indgående trafik fra disse MAC'er." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:261 +msgid "Only match incoming traffic from this IP or range." +msgstr "Match kun indgående trafik fra denne IP eller dette område." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:266 +msgid "" +"Only match incoming traffic originating from the given source port or port " +"range on the client host" +msgstr "" +"Match kun indgående trafik, der stammer fra den givne kildeport eller " +"portinterval på klientværten" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:253 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:331 +msgid "Outbound device" +msgstr "Udgående enhed" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:246 +msgid "Outbound zone" +msgstr "Udgående zone" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:63 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:152 +msgid "Output" +msgstr "Output" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:75 +msgid "Packet Field Match" +msgstr "Pakkefelt match" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:76 +msgid "" +"Packet fields to match upon.
Syntax: direction_datatype. e.g.: " +"src_port, dest_net.
Directions: src, dst. " +"Datatypes: ip, port, mac, net, set.
Direction prefixes are " +"optional.
*Note: datatype set is unsupported in fw4." +msgstr "" +"Pakkefelter, der skal matches på.
Syntax: direction_datatype. " +"e.g.: src_port, dest_net.
Retninger: src, dst. Datatyper: ip, port, mac, net, set.
Retningspræfikser er valgfrie.
*Note: datatype set " +"understøttes ikke i fw4." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:350 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:471 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:343 +msgid "Passes additional arguments to iptables. Use with care!" +msgstr "Sender yderligere argumenter til iptables. Brug med omhu!" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:309 +msgid "" +"Passing raw iptables arguments to source and destination traffic " +"classification rules allows to match packets based on other criteria than " +"interfaces or subnets. These options should be used with extreme care as " +"invalid values could render the firewall ruleset broken, completely exposing " +"all services." +msgstr "" +"Ved at videregive rå iptables-argumenter til kilde- og " +"destinationstrafikklassificeringsreglerne gør det muligt at matche pakker " +"baseret på andre kriterier end grænseflader eller undernet. Disse muligheder " +"bør bruges med ekstrem forsigtighed, da ugyldige værdier kan gøre firewall-" +"regelsættet brudt, hvilket fuldstændig afslører alle tjenester." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:188 +msgid "Path to file of CIDRs, subnets, host IPs, etc.
" +msgstr "Stien til filen med CIDR'er, undernet, værts-IP'er osv.
" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:155 +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:26 +msgid "Port Forwards" +msgstr "Port Forwards" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:153 +msgid "" +"Port forwarding allows remote computers on the Internet to connect to a " +"specific computer or service within the private LAN." +msgstr "" +"Portvideresendelse gør det muligt for fjerncomputere på internettet at " +"oprette forbindelse til en bestemt computer eller tjeneste inden for det " +"private LAN." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:158 +msgid "Port range" +msgstr "Port rækkevidde" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:237 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:289 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:242 +msgid "Protocol" +msgstr "Protokol" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:298 +msgid "" +"Redirect matched incoming traffic to the given port on the internal host" +msgstr "" +"Omdiriger matchet indgående trafik til den givne port på den interne vært" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:293 +msgid "Redirect matched incoming traffic to the specified internal host" +msgstr "Omdiriger matchet indgående trafik til den angivne interne vært" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:122 +msgid "Refer To External Set" +msgstr "Henvis til eksternt sæt" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:320 +msgid "Reflection zones" +msgstr "Reflekszoner" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:85 +msgid "Requires hardware NAT support." +msgstr "Kræver hardware NAT-understøttelse." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:272 +msgid "Restrict Masquerading to given destination subnets" +msgstr "Begræns Maskering til givne destination subnets" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:261 +msgid "Restrict Masquerading to given source subnets" +msgstr "Begræns Maskering til givne kilde subnets" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:188 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:277 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:216 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:255 +msgid "Restrict to address family" +msgstr "Begræns til adresse familie" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:297 +msgid "Rewrite IP address" +msgstr "Omskriv IP-adressen" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:298 +msgid "Rewrite matched traffic to the specified source IP address." +msgstr "Omskriv matchet trafik til den angivne kilde-IP-adresse." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:312 +msgid "Rewrite matched traffic to the specified source port or port range." +msgstr "Omskriv matchet trafik til den angivne kildeport eller portinterval." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:311 +msgid "Rewrite port" +msgstr "Omskriv port" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:76 +msgid "Routing/NAT Offloading" +msgstr "Routing/NAT Offloading" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:290 +msgid "SNAT - Rewrite to specific source IP or port" +msgstr "SNAT - Omskriv til specifik kilde-IP eller port" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:486 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:359 +msgid "Saturday" +msgstr "Lørdag" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:316 +msgid "Set mark" +msgstr "Sæt mærke" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:318 +msgid "" +"Set the given mark value on established connections. Format is value[/mask]. " +"If a mask is specified then only those bits set in the mask are modified." +msgstr "" +"Indstil den givne mærkeværdi på etablerede forbindelser. Formatet er værdi[/" +"mask]. Hvis der er angivet en maske, ændres kun de bits, der er sat i masken." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:84 +msgid "Software based offloading for routing/NAT." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:84 +msgid "Software flow offloading" +msgstr "Software flow offloading" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:260 +msgid "Source IP address" +msgstr "Kilde IP-adresse" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:255 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:386 +msgid "Source MAC address" +msgstr "Kilde MAC-adresse" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:387 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:253 +msgid "Source address" +msgstr "Kildeadresse" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:265 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:389 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:261 +msgid "Source port" +msgstr "Kildeport" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:241 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:372 +msgid "Source zone" +msgstr "Kilde zone" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:270 +msgid "" +"Specifies whether to tie this traffic rule to a specific inbound or outbound " +"network device." +msgstr "" +"Angiver, om denne trafikregel skal knyttes til en bestemt indgående eller " +"udgående netværksenhed." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:311 +msgid "" +"Specifies whether to use the external or the internal IP address for " +"reflected traffic." +msgstr "" +"Angiver, om den eksterne eller den interne IP-adresse skal bruges til " +"reflekteret trafik." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:510 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:383 +msgid "Start Date (yyyy-mm-dd)" +msgstr "Startdato (yyyy-mm-dd)" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:502 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:375 +msgid "Start Time (hh:mm:ss)" +msgstr "Starttid (hh:mm:ss)" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:514 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:387 +msgid "Stop Date (yyyy-mm-dd)" +msgstr "Stopdato (yyyy-mm-dd)" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:506 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:379 +msgid "Stop Time (hh:mm:ss)" +msgstr "Stoptid (hh:mm:ss)" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:130 +msgid "Storage Method" +msgstr "Opbevaringsmetode" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:480 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:353 +msgid "Sunday" +msgstr "Søndag" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:694 +msgid "" +"The existing firewall configuration needs to be changed for LuCI to function " +"properly." +msgstr "" +"Den eksisterende firewall-konfiguration skal ændres for at LuCI kan fungere " +"korrekt." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:39 +msgid "" +"The firewall creates zones over your network interfaces to control network " +"traffic flow." +msgstr "" +"Firewallen opretter zoner over dine netværksgrænseflader for at kontrollere " +"netværkstrafikstrømmen." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:227 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:340 +msgid "" +"The options below control the forwarding policies between this zone (%s) and " +"other zones. Destination zones cover forwarded traffic " +"originating from %q. Source zones match forwarded " +"traffic from other zones targeted at %q. The forwarding " +"rule is unidirectional, e.g. a forward from lan to wan does " +"not imply a permission to forward from wan to lan as well." +msgstr "" +"Indstillingerne nedenfor styrer videresendelsespolitikkerne mellem denne " +"zone (%s) og andre zoner. Destinationszoner dækker videresendt " +"trafik der stammer fra %q. Kildezoner matcher " +"videresendt trafik fra andre zoner målrettet mod %q. " +"Videresendelsesreglen er envejs, f.eks. en videresendelse fra lan " +"til wan betyder ikke en tilladelse til også at videresende fra wan " +"til lan." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:125 +msgid "" +"This section defines common properties of %q. The input and " +"output options set the default policies for traffic entering and " +"leaving this zone while the forward option describes the policy for " +"forwarded traffic between different networks within the zone. Covered " +"networks specifies which available networks are members of this zone." +msgstr "" +"Dette afsnit definerer almindelige egenskaber for %q. Indstillingerne " +"input og output angiver standardpolitikkerne for trafik, " +"der kommer ind og forlader denne zone, mens indstillingen videresend beskriver politikken for videresendt trafik mellem forskellige netværk " +"inden for zonen. Dækkede netværk angiver, hvilke tilgængelige " +"netværk der er medlemmer af denne zone." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:484 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:357 +msgid "Thursday" +msgstr "Torsdag" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:184 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:183 +msgid "Time Restrictions" +msgstr "Tidsbegrænsninger" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:518 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:391 +msgid "Time in UTC" +msgstr "Tid i UTC" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:244 +msgid "Time restrictions are enabled for this rule" +msgstr "Tidsbegrænsninger er aktiveret for denne regel" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:196 +msgid "Timeout" +msgstr "Timeout" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:77 +msgid "" +"To %{dest}%{dest_device?, interface %{dest_device}}%{dest_ip?, IP " +"%{dest_ip#%{next?, }%{item.ival}
}}%{dest_port?, port %{dest_port#%{next?, }" +"%{item." +"ival}
}}" +msgstr "" +"Til %{dest}%{dest_device?, interface %{dest_device}}%{dest_ip?, " +"IP %{dest_ip#%{next?, }%{item.ival}}}%{dest_port?, port " +"%{dest_port#%{next?, }%{item.ival}}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:55 +msgid "" +"To %{dest}%{dest_device?, via interface %{dest_device}}%{dest_ip?, IP %{dest_ip#%{next?, }%{item.ival}}}%{dest_port?, port " +"%{dest_port#%{next?, }%{item.ival}}}" +msgstr "" +"Til %{dest}%{dest_device?, via interface %{dest_device}}%{dest_ip?, IP %{dest_ip#%{next?, }%{item.ival}}}%{dest_port?, port " +"%{dest_port#%{next?, }%{item.ival}}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:61 +msgid "" +"To %{dest}%{dest_ip?, IP %{dest_ip#%{next?, }%{item.ival}}}%{dest_port?, port %{dest_port#%{next?, }%{item.ival}}}" +msgstr "" +"Til %{dest}%{dest_ip?, IP %{dest_ip#%{next?, }%{item.ival}}}%{dest_port?, port %{dest_port#%{next?, }%{item.ival}}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:439 +msgid "Tracking helper" +msgstr "Sporingshjælper" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:176 +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:35 +msgid "Traffic Rules" +msgstr "Trafikregler" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:174 +msgid "" +"Traffic rules define policies for packets travelling between different " +"zones, for example to reject traffic between certain hosts or to open WAN " +"ports on the router." +msgstr "" +"Trafikregler definerer politikker for pakker, der rejser mellem forskellige " +"zoner, for eksempel for at afvise trafik mellem bestemte værter eller for at " +"åbne WAN-porte på routeren." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:482 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:355 +msgid "Tuesday" +msgstr "Tirsdag" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/custom.js:19 +msgid "Unable to save contents: %s" +msgstr "Kan ikke gemme indholdet: %s" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:197 +msgid "" +"Unit: seconds. Default 0 means the entry is added permanently " +"to the set.
Max: 2147483 seconds." +msgstr "" +"Enhed: sekunder. Standard 0 betyder, at posten tilføjes " +"permanent til sættet.
Max: 2147483 sekunder." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:341 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:461 +msgid "Unknown or not installed conntrack helper \"%s\"" +msgstr "Ukendt eller ikke installeret conntrack-hjælper \"%s\"" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:186 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:190 +msgid "Unnamed NAT" +msgstr "Unavngivet NAT" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:169 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:184 +msgid "Unnamed forward" +msgstr "Unavngivne forward" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:191 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:211 +msgid "Unnamed rule" +msgstr "Unavngiven regel" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:57 +msgid "Unnamed set" +msgstr "Unavngivet sæt" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:130 +msgid "Unnamed zone" +msgstr "Unavngiven zone" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:597 +msgid "Unrecognized protocol" +msgstr "Ukendt protokol" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:695 +msgid "" +"Upon pressing \"Continue\", \"redirect\" sections with target \"SNAT\" will " +"be converted to \"nat\" sections and the firewall will be restarted to apply " +"the updated configuration." +msgstr "" +"Når du trykker på \"Fortsæt\", vil \"omdirigere\" sektioner med målet " +"\"SNAT\" blive konverteret til \"nat\" sektioner, og firewallen vil blive " +"genstartet for at anvende den opdaterede konfiguration." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:315 +msgid "Use external IP address" +msgstr "Brug ekstern IP-adresse" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:314 +msgid "Use internal IP address" +msgstr "Brug intern IP-adresse" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:247 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:378 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:322 +msgid "Use ipset" +msgstr "Brug ipset" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:231 +msgid "" +"Use this option to classify zone traffic by raw, non-uci managed " +"network devices." +msgstr "" +"Brug denne mulighed til at klassificere zonetrafik efter rå, ikke-uci-administrerede netværksenheder." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:236 +msgid "" +"Use this option to classify zone traffic by source or destination subnet " +"instead of networks or devices." +msgstr "" +"Brug denne indstilling til at klassificere zonetrafik efter kilde eller " +"destination subnet i stedet for netværk eller enheder." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:331 +msgid "Valid firewall mark required" +msgstr "Gyldigt firewallmærke påkrævet" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:483 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:356 +msgid "Wednesday" +msgstr "Onsdag" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:475 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:348 +msgid "Week Days" +msgstr "Ugedage" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:420 +msgid "XOR firewall mark" +msgstr "XOR firewall-mærke" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:316 +msgid "XOR mark" +msgstr "XOR mærke" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:28 +msgid "Your device does not run firewall4." +msgstr "Din enhed kører ikke firewall4." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:26 +msgid "Your device runs firewall4." +msgstr "Din enhed kører firewall4." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:143 +msgid "Zone ⇒ Forwardings" +msgstr "Zone ⇒ Videresendelser" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:101 +msgid "Zones" +msgstr "Zoner" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:320 +msgid "" +"Zones from which reflection rules shall be created. If unset, only the " +"destination zone is used." +msgstr "" +"Zoner, hvor refleksionsregler skal skabes. Hvis det ikke er indstillet, " +"bruges kun destinationszonen." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:415 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:70 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:159 +msgid "accept" +msgstr "accept" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:268 +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:463 +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:486 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:270 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:301 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:328 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:392 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:407 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:441 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:448 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:266 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:282 +msgid "any" +msgstr "enhver" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:53 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:86 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:65 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:78 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:46 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:56 +msgid "any zone" +msgstr "enhver zone" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:298 +msgid "any/all" +msgstr "enhver/alle" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:419 +msgid "apply firewall mark" +msgstr "anvend firewall-mærke" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:418 +msgid "assign conntrack helper" +msgstr "tildel forbindelse-hjælper" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:194 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:222 +msgid "automatic" +msgstr "automatisk" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:131 +msgid "bitmap" +msgstr "bitmap" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:137 +msgid "bitmap is ipv4 only" +msgstr "bitmap er kun ipv4" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:72 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:89 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:67 +msgid "day" +msgstr "dag" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:93 +msgid "dest_ip: Destination IP" +msgstr "dest_ip: Destination IP" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:95 +msgid "dest_mac: Destination MAC addr" +msgstr "dest_mac: Destination MAC addr" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:96 +msgid "dest_net: Destination (sub)net" +msgstr "dest_net: Destinations(under)net" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:94 +msgid "dest_port: Destination Port" +msgstr "dest_port: Destinationsport" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:98 +msgid "dest_set: Destination ipset*" +msgstr "dest_set: Destination ipset*" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:315 +msgid "do not rewrite" +msgstr "omskriv ikke" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:417 +msgid "don't track" +msgstr "spor ikke" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:414 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:69 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:158 +msgid "drop" +msgstr "drop" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:21 +msgid "" +"firewall4 supports referencing and creating IP sets to simplify matching of " +"large address lists without the need to create one rule per item to match. " +"Port ranges in ipsets are unsupported by firewall4.
" +msgstr "" +"firewall4 understøtter henvisning og oprettelse af IP-sæt for at forenkle " +"matchning af store adresselister uden at skulle oprette en regel for hvert " +"element, der skal matches. Portintervaller i ips-sæt understøttes ikke af " +"firewall4.
" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:159 +msgid "fromport-toport" +msgstr "fraport-tilport" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:132 +msgid "hash" +msgstr "hash" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:72 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:89 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:67 +msgid "hour" +msgstr "time" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:81 +msgid "ip: IP addr" +msgstr "ip: IP addr" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:153 +msgid "ip[/cidr]
" +msgstr "ip[/cidr]
" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:145 +msgid "ip[/cidr]
For use with Match datatypes: *_ip." +msgstr "ip[/cidr]
Til brug med Match-datatyper: *_ip." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:70 +msgid "ipv4" +msgstr "ipv4" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:133 +msgid "list" +msgstr "liste" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:83 +msgid "mac: MAC addr" +msgstr "mac: MAC addr" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:108 +msgid "macaddr|ip[/cidr]
" +msgstr "macaddr|ip[/cidr]
" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:72 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:89 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:67 +msgid "minute" +msgstr "minut" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:84 +msgid "net: (sub)net" +msgstr "net: (under)net" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:82 +msgid "port: Port" +msgstr "port: Port:" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:416 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:68 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:157 +msgid "reject" +msgstr "afvis" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:72 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:89 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:67 +msgid "second" +msgstr "sekund" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:86 +msgid "set: ipset*" +msgstr "sæt: ipset*" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:92 +msgid "src_Set: Source ipset*" +msgstr "src_Set: Kilde ipset*" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:87 +msgid "src_ip: Source IP" +msgstr "src_ip: Kilde-IP" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:89 +msgid "src_mac: Source MAC addr" +msgstr "src_mac: Source MAC addr" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:90 +msgid "src_net: Source (sub)net" +msgstr "src_net: Kilde(under)net" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:88 +msgid "src_port: Source Port" +msgstr "src_port: Kildeport" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:53 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:62 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:86 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:65 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:78 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:56 +msgid "this device" +msgstr "denne enhed" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:124 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:226 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:339 +msgid "this new zone" +msgstr "denne nye zone" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:354 +msgid "unlimited" +msgstr "ubegrænset" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:251 +msgid "unspecified" +msgstr "uspecificeret" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:114 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:173 +msgid "up to 65536 entries." +msgstr "op til 65536 poster." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:339 +msgid "valid firewall mark" +msgstr "gyldigt firewallmærke" + +#~ msgid "Software based offloading for routing/NAT" +#~ msgstr "Softwarebaseret offloading til routing/NAT" + +#~ msgid "" +#~ "Enable network address and port translation (NAT or NAPT) for outbound " +#~ "traffic on this zone. This is typically enabled on the wan zone." +#~ msgstr "" +#~ "Aktiver netværksadresse og portoversættelse (NAT eller NAPT) for udgående " +#~ "trafik på denne zone. Dette er typisk aktiveret på wan zone." + +#~ msgid "" +#~ "Forwarded IPv4%{proto?, protocol %{proto#%{next?, }%{item.name}}}%{mark?, mark %{mark." +#~ "val}}" +#~ msgstr "" +#~ "Videresend IPv4%{proto?, protokol %{proto#%{next?, }%{item.name}}}%{mark?, mark %{mark.val}}" + +#~ msgid "" +#~ "Incoming IPv4%{proto?, protocol %{proto#%{next?, }%{item.types?%{item.name}ICMP with types %{item.types#%{next?, }%{item}}:%{item.name}}}}%{mark?, mark %{mark.val}}%{helper?, helper %{helper.inv?%{helper.val}:%{helper.val}" +#~ "}}" +#~ msgstr "" +#~ "Indkommende IPv4%{proto?, protokol %{proto#%{next?, }%{item.types?%{item.name}ICMP med typer %{item.types#%{next?, }%{item}}:%{item.name}}}}%{mark?, mark %{mark.val}}%{helper?, helper " +#~ "%{helper.inv?%{helper.val}:%{helper.val}}}" diff --git a/luci-app-firewall/po/de/firewall.po b/luci-app-firewall/po/de/firewall.po new file mode 100644 index 000000000..b55bd9bdd --- /dev/null +++ b/luci-app-firewall/po/de/firewall.po @@ -0,0 +1,1679 @@ +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2010-03-30 17:00+0200\n" +"PO-Revision-Date: 2024-10-28 20:23+0000\n" +"Last-Translator: ssantos \n" +"Language-Team: German \n" +"Language: de\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Generator: Weblate 5.8.2-dev\n" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:48 +msgid "" +"%{src?%{dest?Forwarded:Incoming}:Outgoing} %{ipv6?%{ipv4?IPv4 and " +"IPv6:IPv6}:IPv4}%{proto?, protocol " +"%{proto#%{next?, }%{item.types?%{item." +"name}ICMP with types %{item.types#%{next?, }" +"%{item}}:%{item.name}}}}%{mark?, mark " +"%{mark.val}}%{dscp?, DSCP %{dscp." +"inv?%{dscp.val}:%{dscp.val}}}%{helper?, helper " +"%{helper.inv?%{helper.val}:%{helper." +"val}}}" +msgstr "" +"%{src?%{dest?Weitergeleiteter:Eingehender}:Ausgehender} %{ipv6?%{ipv4?" +"IPv4- und IPv6:IPv6}:IPv4}-" +"Verkehr%{proto?, Protokoll %{proto#%{next?, }%{item.types?%{item.name}ICMP mit Typen " +"%{item.types#%{next?, }%{item}}:%{item.name}}}}%{mark?, mark %{mark.val}}%{dscp?, DSCP %{dscp.inv?%{dscp.val}:%{dscp.val}}}%{helper?, Tracking-" +"Helfer %{helper.inv?%{helper.val}:%{helper.val}}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:463 +msgid "-- add IP --" +msgstr "-- IP hinzufügen --" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:521 +msgid "-- add MAC --" +msgstr "-- MAC hinzufügen --" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:199 +msgid "0" +msgstr "0" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:182 +msgid "1024" +msgstr "1024" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:118 +msgid "" +"Accept %{src?%{dest?forward:input}:output}" +msgstr "" +"%{src?%{dest?Weiterleitung:Eingang}:Ausgang} erlauben" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:93 +msgid "Prevent source rewrite" +msgstr "Quellmaskierung unterbinden" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:85 +msgid "" +"Forward to %{dest}%{dest_ip? IP " +"%{dest_ip}}%{dest_port? port %{dest_port}}" +msgstr "" +"Weiterleiten zu %{dest}%{dest_ip? IP " +"%{dest_ip}}%{dest_port? Port %{dest_port}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:115 +msgid "" +"Drop %{src?%{dest?forward:input}:output}" +msgstr "" +"%{src?%{dest?Weiterleitung:Eingang}:Ausgang} verwerfen" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:133 +msgid "" +"Assign DSCP classification %{set_dscp}" +"" +msgstr "" +"Setze DSCP-Klassifizierung auf " +"%{set_dscp}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:127 +msgid "" +"Assign conntrack helper " +"%{set_helper}" +msgstr "" +"Assoziiere Tracking-Helfer " +"%{set_helper}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:130 +msgid "" +"%{set_mark?Assign:XOR} firewall mark " +"%{set_mark?:%{set_xmark}}" +msgstr "" +"%{set_mark?Setze:XOR} Firewall-Markierung " +"%{set_mark?:%{set_xmark}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:90 +msgid "Automatically rewrite source IP" +msgstr "Quell-IP automatisch maskieren" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:124 +msgid "" +"Do not track %{src?%{dest?forward:input}:" +"output}" +msgstr "" +"%{src?%{dest?Weiterleitungs:Eingangs}:Ausgangs}-Tracking verhindern" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:121 +msgid "" +"Reject %{src?%{dest?forward:input}:output}" +msgstr "" +"%{src?%{dest?Weiterleitung:Eingang}:Ausgang} ablehnen" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:87 +msgid "" +"Statically rewrite to source %{snat_ip?IP " +"%{snat_ip}} %{snat_port?port %{snat_port}}" +msgstr "" +"Quell%{snat_ip?-IP %{snat_ip}} %{snat_port?Port %{snat_port}" +"} statisch umschreiben" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:306 +msgid "A rewrite IP must be specified!" +msgstr "Es muss eine IP-Adresse zum Umschreiben angegeben werden!" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:292 +msgid "ACCEPT - Disable address rewriting" +msgstr "ACCEPT - Umschreiben von IP-Adressen deaktivieren" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:224 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:225 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:411 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:204 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:287 +msgid "Action" +msgstr "Aktion" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:322 +msgid "" +"Additional raw iptables arguments to classify zone destination " +"traffic, e.g. -p tcp --dport 443 to only match outbound HTTPS " +"traffic." +msgstr "" +"Zusätzliche rohe iptables-Argumente zur Klassifizierung des " +"Zonenzielverkehrs, z.B. -p tcp --dport 443, um nur ausgehenden " +"HTTPS-Verkehr übereinstimmen zu lassen." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:312 +msgid "" +"Additional raw iptables arguments to classify zone source traffic, " +"e.g. -p tcp --sport 443 to only match inbound HTTPS traffic." +msgstr "" +"Zusätzliche rohe iptables-Argumente zur Klassifizierung von " +"Zonenquellenverkehr, z.B. -p tcp --sport 443, um nur " +"eingehenden HTTPS-Verkehr übereinstimmen zu lassen." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:107 +msgid "Address family, Internal IP address must match" +msgstr "Adressfamilie, interne IP-Adresse muss übereinstimmen" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:135 +msgid "" +"Address family, source address, destination address, rewrite IP address must " +"match" +msgstr "" +"Adressfamilie, Quelladresse, Zieladresse, IP-Adressenumschreibung muss " +"übereinstimmen" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:162 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:183 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:182 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:114 +msgid "Advanced Settings" +msgstr "Erweiterte Einstellungen" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:283 +msgid "Allow \"invalid\" traffic" +msgstr "Erlaube \"ungültigen\" Verkehr" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:385 +msgid "Allow forward from source zones:" +msgstr "Erlaube Weiterleitung von Quellzone:" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:344 +msgid "Allow forward to destination zones:" +msgstr "Erlaube Weiterleitung zu Zielzone:" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:551 +msgid "Any" +msgstr "Beliebig" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:479 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:495 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:352 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:368 +msgid "Any day" +msgstr "Beliebig" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:317 +msgid "" +"Apply a bitwise XOR of the given value and the existing mark value on " +"established connections. Format is value[/mask]. If a mask is specified then " +"those bits set in the mask are zeroed out." +msgstr "" +"Bitweises XOR von angegebenem Wert und Maske auf etablierte Verbindungen " +"anwenden. Format ist Wert[/Maske]. Wenn eine Maske angegeben ist, werden die " +"korrespondierenden Bits des Wertes genullt." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:264 +msgid "Apply the given DSCP class or value to established connections." +msgstr "" +"Wende die angegebene DSCP-Klasse oder den angegebenen DSCP-Wert auf " +"etablierte Verbindungen an." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:439 +msgid "Assign the specified connection tracking helper to matched traffic." +msgstr "" +"Weise den angegebenen Verbindungs-Tracking-Helfer selektiertem Verkehr zu." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:286 +msgid "Automatic helper assignment" +msgstr "Automatische Helferzuordnung" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:286 +msgid "" +"Automatically assign conntrack helpers based on traffic protocol and port" +msgstr "" +"Automatische Zuweisung von Conntrack-Helfern basierend auf Traffic-Protokoll " +"und Port" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:61 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:62 +msgid "Comment" +msgstr "Kommentar" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:115 +msgid "Conntrack Settings" +msgstr "Conntrack-Einstellungen" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:290 +msgid "Conntrack helpers" +msgstr "Conntrack-Helfer" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/custom.js:16 +msgid "Contents have been saved." +msgstr "Inhalte wurden gespeichert." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:700 +msgid "Continue" +msgstr "Fortfahren" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:204 +msgid "Counters" +msgstr "Zähler" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:231 +msgid "Covered devices" +msgstr "Abgedeckte Geräte" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:183 +msgid "Covered networks" +msgstr "Abgedeckte Netzwerke" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:236 +msgid "Covered subnets" +msgstr "Abgedeckte Subnetze" + +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:62 +msgid "Custom Rules" +msgstr "Benutzerdefinierte Regeln" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/custom.js:26 +msgid "" +"Custom rules allow you to execute arbitrary iptables commands which are not " +"otherwise covered by the firewall framework. The commands are executed after " +"each firewall restart, right after the default ruleset has been loaded." +msgstr "" +"Benutzerdefinierte Regeln ermöglichen das Ausführen belieber iptables-" +"Befehle welche durch das Firewall-Framework nicht unterstützt werden. Die " +"Befehle werden mit jedem Firewall-Neustart abgearbeitet, direkt nach dem " +"Laden der Basisregeln." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:421 +msgid "DSCP classification" +msgstr "DSCP-Klassifizierung" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:263 +msgid "DSCP mark" +msgstr "DSCP-Markierung" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:297 +msgid "DSCP mark required" +msgstr "DSCP-Markierung benötigt" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:402 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:270 +msgid "Destination address" +msgstr "Zieladresse" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:404 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:278 +msgid "Destination port" +msgstr "Zielport" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:396 +msgid "Destination zone" +msgstr "Ziel-Zone" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:269 +msgid "Device name" +msgstr "Gerätename" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:283 +msgid "" +"Do not install extra rules to reject forwarded traffic with conntrack state " +"invalid. This may be required for complex asymmetric route setups." +msgstr "" +"Installiere keine zusätzlichen Regeln, um weitergeleiteten Traffic mit " +"Conntrack-Status invalid abzulehnen. Dies kann bei komplexen " +"asymmetrischen Routen erforderlich sein." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:59 +msgid "Drop invalid packets" +msgstr "Ungültige Pakete verwerfen" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:232 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:231 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:210 +msgid "Enable" +msgstr "Aktivieren" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:306 +msgid "Enable NAT Loopback" +msgstr "NAT-Loopback aktivieren" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:45 +msgid "Enable SYN-flood protection" +msgstr "Schutz vor SYN-flood-Attacken" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:296 +msgid "Enable logging on this zone" +msgstr "Protokollierung innerhalb der Zone aktivieren" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:168 +msgid "" +"Enable network address and port translation IPv4 (NAT4 or NAPT4) for " +"outbound traffic on this zone. This is typically enabled on the wan " +"zone." +msgstr "" +"Aktivieren der Netzwerkadressen- und Portübersetzung IPv4 (NAT4 oder NAPT4) " +"für den ausgehenden Verkehr in dieser Zone. Dies wird normalerweise für die " +"Zone wan aktiviert." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:243 +msgid "" +"Enable network address and port translation IPv6 (NAT6 or NAPT6) for " +"outbound traffic on this zone." +msgstr "" +"Aktivieren der Netzwerkadressen- und Portübersetzung IPv6 (NAT6 oder NAPT6) " +"für den ausgehenden Verkehr in dieser Zone." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:211 +msgid "Enabled" +msgstr "Aktiviert" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:205 +msgid "Enables packet and byte count tracking for the set." +msgstr "Aktiviert die Paket- und Byte-Zählungsverfolgung für das Set." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:339 +msgid "Expecting: %s" +msgstr "Erwarte: %s" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:290 +msgid "Explicitly choses allowed connection tracking helpers for zone traffic" +msgstr "" +"Wählt explizit zulässige Verbindungs-Tracking-Helfer für den Zonenverkehr aus" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:274 +msgid "External IP address" +msgstr "Externe IP-Adresse" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:279 +msgid "External port" +msgstr "Externer Port" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:349 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:470 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:342 +msgid "Extra arguments" +msgstr "Zusätzliche Argumente" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:322 +msgid "Extra destination arguments" +msgstr "Zusätzliche Ziel-Argumente" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:116 +msgid "Extra iptables arguments" +msgstr "Zusätzliche iptables-Argumente" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:312 +msgid "Extra source arguments" +msgstr "Zusätzliche Quell-Argumente" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:67 +msgid "Family" +msgstr "Familie" + +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:3 +msgid "Firewall" +msgstr "Firewall" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/custom.js:25 +msgid "Firewall - Custom Rules" +msgstr "Firewall - Benutzerdefinierte Regeln" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:20 +msgid "Firewall - IP sets" +msgstr "Firewall - IP-Sets" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:172 +msgid "Firewall - NAT Rules" +msgstr "Firewall - NAT Regeln" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:152 +msgid "Firewall - Port Forwards" +msgstr "Firewall - Portweiterleitungen" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:173 +msgid "Firewall - Traffic Rules" +msgstr "Firewall - Traffic-Regeln" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:38 +msgid "Firewall - Zone Settings" +msgstr "Firewall - Zoneneinstellungen" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:693 +msgid "Firewall configuration migration" +msgstr "Migration der Firewall-Konfiguration" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:82 +msgid "Flow offloading type" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:64 +msgid "Forward" +msgstr "Weiterleitung" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:34 +#, fuzzy +msgid "" +"Forwarded %{ipv6?%{ipv4?IPv4 and IPv6:IPv6}:" +"IPv4}%{proto?, protocol %{proto#%{next?, }%{item.name}}}%{mark?, mark %{mark.val}" +"}" +msgstr "" +"Weitergeleiteter %{ipv6?%{ipv4?IPv4- und IPv6:" +"IPv6-}:IPv4}-Verkehr%{proto?, Protokoll " +"%{proto#%{next?, }%{item.name}}}%{mark?, Markierung %{mark.val}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:485 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:358 +msgid "Friday" +msgstr "Freitag" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:45 +msgid "" +"From %{src}%{src_device?, interface %{src_device}}%{src_ip?, IP " +"%{src_ip#%{next?, }%{item.ival}}}%{src_port?, port %{src_port#%{next?, }" +"%{item." +"ival}}}" +msgstr "" +"Von %{src}%{src_device?, Schnittstelle %{src_device}}%{src_ip?, " +"IP %{src_ip#%{next?, }%{item.ival}}}%{src_port?, Port " +"%{src_port#%{next?, }%{item.ival}}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:64 +msgid "" +"From %{src}%{src_device?, interface %{src_device}}%{src_ip?, IP " +"%{src_ip#%{next?, }%{item.ival}}}%{src_port?, port %{src_port#%{next?, }" +"%{item." +"ival}}}%{src_mac?, MAC %{src_mac#%{next?, }%{item.ival}" +"}}" +msgstr "" +"Von %{src}%{src_device?, Schnittstelle %{src_device}}%{src_ip?, " +"IP %{src_ip#%{next?, }%{item.ival}}}%{src_port?, port " +"%{src_port#%{next?, }%{item.ival}}}%{src_mac?, MAC %{src_mac#%{next?, }" +"%{item.ival}}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:52 +msgid "" +"From %{src}%{src_ip?, IP %{src_ip#%{next?, }%{item.ival}}}%{src_port?, port %{src_port#%{next?, }%{item.ival}}}%{src_mac?, " +"MAC %{src_mac#%{next?, }%{item.ival}}}" +msgstr "" +"Von %{src}%{src_ip?, IP %{src_ip#%{next?, }%{item.ival}}}%{src_port?, port %{src_port#%{next?, }%{item.ival}}}%{src_mac?, MAC %{src_mac#%{next?, }%{item.ival}}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:161 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:182 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:181 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:41 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:113 +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:17 +msgid "General Settings" +msgstr "Allgemeine Einstellungen" + +#: applications/luci-app-firewall/root/usr/share/rpcd/acl.d/luci-app-firewall.json:3 +msgid "Grant access to firewall configuration" +msgstr "Zugriff auf die Firewall-Konfiguration gewähren" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:85 +msgid "Hardware based offloading for routing with/without NAT." +msgstr "Hardwarebasiertes Offloading zum Routing mit/ohne NAT." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:85 +msgid "Hardware flow offloading" +msgstr "Hardwarebeschleunigte Flusskontrolle" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:144 +msgid "IP (range)" +msgstr "IP (Bereich)" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:32 +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:53 +msgid "IP Sets" +msgstr "IP-Sets" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:152 +msgid "IPs/Networks" +msgstr "IPs/Netzwerke" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:107 +msgid "IPs/Networks/MACs" +msgstr "IPs/Netzwerke/MACs" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:68 +msgid "IPv4" +msgstr "IPv4" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:191 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:280 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:219 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:256 +msgid "IPv4 and IPv6" +msgstr "IPv4 und IPv6" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:192 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:281 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:220 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:257 +msgid "IPv4 only" +msgstr "nur IPv4" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:69 +msgid "IPv6" +msgstr "IPv6" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:242 +msgid "IPv6 Masquerading" +msgstr "IPv6-Masquerading" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:193 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:282 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:221 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:258 +msgid "IPv6 only" +msgstr "nur IPv6" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:252 +msgid "Inbound device" +msgstr "Eingehendes Gerät" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:187 +msgid "Include File" +msgstr "Datei einschließen" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:40 +msgid "" +"Incoming %{ipv6?%{ipv4?IPv4 and IPv6:IPv6}:" +"IPv4}%{proto?, protocol %{proto#%{next?, }%{item.types?%{item.name}ICMP " +"with types %{item.types#%{next?, }%{item}}:" +"%{item.name}}}}%{mark?, mark %{mark.val}}%{helper?, helper %{helper.inv?%{helper.val}:%{helper.val}}}" +msgstr "" +"Eingehende %{ipv6?%{ipv4?IPv4 und IPv6:IPv6}:IPv4}%{proto?, Protokoll %{proto#%{next?, }%{item.types?" +"%{item.name}ICMP mit Typen %{item.types#%{next?, }%{item}}:%{item.name}}}}%{mark? mark %{mark.val}}%{helper?, helper %{helper.inv?%{helper.val}:%{helper.val}}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:180 +msgid "Initial Hash Size" +msgstr "Initiale Hash Größe" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:62 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:151 +msgid "Input" +msgstr "Eingehend" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:292 +msgid "Internal IP address" +msgstr "Interne IP-Adresse" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:297 +msgid "Internal port" +msgstr "Interner Port" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:287 +msgid "Internal zone" +msgstr "Interne Zone" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:153 +msgid "Intra zone forward" +msgstr "Intra-Zonen-Forward" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:305 +msgid "Invalid DSCP mark" +msgstr "Ungültige DSCP-Markierung" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:373 +msgid "Invalid limit value" +msgstr "Ungültiger Limit-Wert" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:47 +msgid "Invalid set name" +msgstr "Falscher Setname" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:383 +msgid "Limit burst" +msgstr "Limit-Häufung" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:299 +msgid "Limit log messages" +msgstr "Protokollnachrichten limitieren" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:349 +msgid "Limit matching" +msgstr "Limitiere Vergleiche" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:79 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:96 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:74 +msgid "" +"Limit matching to %{limit.num} packets per %{limit.unit}%{limit.burst? burst %{limit.burst}}" +msgstr "" +"Limitiere Vergleiche auf %{limit.num} Pakete pro %{limit." +"unit}%{limit.burst? Häufung %{limit.burst}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:175 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:250 +msgid "Limited masquerading enabled" +msgstr "Eingeschränktes Masquerading aktiviert" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:350 +msgid "Limits traffic matching to the specified rate." +msgstr "Limitiere Verkehrsvergleiche auf die angegebene Rate." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:311 +msgid "Loopback source IP" +msgstr "Loopback Quell-IP" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:291 +msgid "MASQUERADE - Automatically rewrite to outbound interface IP" +msgstr "" +"MASQUERADE - Automatisch auf IP-Adresse der ausgehenden Schnittstelle " +"umschreiben" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:180 +msgid "MSS clamping" +msgstr "MSS Korrektur" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:167 +msgid "Masquerading" +msgstr "NAT aktivieren" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:213 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:214 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:193 +msgid "Match" +msgstr "Filter" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:263 +msgid "Match DSCP" +msgstr "DSCP selektieren" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:293 +msgid "Match ICMP type" +msgstr "Nach ICMP-Typ filtern" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:249 +msgid "Match device" +msgstr "Gerät selektieren" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:271 +msgid "Match forwarded traffic directed at the given IP address." +msgstr "Selektiert an die angegebene IP-Adresse gerichteten Verkehr." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:279 +msgid "" +"Match forwarded traffic directed at the given destination port or port range." +msgstr "" +"Selektiert an den angegeben Port oder Port-Bereich gerichteten Verkehr." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:254 +msgid "Match forwarded traffic from this IP or range." +msgstr "" +"Selektiert weitergeleiteten Verkehr von dieser IP oder diesem IP-Bereich." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:262 +msgid "" +"Match forwarded traffic originating from the given source port or port range." +msgstr "" +"Selektiert weitergeleiteten Verkehr vom angegebenem Quellport oder " +"Portbereich." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:326 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:446 +msgid "Match helper" +msgstr "Helfer selektieren" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:280 +msgid "" +"Match incoming traffic directed at the given destination port or port range " +"on this host" +msgstr "" +"Eingehende Verbindungen filtern welche an den angegebenen Port oder " +"Portbereich auf dem lokalen Gerät gerichtet sind" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:316 +msgid "Match mark" +msgstr "Erfasse Markierung" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:326 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:446 +msgid "Match traffic using the specified connection tracking helper." +msgstr "Selektiere Verkehr welcher den angegebenen Tracking-Helfer benutzt." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:319 +msgid "Matches a specific firewall mark or a range of different marks." +msgstr "" +"Selektiert Verkehr mit einer spezifischen Firewall-Markierung oder einem " +"Bereich von Markierungen." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:332 +msgid "Matches forwarded traffic using the specified outbound network device." +msgstr "" +"Selektiert weitergeleiteten Verkehr welcher die angegebene " +"Netzwerkschnittstelle benutzt." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:264 +msgid "Matches traffic carrying the specified DSCP marking." +msgstr "Selektiere Verkehr welcher die angegebene DSCP-Markierung trägt." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:113 +msgid "Max Entries" +msgstr "Maximale Einträge" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:172 +msgid "Max Length" +msgstr "Maximale Länge" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:384 +msgid "" +"Maximum initial number of packets to match: this number gets recharged by " +"one every time the limit specified above is not reached, up to this number." +msgstr "" +"Maximale initiale Menge von Paketen die selektiert werden. Die Nummer wird " +"jedes Mal erhöht, wenn das oben genannte Limit nicht erreicht wird, bis zur " +"hier angegeben Anzahl." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:481 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:354 +msgid "Monday" +msgstr "Montag" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:491 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:364 +msgid "Month Days" +msgstr "Monatstage" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:175 +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:44 +msgid "NAT Rules" +msgstr "NAT-Regeln" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:173 +msgid "" +"NAT rules allow fine grained control over the source IP to use for outbound " +"or forwarded traffic." +msgstr "" +"NAT-Regeln erlauben eine detaillierte Kontrolle über die verwendete Quell-IP-" +"Adresse für ausgehenden oder weitergeleiteten Verkehr." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:183 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:42 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:52 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:210 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:189 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:129 +msgid "Name" +msgstr "Nome" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:166 +msgid "Netmask" +msgstr "Netzmaske" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:83 +msgid "None" +msgstr "Keine" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:77 +msgid "Not fully compatible with QoS/SQM." +msgstr "Nicht vollständig kompatibel mit QoS/SQM." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:275 +msgid "Only match incoming traffic directed at the given IP address." +msgstr "Selektiert nur Traffic der an die angegebene IP-Adresse gerichtet ist." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:256 +msgid "Only match incoming traffic from these MACs." +msgstr "Selektiert nur Traffic von den angegebenen MAC-Adressen." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:261 +msgid "Only match incoming traffic from this IP or range." +msgstr "Selektiert nur Traffic vom angebenem Quell-IP-Adressbereich." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:266 +msgid "" +"Only match incoming traffic originating from the given source port or port " +"range on the client host" +msgstr "" +"Nur eingehenden Datenverkehr, der vom angegebenen Quellport oder Portbereich " +"des Client-Host stammt, selektieren" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:253 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:331 +msgid "Outbound device" +msgstr "Ausgehende Schnittstelle" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:246 +msgid "Outbound zone" +msgstr "Ausgehende Zone" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:63 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:152 +msgid "Output" +msgstr "Ausgehend" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:75 +msgid "Packet Field Match" +msgstr "Paket-Feld Übereinstimmung" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:76 +msgid "" +"Packet fields to match upon.
Syntax: direction_datatype. e.g.: " +"src_port, dest_net.
Directions: src, dst. " +"Datatypes: ip, port, mac, net, set.
Direction prefixes are " +"optional.
*Note: datatype set is unsupported in fw4." +msgstr "" +"Übereinstimmende Paketfelder.
Syntax: direction_datatype. e." +"g.: src_port, dest_net.
Richtung: src, dst. " +"Datentypen: ip, port, mac, net, set.
Richtungspräfix ist " +"optional.
*Hinweis: Datentyp set wird von fw4 nicht " +"unterstützt." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:350 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:471 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:343 +msgid "Passes additional arguments to iptables. Use with care!" +msgstr "" +"Gibt zusätzliche Kommandozeilenargumente an iptables weiter. Mit Vorsicht " +"benutzen!" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:309 +msgid "" +"Passing raw iptables arguments to source and destination traffic " +"classification rules allows to match packets based on other criteria than " +"interfaces or subnets. These options should be used with extreme care as " +"invalid values could render the firewall ruleset broken, completely exposing " +"all services." +msgstr "" +"Die Übergabe von rohen iptables-Argumenten an die Klassifizierungsregeln für " +"den Quell- und Zielverkehr ermöglicht es, Pakete abzugleichen, die auf " +"anderen Kriterien als Schnittstellen oder Subnetzen basieren. Diese Optionen " +"sollten mit äußerster Vorsicht verwendet werden, da ungültige Werte dazu " +"führen können, dass der Firewall-Regelsatz außer Funktion gesetzt wird und " +"alle Dienste vollständig offengelegt werden." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:188 +msgid "Path to file of CIDRs, subnets, host IPs, etc.
" +msgstr "Pfad zu Datei mit CIDRs, Subnetzen, Host IPs, etc.
" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:155 +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:26 +msgid "Port Forwards" +msgstr "Portweiterleitungen" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:153 +msgid "" +"Port forwarding allows remote computers on the Internet to connect to a " +"specific computer or service within the private LAN." +msgstr "" +"Portweiterleitungen ermöglichen es entfernten Rechnern im Internet auf " +"bestimmte Computer oder Dienste im lokalen LAN zuzugreifen." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:158 +msgid "Port range" +msgstr "Port-Bereich" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:237 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:289 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:242 +msgid "Protocol" +msgstr "Protokoll" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:298 +msgid "" +"Redirect matched incoming traffic to the given port on the internal host" +msgstr "" +"Gefilterte Verbindungen an den angegeben Port auf dem internen Host " +"weiterleiten" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:293 +msgid "Redirect matched incoming traffic to the specified internal host" +msgstr "Gefilterte Verbindungen an den angegeben internen Host weiterleiten" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:122 +msgid "Refer To External Set" +msgstr "Verweis auf externes Set" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:320 +msgid "Reflection zones" +msgstr "Reflection-Zonen" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:85 +msgid "Requires hardware NAT support." +msgstr "Erfordert Hardware-NAT-Unterstützung." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:272 +msgid "Restrict Masquerading to given destination subnets" +msgstr "NAT auf die angegebenen Ziel-Subnetze beschränken" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:261 +msgid "Restrict Masquerading to given source subnets" +msgstr "NAT auf die angegebenen Quell-Subnetze beschränken" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:188 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:277 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:216 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:255 +msgid "Restrict to address family" +msgstr "Auf Adressfamilie beschränken" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:297 +msgid "Rewrite IP address" +msgstr "IP-Adresse umschreiben" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:298 +msgid "Rewrite matched traffic to the specified source IP address." +msgstr "Selektierten Verkehr auf die angegebene Quell-IP-Adresse umschreiben." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:312 +msgid "Rewrite matched traffic to the specified source port or port range." +msgstr "" +"Selektierten Verkehr auf den angegebenen Quell-Port bzw. Port-Bereich " +"umschreiben." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:311 +msgid "Rewrite port" +msgstr "Port umschreiben" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:76 +msgid "Routing/NAT Offloading" +msgstr "Routing/NAT-Beschleunigung" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:290 +msgid "SNAT - Rewrite to specific source IP or port" +msgstr "SNAT - Umschreiben auf spezifische Quell-IP oder Port" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:486 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:359 +msgid "Saturday" +msgstr "Samstag" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:316 +msgid "Set mark" +msgstr "Markierung setzen" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:318 +msgid "" +"Set the given mark value on established connections. Format is value[/mask]. " +"If a mask is specified then only those bits set in the mask are modified." +msgstr "" +"Setzt die angegebenen Markierung auf etablierten Verbindungen. Das Format " +"ist Wert[/Maske]. Wenn eine Maske spezifiziert ist, werden nur die " +"korrespondierenden Bits des Markierungswertes verändert." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:84 +msgid "Software based offloading for routing/NAT." +msgstr "Softwarebasiertes Offloading von Routing/NAT." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:84 +msgid "Software flow offloading" +msgstr "Beschleunigte Flusskontrolle" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:260 +msgid "Source IP address" +msgstr "Quell-IP-Adresse" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:255 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:386 +msgid "Source MAC address" +msgstr "Quell-MAC-Adresse" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:387 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:253 +msgid "Source address" +msgstr "Quelladresse" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:265 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:389 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:261 +msgid "Source port" +msgstr "Quellport" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:241 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:372 +msgid "Source zone" +msgstr "Quell-Zone" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:270 +msgid "" +"Specifies whether to tie this traffic rule to a specific inbound or outbound " +"network device." +msgstr "" +"Gibt an, ob diese Verkehrsregel an eine spezifische Eingangs- oder " +"Ausgangsschnittstelle gebunden wird." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:311 +msgid "" +"Specifies whether to use the external or the internal IP address for " +"reflected traffic." +msgstr "" +"Gibt an, ob die externe oder die interne IP-Adresse für reflektierten " +"Verkehr genutzt wird." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:510 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:383 +msgid "Start Date (yyyy-mm-dd)" +msgstr "Startdatum (JJJJ-MM-TT)" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:502 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:375 +msgid "Start Time (hh:mm:ss)" +msgstr "Startzeit (hh:mm:ss)" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:514 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:387 +msgid "Stop Date (yyyy-mm-dd)" +msgstr "Enddatum (JJJJ-MM-TT)" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:506 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:379 +msgid "Stop Time (hh:mm:ss)" +msgstr "Stoppzeit (hh:mm:ss)" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:130 +msgid "Storage Method" +msgstr "Speichermethode" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:480 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:353 +msgid "Sunday" +msgstr "Sonntag" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:694 +msgid "" +"The existing firewall configuration needs to be changed for LuCI to function " +"properly." +msgstr "" +"Die existierende Firewall-Konfiguration muss geändert werden damit LuCI " +"richtig funktioniert." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:39 +msgid "" +"The firewall creates zones over your network interfaces to control network " +"traffic flow." +msgstr "" +"Die Firewall erstellt Netzwerkzonen über bestimmte Netzwerkschnittstellen um " +"den Netzwerk-Traffic zu trennen." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:227 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:340 +msgid "" +"The options below control the forwarding policies between this zone (%s) and " +"other zones. Destination zones cover forwarded traffic " +"originating from %q. Source zones match forwarded " +"traffic from other zones targeted at %q. The forwarding " +"rule is unidirectional, e.g. a forward from lan to wan does " +"not imply a permission to forward from wan to lan as well." +msgstr "" +"Die untenstehenden Optionen regeln die Verfahrensweisen für Traffic zwischen " +"dieser Zone (%s) und anderen Zonen. Ziel-Zonen decken " +"weitergeleiteten Traffic von %q ab. Quell-Zonen " +"treffen auf weitergeleiteten Traffic aus anderen Zonen zu, welcher " +"an %q gerichtet ist. Die Weiterleitung gilt nur in eine " +"Richtung, d. h. eine erlaubte Weiterleitung von LAN nach WAN bedeutet " +"nicht zusätzlich die Erlaubnis, auch von WAN nach LAN " +"weiterzuleiten." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:125 +msgid "" +"This section defines common properties of %q. The input and " +"output options set the default policies for traffic entering and " +"leaving this zone while the forward option describes the policy for " +"forwarded traffic between different networks within the zone. Covered " +"networks specifies which available networks are members of this zone." +msgstr "" +"Dieser Abschnitt definiert allgemeine Eigenschaften der %q-Zone. Die " +"input- und output-Optionen definieren die Regeln für " +"Datenverkehr, der in diese Zone eintritt oder diese verlässt. forward trifft auf Datenverkehr zwischen verschiedenen Schnittstellen innerhalb " +"dieser Zone zu. Covered networks definiert welche der verfügbaren " +"Netzwerke zu dieser Zone gehören." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:484 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:357 +msgid "Thursday" +msgstr "Donnerstag" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:184 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:183 +msgid "Time Restrictions" +msgstr "Zeitbeschränkungen" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:518 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:391 +msgid "Time in UTC" +msgstr "Zeit ist UTC" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:244 +msgid "Time restrictions are enabled for this rule" +msgstr "Zeitbeschränkungen sind aktiviert für diese Regel" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:196 +msgid "Timeout" +msgstr "Zeitüberschreitung" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:77 +msgid "" +"To %{dest}%{dest_device?, interface %{dest_device}}%{dest_ip?, IP " +"%{dest_ip#%{next?, }%{item.ival}
}}%{dest_port?, port %{dest_port#%{next?, }" +"%{item." +"ival}
}}" +msgstr "" +"Nach %{dest}%{dest_device?, Schnittstelle %{dest_device}}%{dest_ip?, IP %{dest_ip#%{next?, }%{item.ival}}}%{dest_port?, Port %{dest_port#%{next?, }%{item.ival}}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:55 +msgid "" +"To %{dest}%{dest_device?, via interface %{dest_device}}%{dest_ip?, IP %{dest_ip#%{next?, }%{item.ival}}}%{dest_port?, port " +"%{dest_port#%{next?, }%{item.ival}
}}" +msgstr "" +"Nach %{dest}%{dest_device?, über Schnittstelle %{dest_device}}%{dest_ip?, IP %{dest_ip#%{next?, }%{item.ival}}}%{dest_port?, Port %{dest_port#%{next?, }%{item.ival}}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:61 +msgid "" +"To %{dest}%{dest_ip?, IP %{dest_ip#%{next?, }%{item.ival}}}%{dest_port?, port %{dest_port#%{next?, }%{item.ival}}}" +msgstr "" +"Nach %{dest}%{dest_ip?, IP %{dest_ip#%{next?, }%{item.ival}}}%{dest_port?, Port %{dest_port#%{next?, }%{item.ival}}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:439 +msgid "Tracking helper" +msgstr "Tracking-Helfer" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:176 +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:35 +msgid "Traffic Rules" +msgstr "Traffic-Regeln" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:174 +msgid "" +"Traffic rules define policies for packets travelling between different " +"zones, for example to reject traffic between certain hosts or to open WAN " +"ports on the router." +msgstr "" +"Traffic-Regeln bestimmen den Fluss der Pakete zwischen verschiedenen Zonen, " +"zum Beispiel um Traffic zwischen bestimmten Rechnern zu unterbinden oder um " +"WAN-Ports auf dem Router zu öffnen." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:482 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:355 +msgid "Tuesday" +msgstr "Dienstag" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/custom.js:19 +msgid "Unable to save contents: %s" +msgstr "Inhalt kann nicht gespeichert werden: %s" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:197 +msgid "" +"Unit: seconds. Default 0 means the entry is added permanently " +"to the set.
Max: 2147483 seconds." +msgstr "" +"Einheit: Sekunden. Voreinstellung 0 bedeutet der Eintrag wird " +"dauerhaft hinzugefügt.
Maximaler Wert: 2147483 Sekunden." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:341 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:461 +msgid "Unknown or not installed conntrack helper \"%s\"" +msgstr "Unbekannter oder nicht installierter Tracking-Helfer \"%s\"" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:186 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:190 +msgid "Unnamed NAT" +msgstr "Unbenannte NAT-Regel" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:169 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:184 +msgid "Unnamed forward" +msgstr "Unbenannte Portweiterleitung" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:191 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:211 +msgid "Unnamed rule" +msgstr "Unbennante Regel" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:57 +msgid "Unnamed set" +msgstr "Unbenanntes Set" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:130 +msgid "Unnamed zone" +msgstr "Unbenannte Zone" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:597 +msgid "Unrecognized protocol" +msgstr "Unbekanntes Protokoll" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:695 +msgid "" +"Upon pressing \"Continue\", \"redirect\" sections with target \"SNAT\" will " +"be converted to \"nat\" sections and the firewall will be restarted to apply " +"the updated configuration." +msgstr "" +"Beim Fortfahren werden \"redirect\" Sektionen mit \"SNAT\" Aktion in \"nat\" " +"Sektionen konvertiert und die Firewall wird neu gestartet um die geänderte " +"Konfiguration anzuwenden." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:315 +msgid "Use external IP address" +msgstr "Externe IP-Adresse nutzen" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:314 +msgid "Use internal IP address" +msgstr "Interne IP-Adresse nutzen" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:247 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:378 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:322 +msgid "Use ipset" +msgstr "Benutze ipset" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:231 +msgid "" +"Use this option to classify zone traffic by raw, non-uci managed " +"network devices." +msgstr "" +"Diese Option verwenden, um den Zonenverkehr nach rohen, nicht uci-" +"verwalteten Netzwerkgeräten zu klassifizieren." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:236 +msgid "" +"Use this option to classify zone traffic by source or destination subnet " +"instead of networks or devices." +msgstr "" +"Diese Option verwenden, um den Zonenverkehr nach Quell- oder Zielsubnetz " +"anstelle von Netzwerken oder Geräten zu klassifizieren." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:331 +msgid "Valid firewall mark required" +msgstr "Gültige Firewall-Markierung benötigt" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:483 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:356 +msgid "Wednesday" +msgstr "Mittwoch" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:475 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:348 +msgid "Week Days" +msgstr "Wochentage" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:420 +msgid "XOR firewall mark" +msgstr "Firewallmarkierung XOR-en" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:316 +msgid "XOR mark" +msgstr "Markierungen XOR-en" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:28 +msgid "Your device does not run firewall4." +msgstr "Firewall4 ist auf Ihrem Gerät nicht aktiviert." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:26 +msgid "Your device runs firewall4." +msgstr "Firewall4 ist auf Ihrem Gerät aktiviert." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:143 +msgid "Zone ⇒ Forwardings" +msgstr "Zone ⇒ Weiterleitungen" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:101 +msgid "Zones" +msgstr "Zonen" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:320 +msgid "" +"Zones from which reflection rules shall be created. If unset, only the " +"destination zone is used." +msgstr "" +"Zonen, aus denen Reflection-Regeln erstellt werden sollen. Wenn nicht " +"festgelegt, wird nur die Zielzone verwendet." + +# Die richtige Übersetzung von ACCEPT im Firewallkontext ist nicht "Annehmen" sondern "Zulassen". Man kann ja keinen +# ausgehenden Traffic annehmen. +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:415 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:70 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:159 +msgid "accept" +msgstr "zulassen" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:268 +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:463 +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:486 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:270 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:301 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:328 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:392 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:407 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:441 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:448 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:266 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:282 +msgid "any" +msgstr "alle" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:53 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:86 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:65 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:78 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:46 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:56 +msgid "any zone" +msgstr "beliebige Zone" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:298 +msgid "any/all" +msgstr "beliebig/alle" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:419 +msgid "apply firewall mark" +msgstr "Firewallmarkierung anwenden" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:418 +msgid "assign conntrack helper" +msgstr "Tracking-Helfer zuordnen" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:194 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:222 +msgid "automatic" +msgstr "Automatisch" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:131 +msgid "bitmap" +msgstr "Bitmap" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:137 +msgid "bitmap is ipv4 only" +msgstr "Bitmap ist nur IPv4" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:72 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:89 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:67 +msgid "day" +msgstr "Tag" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:93 +msgid "dest_ip: Destination IP" +msgstr "dest_ip: Ziel IP" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:95 +msgid "dest_mac: Destination MAC addr" +msgstr "dest_mac: Ziel MAC addr" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:96 +msgid "dest_net: Destination (sub)net" +msgstr "dest_net: Ziel (Sub)netz" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:94 +msgid "dest_port: Destination Port" +msgstr "dest_port: Ziel Port" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:98 +msgid "dest_set: Destination ipset*" +msgstr "dest_set: Ziel ipset*" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:315 +msgid "do not rewrite" +msgstr "nicht umschreiben" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:417 +msgid "don't track" +msgstr "nicht verfolgen" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:414 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:69 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:158 +msgid "drop" +msgstr "verwerfen" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:21 +msgid "" +"firewall4 supports referencing and creating IP sets to simplify matching of " +"large address lists without the need to create one rule per item to match. " +"Port ranges in ipsets are unsupported by firewall4.
" +msgstr "" +"Firewall4 unterstützt die Referenzierung und Erzeugung von IP sets, um die " +"Übereinstimmung mit großen Adresslisten zu vereinfachen, ohne dass für jede " +"Adresse eine eigene Regel erzeugt werden muss. Portbereiche in ipsets werden " +"von Firewall4 nicht unterstützt.
" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:159 +msgid "fromport-toport" +msgstr "vonPort-bisPort" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:132 +msgid "hash" +msgstr "Hash" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:72 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:89 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:67 +msgid "hour" +msgstr "Stunde" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:81 +msgid "ip: IP addr" +msgstr "ip: IP-Adr" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:153 +msgid "ip[/cidr]
" +msgstr "ip[/cidr]
" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:145 +msgid "ip[/cidr]
For use with Match datatypes: *_ip." +msgstr "" +"ip[/cidr]
Zur Verwendung mit Übereinstimmungs-Datentypen: *_ip." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:70 +msgid "ipv4" +msgstr "ipv4" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:133 +msgid "list" +msgstr "Liste" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:83 +msgid "mac: MAC addr" +msgstr "mac: MAC-Addr" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:108 +msgid "macaddr|ip[/cidr]
" +msgstr "macAdr|ip[/cidr]
" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:72 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:89 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:67 +msgid "minute" +msgstr "Minute" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:84 +msgid "net: (sub)net" +msgstr "net: (Sub-)Netz" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:82 +msgid "port: Port" +msgstr "port: Port" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:416 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:68 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:157 +msgid "reject" +msgstr "zurückweisen" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:72 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:89 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:67 +msgid "second" +msgstr "Sekunde" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:86 +msgid "set: ipset*" +msgstr "set: ipset*" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:92 +msgid "src_Set: Source ipset*" +msgstr "src_Set: Quell-ipset*" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:87 +msgid "src_ip: Source IP" +msgstr "src_ip: Quell-IP" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:89 +msgid "src_mac: Source MAC addr" +msgstr "src_mac: Quell-MAC-Adr" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:90 +msgid "src_net: Source (sub)net" +msgstr "src_net: Quell-(sub)netz" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:88 +msgid "src_port: Source Port" +msgstr "src_port: Quell-Port" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:53 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:62 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:86 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:65 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:78 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:56 +msgid "this device" +msgstr "dieses Gerät" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:124 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:226 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:339 +msgid "this new zone" +msgstr "diese neue Zone" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:354 +msgid "unlimited" +msgstr "unlimitiert" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:251 +msgid "unspecified" +msgstr "unspezifiziert" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:114 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:173 +msgid "up to 65536 entries." +msgstr "bis zu 65536 Einträgen." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:339 +msgid "valid firewall mark" +msgstr "gültige Firewall-Markierung" + +#~ msgid "Software based offloading for routing/NAT" +#~ msgstr "Softwarebasierte Auslagerung von Routing/NAT" + +#~ msgid "" +#~ "Enable network address and port translation (NAT or NAPT) for outbound " +#~ "traffic on this zone. This is typically enabled on the wan zone." +#~ msgstr "" +#~ "Ativar a conversão de endereços e portas de rede (NAT ou NAPT) para o " +#~ "tráfego de saída nessa zona. Isto é normalmente ativado na zona wan." + +#~ msgid "" +#~ "Forwarded IPv4%{proto?, protocol %{proto#%{next?, }%{item.name}}}%{mark?, mark %{mark." +#~ "val}}" +#~ msgstr "" +#~ "Weitergeleiteter IPv4-Verkehr%{proto?, Protokoll %{proto#%{next?, }" +#~ "%{item.name}}}%{mark?, Markierung %{mark.val}}" + +#~ msgid "" +#~ "Incoming IPv4%{proto?, protocol %{proto#%{next?, }%{item.types?%{item.name}ICMP with types %{item.types#%{next?, }%{item}}:%{item.name}}}}%{mark?, mark %{mark.val}}%{helper?, helper %{helper.inv?%{helper.val}:%{helper.val}" +#~ "}}" +#~ msgstr "" +#~ "Eingehender IPv4-Verkehr%{proto?, Protokoll %{proto#%{next?, }%{item." +#~ "types?%{item.name}ICMP mit Typen %{item.types#%{next?, }%{item}}:%{item.name}}}}%{mark?, mark %{mark.val}}%{helper?, Helfer %{helper.inv?%{helper.val}:" +#~ "%{helper.val}}}" diff --git a/luci-app-firewall/po/el/firewall.po b/luci-app-firewall/po/el/firewall.po new file mode 100644 index 000000000..e01595bd0 --- /dev/null +++ b/luci-app-firewall/po/el/firewall.po @@ -0,0 +1,1444 @@ +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2010-03-30 17:00+0200\n" +"PO-Revision-Date: 2024-11-09 08:59+0000\n" +"Last-Translator: Mac Mac \n" +"Language-Team: Greek \n" +"Language: el\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Generator: Weblate 5.8.2\n" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:48 +msgid "" +"%{src?%{dest?Forwarded:Incoming}:Outgoing} %{ipv6?%{ipv4?IPv4 and " +"IPv6:IPv6}:IPv4}%{proto?, protocol " +"%{proto#%{next?, }%{item.types?%{item." +"name}ICMP with types %{item.types#%{next?, }" +"%{item}}:%{item.name}}}}%{mark?, mark " +"%{mark.val}}%{dscp?, DSCP %{dscp." +"inv?%{dscp.val}:%{dscp.val}}}%{helper?, helper " +"%{helper.inv?%{helper.val}:%{helper." +"val}}}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:463 +msgid "-- add IP --" +msgstr "-- προσθήκη IP --" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:521 +msgid "-- add MAC --" +msgstr "-- προσθήκη MAC --" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:199 +msgid "0" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:182 +msgid "1024" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:118 +msgid "" +"Accept %{src?%{dest?forward:input}:output}" +msgstr "" +"Accept %{src?%{dest?forward:input}:" +"output}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:93 +msgid "Prevent source rewrite" +msgstr "Prevent source rewrite" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:85 +msgid "" +"Forward to %{dest}%{dest_ip? IP " +"%{dest_ip}}%{dest_port? port %{dest_port}}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:115 +msgid "" +"Drop %{src?%{dest?forward:input}:output}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:133 +msgid "" +"Assign DSCP classification %{set_dscp}" +"" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:127 +msgid "" +"Assign conntrack helper " +"%{set_helper}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:130 +msgid "" +"%{set_mark?Assign:XOR} firewall mark " +"%{set_mark?:%{set_xmark}}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:90 +msgid "Automatically rewrite source IP" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:124 +msgid "" +"Do not track %{src?%{dest?forward:input}:" +"output}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:121 +msgid "" +"Reject %{src?%{dest?forward:input}:output}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:87 +msgid "" +"Statically rewrite to source %{snat_ip?IP " +"%{snat_ip}} %{snat_port?port %{snat_port}}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:306 +msgid "A rewrite IP must be specified!" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:292 +msgid "ACCEPT - Disable address rewriting" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:224 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:225 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:411 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:204 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:287 +msgid "Action" +msgstr "Δράση" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:322 +msgid "" +"Additional raw iptables arguments to classify zone destination " +"traffic, e.g. -p tcp --dport 443 to only match outbound HTTPS " +"traffic." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:312 +msgid "" +"Additional raw iptables arguments to classify zone source traffic, " +"e.g. -p tcp --sport 443 to only match inbound HTTPS traffic." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:107 +msgid "Address family, Internal IP address must match" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:135 +msgid "" +"Address family, source address, destination address, rewrite IP address must " +"match" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:162 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:183 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:182 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:114 +msgid "Advanced Settings" +msgstr "Ρυθμίσεις για προχωρημένους" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:283 +msgid "Allow \"invalid\" traffic" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:385 +msgid "Allow forward from source zones:" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:344 +msgid "Allow forward to destination zones:" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:551 +msgid "Any" +msgstr "Οποιοδήποτε" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:479 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:495 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:352 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:368 +msgid "Any day" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:317 +msgid "" +"Apply a bitwise XOR of the given value and the existing mark value on " +"established connections. Format is value[/mask]. If a mask is specified then " +"those bits set in the mask are zeroed out." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:264 +msgid "Apply the given DSCP class or value to established connections." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:439 +msgid "Assign the specified connection tracking helper to matched traffic." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:286 +msgid "Automatic helper assignment" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:286 +msgid "" +"Automatically assign conntrack helpers based on traffic protocol and port" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:61 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:62 +msgid "Comment" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:115 +msgid "Conntrack Settings" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:290 +msgid "Conntrack helpers" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/custom.js:16 +msgid "Contents have been saved." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:700 +msgid "Continue" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:204 +msgid "Counters" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:231 +msgid "Covered devices" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:183 +msgid "Covered networks" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:236 +msgid "Covered subnets" +msgstr "" + +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:62 +msgid "Custom Rules" +msgstr "Προσαρμοσμένοι Κανόνες" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/custom.js:26 +msgid "" +"Custom rules allow you to execute arbitrary iptables commands which are not " +"otherwise covered by the firewall framework. The commands are executed after " +"each firewall restart, right after the default ruleset has been loaded." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:421 +msgid "DSCP classification" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:263 +msgid "DSCP mark" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:297 +msgid "DSCP mark required" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:402 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:270 +msgid "Destination address" +msgstr "Διεύθυνση προορισμού" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:404 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:278 +msgid "Destination port" +msgstr "Θύρα προορισμού" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:396 +msgid "Destination zone" +msgstr "Ζώνη προορισμού" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:269 +msgid "Device name" +msgstr "Όνομα συσκευής" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:283 +msgid "" +"Do not install extra rules to reject forwarded traffic with conntrack state " +"invalid. This may be required for complex asymmetric route setups." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:59 +msgid "Drop invalid packets" +msgstr "Αγνόηση μη-έγκυρων πακετών" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:232 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:231 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:210 +msgid "Enable" +msgstr "Ενεργοποίηση" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:306 +#, fuzzy +msgid "Enable NAT Loopback" +msgstr "Ενεργοποιήστε το NAT Loopback" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:45 +msgid "Enable SYN-flood protection" +msgstr "Ενεργοποιήστε την προστασία SYN-flood" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:296 +msgid "Enable logging on this zone" +msgstr "Ενεργοποιήστε τη σύνδεση σε αυτήν τη ζώνη" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:168 +msgid "" +"Enable network address and port translation IPv4 (NAT4 or NAPT4) for " +"outbound traffic on this zone. This is typically enabled on the wan " +"zone." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:243 +msgid "" +"Enable network address and port translation IPv6 (NAT6 or NAPT6) for " +"outbound traffic on this zone." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:211 +msgid "Enabled" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:205 +msgid "Enables packet and byte count tracking for the set." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:339 +msgid "Expecting: %s" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:290 +msgid "Explicitly choses allowed connection tracking helpers for zone traffic" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:274 +msgid "External IP address" +msgstr "Εξωτερική διεύθυνση IP" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:279 +msgid "External port" +msgstr "Εξωτερική θύρα" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:349 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:470 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:342 +msgid "Extra arguments" +msgstr "Επιπλέον παράμετροι" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:322 +msgid "Extra destination arguments" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:116 +msgid "Extra iptables arguments" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:312 +msgid "Extra source arguments" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:67 +msgid "Family" +msgstr "" + +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:3 +msgid "Firewall" +msgstr "Τείχος προστασίας" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/custom.js:25 +msgid "Firewall - Custom Rules" +msgstr "Τείχος προστασίας - Προσαρμοσμένοι Κανόνες" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:20 +msgid "Firewall - IP sets" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:172 +msgid "Firewall - NAT Rules" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:152 +msgid "Firewall - Port Forwards" +msgstr "Τείχος προστασίας - Προώθηση Θυρών" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:173 +msgid "Firewall - Traffic Rules" +msgstr "Τείχος προστασίας - Κανόνες Κίνησεις" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:38 +msgid "Firewall - Zone Settings" +msgstr "Τείχος προστασίας - Ρυθμίσεις Ζώνης" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:693 +msgid "Firewall configuration migration" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:82 +msgid "Flow offloading type" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:64 +msgid "Forward" +msgstr "Προώθηση" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:34 +msgid "" +"Forwarded %{ipv6?%{ipv4?IPv4 and IPv6:IPv6}:" +"IPv4}%{proto?, protocol %{proto#%{next?, }%{item.name}}}%{mark?, mark %{mark.val}" +"}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:485 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:358 +msgid "Friday" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:45 +msgid "" +"From %{src}%{src_device?, interface %{src_device}}%{src_ip?, IP " +"%{src_ip#%{next?, }%{item.ival}}}%{src_port?, port %{src_port#%{next?, }" +"%{item." +"ival}}}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:64 +msgid "" +"From %{src}%{src_device?, interface %{src_device}}%{src_ip?, IP " +"%{src_ip#%{next?, }%{item.ival}}}%{src_port?, port %{src_port#%{next?, }" +"%{item." +"ival}}}%{src_mac?, MAC %{src_mac#%{next?, }%{item.ival}" +"}}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:52 +msgid "" +"From %{src}%{src_ip?, IP %{src_ip#%{next?, }%{item.ival}}}%{src_port?, port %{src_port#%{next?, }%{item.ival}}}%{src_mac?, " +"MAC %{src_mac#%{next?, }%{item.ival}}}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:161 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:182 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:181 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:41 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:113 +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:17 +msgid "General Settings" +msgstr "Γενικές ρυθμίσεις" + +#: applications/luci-app-firewall/root/usr/share/rpcd/acl.d/luci-app-firewall.json:3 +msgid "Grant access to firewall configuration" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:85 +msgid "Hardware based offloading for routing with/without NAT." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:85 +msgid "Hardware flow offloading" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:144 +msgid "IP (range)" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:32 +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:53 +msgid "IP Sets" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:152 +msgid "IPs/Networks" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:107 +msgid "IPs/Networks/MACs" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:68 +msgid "IPv4" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:191 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:280 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:219 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:256 +msgid "IPv4 and IPv6" +msgstr "IPv4 και IPv6" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:192 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:281 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:220 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:257 +msgid "IPv4 only" +msgstr "Μόνο IPv4" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:69 +msgid "IPv6" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:242 +msgid "IPv6 Masquerading" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:193 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:282 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:221 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:258 +msgid "IPv6 only" +msgstr "Μόνο IPv6" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:252 +msgid "Inbound device" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:187 +msgid "Include File" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:40 +msgid "" +"Incoming %{ipv6?%{ipv4?IPv4 and IPv6:IPv6}:" +"IPv4}%{proto?, protocol %{proto#%{next?, }%{item.types?%{item.name}ICMP " +"with types %{item.types#%{next?, }%{item}}:" +"%{item.name}}}}%{mark?, mark %{mark.val}}%{helper?, helper %{helper.inv?%{helper.val}:%{helper.val}}}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:180 +msgid "Initial Hash Size" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:62 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:151 +msgid "Input" +msgstr "Είσοδος" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:292 +msgid "Internal IP address" +msgstr "Εσωτερική διεύθυνση IP" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:297 +#, fuzzy +msgid "Internal port" +msgstr "Εξωτερική θύρα" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:287 +msgid "Internal zone" +msgstr "Εσωτερική ζώνη" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:153 +msgid "Intra zone forward" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:305 +msgid "Invalid DSCP mark" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:373 +msgid "Invalid limit value" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:47 +msgid "Invalid set name" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:383 +msgid "Limit burst" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:299 +msgid "Limit log messages" +msgstr "Περιορισμός καταγραφών συστήματος" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:349 +msgid "Limit matching" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:79 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:96 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:74 +msgid "" +"Limit matching to %{limit.num} packets per %{limit.unit}%{limit.burst? burst %{limit.burst}}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:175 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:250 +msgid "Limited masquerading enabled" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:350 +msgid "Limits traffic matching to the specified rate." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:311 +msgid "Loopback source IP" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:291 +msgid "MASQUERADE - Automatically rewrite to outbound interface IP" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:180 +#, fuzzy +msgid "MSS clamping" +msgstr "Περιορισμός MSS" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:167 +msgid "Masquerading" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:213 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:214 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:193 +msgid "Match" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:263 +msgid "Match DSCP" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:293 +msgid "Match ICMP type" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:249 +msgid "Match device" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:271 +msgid "Match forwarded traffic directed at the given IP address." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:279 +msgid "" +"Match forwarded traffic directed at the given destination port or port range." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:254 +msgid "Match forwarded traffic from this IP or range." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:262 +msgid "" +"Match forwarded traffic originating from the given source port or port range." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:326 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:446 +msgid "Match helper" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:280 +msgid "" +"Match incoming traffic directed at the given destination port or port range " +"on this host" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:316 +msgid "Match mark" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:326 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:446 +msgid "Match traffic using the specified connection tracking helper." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:319 +msgid "Matches a specific firewall mark or a range of different marks." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:332 +msgid "Matches forwarded traffic using the specified outbound network device." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:264 +msgid "Matches traffic carrying the specified DSCP marking." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:113 +msgid "Max Entries" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:172 +msgid "Max Length" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:384 +msgid "" +"Maximum initial number of packets to match: this number gets recharged by " +"one every time the limit specified above is not reached, up to this number." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:481 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:354 +msgid "Monday" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:491 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:364 +msgid "Month Days" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:175 +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:44 +msgid "NAT Rules" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:173 +msgid "" +"NAT rules allow fine grained control over the source IP to use for outbound " +"or forwarded traffic." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:183 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:42 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:52 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:210 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:189 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:129 +msgid "Name" +msgstr "Ονομα" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:166 +msgid "Netmask" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:83 +msgid "None" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:77 +msgid "Not fully compatible with QoS/SQM." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:275 +msgid "Only match incoming traffic directed at the given IP address." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:256 +msgid "Only match incoming traffic from these MACs." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:261 +msgid "Only match incoming traffic from this IP or range." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:266 +msgid "" +"Only match incoming traffic originating from the given source port or port " +"range on the client host" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:253 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:331 +msgid "Outbound device" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:246 +msgid "Outbound zone" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:63 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:152 +msgid "Output" +msgstr "Έξοδος" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:75 +msgid "Packet Field Match" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:76 +msgid "" +"Packet fields to match upon.
Syntax: direction_datatype. e.g.: " +"src_port, dest_net.
Directions: src, dst. " +"Datatypes: ip, port, mac, net, set.
Direction prefixes are " +"optional.
*Note: datatype set is unsupported in fw4." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:350 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:471 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:343 +msgid "Passes additional arguments to iptables. Use with care!" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:309 +msgid "" +"Passing raw iptables arguments to source and destination traffic " +"classification rules allows to match packets based on other criteria than " +"interfaces or subnets. These options should be used with extreme care as " +"invalid values could render the firewall ruleset broken, completely exposing " +"all services." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:188 +msgid "Path to file of CIDRs, subnets, host IPs, etc.
" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:155 +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:26 +msgid "Port Forwards" +msgstr "Προώθηση Θυρών" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:153 +msgid "" +"Port forwarding allows remote computers on the Internet to connect to a " +"specific computer or service within the private LAN." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:158 +msgid "Port range" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:237 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:289 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:242 +msgid "Protocol" +msgstr "Πρωτόκολλο" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:298 +msgid "" +"Redirect matched incoming traffic to the given port on the internal host" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:293 +msgid "Redirect matched incoming traffic to the specified internal host" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:122 +msgid "Refer To External Set" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:320 +msgid "Reflection zones" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:85 +msgid "Requires hardware NAT support." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:272 +msgid "Restrict Masquerading to given destination subnets" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:261 +msgid "Restrict Masquerading to given source subnets" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:188 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:277 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:216 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:255 +msgid "Restrict to address family" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:297 +msgid "Rewrite IP address" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:298 +msgid "Rewrite matched traffic to the specified source IP address." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:312 +msgid "Rewrite matched traffic to the specified source port or port range." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:311 +msgid "Rewrite port" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:76 +msgid "Routing/NAT Offloading" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:290 +msgid "SNAT - Rewrite to specific source IP or port" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:486 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:359 +msgid "Saturday" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:316 +msgid "Set mark" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:318 +msgid "" +"Set the given mark value on established connections. Format is value[/mask]. " +"If a mask is specified then only those bits set in the mask are modified." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:84 +msgid "Software based offloading for routing/NAT." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:84 +msgid "Software flow offloading" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:260 +#, fuzzy +msgid "Source IP address" +msgstr "Διεύθυνση MAC πηγής" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:255 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:386 +msgid "Source MAC address" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:387 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:253 +#, fuzzy +msgid "Source address" +msgstr "Διεύθυνση MAC πηγής" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:265 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:389 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:261 +msgid "Source port" +msgstr "Θύρα πηγής" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:241 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:372 +#, fuzzy +msgid "Source zone" +msgstr "Θύρα πηγής" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:270 +msgid "" +"Specifies whether to tie this traffic rule to a specific inbound or outbound " +"network device." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:311 +msgid "" +"Specifies whether to use the external or the internal IP address for " +"reflected traffic." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:510 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:383 +msgid "Start Date (yyyy-mm-dd)" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:502 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:375 +msgid "Start Time (hh:mm:ss)" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:514 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:387 +msgid "Stop Date (yyyy-mm-dd)" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:506 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:379 +msgid "Stop Time (hh:mm:ss)" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:130 +msgid "Storage Method" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:480 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:353 +msgid "Sunday" +msgstr "Κυριακή" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:694 +msgid "" +"The existing firewall configuration needs to be changed for LuCI to function " +"properly." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:39 +msgid "" +"The firewall creates zones over your network interfaces to control network " +"traffic flow." +msgstr "" +"Το τείχος προστασίας δημιουργεί ζώνες πάνω στις διεπαφές δικτύου για να " +"ελέγχει την δικτυακή κίνηση." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:227 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:340 +msgid "" +"The options below control the forwarding policies between this zone (%s) and " +"other zones. Destination zones cover forwarded traffic " +"originating from %q. Source zones match forwarded " +"traffic from other zones targeted at %q. The forwarding " +"rule is unidirectional, e.g. a forward from lan to wan does " +"not imply a permission to forward from wan to lan as well." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:125 +msgid "" +"This section defines common properties of %q. The input and " +"output options set the default policies for traffic entering and " +"leaving this zone while the forward option describes the policy for " +"forwarded traffic between different networks within the zone. Covered " +"networks specifies which available networks are members of this zone." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:484 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:357 +msgid "Thursday" +msgstr "Πέμπτη" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:184 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:183 +msgid "Time Restrictions" +msgstr "Χρονικοί Περιορισμοί" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:518 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:391 +msgid "Time in UTC" +msgstr "Ώρα σε UTC" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:244 +msgid "Time restrictions are enabled for this rule" +msgstr "Οι χρονικοί περιορισμοί είναι ενεργοποιημένοι για αυτόν τον κανόνα" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:196 +msgid "Timeout" +msgstr "Τέλος χρόνου" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:77 +msgid "" +"To %{dest}%{dest_device?, interface %{dest_device}}%{dest_ip?, IP " +"%{dest_ip#%{next?, }%{item.ival}
}}%{dest_port?, port %{dest_port#%{next?, }" +"%{item." +"ival}}}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:55 +msgid "" +"To %{dest}%{dest_device?, via interface %{dest_device}}%{dest_ip?, IP %{dest_ip#%{next?, }%{item.ival}}}%{dest_port?, port " +"%{dest_port#%{next?, }%{item.ival}}}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:61 +msgid "" +"To %{dest}%{dest_ip?, IP %{dest_ip#%{next?, }%{item.ival}}}%{dest_port?, port %{dest_port#%{next?, }%{item.ival}}}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:439 +msgid "Tracking helper" +msgstr "Βοηθός παρακολούθησης" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:176 +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:35 +msgid "Traffic Rules" +msgstr "Κανόνες κυκλοφορίας" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:174 +msgid "" +"Traffic rules define policies for packets travelling between different " +"zones, for example to reject traffic between certain hosts or to open WAN " +"ports on the router." +msgstr "" +"Οι κανόνες κυκλοφορίας ορίζουν πολιτικές για πακέτα που ταξιδεύουν μεταξύ " +"διαφορετικών ζωνών, για παράδειγμα μια απόρριψη κίνησης μεταξύ ορισμένων " +"κεντρικών υπολογιστών ή για άνοιγμα θυρών WAN στο δρομολογητή." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:482 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:355 +msgid "Tuesday" +msgstr "Τρίτη" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/custom.js:19 +msgid "Unable to save contents: %s" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:197 +msgid "" +"Unit: seconds. Default 0 means the entry is added permanently " +"to the set.
Max: 2147483 seconds." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:341 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:461 +msgid "Unknown or not installed conntrack helper \"%s\"" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:186 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:190 +msgid "Unnamed NAT" +msgstr "Ανώνυμο NAT" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:169 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:184 +msgid "Unnamed forward" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:191 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:211 +msgid "Unnamed rule" +msgstr "Κανόνας χωρίς όνομα" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:57 +msgid "Unnamed set" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:130 +msgid "Unnamed zone" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:597 +msgid "Unrecognized protocol" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:695 +msgid "" +"Upon pressing \"Continue\", \"redirect\" sections with target \"SNAT\" will " +"be converted to \"nat\" sections and the firewall will be restarted to apply " +"the updated configuration." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:315 +msgid "Use external IP address" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:314 +msgid "Use internal IP address" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:247 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:378 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:322 +msgid "Use ipset" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:231 +msgid "" +"Use this option to classify zone traffic by raw, non-uci managed " +"network devices." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:236 +msgid "" +"Use this option to classify zone traffic by source or destination subnet " +"instead of networks or devices." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:331 +msgid "Valid firewall mark required" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:483 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:356 +msgid "Wednesday" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:475 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:348 +msgid "Week Days" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:420 +msgid "XOR firewall mark" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:316 +msgid "XOR mark" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:28 +msgid "Your device does not run firewall4." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:26 +msgid "Your device runs firewall4." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:143 +msgid "Zone ⇒ Forwardings" +msgstr "Ζώνη ⇒ Διαβιβάσεις" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:101 +msgid "Zones" +msgstr "Ζώνες" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:320 +msgid "" +"Zones from which reflection rules shall be created. If unset, only the " +"destination zone is used." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:415 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:70 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:159 +msgid "accept" +msgstr "αποδοχή" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:268 +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:463 +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:486 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:270 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:301 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:328 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:392 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:407 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:441 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:448 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:266 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:282 +msgid "any" +msgstr "οποιαδήποτε" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:53 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:86 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:65 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:78 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:46 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:56 +msgid "any zone" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:298 +msgid "any/all" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:419 +msgid "apply firewall mark" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:418 +msgid "assign conntrack helper" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:194 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:222 +msgid "automatic" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:131 +msgid "bitmap" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:137 +msgid "bitmap is ipv4 only" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:72 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:89 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:67 +msgid "day" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:93 +msgid "dest_ip: Destination IP" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:95 +msgid "dest_mac: Destination MAC addr" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:96 +msgid "dest_net: Destination (sub)net" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:94 +msgid "dest_port: Destination Port" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:98 +msgid "dest_set: Destination ipset*" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:315 +msgid "do not rewrite" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:417 +msgid "don't track" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:414 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:69 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:158 +msgid "drop" +msgstr "αγνόηση" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:21 +msgid "" +"firewall4 supports referencing and creating IP sets to simplify matching of " +"large address lists without the need to create one rule per item to match. " +"Port ranges in ipsets are unsupported by firewall4.
" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:159 +msgid "fromport-toport" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:132 +msgid "hash" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:72 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:89 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:67 +msgid "hour" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:81 +msgid "ip: IP addr" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:153 +msgid "ip[/cidr]
" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:145 +msgid "ip[/cidr]
For use with Match datatypes: *_ip." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:70 +msgid "ipv4" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:133 +msgid "list" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:83 +msgid "mac: MAC addr" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:108 +msgid "macaddr|ip[/cidr]
" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:72 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:89 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:67 +msgid "minute" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:84 +msgid "net: (sub)net" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:82 +msgid "port: Port" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:416 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:68 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:157 +msgid "reject" +msgstr "απόρριψη" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:72 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:89 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:67 +msgid "second" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:86 +msgid "set: ipset*" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:92 +msgid "src_Set: Source ipset*" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:87 +msgid "src_ip: Source IP" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:89 +msgid "src_mac: Source MAC addr" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:90 +msgid "src_net: Source (sub)net" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:88 +msgid "src_port: Source Port" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:53 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:62 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:86 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:65 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:78 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:56 +msgid "this device" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:124 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:226 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:339 +msgid "this new zone" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:354 +msgid "unlimited" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:251 +msgid "unspecified" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:114 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:173 +msgid "up to 65536 entries." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:339 +msgid "valid firewall mark" +msgstr "" diff --git a/luci-app-firewall/po/es/firewall.po b/luci-app-firewall/po/es/firewall.po new file mode 100644 index 000000000..f0b3feb96 --- /dev/null +++ b/luci-app-firewall/po/es/firewall.po @@ -0,0 +1,1677 @@ +msgid "" +msgstr "" +"Project-Id-Version: \n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2010-03-30 17:00+0200\n" +"PO-Revision-Date: 2024-10-25 20:19+0000\n" +"Last-Translator: Franco Castillo \n" +"Language-Team: Spanish \n" +"Language: es\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Generator: Weblate 5.8.2-dev\n" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:48 +msgid "" +"%{src?%{dest?Forwarded:Incoming}:Outgoing} %{ipv6?%{ipv4?IPv4 and " +"IPv6:IPv6}:IPv4}%{proto?, protocol " +"%{proto#%{next?, }%{item.types?%{item." +"name}ICMP with types %{item.types#%{next?, }" +"%{item}}:%{item.name}}}}%{mark?, mark " +"%{mark.val}}%{dscp?, DSCP %{dscp." +"inv?%{dscp.val}:%{dscp.val}}}%{helper?, helper " +"%{helper.inv?%{helper.val}:%{helper." +"val}}}" +msgstr "" +"%{src?%{dest?Reenvío:Entrada}:Salida} %{ipv6?%{ipv4?IPv4 y " +"IPv6:IPv6}:IPv4}%{proto?, protocolo " +"%{proto#%{next?, }%{item.types?%{item." +"name}ICMP con tipos %{item.types#%{next?, }" +"%{item}}:%{item.name}}}}%{mark?, marca " +"%{mark.val}}%{dscp?, DSCP %{dscp.inv?%{dscp.val}:%{dscp.val}}}%{helper?, ayudante %{helper.inv?%{helper.val}:%{helper.val}}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:463 +msgid "-- add IP --" +msgstr "-- añadir IP --" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:521 +msgid "-- add MAC --" +msgstr "-- añadir MAC --" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:199 +msgid "0" +msgstr "0" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:182 +msgid "1024" +msgstr "1024" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:118 +msgid "" +"Accept %{src?%{dest?forward:input}:output}" +msgstr "" +"Aceptar %{src?%{dest?reenvío:entrada}:" +"salida}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:93 +msgid "Prevent source rewrite" +msgstr "" +"Prevenir la reescritura de la fuente" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:85 +msgid "" +"Forward to %{dest}%{dest_ip? IP " +"%{dest_ip}}%{dest_port? port %{dest_port}}" +msgstr "" +"Reenviar a %{dest}%{dest_ip? IP " +"%{dest_ip}}%{dest_port? puerto %{dest_port}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:115 +msgid "" +"Drop %{src?%{dest?forward:input}:output}" +msgstr "" +"Descartar %{src?%{dest?reenvío:entrada}:" +"salida}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:133 +msgid "" +"Assign DSCP classification %{set_dscp}" +"" +msgstr "" +"Asignar DSCP clasificación %{set_dscp}" +"" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:127 +msgid "" +"Assign conntrack helper " +"%{set_helper}" +msgstr "" +"Asignar conntrack ayudante " +"%{set_helper}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:130 +msgid "" +"%{set_mark?Assign:XOR} firewall mark " +"%{set_mark?:%{set_xmark}}" +msgstr "" +"%{set_mark?Asignar:XOR} marca de " +"cortafuegos%{set_mark?:%{set_xmark}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:90 +msgid "Automatically rewrite source IP" +msgstr "" +"Reescribir automáticamente la IP de " +"origen" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:124 +msgid "" +"Do not track %{src?%{dest?forward:input}:" +"output}" +msgstr "" +"No seguir %{src?%{dest?reenvío:entrada}:" +"salida}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:121 +msgid "" +"Reject %{src?%{dest?forward:input}:output}" +msgstr "" +"Rechazar %{src?%{dest?reenvío:entrada}:" +"salida}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:87 +msgid "" +"Statically rewrite to source %{snat_ip?IP " +"%{snat_ip}} %{snat_port?port %{snat_port}}" +msgstr "" +"Reescribir estáticamente a origen %{snat_ip?" +"IP %{snat_ip}} %{snat_port?puerto %{snat_port}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:306 +msgid "A rewrite IP must be specified!" +msgstr "¡Se debe especificar una IP de reescritura!" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:292 +msgid "ACCEPT - Disable address rewriting" +msgstr "ACEPTAR - Desactivar reescritura de direcciones" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:224 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:225 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:411 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:204 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:287 +msgid "Action" +msgstr "Acción" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:322 +msgid "" +"Additional raw iptables arguments to classify zone destination " +"traffic, e.g. -p tcp --dport 443 to only match outbound HTTPS " +"traffic." +msgstr "" +"Argumentos sin procesar adicionales de iptables para clasificar el " +"tráfico de destino de la zona, p.e. -p tcp --dport 443 para que " +"solo coincida con el tráfico HTTPS saliente." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:312 +msgid "" +"Additional raw iptables arguments to classify zone source traffic, " +"e.g. -p tcp --sport 443 to only match inbound HTTPS traffic." +msgstr "" +"Argumentos sin procesar adicionales de iptables para clasificar el " +"tráfico de origen de zona, p.e. -p tcp --sport 443 para que " +"solo coincida con el tráfico HTTPS entrante." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:107 +msgid "Address family, Internal IP address must match" +msgstr "Familia de direcciones, la dirección IP interna debe coincidir" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:135 +msgid "" +"Address family, source address, destination address, rewrite IP address must " +"match" +msgstr "" +"La familia de direcciones, la dirección de origen, la dirección de destino, " +"la dirección IP de reescritura debe coincidir" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:162 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:183 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:182 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:114 +msgid "Advanced Settings" +msgstr "Ajustes avanzados" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:283 +msgid "Allow \"invalid\" traffic" +msgstr "Permitir tráfico \"inválido\"" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:385 +msgid "Allow forward from source zones:" +msgstr "Permitir reenvío desde zonas de origen:" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:344 +msgid "Allow forward to destination zones:" +msgstr "Permitir reenvío a zonas de destino:" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:551 +msgid "Any" +msgstr "Cualquiera" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:479 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:495 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:352 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:368 +msgid "Any day" +msgstr "Cualquier día" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:317 +msgid "" +"Apply a bitwise XOR of the given value and the existing mark value on " +"established connections. Format is value[/mask]. If a mask is specified then " +"those bits set in the mask are zeroed out." +msgstr "" +"Aplique un XOR bit a bit del valor dado y el valor de marca existente en las " +"conexiones establecidas. El formato es el valor [/ máscara]. Si se " +"especifica una máscara, esos bits establecidos en la máscara se ponen a cero." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:264 +msgid "Apply the given DSCP class or value to established connections." +msgstr "Aplique la clase o valor DSCP dado a las conexiones establecidas." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:439 +msgid "Assign the specified connection tracking helper to matched traffic." +msgstr "" +"Asigne el asistente de seguimiento de conexión especificado al tráfico " +"coincidente." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:286 +msgid "Automatic helper assignment" +msgstr "Asignación automática de ayuda" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:286 +msgid "" +"Automatically assign conntrack helpers based on traffic protocol and port" +msgstr "" +"Asigna automáticamente ayudantes de conntrack según el protocolo de tráfico " +"y el puerto" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:61 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:62 +msgid "Comment" +msgstr "Comentario" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:115 +msgid "Conntrack Settings" +msgstr "Configuraciones de Conntrack" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:290 +msgid "Conntrack helpers" +msgstr "Ayudantes de Conntrack" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/custom.js:16 +msgid "Contents have been saved." +msgstr "Se han guardado los contenidos." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:700 +msgid "Continue" +msgstr "Continuar" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:204 +msgid "Counters" +msgstr "Contadores" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:231 +msgid "Covered devices" +msgstr "Interfaces cubiertas" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:183 +msgid "Covered networks" +msgstr "Redes cubiertas" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:236 +msgid "Covered subnets" +msgstr "Subredes cubiertas" + +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:62 +msgid "Custom Rules" +msgstr "Reglas personalizadas" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/custom.js:26 +msgid "" +"Custom rules allow you to execute arbitrary iptables commands which are not " +"otherwise covered by the firewall framework. The commands are executed after " +"each firewall restart, right after the default ruleset has been loaded." +msgstr "" +"Las reglas personalizadas le permiten ejecutar comandos de iptables que no " +"están disponibles en el marco del Cortafuegos. Los comandos se ejecutarán " +"tras cualquier reinicio del Cortafuegos, justo tras haber cargado el " +"conjunto de reglas predeterminadas." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:421 +msgid "DSCP classification" +msgstr "Clasificación DSCP" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:263 +msgid "DSCP mark" +msgstr "Marca DSCP" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:297 +msgid "DSCP mark required" +msgstr "Marca DSCP requerida" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:402 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:270 +msgid "Destination address" +msgstr "Dirección de destino" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:404 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:278 +msgid "Destination port" +msgstr "Puerto de destino" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:396 +msgid "Destination zone" +msgstr "Zona de destino" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:269 +msgid "Device name" +msgstr "Nombre del dispositivo" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:283 +msgid "" +"Do not install extra rules to reject forwarded traffic with conntrack state " +"invalid. This may be required for complex asymmetric route setups." +msgstr "" +"No instale reglas adicionales para rechazar el tráfico reenviado con el " +"estado conntrack inválido. Esto puede ser necesario para " +"configuraciones complejas de rutas asimétricas." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:59 +msgid "Drop invalid packets" +msgstr "Descartar paquetes inválidos" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:232 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:231 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:210 +msgid "Enable" +msgstr "Activar" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:306 +msgid "Enable NAT Loopback" +msgstr "Activar bucle de retorno de NAT" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:45 +msgid "Enable SYN-flood protection" +msgstr "Activar protección contra inundaciones SYN" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:296 +msgid "Enable logging on this zone" +msgstr "Activar registro en esta zona" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:168 +msgid "" +"Enable network address and port translation IPv4 (NAT4 or NAPT4) for " +"outbound traffic on this zone. This is typically enabled on the wan " +"zone." +msgstr "" +"Activa la dirección de red y la traducción de puertos IPv4 (NAT4 o NAPT4) " +"para el tráfico saliente en esta zona. Esto normalmente está activo en la " +"zona wan." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:243 +msgid "" +"Enable network address and port translation IPv6 (NAT6 or NAPT6) for " +"outbound traffic on this zone." +msgstr "" +"Activa la dirección de red y la traducción de puertos IPv6 (NAT6 o NAPT6) " +"para el tráfico saliente en esta zona." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:211 +msgid "Enabled" +msgstr "Activado" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:205 +msgid "Enables packet and byte count tracking for the set." +msgstr "Activa el seguimiento del conteo de paquetes y bytes para el conjunto." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:339 +msgid "Expecting: %s" +msgstr "Esperando: %s" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:290 +msgid "Explicitly choses allowed connection tracking helpers for zone traffic" +msgstr "" +"Elige explícitamente los ayudantes de seguimiento de conexión permitidos " +"para el tráfico de zona" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:274 +msgid "External IP address" +msgstr "Dirección IP externa" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:279 +msgid "External port" +msgstr "Puerto externo" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:349 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:470 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:342 +msgid "Extra arguments" +msgstr "Argumentos extra" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:322 +msgid "Extra destination arguments" +msgstr "Argumentos de destino adicionales" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:116 +msgid "Extra iptables arguments" +msgstr "Argumentos adicionales de iptables" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:312 +msgid "Extra source arguments" +msgstr "Argumentos fuente adicionales" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:67 +msgid "Family" +msgstr "Familia" + +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:3 +msgid "Firewall" +msgstr "Cortafuegos" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/custom.js:25 +msgid "Firewall - Custom Rules" +msgstr "Cortafuegos - Reglas personalizadas" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:20 +msgid "Firewall - IP sets" +msgstr "Cortafuegos: Conjuntos de IP" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:172 +msgid "Firewall - NAT Rules" +msgstr "Cortafuegos - Reglas de NAT" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:152 +msgid "Firewall - Port Forwards" +msgstr "Cortafuegos - Reenvío de puertos" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:173 +msgid "Firewall - Traffic Rules" +msgstr "Cortafuegos - Reglas de tráfico" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:38 +msgid "Firewall - Zone Settings" +msgstr "Cortafuegos - Ajustes de Zona" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:693 +msgid "Firewall configuration migration" +msgstr "Migración de configuración del Cortafuegos" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:82 +msgid "Flow offloading type" +msgstr "Tipo de descarga de flujo" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:64 +msgid "Forward" +msgstr "Reenviar" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:34 +msgid "" +"Forwarded %{ipv6?%{ipv4?IPv4 and IPv6:IPv6}:" +"IPv4}%{proto?, protocol %{proto#%{next?, }%{item.name}}}%{mark?, mark %{mark.val}" +"}" +msgstr "" +"Reenviado %{ipv6?%{ipv4?IPv4 e IPv6:IPv6}:" +"IPv4}%{proto?, protocolo %{proto#%{next?, }%{item.name}}}%{mark?, marca %{mark.val}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:485 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:358 +msgid "Friday" +msgstr "Viernes" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:45 +msgid "" +"From %{src}%{src_device?, interface %{src_device}}%{src_ip?, IP " +"%{src_ip#%{next?, }%{item.ival}}}%{src_port?, port %{src_port#%{next?, }" +"%{item." +"ival}}}" +msgstr "" +"Desde %{src}%{src_device?, interfaz %{src_device}}%{src_ip?, IP " +"%{src_ip#%{next?, }%{item.ival}}}%{src_port?, " +"puerto %{src_port#%{next?, }%{item.ival}}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:64 +msgid "" +"From %{src}%{src_device?, interface %{src_device}}%{src_ip?, IP " +"%{src_ip#%{next?, }%{item.ival}}}%{src_port?, port %{src_port#%{next?, }" +"%{item." +"ival}}}%{src_mac?, MAC %{src_mac#%{next?, }%{item.ival}" +"}}" +msgstr "" +"Desde %{src}%{src_device?, interfaz %{src_device}}%{src_ip?, IP " +"%{src_ip#%{next?, }%{item.ival}}}%{src_port?, " +"puerto %{src_port#%{next?, }%{item.ival}}}%{src_mac?, MAC " +"%{src_mac#%{next?, }%{item.ival}}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:52 +msgid "" +"From %{src}%{src_ip?, IP %{src_ip#%{next?, }%{item.ival}}}%{src_port?, port %{src_port#%{next?, }%{item.ival}}}%{src_mac?, " +"MAC %{src_mac#%{next?, }%{item.ival}}}" +msgstr "" +"Desde %{src}%{src_ip?, IP %{src_ip#%{next?, }%{item." +"ival}}}%{src_port?, puerto %{src_port#%{next?, }%{item.ival}}}%{src_mac?, MAC %{src_mac#%{next?, }%{item.ival}}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:161 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:182 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:181 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:41 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:113 +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:17 +msgid "General Settings" +msgstr "Ajustes generales" + +#: applications/luci-app-firewall/root/usr/share/rpcd/acl.d/luci-app-firewall.json:3 +msgid "Grant access to firewall configuration" +msgstr "Conceder acceso a la configuración del Cortafuegos" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:85 +msgid "Hardware based offloading for routing with/without NAT." +msgstr "Descarga basada en hardware para el enrutamiento con/sin NAT." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:85 +msgid "Hardware flow offloading" +msgstr "Descarga de flujo por hardware" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:144 +msgid "IP (range)" +msgstr "IP (rango)" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:32 +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:53 +msgid "IP Sets" +msgstr "Conjuntos de IP" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:152 +msgid "IPs/Networks" +msgstr "IPs/Redes" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:107 +msgid "IPs/Networks/MACs" +msgstr "IPs/Redes/MACs" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:68 +msgid "IPv4" +msgstr "IPv4" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:191 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:280 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:219 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:256 +msgid "IPv4 and IPv6" +msgstr "IPv4 e IPv6" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:192 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:281 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:220 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:257 +msgid "IPv4 only" +msgstr "Solo IPv4" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:69 +msgid "IPv6" +msgstr "IPv6" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:242 +msgid "IPv6 Masquerading" +msgstr "Enmascarar la IPv6" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:193 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:282 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:221 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:258 +msgid "IPv6 only" +msgstr "Solo IPv6" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:252 +msgid "Inbound device" +msgstr "Dispositivo de entrada" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:187 +msgid "Include File" +msgstr "Incluir archivo" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:40 +msgid "" +"Incoming %{ipv6?%{ipv4?IPv4 and IPv6:IPv6}:" +"IPv4}%{proto?, protocol %{proto#%{next?, }%{item.types?%{item.name}ICMP " +"with types %{item.types#%{next?, }%{item}}:" +"%{item.name}}}}%{mark?, mark %{mark.val}}%{helper?, helper %{helper.inv?%{helper.val}:%{helper.val}}}" +msgstr "" +"Entrada %{ipv6?%{ipv4?IPv4 and IPv6:IPv6}:" +"IPv4}%{proto?, protocol %{proto#%{next?, }%{item.types?%{item.name}ICMP " +"with types %{item.types#%{next?, }%{item}}:" +"%{item.name}}}}%{mark?, mark %{mark.val}}%{helper?, helper %{helper.inv?%{helper.val}:%{helper.val}}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:180 +msgid "Initial Hash Size" +msgstr "Tamaño de hash inicial" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:62 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:151 +msgid "Input" +msgstr "Entrada" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:292 +msgid "Internal IP address" +msgstr "Dirección IP interna" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:297 +msgid "Internal port" +msgstr "Puerto interno" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:287 +msgid "Internal zone" +msgstr "Zona interna" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:153 +msgid "Intra zone forward" +msgstr "Reenvío dentro de la zona" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:305 +msgid "Invalid DSCP mark" +msgstr "Marca DSCP inválida" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:373 +msgid "Invalid limit value" +msgstr "Valor límite no válido" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:47 +msgid "Invalid set name" +msgstr "Nombre del conjunto no válido" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:383 +msgid "Limit burst" +msgstr "Límite de ráfaga" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:299 +msgid "Limit log messages" +msgstr "Limitar registro de mensajes" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:349 +msgid "Limit matching" +msgstr "Limitar coincidencia" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:79 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:96 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:74 +msgid "" +"Limit matching to %{limit.num} packets per %{limit.unit}%{limit.burst? burst %{limit.burst}}" +msgstr "" +"Limitar coincidencia a %{limit.num} paquetes por %{limit." +"unit}%{limit.burst? interrumpir %{limit.burst}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:175 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:250 +msgid "Limited masquerading enabled" +msgstr "Enmascaramiento limitado activado" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:350 +msgid "Limits traffic matching to the specified rate." +msgstr "Limita el tráfico que coincide con la velocidad especificada." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:311 +msgid "Loopback source IP" +msgstr "IP de origen de bucle de retorno" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:291 +msgid "MASQUERADE - Automatically rewrite to outbound interface IP" +msgstr "" +"MASQUERADE - Reescribir automáticamente a la IP de la interfaz de salida" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:180 +msgid "MSS clamping" +msgstr "Sujeción MSS" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:167 +msgid "Masquerading" +msgstr "Enmascaramiento" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:213 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:214 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:193 +msgid "Match" +msgstr "Coincidir" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:263 +msgid "Match DSCP" +msgstr "Coincidir DSCP" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:293 +msgid "Match ICMP type" +msgstr "Coincidir con tipo ICMP" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:249 +msgid "Match device" +msgstr "Dispositivo de coincidencia" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:271 +msgid "Match forwarded traffic directed at the given IP address." +msgstr "Haga coincidir el tráfico reenviado dirigido a la dirección IP dada." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:279 +msgid "" +"Match forwarded traffic directed at the given destination port or port range." +msgstr "" +"Haga coincidir el tráfico reenviado dirigido al puerto de destino o rango de " +"puertos dados." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:254 +msgid "Match forwarded traffic from this IP or range." +msgstr "Haga coincidir el tráfico reenviado desde esta IP o rango." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:262 +msgid "" +"Match forwarded traffic originating from the given source port or port range." +msgstr "" +"Haga coincidir el tráfico reenviado que se origina en el puerto fuente o " +"rango de puertos dados." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:326 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:446 +msgid "Match helper" +msgstr "Ayudante de partido" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:280 +msgid "" +"Match incoming traffic directed at the given destination port or port range " +"on this host" +msgstr "" +"Coincidir con tráfico de entrada dirigido al puerto o rango de puertos " +"destino en este host" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:316 +msgid "Match mark" +msgstr "Marca de partido" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:326 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:446 +msgid "Match traffic using the specified connection tracking helper." +msgstr "" +"Haga coincidir el tráfico con el ayudante de seguimiento de conexión " +"especificado." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:319 +msgid "Matches a specific firewall mark or a range of different marks." +msgstr "" +"Coincide con una marca de Cortafuegos específica o un rango de marcas " +"diferentes." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:332 +msgid "Matches forwarded traffic using the specified outbound network device." +msgstr "" +"Coincide con el tráfico reenviado utilizando el dispositivo de red saliente " +"especificado." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:264 +msgid "Matches traffic carrying the specified DSCP marking." +msgstr "Coincide con el tráfico que lleva la marca DSCP especificada." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:113 +msgid "Max Entries" +msgstr "Máximo de entradas" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:172 +msgid "Max Length" +msgstr "Longitud máxima" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:384 +msgid "" +"Maximum initial number of packets to match: this number gets recharged by " +"one every time the limit specified above is not reached, up to this number." +msgstr "" +"Número inicial máximo de paquetes que deben coincidir: este número se " +"recarga en uno cada vez que no se alcanza el límite especificado " +"anteriormente, hasta este número." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:481 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:354 +msgid "Monday" +msgstr "Lunes" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:491 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:364 +msgid "Month Days" +msgstr "Días del mes" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:175 +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:44 +msgid "NAT Rules" +msgstr "Reglas de NAT" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:173 +msgid "" +"NAT rules allow fine grained control over the source IP to use for outbound " +"or forwarded traffic." +msgstr "" +"Las reglas NAT permiten un control detallado sobre la IP de origen que se " +"utilizará para el tráfico saliente o reenviado." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:183 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:42 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:52 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:210 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:189 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:129 +msgid "Name" +msgstr "Nombre" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:166 +msgid "Netmask" +msgstr "Máscara de red" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:83 +msgid "None" +msgstr "Ninguno" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:77 +msgid "Not fully compatible with QoS/SQM." +msgstr "No es totalmente compatible con QoS/SQM." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:275 +msgid "Only match incoming traffic directed at the given IP address." +msgstr "Coincidir sólo con tráfico de entrada a esta dirección IP." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:256 +msgid "Only match incoming traffic from these MACs." +msgstr "Coincidir sólo con tráfico de entrada desde estas MACs." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:261 +msgid "Only match incoming traffic from this IP or range." +msgstr "Coincidir sólo con tráfico de entrada desde esta IP o rango." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:266 +msgid "" +"Only match incoming traffic originating from the given source port or port " +"range on the client host" +msgstr "" +"Solo coincida con el tráfico entrante que se origina desde el puerto de " +"origen o el rango de puertos en el host del cliente" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:253 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:331 +msgid "Outbound device" +msgstr "Dispositivo de salida" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:246 +msgid "Outbound zone" +msgstr "Zona de salida" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:63 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:152 +msgid "Output" +msgstr "Salida" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:75 +msgid "Packet Field Match" +msgstr "Emparejar los paquetes" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:76 +msgid "" +"Packet fields to match upon.
Syntax: direction_datatype. e.g.: " +"src_port, dest_net.
Directions: src, dst. " +"Datatypes: ip, port, mac, net, set.
Direction prefixes are " +"optional.
*Note: datatype set is unsupported in fw4." +msgstr "" +"Campos de paquetes para hacer coincidir.
Sintaxis: " +"direction_datatype. p.e.: src_port, dest_net.
Direcciones: src, dst. Tipos de datos: ip, port, mac, " +"net, set.
Los prefijos de dirección son opcionales.
*Nota: " +"el tipo de dato set no es compatible con fw4." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:350 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:471 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:343 +msgid "Passes additional arguments to iptables. Use with care!" +msgstr "Ingrese argumentos adicionales a iptables. ¡Utilícelo con cuidado!" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:309 +msgid "" +"Passing raw iptables arguments to source and destination traffic " +"classification rules allows to match packets based on other criteria than " +"interfaces or subnets. These options should be used with extreme care as " +"invalid values could render the firewall ruleset broken, completely exposing " +"all services." +msgstr "" +"Pasar argumentos de iptables sin procesar a las reglas de clasificación de " +"tráfico de origen y destino permite hacer coincidir paquetes basados en " +"otros criterios que no sean interfaces o subredes. Estas opciones se deben " +"usar con extremo cuidado, ya que los valores inválidos pueden hacer que el " +"conjunto de reglas del cortafuegos se rompa, exponiendo completamente todos " +"los servicios." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:188 +msgid "Path to file of CIDRs, subnets, host IPs, etc.
" +msgstr "Ruta al archivo de CIDR, subredes, IP de host, etc.
" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:155 +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:26 +msgid "Port Forwards" +msgstr "Reenvío de puertos" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:153 +msgid "" +"Port forwarding allows remote computers on the Internet to connect to a " +"specific computer or service within the private LAN." +msgstr "" +"El reenvío de puertos permite que los computadores remotos en Internet se " +"conecten a un computador o servicio específico dentro de la LAN privada." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:158 +msgid "Port range" +msgstr "Rango de puertos" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:237 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:289 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:242 +msgid "Protocol" +msgstr "Protocolo" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:298 +msgid "" +"Redirect matched incoming traffic to the given port on the internal host" +msgstr "" +"Redirigir el tráfico de entrada que coincida al puerto dado en el host " +"interno" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:293 +msgid "Redirect matched incoming traffic to the specified internal host" +msgstr "" +"Redirigir el tráfico de entrada que coincida al host interno especificado" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:122 +msgid "Refer To External Set" +msgstr "Consulta el Conjunto externo" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:320 +msgid "Reflection zones" +msgstr "Zonas de reflexión" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:85 +msgid "Requires hardware NAT support." +msgstr "Requiere soporte de NAT por hardware." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:272 +msgid "Restrict Masquerading to given destination subnets" +msgstr "Restringir enmascaramiento a las subredes destino" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:261 +msgid "Restrict Masquerading to given source subnets" +msgstr "Restringir enmascaramiento a las subredes origen" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:188 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:277 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:216 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:255 +msgid "Restrict to address family" +msgstr "Restringir para dirigirse a la familia" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:297 +msgid "Rewrite IP address" +msgstr "Reescribir dirección IP" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:298 +msgid "Rewrite matched traffic to the specified source IP address." +msgstr "" +"Reescribe el tráfico coincidente a la dirección IP de origen especificada." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:312 +msgid "Rewrite matched traffic to the specified source port or port range." +msgstr "" +"Reescribe el tráfico coincidente al puerto de origen o rango de puertos " +"especificados." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:311 +msgid "Rewrite port" +msgstr "Reescribir puerto" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:76 +msgid "Routing/NAT Offloading" +msgstr "Enrutamiento/Descarga NAT" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:290 +msgid "SNAT - Rewrite to specific source IP or port" +msgstr "SNAT - Reescribe a una fuente específica IP o puerto" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:486 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:359 +msgid "Saturday" +msgstr "Sábado" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:316 +msgid "Set mark" +msgstr "Establecer marca" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:318 +msgid "" +"Set the given mark value on established connections. Format is value[/mask]. " +"If a mask is specified then only those bits set in the mask are modified." +msgstr "" +"Establezca el valor de marca dado en las conexiones establecidas. El formato " +"es el valor [/máscara]. Si se especifica una máscara, sólo se modifican los " +"bits establecidos en la máscara." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:84 +msgid "Software based offloading for routing/NAT." +msgstr "Descarga basada en software para el enrutamiento/NAT." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:84 +msgid "Software flow offloading" +msgstr "Descarga de flujo por software" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:260 +msgid "Source IP address" +msgstr "Dirección IP de origen" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:255 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:386 +msgid "Source MAC address" +msgstr "Dirección MAC de origen" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:387 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:253 +msgid "Source address" +msgstr "Dirección de origen" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:265 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:389 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:261 +msgid "Source port" +msgstr "Puerto de origen" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:241 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:372 +msgid "Source zone" +msgstr "Zona de origen" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:270 +msgid "" +"Specifies whether to tie this traffic rule to a specific inbound or outbound " +"network device." +msgstr "" +"Especifica si se debe vincular esta regla de tráfico a un dispositivo de red " +"entrante o saliente específico." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:311 +msgid "" +"Specifies whether to use the external or the internal IP address for " +"reflected traffic." +msgstr "" +"Especifica si se debe usar la dirección IP externa o interna para el tráfico " +"reflejado." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:510 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:383 +msgid "Start Date (yyyy-mm-dd)" +msgstr "Fecha de inicio (aaaa-mm-dd)" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:502 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:375 +msgid "Start Time (hh:mm:ss)" +msgstr "Hora de inicio (hh:mm:ss)" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:514 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:387 +msgid "Stop Date (yyyy-mm-dd)" +msgstr "Fecha de finalización (aaaa-mm-dd)" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:506 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:379 +msgid "Stop Time (hh:mm:ss)" +msgstr "Hora de finalización (hh:mm:ss)" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:130 +msgid "Storage Method" +msgstr "Método de almacenamiento" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:480 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:353 +msgid "Sunday" +msgstr "Domingo" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:694 +msgid "" +"The existing firewall configuration needs to be changed for LuCI to function " +"properly." +msgstr "" +"La configuración del cortafuegos existente debe cambiarse para que LuCI " +"funcione correctamente." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:39 +msgid "" +"The firewall creates zones over your network interfaces to control network " +"traffic flow." +msgstr "" +"El cortafuegos crea zonas sobre tus interfaces de red para controlar el " +"flujo de tráfico de la red." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:227 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:340 +msgid "" +"The options below control the forwarding policies between this zone (%s) and " +"other zones. Destination zones cover forwarded traffic " +"originating from %q. Source zones match forwarded " +"traffic from other zones targeted at %q. The forwarding " +"rule is unidirectional, e.g. a forward from lan to wan does " +"not imply a permission to forward from wan to lan as well." +msgstr "" +"Estas opciones controlan las políticas de reenvío entre esta zona (%s) y " +"otras. Las zonas de origen cubren el tráfico reenviado desde " +"%q. Las zonas de origen coinciden con el tráfico " +"reenviado desde otras zonas dirigido a %q. La regla de " +"reenvío es unidireccional, por ejemplo una regla de reenvío desde " +"la LAN a la WAN no implica permiso para reenviar desde la WAN a la " +"LAN también." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:125 +msgid "" +"This section defines common properties of %q. The input and " +"output options set the default policies for traffic entering and " +"leaving this zone while the forward option describes the policy for " +"forwarded traffic between different networks within the zone. Covered " +"networks specifies which available networks are members of this zone." +msgstr "" +"Esta sección define propiedades comunes de %q. Las opciones de entrada y salida marcan las políticas por defecto para el tráfico que " +"entra y sale de esta zona mientras que la opción reenviar describe " +"la política para tráfico reenviado entre diferentes redes dentro de la zona. " +"Redes cubiertas especifica qué redes disponibles son miembros de " +"esta zona." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:484 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:357 +msgid "Thursday" +msgstr "Jueves" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:184 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:183 +msgid "Time Restrictions" +msgstr "Restricciones de tiempo" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:518 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:391 +msgid "Time in UTC" +msgstr "Tiempo en UTC" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:244 +msgid "Time restrictions are enabled for this rule" +msgstr "Las restricciones de tiempo están activadas para esta regla" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:196 +msgid "Timeout" +msgstr "Tiempo de espera" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:77 +msgid "" +"To %{dest}%{dest_device?, interface %{dest_device}}%{dest_ip?, IP " +"%{dest_ip#%{next?, }%{item.ival}
}}%{dest_port?, port %{dest_port#%{next?, }" +"%{item." +"ival}}}" +msgstr "" +"A %{dest}%{dest_device?, interfaz %{dest_device}}%{dest_ip?, IP " +"%{dest_ip#%{next?, }%{item.ival}}}%{dest_port?, " +"puerto %{dest_port#%{next?, }%{item.ival}}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:55 +msgid "" +"To %{dest}%{dest_device?, via interface %{dest_device}}%{dest_ip?, IP %{dest_ip#%{next?, }%{item.ival}}}%{dest_port?, port " +"%{dest_port#%{next?, }%{item.ival}}}" +msgstr "" +"A %{dest}%{dest_device?, via interfaz %{dest_device}}%{dest_ip?, " +"IP %{dest_ip#%{next?, }%{item.ival}}}%{dest_port?, " +"puerto %{dest_port#%{next?, }%{item.ival}}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:61 +msgid "" +"To %{dest}%{dest_ip?, IP %{dest_ip#%{next?, }%{item.ival}}}%{dest_port?, port %{dest_port#%{next?, }%{item.ival}}}" +msgstr "" +"A %{dest}%{dest_ip?, IP %{dest_ip#%{next?, }%{item." +"ival}}}%{dest_port?, puerto %{dest_port#%{next?, }%{item.ival}}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:439 +msgid "Tracking helper" +msgstr "Ayudante de seguimiento" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:176 +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:35 +msgid "Traffic Rules" +msgstr "Reglas de tráfico" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:174 +msgid "" +"Traffic rules define policies for packets travelling between different " +"zones, for example to reject traffic between certain hosts or to open WAN " +"ports on the router." +msgstr "" +"Las reglas de tráfico definen políticas para paquetes que viajan entre " +"diferentes zonas, por ejemplo, para rechazar el tráfico entre ciertos hosts " +"o para abrir puertos WAN en el enrutador." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:482 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:355 +msgid "Tuesday" +msgstr "Martes" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/custom.js:19 +msgid "Unable to save contents: %s" +msgstr "No se puede guardar el contenido: %s" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:197 +msgid "" +"Unit: seconds. Default 0 means the entry is added permanently " +"to the set.
Max: 2147483 seconds." +msgstr "" +"Unidad: segundos. El 0 predeterminado significa que la entrada " +"se agrega permanentemente al conjunto.
Máx.: 2147483 segundos." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:341 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:461 +msgid "Unknown or not installed conntrack helper \"%s\"" +msgstr "Ayudante de Conntrack desconocido o no instalado \"%s\"" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:186 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:190 +msgid "Unnamed NAT" +msgstr "NAT sin nombre" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:169 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:184 +msgid "Unnamed forward" +msgstr "Reenvío sin nombre" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:191 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:211 +msgid "Unnamed rule" +msgstr "Regla sin nombre" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:57 +msgid "Unnamed set" +msgstr "Conjunto sin nombre" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:130 +msgid "Unnamed zone" +msgstr "Zona sin nombre" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:597 +msgid "Unrecognized protocol" +msgstr "Protocolo no reconocido" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:695 +msgid "" +"Upon pressing \"Continue\", \"redirect\" sections with target \"SNAT\" will " +"be converted to \"nat\" sections and the firewall will be restarted to apply " +"the updated configuration." +msgstr "" +"Al presionar \"Continuar\", las secciones de \"redireccionamiento\" con " +"\"SNAT\" de destino se convertirán en secciones \"nat\" y el cortafuegos se " +"reiniciará para aplicar la configuración actualizada." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:315 +msgid "Use external IP address" +msgstr "Usar dirección IP externa" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:314 +msgid "Use internal IP address" +msgstr "Usar dirección IP interna" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:247 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:378 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:322 +msgid "Use ipset" +msgstr "Usar ipset" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:231 +msgid "" +"Use this option to classify zone traffic by raw, non-uci managed " +"network devices." +msgstr "" +"Use esta opción para clasificar el tráfico de zona por raw, dispositivos de " +"red no administrados uci." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:236 +msgid "" +"Use this option to classify zone traffic by source or destination subnet " +"instead of networks or devices." +msgstr "" +"Use esta opción para clasificar el tráfico de zona por subred de origen o " +"destino en lugar de redes o dispositivos." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:331 +msgid "Valid firewall mark required" +msgstr "Se requiere una marca de cortafuegos válida" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:483 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:356 +msgid "Wednesday" +msgstr "Miércoles" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:475 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:348 +msgid "Week Days" +msgstr "Días de la semana" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:420 +msgid "XOR firewall mark" +msgstr "Marca de cortafuegos XOR" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:316 +msgid "XOR mark" +msgstr "Marca XOR" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:28 +msgid "Your device does not run firewall4." +msgstr "Su dispositivo no ejecuta firewall4." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:26 +msgid "Your device runs firewall4." +msgstr "Tu dispositivo ejecuta firewall4." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:143 +msgid "Zone ⇒ Forwardings" +msgstr "Zona ⇒ Reenvíos" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:101 +msgid "Zones" +msgstr "Zonas" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:320 +msgid "" +"Zones from which reflection rules shall be created. If unset, only the " +"destination zone is used." +msgstr "" +"Zonas a partir de las cuales se crearán las reglas de reflexión. Si no está " +"configurado, solo se utiliza la zona de destino." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:415 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:70 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:159 +msgid "accept" +msgstr "aceptar" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:268 +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:463 +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:486 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:270 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:301 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:328 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:392 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:407 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:441 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:448 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:266 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:282 +msgid "any" +msgstr "cualquiera" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:53 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:86 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:65 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:78 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:46 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:56 +msgid "any zone" +msgstr "cualquier zona" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:298 +msgid "any/all" +msgstr "cualquiera/todos" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:419 +msgid "apply firewall mark" +msgstr "aplicar marca de cortafuegos" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:418 +msgid "assign conntrack helper" +msgstr "asignar ayudante de Conntrack" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:194 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:222 +msgid "automatic" +msgstr "automático" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:131 +msgid "bitmap" +msgstr "bitmap" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:137 +msgid "bitmap is ipv4 only" +msgstr "bitmap es solo ipv4" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:72 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:89 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:67 +msgid "day" +msgstr "día" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:93 +msgid "dest_ip: Destination IP" +msgstr "dest_ip: IP de destino" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:95 +msgid "dest_mac: Destination MAC addr" +msgstr "dest_mac: Dirección MAC de destino" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:96 +msgid "dest_net: Destination (sub)net" +msgstr "dest_net: (Sub)red de destino" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:94 +msgid "dest_port: Destination Port" +msgstr "dest_port: Puerto de destino" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:98 +msgid "dest_set: Destination ipset*" +msgstr "dest_set: conjunto de ips de destino*" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:315 +msgid "do not rewrite" +msgstr "no reescribir" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:417 +msgid "don't track" +msgstr "no seguir" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:414 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:69 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:158 +msgid "drop" +msgstr "descartar" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:21 +msgid "" +"firewall4 supports referencing and creating IP sets to simplify matching of " +"large address lists without the need to create one rule per item to match. " +"Port ranges in ipsets are unsupported by firewall4.
" +msgstr "" +"firewall4 admite la referencia y la creación de conjuntos de IP para " +"simplificar la coincidencia de listas de direcciones grandes sin la " +"necesidad de crear una regla por elemento a coincidir. Los rangos de puertos " +"en ipsets no son compatibles con firewall4.
" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:159 +msgid "fromport-toport" +msgstr "de puerto-a puerto" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:132 +msgid "hash" +msgstr "hash" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:72 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:89 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:67 +msgid "hour" +msgstr "hora" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:81 +msgid "ip: IP addr" +msgstr "ip: Dirección IP" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:153 +msgid "ip[/cidr]
" +msgstr "ip[/cidr]
" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:145 +msgid "ip[/cidr]
For use with Match datatypes: *_ip." +msgstr "" +"ip[/cidr]
Para usar con los tipos de datos de iguales:*_ip." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:70 +msgid "ipv4" +msgstr "ipv4" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:133 +msgid "list" +msgstr "lista" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:83 +msgid "mac: MAC addr" +msgstr "mac: Dirección MAC" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:108 +msgid "macaddr|ip[/cidr]
" +msgstr "macaddr|ip[/cidr]
" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:72 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:89 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:67 +msgid "minute" +msgstr "minuto" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:84 +msgid "net: (sub)net" +msgstr "net: (Sub)red" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:82 +msgid "port: Port" +msgstr "port: Puerto" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:416 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:68 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:157 +msgid "reject" +msgstr "rechazar" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:72 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:89 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:67 +msgid "second" +msgstr "segundo" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:86 +msgid "set: ipset*" +msgstr "set: ipset*" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:92 +msgid "src_Set: Source ipset*" +msgstr "src_Set: IPset de origen*" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:87 +msgid "src_ip: Source IP" +msgstr "src_ip: IP de origen" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:89 +msgid "src_mac: Source MAC addr" +msgstr "src_mac: Dirección MAC de origen" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:90 +msgid "src_net: Source (sub)net" +msgstr "src_net: (Sub)red de origen" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:88 +msgid "src_port: Source Port" +msgstr "src_port: Puerto de origen" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:53 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:62 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:86 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:65 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:78 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:56 +msgid "this device" +msgstr "este dispositivo" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:124 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:226 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:339 +msgid "this new zone" +msgstr "esta nueva zona" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:354 +msgid "unlimited" +msgstr "ilimitado" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:251 +msgid "unspecified" +msgstr "sin especificar" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:114 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:173 +msgid "up to 65536 entries." +msgstr "hasta 65536 entradas." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:339 +msgid "valid firewall mark" +msgstr "marca de cortafuegos válida" + +#~ msgid "Software based offloading for routing/NAT" +#~ msgstr "Descarga basada en software para enrutamiento/NAT" + +#~ msgid "" +#~ "Enable network address and port translation (NAT or NAPT) for outbound " +#~ "traffic on this zone. This is typically enabled on the wan zone." +#~ msgstr "" +#~ "Habilite la dirección de red y la traducción de puertos (NAT o NAPT) para " +#~ "el tráfico saliente en esta zona. Esto normalmente está habilitado en la " +#~ "zona wan." + +#~ msgid "" +#~ "Forwarded IPv4%{proto?, protocol %{proto#%{next?, }%{item.name}}}%{mark?, mark %{mark." +#~ "val}}" +#~ msgstr "" +#~ "Reenviar IPv4%{proto?, protocolo %{proto#%{next?, }%{item.name}}}%{mark?, marca %{mark.val}}" + +#~ msgid "" +#~ "Incoming IPv4%{proto?, protocol %{proto#%{next?, }%{item.types?%{item.name}ICMP with types %{item.types#%{next?, }%{item}}:%{item.name}}}}%{mark?, mark %{mark.val}}%{helper?, helper %{helper.inv?%{helper.val}:%{helper.val}" +#~ "}}" +#~ msgstr "" +#~ "IPv4 entrante%{proto?, protocolo %{proto#%{next?, }%{item.types?%{item.name}ICMP con tipos %{item.types#%{next?, }%{item}}:%{item.name}}}}%{mark?, mark %{mark.val}}%{helper?, ayudante %{helper.inv?%{helper.val}:%{helper.val}}}" diff --git a/luci-app-firewall/po/fa/firewall.po b/luci-app-firewall/po/fa/firewall.po new file mode 100644 index 000000000..cea87c6f6 --- /dev/null +++ b/luci-app-firewall/po/fa/firewall.po @@ -0,0 +1,1633 @@ +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2010-03-30 17:00+0200\n" +"PO-Revision-Date: 2024-07-05 08:09+0000\n" +"Last-Translator: Danial Behzadi \n" +"Language-Team: Persian \n" +"Language: fa\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=n > 1;\n" +"X-Generator: Weblate 5.7-dev\n" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:48 +msgid "" +"%{src?%{dest?Forwarded:Incoming}:Outgoing} %{ipv6?%{ipv4?IPv4 and " +"IPv6:IPv6}:IPv4}%{proto?, protocol " +"%{proto#%{next?, }%{item.types?%{item." +"name}ICMP with types %{item.types#%{next?, }" +"%{item}}:%{item.name}}}}%{mark?, mark " +"%{mark.val}}%{dscp?, DSCP %{dscp." +"inv?%{dscp.val}:%{dscp.val}}}%{helper?, helper " +"%{helper.inv?%{helper.val}:%{helper." +"val}}}" +msgstr "" +"%{src?%{dest?Forwarded:Incoming}:Outgoing} %{ipv6?%{ipv4?IPv4 and " +"IPv6:IPv6}:IPv4}%{proto?, protocol " +"%{proto#%{next?, }%{item.types?%{item." +"name}ICMP با انواع ICMP %{item.types#%{next?, }" +"%{item}}:%{item.name}}}}%{mark?, mark " +"%{mark.val}}%{dscp?, DSCP %{dscp." +"inv?%{dscp.val}:%{dscp.val}}}%{helper?, helper " +"%{helper.inv?%{helper.val}:%{helper." +"val}}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:463 +msgid "-- add IP --" +msgstr "-- افزودن IP --" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:521 +msgid "-- add MAC --" +msgstr "-- افزودن مک آدرس --" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:199 +msgid "0" +msgstr "0" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:182 +msgid "1024" +msgstr "1024" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:118 +msgid "" +"Accept %{src?%{dest?forward:input}:output}" +msgstr "" +"تایید %{src?%{dest?forward:input}:output}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:93 +msgid "Prevent source rewrite" +msgstr "جلوگیری از منبع بازنویسی" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:85 +msgid "" +"Forward to %{dest}%{dest_ip? IP " +"%{dest_ip}}%{dest_port? port %{dest_port}}" +msgstr "" +"ارسال to %{dest}%{dest_ip?آی پی " +"%{dest_ip}}%{dest_port? پورت %{dest_port}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:115 +msgid "" +"Drop %{src?%{dest?forward:input}:output}" +msgstr "" +"دراپ %{src?%{dest?forward:input}:output}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:133 +msgid "" +"Assign DSCP classification %{set_dscp}" +"" +msgstr "" +"اختصاص DSCP DSCP classification " +"%{set_dscp}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:127 +msgid "" +"Assign conntrack helper " +"%{set_helper}" +msgstr "" +"اختصاص conntrack helper " +"%{set_helper}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:130 +msgid "" +"%{set_mark?Assign:XOR} firewall mark " +"%{set_mark?:%{set_xmark}}" +msgstr "" +"%{set_mark?Assign:XOR} علامت فایروال " +"%{set_mark?:%{set_xmark}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:90 +msgid "Automatically rewrite source IP" +msgstr "باز نویسی خودکار منبع ایپی" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:124 +msgid "" +"Do not track %{src?%{dest?forward:input}:" +"output}" +msgstr "" +"{src?%{dest?forward:input}:output}% رديابي نکن " + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:121 +msgid "" +"Reject %{src?%{dest?forward:input}:output}" +msgstr "" +"لغو %{src?%{dest?forward:input}:output}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:87 +msgid "" +"Statically rewrite to source %{snat_ip?IP " +"%{snat_ip}} %{snat_port?port %{snat_port}}" +msgstr "" +"بازنویسی ایستا به منبع %{snat_ip?IP " +"%{snat_ip}} %{snat_port?port %{snat_port}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:306 +msgid "A rewrite IP must be specified!" +msgstr "یک IP بازنویسی شده باید مشخص شود!" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:292 +msgid "ACCEPT - Disable address rewriting" +msgstr "تایید - بازنویسی آدرس غیر فعال شد" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:224 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:225 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:411 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:204 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:287 +msgid "Action" +msgstr "اجرا" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:322 +msgid "" +"Additional raw iptables arguments to classify zone destination " +"traffic, e.g. -p tcp --dport 443 to only match outbound HTTPS " +"traffic." +msgstr "" +"استدلال های خام اضافی iptables برای طبقه بندی ترافیک مقصد منطقه، به " +"عنوان مثال. -p tcp --dport 443 فقط برای مطابقت با ترافیک خروجی " +"HTTPS." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:312 +msgid "" +"Additional raw iptables arguments to classify zone source traffic, " +"e.g. -p tcp --sport 443 to only match inbound HTTPS traffic." +msgstr "" +"استدلال های خام اضافی iptables برای طبقه بندی ترافیک مقصد منطقه، به " +"عنوان مثال. -p tcp --dport 443 فقط برای مطابقت با ترافیک ورودی " +"HTTPS." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:107 +msgid "Address family, Internal IP address must match" +msgstr "خانواده آدرس، آدرس IP داخلی باید مطابقت داشته باشد" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:135 +msgid "" +"Address family, source address, destination address, rewrite IP address must " +"match" +msgstr "" +"خانواده آدرس، آدرس مبدا، آدرس مقصد، آدرس IP بازنویسی باید مطابقت داشته باشند" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:162 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:183 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:182 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:114 +msgid "Advanced Settings" +msgstr "تنظیمات پیشرفته" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:283 +msgid "Allow \"invalid\" traffic" +msgstr "پذیرش ترافیک \"نامعتبر\"" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:385 +msgid "Allow forward from source zones:" +msgstr "اجازه به جلو از مناطق منبع:" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:344 +msgid "Allow forward to destination zones:" +msgstr "اجازه به جلو بهمناطق مقصد:" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:551 +msgid "Any" +msgstr "هر" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:479 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:495 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:352 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:368 +msgid "Any day" +msgstr "هر روز" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:317 +msgid "" +"Apply a bitwise XOR of the given value and the existing mark value on " +"established connections. Format is value[/mask]. If a mask is specified then " +"those bits set in the mask are zeroed out." +msgstr "" +"یک XOR بیتی از مقدار داده شده و مقدار علامت موجود روی اتصالات ایجاد شده " +"اعمال کنید. قالب مقدار[ / mask] است. اگر یک ماسک مشخص شده باشد، آن بیت های " +"تنظیم شده در ماسک صفر می شوند." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:264 +msgid "Apply the given DSCP class or value to established connections." +msgstr "کلاس یا مقدار DSCP داده شده را برای اتصالات ایجاد شده اعمال کنید." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:439 +msgid "Assign the specified connection tracking helper to matched traffic." +msgstr "کمک ردیابی اتصال مشخص شده را به ترافیک همسان اختصاص دهید." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:286 +msgid "Automatic helper assignment" +msgstr "واگذاری کمک کننده خودکار" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:286 +msgid "" +"Automatically assign conntrack helpers based on traffic protocol and port" +msgstr "" +"به طور خودکار کمک های conntrack را بر اساس پروتکل ترافیک و پورت اختصاص دهید" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:61 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:62 +msgid "Comment" +msgstr "نظر" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:115 +msgid "Conntrack Settings" +msgstr "تنظیمات Conntrack" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:290 +msgid "Conntrack helpers" +msgstr "کمک کنندگان Conntrack" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/custom.js:16 +msgid "Contents have been saved." +msgstr "محتویات ذخیره شده اند." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:700 +msgid "Continue" +msgstr "ادامه" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:204 +msgid "Counters" +msgstr "شمارنده ها" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:231 +msgid "Covered devices" +msgstr "دستگاه های تحت پوشش" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:183 +msgid "Covered networks" +msgstr "شبکه های تحت پوشش" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:236 +msgid "Covered subnets" +msgstr "زیرشبکه های تحت پوشش" + +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:62 +msgid "Custom Rules" +msgstr "قوانین سفارشی" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/custom.js:26 +msgid "" +"Custom rules allow you to execute arbitrary iptables commands which are not " +"otherwise covered by the firewall framework. The commands are executed after " +"each firewall restart, right after the default ruleset has been loaded." +msgstr "" +"قوانین سفارشی به شما این امکان را می دهد که دستورات iptables دلخواه را اجرا " +"کنید که در غیر این صورت تحت پوشش چارچوب فایروال قرار نمی گیرند. دستورات پس " +"از راه اندازی مجدد هر فایروال، درست پس از بارگذاری قوانین پیش فرض اجرا می " +"شوند." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:421 +msgid "DSCP classification" +msgstr "طبقه بندی DSCP" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:263 +msgid "DSCP mark" +msgstr "علامت DSCP" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:297 +msgid "DSCP mark required" +msgstr "علامت مورد نیاز DSCP" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:402 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:270 +msgid "Destination address" +msgstr "آدرس مقصد" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:404 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:278 +msgid "Destination port" +msgstr "پورت مقصد" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:396 +msgid "Destination zone" +msgstr "منطقه مقصد" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:269 +msgid "Device name" +msgstr "نام دستگاه" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:283 +msgid "" +"Do not install extra rules to reject forwarded traffic with conntrack state " +"invalid. This may be required for complex asymmetric route setups." +msgstr "" +"قوانین اضافی برای رد ترافیک ارسال شده با حالت conntrack نصب " +"نکنیدنامعتبر. این ممکن است برای راه اندازی مسیر نامتقارن پیچیده " +"مورد نیاز باشد." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:59 +msgid "Drop invalid packets" +msgstr "رها کردن بسته های نامعتبر" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:232 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:231 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:210 +msgid "Enable" +msgstr "به کار انداختن" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:306 +msgid "Enable NAT Loopback" +msgstr "فعال کردن NAT Loopback" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:45 +msgid "Enable SYN-flood protection" +msgstr "محافظت SYN-flood را فعال کردن" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:296 +msgid "Enable logging on this zone" +msgstr "فعال کردن ورود به سیستم در این منطقه" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:168 +msgid "" +"Enable network address and port translation IPv4 (NAT4 or NAPT4) for " +"outbound traffic on this zone. This is typically enabled on the wan " +"zone." +msgstr "" +"آدرس شبکه و ترجمه پورت IPv4 (NAT4 یا NAPT4) را برای ترافیک خروجی در این " +"منطقه فعال کنید. این معمولاً در منطقه wan فعال است." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:243 +msgid "" +"Enable network address and port translation IPv6 (NAT6 or NAPT6) for " +"outbound traffic on this zone." +msgstr "" +"آدرس شبکه و ترجمه پورت IPv6 (NAT6 یا NAPT6) را برای ترافیک خروجی در این " +"منطقه فعال کنید." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:211 +msgid "Enabled" +msgstr "به کار افتاده" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:205 +msgid "Enables packet and byte count tracking for the set." +msgstr "ردیابی تعداد بسته ها و بایت ها را برای مجموعه فعال می کند." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:339 +msgid "Expecting: %s" +msgstr "انتظار: %s" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:290 +msgid "Explicitly choses allowed connection tracking helpers for zone traffic" +msgstr "" +"به صراحت راهنماهای ردیابی اتصال مجاز را برای ترافیک منطقه انتخاب می کند" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:274 +msgid "External IP address" +msgstr "آدرس IP خارجی" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:279 +msgid "External port" +msgstr "پورت خارجی" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:349 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:470 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:342 +msgid "Extra arguments" +msgstr "استدلال های اضافی" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:322 +msgid "Extra destination arguments" +msgstr "استدلال های اضافی مقصد" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:116 +msgid "Extra iptables arguments" +msgstr "استدلال های اضافی iptables" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:312 +msgid "Extra source arguments" +msgstr "استدلال های اضافی منبع" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:67 +msgid "Family" +msgstr "خانواده" + +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:3 +msgid "Firewall" +msgstr "دیوار آتش" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/custom.js:25 +msgid "Firewall - Custom Rules" +msgstr "فایروال - قوانین سفارشی" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:20 +msgid "Firewall - IP sets" +msgstr "فایروال - مجموعه های IP" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:172 +msgid "Firewall - NAT Rules" +msgstr "فایروال - قوانین NAT" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:152 +msgid "Firewall - Port Forwards" +msgstr "فایروال-پورت رو به جلو" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:173 +msgid "Firewall - Traffic Rules" +msgstr "فایروال - قوانین ترافیک" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:38 +msgid "Firewall - Zone Settings" +msgstr "فایروال - تنظیمات منطقه" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:693 +msgid "Firewall configuration migration" +msgstr "انتقال پیکربندی فایروال" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:82 +msgid "Flow offloading type" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:64 +msgid "Forward" +msgstr "پیشروی" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:34 +msgid "" +"Forwarded %{ipv6?%{ipv4?IPv4 and IPv6:IPv6}:" +"IPv4}%{proto?, protocol %{proto#%{next?, }%{item.name}}}%{mark?, mark %{mark.val}" +"}" +msgstr "" +"%{ipv6?%{ipv4?IPv4 و IPv6:IPv6}:IPv4}%{proto? , پروتکل %{proto#%{next?, }%{item.name}}}%{mark?, " +"علامت %{mark.val}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:485 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:358 +msgid "Friday" +msgstr "جمعه" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:45 +msgid "" +"From %{src}%{src_device?, interface %{src_device}}%{src_ip?, IP " +"%{src_ip#%{next?, }%{item.ival}}}%{src_port?, port %{src_port#%{next?, }" +"%{item." +"ival}}}" +msgstr "" +"From %{src}%{src_device?, interface %{src_device}}%{src_ip?, IP " +"%{src_ip#%{next?, }%{item.ival}}}%{src_port?, port %{src_port#%{next?, }" +"%{item." +"ival}}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:64 +msgid "" +"From %{src}%{src_device?, interface %{src_device}}%{src_ip?, IP " +"%{src_ip#%{next?, }%{item.ival}}}%{src_port?, port %{src_port#%{next?, }" +"%{item." +"ival}}}%{src_mac?, MAC %{src_mac#%{next?, }%{item.ival}" +"}}" +msgstr "" +"From %{src}%{src_device?, interface %{src_device}}%{src_ip?, IP " +"%{src_ip#%{next?, }%{item.ival}}}%{src_port?, port %{src_port#%{next?, }" +"%{item." +"ival}}}%{src_mac?, MAC %{src_mac#%{next?, }%{item.ival}" +"}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:52 +msgid "" +"From %{src}%{src_ip?, IP %{src_ip#%{next?, }%{item.ival}}}%{src_port?, port %{src_port#%{next?, }%{item.ival}}}%{src_mac?, " +"MAC %{src_mac#%{next?, }%{item.ival}}}" +msgstr "" +"From %{src}%{src_ip?, IP %{src_ip#%{next?, }%{item.ival}}}%{src_port?, port %{src_port#%{next?, }%{item.ival}}}%{src_mac?, " +"MAC %{src_mac#%{next?, }%{item.ival}}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:161 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:182 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:181 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:41 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:113 +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:17 +msgid "General Settings" +msgstr "پیکربندی عمومی" + +#: applications/luci-app-firewall/root/usr/share/rpcd/acl.d/luci-app-firewall.json:3 +msgid "Grant access to firewall configuration" +msgstr "اجازه دسترسی به پیکربندی فایروال" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:85 +msgid "Hardware based offloading for routing with/without NAT." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:85 +msgid "Hardware flow offloading" +msgstr "تخلیه جریان سخت افزار" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:144 +msgid "IP (range)" +msgstr "IP (محدوده)" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:32 +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:53 +msgid "IP Sets" +msgstr "مجموعه های IP" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:152 +msgid "IPs/Networks" +msgstr "آی پی ها/شبکه ها" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:107 +msgid "IPs/Networks/MACs" +msgstr "آی پی ها/شبکه ها/مک ها" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:68 +msgid "IPv4" +msgstr "آی پی نسخه ۴" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:191 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:280 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:219 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:256 +msgid "IPv4 and IPv6" +msgstr "IPv4 و IPv6" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:192 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:281 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:220 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:257 +msgid "IPv4 only" +msgstr "فقط IPv4" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:69 +msgid "IPv6" +msgstr "آی پی نسخه ۶" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:242 +msgid "IPv6 Masquerading" +msgstr "IPv6 Masquerading" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:193 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:282 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:221 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:258 +msgid "IPv6 only" +msgstr "فقط IPv6" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:252 +msgid "Inbound device" +msgstr "دستگاه ورودی" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:187 +msgid "Include File" +msgstr "شامل فایل" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:40 +msgid "" +"Incoming %{ipv6?%{ipv4?IPv4 and IPv6:IPv6}:" +"IPv4}%{proto?, protocol %{proto#%{next?, }%{item.types?%{item.name}ICMP " +"with types %{item.types#%{next?, }%{item}}:" +"%{item.name}}}}%{mark?, mark %{mark.val}}%{helper?, helper %{helper.inv?%{helper.val}:%{helper.val}}}" +msgstr "" +"ورودی %{ipv6?%{ipv4?IPv4 و IPv6:IPv6}:" +"IPv4}%{proto? , پروتکل %{proto#%{next?, }%{item.types?%{item.name}ICMP " +"با انواع % {item.types#%{next?, %{item}}:%{item." +"name}}}}%{ mark?، علامت %{mark." +"val}}%{helper?, helper %{helper.inv?%{helper.val}:%{helper.val} مطابقت دهید }}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:180 +msgid "Initial Hash Size" +msgstr "اندازه هش اولیه" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:62 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:151 +msgid "Input" +msgstr "ورودی" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:292 +msgid "Internal IP address" +msgstr "آدرس IP داخلی" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:297 +msgid "Internal port" +msgstr "پورت داخلی" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:287 +msgid "Internal zone" +msgstr "منطقه داخلی" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:153 +msgid "Intra zone forward" +msgstr "هدایت بین ناحیه‌ای" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:305 +msgid "Invalid DSCP mark" +msgstr "علامت DSCP نامعتبر است" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:373 +msgid "Invalid limit value" +msgstr "مقدار حد نامعتبر است" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:47 +msgid "Invalid set name" +msgstr "نام مجموعه نامعتبر است" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:383 +msgid "Limit burst" +msgstr "ترکیدگی را محدود کنید" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:299 +msgid "Limit log messages" +msgstr "محدود کردن پیام های گزارش" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:349 +msgid "Limit matching" +msgstr "محدود کردن تطابق" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:79 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:96 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:74 +msgid "" +"Limit matching to %{limit.num} packets per %{limit.unit}%{limit.burst? burst %{limit.burst}}" +msgstr "" +"محدود کردن تطابق به %{limit.num} بسته ها در هر %{limit.unit}" +"%{limit.burst? burst %{limit.burst}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:175 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:250 +msgid "Limited masquerading enabled" +msgstr "مخفی کاری محدود فعال شد" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:350 +msgid "Limits traffic matching to the specified rate." +msgstr "تطابق ترافیک را با نرخ مشخص شده محدود می کند." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:311 +msgid "Loopback source IP" +msgstr "IP منبع Loopback" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:291 +msgid "MASQUERADE - Automatically rewrite to outbound interface IP" +msgstr "بالماسکه - به طور خودکار در IP رابط خروجی بازنویسی شود" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:180 +msgid "MSS clamping" +msgstr "بستن MSS" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:167 +msgid "Masquerading" +msgstr "ماسکه کردن" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:213 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:214 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:193 +msgid "Match" +msgstr "همخوانی داشتن" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:263 +msgid "Match DSCP" +msgstr "DSCP را مطابقت دهید" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:293 +msgid "Match ICMP type" +msgstr "با نوع ICMP مطابقت دهید" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:249 +msgid "Match device" +msgstr "دستگاه مطابق" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:271 +msgid "Match forwarded traffic directed at the given IP address." +msgstr "با ترافیک ارسال شده به آدرس IP داده شده مطابقت دهید." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:279 +msgid "" +"Match forwarded traffic directed at the given destination port or port range." +msgstr "" +"با ترافیک ارسالی هدایت شده در پورت مقصد یا محدوده پورت مشخص مطابقت دهید." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:254 +msgid "Match forwarded traffic from this IP or range." +msgstr "با ترافیک ارسال شده از این IP یا محدوده مطابقت دهید." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:262 +msgid "" +"Match forwarded traffic originating from the given source port or port range." +msgstr "" +"با ترافیک ارسال شده منشأ گرفته از درگاه منبع پورت یا محدوده پورت داده شده " +"مطابقت دهید." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:326 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:446 +msgid "Match helper" +msgstr "کمک کننده به همخوانی" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:280 +msgid "" +"Match incoming traffic directed at the given destination port or port range " +"on this host" +msgstr "" +"با ترافیک ورودی هدایت شده به درگاه مقصد پورت یا محدوده پورت داده شده در این " +"میزبان مطابقت دهید" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:316 +msgid "Match mark" +msgstr "علامت مطابقت" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:326 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:446 +msgid "Match traffic using the specified connection tracking helper." +msgstr "با استفاده از راهنمای ردیابی اتصال مشخص شده، ترافیک را مطابقت دهید." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:319 +msgid "Matches a specific firewall mark or a range of different marks." +msgstr "با یک علامت فایروال خاص یا طیف وسیعی از علامت های مختلف مطابقت دارد." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:332 +msgid "Matches forwarded traffic using the specified outbound network device." +msgstr "" +"با استفاده از دستگاه شبکه خروجی مشخص شده با ترافیک ارسال شده مطابقت دارد." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:264 +msgid "Matches traffic carrying the specified DSCP marking." +msgstr "با ترافیک حامل علامت DSCP مشخص شده مطابقت دارد." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:113 +msgid "Max Entries" +msgstr "حداکثر ورودی ها" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:172 +msgid "Max Length" +msgstr "بیشترین طول" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:384 +msgid "" +"Maximum initial number of packets to match: this number gets recharged by " +"one every time the limit specified above is not reached, up to this number." +msgstr "" +"حداکثر تعداد بسته های اولیه برای مطابقت: این تعداد هر بار که به حد تعیین شده " +"در بالا نرسیده باشد، تا این تعداد , یک بار شارژ می شود." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:481 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:354 +msgid "Monday" +msgstr "دوشنبه" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:491 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:364 +msgid "Month Days" +msgstr "روزهای ماه" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:175 +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:44 +msgid "NAT Rules" +msgstr "قوانین NAT" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:173 +msgid "" +"NAT rules allow fine grained control over the source IP to use for outbound " +"or forwarded traffic." +msgstr "" +"قوانین NAT اجازه می دهد تا کنترل دقیق روی IP منبع برای ترافیک خروجی یا ارسال " +"شده استفاده شود." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:183 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:42 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:52 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:210 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:189 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:129 +msgid "Name" +msgstr "نام" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:166 +msgid "Netmask" +msgstr "Netmask" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:83 +msgid "None" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:77 +msgid "Not fully compatible with QoS/SQM." +msgstr "کامل با QoS / SQM سازگار نیست." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:275 +msgid "Only match incoming traffic directed at the given IP address." +msgstr "فقط با ترافیک ورودی هدایت شده در آدرس IP داده شده مطابقت دهید." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:256 +msgid "Only match incoming traffic from these MACs." +msgstr "فقط ترافیک ورودی از این MACها را مطابقت دهید." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:261 +msgid "Only match incoming traffic from this IP or range." +msgstr "فقط ترافیک ورودی از این IP یا محدوده را مطابقت دهید." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:266 +msgid "" +"Only match incoming traffic originating from the given source port or port " +"range on the client host" +msgstr "" +"فقط با ترافیک ورودی که از پورت منبع یا محدوده پورت داده شده در میزبان مشتری " +"منشا می‌گیرد، مطابقت دهید" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:253 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:331 +msgid "Outbound device" +msgstr "دستگاه خروجی" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:246 +msgid "Outbound zone" +msgstr "منطقه خروجی" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:63 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:152 +msgid "Output" +msgstr "خروجی" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:75 +msgid "Packet Field Match" +msgstr "تطابق فیلد بسته" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:76 +msgid "" +"Packet fields to match upon.
Syntax: direction_datatype. e.g.: " +"src_port, dest_net.
Directions: src, dst. " +"Datatypes: ip, port, mac, net, set.
Direction prefixes are " +"optional.
*Note: datatype set is unsupported in fw4." +msgstr "" +"فیلدهای بسته برای مطابقت با آنها.
نحو: direction_datatype. به " +"عنوان مثال: src_port، dest_net.
مسیرها: src، dst. انواع داده: ip, port, mac, net, set.
پیوندهای جهت " +"اختیاری هستند.
*توجه: نوع داده set در fw4 پشتیبانی نمی‌شود." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:350 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:471 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:343 +msgid "Passes additional arguments to iptables. Use with care!" +msgstr "آرگومان های اضافی را به iptables ارسال می کند. با احتیاط استفاده کنید!" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:309 +msgid "" +"Passing raw iptables arguments to source and destination traffic " +"classification rules allows to match packets based on other criteria than " +"interfaces or subnets. These options should be used with extreme care as " +"invalid values could render the firewall ruleset broken, completely exposing " +"all services." +msgstr "" +"ارسال آرگومان‌های خام iptables به قوانین طبقه‌بندی ترافیک مبدأ و مقصد، امکان " +"تطبیق بسته‌ها را بر اساس معیارهای دیگری غیر از رابط‌ها یا زیرشبکه‌ها فراهم " +"می‌کند. این گزینه‌ها باید با دقت زیاد مورد استفاده قرار گیرند، زیرا مقادیر " +"نامعتبر می‌توانند مجموعه قوانین فایروال را شکسته و به طور کامل همه سرویس‌ها را " +"در معرض دید قرار دهند." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:188 +msgid "Path to file of CIDRs, subnets, host IPs, etc.
" +msgstr "مسیر فایل CIDR ها، زیرشبکه ها، IP های میزبان و غیره.
" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:155 +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:26 +msgid "Port Forwards" +msgstr "هدایت پورت" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:153 +msgid "" +"Port forwarding allows remote computers on the Internet to connect to a " +"specific computer or service within the private LAN." +msgstr "" +"ارسال پورت به رایانه های راه دور در اینترنت اجازه می دهد تا به رایانه یا " +"سرویس خاصی در شبکه LAN خصوصی متصل شوند." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:158 +msgid "Port range" +msgstr "محدوده پورت" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:237 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:289 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:242 +msgid "Protocol" +msgstr "شیوه‌نامه" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:298 +msgid "" +"Redirect matched incoming traffic to the given port on the internal host" +msgstr "ترافیک ورودی منطبق را به پورت داده شده در میزبان داخلی تغییر مسیر دهید" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:293 +msgid "Redirect matched incoming traffic to the specified internal host" +msgstr "ترافیک ورودی منطبق را به میزبان داخلی مشخص شده تغییر مسیر دهید" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:122 +msgid "Refer To External Set" +msgstr "مراجعه به مجموعه خارجی" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:320 +msgid "Reflection zones" +msgstr "مناطق بازتابی" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:85 +msgid "Requires hardware NAT support." +msgstr "نیاز به پشتیبانی سخت افزاری NAT دارد." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:272 +msgid "Restrict Masquerading to given destination subnets" +msgstr "Masquerading را به زیرشبکه‌های مقصد مشخص محدود کنید" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:261 +msgid "Restrict Masquerading to given source subnets" +msgstr "Masquerading را به زیرشبکه های منبع داده شده محدود کنید" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:188 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:277 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:216 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:255 +msgid "Restrict to address family" +msgstr "محدود کردن به آدرس خانواده" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:297 +msgid "Rewrite IP address" +msgstr "آدرس IP را بازنویسی کنید" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:298 +msgid "Rewrite matched traffic to the specified source IP address." +msgstr "ترافیک منطبق را به آدرس IP منبع مشخص شده بازنویسی کنید." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:312 +msgid "Rewrite matched traffic to the specified source port or port range." +msgstr "" +"ترافیک منطبق را در درگاه منبع پورت یا محدوده پورت مشخص شده بازنویسی کنید." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:311 +msgid "Rewrite port" +msgstr "بازنویسی پورت" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:76 +msgid "Routing/NAT Offloading" +msgstr "بارگذاری مسیریابی/NAT" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:290 +msgid "SNAT - Rewrite to specific source IP or port" +msgstr "SNAT - در IP یا پورت منبع خاصی بازنویسی کنید" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:486 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:359 +msgid "Saturday" +msgstr "شنبه" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:316 +msgid "Set mark" +msgstr "علامت گذاری" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:318 +msgid "" +"Set the given mark value on established connections. Format is value[/mask]. " +"If a mask is specified then only those bits set in the mask are modified." +msgstr "" +"مقدار علامت داده شده را روی اتصالات ایجاد شده تنظیم کنید. قالب مقدار[/mask] " +"است. اگر یک ماسک مشخص شده باشد، فقط آن بیت هایی که در ماسک تنظیم شده اند، " +"اصلاح می شوند." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:84 +msgid "Software based offloading for routing/NAT." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:84 +msgid "Software flow offloading" +msgstr "تخلیه جریان نرم افزار" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:260 +msgid "Source IP address" +msgstr "آدرس IP منبع" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:255 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:386 +msgid "Source MAC address" +msgstr "آدرس MAC منبع" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:387 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:253 +msgid "Source address" +msgstr "آدرس منبع" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:265 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:389 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:261 +msgid "Source port" +msgstr "پورت منبع" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:241 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:372 +msgid "Source zone" +msgstr "منطقه منبع" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:270 +msgid "" +"Specifies whether to tie this traffic rule to a specific inbound or outbound " +"network device." +msgstr "" +"مشخص می کند که آیا این قانون ترافیک به یک دستگاه شبکه ورودی یا خروجی خاص " +"مرتبط شود." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:311 +msgid "" +"Specifies whether to use the external or the internal IP address for " +"reflected traffic." +msgstr "" +"مشخص می کند که آیا از آدرس IP خارجی یا داخلی برای ترافیک منعکس شده استفاده " +"شود." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:510 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:383 +msgid "Start Date (yyyy-mm-dd)" +msgstr "تاریخ شروع (yyyy-mm-dd)" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:502 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:375 +msgid "Start Time (hh:mm:ss)" +msgstr "زمان شروع (hh:mm:ss)" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:514 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:387 +msgid "Stop Date (yyyy-mm-dd)" +msgstr "تاریخ توقف (yyyy-mm-dd)" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:506 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:379 +msgid "Stop Time (hh:mm:ss)" +msgstr "زمان توقف (hh:mm:ss)" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:130 +msgid "Storage Method" +msgstr "روش ذخیره سازی" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:480 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:353 +msgid "Sunday" +msgstr "یکشنبه" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:694 +msgid "" +"The existing firewall configuration needs to be changed for LuCI to function " +"properly." +msgstr "پیکربندی فایروال موجود باید تغییر کند تا LuCI به درستی کار کند." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:39 +msgid "" +"The firewall creates zones over your network interfaces to control network " +"traffic flow." +msgstr "" +"فایروال مناطقی را روی رابط های شبکه شما ایجاد می کند تا جریان ترافیک شبکه را " +"کنترل کند." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:227 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:340 +msgid "" +"The options below control the forwarding policies between this zone (%s) and " +"other zones. Destination zones cover forwarded traffic " +"originating from %q. Source zones match forwarded " +"traffic from other zones targeted at %q. The forwarding " +"rule is unidirectional, e.g. a forward from lan to wan does " +"not imply a permission to forward from wan to lan as well." +msgstr "" +"گزینه های زیر خط مشی های حمل و نقل بین این منطقه (%s) و مناطق دیگر را کنترل " +"می کنند. مناطق مقصد ترافیک ارسال‌شده منشاء %q را " +"پوشش می‌دهند. مناطق منبع با ترافیک بازارسال شده از مناطق دیگر مطابقت " +"دارد با هدف %q. قانون ارسال یک جهته است، به عنوان " +"مثال. فوروارد از lan به wan نیست مستلزم اجازه فوروارد از wan به lan " +"نیز نیست." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:125 +msgid "" +"This section defines common properties of %q. The input and " +"output options set the default policies for traffic entering and " +"leaving this zone while the forward option describes the policy for " +"forwarded traffic between different networks within the zone. Covered " +"networks specifies which available networks are members of this zone." +msgstr "" +"این بخش ویژگی های رایج %q را تعریف می کند. گزینه‌های input و " +"output خط‌مشی‌های پیش‌فرض را برای ترافیک ورودی و خروجی از این منطقه " +"تنظیم می‌کنند در حالی که گزینه forward خط‌مشی برای ترافیک ارسال‌شده " +"بین شبکه‌های مختلف را شرح می‌دهد. در داخل منطقه شبکه های تحت پوشش " +"مشخص می کند که کدام شبکه های موجود عضو این منطقه هستند." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:484 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:357 +msgid "Thursday" +msgstr "پنجشبنه" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:184 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:183 +msgid "Time Restrictions" +msgstr "محدودیت های زمانی" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:518 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:391 +msgid "Time in UTC" +msgstr "زمان در UTC" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:244 +msgid "Time restrictions are enabled for this rule" +msgstr "محدودیت زمانی برای این قانون فعال شده است" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:196 +msgid "Timeout" +msgstr "تایم اوت" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:77 +msgid "" +"To %{dest}%{dest_device?, interface %{dest_device}}%{dest_ip?, IP " +"%{dest_ip#%{next?, }%{item.ival}
}}%{dest_port?, port %{dest_port#%{next?, }" +"%{item." +"ival}}}" +msgstr "" +"To %{dest}%{dest_device?, interface %{dest_device}}%{dest_ip?, IP " +"%{dest_ip#%{next?, }%{item.ival}}}%{dest_port?, port %{dest_port#%{next?, }" +"%{item." +"ival}}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:55 +msgid "" +"To %{dest}%{dest_device?, via interface %{dest_device}}%{dest_ip?, IP %{dest_ip#%{next?, }%{item.ival}}}%{dest_port?, port " +"%{dest_port#%{next?, }%{item.ival}}}" +msgstr "" +"To %{dest}%{dest_device?, via interface %{dest_device}}%{dest_ip?, IP %{dest_ip#%{next?, }%{item.ival}}}%{dest_port?, port " +"%{dest_port#%{next?, }%{item.ival}}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:61 +msgid "" +"To %{dest}%{dest_ip?, IP %{dest_ip#%{next?, }%{item.ival}}}%{dest_port?, port %{dest_port#%{next?, }%{item.ival}}}" +msgstr "" +"To %{dest}%{dest_ip?, IP %{dest_ip#%{next?, }%{item.ival}}}%{dest_port?, port %{dest_port#%{next?, }%{item.ival}}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:439 +msgid "Tracking helper" +msgstr "کمک کننده ردیابی" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:176 +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:35 +msgid "Traffic Rules" +msgstr "قوانین ترافیک" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:174 +msgid "" +"Traffic rules define policies for packets travelling between different " +"zones, for example to reject traffic between certain hosts or to open WAN " +"ports on the router." +msgstr "" +"قوانین ترافیک سیاست هایی را برای بسته هایی که بین مناطق مختلف حرکت می کنند، " +"تعریف می کنند، به عنوان مثال برای رد ترافیک بین میزبان های خاص یا باز کردن " +"پورت های WAN روی روتر." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:482 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:355 +msgid "Tuesday" +msgstr "سه شنبه" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/custom.js:19 +msgid "Unable to save contents: %s" +msgstr "امکان ذخیره محتوا وجود ندارد: %s" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:197 +msgid "" +"Unit: seconds. Default 0 means the entry is added permanently " +"to the set.
Max: 2147483 seconds." +msgstr "" +"واحد: ثانیه پیش‌فرض 0 به این معنی است که ورودی برای همیشه به " +"مجموعه اضافه می‌شود.
حداکثر: 2147483 ثانیه." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:341 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:461 +msgid "Unknown or not installed conntrack helper \"%s\"" +msgstr "راهنمای کنتراک ناشناخته یا نصب نشده\"%s\"" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:186 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:190 +msgid "Unnamed NAT" +msgstr "NAT بدون نام" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:169 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:184 +msgid "Unnamed forward" +msgstr "فوروارد بدون نام" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:191 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:211 +msgid "Unnamed rule" +msgstr "قانون بدون نام" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:57 +msgid "Unnamed set" +msgstr "مجموعه بی نام" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:130 +msgid "Unnamed zone" +msgstr "منطقه بدون نام" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:597 +msgid "Unrecognized protocol" +msgstr "پروتکل ناشناخته" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:695 +msgid "" +"Upon pressing \"Continue\", \"redirect\" sections with target \"SNAT\" will " +"be converted to \"nat\" sections and the firewall will be restarted to apply " +"the updated configuration." +msgstr "" +"با فشار دادن \"Continue\"، بخش‌های \"redirect\" با هدف \"SNAT\" به بخش‌های " +"\"nat\" تبدیل می‌شوند و فایروال برای اعمال پیکربندی به‌روز شده مجددا راه‌اندازی " +"می‌شود." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:315 +msgid "Use external IP address" +msgstr "از آدرس IP خارجی استفاده کنید" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:314 +msgid "Use internal IP address" +msgstr "از آدرس IP داخلی استفاده کنید" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:247 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:378 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:322 +msgid "Use ipset" +msgstr "استفاده از ipset" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:231 +msgid "" +"Use this option to classify zone traffic by raw, non-uci managed " +"network devices." +msgstr "" +"از این گزینه برای طبقه بندی ترافیک منطقه بر اساس دستگاه های شبکه مدیریت شده " +"خام و غیرuci استفاده کنید." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:236 +msgid "" +"Use this option to classify zone traffic by source or destination subnet " +"instead of networks or devices." +msgstr "" +"از این گزینه برای طبقه بندی ترافیک منطقه بر اساس زیرشبکه مبدا یا مقصد به جای " +"شبکه ها یا دستگاه ها استفاده کنید." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:331 +msgid "Valid firewall mark required" +msgstr "علامت فایروال معتبر لازم است" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:483 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:356 +msgid "Wednesday" +msgstr "چهارشنبه" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:475 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:348 +msgid "Week Days" +msgstr "روزهای هفته" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:420 +msgid "XOR firewall mark" +msgstr "علامت فایروال XOR" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:316 +msgid "XOR mark" +msgstr "علامت XOR" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:28 +msgid "Your device does not run firewall4." +msgstr "دستگاه شما از فایروال 4 استفاده نمی کند." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:26 +msgid "Your device runs firewall4." +msgstr "دستگاه شما از فایروال 4 استفاده می کند." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:143 +msgid "Zone ⇒ Forwardings" +msgstr "فوروارد ⇒منطقه" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:101 +msgid "Zones" +msgstr "مناطق" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:320 +msgid "" +"Zones from which reflection rules shall be created. If unset, only the " +"destination zone is used." +msgstr "" +"مناطقی که قوانین بازتاب از آنها ایجاد می شود. اگر تنظیم نشود، فقط منطقه مقصد " +"استفاده می شود." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:415 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:70 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:159 +msgid "accept" +msgstr "تایید" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:268 +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:463 +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:486 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:270 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:301 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:328 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:392 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:407 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:441 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:448 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:266 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:282 +msgid "any" +msgstr "هر" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:53 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:86 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:65 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:78 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:46 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:56 +msgid "any zone" +msgstr "هر منطقه" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:298 +msgid "any/all" +msgstr "هر/همه" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:419 +msgid "apply firewall mark" +msgstr "علامت فایروال را اعمال کنید" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:418 +msgid "assign conntrack helper" +msgstr "اختصاص کمک کننده conntrack" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:194 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:222 +msgid "automatic" +msgstr "خودکار" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:131 +msgid "bitmap" +msgstr "bitmap" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:137 +msgid "bitmap is ipv4 only" +msgstr "بیت مپ فقط ipv4 است" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:72 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:89 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:67 +msgid "day" +msgstr "روز" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:93 +msgid "dest_ip: Destination IP" +msgstr "dest_ip: آی پی مقصد" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:95 +msgid "dest_mac: Destination MAC addr" +msgstr "dest_mac: آدرس مک مقصد" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:96 +msgid "dest_net: Destination (sub)net" +msgstr "dest_net: (زیر)شبکه مقصد" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:94 +msgid "dest_port: Destination Port" +msgstr "dest_port: پورت مقصد" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:98 +msgid "dest_set: Destination ipset*" +msgstr "dest_set: مجموعه آی پی(ipset) مقصد" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:315 +msgid "do not rewrite" +msgstr "بازنویسی نکنید" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:417 +msgid "don't track" +msgstr "پیگیری نکنید" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:414 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:69 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:158 +msgid "drop" +msgstr "رها کردن" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:21 +msgid "" +"firewall4 supports referencing and creating IP sets to simplify matching of " +"large address lists without the need to create one rule per item to match. " +"Port ranges in ipsets are unsupported by firewall4.
" +msgstr "" +"firewall4 از ارجاع دادن و ایجاد مجموعه‌های IP برای ساده‌سازی تطبیق فهرست‌های " +"آدرس بزرگ بدون نیاز به ایجاد یک قانون برای هر آیتم برای تطبیق پشتیبانی " +"می‌کند. محدوده پورت در ipset توسط فایروال 4 پشتیبانی نمی شود.
" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:159 +msgid "fromport-toport" +msgstr "fromport-toport" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:132 +msgid "hash" +msgstr "هش" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:72 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:89 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:67 +msgid "hour" +msgstr "ساعت" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:81 +msgid "ip: IP addr" +msgstr "ip: آدرس آی پی" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:153 +msgid "ip[/cidr]
" +msgstr "ip[/cidr]
" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:145 +msgid "ip[/cidr]
For use with Match datatypes: *_ip." +msgstr "ip[/cidr]
برای استفاده با انواع داده Match: *_ip." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:70 +msgid "ipv4" +msgstr "آی پی نسخه ۴" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:133 +msgid "list" +msgstr "لیست" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:83 +msgid "mac: MAC addr" +msgstr "mac: آدرس مک" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:108 +msgid "macaddr|ip[/cidr]
" +msgstr "macaddr|ip[/cidr]
" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:72 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:89 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:67 +msgid "minute" +msgstr "دقیقه" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:84 +msgid "net: (sub)net" +msgstr "net: (زیر)شبکه" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:82 +msgid "port: Port" +msgstr "port: پورت" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:416 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:68 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:157 +msgid "reject" +msgstr "رد کردن" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:72 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:89 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:67 +msgid "second" +msgstr "ثانیه" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:86 +msgid "set: ipset*" +msgstr "set: مجموعه آی پی(ipset)*" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:92 +msgid "src_Set: Source ipset*" +msgstr "src_Set: مجموعه آی پی مبدا" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:87 +msgid "src_ip: Source IP" +msgstr "src_ip: آی پی مبدا" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:89 +msgid "src_mac: Source MAC addr" +msgstr "src_mac: آدرس مک مبدا" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:90 +msgid "src_net: Source (sub)net" +msgstr "src_net: (زیر)شبکه مبدا" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:88 +msgid "src_port: Source Port" +msgstr "src_port: پورت مبدا" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:53 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:62 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:86 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:65 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:78 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:56 +msgid "this device" +msgstr "این دستگاه" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:124 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:226 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:339 +msgid "this new zone" +msgstr "این منطقه جدید" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:354 +msgid "unlimited" +msgstr "نامحدود" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:251 +msgid "unspecified" +msgstr "نامشخص" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:114 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:173 +msgid "up to 65536 entries." +msgstr "تا ۶۵۵۳۶ ورودی." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:339 +msgid "valid firewall mark" +msgstr "علامت فایروال معتبر" + +#~ msgid "Software based offloading for routing/NAT" +#~ msgstr "تخیله کردن مبتنی بر نرم افزار برای مسیریابی/NAT" + +#~ msgid "" +#~ "Forwarded IPv4%{proto?, protocol %{proto#%{next?, }%{item.name}}}%{mark?, mark %{mark." +#~ "val}}" +#~ msgstr "" +#~ "Forwarded IPv4%{proto?, protocol %{proto#%{next?, }%{item.name}}}%{mark?, mark %{mark." +#~ "val}}" + +#~ msgid "" +#~ "Incoming IPv4%{proto?, protocol %{proto#%{next?, }%{item.types?%{item.name}ICMP with types %{item.types#%{next?, }%{item}}:%{item.name}}}}%{mark?, mark %{mark.val}}%{helper?, helper %{helper.inv?%{helper.val}:%{helper.val}" +#~ "}}" +#~ msgstr "" +#~ "Incoming IPv4%{proto?, protocol %{proto#%{next?, }%{item.types?%{item.name}ICMP with types %{item.types#%{next?, }%{item}}:%{item.name}}}}%{mark?, mark %{mark.val}}%{helper?, helper %{helper.inv?%{helper.val}:%{helper.val}" +#~ "}}" diff --git a/luci-app-firewall/po/fi/firewall.po b/luci-app-firewall/po/fi/firewall.po new file mode 100644 index 000000000..f7efb5ba1 --- /dev/null +++ b/luci-app-firewall/po/fi/firewall.po @@ -0,0 +1,1610 @@ +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2010-03-30 17:00+0200\n" +"PO-Revision-Date: 2024-08-31 15:13+0000\n" +"Last-Translator: Kieli Puoli \n" +"Language-Team: Finnish \n" +"Language: fi\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Generator: Weblate 5.8-dev\n" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:48 +msgid "" +"%{src?%{dest?Forwarded:Incoming}:Outgoing} %{ipv6?%{ipv4?IPv4 and " +"IPv6:IPv6}:IPv4}%{proto?, protocol " +"%{proto#%{next?, }%{item.types?%{item." +"name}ICMP with types %{item.types#%{next?, }" +"%{item}}:%{item.name}}}}%{mark?, mark " +"%{mark.val}}%{dscp?, DSCP %{dscp." +"inv?%{dscp.val}:%{dscp.val}}}%{helper?, helper " +"%{helper.inv?%{helper.val}:%{helper." +"val}}}" +msgstr "" +"%{src?%{dest?Välitetty:Tuleva}:Lähtevä} %{ipv6?%{ipv4?IPv4 ja " +"IPv6:IPv6}:IPv4}%{proto?, protokolla " +"%{proto#%{next?, }%{item.types?%{item." +"name}ICMP tyypit %{item.types#%{next?, }" +"%{item}}:%{item.name}}}}%{mark?, mark " +"%{mark.val}}%{dscp?, DSCP " +"%{dscp.inv?%{dscp.val}:%{dscp.val}}}%{helper?, " +"helper %{helper.inv?%{helper.val}:%{helper.val}}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:463 +msgid "-- add IP --" +msgstr "- lisää IP -" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:521 +msgid "-- add MAC --" +msgstr "- lisää MAC -" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:199 +msgid "0" +msgstr "0" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:182 +msgid "1024" +msgstr "1024" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:118 +msgid "" +"Accept %{src?%{dest?forward:input}:output}" +msgstr "" +" Hyväksy %{src?%{dest?välitä:tuleva}:" +"lähtevä}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:93 +msgid "Prevent source rewrite" +msgstr "Estä lähteen uudelleenkirjoitus" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:85 +msgid "" +"Forward to %{dest}%{dest_ip? IP " +"%{dest_ip}}%{dest_port? port %{dest_port}}" +msgstr "" +"Välitä kohteeseen %{dest}%{dest_ip? IP " +"%{dest_ip}}%{dest_port? porttiin %{dest_port}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:115 +msgid "" +"Drop %{src?%{dest?forward:input}:output}" +msgstr "" +"Pudota %{src?%{dest?välitä:tuleva}:lähtevä}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:133 +msgid "" +"Assign DSCP classification %{set_dscp}" +"" +msgstr "" +" Määritä DSCP luokittelu " +"%{set_dscp} " + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:127 +msgid "" +"Assign conntrack helper " +"%{set_helper}" +msgstr "" +"Määritä yhteydenseuranta avustaja " +"{set_helper}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:130 +msgid "" +"%{set_mark?Assign:XOR} firewall mark " +"%{set_mark?:%{set_xmark}}" +msgstr "" +"%{set_mark?Assign:XOR} palomuurimerkintä " +"%{set_mark?:%{set_xmark}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:90 +msgid "Automatically rewrite source IP" +msgstr "" +" Uudelleenkirjoita automaattisesti " +"lähteen IP" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:124 +msgid "" +"Do not track %{src?%{dest?forward:input}:" +"output}" +msgstr "" +"Älä seuraa %{src?%{dest?välitä:tuleva}:" +"lähtevä}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:121 +msgid "" +"Reject %{src?%{dest?forward:input}:output}" +msgstr "" +"Hylkää %{src?%{dest?välitä:tuleva}:" +"lähtevä}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:87 +msgid "" +"Statically rewrite to source %{snat_ip?IP " +"%{snat_ip}} %{snat_port?port %{snat_port}}" +msgstr "" +"Uudelleenkirjoita lähde staattisesti " +"%{snat_ip? IP-%{snat_ip}} %{snat_port?portti {snat_port}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:306 +msgid "A rewrite IP must be specified!" +msgstr "Uudelleenkirjoitus IP on määritettävä!" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:292 +msgid "ACCEPT - Disable address rewriting" +msgstr "HYVÄKSY - Uudelleenkirjoittamatta osoitetta" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:224 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:225 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:411 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:204 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:287 +msgid "Action" +msgstr "Toiminta" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:322 +msgid "" +"Additional raw iptables arguments to classify zone destination " +"traffic, e.g. -p tcp --dport 443 to only match outbound HTTPS " +"traffic." +msgstr "" +"Muutiptables argumentit vyöhykkeen kohdeliikenteen " +"luokittelemiseksi, esimerkiksi -p tcp --dport 443 vastaa vain " +"lähtevää HTTPS-liikennettä." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:312 +msgid "" +"Additional raw iptables arguments to classify zone source traffic, " +"e.g. -p tcp --sport 443 to only match inbound HTTPS traffic." +msgstr "" +"Muutiptables argumentit vyöhykkeen lähdeliikenteen " +"luokittelemiseksi, esimerkiksi -p tcp --dport 443 vastaa vain " +"lähtevää HTTPS-liikennettä." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:107 +msgid "Address family, Internal IP address must match" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:135 +msgid "" +"Address family, source address, destination address, rewrite IP address must " +"match" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:162 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:183 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:182 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:114 +msgid "Advanced Settings" +msgstr "Lisäasetukset" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:283 +msgid "Allow \"invalid\" traffic" +msgstr "Salli \"virheellinen\" liikenne" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:385 +msgid "Allow forward from source zones:" +msgstr "Salli välitys lähdevyöhykkeeltä:" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:344 +msgid "Allow forward to destination zones:" +msgstr "Salli välitys kohdevyöhykkeelle:" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:551 +msgid "Any" +msgstr "Mikä tahansa" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:479 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:495 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:352 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:368 +msgid "Any day" +msgstr "Minä päivänä tahansa" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:317 +msgid "" +"Apply a bitwise XOR of the given value and the existing mark value on " +"established connections. Format is value[/mask]. If a mask is specified then " +"those bits set in the mask are zeroed out." +msgstr "" +"Käytä bitwise XOR-sääntöä muodostetuissa yhteyksissä. Muoto on arvo[/maski]. " +"Jos maski on määritetty, maskissa määritetyt bitit nollataan." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:264 +msgid "Apply the given DSCP class or value to established connections." +msgstr "Käytä annettua DSCP-luokkaa tai arvoa muodostetuille yhteyksille." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:439 +msgid "Assign the specified connection tracking helper to matched traffic." +msgstr "Määritä yhteysseurantaapuri vastaavalle liikenteelle." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:286 +msgid "Automatic helper assignment" +msgstr "Automaattinen avustajan määritys" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:286 +msgid "" +"Automatically assign conntrack helpers based on traffic protocol and port" +msgstr "" +"Määritä yhteysseurantaapuri automaattisesti protokollan ja portin perusteella" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:61 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:62 +msgid "Comment" +msgstr "Kommentti" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:115 +msgid "Conntrack Settings" +msgstr "Conntrack-asetukset" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:290 +msgid "Conntrack helpers" +msgstr "Conntrack-auttajat" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/custom.js:16 +msgid "Contents have been saved." +msgstr "Sisältö on tallennettu." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:700 +msgid "Continue" +msgstr "Jatka" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:204 +msgid "Counters" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:231 +msgid "Covered devices" +msgstr "Katetut laitteet" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:183 +msgid "Covered networks" +msgstr "Katetut verkot" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:236 +msgid "Covered subnets" +msgstr "Katetut aliverkot" + +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:62 +msgid "Custom Rules" +msgstr "Mukautetut säännöt" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/custom.js:26 +msgid "" +"Custom rules allow you to execute arbitrary iptables commands which are not " +"otherwise covered by the firewall framework. The commands are executed after " +"each firewall restart, right after the default ruleset has been loaded." +msgstr "" +"Mukautetut säännöt antavat sinun suorittaa mielivaltaisia iptable-komentoja, " +"joita palomuurin toiminnot eivät muuten kata. Komennot suoritetaan jokaisen " +"palomuurin uudelleenkäynnistyksen jälkeen heti oletussääntöjoukon lataamisen " +"jälkeen." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:421 +msgid "DSCP classification" +msgstr "DSCP-luokitus" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:263 +msgid "DSCP mark" +msgstr "DSCP-merkki" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:297 +msgid "DSCP mark required" +msgstr "DSCP-merkki vaaditaan" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:402 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:270 +msgid "Destination address" +msgstr "Kohdeosoite" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:404 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:278 +msgid "Destination port" +msgstr "Kohdeportti" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:396 +msgid "Destination zone" +msgstr "Kohdevyöhyke" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:269 +msgid "Device name" +msgstr "Laitenimi" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:283 +msgid "" +"Do not install extra rules to reject forwarded traffic with conntrack state " +"invalid. This may be required for complex asymmetric route setups." +msgstr "" +"Älä asenna ylimääräisiä sääntöjä välitetyn liikenteen hylkäämiseksi, jos " +"conntrack-tila on virheellinen . Tätä voidaan tarvita " +"monimutkaisissa epäsymmetrisissä reittiasetuksissa." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:59 +msgid "Drop invalid packets" +msgstr "Pudota virheelliset paketit" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:232 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:231 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:210 +msgid "Enable" +msgstr "Ota käyttöön" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:306 +msgid "Enable NAT Loopback" +msgstr "Ota käyttöön NAT Loopback" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:45 +msgid "Enable SYN-flood protection" +msgstr "Käytä SYN-flood-suojausta" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:296 +msgid "Enable logging on this zone" +msgstr "Ota kirjaaminen käyttöön tällä vyöhykkeellä" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:168 +msgid "" +"Enable network address and port translation IPv4 (NAT4 or NAPT4) for " +"outbound traffic on this zone. This is typically enabled on the wan " +"zone." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:243 +msgid "" +"Enable network address and port translation IPv6 (NAT6 or NAPT6) for " +"outbound traffic on this zone." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:211 +msgid "Enabled" +msgstr "Käytössä" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:205 +msgid "Enables packet and byte count tracking for the set." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:339 +msgid "Expecting: %s" +msgstr "Odotettu: %s" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:290 +msgid "Explicitly choses allowed connection tracking helpers for zone traffic" +msgstr "Valitse käsin sallivat yhteydenseuranta-apurit vyöhykeliikenteelle" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:274 +msgid "External IP address" +msgstr "Ulkoinen IP-osoite" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:279 +msgid "External port" +msgstr "Ulkoinen portti" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:349 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:470 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:342 +msgid "Extra arguments" +msgstr "Ylimääräiset argumentit" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:322 +msgid "Extra destination arguments" +msgstr "Lisäkohdeargumentit" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:116 +msgid "Extra iptables arguments" +msgstr "Iptablesin lisäargumentit" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:312 +msgid "Extra source arguments" +msgstr "Lisälähdeargumentit" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:67 +msgid "Family" +msgstr "" + +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:3 +msgid "Firewall" +msgstr "Palomuuri" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/custom.js:25 +msgid "Firewall - Custom Rules" +msgstr "Palomuuri - Mukautetut säännöt" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:20 +msgid "Firewall - IP sets" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:172 +msgid "Firewall - NAT Rules" +msgstr "Palomuuri - NAT-säännöt" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:152 +msgid "Firewall - Port Forwards" +msgstr "Palomuuri - Portin välitys" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:173 +msgid "Firewall - Traffic Rules" +msgstr "Palomuuri - Liikennesäännöt" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:38 +msgid "Firewall - Zone Settings" +msgstr "Palomuuri - vyöhykeasetukset" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:693 +msgid "Firewall configuration migration" +msgstr "Palomuurin määritysten siirto" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:82 +msgid "Flow offloading type" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:64 +msgid "Forward" +msgstr "Välitä" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:34 +msgid "" +"Forwarded %{ipv6?%{ipv4?IPv4 and IPv6:IPv6}:" +"IPv4}%{proto?, protocol %{proto#%{next?, }%{item.name}}}%{mark?, mark %{mark.val}" +"}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:485 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:358 +msgid "Friday" +msgstr "Perjantai" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:45 +msgid "" +"From %{src}%{src_device?, interface %{src_device}}%{src_ip?, IP " +"%{src_ip#%{next?, }%{item.ival}}}%{src_port?, port %{src_port#%{next?, }" +"%{item." +"ival}}}" +msgstr "" +"Lähde %{src}%{src_device?, sovitin %{src_device}}%{src_ip?, IP " +"%{src_ip#%{next?, }%{item.ival}}}%{src_port?, port " +"%{src_port#%{next?, }%{item.ival}}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:64 +msgid "" +"From %{src}%{src_device?, interface %{src_device}}%{src_ip?, IP " +"%{src_ip#%{next?, }%{item.ival}}}%{src_port?, port %{src_port#%{next?, }" +"%{item." +"ival}}}%{src_mac?, MAC %{src_mac#%{next?, }%{item.ival}" +"}}" +msgstr "" +"Lähde %{src}%{src_device?, sovitin %{src_device}}%{src_ip?, IP " +"%{src_ip#%{next?, }%{item.ival}}}%{src_port?, port " +"%{src_port#%{next?, }%{item.ival}}}%{src_mac?, MAC " +"%{src_mac#%{next?, }%{item.ival}}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:52 +msgid "" +"From %{src}%{src_ip?, IP %{src_ip#%{next?, }%{item.ival}}}%{src_port?, port %{src_port#%{next?, }%{item.ival}}}%{src_mac?, " +"MAC %{src_mac#%{next?, }%{item.ival}}}" +msgstr "" +"Lähde %{src}%{src_ip?, IP %{src_ip#%{next?, }%{item.ival}}}%{src_port?, port %{src_port#%{next?, }%{item.ival}}}%{src_mac?, MAC %{src_mac#%{next?, }%{item." +"ival}}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:161 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:182 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:181 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:41 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:113 +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:17 +msgid "General Settings" +msgstr "Yleiset asetukset" + +#: applications/luci-app-firewall/root/usr/share/rpcd/acl.d/luci-app-firewall.json:3 +msgid "Grant access to firewall configuration" +msgstr "Anna pääsy palomuurin määrityksiin" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:85 +msgid "Hardware based offloading for routing with/without NAT." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:85 +msgid "Hardware flow offloading" +msgstr "Laitteistovirran purku" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:144 +msgid "IP (range)" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:32 +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:53 +msgid "IP Sets" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:152 +msgid "IPs/Networks" +msgstr "IP:t/verkot" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:107 +msgid "IPs/Networks/MACs" +msgstr "IP:t/verkot/MAC:it" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:68 +msgid "IPv4" +msgstr "IPv4" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:191 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:280 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:219 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:256 +msgid "IPv4 and IPv6" +msgstr "IPv4 ja IPv6" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:192 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:281 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:220 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:257 +msgid "IPv4 only" +msgstr "Vain IPv4" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:69 +msgid "IPv6" +msgstr "IPv6" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:242 +msgid "IPv6 Masquerading" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:193 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:282 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:221 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:258 +msgid "IPv6 only" +msgstr "Vain IPv6" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:252 +msgid "Inbound device" +msgstr "Saapuva laite" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:187 +msgid "Include File" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:40 +msgid "" +"Incoming %{ipv6?%{ipv4?IPv4 and IPv6:IPv6}:" +"IPv4}%{proto?, protocol %{proto#%{next?, }%{item.types?%{item.name}ICMP " +"with types %{item.types#%{next?, }%{item}}:" +"%{item.name}}}}%{mark?, mark %{mark.val}}%{helper?, helper %{helper.inv?%{helper.val}:%{helper.val}}}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:180 +msgid "Initial Hash Size" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:62 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:151 +msgid "Input" +msgstr "Tuleva" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:292 +msgid "Internal IP address" +msgstr "Sisäinen IP-osoite" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:297 +msgid "Internal port" +msgstr "Sisäinen portti" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:287 +msgid "Internal zone" +msgstr "Sisäinen vyöhyke" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:153 +msgid "Intra zone forward" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:305 +msgid "Invalid DSCP mark" +msgstr "Virheellinen DSCP-merkki" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:373 +msgid "Invalid limit value" +msgstr "Virheellinen raja-arvo" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:47 +msgid "Invalid set name" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:383 +msgid "Limit burst" +msgstr "Rajoita purskeet" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:299 +msgid "Limit log messages" +msgstr "Rajoita lokisanomia" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:349 +msgid "Limit matching" +msgstr "Rajoita vastaavat" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:79 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:96 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:74 +msgid "" +"Limit matching to %{limit.num} packets per %{limit.unit}%{limit.burst? burst %{limit.burst}}" +msgstr "" +"Rajoita vastaavuus %{limit.num} pakettia per %{limit.unit}%{limit.burst? purske %{limit.burst}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:175 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:250 +msgid "Limited masquerading enabled" +msgstr "Rajoitettu naamiointi käytössä" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:350 +msgid "Limits traffic matching to the specified rate." +msgstr "Rajoittaa liikenteen määritettyyn nopeuteen." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:311 +msgid "Loopback source IP" +msgstr "Loopback-lähteen IP" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:291 +msgid "MASQUERADE - Automatically rewrite to outbound interface IP" +msgstr "" +"MASQUERADE - Uudelleenkirjoitus automaattisesti lähtevän rajapinnan IP: lle" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:180 +msgid "MSS clamping" +msgstr "MSS-kiinnitys" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:167 +msgid "Masquerading" +msgstr "Naamiointi" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:213 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:214 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:193 +msgid "Match" +msgstr "Vastaa" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:263 +msgid "Match DSCP" +msgstr "Vastaa DSCP" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:293 +msgid "Match ICMP type" +msgstr "Vastaa ICMP-tyyppiä" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:249 +msgid "Match device" +msgstr "Vastaa laitetta" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:271 +msgid "Match forwarded traffic directed at the given IP address." +msgstr "Vastaa annettuun IP-osoitteeseen välitettyä liikennettä." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:279 +msgid "" +"Match forwarded traffic directed at the given destination port or port range." +msgstr "" +"Vastaa välitettyä liikennettä, joka on suunnattu määrättyyn porttiin tai " +"portti-alueeseen." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:254 +msgid "Match forwarded traffic from this IP or range." +msgstr "Vastaa välitettyä liikennettä tästä IP-osoitteesta tai alueelta." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:262 +msgid "" +"Match forwarded traffic originating from the given source port or port range." +msgstr "" +"Vastaa välitettyä liikennettä, joka on peräisin annetusta portista tai " +"portti-alueesta." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:326 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:446 +msgid "Match helper" +msgstr "Vastaa auttajaa" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:280 +msgid "" +"Match incoming traffic directed at the given destination port or port range " +"on this host" +msgstr "" +"Vastaa saapuvaa liikennettä, joka on suunnattu annetulle kohdeportille tai " +"portti-alueelle tällä laitteella" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:316 +msgid "Match mark" +msgstr "Vastaa merkkiä" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:326 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:446 +msgid "Match traffic using the specified connection tracking helper." +msgstr "Vastaa liikennettä määritetyllä yhteydenseuranta-apurilla." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:319 +msgid "Matches a specific firewall mark or a range of different marks." +msgstr "Vastaa tiettyä palomuurimerkkintää tai joukkoa erilaisia merkkintöjä." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:332 +msgid "Matches forwarded traffic using the specified outbound network device." +msgstr "Vastaa välitettyä liikennettä tietyn lähtevän sovittimen perusteella." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:264 +msgid "Matches traffic carrying the specified DSCP marking." +msgstr "Vastaa liikennettä, jolla on määritetty DSCP-merkintä." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:113 +msgid "Max Entries" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:172 +msgid "Max Length" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:384 +msgid "" +"Maximum initial number of packets to match: this number gets recharged by " +"one every time the limit specified above is not reached, up to this number." +msgstr "" +"Alkuperäinen enimmäismäärä vastaamaan: tämä määrä kasvatetaan yhdellä aina, " +"määritettyyn numeroon saakka, kunnes annettu määrä saavutetaan." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:481 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:354 +msgid "Monday" +msgstr "Maanantai" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:491 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:364 +msgid "Month Days" +msgstr "Kuukauden päivät" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:175 +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:44 +msgid "NAT Rules" +msgstr "NAT-säännöt" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:173 +msgid "" +"NAT rules allow fine grained control over the source IP to use for outbound " +"or forwarded traffic." +msgstr "" +"NAT-säännöt sallivat lähde-IP:n hienostuneen hallinnan käytettäväksi " +"lähtevässä tai välitetyssä liikenteessä." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:183 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:42 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:52 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:210 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:189 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:129 +msgid "Name" +msgstr "Nimi" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:166 +msgid "Netmask" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:83 +msgid "None" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:77 +msgid "Not fully compatible with QoS/SQM." +msgstr "Ei täysin yhteensopiva QoS/SQM:n kanssa." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:275 +msgid "Only match incoming traffic directed at the given IP address." +msgstr "Vastaa vain annettuun IP-osoitteeseen suuntautuvaa liikennettä." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:256 +msgid "Only match incoming traffic from these MACs." +msgstr "Vastaa vain näistä MAC-osoitteista tulevaa liikennettä." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:261 +msgid "Only match incoming traffic from this IP or range." +msgstr "Vastaa vain saapuvaa liikennettä tästä IP-osoitteesta tai alueelta." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:266 +msgid "" +"Only match incoming traffic originating from the given source port or port " +"range on the client host" +msgstr "" +"Vastaa vain saapuvaa liikennettä, joka on lähtöisin annetusta lähdeportista " +"tai porttialueesta" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:253 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:331 +msgid "Outbound device" +msgstr "Lähtevälaite" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:246 +msgid "Outbound zone" +msgstr "Lähtevä vyöhyke" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:63 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:152 +msgid "Output" +msgstr "Lähtevä" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:75 +msgid "Packet Field Match" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:76 +msgid "" +"Packet fields to match upon.
Syntax: direction_datatype. e.g.: " +"src_port, dest_net.
Directions: src, dst. " +"Datatypes: ip, port, mac, net, set.
Direction prefixes are " +"optional.
*Note: datatype set is unsupported in fw4." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:350 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:471 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:343 +msgid "Passes additional arguments to iptables. Use with care!" +msgstr "Välittää lisäargumentteja iptablesille. Käytä varoen!" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:309 +msgid "" +"Passing raw iptables arguments to source and destination traffic " +"classification rules allows to match packets based on other criteria than " +"interfaces or subnets. These options should be used with extreme care as " +"invalid values could render the firewall ruleset broken, completely exposing " +"all services." +msgstr "" +"Iptable-argumentien käyttäminen lähde- ja kohdeliikenteen luokitussääntöihin " +"sallii pakettien valitsemisen muilla kriteereillä kuin sovittimin tai " +"aliverkkoin. Näitä vaihtoehtoja tulee käyttää erittäin varovaisesti, koska " +"virheelliset arvot voivat rikkoa palomuurisäännöt paljastaen kaikki palvelut." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:188 +msgid "Path to file of CIDRs, subnets, host IPs, etc.
" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:155 +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:26 +msgid "Port Forwards" +msgstr "Portin välitys" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:153 +msgid "" +"Port forwarding allows remote computers on the Internet to connect to a " +"specific computer or service within the private LAN." +msgstr "" +"Portinvälityksen avulla Internetin etätietokoneet voivat muodostaa yhteyden " +"tiettyyn tietokoneeseen tai palveluun yksityisessä lähiverkossa." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:158 +msgid "Port range" +msgstr "Porttialue" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:237 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:289 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:242 +msgid "Protocol" +msgstr "Protokolla" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:298 +msgid "" +"Redirect matched incoming traffic to the given port on the internal host" +msgstr "" +"Uudelleenohjaa saapuva liikenne sisäisen palvelimelle annettuun porttiin" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:293 +msgid "Redirect matched incoming traffic to the specified internal host" +msgstr "Uudelleenohjaa saapuva liikenne määritettyyn sisäiseen palvelimeen" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:122 +msgid "Refer To External Set" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:320 +msgid "Reflection zones" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:85 +msgid "Requires hardware NAT support." +msgstr "Edellyttää laitteiston NAT-tukea." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:272 +msgid "Restrict Masquerading to given destination subnets" +msgstr "Rajoita naamiointi tiettyihin kohdeverkkoihin" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:261 +msgid "Restrict Masquerading to given source subnets" +msgstr "Rajoita naamiointi tiettyihin kohdeverkkoihin" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:188 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:277 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:216 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:255 +msgid "Restrict to address family" +msgstr "Rajoita tietyille osoitteille" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:297 +msgid "Rewrite IP address" +msgstr "Kirjoita IP-osoite uudelleen" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:298 +msgid "Rewrite matched traffic to the specified source IP address." +msgstr "" +"Kirjoita vastaava tietoliikenne uudelleen määritettyyn lähde-IP-osoitteeseen." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:312 +msgid "Rewrite matched traffic to the specified source port or port range." +msgstr "" +"Kirjoita vastaava tietoliikenne uudelleen määritettyyn lähdeporttiin tai " +"porttialueeseen." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:311 +msgid "Rewrite port" +msgstr "Uudelleenkirjoita portti" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:76 +msgid "Routing/NAT Offloading" +msgstr "Reititys/NAT-purku" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:290 +msgid "SNAT - Rewrite to specific source IP or port" +msgstr "SNAT - Kirjoita tiettyyn lähde IP:hen tai porttiin" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:486 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:359 +msgid "Saturday" +msgstr "Lauantai" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:316 +msgid "Set mark" +msgstr "Merkitse" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:318 +msgid "" +"Set the given mark value on established connections. Format is value[/mask]. " +"If a mask is specified then only those bits set in the mask are modified." +msgstr "" +"Määritä määritetty merkkiarvo muodostetuille yhteyksille. Muoto on arvo[/" +"mask]. Jos maski on määritetty, vain maskiin määritettyjä bittiä muokataan." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:84 +msgid "Software based offloading for routing/NAT." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:84 +msgid "Software flow offloading" +msgstr "Ohjelmistopohjainen tietovirran nopeutus" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:260 +msgid "Source IP address" +msgstr "Lähde-IP-osoite" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:255 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:386 +msgid "Source MAC address" +msgstr "Lähde MAC-osoite" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:387 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:253 +msgid "Source address" +msgstr "Lähdeosoite" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:265 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:389 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:261 +msgid "Source port" +msgstr "Lähdeportti" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:241 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:372 +msgid "Source zone" +msgstr "Lähdevyöhyke" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:270 +msgid "" +"Specifies whether to tie this traffic rule to a specific inbound or outbound " +"network device." +msgstr "" +"Määrittää, sidotaanko tämä liikennesääntö tiettyyn saapuvaan vai lähtevään " +"verkkolaitteeseen." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:311 +msgid "" +"Specifies whether to use the external or the internal IP address for " +"reflected traffic." +msgstr "" +"Määrittää, käytetäänkö ulkoista vai sisäistä IP-osoitetta heijastuneeseen " +"liikenteeseen." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:510 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:383 +msgid "Start Date (yyyy-mm-dd)" +msgstr "Aloituspäivä (vvvv-kk-pp)" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:502 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:375 +msgid "Start Time (hh:mm:ss)" +msgstr "Aloitusaika (hh:mm:ss)" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:514 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:387 +msgid "Stop Date (yyyy-mm-dd)" +msgstr "Lopetuspäivä (vvv-kk-pp)" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:506 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:379 +msgid "Stop Time (hh:mm:ss)" +msgstr "Lopetusaika (hh:mm:ss)" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:130 +msgid "Storage Method" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:480 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:353 +msgid "Sunday" +msgstr "Sunnuntai" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:694 +msgid "" +"The existing firewall configuration needs to be changed for LuCI to function " +"properly." +msgstr "Nykyistä palomuurimääritystä on muutettava, jotta LuCI toimisi oikein." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:39 +msgid "" +"The firewall creates zones over your network interfaces to control network " +"traffic flow." +msgstr "" +"Palomuuri luo vyöhykkeitä verkkosovittimista verkkoliikenteen kulun " +"hallitsemiseksi." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:227 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:340 +msgid "" +"The options below control the forwarding policies between this zone (%s) and " +"other zones. Destination zones cover forwarded traffic " +"originating from %q. Source zones match forwarded " +"traffic from other zones targeted at %q. The forwarding " +"rule is unidirectional, e.g. a forward from lan to wan does " +"not imply a permission to forward from wan to lan as well." +msgstr "" +"Alla olevat asetukset ohjaavat tämän vyöhykkeen (%s) ja muiden vyöhykkeiden " +"välisiä välityskäytäntöjä. Kohdevyöhyke kattavat välitettävän " +"liikenteen , joka on peräisin kohteesta %q. " +"Lähdevyöhykkeet vastaavat välitettyä liikennettä muilta vyöhykkeiltä " +", jotka on kohdistettu kohteeseen %q. Välityssääntö on " +"yksisuuntainen, esimerkiksi eteenpäin lanista waniin ei " +"merkitse lupaa myös päästä eteenpäin wanista laniin." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:125 +msgid "" +"This section defines common properties of %q. The input and " +"output options set the default policies for traffic entering and " +"leaving this zone while the forward option describes the policy for " +"forwarded traffic between different networks within the zone. Covered " +"networks specifies which available networks are members of this zone." +msgstr "" +"Tässä osassa määritetään kohteen %q yleiset ominaisuudet. tuleva ja " +" lä'htevä -asetukset asettavat oletuskäytännöt tälle alueelle " +"saapuville ja sieltä poistuneille liikenteelle, kun taas välitä -" +"vaihtoehdossa kuvataan alueen eri verkkojen välisen välitettyä liikennettä " +"koskeva käytäntö. Katetut verkot määrittävät, mitkä käytettävissä " +"olevat verkot ovat tämän vyöhykkeen jäseniä." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:484 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:357 +msgid "Thursday" +msgstr "Torstai" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:184 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:183 +msgid "Time Restrictions" +msgstr "Aikarajoitukset" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:518 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:391 +msgid "Time in UTC" +msgstr "UTC-aika" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:244 +msgid "Time restrictions are enabled for this rule" +msgstr "Aikarajoitukset ovat käytössä tälle säännölle" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:196 +msgid "Timeout" +msgstr "Maksimiaika" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:77 +msgid "" +"To %{dest}%{dest_device?, interface %{dest_device}}%{dest_ip?, IP " +"%{dest_ip#%{next?, }%{item.ival}
}}%{dest_port?, port %{dest_port#%{next?, }" +"%{item." +"ival}
}}" +msgstr "" +"Kohde %{dest}%{dest_device?, sovitin %{dest_device}}%{dest_ip?, " +"IP %{dest_ip#%{next?, }%{item.ival}}}%{dest_port?, port " +"%{dest_port#%{next?, }%{item.ival}}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:55 +msgid "" +"To %{dest}%{dest_device?, via interface %{dest_device}}%{dest_ip?, IP %{dest_ip#%{next?, }%{item.ival}}}%{dest_port?, port " +"%{dest_port#%{next?, }%{item.ival}}}" +msgstr "" +"Kohde %{dest}%{dest_device?, via sovitin %{dest_device}}%{dest_ip?, IP %{dest_ip#%{next?, }%{item.ival}}}%{dest_port?, port %{dest_port#%{next?, }%{item.ival}}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:61 +msgid "" +"To %{dest}%{dest_ip?, IP %{dest_ip#%{next?, }%{item.ival}}}%{dest_port?, port %{dest_port#%{next?, }%{item.ival}}}" +msgstr "" +"Kohde %{dest}%{dest_ip?, IP %{dest_ip#%{next?, }%{item.ival}}}%{dest_port?, port %{dest_port#%{next?, }%{item.ival}}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:439 +msgid "Tracking helper" +msgstr "Seurantaapuri" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:176 +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:35 +msgid "Traffic Rules" +msgstr "Liikennesäännöt" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:174 +msgid "" +"Traffic rules define policies for packets travelling between different " +"zones, for example to reject traffic between certain hosts or to open WAN " +"ports on the router." +msgstr "" +"Liikennesäännöt määrittävät käytännöt eri vyöhykkeiden välillä kulkeville " +"paketeille, esimerkiksi tiettyjen isäntien välisen liikenteen hylkäämiseksi " +"tai WAN-porttien avaamiseksi reitittimessä." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:482 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:355 +msgid "Tuesday" +msgstr "Tiistai" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/custom.js:19 +msgid "Unable to save contents: %s" +msgstr "Sisältöä ei voi tallentaa: %s" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:197 +msgid "" +"Unit: seconds. Default 0 means the entry is added permanently " +"to the set.
Max: 2147483 seconds." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:341 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:461 +msgid "Unknown or not installed conntrack helper \"%s\"" +msgstr "Tuntematon tai asentamaton conntrack-auttaja \"% s\"" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:186 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:190 +msgid "Unnamed NAT" +msgstr "Nimeämätön NAT" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:169 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:184 +msgid "Unnamed forward" +msgstr "Nimeämätön välitys" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:191 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:211 +msgid "Unnamed rule" +msgstr "Nimetön sääntö" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:57 +msgid "Unnamed set" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:130 +msgid "Unnamed zone" +msgstr "Nimeämätön vyöhyke" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:597 +msgid "Unrecognized protocol" +msgstr "Tunnistamaton protokolla" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:695 +msgid "" +"Upon pressing \"Continue\", \"redirect\" sections with target \"SNAT\" will " +"be converted to \"nat\" sections and the firewall will be restarted to apply " +"the updated configuration." +msgstr "" +"Kun painat \"Jatka\", \"uudelleenohjaus\" -kohdat, joilla on tavoite " +"\"SNAT\", muunnetaan \"nat\" -osioiksi ja palomuuri käynnistetään uudelleen " +"päivitetyn määrityksen aktivoimiseksi." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:315 +msgid "Use external IP address" +msgstr "Käytä ulkoista IP-osoitetta" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:314 +msgid "Use internal IP address" +msgstr "Käytä sisäistä IP-osoitetta" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:247 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:378 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:322 +msgid "Use ipset" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:231 +msgid "" +"Use this option to classify zone traffic by raw, non-uci managed " +"network devices." +msgstr "" +"Tämän vaihtoehdon avulla voit luokitella vyöhykeliikennettä raakana, ei-" +"uci -hallittujen sovittimien avulla." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:236 +msgid "" +"Use this option to classify zone traffic by source or destination subnet " +"instead of networks or devices." +msgstr "" +"Tämän asetuksen avulla voit luokitella vyöhykeliikenteen lähde- tai kohde " +"aliverkon mukaan verkkojen tai laitteiden sijaan." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:331 +msgid "Valid firewall mark required" +msgstr "Kelvollinen palomuurimerkintä vaaditaan" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:483 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:356 +msgid "Wednesday" +msgstr "Keskiviikko" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:475 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:348 +msgid "Week Days" +msgstr "Viikon päivät" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:420 +msgid "XOR firewall mark" +msgstr "XOR-palomuurimerintä" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:316 +msgid "XOR mark" +msgstr "XOR-merkki" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:28 +msgid "Your device does not run firewall4." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:26 +msgid "Your device runs firewall4." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:143 +msgid "Zone ⇒ Forwardings" +msgstr "Vyöhyke ⇒ Välitys" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:101 +msgid "Zones" +msgstr "Vyöhykkeet" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:320 +msgid "" +"Zones from which reflection rules shall be created. If unset, only the " +"destination zone is used." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:415 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:70 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:159 +msgid "accept" +msgstr "hyväksy" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:268 +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:463 +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:486 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:270 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:301 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:328 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:392 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:407 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:441 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:448 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:266 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:282 +msgid "any" +msgstr "mikä tahansa" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:53 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:86 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:65 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:78 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:46 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:56 +msgid "any zone" +msgstr "mikä tahansa vyöhyke" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:298 +msgid "any/all" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:419 +msgid "apply firewall mark" +msgstr "aseta palomuurimerkintä" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:418 +msgid "assign conntrack helper" +msgstr "määritä conntrack-helper" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:194 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:222 +msgid "automatic" +msgstr "automaattinen" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:131 +msgid "bitmap" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:137 +msgid "bitmap is ipv4 only" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:72 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:89 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:67 +msgid "day" +msgstr "päivä" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:93 +msgid "dest_ip: Destination IP" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:95 +msgid "dest_mac: Destination MAC addr" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:96 +msgid "dest_net: Destination (sub)net" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:94 +msgid "dest_port: Destination Port" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:98 +msgid "dest_set: Destination ipset*" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:315 +msgid "do not rewrite" +msgstr "älä kirjoita uudelleen" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:417 +msgid "don't track" +msgstr "älä seuraa" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:414 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:69 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:158 +msgid "drop" +msgstr "pudota" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:21 +msgid "" +"firewall4 supports referencing and creating IP sets to simplify matching of " +"large address lists without the need to create one rule per item to match. " +"Port ranges in ipsets are unsupported by firewall4.
" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:159 +msgid "fromport-toport" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:132 +msgid "hash" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:72 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:89 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:67 +msgid "hour" +msgstr "tunti" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:81 +msgid "ip: IP addr" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:153 +msgid "ip[/cidr]
" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:145 +msgid "ip[/cidr]
For use with Match datatypes: *_ip." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:70 +msgid "ipv4" +msgstr "ipv4" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:133 +msgid "list" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:83 +msgid "mac: MAC addr" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:108 +msgid "macaddr|ip[/cidr]
" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:72 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:89 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:67 +msgid "minute" +msgstr "minuutti" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:84 +msgid "net: (sub)net" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:82 +msgid "port: Port" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:416 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:68 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:157 +msgid "reject" +msgstr "hylkää" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:72 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:89 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:67 +msgid "second" +msgstr "sekunti" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:86 +msgid "set: ipset*" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:92 +msgid "src_Set: Source ipset*" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:87 +msgid "src_ip: Source IP" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:89 +msgid "src_mac: Source MAC addr" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:90 +msgid "src_net: Source (sub)net" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:88 +msgid "src_port: Source Port" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:53 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:62 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:86 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:65 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:78 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:56 +msgid "this device" +msgstr "tämä laite" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:124 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:226 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:339 +msgid "this new zone" +msgstr "tämä uusi vyöhyke" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:354 +msgid "unlimited" +msgstr "rajoittamaton" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:251 +msgid "unspecified" +msgstr "määrittelemätön" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:114 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:173 +msgid "up to 65536 entries." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:339 +msgid "valid firewall mark" +msgstr "kelvollinen palomuurimerkintä" + +#~ msgid "Software based offloading for routing/NAT" +#~ msgstr "Ohjelmistopohjainen reititys/NAT" + +#~ msgid "" +#~ "Forwarded IPv4%{proto?, protocol %{proto#%{next?, }%{item.name}}}%{mark?, mark %{mark." +#~ "val}}" +#~ msgstr "" +#~ "Välitetty IPv4%{proto?, protokolla %{proto#%{next?, }%{item.name}}}%{mark?, mark %{mark.val}}" + +#~ msgid "" +#~ "Incoming IPv4%{proto?, protocol %{proto#%{next?, }%{item.types?%{item.name}ICMP with types %{item.types#%{next?, }%{item}}:%{item.name}}}}%{mark?, mark %{mark.val}}%{helper?, helper %{helper.inv?%{helper.val}:%{helper.val}" +#~ "}}" +#~ msgstr "" +#~ "Saapuva IPv4%{proto?, protokolla %{proto#%{next?, }%{item.types?%{item.name}ICMP tyypit %{item.types#%{next?, }%{item}}:%{item.name}}}}%{mark?, mark %{mark.val}}%{helper?, helper " +#~ "%{helper.inv?%{helper.val}:%{helper.val}}}" diff --git a/luci-app-firewall/po/fr/firewall.po b/luci-app-firewall/po/fr/firewall.po new file mode 100644 index 000000000..d142a9523 --- /dev/null +++ b/luci-app-firewall/po/fr/firewall.po @@ -0,0 +1,1676 @@ +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2010-03-30 17:00+0200\n" +"PO-Revision-Date: 2024-02-01 22:49+0000\n" +"Last-Translator: ButterflyOfFire \n" +"Language-Team: French \n" +"Language: fr\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=n > 1;\n" +"X-Generator: Weblate 5.4-dev\n" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:48 +msgid "" +"%{src?%{dest?Forwarded:Incoming}:Outgoing} %{ipv6?%{ipv4?IPv4 and " +"IPv6:IPv6}:IPv4}%{proto?, protocol " +"%{proto#%{next?, }%{item.types?%{item." +"name}ICMP with types %{item.types#%{next?, }" +"%{item}}:%{item.name}}}}%{mark?, mark " +"%{mark.val}}%{dscp?, DSCP %{dscp." +"inv?%{dscp.val}:%{dscp.val}}}%{helper?, helper " +"%{helper.inv?%{helper.val}:%{helper." +"val}}}" +msgstr "" +"%{src?%{dest?Forwarded:Incoming}:Outgoing} %{ipv6?%{ipv4?IPv4 and " +"IPv6:IPv6}:IPv4}%{proto?, protocol " +"%{proto#%{next?, }%{item.types?%{item." +"name}ICMP with types %{item.types#%{next?, }" +"%{item}}:%{item.name}}}}%{mark?, mark " +"%{mark.val}}%{dscp?, DSCP %{dscp." +"inv?%{dscp.val}:%{dscp.val}}}%{helper?, helper " +"%{helper.inv?%{helper.val}:%{helper." +"val}}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:463 +msgid "-- add IP --" +msgstr "-- ajouter IP --" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:521 +msgid "-- add MAC --" +msgstr "-- ajouter MAC --" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:199 +msgid "0" +msgstr "0" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:182 +msgid "1024" +msgstr "1024" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:118 +msgid "" +"Accept %{src?%{dest?forward:input}:output}" +msgstr "" +"Accepter %{src?%{dest?forward:input}:" +"output}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:93 +msgid "Prevent source rewrite" +msgstr "Empêcher la réécriture de la source" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:85 +msgid "" +"Forward to %{dest}%{dest_ip? IP " +"%{dest_ip}}%{dest_port? port %{dest_port}}" +msgstr "" +"Transférer vers %{dest}%{dest_ip ? IP " +"%{dest_ip}}%{dest_port ? port %{dest_port}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:115 +msgid "" +"Drop %{src?%{dest?forward:input}:output}" +msgstr "" +"Ignorer %{src?%{dest?forward:input}:output}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:133 +msgid "" +"Assign DSCP classification %{set_dscp}" +"" +msgstr "" +"Assigner DSCP classification " +"%{set_dscp}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:127 +msgid "" +"Assign conntrack helper " +"%{set_helper}" +msgstr "" +"Attribuer conntrack assistant " +"%{set_helper}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:130 +msgid "" +"%{set_mark?Assign:XOR} firewall mark " +"%{set_mark?:%{set_xmark}}" +msgstr "" +"%{set_mark?Assign:XOR} firewall mark " +"%{set_mark?:%{set_xmark}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:90 +msgid "Automatically rewrite source IP" +msgstr "" +"Réécrire automatiquement l'IP source" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:124 +msgid "" +"Do not track %{src?%{dest?forward:input}:" +"output}" +msgstr "" +"Ne pas pister %{src?%{dest?forward:" +"input}:output}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:121 +msgid "" +"Reject %{src?%{dest?forward:input}:output}" +msgstr "" +"Rejeter %{src?%{dest?forward:input}:" +"output}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:87 +msgid "" +"Statically rewrite to source %{snat_ip?IP " +"%{snat_ip}} %{snat_port?port %{snat_port}}" +msgstr "" +"Réécrire statiquement vers la source " +"%{snat_ip?IP %{snat_ip}} %{snat_port?port %{snat_port}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:306 +msgid "A rewrite IP must be specified!" +msgstr "Une IP de réécriture doit être spécifiée !" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:292 +msgid "ACCEPT - Disable address rewriting" +msgstr "ACCEPTER - Désactiver la réécriture d'adresses" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:224 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:225 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:411 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:204 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:287 +msgid "Action" +msgstr "Action" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:322 +msgid "" +"Additional raw iptables arguments to classify zone destination " +"traffic, e.g. -p tcp --dport 443 to only match outbound HTTPS " +"traffic." +msgstr "" +"Arguments iptables bruts supplémentaires pour classer le trafic de " +"destination de la zone, par exemple -p tcp --dport 443 pour " +"correspondre uniquement au trafic HTTPS sortant." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:312 +msgid "" +"Additional raw iptables arguments to classify zone source traffic, " +"e.g. -p tcp --sport 443 to only match inbound HTTPS traffic." +msgstr "" +"Arguments iptables bruts supplémentaires pour classer le trafic " +"source de la zone, par exemple -p tcp --sport 443 pour " +"correspondre uniquement au trafic HTTPS entrant." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:107 +msgid "Address family, Internal IP address must match" +msgstr "Famille d’adresses, l’adresse IP interne doit correspondre" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:135 +msgid "" +"Address family, source address, destination address, rewrite IP address must " +"match" +msgstr "" +"La famille d'adresses, l'adresse source, l'adresse de destination et " +"l'adresse IP de réécriture doivent correspondre" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:162 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:183 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:182 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:114 +msgid "Advanced Settings" +msgstr "Paramètres avancés" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:283 +msgid "Allow \"invalid\" traffic" +msgstr "Autoriser le trafic \"invalide\"" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:385 +msgid "Allow forward from source zones:" +msgstr "Permettre la transmission des zones source :" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:344 +msgid "Allow forward to destination zones:" +msgstr "Permettre la transmission vers les zones destination :" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:551 +msgid "Any" +msgstr "N'importe lequel" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:479 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:495 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:352 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:368 +msgid "Any day" +msgstr "N'importe quel jour" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:317 +msgid "" +"Apply a bitwise XOR of the given value and the existing mark value on " +"established connections. Format is value[/mask]. If a mask is specified then " +"those bits set in the mask are zeroed out." +msgstr "" +"Appliquer un XOR au niveau du bit de la valeur donnée et de la valeur de " +"repère existante sur les connexions établies. Le format est la valeur[/" +"mask]. Si un masque est spécifié, les bits définis dans le masque sont mis à " +"zéro." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:264 +msgid "Apply the given DSCP class or value to established connections." +msgstr "Applique la classe ou la valeur DSCP donnée aux connexions établies." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:439 +msgid "Assign the specified connection tracking helper to matched traffic." +msgstr "" +"Attribue l'assistant de suivi des connexions spécifié au trafic " +"correspondant." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:286 +msgid "Automatic helper assignment" +msgstr "Affectation automatique des assistants" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:286 +msgid "" +"Automatically assign conntrack helpers based on traffic protocol and port" +msgstr "" +"Attribuer automatiquement des assistants conntrack en fonction du protocole " +"de trafic et du port" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:61 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:62 +msgid "Comment" +msgstr "Commentaire" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:115 +msgid "Conntrack Settings" +msgstr "Paramètres Conntrack" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:290 +msgid "Conntrack helpers" +msgstr "Assistants Conntrack" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/custom.js:16 +msgid "Contents have been saved." +msgstr "Les contenus ont été enregistrés." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:700 +msgid "Continue" +msgstr "Continuer" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:204 +msgid "Counters" +msgstr "Compteurs" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:231 +msgid "Covered devices" +msgstr "Appareils couverts" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:183 +msgid "Covered networks" +msgstr "Réseaux couverts" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:236 +msgid "Covered subnets" +msgstr "Sous-réseaux couverts" + +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:62 +msgid "Custom Rules" +msgstr "Règles spécifiques" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/custom.js:26 +msgid "" +"Custom rules allow you to execute arbitrary iptables commands which are not " +"otherwise covered by the firewall framework. The commands are executed after " +"each firewall restart, right after the default ruleset has been loaded." +msgstr "" +"Les règles personnalisées vous permettent d'exécuter des commandes iptables " +"arbitraires qui ne sont pas autrement couvertes par le framework de pare-" +"feu. Les commandes sont exécutées après chaque redémarrage du pare-feu, " +"juste après le chargement de l'ensemble de règles par défaut." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:421 +msgid "DSCP classification" +msgstr "Classification DSCP" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:263 +msgid "DSCP mark" +msgstr "Marque DSCP" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:297 +msgid "DSCP mark required" +msgstr "Marque DSCP requise" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:402 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:270 +msgid "Destination address" +msgstr "Adresse de destination" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:404 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:278 +msgid "Destination port" +msgstr "Port de destination" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:396 +msgid "Destination zone" +msgstr "Zone de destination" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:269 +msgid "Device name" +msgstr "Nom de l'appareil" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:283 +msgid "" +"Do not install extra rules to reject forwarded traffic with conntrack state " +"invalid. This may be required for complex asymmetric route setups." +msgstr "" +"N'installez pas de règles supplémentaires pour rejeter le trafic transféré " +"avec l'état conntrack invalide. Cela peut être nécessaire pour les " +"configurations de route asymétriques complexes." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:59 +msgid "Drop invalid packets" +msgstr "Ignorer les paquets invalides" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:232 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:231 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:210 +msgid "Enable" +msgstr "Activer" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:306 +msgid "Enable NAT Loopback" +msgstr "Activer le NAT sur la boucle-locale" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:45 +msgid "Enable SYN-flood protection" +msgstr "Activer la protection contre le SYN-flood" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:296 +msgid "Enable logging on this zone" +msgstr "Activer les traces (logs) sur cette zone" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:168 +msgid "" +"Enable network address and port translation IPv4 (NAT4 or NAPT4) for " +"outbound traffic on this zone. This is typically enabled on the wan " +"zone." +msgstr "" +"Activer la traduction d'adresse réseau et de port IPv4 (NAT4 ou NAPT4) pour " +"le trafic sortant de cette zone. Cette option est généralement activée dans " +"la zone wan." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:243 +msgid "" +"Enable network address and port translation IPv6 (NAT6 or NAPT6) for " +"outbound traffic on this zone." +msgstr "" +"Activer la traduction d'adresse réseau et de port IPv6 (NAT6 ou NAPT6) pour " +"le trafic sortant sur cette zone." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:211 +msgid "Enabled" +msgstr "Activé" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:205 +msgid "Enables packet and byte count tracking for the set." +msgstr "Active le suivi du nombre de paquets et d'octets pour l'ensemble." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:339 +msgid "Expecting: %s" +msgstr "Attendu : %s" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:290 +msgid "Explicitly choses allowed connection tracking helpers for zone traffic" +msgstr "" +"Choisit explicitement les assistants de suivi de connexion autorisés pour le " +"trafic de zone" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:274 +msgid "External IP address" +msgstr "Adresse IP externe" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:279 +msgid "External port" +msgstr "Port externe" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:349 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:470 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:342 +msgid "Extra arguments" +msgstr "Arguments supplémentaires" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:322 +msgid "Extra destination arguments" +msgstr "Arguments de destination supplémentaires" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:116 +msgid "Extra iptables arguments" +msgstr "Arguments supplémentaires iptables" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:312 +msgid "Extra source arguments" +msgstr "Arguments sources supplémentaires" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:67 +msgid "Family" +msgstr "Famille" + +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:3 +msgid "Firewall" +msgstr "Pare-feu" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/custom.js:25 +msgid "Firewall - Custom Rules" +msgstr "Pare-feu - Règles personnalisées" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:20 +msgid "Firewall - IP sets" +msgstr "Pare-feu - IPset" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:172 +msgid "Firewall - NAT Rules" +msgstr "Pare-feu - Règles NAT" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:152 +msgid "Firewall - Port Forwards" +msgstr "Pare-feu - Redirections de ports" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:173 +msgid "Firewall - Traffic Rules" +msgstr "Pare-feu - Règles de trafic" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:38 +msgid "Firewall - Zone Settings" +msgstr "Pare-feu - Configuration des zones" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:693 +msgid "Firewall configuration migration" +msgstr "Migration de la configuration du pare-feu" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:82 +msgid "Flow offloading type" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:64 +msgid "Forward" +msgstr "Avant" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:34 +msgid "" +"Forwarded %{ipv6?%{ipv4?IPv4 and IPv6:IPv6}:" +"IPv4}%{proto?, protocol %{proto#%{next?, }%{item.name}}}%{mark?, mark %{mark.val}" +"}" +msgstr "" +"Transféré %{ipv6?%{ipv4?IPv4 et IPv6:IPv6}:" +"IPv4}%{proto? protocol %{proto#%{next?, }%{item.name}}}%{mark?, mark %{mark.val}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:485 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:358 +msgid "Friday" +msgstr "Vendredi" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:45 +msgid "" +"From %{src}%{src_device?, interface %{src_device}}%{src_ip?, IP " +"%{src_ip#%{next?, }%{item.ival}}}%{src_port?, port %{src_port#%{next?, }" +"%{item." +"ival}}}" +msgstr "" +"From %{src}%{src_device?, interface %{src_device}}%{src_ip?, IP " +"%{src_ip#%{next?, }%{item.ival}}}%{src_port?, port %{src_port#%{next?, }" +"%{item." +"ival}}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:64 +msgid "" +"From %{src}%{src_device?, interface %{src_device}}%{src_ip?, IP " +"%{src_ip#%{next?, }%{item.ival}}}%{src_port?, port %{src_port#%{next?, }" +"%{item." +"ival}}}%{src_mac?, MAC %{src_mac#%{next?, }%{item.ival}" +"}}" +msgstr "" +"From %{src}%{src_device?, interface %{src_device}}%{src_ip?, IP " +"%{src_ip#%{next?, }%{item.ival}}}%{src_port?, port %{src_port#%{next?, }" +"%{item." +"ival}}}%{src_mac?, MAC %{src_mac#%{next?, }%{item.ival}" +"}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:52 +msgid "" +"From %{src}%{src_ip?, IP %{src_ip#%{next?, }%{item.ival}}}%{src_port?, port %{src_port#%{next?, }%{item.ival}}}%{src_mac?, " +"MAC %{src_mac#%{next?, }%{item.ival}}}" +msgstr "" +"From %{src}%{src_ip?, IP %{src_ip#%{next?, }%{item.ival}}}%{src_port?, port %{src_port#%{next?, }%{item.ival}}}%{src_mac?, " +"MAC %{src_mac#%{next?, }%{item.ival}}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:161 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:182 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:181 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:41 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:113 +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:17 +msgid "General Settings" +msgstr "Réglages généraux" + +#: applications/luci-app-firewall/root/usr/share/rpcd/acl.d/luci-app-firewall.json:3 +msgid "Grant access to firewall configuration" +msgstr "Octroi l'accès à la configuration du pare-feu" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:85 +msgid "Hardware based offloading for routing with/without NAT." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:85 +msgid "Hardware flow offloading" +msgstr "Déchargement de flux matériel" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:144 +msgid "IP (range)" +msgstr "Plage d'IP" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:32 +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:53 +msgid "IP Sets" +msgstr "IP Sets" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:152 +msgid "IPs/Networks" +msgstr "IPs/Réseaux" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:107 +msgid "IPs/Networks/MACs" +msgstr "IPs/Réseaux/MACs" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:68 +msgid "IPv4" +msgstr "IPv4" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:191 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:280 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:219 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:256 +msgid "IPv4 and IPv6" +msgstr "IPv4 et IPv6" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:192 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:281 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:220 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:257 +msgid "IPv4 only" +msgstr "IPv4 uniquement" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:69 +msgid "IPv6" +msgstr "IPv6" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:242 +msgid "IPv6 Masquerading" +msgstr "Masquage IPv6" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:193 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:282 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:221 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:258 +msgid "IPv6 only" +msgstr "IPv6 uniquement" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:252 +msgid "Inbound device" +msgstr "Appareil entrant" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:187 +msgid "Include File" +msgstr "Inclure le fichier" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:40 +msgid "" +"Incoming %{ipv6?%{ipv4?IPv4 and IPv6:IPv6}:" +"IPv4}%{proto?, protocol %{proto#%{next?, }%{item.types?%{item.name}ICMP " +"with types %{item.types#%{next?, }%{item}}:" +"%{item.name}}}}%{mark?, mark %{mark.val}}%{helper?, helper %{helper.inv?%{helper.val}:%{helper.val}}}" +msgstr "" +"Entrant %{ipv6?%{ipv4?IPv4 et IPv6:IPv6}:" +"IPv4}%{proto?, protocol %{proto#%{next?, }%{item.types?%{item.name}ICMP " +"with types %{item.types#%{next?, }%{item}}:" +"%{item.name}}}}%{mark?, mark %{mark.val}}%{helper?, helper %{helper.inv?%{helper.val}" +":%{helper.val}}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:180 +msgid "Initial Hash Size" +msgstr "Taille initiale du hachage" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:62 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:151 +msgid "Input" +msgstr "Entrée" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:292 +msgid "Internal IP address" +msgstr "Adresse IP interne" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:297 +msgid "Internal port" +msgstr "Port interne" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:287 +msgid "Internal zone" +msgstr "Zone interne" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:153 +msgid "Intra zone forward" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:305 +msgid "Invalid DSCP mark" +msgstr "Marque DSCP non valide" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:373 +msgid "Invalid limit value" +msgstr "Valeur limite non valide" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:47 +msgid "Invalid set name" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:383 +msgid "Limit burst" +msgstr "Rafale limite" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:299 +msgid "Limit log messages" +msgstr "Limiter les messages de journalisation" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:349 +msgid "Limit matching" +msgstr "Limiter la correspondance" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:79 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:96 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:74 +msgid "" +"Limit matching to %{limit.num} packets per %{limit.unit}%{limit.burst? burst %{limit.burst}}" +msgstr "" +"Limiter la correspondance à %{limit.num} paquets par %{limit." +"unit}%{limit.burst? burst %{limit.burst}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:175 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:250 +msgid "Limited masquerading enabled" +msgstr "Autorise un masquage limité" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:350 +msgid "Limits traffic matching to the specified rate." +msgstr "Limite le trafic correspondant au débit spécifié." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:311 +msgid "Loopback source IP" +msgstr "IP source de bouclage" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:291 +msgid "MASQUERADE - Automatically rewrite to outbound interface IP" +msgstr "MASQUERADE - Réécriture automatique sur l'IP de l'interface sortante" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:180 +msgid "MSS clamping" +msgstr "Contrainte du MSS" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:167 +msgid "Masquerading" +msgstr "Masquage" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:213 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:214 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:193 +msgid "Match" +msgstr "Correspond" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:263 +msgid "Match DSCP" +msgstr "Faire correspondre DSCP" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:293 +msgid "Match ICMP type" +msgstr "Type ICMP correspondant" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:249 +msgid "Match device" +msgstr "Match appareil" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:271 +msgid "Match forwarded traffic directed at the given IP address." +msgstr "" +"Faites correspondre le trafic transféré dirigé vers l'adresse IP donnée." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:279 +msgid "" +"Match forwarded traffic directed at the given destination port or port range." +msgstr "" +"Faites correspondre le trafic transféré dirigé vers le port de destination " +"ou de ports donné." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:254 +msgid "Match forwarded traffic from this IP or range." +msgstr "" +"Fait correspondre le trafic transféré depuis cette adresse IP ou cette plage." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:262 +msgid "" +"Match forwarded traffic originating from the given source port or port range." +msgstr "" +"Fait correspondre le trafic transféré provenant du port source ou de la " +"plage de ports donné." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:326 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:446 +msgid "Match helper" +msgstr "Assistant à la correspondance" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:280 +msgid "" +"Match incoming traffic directed at the given destination port or port range " +"on this host" +msgstr "" +"Prendre en compte le trafic dirigé vers le port de destination donné (ou la " +"gamme de ports) sur cet hôte" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:316 +msgid "Match mark" +msgstr "Correspondance mark" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:326 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:446 +msgid "Match traffic using the specified connection tracking helper." +msgstr "" +"Fait correspondre le trafic à l'aide de l'assistant de suivi des connexions " +"spécifié." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:319 +msgid "Matches a specific firewall mark or a range of different marks." +msgstr "" +"Fait correspondre à un marquage de pare-feu spécifique ou à un intervalle de " +"marquages différents." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:332 +msgid "Matches forwarded traffic using the specified outbound network device." +msgstr "" +"Fait correspondre le trafic transféré en fonction du périphérique réseau " +"sortant spécifié." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:264 +msgid "Matches traffic carrying the specified DSCP marking." +msgstr "Correspond au trafic portant le marquage DSCP spécifié." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:113 +msgid "Max Entries" +msgstr "Entrées max" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:172 +msgid "Max Length" +msgstr "Longueur Max" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:384 +msgid "" +"Maximum initial number of packets to match: this number gets recharged by " +"one every time the limit specified above is not reached, up to this number." +msgstr "" +"Nombre initial maximal de paquets à faire correspondre: ce nombre est " +"rechargé d'un à chaque fois que la limite spécifiée ci-dessus n'est pas " +"atteinte, jusqu'à ce nombre." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:481 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:354 +msgid "Monday" +msgstr "Lundi" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:491 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:364 +msgid "Month Days" +msgstr "Mois jours" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:175 +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:44 +msgid "NAT Rules" +msgstr "Règles NAT" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:173 +msgid "" +"NAT rules allow fine grained control over the source IP to use for outbound " +"or forwarded traffic." +msgstr "" +"Les règles NAT permettent un contrôle fin sur l'IP source à utiliser pour le " +"trafic sortant ou transféré." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:183 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:42 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:52 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:210 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:189 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:129 +msgid "Name" +msgstr "Nom" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:166 +msgid "Netmask" +msgstr "Masque réseau" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:83 +msgid "None" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:77 +msgid "Not fully compatible with QoS/SQM." +msgstr "Pas entièrement compatible avec QoS/SQM." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:275 +msgid "Only match incoming traffic directed at the given IP address." +msgstr "" +"Correspondre uniquement au trafic entrant dirigé vers l'adresse IP donnée." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:256 +msgid "Only match incoming traffic from these MACs." +msgstr "Montrer seulement le trafic entrant provenant de ces adresses MAC." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:261 +msgid "Only match incoming traffic from this IP or range." +msgstr "" +"Correspondre uniquement au trafic entrant provenant de cette adresse IP ou " +"de cette plage." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:266 +msgid "" +"Only match incoming traffic originating from the given source port or port " +"range on the client host" +msgstr "" +"Faire correspondre uniquement le trafic entrant provenant du port source ou " +"de la plage de ports donné sur l'hôte client" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:253 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:331 +msgid "Outbound device" +msgstr "Périphérique sortant" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:246 +msgid "Outbound zone" +msgstr "Zone sortante" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:63 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:152 +msgid "Output" +msgstr "Sortie" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:75 +msgid "Packet Field Match" +msgstr "Packet Field Match" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:76 +msgid "" +"Packet fields to match upon.
Syntax: direction_datatype. e.g.: " +"src_port, dest_net.
Directions: src, dst. " +"Datatypes: ip, port, mac, net, set.
Direction prefixes are " +"optional.
*Note: datatype set is unsupported in fw4." +msgstr "" +"Les champs de paquets correspondant à.
Syntax : direction_datatype. e.g. : src_port, dest_net.
Directions : src, " +"dst. Types de données : ip, port, mac, net, set.
Les préfixes de direction sont optionnels.
*Note : datatype " +"set n'est pas supporté dans fw4." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:350 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:471 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:343 +msgid "Passes additional arguments to iptables. Use with care!" +msgstr "" +"Passe des arguments supplémentaires aux tables d'adresses IP. A utiliser " +"avec précaution !" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:309 +msgid "" +"Passing raw iptables arguments to source and destination traffic " +"classification rules allows to match packets based on other criteria than " +"interfaces or subnets. These options should be used with extreme care as " +"invalid values could render the firewall ruleset broken, completely exposing " +"all services." +msgstr "" +"Le passage d'arguments iptables bruts aux règles de classification du trafic " +"source et de destination permet de faire correspondre les paquets en " +"fonction d'autres critères que les interfaces ou les sous-réseaux. Ces " +"options doivent être utilisées avec une extrême prudence, car des valeurs " +"non valides peuvent endommager le jeu de règles du pare-feu, exposant " +"complètement tous les services." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:188 +msgid "Path to file of CIDRs, subnets, host IPs, etc.
" +msgstr "" +"Chemin d'accès au fichier des CIDR, des sous-réseaux, des IP hôtes, etc.
" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:155 +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:26 +msgid "Port Forwards" +msgstr "Redirections de port" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:153 +msgid "" +"Port forwarding allows remote computers on the Internet to connect to a " +"specific computer or service within the private LAN." +msgstr "" +"La redirection de port permet aux ordinateurs distants sur Internet, de se " +"connecter à un ordinateur ou service spécifié dans le réseau local privé." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:158 +msgid "Port range" +msgstr "Plage de ports" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:237 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:289 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:242 +msgid "Protocol" +msgstr "Protocole" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:298 +msgid "" +"Redirect matched incoming traffic to the given port on the internal host" +msgstr "" +"Rediriger le trafic entrant correspondant vers le port donné sur l'hôte " +"interne" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:293 +msgid "Redirect matched incoming traffic to the specified internal host" +msgstr "Rediriger le trafic entrant correspondant vers l'hôte interne spécifié" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:122 +msgid "Refer To External Set" +msgstr "Reportez-vous à l'ensemble externe" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:320 +msgid "Reflection zones" +msgstr "Zones de réflection" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:85 +msgid "Requires hardware NAT support." +msgstr "Nécessite un support NAT matériel." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:272 +msgid "Restrict Masquerading to given destination subnets" +msgstr "" +"Restreindre la substitution d'adresses (Masquerade) à ces sous-réseaux " +"destinataires" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:261 +msgid "Restrict Masquerading to given source subnets" +msgstr "" +"Restreindre la substitution d'adresses (Masquerade) à ces sous-réseaux " +"sources" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:188 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:277 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:216 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:255 +msgid "Restrict to address family" +msgstr "Restreindre à la famille d’adresses" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:297 +msgid "Rewrite IP address" +msgstr "Réécrire l'adresse IP" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:298 +msgid "Rewrite matched traffic to the specified source IP address." +msgstr "Réécrit le trafic correspondant à l'adresse IP source spécifiée." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:312 +msgid "Rewrite matched traffic to the specified source port or port range." +msgstr "" +"Réécrit le trafic correspondant sur le port source ou la plage de ports " +"spécifié." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:311 +msgid "Rewrite port" +msgstr "Port de réécriture" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:76 +msgid "Routing/NAT Offloading" +msgstr "Routage/déchargement NAT" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:290 +msgid "SNAT - Rewrite to specific source IP or port" +msgstr "SNAT - Réécriture sur IP ou port source spécifique" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:486 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:359 +msgid "Saturday" +msgstr "Samedi" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:316 +msgid "Set mark" +msgstr "Définir la marque" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:318 +msgid "" +"Set the given mark value on established connections. Format is value[/mask]. " +"If a mask is specified then only those bits set in the mask are modified." +msgstr "" +"Définissez la valeur de repère donnée sur les connexions établies. Le format " +"est la valeur[/mask]. Si un masque est spécifié, seuls les bits définis dans " +"le masque sont modifiés." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:84 +msgid "Software based offloading for routing/NAT." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:84 +msgid "Software flow offloading" +msgstr "Déchargement de flux logiciel" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:260 +msgid "Source IP address" +msgstr "Adresse IP source" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:255 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:386 +msgid "Source MAC address" +msgstr "Adresse MAC source" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:387 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:253 +msgid "Source address" +msgstr "Adresse source" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:265 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:389 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:261 +msgid "Source port" +msgstr "Port source" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:241 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:372 +msgid "Source zone" +msgstr "Zone source" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:270 +msgid "" +"Specifies whether to tie this traffic rule to a specific inbound or outbound " +"network device." +msgstr "" +"Spécifie s'il faut lier cette règle de trafic à un périphérique réseau " +"entrant ou sortant spécifique." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:311 +msgid "" +"Specifies whether to use the external or the internal IP address for " +"reflected traffic." +msgstr "" +"Spécifie s'il faut utiliser l'adresse IP externe ou interne pour le trafic " +"réfléchi." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:510 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:383 +msgid "Start Date (yyyy-mm-dd)" +msgstr "Date de début (aaaa-mm-jj)" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:502 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:375 +msgid "Start Time (hh:mm:ss)" +msgstr "Heure de début (hh:mm:ss)" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:514 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:387 +msgid "Stop Date (yyyy-mm-dd)" +msgstr "Date d'arrêt (aaaa-mm-jj)" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:506 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:379 +msgid "Stop Time (hh:mm:ss)" +msgstr "Heure d'arrêt (hh:mm:ss)" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:130 +msgid "Storage Method" +msgstr "Méthode de stockage" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:480 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:353 +msgid "Sunday" +msgstr "Dimanche" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:694 +msgid "" +"The existing firewall configuration needs to be changed for LuCI to function " +"properly." +msgstr "" +"La configuration de pare-feu existante doit être modifiée pour que LuCI " +"fonctionne correctement." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:39 +msgid "" +"The firewall creates zones over your network interfaces to control network " +"traffic flow." +msgstr "" +"Le pare-feu crée des zones sur les interfaces réseau pour contrôler le flux " +"du trafic réseau." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:227 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:340 +msgid "" +"The options below control the forwarding policies between this zone (%s) and " +"other zones. Destination zones cover forwarded traffic " +"originating from %q. Source zones match forwarded " +"traffic from other zones targeted at %q. The forwarding " +"rule is unidirectional, e.g. a forward from lan to wan does " +"not imply a permission to forward from wan to lan as well." +msgstr "" +"Les options ci-dessous contrôlent les politiques de transmission entre cette " +"zone (%s) et les autres zones. Zones de destination couvre le " +"trafic transfmis venant de %q. Zones source " +"correspond au trafic transféré d'autres zones à destination de %q. La règle de transmission est unidirectionnelle, la " +"transmission du LAN au WAN n'implique pas également l'autorisation " +"de transmission du WAN au LAN." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:125 +msgid "" +"This section defines common properties of %q. The input and " +"output options set the default policies for traffic entering and " +"leaving this zone while the forward option describes the policy for " +"forwarded traffic between different networks within the zone. Covered " +"networks specifies which available networks are members of this zone." +msgstr "" +"Cette section définit les propriétés communes de %q. Les options entrée et sortie définissent les politiques par défaut pour le trafic " +"entrant et sortant de cette zone tandis que l'option transfert " +"décrit la politique pour le trafic transféré entre différents réseaux dans " +"la zone. Réseaux couverts spécifie quels réseaux disponibles sont " +"membres de cette zone." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:484 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:357 +msgid "Thursday" +msgstr "Jeudi" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:184 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:183 +msgid "Time Restrictions" +msgstr "Restrictions de temps" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:518 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:391 +msgid "Time in UTC" +msgstr "Heure en UTC" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:244 +msgid "Time restrictions are enabled for this rule" +msgstr "Des restrictions horaires sont activées pour cette règle" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:196 +msgid "Timeout" +msgstr "Délai d'attente" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:77 +msgid "" +"To %{dest}%{dest_device?, interface %{dest_device}}%{dest_ip?, IP " +"%{dest_ip#%{next?, }%{item.ival}
}}%{dest_port?, port %{dest_port#%{next?, }" +"%{item." +"ival}}}" +msgstr "" +"To %{dest}%{dest_device?, interface %{dest_device}}%{dest_ip?, IP " +"%{dest_ip#%{next?, }%{item.ival}}}%{dest_port?, port %{dest_port#%{next?, }" +"%{item." +"ival}}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:55 +msgid "" +"To %{dest}%{dest_device?, via interface %{dest_device}}%{dest_ip?, IP %{dest_ip#%{next?, }%{item.ival}}}%{dest_port?, port " +"%{dest_port#%{next?, }%{item.ival}}}" +msgstr "" +"To %{dest}%{dest_device?, via interface %{dest_device}}%{dest_ip?, IP %{dest_ip#%{next?, }%{item.ival}}}%{dest_port?, port " +"%{dest_port#%{next?, }%{item.ival}}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:61 +msgid "" +"To %{dest}%{dest_ip?, IP %{dest_ip#%{next?, }%{item.ival}}}%{dest_port?, port %{dest_port#%{next?, }%{item.ival}}}" +msgstr "" +"To %{dest}%{dest_ip?, IP %{dest_ip#%{next?, }%{item.ival}}}%{dest_port?, port %{dest_port#%{next?, }%{item.ival}}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:439 +msgid "Tracking helper" +msgstr "Aide au suivi" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:176 +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:35 +msgid "Traffic Rules" +msgstr "Règles de trafic" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:174 +msgid "" +"Traffic rules define policies for packets travelling between different " +"zones, for example to reject traffic between certain hosts or to open WAN " +"ports on the router." +msgstr "" +"Les règles de trafic définissent des politiques pour les paquets voyageant " +"entre différentes zones, par exemple pour rejeter le trafic entre certains " +"hôtes ou pour ouvrir des ports WAN sur le routeur." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:482 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:355 +msgid "Tuesday" +msgstr "Mardi" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/custom.js:19 +msgid "Unable to save contents: %s" +msgstr "Impossible d'enregistrer le contenu : %s" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:197 +msgid "" +"Unit: seconds. Default 0 means the entry is added permanently " +"to the set.
Max: 2147483 seconds." +msgstr "" +"Unité : secondes. Défaut 0 signifie que l'entrée est ajoutée de " +"manière permanente à l'ensemble.
Max : 2147483 secondes." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:341 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:461 +msgid "Unknown or not installed conntrack helper \"%s\"" +msgstr "Assistant conntrack inconnu ou non installé \"%s\"" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:186 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:190 +msgid "Unnamed NAT" +msgstr "NAT sans nom" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:169 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:184 +msgid "Unnamed forward" +msgstr "Transfert sans nom" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:191 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:211 +msgid "Unnamed rule" +msgstr "Règle sans nom" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:57 +msgid "Unnamed set" +msgstr "Unnamed set" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:130 +msgid "Unnamed zone" +msgstr "Zone sans nom" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:597 +msgid "Unrecognized protocol" +msgstr "Protocole non reconnu" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:695 +msgid "" +"Upon pressing \"Continue\", \"redirect\" sections with target \"SNAT\" will " +"be converted to \"nat\" sections and the firewall will be restarted to apply " +"the updated configuration." +msgstr "" +"En appuyant sur \"Continuer\", les sections \"rediriger\" avec la cible " +"\"SNAT\" seront converties en sections \"nat\" et le pare-feu sera redémarré " +"pour appliquer la configuration mise à jour." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:315 +msgid "Use external IP address" +msgstr "Utiliser une adresse IP externe" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:314 +msgid "Use internal IP address" +msgstr "Utiliser l'adresse IP interne" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:247 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:378 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:322 +msgid "Use ipset" +msgstr "Utiliser ipset" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:231 +msgid "" +"Use this option to classify zone traffic by raw, non-uci managed " +"network devices." +msgstr "" +"Utilisez cette option pour classer le trafic de zone par périphériques " +"réseau bruts non uci gérés." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:236 +msgid "" +"Use this option to classify zone traffic by source or destination subnet " +"instead of networks or devices." +msgstr "" +"Utilisez cette option pour classer le trafic de zone par sous-réseau source " +"ou de destination au lieu de réseaux ou de périphériques." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:331 +msgid "Valid firewall mark required" +msgstr "Marque de pare-feu valide requise" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:483 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:356 +msgid "Wednesday" +msgstr "Mercredi" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:475 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:348 +msgid "Week Days" +msgstr "Jours de la semaine" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:420 +msgid "XOR firewall mark" +msgstr "Marque de pare-feu XOR" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:316 +msgid "XOR mark" +msgstr "Marque XOR" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:28 +msgid "Your device does not run firewall4." +msgstr "Votre appareil n'exécute pas firewall4." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:26 +msgid "Your device runs firewall4." +msgstr "Votre appareil fonctionne avec firewall4." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:143 +msgid "Zone ⇒ Forwardings" +msgstr "Zone ⇒ Transferts" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:101 +msgid "Zones" +msgstr "Zones" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:320 +msgid "" +"Zones from which reflection rules shall be created. If unset, only the " +"destination zone is used." +msgstr "" +"Zones depuis lesquelles les règles de réflexion doivent être appelées. Si " +"non défini, seulement la zone de destination est utilisée." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:415 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:70 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:159 +msgid "accept" +msgstr "accepter" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:268 +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:463 +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:486 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:270 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:301 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:328 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:392 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:407 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:441 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:448 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:266 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:282 +msgid "any" +msgstr "tous" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:53 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:86 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:65 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:78 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:46 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:56 +msgid "any zone" +msgstr "n'importe quelle zone" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:298 +msgid "any/all" +msgstr "tout/tous" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:419 +msgid "apply firewall mark" +msgstr "appliquer une marque de pare-feu" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:418 +msgid "assign conntrack helper" +msgstr "affecter l'assistant conntrack" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:194 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:222 +msgid "automatic" +msgstr "automatique" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:131 +msgid "bitmap" +msgstr "bitmap" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:137 +msgid "bitmap is ipv4 only" +msgstr "Bitmap uniquement pour IPv4" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:72 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:89 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:67 +msgid "day" +msgstr "journée" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:93 +msgid "dest_ip: Destination IP" +msgstr "dest_ip : IP de destination" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:95 +msgid "dest_mac: Destination MAC addr" +msgstr "dest_mac : Adresse MAC de destination" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:96 +msgid "dest_net: Destination (sub)net" +msgstr "dest_net : Destination (sous -) Réseau" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:94 +msgid "dest_port: Destination Port" +msgstr "dest_port : Port de destination" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:98 +msgid "dest_set: Destination ipset*" +msgstr "dest_set : Destination ipset*" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:315 +msgid "do not rewrite" +msgstr "ne pas réécrire" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:417 +msgid "don't track" +msgstr "ne pas pister" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:414 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:69 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:158 +msgid "drop" +msgstr "ignorer" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:21 +msgid "" +"firewall4 supports referencing and creating IP sets to simplify matching of " +"large address lists without the need to create one rule per item to match. " +"Port ranges in ipsets are unsupported by firewall4.
" +msgstr "" +"firewall4 prend en charge le référencement et la création d' IPset afin de " +"simplifier la correspondance de gd listes d'adresses sans avoir à créer une " +"règle par élément. Les plages de ports dans les ipsets ne sont pas prises en " +"charge par firewall4.
" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:159 +msgid "fromport-toport" +msgstr "Du port au port" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:132 +msgid "hash" +msgstr "hash" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:72 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:89 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:67 +msgid "hour" +msgstr "heure" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:81 +msgid "ip: IP addr" +msgstr "ip : addr IP" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:153 +msgid "ip[/cidr]
" +msgstr "ip[/cidr]
" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:145 +msgid "ip[/cidr]
For use with Match datatypes: *_ip." +msgstr "" +"ip[/cidr]
A utiliser avec les types de données Match : *_ip." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:70 +msgid "ipv4" +msgstr "ipv4" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:133 +msgid "list" +msgstr "liste" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:83 +msgid "mac: MAC addr" +msgstr "mac : MAC addr" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:108 +msgid "macaddr|ip[/cidr]
" +msgstr "macaddr|ip[/cidr]
" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:72 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:89 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:67 +msgid "minute" +msgstr "minute" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:84 +msgid "net: (sub)net" +msgstr "réseau : (sous-)réseau" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:82 +msgid "port: Port" +msgstr "port : Port" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:416 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:68 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:157 +msgid "reject" +msgstr "rejeter" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:72 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:89 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:67 +msgid "second" +msgstr "seconde" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:86 +msgid "set: ipset*" +msgstr "set : ipset*" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:92 +msgid "src_Set: Source ipset*" +msgstr "src_Set : Source ipset*" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:87 +msgid "src_ip: Source IP" +msgstr "src_ip : IP source" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:89 +msgid "src_mac: Source MAC addr" +msgstr "src_mac : Source MAC addr" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:90 +msgid "src_net: Source (sub)net" +msgstr "src_net : Source (sous-)net" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:88 +msgid "src_port: Source Port" +msgstr "src_port: Source Port" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:53 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:62 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:86 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:65 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:78 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:56 +msgid "this device" +msgstr "cet appareil" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:124 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:226 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:339 +msgid "this new zone" +msgstr "cette nouvelle zone" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:354 +msgid "unlimited" +msgstr "illimité" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:251 +msgid "unspecified" +msgstr "non précisé" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:114 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:173 +msgid "up to 65536 entries." +msgstr "jusqu'à 65536 entrées." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:339 +msgid "valid firewall mark" +msgstr "marque de pare-feu valide" + +#~ msgid "Software based offloading for routing/NAT" +#~ msgstr "Déchargement basé sur logiciel pour le routage/NAT" + +#~ msgid "" +#~ "Forwarded IPv4%{proto?, protocol %{proto#%{next?, }%{item.name}}}%{mark?, mark %{mark." +#~ "val}}" +#~ msgstr "" +#~ "Forwarded IPv4%{proto?, protocol %{proto#%{next?, }%{item.name}}}%{mark?, mark %{mark." +#~ "val}}" + +#~ msgid "" +#~ "Incoming IPv4%{proto?, protocol %{proto#%{next?, }%{item.types?%{item.name}ICMP with types %{item.types#%{next?, }%{item}}:%{item.name}}}}%{mark?, mark %{mark.val}}%{helper?, helper %{helper.inv?%{helper.val}:%{helper.val}" +#~ "}}" +#~ msgstr "" +#~ "Incoming IPv4%{proto?, protocol %{proto#%{next?, }%{item.types?%{item.name}ICMP with types %{item.types#%{next?, }%{item}}:%{item.name}}}}%{mark?, mark %{mark.val}}%{helper?, helper %{helper.inv?%{helper.val}:%{helper.val}" +#~ "}}" diff --git a/luci-app-firewall/po/ga/firewall.po b/luci-app-firewall/po/ga/firewall.po new file mode 100644 index 000000000..2c0f9fd16 --- /dev/null +++ b/luci-app-firewall/po/ga/firewall.po @@ -0,0 +1,1623 @@ +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2010-03-30 17:00+0200\n" +"PO-Revision-Date: 2024-10-25 20:19+0000\n" +"Last-Translator: Aindriú Mac Giolla Eoin \n" +"Language-Team: Irish \n" +"Language: ga\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=5; plural=n==1 ? 0 : n==2 ? 1 : (n>2 && n<7) ? 2 :(" +"n>6 && n<11) ? 3 : 4;\n" +"X-Generator: Weblate 5.8.2-dev\n" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:48 +msgid "" +"%{src?%{dest?Forwarded:Incoming}:Outgoing} %{ipv6?%{ipv4?IPv4 and " +"IPv6:IPv6}:IPv4}%{proto?, protocol " +"%{proto#%{next?, }%{item.types?%{item." +"name}ICMP with types %{item.types#%{next?, }" +"%{item}}:%{item.name}}}}%{mark?, mark " +"%{mark.val}}%{dscp?, DSCP %{dscp." +"inv?%{dscp.val}:%{dscp.val}}}%{helper?, helper " +"%{helper.inv?%{helper.val}:%{helper." +"val}}}" +msgstr "" +"%{src?%{dest?Ar Aghaidh:Isteach}:Amach} %{ipv6?%{ipv4?IPv4 agus " +"IPv6:IPv6} :IPv4}%{proto?, prótacal " +"%{proto#%{next?, }%{item.types?%{item." +"name} ICMP le cineálacha %{item.types#%{next?, }" +"%{item}}:% {item.name}}}} %{mark?, marcáil %{mark.val}} " +"%{dscp?, DSCP %{dscp.inv? %{dscp.val}: %{dscp.val} }} %{ cúntóir?, cúntóir %{helper.inv? %{helper.val}:" +" %{helper.val}}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:463 +msgid "-- add IP --" +msgstr "- Cuir IP leis -" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:521 +msgid "-- add MAC --" +msgstr "- cuir MAC leis -" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:199 +msgid "0" +msgstr "0" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:182 +msgid "1024" +msgstr "1024" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:118 +msgid "" +"Accept %{src?%{dest?forward:input}:output}" +msgstr "" +"Glac le %{src?%{dest?forward:input}:" +"output}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:93 +msgid "Prevent source rewrite" +msgstr "Cosc ar athscríobh foinse" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:85 +msgid "" +"Forward to %{dest}%{dest_ip? IP " +"%{dest_ip}}%{dest_port? port %{dest_port}}" +msgstr "" +"Ar aghaidh chuig %{dest}%{dest_ip? IP " +"%{dest_ip}} %{dest_port? port %{dest_port}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:115 +msgid "" +"Drop %{src?%{dest?forward:input}:output}" +msgstr "" +"Buail %{src?%{dest?forward:input}:aschur}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:133 +msgid "" +"Assign DSCP classification %{set_dscp}" +"" +msgstr "" +"Sann DSCP rangú %{set_dscp}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:127 +msgid "" +"Assign conntrack helper " +"%{set_helper}" +msgstr "" +"An bhfuil fonn ort cúntóir a shannadh " +" %{set_helper}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:130 +msgid "" +"%{set_mark?Assign:XOR} firewall mark " +"%{set_mark?:%{set_xmark}}" +msgstr "" +"%{set_mark?Assign:XOR} marc balla dóiteáin " +"%{set_mark?:%{set_xmark}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:90 +msgid "Automatically rewrite source IP" +msgstr "" +"Athscríobh go huathoibríoch IP foinse" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:124 +msgid "" +"Do not track %{src?%{dest?forward:input}:" +"output}" +msgstr "" +"Ná rianaigh %{src?%{dest?forward:input}:" +"output}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:121 +msgid "" +"Reject %{src?%{dest?forward:input}:output}" +msgstr "" +"Diúltaigh %{src?%{dest?forward:input}:" +"aschur}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:87 +msgid "" +"Statically rewrite to source %{snat_ip?IP " +"%{snat_ip}} %{snat_port?port %{snat_port}}" +msgstr "" +"Athscríobh go statach chuig foinse " +"%{snat_ip?IP %{snat_ip}} %{snat_port?port %{snat_port}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:306 +msgid "A rewrite IP must be specified!" +msgstr "Ní mór IP athscríobh a shonrú!" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:292 +msgid "ACCEPT - Disable address rewriting" +msgstr "GLACADH - Díchumasaigh athscríobh seoltaí" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:224 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:225 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:411 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:204 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:287 +msgid "Action" +msgstr "Gníomhaíocht" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:322 +msgid "" +"Additional raw iptables arguments to classify zone destination " +"traffic, e.g. -p tcp --dport 443 to only match outbound HTTPS " +"traffic." +msgstr "" +"Argóintí breise amh iptables chun trácht ceann scríbe crios a " +"rangú, m.sh. -p tcp --dport 443 chun trácht HTTPS amach a " +"mheaitseáil amháin." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:312 +msgid "" +"Additional raw iptables arguments to classify zone source traffic, " +"e.g. -p tcp --sport 443 to only match inbound HTTPS traffic." +msgstr "" +"Argóintí breise amh iptables chun trácht foinse crios a rangú, m." +"sh. -p tcp --sport 443 chun trácht HTTPS isteach a mheaitseáil " +"amháin." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:107 +msgid "Address family, Internal IP address must match" +msgstr "Teaghlach seoladh, Caithfidh seoladh IP inmheánach" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:135 +msgid "" +"Address family, source address, destination address, rewrite IP address must " +"match" +msgstr "" +"Caithfidh seoladh teaghlach, seoladh foinse, seoladh ceann scríbe, " +"athscríobh seoladh" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:162 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:183 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:182 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:114 +msgid "Advanced Settings" +msgstr "Socruithe chun cinn" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:283 +msgid "Allow \"invalid\" traffic" +msgstr "Ceadaigh trácht “neamhbhailí”" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:385 +msgid "Allow forward from source zones:" +msgstr "Ceadaigh ar aghaidh ó criosanna foinse:" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:344 +msgid "Allow forward to destination zones:" +msgstr "Ceadaigh ar aghaidh chuig criosanna:" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:551 +msgid "Any" +msgstr "Aon" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:479 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:495 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:352 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:368 +msgid "Any day" +msgstr "Lá ar bith" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:317 +msgid "" +"Apply a bitwise XOR of the given value and the existing mark value on " +"established connections. Format is value[/mask]. If a mask is specified then " +"those bits set in the mask are zeroed out." +msgstr "" +"Cuir XOR giotáin den luach tugtha agus an luach marc atá ann cheana i " +"bhfeidhm ar naisc bhunaithe. Is é an fhormáid luach [/mask]. Má shonraítear " +"masc ansin déantar na giotáin sin a leagtar amach sa masc a nialú." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:264 +msgid "Apply the given DSCP class or value to established connections." +msgstr "Cuir an rang nó an luach DSCP a thugtar i bhfeidhm ar naisc bhunaithe." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:439 +msgid "Assign the specified connection tracking helper to matched traffic." +msgstr "Sann an cúntóir rianaithe nasc sonraithe le trácht comhoiriúnach." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:286 +msgid "Automatic helper assignment" +msgstr "Sannadh cúntóir uathoi" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:286 +msgid "" +"Automatically assign conntrack helpers based on traffic protocol and port" +msgstr "" +"Cúntóirí conntrack a shannadh go huathoibríoch bunaithe ar phrótacal tráchta " +"agus" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:61 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:62 +msgid "Comment" +msgstr "Trácht" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:115 +msgid "Conntrack Settings" +msgstr "Socruithe Conntrack" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:290 +msgid "Conntrack helpers" +msgstr "Cúntóirí Conntrack" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/custom.js:16 +msgid "Contents have been saved." +msgstr "Sábháiltear an t-ábhar." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:700 +msgid "Continue" +msgstr "Lean ar aghaidh" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:204 +msgid "Counters" +msgstr "Áiritheoirí" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:231 +msgid "Covered devices" +msgstr "Feistí clúdaithe" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:183 +msgid "Covered networks" +msgstr "Líonraí clúdaithe" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:236 +msgid "Covered subnets" +msgstr "Fo-líontaí clúdaithe" + +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:62 +msgid "Custom Rules" +msgstr "Rialacha Saincheaptha" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/custom.js:26 +msgid "" +"Custom rules allow you to execute arbitrary iptables commands which are not " +"otherwise covered by the firewall framework. The commands are executed after " +"each firewall restart, right after the default ruleset has been loaded." +msgstr "" +"Ligeann rialacha saincheaptha duit orduithe iptables treallach a " +"fhorghníomhú nach bhfuil clúdaithe ag an gcreat balla dóiteáin ar shlí eile. " +"Déantar na horduithe a fhorghníomhú tar éis gach balla dóiteáin a atosú, " +"díreach tar éis an tacar rialacha réamhshocraithe a luchtú." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:421 +msgid "DSCP classification" +msgstr "Aicmiú DSCP" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:263 +msgid "DSCP mark" +msgstr "Marca DSCP" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:297 +msgid "DSCP mark required" +msgstr "Marca DSCP ag teastáil" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:402 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:270 +msgid "Destination address" +msgstr "Seoladh scríbe" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:404 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:278 +msgid "Destination port" +msgstr "Port ceann scríbe" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:396 +msgid "Destination zone" +msgstr "Crios ceann scríbe" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:269 +msgid "Device name" +msgstr "Ainm gléas" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:283 +msgid "" +"Do not install extra rules to reject forwarded traffic with conntrack state " +"invalid. This may be required for complex asymmetric route setups." +msgstr "" +"Ná suiteáil rialacha breise chun trácht ar aghaidh a dhiúltú le staid " +"conntrack neamhbhailí. D'fhéadfadh sé seo a bheith ag teastáil le " +"haghaidh socruithe casta bealaí neamhshiméadracha." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:59 +msgid "Drop invalid packets" +msgstr "Scaoil pacáid neamhbhailí" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:232 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:231 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:210 +msgid "Enable" +msgstr "Cumasaigh" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:306 +msgid "Enable NAT Loopback" +msgstr "Cumasaigh NAT Loopback" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:45 +msgid "Enable SYN-flood protection" +msgstr "Cumasaigh cosaint tuilte Sync" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:296 +msgid "Enable logging on this zone" +msgstr "Cumasaigh logáil ar an gcrios seo" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:168 +msgid "" +"Enable network address and port translation IPv4 (NAT4 or NAPT4) for " +"outbound traffic on this zone. This is typically enabled on the wan " +"zone." +msgstr "" +"Cumasaigh seoladh líonra agus aistriúchán poirt IPv4 (NAT4 nó NAPT4) le " +"haghaidh tráchta amach sa chrios seo. Is gnách é seo a chumasú sa chrios " +"wan." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:243 +msgid "" +"Enable network address and port translation IPv6 (NAT6 or NAPT6) for " +"outbound traffic on this zone." +msgstr "" +"Cumasaigh seoladh líonra agus aistriúchán calafoirt IPv6 (NAT6 nó NAPT6) le " +"haghaidh tráchta amach ar an gcrios seo." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:211 +msgid "Enabled" +msgstr "Cumasaithe" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:205 +msgid "Enables packet and byte count tracking for the set." +msgstr "Cumasaíonn sé rianú comhaireamh paicéad agus béite don tacar." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:339 +msgid "Expecting: %s" +msgstr "Ag súil le: %s" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:290 +msgid "Explicitly choses allowed connection tracking helpers for zone traffic" +msgstr "" +"Roghnaíonn sé go sainráite cúntóirí rianaithe nasc ceadaithe do thrácht" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:274 +msgid "External IP address" +msgstr "Seoladh IP seachtrach" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:279 +msgid "External port" +msgstr "Calafort seachtrach" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:349 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:470 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:342 +msgid "Extra arguments" +msgstr "Argóintí breise" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:322 +msgid "Extra destination arguments" +msgstr "Argóintí scríbe breise" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:116 +msgid "Extra iptables arguments" +msgstr "Argóintí breise iptables" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:312 +msgid "Extra source arguments" +msgstr "Argóintí foinse breise" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:67 +msgid "Family" +msgstr "Teaghlach" + +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:3 +msgid "Firewall" +msgstr "Balla dóiteáin" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/custom.js:25 +msgid "Firewall - Custom Rules" +msgstr "Dóiteáin - Rialacha Saincheaptha" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:20 +msgid "Firewall - IP sets" +msgstr "Balla dóiteáin - tacair IP" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:172 +msgid "Firewall - NAT Rules" +msgstr "Balla dóiteáin - Rialacha NAT" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:152 +msgid "Firewall - Port Forwards" +msgstr "Balla dóiteáin - Port Forwards" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:173 +msgid "Firewall - Traffic Rules" +msgstr "Balla Dóiteáin - Rialacha Tráchta" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:38 +msgid "Firewall - Zone Settings" +msgstr "Balla dóiteáin - Socruithe Crios" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:693 +msgid "Firewall configuration migration" +msgstr "Imirce cumraíochta dóiteáin" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:82 +msgid "Flow offloading type" +msgstr "Cineál díluchtaithe sreabhadh" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:64 +msgid "Forward" +msgstr "Ar aghaidh" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:34 +msgid "" +"Forwarded %{ipv6?%{ipv4?IPv4 and IPv6:IPv6}:" +"IPv4}%{proto?, protocol %{proto#%{next?, }%{item.name}}}%{mark?, mark %{mark.val}" +"}" +msgstr "" +"Curtha ar aghaidh %{ipv6?%{ipv4?IPv4 agus IPv6:" +"IPv6}:IPv4}%{ proto? , prótacal %{proto#%{ar " +"aghaidh?, }%{item.name} }} %{mark?, marc %{mark.val}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:485 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:358 +msgid "Friday" +msgstr "Dé hAoine" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:45 +msgid "" +"From %{src}%{src_device?, interface %{src_device}}%{src_ip?, IP " +"%{src_ip#%{next?, }%{item.ival}}}%{src_port?, port %{src_port#%{next?, }" +"%{item." +"ival}}}" +msgstr "" +"Ó %{src}%{src_device?, comhéadan %{src_device}} %{src_ip?, IP " +"%{src_ip#%{next?, } %{item.ival} }} %{src_port?, port " +"%{src_port#%{ Next?, } %{item.ival}}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:64 +msgid "" +"From %{src}%{src_device?, interface %{src_device}}%{src_ip?, IP " +"%{src_ip#%{next?, }%{item.ival}}}%{src_port?, port %{src_port#%{next?, }" +"%{item." +"ival}}}%{src_mac?, MAC %{src_mac#%{next?, }%{item.ival}" +"}}" +msgstr "" +"Ó %{src}%{src_device?, comhéadan %{src_device}} %{src_ip?, IP " +"%{src_ip#%{next?, } %{item.ival} }} %{src_port?, port " +"%{src_port#%{ Next?, } %{item.ival} }} %{src_mac?, MAC " +"%{src_mac#%{next?, } %{item.ival}}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:52 +msgid "" +"From %{src}%{src_ip?, IP %{src_ip#%{next?, }%{item.ival}}}%{src_port?, port %{src_port#%{next?, }%{item.ival}}}%{src_mac?, " +"MAC %{src_mac#%{next?, }%{item.ival}}}" +msgstr "" +"Ó %{src}%{src_ip?, IP %{src_ip#%{ar aghaidh?, } %{item.ival} }} %{src_port?, port %{src_port#%{ Next?, } %{item.ival} }} " +"%{src_mac?, MAC %{src_mac#%{next?, } " +"%{item.ival}}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:161 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:182 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:181 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:41 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:113 +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:17 +msgid "General Settings" +msgstr "Socruithe Ginearálta" + +#: applications/luci-app-firewall/root/usr/share/rpcd/acl.d/luci-app-firewall.json:3 +msgid "Grant access to firewall configuration" +msgstr "Rochtain a dheonú ar chumraíocht dóiteáin" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:85 +msgid "Hardware based offloading for routing with/without NAT." +msgstr "Díluchtú bunaithe ar chrua-earraí le haghaidh ródú le/gan NAT." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:85 +msgid "Hardware flow offloading" +msgstr "Díluchtú sreafa crua-earraí" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:144 +msgid "IP (range)" +msgstr "IP (raon)" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:32 +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:53 +msgid "IP Sets" +msgstr "Tacair IP" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:152 +msgid "IPs/Networks" +msgstr "IPS/líonraí" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:107 +msgid "IPs/Networks/MACs" +msgstr "IPS/líonraí/Macanna" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:68 +msgid "IPv4" +msgstr "IPv4" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:191 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:280 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:219 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:256 +msgid "IPv4 and IPv6" +msgstr "IPv4 agus IPv6" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:192 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:281 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:220 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:257 +msgid "IPv4 only" +msgstr "IPv4 amháin" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:69 +msgid "IPv6" +msgstr "IPv6" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:242 +msgid "IPv6 Masquerading" +msgstr "Mascaradh IPv6" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:193 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:282 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:221 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:258 +msgid "IPv6 only" +msgstr "IPv6 amháin" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:252 +msgid "Inbound device" +msgstr "Gléas isteach" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:187 +msgid "Include File" +msgstr "Cuimsigh Comhad" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:40 +msgid "" +"Incoming %{ipv6?%{ipv4?IPv4 and IPv6:IPv6}:" +"IPv4}%{proto?, protocol %{proto#%{next?, }%{item.types?%{item.name}ICMP " +"with types %{item.types#%{next?, }%{item}}:" +"%{item.name}}}}%{mark?, mark %{mark.val}}%{helper?, helper %{helper.inv?%{helper.val}:%{helper.val}}}" +msgstr "" +"Ag teacht isteach %{ipv6?%{ipv4?IPv4 agus IPv6:" +"IPv6}:IPv4}%{ proto? , prótacal " +"%{proto#%{next?, }%{item.types?%{item." +"name}ICMP le cineálacha % {item.types#%{next?, }" +"%{item}}: %{item.name} }}} %{ marc?, " +"marcáil %{mark.val}} %{helper?, cúntóir %{helper.inv? %{helper.val}:" +" %{helper.val} }}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:180 +msgid "Initial Hash Size" +msgstr "Méid Hash Tosaigh" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:62 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:151 +msgid "Input" +msgstr "Ionchur" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:292 +msgid "Internal IP address" +msgstr "Seoladh IP inmheánach" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:297 +msgid "Internal port" +msgstr "Port inmheánach" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:287 +msgid "Internal zone" +msgstr "Crios inmheánach" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:153 +msgid "Intra zone forward" +msgstr "Intra chrios ar aghaidh" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:305 +msgid "Invalid DSCP mark" +msgstr "Marca DSCP neamhbhailí" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:373 +msgid "Invalid limit value" +msgstr "Luach teorann neamhbhailí" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:47 +msgid "Invalid set name" +msgstr "Ainm tacar neamhbhailí" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:383 +msgid "Limit burst" +msgstr "Pléascadh teorainn" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:299 +msgid "Limit log messages" +msgstr "Teachtaireachtaí logála teorainn" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:349 +msgid "Limit matching" +msgstr "Meaitseáil teorainn" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:79 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:96 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:74 +msgid "" +"Limit matching to %{limit.num} packets per %{limit.unit}%{limit.burst? burst %{limit.burst}}" +msgstr "" +"Teorainn a mheaitseáil le %{limit.num} paicéad in aghaidh an " +"%{limit.unit} %{limit.burst? pléasctha %{limit.burst}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:175 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:250 +msgid "Limited masquerading enabled" +msgstr "Cumasaithe masquerading teoranta" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:350 +msgid "Limits traffic matching to the specified rate." +msgstr "Teoraíonn sé meaitseáil tráchta leis an ráta sonraithe." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:311 +msgid "Loopback source IP" +msgstr "Foinse Loopback IP" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:291 +msgid "MASQUERADE - Automatically rewrite to outbound interface IP" +msgstr "MASQUERADE - Athscríobh go huathoibríoch chuig IP comhéadan amach" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:180 +msgid "MSS clamping" +msgstr "Clampáil MSS" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:167 +msgid "Masquerading" +msgstr "Masquerating" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:213 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:214 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:193 +msgid "Match" +msgstr "Meaitseáil" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:263 +msgid "Match DSCP" +msgstr "Meaitseáil DSCP" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:293 +msgid "Match ICMP type" +msgstr "Meaitseáil cineál ICMP" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:249 +msgid "Match device" +msgstr "Gléas meaitseála" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:271 +msgid "Match forwarded traffic directed at the given IP address." +msgstr "Meaitseáil trácht ar aghaidh atá dírithe ar an seoladh IP ar leith." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:279 +msgid "" +"Match forwarded traffic directed at the given destination port or port range." +msgstr "" +"Meaitseáil an trácht ar aghaidh atá dírithe ar an gcalafort ceann scríbe nó " +"ar an raon poirt a thugtar." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:254 +msgid "Match forwarded traffic from this IP or range." +msgstr "Meaitseáil trácht ar aghaidh ón IP nó an raon seo." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:262 +msgid "" +"Match forwarded traffic originating from the given source port or port range." +msgstr "" +"Meaitseáil an trácht ar aghaidh a thagann as an gcalafort foinseach nó as an " +"raon poirt a thugtar." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:326 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:446 +msgid "Match helper" +msgstr "Cúntóir meaitseála" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:280 +msgid "" +"Match incoming traffic directed at the given destination port or port range " +"on this host" +msgstr "" +"Meaitseáil trácht isteach atá dírithe ar an gcalafort ceann scríbe nó an " +"raon calafoirt ar leith" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:316 +msgid "Match mark" +msgstr "Marca meaitseála" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:326 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:446 +msgid "Match traffic using the specified connection tracking helper." +msgstr "" +"Meaitseáil an trácht ag baint úsáide as an gcúntóir rianaithe nasc sonraithe." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:319 +msgid "Matches a specific firewall mark or a range of different marks." +msgstr "" +"Meaitseálann sé le marc balla dóiteáin sonrach nó raon marcanna éagsúla." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:332 +msgid "Matches forwarded traffic using the specified outbound network device." +msgstr "" +"Meaitseálann sé trácht ar aghaidh ag baint úsáide as an ngléas líonra amach " +"sonraithe." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:264 +msgid "Matches traffic carrying the specified DSCP marking." +msgstr "Meaitseálann sé trácht a iompraíonn an marcáil sonraithe DSCP." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:113 +msgid "Max Entries" +msgstr "Iontrálacha Uasta" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:172 +msgid "Max Length" +msgstr "Fad Uasta" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:384 +msgid "" +"Maximum initial number of packets to match: this number gets recharged by " +"one every time the limit specified above is not reached, up to this number." +msgstr "" +"Uaslíon tosaigh na bpacáit atá le meaitseáil: athmhuirearaítear an uimhir " +"seo gach uair nach sroichtear an teorainn a shonraítear thuas, suas go dtí " +"an uimhir seo." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:481 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:354 +msgid "Monday" +msgstr "Dé Luain" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:491 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:364 +msgid "Month Days" +msgstr "Laethanta Míosa" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:175 +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:44 +msgid "NAT Rules" +msgstr "Rialacha NAT" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:173 +msgid "" +"NAT rules allow fine grained control over the source IP to use for outbound " +"or forwarded traffic." +msgstr "" +"Ligeann rialacha NAT rialú mín ghráinneach ar an IP foinse a úsáid le " +"haghaidh trácht amach nó ar aghaidh." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:183 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:42 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:52 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:210 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:189 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:129 +msgid "Name" +msgstr "Ainm" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:166 +msgid "Netmask" +msgstr "Líonmasc" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:83 +msgid "None" +msgstr "Dada" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:77 +msgid "Not fully compatible with QoS/SQM." +msgstr "Ní hiomlán comhoiriúnach le QOS/méadar cearnach." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:275 +msgid "Only match incoming traffic directed at the given IP address." +msgstr "" +"Ní mheaitseáil ach trácht isteach atá dírithe ar an seoladh IP ar leith." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:256 +msgid "Only match incoming traffic from these MACs." +msgstr "Ní mheaitseáil ach trácht atá ag teacht isteach ó na MACanna seo." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:261 +msgid "Only match incoming traffic from this IP or range." +msgstr "Ní mheaitseáil ach trácht atá ag teacht isteach ón IP nó an raon seo." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:266 +msgid "" +"Only match incoming traffic originating from the given source port or port " +"range on the client host" +msgstr "" +"Ní mheaitseáil ach trácht atá ag teacht isteach ón gcalafort foinse nó raon " +"calafoirt ar an óstach cliant" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:253 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:331 +msgid "Outbound device" +msgstr "Gléas amach" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:246 +msgid "Outbound zone" +msgstr "Crios amach" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:63 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:152 +msgid "Output" +msgstr "Aschur" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:75 +msgid "Packet Field Match" +msgstr "Cluiche Réimse Pacáiste" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:76 +msgid "" +"Packet fields to match upon.
Syntax: direction_datatype. e.g.: " +"src_port, dest_net.
Directions: src, dst. " +"Datatypes: ip, port, mac, net, set.
Direction prefixes are " +"optional.
*Note: datatype set is unsupported in fw4." +msgstr "" +"Réimsí paicéad le meaitseáil leo.
Comhréir: direction_datatype. m.sh.: src_port, dest_net.
Treoracha: src, dst. Cineálacha sonraí: ip, port, mac, glan, tacar.
Tá " +"réimíreanna treorach roghnach.
*Tabhair faoi deara: ní thacaítear le " +"cineál data set i fw4." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:350 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:471 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:343 +msgid "Passes additional arguments to iptables. Use with care!" +msgstr "Cuireann argóintí breise chuig iptables. Úsáid go cúramach!" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:309 +msgid "" +"Passing raw iptables arguments to source and destination traffic " +"classification rules allows to match packets based on other criteria than " +"interfaces or subnets. These options should be used with extreme care as " +"invalid values could render the firewall ruleset broken, completely exposing " +"all services." +msgstr "" +"Trí argóintí amh iptables a chur ar aghaidh chuig rialacha aicmithe tráchta " +"foinse agus cinn scríbe is féidir paicéid a mheaitseáil bunaithe ar chritéir " +"eile seachas comhéadain nó folíonta. Ba cheart na roghanna seo a úsáid go " +"han-chúramach toisc go bhféadfadh luachanna neamhbhailí an tacar rialacha " +"balla dóiteáin a bhriseadh, rud a nochtfadh na seirbhísí go léir go hiomlán." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:188 +msgid "Path to file of CIDRs, subnets, host IPs, etc.
" +msgstr "Conair chuig comhad CIDRanna, folíonta, IPanna óstaigh, etc.
" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:155 +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:26 +msgid "Port Forwards" +msgstr "Port ar aghaidh" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:153 +msgid "" +"Port forwarding allows remote computers on the Internet to connect to a " +"specific computer or service within the private LAN." +msgstr "" +"Ligeann cur ar aghaidh calafoirt do ríomhairí cianda ar an Idirlíon ceangal " +"le ríomhaire nó seirbhís ar leith laistigh den LAN príobháideach." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:158 +msgid "Port range" +msgstr "Raon calafoirt" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:237 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:289 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:242 +msgid "Protocol" +msgstr "Prótacal" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:298 +msgid "" +"Redirect matched incoming traffic to the given port on the internal host" +msgstr "" +"Trácht atá ag teacht isteach a atreorú chuig an gcalafort ar leith ar an " +"óstach" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:293 +msgid "Redirect matched incoming traffic to the specified internal host" +msgstr "Trácht atá ag teacht isteach a atreorú chuig an óstach inmheán" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:122 +msgid "Refer To External Set" +msgstr "Féach do Sraith Seachtrach" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:320 +msgid "Reflection zones" +msgstr "Criosanna machnaimh" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:85 +msgid "Requires hardware NAT support." +msgstr "Teastaíonn tacaíocht NAT crua-earraí." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:272 +msgid "Restrict Masquerading to given destination subnets" +msgstr "Masquerading a theorannú go fo-líontaí ceann scríbe ar leith" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:261 +msgid "Restrict Masquerading to given source subnets" +msgstr "Masquerading a theorannú le fo-líontaí foinse ar leith" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:188 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:277 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:216 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:255 +msgid "Restrict to address family" +msgstr "Cuir srian le dul i ngleic le" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:297 +msgid "Rewrite IP address" +msgstr "Seoladh IP a athscríobh" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:298 +msgid "Rewrite matched traffic to the specified source IP address." +msgstr "Athscríobh trácht comhoiriúnach chuig an seoladh IP foinse sonraithe." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:312 +msgid "Rewrite matched traffic to the specified source port or port range." +msgstr "" +"Athscríobh trácht comhoiriúnach chuig an gcalafort nó an raon calafort " +"sonraithe." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:311 +msgid "Rewrite port" +msgstr "Port a athscríobh" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:76 +msgid "Routing/NAT Offloading" +msgstr "Rótar/Díluchtú NAT" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:290 +msgid "SNAT - Rewrite to specific source IP or port" +msgstr "SNAT - Athscríobh chuig IP nó calafort foinse ar leith" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:486 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:359 +msgid "Saturday" +msgstr "Dé Sathairn" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:316 +msgid "Set mark" +msgstr "Socraigh marc" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:318 +msgid "" +"Set the given mark value on established connections. Format is value[/mask]. " +"If a mask is specified then only those bits set in the mask are modified." +msgstr "" +"Socraigh an luach marc a thugtar ar naisc bhunaithe. Is é an fhormáid luach " +"[/mask]. Má shonraítear masc ansin ní dhéantar ach na giotáin sin atá " +"leagtha amach sa masc a mhodhnú." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:84 +msgid "Software based offloading for routing/NAT." +msgstr "Díluchtú bogearraí-bhunaithe le haghaidh ródú/NAT." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:84 +msgid "Software flow offloading" +msgstr "Díluchtú sreafa bogearraí" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:260 +msgid "Source IP address" +msgstr "Seoladh IP foinse" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:255 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:386 +msgid "Source MAC address" +msgstr "Seoladh MAC foinse" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:387 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:253 +msgid "Source address" +msgstr "Seoladh foinse" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:265 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:389 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:261 +msgid "Source port" +msgstr "Source port" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:241 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:372 +msgid "Source zone" +msgstr "Crios foinse" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:270 +msgid "" +"Specifies whether to tie this traffic rule to a specific inbound or outbound " +"network device." +msgstr "" +"Sonraíonn sé an riail tráchta seo a cheangal le feiste ar leith líonra " +"isteach nó amach." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:311 +msgid "" +"Specifies whether to use the external or the internal IP address for " +"reflected traffic." +msgstr "" +"Sonraíonn sé an seoladh IP seachtrach nó an seoladh IP inmheánach a úsáid le " +"haghaidh tráchta léirithe." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:510 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:383 +msgid "Start Date (yyyy-mm-dd)" +msgstr "Dáta Tosaigh (yyyy-mm-dd)" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:502 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:375 +msgid "Start Time (hh:mm:ss)" +msgstr "Am Tosaigh (hh:mm: ss)" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:514 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:387 +msgid "Stop Date (yyyy-mm-dd)" +msgstr "Dáta Stopa (yyyy-mm-dd)" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:506 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:379 +msgid "Stop Time (hh:mm:ss)" +msgstr "Am Stop (hh:mm: ss)" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:130 +msgid "Storage Method" +msgstr "Modh Stórála" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:480 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:353 +msgid "Sunday" +msgstr "Domhnach" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:694 +msgid "" +"The existing firewall configuration needs to be changed for LuCI to function " +"properly." +msgstr "" +"Ní mór an chumraíocht balla dóiteáin atá ann cheana a athrú chun LuCi a " +"fheidhmiú i gceart." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:39 +msgid "" +"The firewall creates zones over your network interfaces to control network " +"traffic flow." +msgstr "" +"Cruthaíonn an balla dóiteáin criosanna thar do chomhéadain líonra chun " +"sreabhadh tráchta líonra a rialú." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:227 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:340 +msgid "" +"The options below control the forwarding policies between this zone (%s) and " +"other zones. Destination zones cover forwarded traffic " +"originating from %q. Source zones match forwarded " +"traffic from other zones targeted at %q. The forwarding " +"rule is unidirectional, e.g. a forward from lan to wan does " +"not imply a permission to forward from wan to lan as well." +msgstr "" +"Rialaíonn na roghanna thíos na polasaithe seolta ar aghaidh idir an crios " +"seo (%s) agus criosanna eile. Clúdaíonn Criosanna Ceann Scríbe " +"trácht ar aghaidh a thagann ó %q. Meaitseálann " +"criosanna foinse trácht ar aghaidh ó chriosanna eile " +"dírithe ar %q. Is é an riail ar aghaidh aontreoch, " +"m.sh. ní déanann ar aghaidh ó lan go wan cead a thabhairt ar " +"aghaidh ó wan go lan freisin." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:125 +msgid "" +"This section defines common properties of %q. The input and " +"output options set the default policies for traffic entering and " +"leaving this zone while the forward option describes the policy for " +"forwarded traffic between different networks within the zone. Covered " +"networks specifies which available networks are members of this zone." +msgstr "" +"Sainmhíníonn an roinn seo airíonna coitianta % q. Socraíonn na roghanna " +"ionchuir agus aschur na beartais réamhshocraithe don " +"trácht atá ag teacht isteach agus ag imeacht ón gcrios seo agus déanann an " +"rogha ar aghaidh cur síos ar an bpolasaí do thrácht ar aghaidh idir " +"líonraí éagsúla laistigh den chrios. Sonraíonn Líonraí clúdaithe cé " +"na líonraí atá ar fáil atá ina mbaill den chrios seo." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:484 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:357 +msgid "Thursday" +msgstr "Déardaoin" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:184 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:183 +msgid "Time Restrictions" +msgstr "Srianta Ama" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:518 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:391 +msgid "Time in UTC" +msgstr "Am i UTC" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:244 +msgid "Time restrictions are enabled for this rule" +msgstr "Tá srianta ama cumasaithe don riail seo" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:196 +msgid "Timeout" +msgstr "Teorainn ama" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:77 +msgid "" +"To %{dest}%{dest_device?, interface %{dest_device}}%{dest_ip?, IP " +"%{dest_ip#%{next?, }%{item.ival}
}}%{dest_port?, port %{dest_port#%{next?, }" +"%{item." +"ival}
}}" +msgstr "" +"Chuig %{dest}%{dest_device?, comhéadan %{dest_device}} " +"%{dest_ip?, IP %{dest_ip#%{next?, } %{item.ival} }} %{dest_port?, port " +"%{dest_port#%{ Next?, } %{item.ival}}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:55 +msgid "" +"To %{dest}%{dest_device?, via interface %{dest_device}}%{dest_ip?, IP %{dest_ip#%{next?, }%{item.ival}}}%{dest_port?, port " +"%{dest_port#%{next?, }%{item.ival}}}" +msgstr "" +"Chuig %{dest}%{dest_device?, trí chomhéadan %{dest_device}} " +"%{dest_ip?, IP %{dest_ip#%{next?, } %{item.ival} }} %{dest_port?, port " +"%{dest_port#%{ Next?, } %{item.ival}}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:61 +msgid "" +"To %{dest}%{dest_ip?, IP %{dest_ip#%{next?, }%{item.ival}}}%{dest_port?, port %{dest_port#%{next?, }%{item.ival}}}" +msgstr "" +"Chuig %{dest}%{dest_ip?, IP %{dest_ip#%{ar aghaidh?, } %{item.ival} }} %{dest_port?, port %{dest_port#%{ Next?, } %{item.ival}}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:439 +msgid "Tracking helper" +msgstr "Cúntóir rianaithe" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:176 +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:35 +msgid "Traffic Rules" +msgstr "Rialacha Tráchta" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:174 +msgid "" +"Traffic rules define policies for packets travelling between different " +"zones, for example to reject traffic between certain hosts or to open WAN " +"ports on the router." +msgstr "" +"Sainmhíníonn rialacha tráchta beartais maidir le paicéid a thaistealaíonn " +"idir criosanna éagsúla, mar shampla chun trácht a dhiúltú idir óstaigh " +"áirithe nó chun calafoirt WAN a oscailt ar an ródaire." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:482 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:355 +msgid "Tuesday" +msgstr "Dé Máirt" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/custom.js:19 +msgid "Unable to save contents: %s" +msgstr "Níorbh fhéidir inneachar a shábháil: %s" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:197 +msgid "" +"Unit: seconds. Default 0 means the entry is added permanently " +"to the set.
Max: 2147483 seconds." +msgstr "" +"Aonad: soicind. Ciallaíonn réamhshocrú 0 go gcuirtear an " +"iontráil go buan leis an tacar.
Uasmhéid: 2147483 soicind." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:341 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:461 +msgid "Unknown or not installed conntrack helper \"%s\"" +msgstr "Cúntóir conntrack anaithnid nó nach bhfuil suiteáilte “%s”" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:186 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:190 +msgid "Unnamed NAT" +msgstr "NAT gan ainm" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:169 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:184 +msgid "Unnamed forward" +msgstr "Ar aghaidh gan ainmniú" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:191 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:211 +msgid "Unnamed rule" +msgstr "Riail gan ainmniú" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:57 +msgid "Unnamed set" +msgstr "Sraith gan ainmniú" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:130 +msgid "Unnamed zone" +msgstr "Crios gan ainm" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:597 +msgid "Unrecognized protocol" +msgstr "Prótacal neamh-aitheanta" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:695 +msgid "" +"Upon pressing \"Continue\", \"redirect\" sections with target \"SNAT\" will " +"be converted to \"nat\" sections and the firewall will be restarted to apply " +"the updated configuration." +msgstr "" +"Nuair a bhrú “Lean ar aghaidh”, déanfar rannáin “atreorú” le sprioc “SNAT” a " +"thiontú go rannáin “nat” agus athosófar an balla dóiteáin chun an " +"chumraíocht nuashonraithe a chur i bhfeidhm." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:315 +msgid "Use external IP address" +msgstr "Úsáid seoladh IP seachtrach" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:314 +msgid "Use internal IP address" +msgstr "Úsáid seoladh IP inmheánach" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:247 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:378 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:322 +msgid "Use ipset" +msgstr "Úsáid ipset" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:231 +msgid "" +"Use this option to classify zone traffic by raw, non-uci managed " +"network devices." +msgstr "" +"Úsáid an rogha seo chun trácht crios a rangú de réir gairis líonra amha, " +"nach bhfuil á mbainistiú ag uci." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:236 +msgid "" +"Use this option to classify zone traffic by source or destination subnet " +"instead of networks or devices." +msgstr "" +"Úsáid an rogha seo chun trácht crios a rangú de réir foinse nó foghlíon " +"ceann scríbe in ionad líonraí nó feistí." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:331 +msgid "Valid firewall mark required" +msgstr "Teastaíonn marc balla dóiteáin bail" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:483 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:356 +msgid "Wednesday" +msgstr "Dé Céadaoin" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:475 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:348 +msgid "Week Days" +msgstr "Laethanta Seachta" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:420 +msgid "XOR firewall mark" +msgstr "Marca balla dóiteáin XOR" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:316 +msgid "XOR mark" +msgstr "Marca XOR" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:28 +msgid "Your device does not run firewall4." +msgstr "Ní ritheann do ghléas firewall4." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:26 +msgid "Your device runs firewall4." +msgstr "Ritheann do ghléas firewall4." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:143 +msgid "Zone ⇒ Forwardings" +msgstr "Crios ⇒ Seoladh" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:101 +msgid "Zones" +msgstr "Criosanna" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:320 +msgid "" +"Zones from which reflection rules shall be created. If unset, only the " +"destination zone is used." +msgstr "" +"Criosanna as a gcruthófar rialacha machnaimh. Mura bhfuil sé socraithe, ní " +"úsáidtear ach an crios ceann scríbe." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:415 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:70 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:159 +msgid "accept" +msgstr "glacadh le" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:268 +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:463 +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:486 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:270 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:301 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:328 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:392 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:407 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:441 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:448 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:266 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:282 +msgid "any" +msgstr "aon" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:53 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:86 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:65 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:78 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:46 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:56 +msgid "any zone" +msgstr "aon chrios" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:298 +msgid "any/all" +msgstr "aon éig/go léir" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:419 +msgid "apply firewall mark" +msgstr "cuir marc balla dóiteáin" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:418 +msgid "assign conntrack helper" +msgstr "cúntóir conntrack a shannadh" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:194 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:222 +msgid "automatic" +msgstr "uathoibrithe" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:131 +msgid "bitmap" +msgstr "bitmap" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:137 +msgid "bitmap is ipv4 only" +msgstr "Níl bitmap ipv4 amháin" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:72 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:89 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:67 +msgid "day" +msgstr "lá" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:93 +msgid "dest_ip: Destination IP" +msgstr "dest_ip: IP ceann scríbe" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:95 +msgid "dest_mac: Destination MAC addr" +msgstr "dest_mac: Ceann scríbe MAC addr" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:96 +msgid "dest_net: Destination (sub)net" +msgstr "dest_net: Ceann scríbe (fo-) glan" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:94 +msgid "dest_port: Destination Port" +msgstr "dest_port: Port Scríbe" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:98 +msgid "dest_set: Destination ipset*" +msgstr "dest_set: Ceann scríbe ipset*" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:315 +msgid "do not rewrite" +msgstr "ná athscríobh" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:417 +msgid "don't track" +msgstr "ná rianú" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:414 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:69 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:158 +msgid "drop" +msgstr "titim" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:21 +msgid "" +"firewall4 supports referencing and creating IP sets to simplify matching of " +"large address lists without the need to create one rule per item to match. " +"Port ranges in ipsets are unsupported by firewall4.
" +msgstr "" +"tacaíonn firewall4 le tagairt a dhéanamh agus le tacair IP a chruthú chun " +"meaitseáil liostaí seoltaí móra a shimpliú gan aon ghá le riail amháin a " +"chruthú in aghaidh na míre le meaitseáil. Ní thacaíonn balla dóiteáin4 le " +"raonta poirt in ipsets.
" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:159 +msgid "fromport-toport" +msgstr "fromport-toport" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:132 +msgid "hash" +msgstr "hash" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:72 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:89 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:67 +msgid "hour" +msgstr "uair an chloig" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:81 +msgid "ip: IP addr" +msgstr "ip: IP Addr" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:153 +msgid "ip[/cidr]
" +msgstr "ip[/cidr]
" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:145 +msgid "ip[/cidr]
For use with Match datatypes: *_ip." +msgstr "" +"ip[/cidr]
Le húsáid le cineálacha sonraí Match: *_ip." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:70 +msgid "ipv4" +msgstr "ipv4" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:133 +msgid "list" +msgstr "liosta" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:83 +msgid "mac: MAC addr" +msgstr "Mac: Mac Addr" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:108 +msgid "macaddr|ip[/cidr]
" +msgstr "macaddr|ip[/cidr]
" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:72 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:89 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:67 +msgid "minute" +msgstr "nóiméad" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:84 +msgid "net: (sub)net" +msgstr "glan: (fo-) glan" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:82 +msgid "port: Port" +msgstr "calafort: Port" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:416 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:68 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:157 +msgid "reject" +msgstr "diúltú" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:72 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:89 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:67 +msgid "second" +msgstr "an dara" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:86 +msgid "set: ipset*" +msgstr "tacar: ipset*" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:92 +msgid "src_Set: Source ipset*" +msgstr "SRC_Set: Foinse ipset*" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:87 +msgid "src_ip: Source IP" +msgstr "src_ip: Foinse IP" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:89 +msgid "src_mac: Source MAC addr" +msgstr "src_mac: Foinse MAC addr" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:90 +msgid "src_net: Source (sub)net" +msgstr "src_net: Foinse (fo-) glan" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:88 +msgid "src_port: Source Port" +msgstr "src_port: Port Foinse" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:53 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:62 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:86 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:65 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:78 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:56 +msgid "this device" +msgstr "an gléas seo" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:124 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:226 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:339 +msgid "this new zone" +msgstr "an crios nua seo" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:354 +msgid "unlimited" +msgstr "neamhtheoranta" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:251 +msgid "unspecified" +msgstr "neamhshonraithe" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:114 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:173 +msgid "up to 65536 entries." +msgstr "suas go dtí 65536 iontráil." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:339 +msgid "valid firewall mark" +msgstr "marc balla dóiteáin bailí" + +#~ msgid "Software based offloading for routing/NAT" +#~ msgstr "Díluchtú bunaithe ar bhogearraí le haghaidh Routa/NAT" diff --git a/luci-app-firewall/po/he/firewall.po b/luci-app-firewall/po/he/firewall.po new file mode 100644 index 000000000..74e8c16e8 --- /dev/null +++ b/luci-app-firewall/po/he/firewall.po @@ -0,0 +1,1429 @@ +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"PO-Revision-Date: 2024-01-10 20:57+0000\n" +"Last-Translator: Yaron Shahrabani \n" +"Language-Team: Hebrew \n" +"Language: he\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"X-Generator: Weblate 5.4-dev\n" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:48 +msgid "" +"%{src?%{dest?Forwarded:Incoming}:Outgoing} %{ipv6?%{ipv4?IPv4 and " +"IPv6:IPv6}:IPv4}%{proto?, protocol " +"%{proto#%{next?, }%{item.types?%{item." +"name}ICMP with types %{item.types#%{next?, }" +"%{item}}:%{item.name}}}}%{mark?, mark " +"%{mark.val}}%{dscp?, DSCP %{dscp." +"inv?%{dscp.val}:%{dscp.val}}}%{helper?, helper " +"%{helper.inv?%{helper.val}:%{helper." +"val}}}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:463 +msgid "-- add IP --" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:521 +msgid "-- add MAC --" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:199 +msgid "0" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:182 +msgid "1024" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:118 +msgid "" +"Accept %{src?%{dest?forward:input}:output}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:93 +msgid "Prevent source rewrite" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:85 +msgid "" +"Forward to %{dest}%{dest_ip? IP " +"%{dest_ip}}%{dest_port? port %{dest_port}}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:115 +msgid "" +"Drop %{src?%{dest?forward:input}:output}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:133 +msgid "" +"Assign DSCP classification %{set_dscp}" +"" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:127 +msgid "" +"Assign conntrack helper " +"%{set_helper}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:130 +msgid "" +"%{set_mark?Assign:XOR} firewall mark " +"%{set_mark?:%{set_xmark}}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:90 +msgid "Automatically rewrite source IP" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:124 +msgid "" +"Do not track %{src?%{dest?forward:input}:" +"output}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:121 +msgid "" +"Reject %{src?%{dest?forward:input}:output}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:87 +msgid "" +"Statically rewrite to source %{snat_ip?IP " +"%{snat_ip}} %{snat_port?port %{snat_port}}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:306 +msgid "A rewrite IP must be specified!" +msgstr "יש לציין כתובת IP לשכתוב!" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:292 +msgid "ACCEPT - Disable address rewriting" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:224 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:225 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:411 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:204 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:287 +msgid "Action" +msgstr "פעולה" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:322 +msgid "" +"Additional raw iptables arguments to classify zone destination " +"traffic, e.g. -p tcp --dport 443 to only match outbound HTTPS " +"traffic." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:312 +msgid "" +"Additional raw iptables arguments to classify zone source traffic, " +"e.g. -p tcp --sport 443 to only match inbound HTTPS traffic." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:107 +msgid "Address family, Internal IP address must match" +msgstr "אגד הכתובות והכתובת הפנימיות חייבות להתאים" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:135 +msgid "" +"Address family, source address, destination address, rewrite IP address must " +"match" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:162 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:183 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:182 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:114 +msgid "Advanced Settings" +msgstr "הגדרות מתקדמות" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:283 +msgid "Allow \"invalid\" traffic" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:385 +msgid "Allow forward from source zones:" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:344 +msgid "Allow forward to destination zones:" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:551 +msgid "Any" +msgstr "כל" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:479 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:495 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:352 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:368 +msgid "Any day" +msgstr "כל יום" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:317 +msgid "" +"Apply a bitwise XOR of the given value and the existing mark value on " +"established connections. Format is value[/mask]. If a mask is specified then " +"those bits set in the mask are zeroed out." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:264 +msgid "Apply the given DSCP class or value to established connections." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:439 +msgid "Assign the specified connection tracking helper to matched traffic." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:286 +msgid "Automatic helper assignment" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:286 +msgid "" +"Automatically assign conntrack helpers based on traffic protocol and port" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:61 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:62 +msgid "Comment" +msgstr "תגובה" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:115 +msgid "Conntrack Settings" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:290 +msgid "Conntrack helpers" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/custom.js:16 +msgid "Contents have been saved." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:700 +msgid "Continue" +msgstr "המשך" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:204 +msgid "Counters" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:231 +msgid "Covered devices" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:183 +msgid "Covered networks" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:236 +msgid "Covered subnets" +msgstr "" + +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:62 +msgid "Custom Rules" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/custom.js:26 +msgid "" +"Custom rules allow you to execute arbitrary iptables commands which are not " +"otherwise covered by the firewall framework. The commands are executed after " +"each firewall restart, right after the default ruleset has been loaded." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:421 +msgid "DSCP classification" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:263 +msgid "DSCP mark" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:297 +msgid "DSCP mark required" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:402 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:270 +msgid "Destination address" +msgstr "כתובת יעד" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:404 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:278 +msgid "Destination port" +msgstr "פתחת היעד" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:396 +msgid "Destination zone" +msgstr "אזור היעד" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:269 +msgid "Device name" +msgstr "שם המכשיר" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:283 +msgid "" +"Do not install extra rules to reject forwarded traffic with conntrack state " +"invalid. This may be required for complex asymmetric route setups." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:59 +msgid "Drop invalid packets" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:232 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:231 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:210 +msgid "Enable" +msgstr "הפעלה" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:306 +msgid "Enable NAT Loopback" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:45 +msgid "Enable SYN-flood protection" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:296 +msgid "Enable logging on this zone" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:168 +msgid "" +"Enable network address and port translation IPv4 (NAT4 or NAPT4) for " +"outbound traffic on this zone. This is typically enabled on the wan " +"zone." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:243 +msgid "" +"Enable network address and port translation IPv6 (NAT6 or NAPT6) for " +"outbound traffic on this zone." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:211 +msgid "Enabled" +msgstr "פעילה" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:205 +msgid "Enables packet and byte count tracking for the set." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:339 +msgid "Expecting: %s" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:290 +msgid "Explicitly choses allowed connection tracking helpers for zone traffic" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:274 +msgid "External IP address" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:279 +msgid "External port" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:349 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:470 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:342 +msgid "Extra arguments" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:322 +msgid "Extra destination arguments" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:116 +msgid "Extra iptables arguments" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:312 +msgid "Extra source arguments" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:67 +msgid "Family" +msgstr "" + +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:3 +msgid "Firewall" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/custom.js:25 +msgid "Firewall - Custom Rules" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:20 +msgid "Firewall - IP sets" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:172 +msgid "Firewall - NAT Rules" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:152 +msgid "Firewall - Port Forwards" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:173 +msgid "Firewall - Traffic Rules" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:38 +msgid "Firewall - Zone Settings" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:693 +msgid "Firewall configuration migration" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:82 +msgid "Flow offloading type" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:64 +msgid "Forward" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:34 +msgid "" +"Forwarded %{ipv6?%{ipv4?IPv4 and IPv6:IPv6}:" +"IPv4}%{proto?, protocol %{proto#%{next?, }%{item.name}}}%{mark?, mark %{mark.val}" +"}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:485 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:358 +msgid "Friday" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:45 +msgid "" +"From %{src}%{src_device?, interface %{src_device}}%{src_ip?, IP " +"%{src_ip#%{next?, }%{item.ival}}}%{src_port?, port %{src_port#%{next?, }" +"%{item." +"ival}}}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:64 +msgid "" +"From %{src}%{src_device?, interface %{src_device}}%{src_ip?, IP " +"%{src_ip#%{next?, }%{item.ival}}}%{src_port?, port %{src_port#%{next?, }" +"%{item." +"ival}}}%{src_mac?, MAC %{src_mac#%{next?, }%{item.ival}" +"}}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:52 +msgid "" +"From %{src}%{src_ip?, IP %{src_ip#%{next?, }%{item.ival}}}%{src_port?, port %{src_port#%{next?, }%{item.ival}}}%{src_mac?, " +"MAC %{src_mac#%{next?, }%{item.ival}}}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:161 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:182 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:181 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:41 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:113 +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:17 +msgid "General Settings" +msgstr "" + +#: applications/luci-app-firewall/root/usr/share/rpcd/acl.d/luci-app-firewall.json:3 +msgid "Grant access to firewall configuration" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:85 +msgid "Hardware based offloading for routing with/without NAT." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:85 +msgid "Hardware flow offloading" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:144 +msgid "IP (range)" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:32 +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:53 +msgid "IP Sets" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:152 +msgid "IPs/Networks" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:107 +msgid "IPs/Networks/MACs" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:68 +msgid "IPv4" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:191 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:280 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:219 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:256 +msgid "IPv4 and IPv6" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:192 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:281 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:220 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:257 +msgid "IPv4 only" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:69 +msgid "IPv6" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:242 +msgid "IPv6 Masquerading" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:193 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:282 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:221 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:258 +msgid "IPv6 only" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:252 +msgid "Inbound device" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:187 +msgid "Include File" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:40 +msgid "" +"Incoming %{ipv6?%{ipv4?IPv4 and IPv6:IPv6}:" +"IPv4}%{proto?, protocol %{proto#%{next?, }%{item.types?%{item.name}ICMP " +"with types %{item.types#%{next?, }%{item}}:" +"%{item.name}}}}%{mark?, mark %{mark.val}}%{helper?, helper %{helper.inv?%{helper.val}:%{helper.val}}}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:180 +msgid "Initial Hash Size" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:62 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:151 +msgid "Input" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:292 +msgid "Internal IP address" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:297 +msgid "Internal port" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:287 +msgid "Internal zone" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:153 +msgid "Intra zone forward" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:305 +msgid "Invalid DSCP mark" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:373 +msgid "Invalid limit value" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:47 +msgid "Invalid set name" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:383 +msgid "Limit burst" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:299 +msgid "Limit log messages" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:349 +msgid "Limit matching" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:79 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:96 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:74 +msgid "" +"Limit matching to %{limit.num} packets per %{limit.unit}%{limit.burst? burst %{limit.burst}}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:175 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:250 +msgid "Limited masquerading enabled" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:350 +msgid "Limits traffic matching to the specified rate." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:311 +msgid "Loopback source IP" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:291 +msgid "MASQUERADE - Automatically rewrite to outbound interface IP" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:180 +msgid "MSS clamping" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:167 +msgid "Masquerading" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:213 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:214 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:193 +msgid "Match" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:263 +msgid "Match DSCP" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:293 +msgid "Match ICMP type" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:249 +msgid "Match device" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:271 +msgid "Match forwarded traffic directed at the given IP address." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:279 +msgid "" +"Match forwarded traffic directed at the given destination port or port range." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:254 +msgid "Match forwarded traffic from this IP or range." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:262 +msgid "" +"Match forwarded traffic originating from the given source port or port range." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:326 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:446 +msgid "Match helper" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:280 +msgid "" +"Match incoming traffic directed at the given destination port or port range " +"on this host" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:316 +msgid "Match mark" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:326 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:446 +msgid "Match traffic using the specified connection tracking helper." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:319 +msgid "Matches a specific firewall mark or a range of different marks." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:332 +msgid "Matches forwarded traffic using the specified outbound network device." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:264 +msgid "Matches traffic carrying the specified DSCP marking." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:113 +msgid "Max Entries" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:172 +msgid "Max Length" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:384 +msgid "" +"Maximum initial number of packets to match: this number gets recharged by " +"one every time the limit specified above is not reached, up to this number." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:481 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:354 +msgid "Monday" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:491 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:364 +msgid "Month Days" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:175 +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:44 +msgid "NAT Rules" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:173 +msgid "" +"NAT rules allow fine grained control over the source IP to use for outbound " +"or forwarded traffic." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:183 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:42 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:52 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:210 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:189 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:129 +msgid "Name" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:166 +msgid "Netmask" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:83 +msgid "None" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:77 +msgid "Not fully compatible with QoS/SQM." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:275 +msgid "Only match incoming traffic directed at the given IP address." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:256 +msgid "Only match incoming traffic from these MACs." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:261 +msgid "Only match incoming traffic from this IP or range." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:266 +msgid "" +"Only match incoming traffic originating from the given source port or port " +"range on the client host" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:253 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:331 +msgid "Outbound device" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:246 +msgid "Outbound zone" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:63 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:152 +msgid "Output" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:75 +msgid "Packet Field Match" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:76 +msgid "" +"Packet fields to match upon.
Syntax: direction_datatype. e.g.: " +"src_port, dest_net.
Directions: src, dst. " +"Datatypes: ip, port, mac, net, set.
Direction prefixes are " +"optional.
*Note: datatype set is unsupported in fw4." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:350 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:471 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:343 +msgid "Passes additional arguments to iptables. Use with care!" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:309 +msgid "" +"Passing raw iptables arguments to source and destination traffic " +"classification rules allows to match packets based on other criteria than " +"interfaces or subnets. These options should be used with extreme care as " +"invalid values could render the firewall ruleset broken, completely exposing " +"all services." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:188 +msgid "Path to file of CIDRs, subnets, host IPs, etc.
" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:155 +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:26 +msgid "Port Forwards" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:153 +msgid "" +"Port forwarding allows remote computers on the Internet to connect to a " +"specific computer or service within the private LAN." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:158 +msgid "Port range" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:237 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:289 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:242 +msgid "Protocol" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:298 +msgid "" +"Redirect matched incoming traffic to the given port on the internal host" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:293 +msgid "Redirect matched incoming traffic to the specified internal host" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:122 +msgid "Refer To External Set" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:320 +msgid "Reflection zones" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:85 +msgid "Requires hardware NAT support." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:272 +msgid "Restrict Masquerading to given destination subnets" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:261 +msgid "Restrict Masquerading to given source subnets" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:188 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:277 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:216 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:255 +msgid "Restrict to address family" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:297 +msgid "Rewrite IP address" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:298 +msgid "Rewrite matched traffic to the specified source IP address." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:312 +msgid "Rewrite matched traffic to the specified source port or port range." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:311 +msgid "Rewrite port" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:76 +msgid "Routing/NAT Offloading" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:290 +msgid "SNAT - Rewrite to specific source IP or port" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:486 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:359 +msgid "Saturday" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:316 +msgid "Set mark" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:318 +msgid "" +"Set the given mark value on established connections. Format is value[/mask]. " +"If a mask is specified then only those bits set in the mask are modified." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:84 +msgid "Software based offloading for routing/NAT." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:84 +msgid "Software flow offloading" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:260 +msgid "Source IP address" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:255 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:386 +msgid "Source MAC address" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:387 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:253 +msgid "Source address" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:265 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:389 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:261 +msgid "Source port" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:241 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:372 +msgid "Source zone" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:270 +msgid "" +"Specifies whether to tie this traffic rule to a specific inbound or outbound " +"network device." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:311 +msgid "" +"Specifies whether to use the external or the internal IP address for " +"reflected traffic." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:510 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:383 +msgid "Start Date (yyyy-mm-dd)" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:502 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:375 +msgid "Start Time (hh:mm:ss)" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:514 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:387 +msgid "Stop Date (yyyy-mm-dd)" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:506 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:379 +msgid "Stop Time (hh:mm:ss)" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:130 +msgid "Storage Method" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:480 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:353 +msgid "Sunday" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:694 +msgid "" +"The existing firewall configuration needs to be changed for LuCI to function " +"properly." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:39 +msgid "" +"The firewall creates zones over your network interfaces to control network " +"traffic flow." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:227 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:340 +msgid "" +"The options below control the forwarding policies between this zone (%s) and " +"other zones. Destination zones cover forwarded traffic " +"originating from %q. Source zones match forwarded " +"traffic from other zones targeted at %q. The forwarding " +"rule is unidirectional, e.g. a forward from lan to wan does " +"not imply a permission to forward from wan to lan as well." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:125 +msgid "" +"This section defines common properties of %q. The input and " +"output options set the default policies for traffic entering and " +"leaving this zone while the forward option describes the policy for " +"forwarded traffic between different networks within the zone. Covered " +"networks specifies which available networks are members of this zone." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:484 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:357 +msgid "Thursday" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:184 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:183 +msgid "Time Restrictions" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:518 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:391 +msgid "Time in UTC" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:244 +msgid "Time restrictions are enabled for this rule" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:196 +msgid "Timeout" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:77 +msgid "" +"To %{dest}%{dest_device?, interface %{dest_device}}%{dest_ip?, IP " +"%{dest_ip#%{next?, }%{item.ival}
}}%{dest_port?, port %{dest_port#%{next?, }" +"%{item." +"ival}}}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:55 +msgid "" +"To %{dest}%{dest_device?, via interface %{dest_device}}%{dest_ip?, IP %{dest_ip#%{next?, }%{item.ival}}}%{dest_port?, port " +"%{dest_port#%{next?, }%{item.ival}}}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:61 +msgid "" +"To %{dest}%{dest_ip?, IP %{dest_ip#%{next?, }%{item.ival}}}%{dest_port?, port %{dest_port#%{next?, }%{item.ival}}}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:439 +msgid "Tracking helper" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:176 +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:35 +msgid "Traffic Rules" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:174 +msgid "" +"Traffic rules define policies for packets travelling between different " +"zones, for example to reject traffic between certain hosts or to open WAN " +"ports on the router." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:482 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:355 +msgid "Tuesday" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/custom.js:19 +msgid "Unable to save contents: %s" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:197 +msgid "" +"Unit: seconds. Default 0 means the entry is added permanently " +"to the set.
Max: 2147483 seconds." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:341 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:461 +msgid "Unknown or not installed conntrack helper \"%s\"" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:186 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:190 +msgid "Unnamed NAT" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:169 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:184 +msgid "Unnamed forward" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:191 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:211 +msgid "Unnamed rule" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:57 +msgid "Unnamed set" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:130 +msgid "Unnamed zone" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:597 +msgid "Unrecognized protocol" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:695 +msgid "" +"Upon pressing \"Continue\", \"redirect\" sections with target \"SNAT\" will " +"be converted to \"nat\" sections and the firewall will be restarted to apply " +"the updated configuration." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:315 +msgid "Use external IP address" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:314 +msgid "Use internal IP address" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:247 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:378 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:322 +msgid "Use ipset" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:231 +msgid "" +"Use this option to classify zone traffic by raw, non-uci managed " +"network devices." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:236 +msgid "" +"Use this option to classify zone traffic by source or destination subnet " +"instead of networks or devices." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:331 +msgid "Valid firewall mark required" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:483 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:356 +msgid "Wednesday" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:475 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:348 +msgid "Week Days" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:420 +msgid "XOR firewall mark" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:316 +msgid "XOR mark" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:28 +msgid "Your device does not run firewall4." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:26 +msgid "Your device runs firewall4." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:143 +msgid "Zone ⇒ Forwardings" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:101 +msgid "Zones" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:320 +msgid "" +"Zones from which reflection rules shall be created. If unset, only the " +"destination zone is used." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:415 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:70 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:159 +msgid "accept" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:268 +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:463 +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:486 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:270 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:301 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:328 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:392 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:407 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:441 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:448 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:266 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:282 +msgid "any" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:53 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:86 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:65 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:78 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:46 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:56 +msgid "any zone" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:298 +msgid "any/all" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:419 +msgid "apply firewall mark" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:418 +msgid "assign conntrack helper" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:194 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:222 +msgid "automatic" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:131 +msgid "bitmap" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:137 +msgid "bitmap is ipv4 only" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:72 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:89 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:67 +msgid "day" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:93 +msgid "dest_ip: Destination IP" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:95 +msgid "dest_mac: Destination MAC addr" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:96 +msgid "dest_net: Destination (sub)net" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:94 +msgid "dest_port: Destination Port" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:98 +msgid "dest_set: Destination ipset*" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:315 +msgid "do not rewrite" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:417 +msgid "don't track" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:414 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:69 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:158 +msgid "drop" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:21 +msgid "" +"firewall4 supports referencing and creating IP sets to simplify matching of " +"large address lists without the need to create one rule per item to match. " +"Port ranges in ipsets are unsupported by firewall4.
" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:159 +msgid "fromport-toport" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:132 +msgid "hash" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:72 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:89 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:67 +msgid "hour" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:81 +msgid "ip: IP addr" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:153 +msgid "ip[/cidr]
" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:145 +msgid "ip[/cidr]
For use with Match datatypes: *_ip." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:70 +msgid "ipv4" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:133 +msgid "list" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:83 +msgid "mac: MAC addr" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:108 +msgid "macaddr|ip[/cidr]
" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:72 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:89 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:67 +msgid "minute" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:84 +msgid "net: (sub)net" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:82 +msgid "port: Port" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:416 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:68 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:157 +msgid "reject" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:72 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:89 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:67 +msgid "second" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:86 +msgid "set: ipset*" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:92 +msgid "src_Set: Source ipset*" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:87 +msgid "src_ip: Source IP" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:89 +msgid "src_mac: Source MAC addr" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:90 +msgid "src_net: Source (sub)net" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:88 +msgid "src_port: Source Port" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:53 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:62 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:86 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:65 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:78 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:56 +msgid "this device" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:124 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:226 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:339 +msgid "this new zone" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:354 +msgid "unlimited" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:251 +msgid "unspecified" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:114 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:173 +msgid "up to 65536 entries." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:339 +msgid "valid firewall mark" +msgstr "" diff --git a/luci-app-firewall/po/hi/firewall.po b/luci-app-firewall/po/hi/firewall.po new file mode 100644 index 000000000..778f57566 --- /dev/null +++ b/luci-app-firewall/po/hi/firewall.po @@ -0,0 +1,1431 @@ +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2010-03-30 17:00+0200\n" +"PO-Revision-Date: 2024-07-06 11:32+0000\n" +"Last-Translator: Sathvic \n" +"Language-Team: Hindi \n" +"Language: hi\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=n > 1;\n" +"X-Generator: Weblate 5.7-dev\n" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:48 +msgid "" +"%{src?%{dest?Forwarded:Incoming}:Outgoing} %{ipv6?%{ipv4?IPv4 and " +"IPv6:IPv6}:IPv4}%{proto?, protocol " +"%{proto#%{next?, }%{item.types?%{item." +"name}ICMP with types %{item.types#%{next?, }" +"%{item}}:%{item.name}}}}%{mark?, mark " +"%{mark.val}}%{dscp?, DSCP %{dscp." +"inv?%{dscp.val}:%{dscp.val}}}%{helper?, helper " +"%{helper.inv?%{helper.val}:%{helper." +"val}}}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:463 +msgid "-- add IP --" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:521 +msgid "-- add MAC --" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:199 +msgid "0" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:182 +msgid "1024" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:118 +msgid "" +"Accept %{src?%{dest?forward:input}:output}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:93 +msgid "Prevent source rewrite" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:85 +msgid "" +"Forward to %{dest}%{dest_ip? IP " +"%{dest_ip}}%{dest_port? port %{dest_port}}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:115 +msgid "" +"Drop %{src?%{dest?forward:input}:output}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:133 +msgid "" +"Assign DSCP classification %{set_dscp}" +"" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:127 +msgid "" +"Assign conntrack helper " +"%{set_helper}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:130 +msgid "" +"%{set_mark?Assign:XOR} firewall mark " +"%{set_mark?:%{set_xmark}}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:90 +msgid "Automatically rewrite source IP" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:124 +msgid "" +"Do not track %{src?%{dest?forward:input}:" +"output}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:121 +msgid "" +"Reject %{src?%{dest?forward:input}:output}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:87 +msgid "" +"Statically rewrite to source %{snat_ip?IP " +"%{snat_ip}} %{snat_port?port %{snat_port}}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:306 +msgid "A rewrite IP must be specified!" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:292 +msgid "ACCEPT - Disable address rewriting" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:224 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:225 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:411 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:204 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:287 +msgid "Action" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:322 +msgid "" +"Additional raw iptables arguments to classify zone destination " +"traffic, e.g. -p tcp --dport 443 to only match outbound HTTPS " +"traffic." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:312 +msgid "" +"Additional raw iptables arguments to classify zone source traffic, " +"e.g. -p tcp --sport 443 to only match inbound HTTPS traffic." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:107 +msgid "Address family, Internal IP address must match" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:135 +msgid "" +"Address family, source address, destination address, rewrite IP address must " +"match" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:162 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:183 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:182 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:114 +msgid "Advanced Settings" +msgstr "उन्नत सेटिंग्स" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:283 +msgid "Allow \"invalid\" traffic" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:385 +msgid "Allow forward from source zones:" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:344 +msgid "Allow forward to destination zones:" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:551 +msgid "Any" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:479 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:495 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:352 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:368 +msgid "Any day" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:317 +msgid "" +"Apply a bitwise XOR of the given value and the existing mark value on " +"established connections. Format is value[/mask]. If a mask is specified then " +"those bits set in the mask are zeroed out." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:264 +msgid "Apply the given DSCP class or value to established connections." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:439 +msgid "Assign the specified connection tracking helper to matched traffic." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:286 +msgid "Automatic helper assignment" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:286 +msgid "" +"Automatically assign conntrack helpers based on traffic protocol and port" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:61 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:62 +msgid "Comment" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:115 +msgid "Conntrack Settings" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:290 +msgid "Conntrack helpers" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/custom.js:16 +msgid "Contents have been saved." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:700 +msgid "Continue" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:204 +msgid "Counters" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:231 +msgid "Covered devices" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:183 +msgid "Covered networks" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:236 +msgid "Covered subnets" +msgstr "" + +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:62 +msgid "Custom Rules" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/custom.js:26 +msgid "" +"Custom rules allow you to execute arbitrary iptables commands which are not " +"otherwise covered by the firewall framework. The commands are executed after " +"each firewall restart, right after the default ruleset has been loaded." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:421 +msgid "DSCP classification" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:263 +msgid "DSCP mark" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:297 +msgid "DSCP mark required" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:402 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:270 +msgid "Destination address" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:404 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:278 +msgid "Destination port" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:396 +msgid "Destination zone" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:269 +msgid "Device name" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:283 +msgid "" +"Do not install extra rules to reject forwarded traffic with conntrack state " +"invalid. This may be required for complex asymmetric route setups." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:59 +msgid "Drop invalid packets" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:232 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:231 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:210 +msgid "Enable" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:306 +msgid "Enable NAT Loopback" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:45 +msgid "Enable SYN-flood protection" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:296 +msgid "Enable logging on this zone" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:168 +msgid "" +"Enable network address and port translation IPv4 (NAT4 or NAPT4) for " +"outbound traffic on this zone. This is typically enabled on the wan " +"zone." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:243 +msgid "" +"Enable network address and port translation IPv6 (NAT6 or NAPT6) for " +"outbound traffic on this zone." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:211 +msgid "Enabled" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:205 +msgid "Enables packet and byte count tracking for the set." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:339 +msgid "Expecting: %s" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:290 +msgid "Explicitly choses allowed connection tracking helpers for zone traffic" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:274 +msgid "External IP address" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:279 +msgid "External port" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:349 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:470 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:342 +msgid "Extra arguments" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:322 +msgid "Extra destination arguments" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:116 +msgid "Extra iptables arguments" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:312 +msgid "Extra source arguments" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:67 +msgid "Family" +msgstr "" + +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:3 +msgid "Firewall" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/custom.js:25 +msgid "Firewall - Custom Rules" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:20 +msgid "Firewall - IP sets" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:172 +msgid "Firewall - NAT Rules" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:152 +msgid "Firewall - Port Forwards" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:173 +msgid "Firewall - Traffic Rules" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:38 +msgid "Firewall - Zone Settings" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:693 +msgid "Firewall configuration migration" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:82 +msgid "Flow offloading type" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:64 +msgid "Forward" +msgstr "अग्रेषित करना" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:34 +msgid "" +"Forwarded %{ipv6?%{ipv4?IPv4 and IPv6:IPv6}:" +"IPv4}%{proto?, protocol %{proto#%{next?, }%{item.name}}}%{mark?, mark %{mark.val}" +"}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:485 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:358 +msgid "Friday" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:45 +msgid "" +"From %{src}%{src_device?, interface %{src_device}}%{src_ip?, IP " +"%{src_ip#%{next?, }%{item.ival}}}%{src_port?, port %{src_port#%{next?, }" +"%{item." +"ival}}}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:64 +msgid "" +"From %{src}%{src_device?, interface %{src_device}}%{src_ip?, IP " +"%{src_ip#%{next?, }%{item.ival}}}%{src_port?, port %{src_port#%{next?, }" +"%{item." +"ival}}}%{src_mac?, MAC %{src_mac#%{next?, }%{item.ival}" +"}}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:52 +msgid "" +"From %{src}%{src_ip?, IP %{src_ip#%{next?, }%{item.ival}}}%{src_port?, port %{src_port#%{next?, }%{item.ival}}}%{src_mac?, " +"MAC %{src_mac#%{next?, }%{item.ival}}}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:161 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:182 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:181 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:41 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:113 +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:17 +msgid "General Settings" +msgstr "" + +#: applications/luci-app-firewall/root/usr/share/rpcd/acl.d/luci-app-firewall.json:3 +msgid "Grant access to firewall configuration" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:85 +msgid "Hardware based offloading for routing with/without NAT." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:85 +msgid "Hardware flow offloading" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:144 +msgid "IP (range)" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:32 +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:53 +msgid "IP Sets" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:152 +msgid "IPs/Networks" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:107 +msgid "IPs/Networks/MACs" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:68 +msgid "IPv4" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:191 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:280 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:219 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:256 +msgid "IPv4 and IPv6" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:192 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:281 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:220 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:257 +msgid "IPv4 only" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:69 +msgid "IPv6" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:242 +msgid "IPv6 Masquerading" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:193 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:282 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:221 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:258 +msgid "IPv6 only" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:252 +msgid "Inbound device" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:187 +msgid "Include File" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:40 +msgid "" +"Incoming %{ipv6?%{ipv4?IPv4 and IPv6:IPv6}:" +"IPv4}%{proto?, protocol %{proto#%{next?, }%{item.types?%{item.name}ICMP " +"with types %{item.types#%{next?, }%{item}}:" +"%{item.name}}}}%{mark?, mark %{mark.val}}%{helper?, helper %{helper.inv?%{helper.val}:%{helper.val}}}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:180 +msgid "Initial Hash Size" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:62 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:151 +msgid "Input" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:292 +msgid "Internal IP address" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:297 +msgid "Internal port" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:287 +msgid "Internal zone" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:153 +msgid "Intra zone forward" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:305 +msgid "Invalid DSCP mark" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:373 +msgid "Invalid limit value" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:47 +msgid "Invalid set name" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:383 +msgid "Limit burst" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:299 +msgid "Limit log messages" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:349 +msgid "Limit matching" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:79 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:96 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:74 +msgid "" +"Limit matching to %{limit.num} packets per %{limit.unit}%{limit.burst? burst %{limit.burst}}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:175 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:250 +msgid "Limited masquerading enabled" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:350 +msgid "Limits traffic matching to the specified rate." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:311 +msgid "Loopback source IP" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:291 +msgid "MASQUERADE - Automatically rewrite to outbound interface IP" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:180 +msgid "MSS clamping" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:167 +msgid "Masquerading" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:213 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:214 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:193 +msgid "Match" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:263 +msgid "Match DSCP" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:293 +msgid "Match ICMP type" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:249 +msgid "Match device" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:271 +msgid "Match forwarded traffic directed at the given IP address." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:279 +msgid "" +"Match forwarded traffic directed at the given destination port or port range." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:254 +msgid "Match forwarded traffic from this IP or range." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:262 +msgid "" +"Match forwarded traffic originating from the given source port or port range." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:326 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:446 +msgid "Match helper" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:280 +msgid "" +"Match incoming traffic directed at the given destination port or port range " +"on this host" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:316 +msgid "Match mark" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:326 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:446 +msgid "Match traffic using the specified connection tracking helper." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:319 +msgid "Matches a specific firewall mark or a range of different marks." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:332 +msgid "Matches forwarded traffic using the specified outbound network device." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:264 +msgid "Matches traffic carrying the specified DSCP marking." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:113 +msgid "Max Entries" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:172 +msgid "Max Length" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:384 +msgid "" +"Maximum initial number of packets to match: this number gets recharged by " +"one every time the limit specified above is not reached, up to this number." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:481 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:354 +msgid "Monday" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:491 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:364 +msgid "Month Days" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:175 +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:44 +msgid "NAT Rules" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:173 +msgid "" +"NAT rules allow fine grained control over the source IP to use for outbound " +"or forwarded traffic." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:183 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:42 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:52 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:210 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:189 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:129 +msgid "Name" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:166 +msgid "Netmask" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:83 +msgid "None" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:77 +msgid "Not fully compatible with QoS/SQM." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:275 +msgid "Only match incoming traffic directed at the given IP address." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:256 +msgid "Only match incoming traffic from these MACs." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:261 +msgid "Only match incoming traffic from this IP or range." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:266 +msgid "" +"Only match incoming traffic originating from the given source port or port " +"range on the client host" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:253 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:331 +msgid "Outbound device" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:246 +msgid "Outbound zone" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:63 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:152 +msgid "Output" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:75 +msgid "Packet Field Match" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:76 +msgid "" +"Packet fields to match upon.
Syntax: direction_datatype. e.g.: " +"src_port, dest_net.
Directions: src, dst. " +"Datatypes: ip, port, mac, net, set.
Direction prefixes are " +"optional.
*Note: datatype set is unsupported in fw4." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:350 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:471 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:343 +msgid "Passes additional arguments to iptables. Use with care!" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:309 +msgid "" +"Passing raw iptables arguments to source and destination traffic " +"classification rules allows to match packets based on other criteria than " +"interfaces or subnets. These options should be used with extreme care as " +"invalid values could render the firewall ruleset broken, completely exposing " +"all services." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:188 +msgid "Path to file of CIDRs, subnets, host IPs, etc.
" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:155 +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:26 +msgid "Port Forwards" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:153 +msgid "" +"Port forwarding allows remote computers on the Internet to connect to a " +"specific computer or service within the private LAN." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:158 +msgid "Port range" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:237 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:289 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:242 +msgid "Protocol" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:298 +msgid "" +"Redirect matched incoming traffic to the given port on the internal host" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:293 +msgid "Redirect matched incoming traffic to the specified internal host" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:122 +msgid "Refer To External Set" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:320 +msgid "Reflection zones" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:85 +msgid "Requires hardware NAT support." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:272 +msgid "Restrict Masquerading to given destination subnets" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:261 +msgid "Restrict Masquerading to given source subnets" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:188 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:277 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:216 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:255 +msgid "Restrict to address family" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:297 +msgid "Rewrite IP address" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:298 +msgid "Rewrite matched traffic to the specified source IP address." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:312 +msgid "Rewrite matched traffic to the specified source port or port range." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:311 +msgid "Rewrite port" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:76 +msgid "Routing/NAT Offloading" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:290 +msgid "SNAT - Rewrite to specific source IP or port" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:486 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:359 +msgid "Saturday" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:316 +msgid "Set mark" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:318 +msgid "" +"Set the given mark value on established connections. Format is value[/mask]. " +"If a mask is specified then only those bits set in the mask are modified." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:84 +msgid "Software based offloading for routing/NAT." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:84 +msgid "Software flow offloading" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:260 +msgid "Source IP address" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:255 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:386 +msgid "Source MAC address" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:387 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:253 +msgid "Source address" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:265 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:389 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:261 +msgid "Source port" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:241 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:372 +msgid "Source zone" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:270 +msgid "" +"Specifies whether to tie this traffic rule to a specific inbound or outbound " +"network device." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:311 +msgid "" +"Specifies whether to use the external or the internal IP address for " +"reflected traffic." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:510 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:383 +msgid "Start Date (yyyy-mm-dd)" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:502 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:375 +msgid "Start Time (hh:mm:ss)" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:514 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:387 +msgid "Stop Date (yyyy-mm-dd)" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:506 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:379 +msgid "Stop Time (hh:mm:ss)" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:130 +msgid "Storage Method" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:480 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:353 +msgid "Sunday" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:694 +msgid "" +"The existing firewall configuration needs to be changed for LuCI to function " +"properly." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:39 +msgid "" +"The firewall creates zones over your network interfaces to control network " +"traffic flow." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:227 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:340 +msgid "" +"The options below control the forwarding policies between this zone (%s) and " +"other zones. Destination zones cover forwarded traffic " +"originating from %q. Source zones match forwarded " +"traffic from other zones targeted at %q. The forwarding " +"rule is unidirectional, e.g. a forward from lan to wan does " +"not imply a permission to forward from wan to lan as well." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:125 +msgid "" +"This section defines common properties of %q. The input and " +"output options set the default policies for traffic entering and " +"leaving this zone while the forward option describes the policy for " +"forwarded traffic between different networks within the zone. Covered " +"networks specifies which available networks are members of this zone." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:484 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:357 +msgid "Thursday" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:184 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:183 +msgid "Time Restrictions" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:518 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:391 +msgid "Time in UTC" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:244 +msgid "Time restrictions are enabled for this rule" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:196 +msgid "Timeout" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:77 +msgid "" +"To %{dest}%{dest_device?, interface %{dest_device}}%{dest_ip?, IP " +"%{dest_ip#%{next?, }%{item.ival}
}}%{dest_port?, port %{dest_port#%{next?, }" +"%{item." +"ival}}}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:55 +msgid "" +"To %{dest}%{dest_device?, via interface %{dest_device}}%{dest_ip?, IP %{dest_ip#%{next?, }%{item.ival}}}%{dest_port?, port " +"%{dest_port#%{next?, }%{item.ival}}}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:61 +msgid "" +"To %{dest}%{dest_ip?, IP %{dest_ip#%{next?, }%{item.ival}}}%{dest_port?, port %{dest_port#%{next?, }%{item.ival}}}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:439 +msgid "Tracking helper" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:176 +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:35 +msgid "Traffic Rules" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:174 +msgid "" +"Traffic rules define policies for packets travelling between different " +"zones, for example to reject traffic between certain hosts or to open WAN " +"ports on the router." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:482 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:355 +msgid "Tuesday" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/custom.js:19 +msgid "Unable to save contents: %s" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:197 +msgid "" +"Unit: seconds. Default 0 means the entry is added permanently " +"to the set.
Max: 2147483 seconds." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:341 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:461 +msgid "Unknown or not installed conntrack helper \"%s\"" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:186 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:190 +msgid "Unnamed NAT" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:169 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:184 +msgid "Unnamed forward" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:191 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:211 +msgid "Unnamed rule" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:57 +msgid "Unnamed set" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:130 +msgid "Unnamed zone" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:597 +msgid "Unrecognized protocol" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:695 +msgid "" +"Upon pressing \"Continue\", \"redirect\" sections with target \"SNAT\" will " +"be converted to \"nat\" sections and the firewall will be restarted to apply " +"the updated configuration." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:315 +msgid "Use external IP address" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:314 +msgid "Use internal IP address" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:247 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:378 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:322 +msgid "Use ipset" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:231 +msgid "" +"Use this option to classify zone traffic by raw, non-uci managed " +"network devices." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:236 +msgid "" +"Use this option to classify zone traffic by source or destination subnet " +"instead of networks or devices." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:331 +msgid "Valid firewall mark required" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:483 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:356 +msgid "Wednesday" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:475 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:348 +msgid "Week Days" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:420 +msgid "XOR firewall mark" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:316 +msgid "XOR mark" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:28 +msgid "Your device does not run firewall4." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:26 +msgid "Your device runs firewall4." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:143 +msgid "Zone ⇒ Forwardings" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:101 +msgid "Zones" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:320 +msgid "" +"Zones from which reflection rules shall be created. If unset, only the " +"destination zone is used." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:415 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:70 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:159 +msgid "accept" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:268 +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:463 +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:486 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:270 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:301 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:328 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:392 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:407 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:441 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:448 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:266 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:282 +msgid "any" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:53 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:86 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:65 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:78 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:46 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:56 +msgid "any zone" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:298 +msgid "any/all" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:419 +msgid "apply firewall mark" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:418 +msgid "assign conntrack helper" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:194 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:222 +msgid "automatic" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:131 +msgid "bitmap" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:137 +msgid "bitmap is ipv4 only" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:72 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:89 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:67 +msgid "day" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:93 +msgid "dest_ip: Destination IP" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:95 +msgid "dest_mac: Destination MAC addr" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:96 +msgid "dest_net: Destination (sub)net" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:94 +msgid "dest_port: Destination Port" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:98 +msgid "dest_set: Destination ipset*" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:315 +msgid "do not rewrite" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:417 +msgid "don't track" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:414 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:69 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:158 +msgid "drop" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:21 +msgid "" +"firewall4 supports referencing and creating IP sets to simplify matching of " +"large address lists without the need to create one rule per item to match. " +"Port ranges in ipsets are unsupported by firewall4.
" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:159 +msgid "fromport-toport" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:132 +msgid "hash" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:72 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:89 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:67 +msgid "hour" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:81 +msgid "ip: IP addr" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:153 +msgid "ip[/cidr]
" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:145 +msgid "ip[/cidr]
For use with Match datatypes: *_ip." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:70 +msgid "ipv4" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:133 +msgid "list" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:83 +msgid "mac: MAC addr" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:108 +msgid "macaddr|ip[/cidr]
" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:72 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:89 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:67 +msgid "minute" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:84 +msgid "net: (sub)net" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:82 +msgid "port: Port" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:416 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:68 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:157 +msgid "reject" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:72 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:89 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:67 +msgid "second" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:86 +msgid "set: ipset*" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:92 +msgid "src_Set: Source ipset*" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:87 +msgid "src_ip: Source IP" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:89 +msgid "src_mac: Source MAC addr" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:90 +msgid "src_net: Source (sub)net" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:88 +msgid "src_port: Source Port" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:53 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:62 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:86 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:65 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:78 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:56 +msgid "this device" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:124 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:226 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:339 +msgid "this new zone" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:354 +msgid "unlimited" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:251 +msgid "unspecified" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:114 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:173 +msgid "up to 65536 entries." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:339 +msgid "valid firewall mark" +msgstr "" diff --git a/luci-app-firewall/po/hu/firewall.po b/luci-app-firewall/po/hu/firewall.po new file mode 100644 index 000000000..fe0984fdb --- /dev/null +++ b/luci-app-firewall/po/hu/firewall.po @@ -0,0 +1,1642 @@ +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"PO-Revision-Date: 2024-08-20 16:40+0000\n" +"Last-Translator: hmzs \n" +"Language-Team: Hungarian \n" +"Language: hu\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Generator: Weblate 5.7\n" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:48 +msgid "" +"%{src?%{dest?Forwarded:Incoming}:Outgoing} %{ipv6?%{ipv4?IPv4 and " +"IPv6:IPv6}:IPv4}%{proto?, protocol " +"%{proto#%{next?, }%{item.types?%{item." +"name}ICMP with types %{item.types#%{next?, }" +"%{item}}:%{item.name}}}}%{mark?, mark " +"%{mark.val}}%{dscp?, DSCP %{dscp." +"inv?%{dscp.val}:%{dscp.val}}}%{helper?, helper " +"%{helper.inv?%{helper.val}:%{helper." +"val}}}" +msgstr "" +"\"%{src?%{dest?Továbbított:Bejövő}:Kimenő} %{ipv6?%{ipv4?IPv4 és " +"IPv6:IPv6}:IPv4}%{proto?, protokoll\\: " +"%{proto#%{next?, }%{item.types?%{item." +"name}ICMP típus\\: %{item.types#%{next?, }" +"%{item}}:%{item.name}}}}%{mark?, " +"Jelölő\\: %{mark.val}}%{dscp?, DSCP\\: %{dscp.inv?%{dscp.val}:%{dscp.val}}}%{helper?, Segítő\\: " +"%{helper.inv?%{helper.val}:%{helper.val}}}\"" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:463 +msgid "-- add IP --" +msgstr "-- IP-cím hozzáadása --" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:521 +msgid "-- add MAC --" +msgstr "-- MAC-cím hozzáadása --" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:199 +msgid "0" +msgstr "0" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:182 +msgid "1024" +msgstr "1024" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:118 +msgid "" +"Accept %{src?%{dest?forward:input}:output}" +msgstr "" +"%{src?%{dest?Továbbítás:Bemenet}:Kimenet} Elfogadása" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:93 +msgid "Prevent source rewrite" +msgstr "" +"Elfogadja a forráscímet (nincs átírás)" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:85 +msgid "" +"Forward to %{dest}%{dest_ip? IP " +"%{dest_ip}}%{dest_port? port %{dest_port}}" +msgstr "" +"msgstr \"Továbbítás ⇒%{dest}%{dest_ip?" +"%{dest_ip} IP-re}%{dest_port?%{dest_ip? és }%{dest_port} portra}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:115 +msgid "" +"Drop %{src?%{dest?forward:input}:output}" +msgstr "" +"{src?%{dest?Továbbítás:Bemenet}:Kimenet} Eldobása" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:133 +msgid "" +"Assign DSCP classification %{set_dscp}" +"" +msgstr "" +"DSCP hozzárendelés\\: " +"%{set_dscp}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:127 +msgid "" +"Assign conntrack helper " +"%{set_helper}" +msgstr "" +"%{set_helper} Követés-segítő" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:130 +msgid "" +"%{set_mark?Assign:XOR} firewall mark " +"%{set_mark?:%{set_xmark}}" +msgstr "" +"%{set_mark?Hozzárendelt:XOR} tűzfal " +"jelölő\\: %{set_mark?:%{set_xmark}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:90 +msgid "Automatically rewrite source IP" +msgstr "" +"Automatikusan átírva a forrás IP" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:124 +msgid "" +"Do not track %{src?%{dest?forward:input}:" +"output}" +msgstr "" +"%{src?%{dest?Továbbítás:Bemenet}:Kimenet} kapcsolatkövetés nélkül" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:121 +msgid "" +"Reject %{src?%{dest?forward:input}:output}" +msgstr "" +"%{src?%{dest?Továbbítás:Bemenet}:Kimenet} Visszautasítása" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:87 +msgid "" +"Statically rewrite to source %{snat_ip?IP " +"%{snat_ip}} %{snat_port?port %{snat_port}}" +msgstr "" +"Statikusan átírva, új forrás%{snat_ip? " +"IP\\: %{snat_ip}}%{snat_port?%{snat_ip? és }port\\: " +"%{snat_port}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:306 +msgid "A rewrite IP must be specified!" +msgstr "Egy átírási IP-t meg kell adni!" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:292 +msgid "ACCEPT - Disable address rewriting" +msgstr "ELFOGADÁS – címátírás letiltása" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:224 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:225 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:411 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:204 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:287 +msgid "Action" +msgstr "Művelet" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:322 +msgid "" +"Additional raw iptables arguments to classify zone destination " +"traffic, e.g. -p tcp --dport 443 to only match outbound HTTPS " +"traffic." +msgstr "" +"További nyers iptables argumentumok a zóna célforgalmának " +"besorolásához, például -p tcp --dport 443 csak a kimenő HTTPS " +"forgalom illesztéséhez." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:312 +msgid "" +"Additional raw iptables arguments to classify zone source traffic, " +"e.g. -p tcp --sport 443 to only match inbound HTTPS traffic." +msgstr "" +"További nyers iptables argumentumok a zóna forrásforgalmának " +"besorolásához, például -p tcp --sport 443 csak a bejövő HTTPS " +"forgalom illesztéséhez." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:107 +msgid "Address family, Internal IP address must match" +msgstr "Címcsalád, belső IP-címnek meg kell egyeznie" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:135 +msgid "" +"Address family, source address, destination address, rewrite IP address must " +"match" +msgstr "" +"A címcsaládnak, a forráscímnek, a célcímnek, az átírási IP-címnek meg kell " +"egyeznie" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:162 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:183 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:182 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:114 +msgid "Advanced Settings" +msgstr "Haladó beállítások" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:283 +msgid "Allow \"invalid\" traffic" +msgstr "„Érvénytelen” forgalom engedélyezése" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:385 +msgid "Allow forward from source zones:" +msgstr "Továbbítás engedélyezése a forrászónákból:" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:344 +msgid "Allow forward to destination zones:" +msgstr "Továbbítás engedélyezése ezekbe a célzónákba:" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:551 +msgid "Any" +msgstr "Bármelyik" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:479 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:495 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:352 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:368 +msgid "Any day" +msgstr "Bármely nap" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:317 +msgid "" +"Apply a bitwise XOR of the given value and the existing mark value on " +"established connections. Format is value[/mask]. If a mask is specified then " +"those bits set in the mask are zeroed out." +msgstr "" +"A megadott érték és a meglévő jelölőérték bitenkénti XOR (kizáró vagy) műveletének alkalmazása a kiépített kapcsolatokon. A formátum: érték[/" +"maszk]. Ha egy maszk meg van adva, akkor a maszkban beállított bitek ki " +"lesznek nullázva." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:264 +msgid "Apply the given DSCP class or value to established connections." +msgstr "" +"A megadott DSCP-osztály vagy érték alkalmazása a kiépített kapcsolatokra." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:439 +msgid "Assign the specified connection tracking helper to matched traffic." +msgstr "" +"A megadott kapcsolatkövetés-segítő hozzárendelése az illesztett forgalomhoz." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:286 +msgid "Automatic helper assignment" +msgstr "Automatikus segítő hozzárendelés" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:286 +msgid "" +"Automatically assign conntrack helpers based on traffic protocol and port" +msgstr "" +"Kapcsolatkövetés-segítők automatikus hozzárendelése a forgalom protokollja " +"és portja alapján." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:61 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:62 +msgid "Comment" +msgstr "Megjegyzés" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:115 +msgid "Conntrack Settings" +msgstr "Kapcsolatkövető beállítások" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:290 +msgid "Conntrack helpers" +msgstr "Kapcsolatkövetés-segítők" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/custom.js:16 +msgid "Contents have been saved." +msgstr "A tartalom mentésre került." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:700 +msgid "Continue" +msgstr "Folytatás" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:204 +msgid "Counters" +msgstr "Számlálók" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:231 +msgid "Covered devices" +msgstr "Lefedett eszközök" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:183 +msgid "Covered networks" +msgstr "Lefedett hálózatok" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:236 +msgid "Covered subnets" +msgstr "Lefedett alhálózatok" + +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:62 +msgid "Custom Rules" +msgstr "Egyéni szabályok" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/custom.js:26 +msgid "" +"Custom rules allow you to execute arbitrary iptables commands which are not " +"otherwise covered by the firewall framework. The commands are executed after " +"each firewall restart, right after the default ruleset has been loaded." +msgstr "" +"Az egyéni szabályok lehetővé teszik tetszőleges iptables parancsok " +"végrehajtását, amelyeket a tűzfal keretrendszer egyébként nem fed le. A " +"parancsok minden tűzfal-újraindítás után végrehajtásra kerülnek, közvetlenül " +"az alapértelmezett szabálykészletek betöltődése után." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:421 +msgid "DSCP classification" +msgstr "DSCP-osztályozás" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:263 +msgid "DSCP mark" +msgstr "DSCP jelölő" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:297 +msgid "DSCP mark required" +msgstr "DSCP jelölő szükséges" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:402 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:270 +msgid "Destination address" +msgstr "Célcím" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:404 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:278 +msgid "Destination port" +msgstr "Célport" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:396 +msgid "Destination zone" +msgstr "Célzóna" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:269 +msgid "Device name" +msgstr "Eszköznév" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:283 +msgid "" +"Do not install extra rules to reject forwarded traffic with conntrack state " +"invalid. This may be required for complex asymmetric route setups." +msgstr "" +"Ne telepítsen további szabályokat az érvénytelen kapcsolatkövető " +"állapottal rendelkező továbbított forgalom visszautasításához." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:59 +msgid "Drop invalid packets" +msgstr "Érvénytelen csomagok eldobása" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:232 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:231 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:210 +msgid "Enable" +msgstr "Engedélyezés" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:306 +msgid "Enable NAT Loopback" +msgstr "NAT visszacsatolás engedélyezése" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:45 +msgid "Enable SYN-flood protection" +msgstr "SYN-elárasztás elleni védelem engedélyezése" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:296 +msgid "Enable logging on this zone" +msgstr "Naplózás engedélyezése ezen a zónán" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:168 +msgid "" +"Enable network address and port translation IPv4 (NAT4 or NAPT4) for " +"outbound traffic on this zone. This is typically enabled on the wan " +"zone." +msgstr "" +"Engedélyezze az IPv4-es hálózati cím- és portfordítást (NAT4 vagy NAPT4) a " +"kimenő forgalomhoz ebben a zónában. Ez általában a wan zónában van " +"engedélyezve." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:243 +msgid "" +"Enable network address and port translation IPv6 (NAT6 or NAPT6) for " +"outbound traffic on this zone." +msgstr "" +"Engedélyezze az IPv6-os hálózati cím- és portfordítást (NAT6 vagy NAPT6) a " +"kimenő forgalomhoz ebben a zónában." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:211 +msgid "Enabled" +msgstr "Engedélyezve" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:205 +msgid "Enables packet and byte count tracking for the set." +msgstr "Engedélyezi a csomag- és bájtszám nyomon követését a készlet számára." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:339 +msgid "Expecting: %s" +msgstr "Elvárás: %s" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:290 +msgid "Explicitly choses allowed connection tracking helpers for zone traffic" +msgstr "" +"Egyértelműen kiválasztja az engedélyezett kapcsolatkövetés-segítőket a " +"zónaforgalomhoz" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:274 +msgid "External IP address" +msgstr "Külső IP-cím" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:279 +msgid "External port" +msgstr "Külső port" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:349 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:470 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:342 +msgid "Extra arguments" +msgstr "További argumentumok" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:322 +msgid "Extra destination arguments" +msgstr "További célargumentumok" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:116 +msgid "Extra iptables arguments" +msgstr "További iptables argumentumok" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:312 +msgid "Extra source arguments" +msgstr "További forrásargumentumok" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:67 +msgid "Family" +msgstr "Család" + +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:3 +msgid "Firewall" +msgstr "Tűzfal" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/custom.js:25 +msgid "Firewall - Custom Rules" +msgstr "Tűzfal – egyéni szabályok" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:20 +msgid "Firewall - IP sets" +msgstr "Tűzfal - IP-készletek" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:172 +msgid "Firewall - NAT Rules" +msgstr "Tűzfal – NAT szabályok" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:152 +msgid "Firewall - Port Forwards" +msgstr "Tűzfal – porttovábbítások" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:173 +msgid "Firewall - Traffic Rules" +msgstr "Tűzfal – forgalmi szabályok" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:38 +msgid "Firewall - Zone Settings" +msgstr "Tűzfal – zónabeállítások" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:693 +msgid "Firewall configuration migration" +msgstr "Tűzfal szabályok áttelepítése" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:82 +msgid "Flow offloading type" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:64 +msgid "Forward" +msgstr "Továbbítás" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:34 +msgid "" +"Forwarded %{ipv6?%{ipv4?IPv4 and IPv6:IPv6}:" +"IPv4}%{proto?, protocol %{proto#%{next?, }%{item.name}}}%{mark?, mark %{mark.val}" +"}" +msgstr "" +"Továbbított %{ipv6?%{ipv4?IPv4 és IPv6:IPv6}:IPv4}%{proto?, protokoll\\: %{proto#%{next?, }%{item." +"name}}}%{mark?, Jelölő\\: %{mark.val}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:485 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:358 +msgid "Friday" +msgstr "Péntek" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:45 +msgid "" +"From %{src}%{src_device?, interface %{src_device}}%{src_ip?, IP " +"%{src_ip#%{next?, }%{item.ival}}}%{src_port?, port %{src_port#%{next?, }" +"%{item." +"ival}}}" +msgstr "" +"Innen: %{src}%{src_device?, csatoló\\: %{src_device}}%{src_ip?, " +"IP\\: %{src_ip#%{next?, }%{item.ival}}}%{src_port?, port\\: " +"%{src_port#%{next?, }%{item.ival}}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:64 +msgid "" +"From %{src}%{src_device?, interface %{src_device}}%{src_ip?, IP " +"%{src_ip#%{next?, }%{item.ival}}}%{src_port?, port %{src_port#%{next?, }" +"%{item." +"ival}}}%{src_mac?, MAC %{src_mac#%{next?, }%{item.ival}" +"}}" +msgstr "" +"Innen: %{src}%{src_device?, csatoló\\: %{src_device}}%{src_ip?, " +"IP\\: %{src_ip#%{next?, }%{item.ival}}}%{src_port?, port\\: " +"%{src_port#%{next?, }%{item.ival}}}%{src_mac?, MAC\\: " +"%{src_mac#%{next?, }%{item.ival}}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:52 +msgid "" +"From %{src}%{src_ip?, IP %{src_ip#%{next?, }%{item.ival}}}%{src_port?, port %{src_port#%{next?, }%{item.ival}}}%{src_mac?, " +"MAC %{src_mac#%{next?, }%{item.ival}}}" +msgstr "" +"Innen: %{src}%{src_ip?, IP\\: %{src_ip#%{next?, }%{item.ival}}}%{src_port?, port\\: %{src_port#%{next?, }%{item.ival}" +"}}%{src_mac?, MAC\\: %{src_mac#%{next?, }%{item.ival}}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:161 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:182 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:181 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:41 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:113 +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:17 +msgid "General Settings" +msgstr "Általános beállítások" + +#: applications/luci-app-firewall/root/usr/share/rpcd/acl.d/luci-app-firewall.json:3 +msgid "Grant access to firewall configuration" +msgstr "Jogosultság adása a tűzfal beállításához" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:85 +msgid "Hardware based offloading for routing with/without NAT." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:85 +msgid "Hardware flow offloading" +msgstr "Hardveres áramláskiürítés" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:144 +msgid "IP (range)" +msgstr "IP (tartomány)" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:32 +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:53 +msgid "IP Sets" +msgstr "IP-készletek" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:152 +msgid "IPs/Networks" +msgstr "IP-k/Hálózatok" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:107 +msgid "IPs/Networks/MACs" +msgstr "IP-k/Hálózatok/MAC-címek" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:68 +msgid "IPv4" +msgstr "IPv4" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:191 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:280 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:219 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:256 +msgid "IPv4 and IPv6" +msgstr "IPv4 és IPv6" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:192 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:281 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:220 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:257 +msgid "IPv4 only" +msgstr "Csak IPv4" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:69 +msgid "IPv6" +msgstr "IPv6" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:242 +msgid "IPv6 Masquerading" +msgstr "IPv6 álcázás" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:193 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:282 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:221 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:258 +msgid "IPv6 only" +msgstr "Csak IPv6" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:252 +msgid "Inbound device" +msgstr "Bejövő eszköz" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:187 +msgid "Include File" +msgstr "Belevett fájl" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:40 +msgid "" +"Incoming %{ipv6?%{ipv4?IPv4 and IPv6:IPv6}:" +"IPv4}%{proto?, protocol %{proto#%{next?, }%{item.types?%{item.name}ICMP " +"with types %{item.types#%{next?, }%{item}}:" +"%{item.name}}}}%{mark?, mark %{mark.val}}%{helper?, helper %{helper.inv?%{helper.val}:%{helper.val}}}" +msgstr "" +"Bejövő: %{ipv6?%{ipv4?IPv4 és IPv6:IPv6}:" +"IPv4}%{proto?, protokoll\\: %{proto#%{next?, }%{item.types?%{item.name}ICMP " +"típus\\: %{item.types#%{next?, }%{item}}:%{item." +"name}}}}%{mark?, Jelölő\\: %{mark.val}}%{helper?, Segítő\\: " +"%{helper.inv?%{helper.val}:%{helper.val}}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:180 +msgid "Initial Hash Size" +msgstr "Kezdeti hash méret" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:62 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:151 +msgid "Input" +msgstr "Bemenet" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:292 +msgid "Internal IP address" +msgstr "Belső IP-cím" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:297 +msgid "Internal port" +msgstr "Belső port" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:287 +msgid "Internal zone" +msgstr "Belső zóna" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:153 +msgid "Intra zone forward" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:305 +msgid "Invalid DSCP mark" +msgstr "Érvénytelen DSCP jelölő" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:373 +msgid "Invalid limit value" +msgstr "Érvénytelen korlátérték" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:47 +msgid "Invalid set name" +msgstr "Érvénytelen készlet név" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:383 +msgid "Limit burst" +msgstr "Löketek korlátozása" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:299 +msgid "Limit log messages" +msgstr "Naplóüzenetek korlátozása" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:349 +msgid "Limit matching" +msgstr "Illesztés korlátozása" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:79 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:96 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:74 +msgid "" +"Limit matching to %{limit.num} packets per %{limit.unit}%{limit.burst? burst %{limit.burst}}" +msgstr "" +"Korlátozás: %{limit.num} csomag / %{limit.unit}%{limit." +"burst?, %{limit.burst} löket}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:175 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:250 +msgid "Limited masquerading enabled" +msgstr "Korlátozott álcázás engedélyezve" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:350 +msgid "Limits traffic matching to the specified rate." +msgstr "Korlátozza az illeszkedő forgalmat a megadott sebességre." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:311 +msgid "Loopback source IP" +msgstr "Visszacsatolt forrás IP" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:291 +msgid "MASQUERADE - Automatically rewrite to outbound interface IP" +msgstr "ÁLCÁZÁS – automatikus átírás a kimenő csatoló IP-jére" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:180 +msgid "MSS clamping" +msgstr "MSS összefogás" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:167 +msgid "Masquerading" +msgstr "Álcázás" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:213 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:214 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:193 +msgid "Match" +msgstr "Illesztés" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:263 +msgid "Match DSCP" +msgstr "DSCP illesztése" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:293 +msgid "Match ICMP type" +msgstr "ICMP-típus illesztése" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:249 +msgid "Match device" +msgstr "Eszköz illesztése" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:271 +msgid "Match forwarded traffic directed at the given IP address." +msgstr "A megadott IP-címre irányított továbbított forgalom illesztése." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:279 +msgid "" +"Match forwarded traffic directed at the given destination port or port range." +msgstr "" +"A megadott célportra vagy porttartományra irányított továbbított forgalom " +"illesztése." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:254 +msgid "Match forwarded traffic from this IP or range." +msgstr "Erről az IP-ről vagy tartományról továbbított forgalom illesztése." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:262 +msgid "" +"Match forwarded traffic originating from the given source port or port range." +msgstr "" +"A megadott forrásportról vagy porttartományból eredő továbbított forgalom " +"illesztése." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:326 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:446 +msgid "Match helper" +msgstr "Illesztés-segítő" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:280 +msgid "" +"Match incoming traffic directed at the given destination port or port range " +"on this host" +msgstr "" +"Az ezen a gépen lévő megadott célportra vagy porttartományra irányított " +"bejövő forgalom illesztése" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:316 +msgid "Match mark" +msgstr "Jelölés illesztése" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:326 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:446 +msgid "Match traffic using the specified connection tracking helper." +msgstr "Forgalom illesztése a megadott kapcsolatkövetés-segítő használatával." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:319 +msgid "Matches a specific firewall mark or a range of different marks." +msgstr "" +"Egy bizonyos tűzfaljelölőt vagy különböző jelölők tartományát illeszti." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:332 +msgid "Matches forwarded traffic using the specified outbound network device." +msgstr "" +"A megadott kimeneti hálózati eszköz használatával illeszti a továbbított " +"forgalmat." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:264 +msgid "Matches traffic carrying the specified DSCP marking." +msgstr "" +"A megadott DSCP jelölést használva " +"illeszti a forgalmat." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:113 +msgid "Max Entries" +msgstr "Max bejegyzés" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:172 +msgid "Max Length" +msgstr "Max hossz" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:384 +msgid "" +"Maximum initial number of packets to match: this number gets recharged by " +"one every time the limit specified above is not reached, up to this number." +msgstr "" +"Az illesztendő csomagok legnagyobb kezdeti száma: ez a szám újratöltődik " +"minden alkalommal, amikor a fent meghatározott korlátot nem érik el, " +"legfeljebb eddig a számig." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:481 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:354 +msgid "Monday" +msgstr "Hétfő" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:491 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:364 +msgid "Month Days" +msgstr "Hónap napjai" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:175 +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:44 +msgid "NAT Rules" +msgstr "NAT szabályok" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:173 +msgid "" +"NAT rules allow fine grained control over the source IP to use for outbound " +"or forwarded traffic." +msgstr "" +"A NAT szabályok lehetővé teszik a részletes szabályozást a kimenő vagy " +"továbbított forgalomnál használandó forrás IP fölött." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:183 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:42 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:52 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:210 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:189 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:129 +msgid "Name" +msgstr "Név" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:166 +msgid "Netmask" +msgstr "Netmask" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:83 +msgid "None" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:77 +msgid "Not fully compatible with QoS/SQM." +msgstr "" +"Nem teljesen kompatibilis a QoS / SQM használatával." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:275 +msgid "Only match incoming traffic directed at the given IP address." +msgstr "Csak a megadott IP-címre irányított bejövő forgalom illesztése." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:256 +msgid "Only match incoming traffic from these MACs." +msgstr "Csak ezekről a MAC-címekről érkező bejövő forgalom illesztése." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:261 +msgid "Only match incoming traffic from this IP or range." +msgstr "" +"Csak erről az IP-ről vagy tartományból érkező bejövő forgalom illesztése." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:266 +msgid "" +"Only match incoming traffic originating from the given source port or port " +"range on the client host" +msgstr "" +"Csak az ügyfélgépen lévő megadott forrásportról vagy porttartományból eredő " +"bejövő forgalom illesztése" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:253 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:331 +msgid "Outbound device" +msgstr "Kimenő eszköz" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:246 +msgid "Outbound zone" +msgstr "Kimenő zóna" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:63 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:152 +msgid "Output" +msgstr "Kimenet" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:75 +msgid "Packet Field Match" +msgstr "Csomagmező illesztés" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:76 +msgid "" +"Packet fields to match upon.
Syntax: direction_datatype. e.g.: " +"src_port, dest_net.
Directions: src, dst. " +"Datatypes: ip, port, mac, net, set.
Direction prefixes are " +"optional.
*Note: datatype set is unsupported in fw4." +msgstr "" +"A megfelelő csomagmezők.
Elrendezés: direction_datatype. pl.: " +"src_port, dest_net.
Útvonal: src, dst. " +"Adattípusok: ip, port, mac, net, set.
Az irány előtagok " +"nem kötelezőek.
Megjegyzés: a set adattípust az fw4 nem " +"támogatja." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:350 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:471 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:343 +msgid "Passes additional arguments to iptables. Use with care!" +msgstr "" +"Átadja a további argumentumokat az iptables részére. Használja " +"körültekintően!" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:309 +msgid "" +"Passing raw iptables arguments to source and destination traffic " +"classification rules allows to match packets based on other criteria than " +"interfaces or subnets. These options should be used with extreme care as " +"invalid values could render the firewall ruleset broken, completely exposing " +"all services." +msgstr "" +"A forrás- és célforgalom osztályozási szabályainak való nyers iptables " +"argumentumok átadása lehetővé teszi a csomagoknak a csatolóktól vagy " +"alhálózatoktól eltérő feltételek alapján történő illesztését. Ezeket a " +"kapcsolókat rendkívül óvatosan kell használni, mivel az érvénytelen értékek " +"tönkre tehetik a tűzfalszabálykészleteket, ezáltal teljesen feltárva az " +"összes szolgáltatást." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:188 +msgid "Path to file of CIDRs, subnets, host IPs, etc.
" +msgstr "" +"Elérési út a CIDR-ek, alhálózatok, gazdagép IP-" +"címek, stb. fájlhoz.
" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:155 +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:26 +msgid "Port Forwards" +msgstr "Porttovábbítások" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:153 +msgid "" +"Port forwarding allows remote computers on the Internet to connect to a " +"specific computer or service within the private LAN." +msgstr "" +"A porttovábbítás lehetővé teszi az interneten lévő távoli számítógépeknek a " +"személyes helyi hálózat bizonyos számítógépéhez vagy szolgáltatásához " +"történő csatlakozását." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:158 +msgid "Port range" +msgstr "Port tartomány" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:237 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:289 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:242 +msgid "Protocol" +msgstr "Protokoll" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:298 +msgid "" +"Redirect matched incoming traffic to the given port on the internal host" +msgstr "Egyező bejövő forgalom átirányítása a belső gép megadott portjára." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:293 +msgid "Redirect matched incoming traffic to the specified internal host" +msgstr "Egyező bejövő forgalom átirányítása a megadott belső gépre." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:122 +msgid "Refer To External Set" +msgstr "Lásd: Külső készlet" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:320 +msgid "Reflection zones" +msgstr "Tükrözési zónák" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:85 +msgid "Requires hardware NAT support." +msgstr "" +"Hardveres NAT támogatás szükséges." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:272 +msgid "Restrict Masquerading to given destination subnets" +msgstr "Álcázás korlátozása a megadott cél-alhálózatokra" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:261 +msgid "Restrict Masquerading to given source subnets" +msgstr "Álcázás korlátozása a megadott forrás-alhálózatokra" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:188 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:277 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:216 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:255 +msgid "Restrict to address family" +msgstr "Korlátozás címcsaládra" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:297 +msgid "Rewrite IP address" +msgstr "IP-cím átírása" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:298 +msgid "Rewrite matched traffic to the specified source IP address." +msgstr "Illesztett forgalom átírása a megadott forrás IP-címre." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:312 +msgid "Rewrite matched traffic to the specified source port or port range." +msgstr "" +"Illesztett forgalom átírása a megadott forrásportra vagy porttartományra." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:311 +msgid "Rewrite port" +msgstr "Port átírása" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:76 +msgid "Routing/NAT Offloading" +msgstr "Útválasztás vagy NAT kiürítés" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:290 +msgid "SNAT - Rewrite to specific source IP or port" +msgstr "SNAT – átírás egy adott forrás IP-re vagy portra" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:486 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:359 +msgid "Saturday" +msgstr "Szombat" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:316 +msgid "Set mark" +msgstr "Jelölő beállítása" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:318 +msgid "" +"Set the given mark value on established connections. Format is value[/mask]. " +"If a mask is specified then only those bits set in the mask are modified." +msgstr "" +"A megadott jelölőérték beállítása a kiépített kapcsolatokon. A formátum: " +"érték[/maszk]. Ha egy maszk meg van adva, akkor csak a maszkban beállított " +"bitek lesznek módosítva." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:84 +msgid "Software based offloading for routing/NAT." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:84 +msgid "Software flow offloading" +msgstr "Szoftveres áramláskiürítés" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:260 +msgid "Source IP address" +msgstr "Forrás IP-cím" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:255 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:386 +msgid "Source MAC address" +msgstr "Forrás MAC-cím" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:387 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:253 +msgid "Source address" +msgstr "Forráscím" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:265 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:389 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:261 +msgid "Source port" +msgstr "Forrásport" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:241 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:372 +msgid "Source zone" +msgstr "Forrászóna" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:270 +msgid "" +"Specifies whether to tie this traffic rule to a specific inbound or outbound " +"network device." +msgstr "" +"Meghatározza, hogy ezt a forgalomszabályt egy adott bejövő vagy kimenő " +"hálózati eszközhöz kell kötni." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:311 +msgid "" +"Specifies whether to use the external or the internal IP address for " +"reflected traffic." +msgstr "" +"Meghatározza, hogy a külső vagy a belső IP-címet használja a visszatükrözött " +"forgalomnál." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:510 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:383 +msgid "Start Date (yyyy-mm-dd)" +msgstr "Kezdés dátuma
(ÉÉÉÉ-HH-NN)" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:502 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:375 +msgid "Start Time (hh:mm:ss)" +msgstr "Kezdés ideje
(ÓÓ.PP.MM)" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:514 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:387 +msgid "Stop Date (yyyy-mm-dd)" +msgstr "Leállítás dátuma
(ÉÉÉÉ-HH-NN)" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:506 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:379 +msgid "Stop Time (hh:mm:ss)" +msgstr "Leállítás ideje
(ÓÓ.PP.MM)" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:130 +msgid "Storage Method" +msgstr "Tárolási módszer" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:480 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:353 +msgid "Sunday" +msgstr "Vasárnap" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:694 +msgid "" +"The existing firewall configuration needs to be changed for LuCI to function " +"properly." +msgstr "" +"A meglévő tűzfalkonfigurációt módosítani kell a LuCI megfelelő működéséhez." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:39 +msgid "" +"The firewall creates zones over your network interfaces to control network " +"traffic flow." +msgstr "" +"A tűzfalzónákat hoz létre a hálózati csatolók fölött a hálózati forgalom " +"áramlásának szabályozásához." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:227 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:340 +msgid "" +"The options below control the forwarding policies between this zone (%s) and " +"other zones. Destination zones cover forwarded traffic " +"originating from %q. Source zones match forwarded " +"traffic from other zones targeted at %q. The forwarding " +"rule is unidirectional, e.g. a forward from lan to wan does " +"not imply a permission to forward from wan to lan as well." +msgstr "" +"Az alábbi beállítások vezérlik a továbbítási szabályokat a jelenlegi zóna " +"(%s) és a többi zóna között. A célzónák fedik le a továbbított " +"forgalmat, amelynek forrása %q. A forrászónák " +"illesztik a továbbított forgalmat más zónákból, amelynek célja %q. A továbbítási szabály egyirányú, például egy továbbítás " +"LAN-ból WAN-ba nem jelenti azt, hogy a továbbítás WAN-ból LAN-ba is " +"engedélyezett." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:125 +msgid "" +"This section defines common properties of %q. The input and " +"output options set the default policies for traffic entering and " +"leaving this zone while the forward option describes the policy for " +"forwarded traffic between different networks within the zone. Covered " +"networks specifies which available networks are members of this zone." +msgstr "" +"Ez a szakasz a(z) %q közös tulajdonságait határozza meg. A bemenet " +"és kimenet beállításai határozzák meg a zónába be- és kilépő " +"forgalom alapértelmezett szabályait, míg a továbbítási beállítás a " +"különböző hálózatok közötti továbbított forgalom szabályát írja le a zónán " +"belül. A lefedett hálózatok adják meg, hogy mely elérhető hálózatok " +"tagjai ennek a zónának." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:484 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:357 +msgid "Thursday" +msgstr "Csütörtök" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:184 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:183 +msgid "Time Restrictions" +msgstr "Időkorlátozások" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:518 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:391 +msgid "Time in UTC" +msgstr "Idő UTC szerint" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:244 +msgid "Time restrictions are enabled for this rule" +msgstr "Időkorlátozások engedélyezettek ennél a szabálynál" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:196 +msgid "Timeout" +msgstr "Időtúllépés" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:77 +msgid "" +"To %{dest}%{dest_device?, interface %{dest_device}}%{dest_ip?, IP " +"%{dest_ip#%{next?, }%{item.ival}
}}%{dest_port?, port %{dest_port#%{next?, }" +"%{item." +"ival}}}" +msgstr "" +"Ide: %{dest}%{dest_device?, csatoló\\: %{dest_device}}%{dest_ip?, " +"IP\\: %{dest_ip#%{next?, }%{item.ival}}}%{dest_port?, port\\: " +"%{dest_port#%{next?, }%{item.ival}}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:55 +msgid "" +"To %{dest}%{dest_device?, via interface %{dest_device}}%{dest_ip?, IP %{dest_ip#%{next?, }%{item.ival}}}%{dest_port?, port " +"%{dest_port#%{next?, }%{item.ival}}}" +msgstr "" +"Ide: %{dest}%{dest_device?, csatolón át\\: %{dest_device}}%{dest_ip?, IP\\: %{dest_ip#%{next?, }%{item.ival}}}%{dest_port?, port\\: %{dest_port#%{next?, }%{item.ival}" +"}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:61 +msgid "" +"To %{dest}%{dest_ip?, IP %{dest_ip#%{next?, }%{item.ival}}}%{dest_port?, port %{dest_port#%{next?, }%{item.ival}}}" +msgstr "" +"Ide: %{dest}%{dest_ip?, IP\\: %{dest_ip#%{next?, }%{item.ival}}}%{dest_port?, port\\: %{dest_port#%{next?, }%{item.ival}" +"}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:439 +msgid "Tracking helper" +msgstr "Követés-segítő" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:176 +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:35 +msgid "Traffic Rules" +msgstr "Forgalmi szabályok" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:174 +msgid "" +"Traffic rules define policies for packets travelling between different " +"zones, for example to reject traffic between certain hosts or to open WAN " +"ports on the router." +msgstr "" +"A forgalmi szabályok a különböző zónák között utazó csomagokra vonatkozó " +"szabályokat határozzák meg, például bizonyos gépek közötti forgalom " +"visszautasításához vagy WAN portok megnyitásához az útválasztón." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:482 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:355 +msgid "Tuesday" +msgstr "Kedd" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/custom.js:19 +msgid "Unable to save contents: %s" +msgstr "Nem lehet elmenteni a tartalmat: %s" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:197 +msgid "" +"Unit: seconds. Default 0 means the entry is added permanently " +"to the set.
Max: 2147483 seconds." +msgstr "" +"Mértékegység: másodperc. Max: 2 147 483 másodperc.
Az alapértelmezett " +"0 azt jelenti, hogy a bejegyzés véglegesen hozzáadódik a " +"készlethez." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:341 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:461 +msgid "Unknown or not installed conntrack helper \"%s\"" +msgstr "Ismeretlen vagy nem telepített kapcsolatkövetés-segítő: „%s”" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:186 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:190 +msgid "Unnamed NAT" +msgstr "Névtelen NAT" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:169 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:184 +msgid "Unnamed forward" +msgstr "Névtelen továbbítás" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:191 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:211 +msgid "Unnamed rule" +msgstr "Névtelen szabály" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:57 +msgid "Unnamed set" +msgstr "Névtelen beállítás" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:130 +msgid "Unnamed zone" +msgstr "Névtelen zóna" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:597 +msgid "Unrecognized protocol" +msgstr "Ismeretlen protokoll" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:695 +msgid "" +"Upon pressing \"Continue\", \"redirect\" sections with target \"SNAT\" will " +"be converted to \"nat\" sections and the firewall will be restarted to apply " +"the updated configuration." +msgstr "" +"A „Folytatás” gomb megnyomására a \"SNAT\" célú \"átirányítás\" szakaszok " +"\"NAT\" szakaszokká alakulnak, és a tűzfal újraindul a frissített " +"beállítások alkalmazásához." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:315 +msgid "Use external IP address" +msgstr "Külső IP-cím használata" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:314 +msgid "Use internal IP address" +msgstr "Belső IP-cím használata" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:247 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:378 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:322 +msgid "Use ipset" +msgstr "ipset" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:231 +msgid "" +"Use this option to classify zone traffic by raw, non-uci managed " +"network devices." +msgstr "" +"Használja ezt a beállítást a zónaforgalom nyers, nem uci által " +"kezelt hálózati eszközök szerint történő besorolásához." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:236 +msgid "" +"Use this option to classify zone traffic by source or destination subnet " +"instead of networks or devices." +msgstr "" +"Használja ezt a beállítást a zónaforgalom forrás- vagy célalhálózat szerint " +"történő besorolásához a hálózatok vagy eszközök helyett." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:331 +msgid "Valid firewall mark required" +msgstr "Érvényes tűzfaljelölő szükséges" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:483 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:356 +msgid "Wednesday" +msgstr "Szerda" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:475 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:348 +msgid "Week Days" +msgstr "Hétköznapok" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:420 +msgid "XOR firewall mark" +msgstr "XOR tűzfaljelölő" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:316 +msgid "XOR mark" +msgstr "XOR jelölő" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:28 +msgid "Your device does not run firewall4." +msgstr "Az eszközön nem firewall4 fut." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:26 +msgid "Your device runs firewall4." +msgstr "Az eszközön firewall4 fut." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:143 +msgid "Zone ⇒ Forwardings" +msgstr "Zóna ⇒ Továbbítások" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:101 +msgid "Zones" +msgstr "Zónák" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:320 +msgid "" +"Zones from which reflection rules shall be created. If unset, only the " +"destination zone is used." +msgstr "" +"Zónák, amikből tükrözési szabályokat kell létrehozni. Ha nincs beállítva, " +"csak a célzóna kerül felhasználásra." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:415 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:70 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:159 +msgid "accept" +msgstr "elfogadás" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:268 +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:463 +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:486 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:270 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:301 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:328 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:392 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:407 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:441 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:448 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:266 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:282 +msgid "any" +msgstr "bármely" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:53 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:86 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:65 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:78 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:46 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:56 +msgid "any zone" +msgstr "bármely zóna" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:298 +msgid "any/all" +msgstr "bármely/mind" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:419 +msgid "apply firewall mark" +msgstr "tűzfaljelölő" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:418 +msgid "assign conntrack helper" +msgstr "kapcsolatkövetés-segítő" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:194 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:222 +msgid "automatic" +msgstr "automatikus" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:131 +msgid "bitmap" +msgstr "bittérkép" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:137 +msgid "bitmap is ipv4 only" +msgstr "csak ipv4 bittérkép" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:72 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:89 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:67 +msgid "day" +msgstr "nap" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:93 +msgid "dest_ip: Destination IP" +msgstr "dest_ip: Cél IP-cím" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:95 +msgid "dest_mac: Destination MAC addr" +msgstr "dest_mac: Cél MAC-cím" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:96 +msgid "dest_net: Destination (sub)net" +msgstr "dest_net: Cél-(al)hálózat" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:94 +msgid "dest_port: Destination Port" +msgstr "dest_port: Célport" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:98 +msgid "dest_set: Destination ipset*" +msgstr "dest_set: Cél ipset*" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:315 +msgid "do not rewrite" +msgstr "ne írja át" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:417 +msgid "don't track" +msgstr "nincs követés" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:414 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:69 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:158 +msgid "drop" +msgstr "eldobás" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:21 +msgid "" +"firewall4 supports referencing and creating IP sets to simplify matching of " +"large address lists without the need to create one rule per item to match. " +"Port ranges in ipsets are unsupported by firewall4.
" +msgstr "" +"A firewall4 támogatja a hivatkozást és az IP-készletek létrehozását, hogy " +"leegyszerűsítse a nagy címlisták egyeztetését anélkül, hogy elemenként egy " +"szabályt kellene létrehozni. A firewall4 nem támogatja az IP-készletekbenben " +"található porttartományokat.
" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:159 +msgid "fromport-toport" +msgstr "porttól-portig" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:132 +msgid "hash" +msgstr "hash" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:72 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:89 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:67 +msgid "hour" +msgstr "óra" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:81 +msgid "ip: IP addr" +msgstr "ip: IP-cím" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:153 +msgid "ip[/cidr]
" +msgstr "ip[/cidr]
" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:145 +msgid "ip[/cidr]
For use with Match datatypes: *_ip." +msgstr "ip[/cidr]
Használja az egyező adattípusokhoz: *_ip." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:70 +msgid "ipv4" +msgstr "ipv4" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:133 +msgid "list" +msgstr "lista" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:83 +msgid "mac: MAC addr" +msgstr "mac: MAC-cím" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:108 +msgid "macaddr|ip[/cidr]
" +msgstr "macaddr|ip[/cidr]
" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:72 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:89 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:67 +msgid "minute" +msgstr "perc" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:84 +msgid "net: (sub)net" +msgstr "net: (al)hálózat" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:82 +msgid "port: Port" +msgstr "port: Port" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:416 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:68 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:157 +msgid "reject" +msgstr "visszautasítás" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:72 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:89 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:67 +msgid "second" +msgstr "másodperc" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:86 +msgid "set: ipset*" +msgstr "set: ipset*" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:92 +msgid "src_Set: Source ipset*" +msgstr "src_Set: Forrás ipset*" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:87 +msgid "src_ip: Source IP" +msgstr "src_ip: Forrás IP-cím" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:89 +msgid "src_mac: Source MAC addr" +msgstr "src_mac: Forrás MAC-cím" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:90 +msgid "src_net: Source (sub)net" +msgstr "src_net: Forrás-(al)hálózat" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:88 +msgid "src_port: Source Port" +msgstr "src_port: Forrásport" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:53 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:62 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:86 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:65 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:78 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:56 +msgid "this device" +msgstr "ez az eszköz" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:124 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:226 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:339 +msgid "this new zone" +msgstr "ez az új zóna" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:354 +msgid "unlimited" +msgstr "korlátlan" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:251 +msgid "unspecified" +msgstr "nincs meghatározva" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:114 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:173 +msgid "up to 65536 entries." +msgstr "65 536 bejegyzésig." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:339 +msgid "valid firewall mark" +msgstr "érvényes tűzfaljelölő" + +#~ msgid "Software based offloading for routing/NAT" +#~ msgstr "" +#~ "Szoftver alapú kiürítés az útválasztásnál vagy NAT-nál." diff --git a/luci-app-firewall/po/id/firewall.po b/luci-app-firewall/po/id/firewall.po new file mode 100644 index 000000000..01fc4bc3f --- /dev/null +++ b/luci-app-firewall/po/id/firewall.po @@ -0,0 +1,1474 @@ +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2010-03-30 17:00+0200\n" +"PO-Revision-Date: 2023-08-31 08:31+0000\n" +"Last-Translator: Charles03010 \n" +"Language-Team: Indonesian \n" +"Language: id\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=1; plural=0;\n" +"X-Generator: Weblate 5.0.1-dev\n" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:48 +msgid "" +"%{src?%{dest?Forwarded:Incoming}:Outgoing} %{ipv6?%{ipv4?IPv4 and " +"IPv6:IPv6}:IPv4}%{proto?, protocol " +"%{proto#%{next?, }%{item.types?%{item." +"name}ICMP with types %{item.types#%{next?, }" +"%{item}}:%{item.name}}}}%{mark?, mark " +"%{mark.val}}%{dscp?, DSCP %{dscp." +"inv?%{dscp.val}:%{dscp.val}}}%{helper?, helper " +"%{helper.inv?%{helper.val}:%{helper." +"val}}}" +msgstr "" +"%{src?%{dest?Forwarded:Incoming}:Outgoing} %{ipv6?%{ipv4?IPv4 and " +"IPv6:IPv6}:IPv4}%{proto?, protocol " +"%{proto#%{next?, }%{item.types?%{item." +"name}ICMP with types %{item.types#%{next?, }" +"%{item}}:%{item.name}}}}%{mark?, mark " +"%{mark.val}}%{dscp?, DSCP %{dscp." +"inv?%{dscp.val}:%{dscp.val}}}%{helper?, helper " +"%{helper.inv?%{helper.val}:%{helper." +"val}}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:463 +msgid "-- add IP --" +msgstr "-- tambahkan IP --" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:521 +msgid "-- add MAC --" +msgstr "-- tambahkan MAC --" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:199 +msgid "0" +msgstr "0" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:182 +msgid "1024" +msgstr "1024" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:118 +msgid "" +"Accept %{src?%{dest?forward:input}:output}" +msgstr "" +" Terima %{src?%{dest?forward:input}:" +"output}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:93 +msgid "Prevent source rewrite" +msgstr " Cegah penulisan ulang sumber" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:85 +msgid "" +"Forward to %{dest}%{dest_ip? IP " +"%{dest_ip}}%{dest_port? port %{dest_port}}" +msgstr "" +"Teruskan ke %{dest}%{dest_ip? IP " +"%{dest_ip}}%{dest_port? port %{dest_port}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:115 +msgid "" +"Drop %{src?%{dest?forward:input}:output}" +msgstr "" +"Jatuhkan%{src?%{dest?forward:input}:output}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:133 +msgid "" +"Assign DSCP classification %{set_dscp}" +"" +msgstr "" +"Tetapkan klasifikasi DSCP %{set_dscp}" +"" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:127 +msgid "" +"Assign conntrack helper " +"%{set_helper}" +msgstr "" +"Tetapkan conntrack helper " +"%{set_helper}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:130 +msgid "" +"%{set_mark?Assign:XOR} firewall mark " +"%{set_mark?:%{set_xmark}}" +msgstr "" +"%{set_mark?Tetapkan:XOR} tanda firewall " +"%{set_mark?:%{set_xmark}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:90 +msgid "Automatically rewrite source IP" +msgstr "" +"Menulis ulang IP sumber secara otomatis" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:124 +msgid "" +"Do not track %{src?%{dest?forward:input}:" +"output}" +msgstr "" +"Jangan lacak %{src?%{dest?forward:input}:" +"output}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:121 +msgid "" +"Reject %{src?%{dest?forward:input}:output}" +msgstr "" +"Tolak %{src?%{dest?forward:input}:output}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:87 +#, fuzzy +msgid "" +"Statically rewrite to source %{snat_ip?IP " +"%{snat_ip}} %{snat_port?port %{snat_port}}" +msgstr "" +"Tulis secara statis ke sumber %{snat_ip?IP " +"%{snat_ip}} %{snat_port?port %{snat_port}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:306 +msgid "A rewrite IP must be specified!" +msgstr "IP penulisan ulang harus ditentukan!" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:292 +msgid "ACCEPT - Disable address rewriting" +msgstr "ACCEPT - Nonaktifkan penulisan ulang alamat" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:224 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:225 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:411 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:204 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:287 +msgid "Action" +msgstr "Aksi" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:322 +msgid "" +"Additional raw iptables arguments to classify zone destination " +"traffic, e.g. -p tcp --dport 443 to only match outbound HTTPS " +"traffic." +msgstr "" +"Argumen iptables mentah tambahan untuk mengklasifikasikan lalu " +"lintas tujuan zona, misalnya -p tcp --dport 443 agar hanya " +"cocok dengan lalu lintas HTTPS keluar." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:312 +msgid "" +"Additional raw iptables arguments to classify zone source traffic, " +"e.g. -p tcp --sport 443 to only match inbound HTTPS traffic." +msgstr "" +"Argumen mentah iptables tambahan untuk mengklasifikasikan lalu " +"lintas sumber zona, mis. -p tcp --sport 443 agar hanya " +"mencocokkan lalu lintas HTTPS masuk." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:107 +msgid "Address family, Internal IP address must match" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:135 +msgid "" +"Address family, source address, destination address, rewrite IP address must " +"match" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:162 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:183 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:182 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:114 +msgid "Advanced Settings" +msgstr "Setelan Lanjutan" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:283 +msgid "Allow \"invalid\" traffic" +msgstr "Izinkan lalu lintas \"tidak valid\"" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:385 +msgid "Allow forward from source zones:" +msgstr "Izinkan forward dari zona sumber :" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:344 +msgid "Allow forward to destination zones:" +msgstr "Izinkan forward ke zona tujuan :" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:551 +msgid "Any" +msgstr "Apapun" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:479 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:495 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:352 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:368 +msgid "Any day" +msgstr "Setiap hari" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:317 +msgid "" +"Apply a bitwise XOR of the given value and the existing mark value on " +"established connections. Format is value[/mask]. If a mask is specified then " +"those bits set in the mask are zeroed out." +msgstr "" +"Terapkan XOR bitwise dari nilai yang diberikan dan nilai tanda yang ada pada " +"koneksi yang dibuat. Formatnya adalah nilai[/mask]. Jika mask ditentukan " +"maka bit-bit yang diatur dalam mask tersebut dinolkan." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:264 +msgid "Apply the given DSCP class or value to established connections." +msgstr "Terapkan kelas atau nilai DSCP yang diberikan ke koneksi yang dibuat." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:439 +msgid "Assign the specified connection tracking helper to matched traffic." +msgstr "" +"Tetapkan pembantu pelacakan koneksi yang ditentukan ke lalu lintas yang " +"cocok." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:286 +msgid "Automatic helper assignment" +msgstr "Penetapan pembantu otomatis" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:286 +msgid "" +"Automatically assign conntrack helpers based on traffic protocol and port" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:61 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:62 +msgid "Comment" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:115 +msgid "Conntrack Settings" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:290 +msgid "Conntrack helpers" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/custom.js:16 +msgid "Contents have been saved." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:700 +msgid "Continue" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:204 +msgid "Counters" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:231 +msgid "Covered devices" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:183 +msgid "Covered networks" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:236 +msgid "Covered subnets" +msgstr "" + +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:62 +msgid "Custom Rules" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/custom.js:26 +msgid "" +"Custom rules allow you to execute arbitrary iptables commands which are not " +"otherwise covered by the firewall framework. The commands are executed after " +"each firewall restart, right after the default ruleset has been loaded." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:421 +msgid "DSCP classification" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:263 +msgid "DSCP mark" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:297 +msgid "DSCP mark required" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:402 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:270 +msgid "Destination address" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:404 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:278 +msgid "Destination port" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:396 +msgid "Destination zone" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:269 +msgid "Device name" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:283 +msgid "" +"Do not install extra rules to reject forwarded traffic with conntrack state " +"invalid. This may be required for complex asymmetric route setups." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:59 +msgid "Drop invalid packets" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:232 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:231 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:210 +msgid "Enable" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:306 +msgid "Enable NAT Loopback" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:45 +msgid "Enable SYN-flood protection" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:296 +msgid "Enable logging on this zone" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:168 +msgid "" +"Enable network address and port translation IPv4 (NAT4 or NAPT4) for " +"outbound traffic on this zone. This is typically enabled on the wan " +"zone." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:243 +msgid "" +"Enable network address and port translation IPv6 (NAT6 or NAPT6) for " +"outbound traffic on this zone." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:211 +msgid "Enabled" +msgstr "Diaktifkan" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:205 +msgid "Enables packet and byte count tracking for the set." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:339 +msgid "Expecting: %s" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:290 +msgid "Explicitly choses allowed connection tracking helpers for zone traffic" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:274 +msgid "External IP address" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:279 +msgid "External port" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:349 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:470 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:342 +msgid "Extra arguments" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:322 +msgid "Extra destination arguments" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:116 +msgid "Extra iptables arguments" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:312 +msgid "Extra source arguments" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:67 +msgid "Family" +msgstr "" + +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:3 +msgid "Firewall" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/custom.js:25 +msgid "Firewall - Custom Rules" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:20 +msgid "Firewall - IP sets" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:172 +msgid "Firewall - NAT Rules" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:152 +msgid "Firewall - Port Forwards" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:173 +msgid "Firewall - Traffic Rules" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:38 +msgid "Firewall - Zone Settings" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:693 +msgid "Firewall configuration migration" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:82 +msgid "Flow offloading type" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:64 +msgid "Forward" +msgstr "meneruskan" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:34 +msgid "" +"Forwarded %{ipv6?%{ipv4?IPv4 and IPv6:IPv6}:" +"IPv4}%{proto?, protocol %{proto#%{next?, }%{item.name}}}%{mark?, mark %{mark.val}" +"}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:485 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:358 +msgid "Friday" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:45 +msgid "" +"From %{src}%{src_device?, interface %{src_device}}%{src_ip?, IP " +"%{src_ip#%{next?, }%{item.ival}}}%{src_port?, port %{src_port#%{next?, }" +"%{item." +"ival}}}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:64 +msgid "" +"From %{src}%{src_device?, interface %{src_device}}%{src_ip?, IP " +"%{src_ip#%{next?, }%{item.ival}}}%{src_port?, port %{src_port#%{next?, }" +"%{item." +"ival}}}%{src_mac?, MAC %{src_mac#%{next?, }%{item.ival}" +"}}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:52 +msgid "" +"From %{src}%{src_ip?, IP %{src_ip#%{next?, }%{item.ival}}}%{src_port?, port %{src_port#%{next?, }%{item.ival}}}%{src_mac?, " +"MAC %{src_mac#%{next?, }%{item.ival}}}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:161 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:182 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:181 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:41 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:113 +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:17 +msgid "General Settings" +msgstr "Setelan Umum" + +#: applications/luci-app-firewall/root/usr/share/rpcd/acl.d/luci-app-firewall.json:3 +msgid "Grant access to firewall configuration" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:85 +msgid "Hardware based offloading for routing with/without NAT." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:85 +msgid "Hardware flow offloading" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:144 +msgid "IP (range)" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:32 +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:53 +msgid "IP Sets" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:152 +msgid "IPs/Networks" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:107 +msgid "IPs/Networks/MACs" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:68 +msgid "IPv4" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:191 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:280 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:219 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:256 +msgid "IPv4 and IPv6" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:192 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:281 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:220 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:257 +msgid "IPv4 only" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:69 +msgid "IPv6" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:242 +msgid "IPv6 Masquerading" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:193 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:282 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:221 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:258 +msgid "IPv6 only" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:252 +msgid "Inbound device" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:187 +msgid "Include File" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:40 +msgid "" +"Incoming %{ipv6?%{ipv4?IPv4 and IPv6:IPv6}:" +"IPv4}%{proto?, protocol %{proto#%{next?, }%{item.types?%{item.name}ICMP " +"with types %{item.types#%{next?, }%{item}}:" +"%{item.name}}}}%{mark?, mark %{mark.val}}%{helper?, helper %{helper.inv?%{helper.val}:%{helper.val}}}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:180 +msgid "Initial Hash Size" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:62 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:151 +msgid "Input" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:292 +msgid "Internal IP address" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:297 +msgid "Internal port" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:287 +msgid "Internal zone" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:153 +msgid "Intra zone forward" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:305 +msgid "Invalid DSCP mark" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:373 +msgid "Invalid limit value" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:47 +msgid "Invalid set name" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:383 +msgid "Limit burst" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:299 +msgid "Limit log messages" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:349 +msgid "Limit matching" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:79 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:96 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:74 +msgid "" +"Limit matching to %{limit.num} packets per %{limit.unit}%{limit.burst? burst %{limit.burst}}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:175 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:250 +msgid "Limited masquerading enabled" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:350 +msgid "Limits traffic matching to the specified rate." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:311 +msgid "Loopback source IP" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:291 +msgid "MASQUERADE - Automatically rewrite to outbound interface IP" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:180 +msgid "MSS clamping" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:167 +msgid "Masquerading" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:213 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:214 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:193 +msgid "Match" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:263 +msgid "Match DSCP" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:293 +msgid "Match ICMP type" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:249 +msgid "Match device" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:271 +msgid "Match forwarded traffic directed at the given IP address." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:279 +msgid "" +"Match forwarded traffic directed at the given destination port or port range." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:254 +msgid "Match forwarded traffic from this IP or range." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:262 +msgid "" +"Match forwarded traffic originating from the given source port or port range." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:326 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:446 +msgid "Match helper" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:280 +msgid "" +"Match incoming traffic directed at the given destination port or port range " +"on this host" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:316 +msgid "Match mark" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:326 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:446 +msgid "Match traffic using the specified connection tracking helper." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:319 +msgid "Matches a specific firewall mark or a range of different marks." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:332 +msgid "Matches forwarded traffic using the specified outbound network device." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:264 +msgid "Matches traffic carrying the specified DSCP marking." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:113 +msgid "Max Entries" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:172 +msgid "Max Length" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:384 +msgid "" +"Maximum initial number of packets to match: this number gets recharged by " +"one every time the limit specified above is not reached, up to this number." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:481 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:354 +msgid "Monday" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:491 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:364 +msgid "Month Days" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:175 +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:44 +msgid "NAT Rules" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:173 +msgid "" +"NAT rules allow fine grained control over the source IP to use for outbound " +"or forwarded traffic." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:183 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:42 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:52 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:210 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:189 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:129 +msgid "Name" +msgstr "Nama" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:166 +msgid "Netmask" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:83 +msgid "None" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:77 +msgid "Not fully compatible with QoS/SQM." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:275 +msgid "Only match incoming traffic directed at the given IP address." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:256 +msgid "Only match incoming traffic from these MACs." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:261 +msgid "Only match incoming traffic from this IP or range." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:266 +msgid "" +"Only match incoming traffic originating from the given source port or port " +"range on the client host" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:253 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:331 +msgid "Outbound device" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:246 +msgid "Outbound zone" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:63 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:152 +msgid "Output" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:75 +msgid "Packet Field Match" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:76 +msgid "" +"Packet fields to match upon.
Syntax: direction_datatype. e.g.: " +"src_port, dest_net.
Directions: src, dst. " +"Datatypes: ip, port, mac, net, set.
Direction prefixes are " +"optional.
*Note: datatype set is unsupported in fw4." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:350 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:471 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:343 +msgid "Passes additional arguments to iptables. Use with care!" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:309 +msgid "" +"Passing raw iptables arguments to source and destination traffic " +"classification rules allows to match packets based on other criteria than " +"interfaces or subnets. These options should be used with extreme care as " +"invalid values could render the firewall ruleset broken, completely exposing " +"all services." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:188 +msgid "Path to file of CIDRs, subnets, host IPs, etc.
" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:155 +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:26 +msgid "Port Forwards" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:153 +msgid "" +"Port forwarding allows remote computers on the Internet to connect to a " +"specific computer or service within the private LAN." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:158 +msgid "Port range" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:237 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:289 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:242 +msgid "Protocol" +msgstr "Protokol" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:298 +msgid "" +"Redirect matched incoming traffic to the given port on the internal host" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:293 +msgid "Redirect matched incoming traffic to the specified internal host" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:122 +msgid "Refer To External Set" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:320 +msgid "Reflection zones" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:85 +msgid "Requires hardware NAT support." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:272 +msgid "Restrict Masquerading to given destination subnets" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:261 +msgid "Restrict Masquerading to given source subnets" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:188 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:277 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:216 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:255 +msgid "Restrict to address family" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:297 +msgid "Rewrite IP address" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:298 +msgid "Rewrite matched traffic to the specified source IP address." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:312 +msgid "Rewrite matched traffic to the specified source port or port range." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:311 +msgid "Rewrite port" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:76 +msgid "Routing/NAT Offloading" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:290 +msgid "SNAT - Rewrite to specific source IP or port" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:486 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:359 +msgid "Saturday" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:316 +msgid "Set mark" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:318 +msgid "" +"Set the given mark value on established connections. Format is value[/mask]. " +"If a mask is specified then only those bits set in the mask are modified." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:84 +msgid "Software based offloading for routing/NAT." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:84 +msgid "Software flow offloading" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:260 +msgid "Source IP address" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:255 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:386 +msgid "Source MAC address" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:387 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:253 +msgid "Source address" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:265 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:389 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:261 +msgid "Source port" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:241 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:372 +msgid "Source zone" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:270 +msgid "" +"Specifies whether to tie this traffic rule to a specific inbound or outbound " +"network device." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:311 +msgid "" +"Specifies whether to use the external or the internal IP address for " +"reflected traffic." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:510 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:383 +msgid "Start Date (yyyy-mm-dd)" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:502 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:375 +msgid "Start Time (hh:mm:ss)" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:514 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:387 +msgid "Stop Date (yyyy-mm-dd)" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:506 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:379 +msgid "Stop Time (hh:mm:ss)" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:130 +msgid "Storage Method" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:480 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:353 +msgid "Sunday" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:694 +msgid "" +"The existing firewall configuration needs to be changed for LuCI to function " +"properly." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:39 +msgid "" +"The firewall creates zones over your network interfaces to control network " +"traffic flow." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:227 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:340 +msgid "" +"The options below control the forwarding policies between this zone (%s) and " +"other zones. Destination zones cover forwarded traffic " +"originating from %q. Source zones match forwarded " +"traffic from other zones targeted at %q. The forwarding " +"rule is unidirectional, e.g. a forward from lan to wan does " +"not imply a permission to forward from wan to lan as well." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:125 +msgid "" +"This section defines common properties of %q. The input and " +"output options set the default policies for traffic entering and " +"leaving this zone while the forward option describes the policy for " +"forwarded traffic between different networks within the zone. Covered " +"networks specifies which available networks are members of this zone." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:484 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:357 +msgid "Thursday" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:184 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:183 +msgid "Time Restrictions" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:518 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:391 +msgid "Time in UTC" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:244 +msgid "Time restrictions are enabled for this rule" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:196 +msgid "Timeout" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:77 +msgid "" +"To %{dest}%{dest_device?, interface %{dest_device}}%{dest_ip?, IP " +"%{dest_ip#%{next?, }%{item.ival}
}}%{dest_port?, port %{dest_port#%{next?, }" +"%{item." +"ival}}}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:55 +msgid "" +"To %{dest}%{dest_device?, via interface %{dest_device}}%{dest_ip?, IP %{dest_ip#%{next?, }%{item.ival}}}%{dest_port?, port " +"%{dest_port#%{next?, }%{item.ival}}}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:61 +msgid "" +"To %{dest}%{dest_ip?, IP %{dest_ip#%{next?, }%{item.ival}}}%{dest_port?, port %{dest_port#%{next?, }%{item.ival}}}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:439 +msgid "Tracking helper" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:176 +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:35 +msgid "Traffic Rules" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:174 +msgid "" +"Traffic rules define policies for packets travelling between different " +"zones, for example to reject traffic between certain hosts or to open WAN " +"ports on the router." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:482 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:355 +msgid "Tuesday" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/custom.js:19 +msgid "Unable to save contents: %s" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:197 +msgid "" +"Unit: seconds. Default 0 means the entry is added permanently " +"to the set.
Max: 2147483 seconds." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:341 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:461 +msgid "Unknown or not installed conntrack helper \"%s\"" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:186 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:190 +msgid "Unnamed NAT" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:169 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:184 +msgid "Unnamed forward" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:191 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:211 +msgid "Unnamed rule" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:57 +msgid "Unnamed set" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:130 +msgid "Unnamed zone" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:597 +msgid "Unrecognized protocol" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:695 +msgid "" +"Upon pressing \"Continue\", \"redirect\" sections with target \"SNAT\" will " +"be converted to \"nat\" sections and the firewall will be restarted to apply " +"the updated configuration." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:315 +msgid "Use external IP address" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:314 +msgid "Use internal IP address" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:247 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:378 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:322 +msgid "Use ipset" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:231 +msgid "" +"Use this option to classify zone traffic by raw, non-uci managed " +"network devices." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:236 +msgid "" +"Use this option to classify zone traffic by source or destination subnet " +"instead of networks or devices." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:331 +msgid "Valid firewall mark required" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:483 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:356 +msgid "Wednesday" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:475 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:348 +msgid "Week Days" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:420 +msgid "XOR firewall mark" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:316 +msgid "XOR mark" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:28 +msgid "Your device does not run firewall4." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:26 +msgid "Your device runs firewall4." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:143 +msgid "Zone ⇒ Forwardings" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:101 +msgid "Zones" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:320 +msgid "" +"Zones from which reflection rules shall be created. If unset, only the " +"destination zone is used." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:415 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:70 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:159 +msgid "accept" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:268 +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:463 +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:486 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:270 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:301 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:328 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:392 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:407 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:441 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:448 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:266 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:282 +msgid "any" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:53 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:86 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:65 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:78 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:46 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:56 +msgid "any zone" +msgstr "zona apapun" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:298 +msgid "any/all" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:419 +msgid "apply firewall mark" +msgstr "terapkan tanda firewall" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:418 +msgid "assign conntrack helper" +msgstr "tetapkan conntrack helper" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:194 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:222 +msgid "automatic" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:131 +msgid "bitmap" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:137 +msgid "bitmap is ipv4 only" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:72 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:89 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:67 +msgid "day" +msgstr "hari" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:93 +msgid "dest_ip: Destination IP" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:95 +msgid "dest_mac: Destination MAC addr" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:96 +msgid "dest_net: Destination (sub)net" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:94 +msgid "dest_port: Destination Port" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:98 +msgid "dest_set: Destination ipset*" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:315 +msgid "do not rewrite" +msgstr "jangan menulis ulang" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:417 +msgid "don't track" +msgstr "jangan lacak" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:414 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:69 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:158 +msgid "drop" +msgstr "buang" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:21 +msgid "" +"firewall4 supports referencing and creating IP sets to simplify matching of " +"large address lists without the need to create one rule per item to match. " +"Port ranges in ipsets are unsupported by firewall4.
" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:159 +msgid "fromport-toport" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:132 +msgid "hash" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:72 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:89 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:67 +msgid "hour" +msgstr "jam" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:81 +msgid "ip: IP addr" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:153 +msgid "ip[/cidr]
" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:145 +msgid "ip[/cidr]
For use with Match datatypes: *_ip." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:70 +msgid "ipv4" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:133 +msgid "list" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:83 +msgid "mac: MAC addr" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:108 +msgid "macaddr|ip[/cidr]
" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:72 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:89 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:67 +msgid "minute" +msgstr "menit" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:84 +msgid "net: (sub)net" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:82 +msgid "port: Port" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:416 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:68 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:157 +msgid "reject" +msgstr "tolak" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:72 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:89 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:67 +msgid "second" +msgstr "detik" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:86 +msgid "set: ipset*" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:92 +msgid "src_Set: Source ipset*" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:87 +msgid "src_ip: Source IP" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:89 +msgid "src_mac: Source MAC addr" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:90 +msgid "src_net: Source (sub)net" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:88 +msgid "src_port: Source Port" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:53 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:62 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:86 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:65 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:78 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:56 +msgid "this device" +msgstr "peranti ini" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:124 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:226 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:339 +msgid "this new zone" +msgstr "zona baru ini" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:354 +msgid "unlimited" +msgstr "tak terbatas" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:251 +msgid "unspecified" +msgstr "tidak ditentukan" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:114 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:173 +msgid "up to 65536 entries." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:339 +msgid "valid firewall mark" +msgstr "tanda firewall valid" diff --git a/luci-app-firewall/po/it/firewall.po b/luci-app-firewall/po/it/firewall.po new file mode 100644 index 000000000..dbc799dd8 --- /dev/null +++ b/luci-app-firewall/po/it/firewall.po @@ -0,0 +1,1632 @@ +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2010-03-30 17:00+0200\n" +"PO-Revision-Date: 2024-07-13 20:44+0000\n" +"Last-Translator: Random \n" +"Language-Team: Italian \n" +"Language: it\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Generator: Weblate 5.7-dev\n" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:48 +msgid "" +"%{src?%{dest?Forwarded:Incoming}:Outgoing} %{ipv6?%{ipv4?IPv4 and " +"IPv6:IPv6}:IPv4}%{proto?, protocol " +"%{proto#%{next?, }%{item.types?%{item." +"name}ICMP with types %{item.types#%{next?, }" +"%{item}}:%{item.name}}}}%{mark?, mark " +"%{mark.val}}%{dscp?, DSCP %{dscp." +"inv?%{dscp.val}:%{dscp.val}}}%{helper?, helper " +"%{helper.inv?%{helper.val}:%{helper." +"val}}}" +msgstr "" +"%{src?%{dest?Forwarded:Incoming}:Outgoing} %{ipv6?%{ipv4?IPv4 e " +"IPv6:IPv6}:IPv4}%{proto?, protocollo " +"%{proto#%{next?, }%{item.types?%{item." +"name}ICMP con tipi %{item.types#%{next?, }" +"%{item}}:%{item.name}}}}%{mark?, mark " +"%{mark.val}}%{dscp?, DSCP %{dscp.inv?%{dscp.val}:%{dscp.val}}}%{helper?, assistente %{helper.inv?%{helper.val}:%{helper.val}}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:463 +msgid "-- add IP --" +msgstr "-- aggiungi IP --" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:521 +msgid "-- add MAC --" +msgstr "-- aggiungi MAC --" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:199 +msgid "0" +msgstr "0" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:182 +msgid "1024" +msgstr "1024" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:118 +msgid "" +"Accept %{src?%{dest?forward:input}:output}" +msgstr "" +"Accetta %{src?%{dest?forward:input}:" +"output}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:93 +msgid "Prevent source rewrite" +msgstr "" +"Previeni la riscrittura dell'origine" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:85 +msgid "" +"Forward to %{dest}%{dest_ip? IP " +"%{dest_ip}}%{dest_port? port %{dest_port}}" +msgstr "" +"Inoltra a %{dest}%{dest_ip? IP " +"%{dest_ip}}%{dest_port? porta %{dest_port}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:115 +msgid "" +"Drop %{src?%{dest?forward:input}:output}" +msgstr "" +"Scarta (drop)%{src?%{dest?forward:input}:" +"output}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:133 +msgid "" +"Assign DSCP classification %{set_dscp}" +"" +msgstr "" +"Assegna classificazione DSCP " +"%{set_dscp}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:127 +msgid "" +"Assign conntrack helper " +"%{set_helper}" +msgstr "" +"Assegna assistente conntrack " +"%{set_helper}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:130 +msgid "" +"%{set_mark?Assign:XOR} firewall mark " +"%{set_mark?:%{set_xmark}}" +msgstr "" +"Contrassegno firewall %{set_mark?Assign:XOR} %{set_mark?:%{set_xmark}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:90 +msgid "Automatically rewrite source IP" +msgstr "" +"Riscrivi automaticamente l'IP di " +"origine" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:124 +msgid "" +"Do not track %{src?%{dest?forward:input}:" +"output}" +msgstr "" +"Non rintracciare %{src?%{dest?forward:" +"input}:output}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:121 +msgid "" +"Reject %{src?%{dest?forward:input}:output}" +msgstr "" +"Rifiuta (reject) %{src?%{dest?forward:" +"input}:output}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:87 +msgid "" +"Statically rewrite to source %{snat_ip?IP " +"%{snat_ip}} %{snat_port?port %{snat_port}}" +msgstr "" +"Riscrivi staticamente verso l'origine " +"%{snat_ip?IP %{snat_ip}} %{snat_port?porta %{snat_port}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:306 +msgid "A rewrite IP must be specified!" +msgstr "È necessario specificare un IP di riscrittura!" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:292 +msgid "ACCEPT - Disable address rewriting" +msgstr "ACCETTA - Disattiva riscrittura degli indirizzi" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:224 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:225 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:411 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:204 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:287 +msgid "Action" +msgstr "Azione" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:322 +msgid "" +"Additional raw iptables arguments to classify zone destination " +"traffic, e.g. -p tcp --dport 443 to only match outbound HTTPS " +"traffic." +msgstr "" +"Ulteriori argomenti grezzi di iptables per classificare il traffico " +"di destinazione della zona, ad es. -p tcp --dport 443 per il " +"solo traffico HTTPS in uscita." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:312 +msgid "" +"Additional raw iptables arguments to classify zone source traffic, " +"e.g. -p tcp --sport 443 to only match inbound HTTPS traffic." +msgstr "" +"Ulteriori argomenti grezzi di iptables per classificare il traffico " +"di origine della zona, ad es. -p tcp --sport 443 per il solo " +"traffico HTTPS in ingresso." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:107 +msgid "Address family, Internal IP address must match" +msgstr "La famiglia di indirizzi e l'indirizzo IP interno devono corrispondere" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:135 +msgid "" +"Address family, source address, destination address, rewrite IP address must " +"match" +msgstr "" +"La famiglia di indirizzi, l'indirizzo di origine, l'indirizzo di " +"destinazione e l'indirizzo IP di riscrittura devono corrispondere" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:162 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:183 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:182 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:114 +msgid "Advanced Settings" +msgstr "Impostazioni avanzate" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:283 +msgid "Allow \"invalid\" traffic" +msgstr "Consenti traffico \"non valido\"" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:385 +msgid "Allow forward from source zones:" +msgstr "Consenti l'inoltro da zone di origine:" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:344 +msgid "Allow forward to destination zones:" +msgstr "Consenti l'inoltro a zone di destinazione:" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:551 +msgid "Any" +msgstr "Qualsiasi" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:479 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:495 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:352 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:368 +msgid "Any day" +msgstr "Qualsiasi giorno" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:317 +msgid "" +"Apply a bitwise XOR of the given value and the existing mark value on " +"established connections. Format is value[/mask]. If a mask is specified then " +"those bits set in the mask are zeroed out." +msgstr "" +"Applica uno XOR bit a bit del valore dato e il valore contrassegno esistente " +"sulle connessioni stabilite. Il formato è valore[/maschera]. Se una maschera " +"è specificata allora quei bit impostati nella maschera sono azzerati." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:264 +msgid "Apply the given DSCP class or value to established connections." +msgstr "Applica la classe o il valore DSCP dato per le connessioni stabilite." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:439 +msgid "Assign the specified connection tracking helper to matched traffic." +msgstr "" +"Assegna l'assistente di tracciamento di connessione specificato al traffico " +"corrispondente." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:286 +msgid "Automatic helper assignment" +msgstr "Assegnazione automatica dell'assistente" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:286 +msgid "" +"Automatically assign conntrack helpers based on traffic protocol and port" +msgstr "" +"Assegna automaticamente gli assistenti conntrack in base al protocollo e " +"alla porta di traffico" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:61 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:62 +msgid "Comment" +msgstr "Commento" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:115 +msgid "Conntrack Settings" +msgstr "Impostazioni di conntrack" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:290 +msgid "Conntrack helpers" +msgstr "Assistenti di conntrack" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/custom.js:16 +msgid "Contents have been saved." +msgstr "I contenuti sono stati salvati." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:700 +msgid "Continue" +msgstr "Continua" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:204 +msgid "Counters" +msgstr "Contatori" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:231 +msgid "Covered devices" +msgstr "Dispositivi coperti" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:183 +msgid "Covered networks" +msgstr "Reti coperte" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:236 +msgid "Covered subnets" +msgstr "Sottoreti coperte" + +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:62 +msgid "Custom Rules" +msgstr "Regole personalizzate" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/custom.js:26 +msgid "" +"Custom rules allow you to execute arbitrary iptables commands which are not " +"otherwise covered by the firewall framework. The commands are executed after " +"each firewall restart, right after the default ruleset has been loaded." +msgstr "" +"Le regole personalizzate ti permettorno di eseguire comandi iptables " +"arbitrari che non sono altrimenti coperti dall'applicazione firewall. I " +"comandi sono eseguiti dopo ogni riavvio del firewall, giusto dopo le altre " +"regole che sono state caricate." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:421 +msgid "DSCP classification" +msgstr "Classificazione DSCP" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:263 +msgid "DSCP mark" +msgstr "Contrassegno DSCP" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:297 +msgid "DSCP mark required" +msgstr "Contrassegno DSCP richiesto" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:402 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:270 +msgid "Destination address" +msgstr "Indirizzo di destinazione" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:404 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:278 +msgid "Destination port" +msgstr "Porta di destinazione" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:396 +msgid "Destination zone" +msgstr "Zona di destinazione" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:269 +msgid "Device name" +msgstr "Nome dispositivo" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:283 +msgid "" +"Do not install extra rules to reject forwarded traffic with conntrack state " +"invalid. This may be required for complex asymmetric route setups." +msgstr "" +"Non installare regole extra per rifiutare il traffico inoltrato con lo stato " +"conntrack non valido. Può essere necessario per configurazioni di " +"instradamenti asimmetrici complesse." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:59 +msgid "Drop invalid packets" +msgstr "Scarta (drop) pacchetti non validi" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:232 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:231 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:210 +msgid "Enable" +msgstr "Abilitare" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:306 +msgid "Enable NAT Loopback" +msgstr "Attiva loopback NAT" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:45 +msgid "Enable SYN-flood protection" +msgstr "Attiva protezione SYN-flood" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:296 +msgid "Enable logging on this zone" +msgstr "Attiva registro su questa zona" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:168 +msgid "" +"Enable network address and port translation IPv4 (NAT4 or NAPT4) for " +"outbound traffic on this zone. This is typically enabled on the wan " +"zone." +msgstr "" +"Attiva la traduzione di indirizzo di rete e porta IPv4 (NAT4 o NAPT4) per il " +"traffico in uscita su questa zona. È tipicamente attivata nella zona " +"wan." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:243 +msgid "" +"Enable network address and port translation IPv6 (NAT6 or NAPT6) for " +"outbound traffic on this zone." +msgstr "" +"Attiva la traduzione di indirizzo di rete e porta IPv6 (NAT6 o NAPT6) per il " +"traffico in uscita su questa zona." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:211 +msgid "Enabled" +msgstr "Abilita" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:205 +msgid "Enables packet and byte count tracking for the set." +msgstr "Attiva il monitoraggio del conto di pacchetti e byte per il set." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:339 +msgid "Expecting: %s" +msgstr "Previsto: %s" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:290 +msgid "Explicitly choses allowed connection tracking helpers for zone traffic" +msgstr "" +"Sceglie esplicitamente gli assistenti autorizzati del monitoraggio delle " +"connessioni per il traffico della zona" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:274 +msgid "External IP address" +msgstr "Indirizzo IP esterno" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:279 +msgid "External port" +msgstr "Porta esterna" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:349 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:470 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:342 +msgid "Extra arguments" +msgstr "Argomenti extra" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:322 +msgid "Extra destination arguments" +msgstr "Argomenti di destinazione extra" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:116 +msgid "Extra iptables arguments" +msgstr "Argomenti di iptables extra" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:312 +msgid "Extra source arguments" +msgstr "Argomenti di origine extra" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:67 +msgid "Family" +msgstr "Famiglia" + +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:3 +msgid "Firewall" +msgstr "Firewall" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/custom.js:25 +msgid "Firewall - Custom Rules" +msgstr "Firewall - Regole personalizzate" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:20 +msgid "Firewall - IP sets" +msgstr "Firewall - Set di IP" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:172 +msgid "Firewall - NAT Rules" +msgstr "Firewall - Regole NAT" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:152 +msgid "Firewall - Port Forwards" +msgstr "Firewall - Inoltro porte" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:173 +msgid "Firewall - Traffic Rules" +msgstr "Firewall - Regole di traffico" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:38 +msgid "Firewall - Zone Settings" +msgstr "Firewall - Impostazioni zona" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:693 +msgid "Firewall configuration migration" +msgstr "Migrazione configurazione del firewall" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:82 +msgid "Flow offloading type" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:64 +msgid "Forward" +msgstr "Inoltra" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:34 +msgid "" +"Forwarded %{ipv6?%{ipv4?IPv4 and IPv6:IPv6}:" +"IPv4}%{proto?, protocol %{proto#%{next?, }%{item.name}}}%{mark?, mark %{mark.val}" +"}" +msgstr "" +"Inoltrato %{ipv6?%{ipv4?IPv4 e IPv6:IPv6}:" +"IPv4}%{proto?, protocollo %{proto#%{next?, }%{item.name}}}%{mark?, contrassegno %{mark.val}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:485 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:358 +msgid "Friday" +msgstr "Venerdì" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:45 +msgid "" +"From %{src}%{src_device?, interface %{src_device}}%{src_ip?, IP " +"%{src_ip#%{next?, }%{item.ival}}}%{src_port?, port %{src_port#%{next?, }" +"%{item." +"ival}}}" +msgstr "" +"Da %{src}%{src_device?, interfaccia %{src_device}}%{src_ip?, IP " +"%{src_ip#%{next?, }%{item.ival}}}%{src_port?, porta " +"%{src_port#%{next?, }%{item.ival}}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:64 +msgid "" +"From %{src}%{src_device?, interface %{src_device}}%{src_ip?, IP " +"%{src_ip#%{next?, }%{item.ival}}}%{src_port?, port %{src_port#%{next?, }" +"%{item." +"ival}}}%{src_mac?, MAC %{src_mac#%{next?, }%{item.ival}" +"}}" +msgstr "" +"Da %{src}%{src_device?, interfaccia %{src_device}}%{src_ip?, IP " +"%{src_ip#%{next?, }%{item.ival}}}%{src_port?, porta " +"%{src_port#%{next?, }%{item.ival}}}%{src_mac?, MAC " +"%{src_mac#%{next?, }%{item.ival}}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:52 +msgid "" +"From %{src}%{src_ip?, IP %{src_ip#%{next?, }%{item.ival}}}%{src_port?, port %{src_port#%{next?, }%{item.ival}}}%{src_mac?, " +"MAC %{src_mac#%{next?, }%{item.ival}}}" +msgstr "" +"Da %{src}%{src_ip?, IP %{src_ip#%{next?, }%{item.ival}}}%{src_port?, porta %{src_port#%{next?, }%{item.ival}}}%{src_mac?, MAC %{src_mac#%{next?, }%{item." +"ival}}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:161 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:182 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:181 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:41 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:113 +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:17 +msgid "General Settings" +msgstr "Impostazioni Generali" + +#: applications/luci-app-firewall/root/usr/share/rpcd/acl.d/luci-app-firewall.json:3 +msgid "Grant access to firewall configuration" +msgstr "Concedi l'accesso alla configurazione del firewall" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:85 +msgid "Hardware based offloading for routing with/without NAT." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:85 +msgid "Hardware flow offloading" +msgstr "Scarico del flusso hardware" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:144 +msgid "IP (range)" +msgstr "IP (intervallo)" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:32 +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:53 +msgid "IP Sets" +msgstr "Set di IP" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:152 +msgid "IPs/Networks" +msgstr "IP/Reti" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:107 +msgid "IPs/Networks/MACs" +msgstr "IP/Reti/MAC" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:68 +msgid "IPv4" +msgstr "IPv4" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:191 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:280 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:219 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:256 +msgid "IPv4 and IPv6" +msgstr "IPv4 e IPv6" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:192 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:281 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:220 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:257 +msgid "IPv4 only" +msgstr "Solo IPv4" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:69 +msgid "IPv6" +msgstr "IPv6" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:242 +msgid "IPv6 Masquerading" +msgstr "Masquerading IPv6" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:193 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:282 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:221 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:258 +msgid "IPv6 only" +msgstr "Solo IPv6" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:252 +msgid "Inbound device" +msgstr "Dispositivo di ingresso" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:187 +msgid "Include File" +msgstr "Includi file" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:40 +msgid "" +"Incoming %{ipv6?%{ipv4?IPv4 and IPv6:IPv6}:" +"IPv4}%{proto?, protocol %{proto#%{next?, }%{item.types?%{item.name}ICMP " +"with types %{item.types#%{next?, }%{item}}:" +"%{item.name}}}}%{mark?, mark %{mark.val}}%{helper?, helper %{helper.inv?%{helper.val}:%{helper.val}}}" +msgstr "" +"In ingresso %{ipv6?%{ipv4?IPv4 e IPv6:IPv6}:" +"IPv4}%{proto?, protocollo %{proto#%{next?, }%{item.types?%{item.name}ICMP " +"con tipi %{item.types#%{next?, }%{item}}:%{item." +"name}}}}%{mark?, contrassegno %{mark.val}}%{helper?, " +"assistente %{helper.inv?%{helper.val}:%{helper.val}}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:180 +msgid "Initial Hash Size" +msgstr "Dimensione hash iniziale" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:62 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:151 +msgid "Input" +msgstr "In entrata" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:292 +msgid "Internal IP address" +msgstr "Indirizzo IP interno" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:297 +msgid "Internal port" +msgstr "Porta interna" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:287 +msgid "Internal zone" +msgstr "Zona interna" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:153 +msgid "Intra zone forward" +msgstr "Inoltro zona intra" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:305 +msgid "Invalid DSCP mark" +msgstr "Contrassegno DSCP non valido" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:373 +msgid "Invalid limit value" +msgstr "Valore di limite non valido" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:47 +msgid "Invalid set name" +msgstr "Nome set non valido" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:383 +msgid "Limit burst" +msgstr "Limite di raffica" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:299 +msgid "Limit log messages" +msgstr "Limita messaggi del registro" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:349 +msgid "Limit matching" +msgstr "Limita corrispondenza" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:79 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:96 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:74 +msgid "" +"Limit matching to %{limit.num} packets per %{limit.unit}%{limit.burst? burst %{limit.burst}}" +msgstr "" +"Limita la corrispondenza a %{limit.num} pacchetti per " +"%{limit.unit}%{limit.burst? burst %{limit.burst}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:175 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:250 +msgid "Limited masquerading enabled" +msgstr "Masquerading limitato attivato" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:350 +msgid "Limits traffic matching to the specified rate." +msgstr "Limita il traffico corrispondente alla velocità specificata." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:311 +msgid "Loopback source IP" +msgstr "IP di origine loopback" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:291 +msgid "MASQUERADE - Automatically rewrite to outbound interface IP" +msgstr "" +"MASQUERADE - Riscrivi automaticamente all'IP dell'interfaccia in uscita" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:180 +msgid "MSS clamping" +msgstr "Ancoraggio MSS" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:167 +msgid "Masquerading" +msgstr "Masquerading" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:213 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:214 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:193 +msgid "Match" +msgstr "Corrispondenza" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:263 +msgid "Match DSCP" +msgstr "Corrispondi DSCP" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:293 +msgid "Match ICMP type" +msgstr "Corrispondi tipo ICMP" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:249 +msgid "Match device" +msgstr "Corrispondi dispositivo" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:271 +msgid "Match forwarded traffic directed at the given IP address." +msgstr "Corrispondi il traffico inoltrato diretto all'indirizzo IP indicato." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:279 +msgid "" +"Match forwarded traffic directed at the given destination port or port range." +msgstr "" +"Corrispondi traffico inoltrato diretto alla porta o all'intervallo di porte " +"di destinazione." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:254 +msgid "Match forwarded traffic from this IP or range." +msgstr "Corrispondi il traffico inoltrato da questo IP o intervallo." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:262 +msgid "" +"Match forwarded traffic originating from the given source port or port range." +msgstr "" +"Corrispondi il traffico inoltrato derivante dalla porta o dall'intervallo di " +"porte di origine." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:326 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:446 +msgid "Match helper" +msgstr "Corrispondi assistente" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:280 +msgid "" +"Match incoming traffic directed at the given destination port or port range " +"on this host" +msgstr "" +"Corrispondi il traffico in ingresso diretto alla porta o all'intervallo di " +"porte su questo host" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:316 +msgid "Match mark" +msgstr "Corrispondi contrassegno" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:326 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:446 +msgid "Match traffic using the specified connection tracking helper." +msgstr "" +"Corrispondi il traffico usando l'assistente di monitoraggio della " +"connessione specificato." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:319 +msgid "Matches a specific firewall mark or a range of different marks." +msgstr "" +"Corrisponde un contrassegno specifico del firewall o un intervallo di " +"diversi contrassegni." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:332 +msgid "Matches forwarded traffic using the specified outbound network device." +msgstr "" +"Corrisponde il traffico inoltrato usando il dispositivo di rete in uscita " +"specificato." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:264 +msgid "Matches traffic carrying the specified DSCP marking." +msgstr "" +"Corrisponde il traffico che trasporta il contrassegno DSCP specificato." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:113 +msgid "Max Entries" +msgstr "Elementi massimi" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:172 +msgid "Max Length" +msgstr "Dimensione massima" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:384 +msgid "" +"Maximum initial number of packets to match: this number gets recharged by " +"one every time the limit specified above is not reached, up to this number." +msgstr "" +"Numero massimo iniziale di pacchetti da corrispondere: questo numero viene " +"ricaricato da uno ogni volta che il limite specificato sopra non è " +"raggiunto, fino a questo numero." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:481 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:354 +msgid "Monday" +msgstr "Lunedì" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:491 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:364 +msgid "Month Days" +msgstr "Giorni del mese" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:175 +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:44 +msgid "NAT Rules" +msgstr "Regole NAT" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:173 +msgid "" +"NAT rules allow fine grained control over the source IP to use for outbound " +"or forwarded traffic." +msgstr "" +"Le regole NAT consentono un controllo granulare sull'IP di origine da usare " +"per il traffico in uscita o inoltrato." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:183 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:42 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:52 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:210 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:189 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:129 +msgid "Name" +msgstr "Nome" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:166 +msgid "Netmask" +msgstr "Maschera di rete" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:83 +msgid "None" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:77 +msgid "Not fully compatible with QoS/SQM." +msgstr "" +"Non completamente compatibile con QoS/SQM." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:275 +msgid "Only match incoming traffic directed at the given IP address." +msgstr "Corrispondi solo traffico in entrata diretto al dato indirizzo IP." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:256 +msgid "Only match incoming traffic from these MACs." +msgstr "Corrispondi solo traffico in entrata da questi MAC." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:261 +msgid "Only match incoming traffic from this IP or range." +msgstr "Corrispondi solo traffico in entrata da questo IP o intervallo." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:266 +msgid "" +"Only match incoming traffic originating from the given source port or port " +"range on the client host" +msgstr "" +"Corrispondi solo traffico in entrata originato dalla porta o intervallo di " +"porte sorgenti su host cliente" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:253 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:331 +msgid "Outbound device" +msgstr "Dispositivo di uscita" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:246 +msgid "Outbound zone" +msgstr "Zona di uscita" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:63 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:152 +msgid "Output" +msgstr "In uscita" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:75 +msgid "Packet Field Match" +msgstr "Corrispondenza campo pacchetto" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:76 +msgid "" +"Packet fields to match upon.
Syntax: direction_datatype. e.g.: " +"src_port, dest_net.
Directions: src, dst. " +"Datatypes: ip, port, mac, net, set.
Direction prefixes are " +"optional.
*Note: datatype set is unsupported in fw4." +msgstr "" +"I campi dei pacchetti da corrispondere.
Sintassi: " +"direction_datatype. es.: src_port, dest_net.
Direzioni: src, dst. Tipi di dati: ip, port, mac, net, " +"set.
I prefissi di direzione sono facoltativi.
*Nota: il " +"tipo di dati set non è supportato in fw4." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:350 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:471 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:343 +msgid "Passes additional arguments to iptables. Use with care!" +msgstr "Passa comandi addizionali a iptables. Usare con cura!" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:309 +msgid "" +"Passing raw iptables arguments to source and destination traffic " +"classification rules allows to match packets based on other criteria than " +"interfaces or subnets. These options should be used with extreme care as " +"invalid values could render the firewall ruleset broken, completely exposing " +"all services." +msgstr "" +"Passare argomenti grezzi di iptables alle regole di classificazione del " +"traffico di origine e di destinazione, consente di corrispondere i pacchetti " +"in base ad altri criteri rispetto a interfacce o sottoreti. Queste opzioni " +"dovrebbero essere usate con estrema cura, in quanto valori non validi " +"possono invalidare le regole del firewall, esponendo completamente tutti i " +"servizi." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:188 +msgid "Path to file of CIDRs, subnets, host IPs, etc.
" +msgstr "Percorso al file dei CIDR, sottoreti, IP host, ecc.
" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:155 +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:26 +msgid "Port Forwards" +msgstr "Inoltro porte" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:153 +msgid "" +"Port forwarding allows remote computers on the Internet to connect to a " +"specific computer or service within the private LAN." +msgstr "" +"L'inoltro delle porte permette a computer remoti su Internet di connettersi " +"a uno specifico computer o servizio presente nella LAN privata." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:158 +msgid "Port range" +msgstr "Intervallo di porte" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:237 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:289 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:242 +msgid "Protocol" +msgstr "Protocollo" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:298 +msgid "" +"Redirect matched incoming traffic to the given port on the internal host" +msgstr "Reindirizza il traffico in entrata alla porta data su host interno" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:293 +msgid "Redirect matched incoming traffic to the specified internal host" +msgstr "Reindirizza il traffico in entrata allo specifico host interno" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:122 +msgid "Refer To External Set" +msgstr "Fare riferimento a set esterno" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:320 +msgid "Reflection zones" +msgstr "Zone riflettive" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:85 +msgid "Requires hardware NAT support." +msgstr "Richiede supporto NAT hardware." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:272 +msgid "Restrict Masquerading to given destination subnets" +msgstr "Limita il Masquerading alle subnet di destinazione date" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:261 +msgid "Restrict Masquerading to given source subnets" +msgstr "Limita il Masquerading alle subnet sorgente date" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:188 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:277 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:216 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:255 +msgid "Restrict to address family" +msgstr "Limita agli indirizzi famiglia" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:297 +msgid "Rewrite IP address" +msgstr "Riscrivi l'indirizzo IP" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:298 +msgid "Rewrite matched traffic to the specified source IP address." +msgstr "" +"Riscrivi il traffico corrispondente sull'indirizzo IP di origine specificato." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:312 +msgid "Rewrite matched traffic to the specified source port or port range." +msgstr "" +"Riscrivi il traffico corrispondente sulla porta o intervallo di porte di " +"origine specificate." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:311 +msgid "Rewrite port" +msgstr "Riscrivi porta" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:76 +msgid "Routing/NAT Offloading" +msgstr "Scarico dell'instradamento/NAT" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:290 +msgid "SNAT - Rewrite to specific source IP or port" +msgstr "SNAT - Riscrivi sull'IP o porta di origine specificati" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:486 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:359 +msgid "Saturday" +msgstr "Sabato" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:316 +msgid "Set mark" +msgstr "Imposta contrassegno" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:318 +msgid "" +"Set the given mark value on established connections. Format is value[/mask]. " +"If a mask is specified then only those bits set in the mask are modified." +msgstr "" +"Imposta il valore del contrassegno sulle connessioni stabilite. Il formato è " +"valore[/maschera]. Se una maschera è specificata allora solo quei bit " +"impostati nella maschera sono modificati." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:84 +msgid "Software based offloading for routing/NAT." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:84 +msgid "Software flow offloading" +msgstr "Scarico del flusso software" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:260 +msgid "Source IP address" +msgstr "Indirizzo IP di origine" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:255 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:386 +msgid "Source MAC address" +msgstr "Indirizzo MAC di origine" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:387 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:253 +msgid "Source address" +msgstr "Indirizzo di origine" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:265 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:389 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:261 +msgid "Source port" +msgstr "Porta di origine" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:241 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:372 +msgid "Source zone" +msgstr "Zona di origine" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:270 +msgid "" +"Specifies whether to tie this traffic rule to a specific inbound or outbound " +"network device." +msgstr "" +"Specifica se legare questa regola di traffico a uno specifico dispositivo di " +"rete in ingresso o in uscita." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:311 +msgid "" +"Specifies whether to use the external or the internal IP address for " +"reflected traffic." +msgstr "" +"Specifica se usare l'indirizzo IP esterno o interno per il traffico riflesso." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:510 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:383 +msgid "Start Date (yyyy-mm-dd)" +msgstr "Data di Inizio (yyyy-mm-dd)" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:502 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:375 +msgid "Start Time (hh:mm:ss)" +msgstr "Ora di inizio (hh:mm:ss)" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:514 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:387 +msgid "Stop Date (yyyy-mm-dd)" +msgstr "Data di Stop (yyyy-mm-dd)" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:506 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:379 +msgid "Stop Time (hh:mm:ss)" +msgstr "Ora di fine (hh:mm:ss)" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:130 +msgid "Storage Method" +msgstr "Metodo di archiviazione" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:480 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:353 +msgid "Sunday" +msgstr "Domenica" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:694 +msgid "" +"The existing firewall configuration needs to be changed for LuCI to function " +"properly." +msgstr "" +"L'attuale configurazione del firewall deve essere modificata affinché LuCI " +"funzioni correttamente." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:39 +msgid "" +"The firewall creates zones over your network interfaces to control network " +"traffic flow." +msgstr "" +"Il firewall crea delle zone nelle tue interfacce di rete per controllare il " +"flusso del traffico." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:227 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:340 +msgid "" +"The options below control the forwarding policies between this zone (%s) and " +"other zones. Destination zones cover forwarded traffic " +"originating from %q. Source zones match forwarded " +"traffic from other zones targeted at %q. The forwarding " +"rule is unidirectional, e.g. a forward from lan to wan does " +"not imply a permission to forward from wan to lan as well." +msgstr "" +"Queste opzioni controllano le regole di inoltro tra questa zona (%s) e altre " +"zone. Le zone di destinazione coprono il traffico inoltrato " +"originato da %q. Le zone di origine corrispondono " +"il traffico inoltrato da altre zone che puntano a %q. La " +"regola di inoltro è unidirezionale, esempio: un inoltro dalla lan " +"alla wan non implica anche un permesso da inoltrare dalla wan alla " +"lan." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:125 +msgid "" +"This section defines common properties of %q. The input and " +"output options set the default policies for traffic entering and " +"leaving this zone while the forward option describes the policy for " +"forwarded traffic between different networks within the zone. Covered " +"networks specifies which available networks are members of this zone." +msgstr "" +"Questa sezione definisce le proprietà comuni di %q. Le opzioni " +"diingresso e uscita definiscono le regole di default per " +"il traffico in entrata e uscita di questa zona mentre l'opzione di " +"inoltro descrive il metodo per il traffico inoltrato tra reti " +"differenti nella zona. Le reti coperte specificano quali reti " +"disponibili sono membri di questa zona." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:484 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:357 +msgid "Thursday" +msgstr "Giovedì" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:184 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:183 +msgid "Time Restrictions" +msgstr "Restrizioni temporali" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:518 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:391 +msgid "Time in UTC" +msgstr "Orario in UTC" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:244 +msgid "Time restrictions are enabled for this rule" +msgstr "Le restrizioni temporali sono attive per questa regola" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:196 +msgid "Timeout" +msgstr "Scadenza" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:77 +msgid "" +"To %{dest}%{dest_device?, interface %{dest_device}}%{dest_ip?, IP " +"%{dest_ip#%{next?, }%{item.ival}
}}%{dest_port?, port %{dest_port#%{next?, }" +"%{item." +"ival}}}" +msgstr "" +"Verso %{dest}%{dest_device?, interfaccia %{dest_device}}%{dest_ip?, IP %{dest_ip#%{next?, }%{item.ival}}}%{dest_port?, porta %{dest_port#%{next?, }%{item.ival}}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:55 +msgid "" +"To %{dest}%{dest_device?, via interface %{dest_device}}%{dest_ip?, IP %{dest_ip#%{next?, }%{item.ival}}}%{dest_port?, port " +"%{dest_port#%{next?, }%{item.ival}}}" +msgstr "" +"Verso %{dest}%{dest_device?, via interfaccia %{dest_device}}%{dest_ip?, IP %{dest_ip#%{next?, }%{item.ival}}}%{dest_port?, porta %{dest_port#%{next?, }%{item.ival}}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:61 +msgid "" +"To %{dest}%{dest_ip?, IP %{dest_ip#%{next?, }%{item.ival}}}%{dest_port?, port %{dest_port#%{next?, }%{item.ival}}}" +msgstr "" +"Verso %{dest}%{dest_ip?, IP %{dest_ip#%{next?, }%{item.ival}}}%{dest_port?, porta %{dest_port#%{next?, }%{item.ival}}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:439 +msgid "Tracking helper" +msgstr "Assistente di monitoraggio" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:176 +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:35 +msgid "Traffic Rules" +msgstr "Regole di Traffico" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:174 +msgid "" +"Traffic rules define policies for packets travelling between different " +"zones, for example to reject traffic between certain hosts or to open WAN " +"ports on the router." +msgstr "" +"Le regole del traffico definiscono il metodo per il viaggio dei pacchetti " +"tra zone differenti, per esempio per rifiutare il traffico tra certi host o " +"per aprire porte WAN sul router." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:482 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:355 +msgid "Tuesday" +msgstr "Martedì" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/custom.js:19 +msgid "Unable to save contents: %s" +msgstr "Impossibile salvare i contenuti: %s" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:197 +msgid "" +"Unit: seconds. Default 0 means the entry is added permanently " +"to the set.
Max: 2147483 seconds." +msgstr "" +"Unità: secondi. Il predefinito 0 significa che la voce viene " +"aggiunta in modo permanente al set.
Max: 2147483 secondi." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:341 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:461 +msgid "Unknown or not installed conntrack helper \"%s\"" +msgstr "Assitente conntrack sconosciuto o non installato \"%s\"" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:186 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:190 +msgid "Unnamed NAT" +msgstr "NAT senza nome" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:169 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:184 +msgid "Unnamed forward" +msgstr "Inoltro senza nome" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:191 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:211 +msgid "Unnamed rule" +msgstr "Regola senza nome" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:57 +msgid "Unnamed set" +msgstr "Set senza nome" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:130 +msgid "Unnamed zone" +msgstr "Zona senza nome" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:597 +msgid "Unrecognized protocol" +msgstr "Protocollo non riconosciuto" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:695 +msgid "" +"Upon pressing \"Continue\", \"redirect\" sections with target \"SNAT\" will " +"be converted to \"nat\" sections and the firewall will be restarted to apply " +"the updated configuration." +msgstr "" +"Dopo aver premuto \"Continua\", le sezioni \"reindirizza\" con destinazione " +"\"SNAT\" saranno convertite in sezioni \"nat\" e il firewall verrà riavviato " +"per applicare la configurazione aggiornata." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:315 +msgid "Use external IP address" +msgstr "Usa l'indirizzo IP esterno" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:314 +msgid "Use internal IP address" +msgstr "Usa l'indirizzo IP interno" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:247 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:378 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:322 +msgid "Use ipset" +msgstr "Usa ipset" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:231 +msgid "" +"Use this option to classify zone traffic by raw, non-uci managed " +"network devices." +msgstr "" +"Usa questa opzione per classificare il traffico di zona da dispositivi di " +"rete gestiti grezzi, nonuci." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:236 +msgid "" +"Use this option to classify zone traffic by source or destination subnet " +"instead of networks or devices." +msgstr "" +"Usa questa opzione per classificare il traffico di zona per origine o " +"sottorete di destinazione, invece di reti o dispositivi." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:331 +msgid "Valid firewall mark required" +msgstr "Contrassegno firewall valido richiesto" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:483 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:356 +msgid "Wednesday" +msgstr "Mercoledì" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:475 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:348 +msgid "Week Days" +msgstr "Giorni della Settimana" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:420 +msgid "XOR firewall mark" +msgstr "Contrassegno firewall XOR" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:316 +msgid "XOR mark" +msgstr "Contrassegno XOR" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:28 +msgid "Your device does not run firewall4." +msgstr "Il dispositivo non sta eseguendo firewall4." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:26 +msgid "Your device runs firewall4." +msgstr "Il dispositivo sta eseguendo firewall4." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:143 +msgid "Zone ⇒ Forwardings" +msgstr "Zona ⇒ Inoltri" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:101 +msgid "Zones" +msgstr "Zone" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:320 +msgid "" +"Zones from which reflection rules shall be created. If unset, only the " +"destination zone is used." +msgstr "" +"Zone da cui devono essere create regole riflettive. Se non impostato, viene " +"usata solo la zona di destinazione." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:415 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:70 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:159 +msgid "accept" +msgstr "accetta" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:268 +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:463 +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:486 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:270 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:301 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:328 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:392 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:407 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:441 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:448 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:266 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:282 +msgid "any" +msgstr "qualsiasi" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:53 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:86 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:65 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:78 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:46 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:56 +msgid "any zone" +msgstr "qualsiasi zona" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:298 +msgid "any/all" +msgstr "qualsiasi/tutti" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:419 +msgid "apply firewall mark" +msgstr "applica contrassegno firewall" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:418 +msgid "assign conntrack helper" +msgstr "assegna assistente conntrack" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:194 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:222 +msgid "automatic" +msgstr "automatico" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:131 +msgid "bitmap" +msgstr "bitmap" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:137 +msgid "bitmap is ipv4 only" +msgstr "bitmap è solo ipv4" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:72 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:89 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:67 +msgid "day" +msgstr "giorno" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:93 +msgid "dest_ip: Destination IP" +msgstr "dest_ip: IP di destinazione" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:95 +msgid "dest_mac: Destination MAC addr" +msgstr "dest_mac: indirizzo MAC di destinazione" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:96 +msgid "dest_net: Destination (sub)net" +msgstr "dest_net: (sotto)rete di destinazione" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:94 +msgid "dest_port: Destination Port" +msgstr "dest_port: porta di destinazione" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:98 +msgid "dest_set: Destination ipset*" +msgstr "dest_set: ipset* di destinazione" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:315 +msgid "do not rewrite" +msgstr "non riscrivere" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:417 +msgid "don't track" +msgstr "non tracciare" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:414 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:69 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:158 +msgid "drop" +msgstr "scarta (drop)" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:21 +msgid "" +"firewall4 supports referencing and creating IP sets to simplify matching of " +"large address lists without the need to create one rule per item to match. " +"Port ranges in ipsets are unsupported by firewall4.
" +msgstr "" +"firewall4 supporta il riferimento e la creazione di set di IP per " +"semplificare la corrispondenza di liste di indirizzi di grandi dimensioni, " +"senza la necessità di creare una regola per elemento da abbinare. Gli " +"intervalli di porte in ipsets non sono supportati da firewall4.
" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:159 +msgid "fromport-toport" +msgstr "fromport-toport" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:132 +msgid "hash" +msgstr "hash" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:72 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:89 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:67 +msgid "hour" +msgstr "ora" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:81 +msgid "ip: IP addr" +msgstr "ip: indirizzo IP" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:153 +msgid "ip[/cidr]
" +msgstr "ip[/cidr]
" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:145 +msgid "ip[/cidr]
For use with Match datatypes: *_ip." +msgstr "ip[/cidr]
Da usare per i tipi di dati Match: *_ip." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:70 +msgid "ipv4" +msgstr "ipv4" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:133 +msgid "list" +msgstr "lista" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:83 +msgid "mac: MAC addr" +msgstr "mac: indirizzo MAC" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:108 +msgid "macaddr|ip[/cidr]
" +msgstr "macaddr|ip[/cidr]
" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:72 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:89 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:67 +msgid "minute" +msgstr "minuto" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:84 +msgid "net: (sub)net" +msgstr "net: (sotto)rete" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:82 +msgid "port: Port" +msgstr "port: porta" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:416 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:68 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:157 +msgid "reject" +msgstr "rifiuta (reject)" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:72 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:89 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:67 +msgid "second" +msgstr "secondo" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:86 +msgid "set: ipset*" +msgstr "set: ipset*" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:92 +msgid "src_Set: Source ipset*" +msgstr "src_Set: ipset* di origine" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:87 +msgid "src_ip: Source IP" +msgstr "src_ip: IP di origine" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:89 +msgid "src_mac: Source MAC addr" +msgstr "src_mac: indirizzo MAC di origine" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:90 +msgid "src_net: Source (sub)net" +msgstr "src_net: (sotto)rete di origine" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:88 +msgid "src_port: Source Port" +msgstr "src_port: porta di origine" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:53 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:62 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:86 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:65 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:78 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:56 +msgid "this device" +msgstr "questo dispositivo" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:124 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:226 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:339 +msgid "this new zone" +msgstr "questa nuova zona" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:354 +msgid "unlimited" +msgstr "illimitato" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:251 +msgid "unspecified" +msgstr "non specificato" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:114 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:173 +msgid "up to 65536 entries." +msgstr "fino a 65536 voci." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:339 +msgid "valid firewall mark" +msgstr "contrassegno firewall valido" + +#~ msgid "Software based offloading for routing/NAT" +#~ msgstr "Scarico basato sul software per instradamento/NAT" diff --git a/luci-app-firewall/po/ja/firewall.po b/luci-app-firewall/po/ja/firewall.po new file mode 100644 index 000000000..7fa750ac5 --- /dev/null +++ b/luci-app-firewall/po/ja/firewall.po @@ -0,0 +1,1611 @@ +msgid "" +msgstr "" +"Project-Id-Version: \n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2010-03-30 17:00+0200\n" +"PO-Revision-Date: 2024-10-09 05:48+0000\n" +"Last-Translator: Monarch \n" +"Language-Team: Japanese \n" +"Language: ja\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=1; plural=0;\n" +"X-Generator: Weblate 5.8-dev\n" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:48 +msgid "" +"%{src?%{dest?Forwarded:Incoming}:Outgoing} %{ipv6?%{ipv4?IPv4 and " +"IPv6:IPv6}:IPv4}%{proto?, protocol " +"%{proto#%{next?, }%{item.types?%{item." +"name}ICMP with types %{item.types#%{next?, }" +"%{item}}:%{item.name}}}}%{mark?, mark " +"%{mark.val}}%{dscp?, DSCP %{dscp." +"inv?%{dscp.val}:%{dscp.val}}}%{helper?, helper " +"%{helper.inv?%{helper.val}:%{helper." +"val}}}" +msgstr "" +"%{ipv6?%{ipv4?IPv4IPv6:IPv6}:IPv4} の %{src?%{dest?転送:受信}:送信}%{proto?, プロトコル " +"%{proto#%{next?, }%{item.types?%{item." +"name}含まれる ICMP タイプ - %{item." +"types#%{next?, }%{item}}:%{item.name}}}}%{mark?, マーク %{mark.val}" +"}%{dscp?, DSCP %{dscp.inv?%{dscp.val}:" +"%{dscp.val}}}%{helper?, ヘルパー %{helper.inv?%{helper.val}" +":%{helper.val}}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:463 +msgid "-- add IP --" +msgstr "-- IP を追加 --" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:521 +msgid "-- add MAC --" +msgstr "-- MAC を追加 --" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:199 +msgid "0" +msgstr "0" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:182 +msgid "1024" +msgstr "1024" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:118 +msgid "" +"Accept %{src?%{dest?forward:input}:output}" +msgstr "" +"%{src?%{dest?転送:受信}:送信} を 許可" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:93 +msgid "Prevent source rewrite" +msgstr "アクセス元の書き換えを防止" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:85 +msgid "" +"Forward to %{dest}%{dest_ip? IP " +"%{dest_ip}}%{dest_port? port %{dest_port}}" +msgstr "" +"%{dest}%{dest_ip? IP %{dest_ip}}%{dest_port? port " +"%{dest_port}} へ転送" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:115 +msgid "" +"Drop %{src?%{dest?forward:input}:output}" +msgstr "%{src?%{dest?転送:受信}:送信} を 破棄" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:133 +msgid "" +"Assign DSCP classification %{set_dscp}" +"" +msgstr "" +"DSCP 区分の割り当て - %{set_dscp}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:127 +msgid "" +"Assign conntrack helper " +"%{set_helper}" +msgstr "" +"conntrack ヘルパーの割り当て - " +"%{set_helper}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:130 +msgid "" +"%{set_mark?Assign:XOR} firewall mark " +"%{set_mark?:%{set_xmark}}" +msgstr "" +"ファイアウォール マークの%{set_mark?割り当て:XOR}" +" - %{set_mark?:%{set_xmark}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:90 +msgid "Automatically rewrite source IP" +msgstr "" +"アクセス元 IP を 自動的に書き換え" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:124 +msgid "" +"Do not track %{src?%{dest?forward:input}:" +"output}" +msgstr "" +"%{src?%{dest?転送:受信}:送信} を追跡しない" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:121 +msgid "" +"Reject %{src?%{dest?forward:input}:output}" +msgstr "" +"%{src?%{dest?転送:受信}:送信} を拒否" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:87 +msgid "" +"Statically rewrite to source %{snat_ip?IP " +"%{snat_ip}} %{snat_port?port %{snat_port}}" +msgstr "" +"アクセス元 %{snat_ip?IP %{snat_ip}} %{snat_port?ポート " +"%{snat_port}} への静的書き換え" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:306 +msgid "A rewrite IP must be specified!" +msgstr "書き換え先 IP の指定が必要です!" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:292 +msgid "ACCEPT - Disable address rewriting" +msgstr "ACCEPT - アドレス書き換えを無効化" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:224 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:225 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:411 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:204 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:287 +msgid "Action" +msgstr "アクション" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:322 +msgid "" +"Additional raw iptables arguments to classify zone destination " +"traffic, e.g. -p tcp --dport 443 to only match outbound HTTPS " +"traffic." +msgstr "" +"ゾーンの送信先へのトラフィックを区分するために付加する、生の iptables 引数です。(例: HTTPS 送信トラフィックのみにマッチさせる -p tcp --" +"dport 443)" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:312 +msgid "" +"Additional raw iptables arguments to classify zone source traffic, " +"e.g. -p tcp --sport 443 to only match inbound HTTPS traffic." +msgstr "" +"ゾーンを送信元とするトラフィックを区分するために付加する、生の iptables 引数です。(例: HTTPS 受信トラフィックのみにマッチさせる -p tcp --" +"sport 443)" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:107 +msgid "Address family, Internal IP address must match" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:135 +msgid "" +"Address family, source address, destination address, rewrite IP address must " +"match" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:162 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:183 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:182 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:114 +msgid "Advanced Settings" +msgstr "詳細設定" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:283 +msgid "Allow \"invalid\" traffic" +msgstr "\"invalid\" トラフィックの許可" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:385 +msgid "Allow forward from source zones:" +msgstr "送信元ゾーンからの転送を許可する:" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:344 +msgid "Allow forward to destination zones:" +msgstr "宛先ゾーンへの転送を許可する:" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:551 +msgid "Any" +msgstr "すべて" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:479 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:495 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:352 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:368 +msgid "Any day" +msgstr "全日" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:317 +msgid "" +"Apply a bitwise XOR of the given value and the existing mark value on " +"established connections. Format is value[/mask]. If a mask is specified then " +"those bits set in the mask are zeroed out." +msgstr "" +"確立された接続に、指定された値と既存のマーク値のビット単位のXORを適用します。" +"形式は値 [/mask]です。マスクが指定されている場合、マスクに設定されているビッ" +"トはゼロになります。" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:264 +msgid "Apply the given DSCP class or value to established connections." +msgstr "指定された DSCP クラスまたは値を確立された接続に適用します。" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:439 +msgid "Assign the specified connection tracking helper to matched traffic." +msgstr "指定された接続追跡ヘルパーを対象のトラフィックに割り当てます。" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:286 +msgid "Automatic helper assignment" +msgstr "自動ヘルパー割り当て" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:286 +msgid "" +"Automatically assign conntrack helpers based on traffic protocol and port" +msgstr "" +"トラフィックのプロトコルとポートに基づいて、 conntrack ヘルパーを自動的に割り" +"当てます。" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:61 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:62 +msgid "Comment" +msgstr "コメント" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:115 +msgid "Conntrack Settings" +msgstr "Conntrack 設定" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:290 +msgid "Conntrack helpers" +msgstr "Conntrack ヘルパー" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/custom.js:16 +msgid "Contents have been saved." +msgstr "内容が保存されました。" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:700 +msgid "Continue" +msgstr "続行" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:204 +msgid "Counters" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:231 +msgid "Covered devices" +msgstr "カバーされるデバイス" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:183 +msgid "Covered networks" +msgstr "対象ネットワーク" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:236 +msgid "Covered subnets" +msgstr "カバーされるサブネット" + +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:62 +msgid "Custom Rules" +msgstr "手動設定ルール" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/custom.js:26 +msgid "" +"Custom rules allow you to execute arbitrary iptables commands which are not " +"otherwise covered by the firewall framework. The commands are executed after " +"each firewall restart, right after the default ruleset has been loaded." +msgstr "" +"手動設定ルールの設定では、ファイアウォールの設定画面ではサポートされていない" +"ような、任意のiptablesコマンドを実行することが可能です。これらの任意のコマン" +"ドは、ファイアウォール機能の起動ごとに、標準のルールが読み込まれた後に実行さ" +"れます。" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:421 +msgid "DSCP classification" +msgstr "DSCP 区分" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:263 +msgid "DSCP mark" +msgstr "DSCP マーク" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:297 +msgid "DSCP mark required" +msgstr "DSCP マークが必要です" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:402 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:270 +msgid "Destination address" +msgstr "宛先アドレス" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:404 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:278 +msgid "Destination port" +msgstr "宛先ポート" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:396 +msgid "Destination zone" +msgstr "宛先ゾーン" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:269 +msgid "Device name" +msgstr "デバイス名" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:283 +msgid "" +"Do not install extra rules to reject forwarded traffic with conntrack state " +"invalid. This may be required for complex asymmetric route setups." +msgstr "" +"conntrack ステートが invalid である転送されたトラフィックを拒否する" +"追加ルールをインストールしない。これは、複雑で非対称なルートのセットアップに" +"必要となることがあります。" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:59 +msgid "Drop invalid packets" +msgstr "無効なパケットを遮断する" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:232 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:231 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:210 +msgid "Enable" +msgstr "有効化" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:306 +msgid "Enable NAT Loopback" +msgstr "NATループバックを有効にする" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:45 +msgid "Enable SYN-flood protection" +msgstr "SYN-Floodプロテクションを有効にする" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:296 +msgid "Enable logging on this zone" +msgstr "このゾーンのログ記録を有効にする" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:168 +msgid "" +"Enable network address and port translation IPv4 (NAT4 or NAPT4) for " +"outbound traffic on this zone. This is typically enabled on the wan " +"zone." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:243 +msgid "" +"Enable network address and port translation IPv6 (NAT6 or NAPT6) for " +"outbound traffic on this zone." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:211 +msgid "Enabled" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:205 +msgid "Enables packet and byte count tracking for the set." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:339 +msgid "Expecting: %s" +msgstr "%sである必要があります" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:290 +msgid "Explicitly choses allowed connection tracking helpers for zone traffic" +msgstr "ゾーン トラフィックの接続追跡ヘルパーを明示的に選択します。" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:274 +msgid "External IP address" +msgstr "外部IPアドレス" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:279 +msgid "External port" +msgstr "外部ポート" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:349 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:470 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:342 +msgid "Extra arguments" +msgstr "追加の引数" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:322 +msgid "Extra destination arguments" +msgstr "追加の送信先引数" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:116 +msgid "Extra iptables arguments" +msgstr "追加の iptables 引数" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:312 +msgid "Extra source arguments" +msgstr "追加の送信元引数" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:67 +msgid "Family" +msgstr "" + +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:3 +msgid "Firewall" +msgstr "ファイアウォール" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/custom.js:25 +msgid "Firewall - Custom Rules" +msgstr "ファイアウォール - 手動設定ルール" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:20 +msgid "Firewall - IP sets" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:172 +msgid "Firewall - NAT Rules" +msgstr "ファイアウォール - NAT ルール" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:152 +msgid "Firewall - Port Forwards" +msgstr "ファイアウォール - ポートフォワーディング" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:173 +msgid "Firewall - Traffic Rules" +msgstr "ファイアウォール - トラフィック・ルール" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:38 +msgid "Firewall - Zone Settings" +msgstr "ファイアウォール - ゾーン設定" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:693 +msgid "Firewall configuration migration" +msgstr "ファイアウォール設定マイグレーション" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:82 +msgid "Flow offloading type" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:64 +msgid "Forward" +msgstr "転送" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:34 +msgid "" +"Forwarded %{ipv6?%{ipv4?IPv4 and IPv6:IPv6}:" +"IPv4}%{proto?, protocol %{proto#%{next?, }%{item.name}}}%{mark?, mark %{mark.val}" +"}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:485 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:358 +msgid "Friday" +msgstr "金曜日" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:45 +msgid "" +"From %{src}%{src_device?, interface %{src_device}}%{src_ip?, IP " +"%{src_ip#%{next?, }%{item.ival}}}%{src_port?, port %{src_port#%{next?, }" +"%{item." +"ival}}}" +msgstr "" +"送信元: %{src}%{src_device?, インターフェース %{src_device}}%{src_ip?, IP %{src_ip#%{next?, }%{item.ival}}}%{src_port?, ポート " +"%{src_port#%{next?, }%{item.ival}}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:64 +msgid "" +"From %{src}%{src_device?, interface %{src_device}}%{src_ip?, IP " +"%{src_ip#%{next?, }%{item.ival}}}%{src_port?, port %{src_port#%{next?, }" +"%{item." +"ival}}}%{src_mac?, MAC %{src_mac#%{next?, }%{item.ival}" +"}}" +msgstr "" +"送信元: %{src}%{src_device?, インターフェース %{src_device}}%{src_ip?, IP %{src_ip#%{next?, }%{item.ival}}}%{src_port?, ポート " +"%{src_port#%{next?, }%{item.ival}}}%{src_mac?, MAC %{src_mac#%{next?, }" +"%{item.ival}}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:52 +msgid "" +"From %{src}%{src_ip?, IP %{src_ip#%{next?, }%{item.ival}}}%{src_port?, port %{src_port#%{next?, }%{item.ival}}}%{src_mac?, " +"MAC %{src_mac#%{next?, }%{item.ival}}}" +msgstr "" +"送信元: %{src}%{src_ip?, IP %{src_ip#%{next?, }%{item.ival}}}%{src_port?, ポート %{src_port#%{next?, }%{item.ival}}}%{src_mac?, " +"MAC %{src_mac#%{next?, }%{item.ival}}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:161 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:182 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:181 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:41 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:113 +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:17 +msgid "General Settings" +msgstr "一般設定" + +#: applications/luci-app-firewall/root/usr/share/rpcd/acl.d/luci-app-firewall.json:3 +msgid "Grant access to firewall configuration" +msgstr "ファイアウォール構成へのアクセスを許可" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:85 +msgid "Hardware based offloading for routing with/without NAT." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:85 +msgid "Hardware flow offloading" +msgstr "ハードウェア フローオフロード" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:144 +msgid "IP (range)" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:32 +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:53 +msgid "IP Sets" +msgstr "IP セット" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:152 +msgid "IPs/Networks" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:107 +msgid "IPs/Networks/MACs" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:68 +msgid "IPv4" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:191 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:280 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:219 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:256 +msgid "IPv4 and IPv6" +msgstr "IPv4及びIPv6" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:192 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:281 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:220 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:257 +msgid "IPv4 only" +msgstr "IPv4のみ" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:69 +msgid "IPv6" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:242 +msgid "IPv6 Masquerading" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:193 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:282 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:221 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:258 +msgid "IPv6 only" +msgstr "IPv6のみ" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:252 +msgid "Inbound device" +msgstr "受信側デバイス" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:187 +msgid "Include File" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:40 +msgid "" +"Incoming %{ipv6?%{ipv4?IPv4 and IPv6:IPv6}:" +"IPv4}%{proto?, protocol %{proto#%{next?, }%{item.types?%{item.name}ICMP " +"with types %{item.types#%{next?, }%{item}}:" +"%{item.name}}}}%{mark?, mark %{mark.val}}%{helper?, helper %{helper.inv?%{helper.val}:%{helper.val}}}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:180 +msgid "Initial Hash Size" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:62 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:151 +msgid "Input" +msgstr "受信" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:292 +msgid "Internal IP address" +msgstr "内部IPアドレス" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:297 +msgid "Internal port" +msgstr "内部ポート" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:287 +msgid "Internal zone" +msgstr "内部ゾーン" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:153 +msgid "Intra zone forward" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:305 +msgid "Invalid DSCP mark" +msgstr "無効な DSCP マーク" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:373 +msgid "Invalid limit value" +msgstr "無効な制限値" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:47 +msgid "Invalid set name" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:383 +msgid "Limit burst" +msgstr "バースト制限" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:299 +msgid "Limit log messages" +msgstr "ログメッセージを制限" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:349 +msgid "Limit matching" +msgstr "一致の制限" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:79 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:96 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:74 +msgid "" +"Limit matching to %{limit.num} packets per %{limit.unit}%{limit.burst? burst %{limit.burst}}" +msgstr "" +"一致するパケット数を %{limit.unit} あたり %{limit.num} " +"に制限%{limit.burst?(バースト %{limit.burst})}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:175 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:250 +msgid "Limited masquerading enabled" +msgstr "限定的なマスカレードが有効" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:350 +msgid "Limits traffic matching to the specified rate." +msgstr "トラフィックを指定されたレートに制限します。" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:311 +msgid "Loopback source IP" +msgstr "ループバック元 IP" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:291 +msgid "MASQUERADE - Automatically rewrite to outbound interface IP" +msgstr "MASQUERADE - 自動的に送信側インターフェース IP へ書き換え" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:180 +msgid "MSS clamping" +msgstr "MSSクランプ" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:167 +msgid "Masquerading" +msgstr "マスカレード" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:213 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:214 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:193 +msgid "Match" +msgstr "対象" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:263 +msgid "Match DSCP" +msgstr "DSCP の一致" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:293 +msgid "Match ICMP type" +msgstr "ICMPタイプの一致" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:249 +msgid "Match device" +msgstr "デバイスの一致" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:271 +msgid "Match forwarded traffic directed at the given IP address." +msgstr "指定された IP アドレスに転送されるトラフィックが対象になります。" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:279 +msgid "" +"Match forwarded traffic directed at the given destination port or port range." +msgstr "" +"指定されたポートまたはポート範囲に転送されるトラフィックが対象になります。" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:254 +msgid "Match forwarded traffic from this IP or range." +msgstr "この IP または範囲からのトラフィックが対象になります。" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:262 +msgid "" +"Match forwarded traffic originating from the given source port or port range." +msgstr "" +"指定された送信元ポートまたはポート範囲から発信されたトラフィックが対象になり" +"ます。" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:326 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:446 +msgid "Match helper" +msgstr "ヘルパーの一致" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:280 +msgid "" +"Match incoming traffic directed at the given destination port or port range " +"on this host" +msgstr "" +"設定された宛先ポート(またはポート範囲)に一致した受信トラフィックが対象になり" +"ます" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:316 +msgid "Match mark" +msgstr "マークの一致" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:326 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:446 +msgid "Match traffic using the specified connection tracking helper." +msgstr "指定された接続追跡ヘルパーを使用するトラフィックが対象になります。" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:319 +msgid "Matches a specific firewall mark or a range of different marks." +msgstr "" +"特定のファイアウォール マークまたは異なる複数のマークの範囲が対象になります。" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:332 +msgid "Matches forwarded traffic using the specified outbound network device." +msgstr "" +"指定された送信側ネットワーク デバイスを使用して転送されるトラフィックが対象に" +"なります。" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:264 +msgid "Matches traffic carrying the specified DSCP marking." +msgstr "指定された DSCP マークを持っているトラフィックが対象になります。" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:113 +msgid "Max Entries" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:172 +msgid "Max Length" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:384 +msgid "" +"Maximum initial number of packets to match: this number gets recharged by " +"one every time the limit specified above is not reached, up to this number." +msgstr "" +"対象となるパケットの最初の最大数です。この数は、上のレート制限で上限に到達し" +"なかった場合に、その時間毎にここで指定された数まで1ずつ回復します。" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:481 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:354 +msgid "Monday" +msgstr "月曜日" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:491 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:364 +msgid "Month Days" +msgstr "月間" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:175 +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:44 +msgid "NAT Rules" +msgstr "NAT ルール" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:173 +msgid "" +"NAT rules allow fine grained control over the source IP to use for outbound " +"or forwarded traffic." +msgstr "" +"NAT ルールは、送信または転送トラフィックのために使用するアクセス元 IP に対し" +"て、とても細かな制御を可能にします。" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:183 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:42 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:52 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:210 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:189 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:129 +msgid "Name" +msgstr "名前" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:166 +msgid "Netmask" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:83 +msgid "None" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:77 +msgid "Not fully compatible with QoS/SQM." +msgstr "QoS/SQM との完全な互換性はありません。" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:275 +msgid "Only match incoming traffic directed at the given IP address." +msgstr "設定された宛先IPアドレスと一致した受信トラフィックが対象になります。" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:256 +msgid "Only match incoming traffic from these MACs." +msgstr "設定されたMACアドレスと一致した受信したトラフィックが対象になります。" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:261 +msgid "Only match incoming traffic from this IP or range." +msgstr "" +"設定されたIPアドレス (または範囲) と一致した受信したトラフィックが対象になり" +"ます。" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:266 +msgid "" +"Only match incoming traffic originating from the given source port or port " +"range on the client host" +msgstr "" +"設定されたクライアントホストの送信元ポート(またはポート範囲)からの受信トラ" +"フィックと一致したトラフィックのみを対象にします。" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:253 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:331 +msgid "Outbound device" +msgstr "送信側デバイス" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:246 +msgid "Outbound zone" +msgstr "送信側ゾーン" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:63 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:152 +msgid "Output" +msgstr "送信" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:75 +msgid "Packet Field Match" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:76 +msgid "" +"Packet fields to match upon.
Syntax: direction_datatype. e.g.: " +"src_port, dest_net.
Directions: src, dst. " +"Datatypes: ip, port, mac, net, set.
Direction prefixes are " +"optional.
*Note: datatype set is unsupported in fw4." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:350 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:471 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:343 +msgid "Passes additional arguments to iptables. Use with care!" +msgstr "" +"iptablesにパススルーする追加の引数を設定してください。注意して設定してくださ" +"い!" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:309 +msgid "" +"Passing raw iptables arguments to source and destination traffic " +"classification rules allows to match packets based on other criteria than " +"interfaces or subnets. These options should be used with extreme care as " +"invalid values could render the firewall ruleset broken, completely exposing " +"all services." +msgstr "" +"送信元と送信先のトラフィックの区分ルールを、インターフェースやサブネット以外" +"の基準に基づいてマッチすることができるように、生の iptables 引数を渡します。" +"これらのオプションは、無効な値がファイアウォール ルールセットの破壊を引き起こ" +"し、全サービスを外部に晒す恐れがあることに、特段の注意を払い使用されなければ" +"なりません。" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:188 +msgid "Path to file of CIDRs, subnets, host IPs, etc.
" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:155 +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:26 +msgid "Port Forwards" +msgstr "ポートフォワーディング" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:153 +msgid "" +"Port forwarding allows remote computers on the Internet to connect to a " +"specific computer or service within the private LAN." +msgstr "" +"ポートフォワーディングは、インターネット上のリモートコンピュータから、プライ" +"ベートなネットワーク上の、特定のコンピュータやサービスへのアクセスを可能にし" +"ます。" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:158 +msgid "Port range" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:237 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:289 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:242 +msgid "Protocol" +msgstr "プロトコル" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:298 +msgid "" +"Redirect matched incoming traffic to the given port on the internal host" +msgstr "" +"ルールに一致した受信トラフィックを、内部ホストの設定されたポートへ転送します" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:293 +msgid "Redirect matched incoming traffic to the specified internal host" +msgstr "ルールに一致した受信トラフィックを、設定された内部ホストへ転送します" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:122 +msgid "Refer To External Set" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:320 +msgid "Reflection zones" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:85 +msgid "Requires hardware NAT support." +msgstr "ハードウェア NAT サポートが必要です。" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:272 +msgid "Restrict Masquerading to given destination subnets" +msgstr "設定された宛先サブネットへのマスカレードを制限する" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:261 +msgid "Restrict Masquerading to given source subnets" +msgstr "設定された送信元サブネットへのマスカレードを制限する" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:188 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:277 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:216 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:255 +msgid "Restrict to address family" +msgstr "アドレスファミリの制限" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:297 +msgid "Rewrite IP address" +msgstr "IP アドレスの書き換え" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:298 +msgid "Rewrite matched traffic to the specified source IP address." +msgstr "対象のトラフィックを指定されたアクセス元 IP アドレスに書き換えます。" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:312 +msgid "Rewrite matched traffic to the specified source port or port range." +msgstr "" +"対象のトラフィックを指定されたアクセス元ポートまたはポート範囲に書き換えま" +"す。" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:311 +msgid "Rewrite port" +msgstr "ポートの書き換え" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:76 +msgid "Routing/NAT Offloading" +msgstr "ルーティング/NAT オフロード" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:290 +msgid "SNAT - Rewrite to specific source IP or port" +msgstr "SNAT - 特定のアクセス元 IP またはポートへの書き換え" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:486 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:359 +msgid "Saturday" +msgstr "土曜日" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:316 +msgid "Set mark" +msgstr "マークの設定" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:318 +msgid "" +"Set the given mark value on established connections. Format is value[/mask]. " +"If a mask is specified then only those bits set in the mask are modified." +msgstr "" +"確立された接続にマーク値を設定します。フォーマットは value[/mask] です。もし" +"マスクが指定されている場合、マスクによって有効なビットのみ設定されます。" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:84 +msgid "Software based offloading for routing/NAT." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:84 +msgid "Software flow offloading" +msgstr "ソフトウェア フローオフロード" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:260 +msgid "Source IP address" +msgstr "送信元IPアドレス" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:255 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:386 +msgid "Source MAC address" +msgstr "送信元MACアドレス" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:387 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:253 +msgid "Source address" +msgstr "送信元アドレス" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:265 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:389 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:261 +msgid "Source port" +msgstr "送信元ポート" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:241 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:372 +msgid "Source zone" +msgstr "送信元ゾーン" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:270 +msgid "" +"Specifies whether to tie this traffic rule to a specific inbound or outbound " +"network device." +msgstr "" +"このトラフィック ルールを関連付ける、特定の受信側または送信側ネットワークデバ" +"イスを指定します。" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:311 +msgid "" +"Specifies whether to use the external or the internal IP address for " +"reflected traffic." +msgstr "" +"反映されるトラフィックに対し、外部または内部 IP アドレスのどちらを使用するか" +"を指定します。" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:510 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:383 +msgid "Start Date (yyyy-mm-dd)" +msgstr "開始日 (yyyy-mm-dd)" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:502 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:375 +msgid "Start Time (hh:mm:ss)" +msgstr "開始時刻 (hh:mm:ss)" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:514 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:387 +msgid "Stop Date (yyyy-mm-dd)" +msgstr "停止日 (yyyy-mm-dd)" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:506 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:379 +msgid "Stop Time (hh:mm:ss)" +msgstr "停止時刻 (hh:mm:ss)" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:130 +msgid "Storage Method" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:480 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:353 +msgid "Sunday" +msgstr "日曜日" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:694 +msgid "" +"The existing firewall configuration needs to be changed for LuCI to function " +"properly." +msgstr "" +"既存のファイアウォール設定は、 LuCI が正常に機能するように変更する必要があり" +"ます。" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:39 +msgid "" +"The firewall creates zones over your network interfaces to control network " +"traffic flow." +msgstr "" +"ファイアウォール機能は、各ネットワークインターフェース上にゾーンを作成してト" +"ラフィックの制御を行います。" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:227 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:340 +msgid "" +"The options below control the forwarding policies between this zone (%s) and " +"other zones. Destination zones cover forwarded traffic " +"originating from %q. Source zones match forwarded " +"traffic from other zones targeted at %q. The forwarding " +"rule is unidirectional, e.g. a forward from lan to wan does " +"not imply a permission to forward from wan to lan as well." +msgstr "" +"下記の設定は、このゾーン (%s)とその他のゾーン間の転送ポリシーを制御します。" +"宛先ゾーンへの転送 は、%q から転送されたトラフィッ" +"クに対して転送を許可します。 送信元ゾーンからの転送 は、別のゾーンか" +"ら%qへ の転送を許可します。トラフィック転送設定は、一方" +"向であり、例えばlanからwanへの転送設定は、wanからlanへの転送を許可し" +"ません。" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:125 +msgid "" +"This section defines common properties of %q. The input and " +"output options set the default policies for traffic entering and " +"leaving this zone while the forward option describes the policy for " +"forwarded traffic between different networks within the zone. Covered " +"networks specifies which available networks are members of this zone." +msgstr "" +"このセクションでは、%sの標準的な動作を設定します。受信及び送信オプションは、このゾーンに対して入出力するトラフィックに対する標準のポリ" +"シーを設定し、転送オプションは、ゾーン間の転送トラフィックに対する標" +"準のポリシーになります。対象ネットワークは、どのネットワーク設定がこ" +"のゾーンに属するかを設定します。" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:484 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:357 +msgid "Thursday" +msgstr "木曜日" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:184 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:183 +msgid "Time Restrictions" +msgstr "時間制限" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:518 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:391 +msgid "Time in UTC" +msgstr "UTC時刻を使用" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:244 +msgid "Time restrictions are enabled for this rule" +msgstr "このルールでは時間制限が有効です" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:196 +msgid "Timeout" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:77 +msgid "" +"To %{dest}%{dest_device?, interface %{dest_device}}%{dest_ip?, IP " +"%{dest_ip#%{next?, }%{item.ival}
}}%{dest_port?, port %{dest_port#%{next?, }" +"%{item." +"ival}}}" +msgstr "" +"送信先: %{dest}%{dest_device?, インターフェース %{dest_device}}%{dest_ip?, IP %{dest_ip#%{next?, }%{item.ival}}}%{dest_port?, ポート " +"%{dest_port#%{next?, }%{item.ival}}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:55 +msgid "" +"To %{dest}%{dest_device?, via interface %{dest_device}}%{dest_ip?, IP %{dest_ip#%{next?, }%{item.ival}}}%{dest_port?, port " +"%{dest_port#%{next?, }%{item.ival}}}" +msgstr "" +"送信先: %{dest}%{dest_device?, 経由インターフェース %{dest_device}}%{dest_ip?, IP %{dest_ip#%{next?, }%{item.ival}}}%{dest_port?, ポート " +"%{dest_port#%{next?, }%{item.ival}}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:61 +msgid "" +"To %{dest}%{dest_ip?, IP %{dest_ip#%{next?, }%{item.ival}}}%{dest_port?, port %{dest_port#%{next?, }%{item.ival}}}" +msgstr "" +"送信先: %{dest}%{dest_ip?, IP %{dest_ip#%{next?, }%{item.ival}}}%{dest_port?, ポート %{dest_port#%{next?, }%{item.ival}}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:439 +msgid "Tracking helper" +msgstr "追跡ヘルパー" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:176 +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:35 +msgid "Traffic Rules" +msgstr "トラフィック・ルール" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:174 +msgid "" +"Traffic rules define policies for packets travelling between different " +"zones, for example to reject traffic between certain hosts or to open WAN " +"ports on the router." +msgstr "" +"トラフィック・ルールの設定では、ゾーン間を行き来するパケットのポリシーを設定" +"します。例えば、特定のホスト間や、ルーターのWANポートへのトラフィックの拒否を" +"設定することができます。" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:482 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:355 +msgid "Tuesday" +msgstr "火曜日" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/custom.js:19 +msgid "Unable to save contents: %s" +msgstr "内容を保存できません: %s" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:197 +msgid "" +"Unit: seconds. Default 0 means the entry is added permanently " +"to the set.
Max: 2147483 seconds." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:341 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:461 +msgid "Unknown or not installed conntrack helper \"%s\"" +msgstr "不明またはインストールされていない conntrack ヘルパー \"%s\"" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:186 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:190 +msgid "Unnamed NAT" +msgstr "名称未設定の NAT" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:169 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:184 +msgid "Unnamed forward" +msgstr "名称未設定の転送" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:191 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:211 +msgid "Unnamed rule" +msgstr "名称未設定のルール" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:57 +msgid "Unnamed set" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:130 +msgid "Unnamed zone" +msgstr "名称未設定のゾーン" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:597 +msgid "Unrecognized protocol" +msgstr "認識されていないプロトコル" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:695 +msgid "" +"Upon pressing \"Continue\", \"redirect\" sections with target \"SNAT\" will " +"be converted to \"nat\" sections and the firewall will be restarted to apply " +"the updated configuration." +msgstr "" +"\"続行\" を押下すると、 \"SNAT\" ターゲットを持つ \"redirect\" セクションは " +"\"nat\" セクションに変換されたうえで、ファイアウォールは更新された設定を適用" +"するために再起動されます。" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:315 +msgid "Use external IP address" +msgstr "外部 IP アドレスを使用" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:314 +msgid "Use internal IP address" +msgstr "内部 IP アドレスを使用" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:247 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:378 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:322 +msgid "Use ipset" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:231 +msgid "" +"Use this option to classify zone traffic by raw, non-uci managed " +"network devices." +msgstr "" +"生の、または非 uci 管理下にあるデバイスによるゾーン トラフィックの区" +"分にこのオプションを使用します。" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:236 +msgid "" +"Use this option to classify zone traffic by source or destination subnet " +"instead of networks or devices." +msgstr "" +"ネットワークまたはデバイスに代わり、アクセス元またはアクセス先サブネットによ" +"るゾーン トラフィックの区分にこのオプションを使用します。" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:331 +msgid "Valid firewall mark required" +msgstr "有効なファイアウォール マークが必要です" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:483 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:356 +msgid "Wednesday" +msgstr "水曜日" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:475 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:348 +msgid "Week Days" +msgstr "曜日" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:420 +msgid "XOR firewall mark" +msgstr "ファイアウォール マークの XOR" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:316 +msgid "XOR mark" +msgstr "マークの XOR" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:28 +msgid "Your device does not run firewall4." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:26 +msgid "Your device runs firewall4." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:143 +msgid "Zone ⇒ Forwardings" +msgstr "ゾーン ⇒ 転送" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:101 +msgid "Zones" +msgstr "ゾーン" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:320 +msgid "" +"Zones from which reflection rules shall be created. If unset, only the " +"destination zone is used." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:415 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:70 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:159 +msgid "accept" +msgstr "許可" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:268 +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:463 +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:486 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:270 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:301 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:328 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:392 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:407 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:441 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:448 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:266 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:282 +msgid "any" +msgstr "すべて" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:53 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:86 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:65 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:78 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:46 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:56 +msgid "any zone" +msgstr "すべてのゾーン" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:298 +msgid "any/all" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:419 +msgid "apply firewall mark" +msgstr "ファイアウォール マークの適用" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:418 +msgid "assign conntrack helper" +msgstr "conntrack ヘルパーの割り当て" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:194 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:222 +msgid "automatic" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:131 +msgid "bitmap" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:137 +msgid "bitmap is ipv4 only" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:72 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:89 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:67 +msgid "day" +msgstr "日" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:93 +msgid "dest_ip: Destination IP" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:95 +msgid "dest_mac: Destination MAC addr" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:96 +msgid "dest_net: Destination (sub)net" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:94 +msgid "dest_port: Destination Port" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:98 +msgid "dest_set: Destination ipset*" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:315 +msgid "do not rewrite" +msgstr "書き換えない" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:417 +msgid "don't track" +msgstr "コネクション追跡を行わない" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:414 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:69 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:158 +msgid "drop" +msgstr "破棄" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:21 +msgid "" +"firewall4 supports referencing and creating IP sets to simplify matching of " +"large address lists without the need to create one rule per item to match. " +"Port ranges in ipsets are unsupported by firewall4.
" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:159 +msgid "fromport-toport" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:132 +msgid "hash" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:72 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:89 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:67 +msgid "hour" +msgstr "時間" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:81 +msgid "ip: IP addr" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:153 +msgid "ip[/cidr]
" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:145 +msgid "ip[/cidr]
For use with Match datatypes: *_ip." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:70 +msgid "ipv4" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:133 +msgid "list" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:83 +msgid "mac: MAC addr" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:108 +msgid "macaddr|ip[/cidr]
" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:72 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:89 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:67 +msgid "minute" +msgstr "分" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:84 +msgid "net: (sub)net" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:82 +msgid "port: Port" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:416 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:68 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:157 +msgid "reject" +msgstr "拒否" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:72 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:89 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:67 +msgid "second" +msgstr "秒" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:86 +msgid "set: ipset*" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:92 +msgid "src_Set: Source ipset*" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:87 +msgid "src_ip: Source IP" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:89 +msgid "src_mac: Source MAC addr" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:90 +msgid "src_net: Source (sub)net" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:88 +msgid "src_port: Source Port" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:53 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:62 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:86 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:65 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:78 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:56 +msgid "this device" +msgstr "このデバイス" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:124 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:226 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:339 +msgid "this new zone" +msgstr "この新しいゾーン" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:354 +msgid "unlimited" +msgstr "無制限" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:251 +msgid "unspecified" +msgstr "未設定" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:114 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:173 +msgid "up to 65536 entries." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:339 +msgid "valid firewall mark" +msgstr "有効なファイアウォール マーク" + +#~ msgid "Software based offloading for routing/NAT" +#~ msgstr "ルーティング/NAT のための、ソフトウェアベースのオフロードです。" + +#~ msgid "" +#~ "Forwarded IPv4%{proto?, protocol %{proto#%{next?, }%{item.name}}}%{mark?, mark %{mark." +#~ "val}}" +#~ msgstr "" +#~ "IPv4 の転送%{proto?, プロトコル %{proto#%{next?, }%{item.name}}}%{mark?, マーク %{mark." +#~ "val}}" + +#~ msgid "" +#~ "Incoming IPv4%{proto?, protocol %{proto#%{next?, }%{item.types?%{item.name}ICMP with types %{item.types#%{next?, }%{item}}:%{item.name}}}}%{mark?, mark %{mark.val}}%{helper?, helper %{helper.inv?%{helper.val}:%{helper.val}" +#~ "}}" +#~ msgstr "" +#~ "IPv4 の受信%{proto?, プロトコル %{proto#%{next?, }%{item.types?%{item.name}含" +#~ "まれる ICMP タイプ - %{item.types#%{next?, }%{item}}:%{item.name}}}}%{mark?, マーク %{mark.val}}%{helper?, ヘルパー %{helper.inv?" +#~ "%{helper.val}:%{helper.val}" +#~ "}}" diff --git a/luci-app-firewall/po/ka/firewall.po b/luci-app-firewall/po/ka/firewall.po new file mode 100644 index 000000000..5da118413 --- /dev/null +++ b/luci-app-firewall/po/ka/firewall.po @@ -0,0 +1,1460 @@ +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2010-03-30 17:00+0200\n" +"PO-Revision-Date: 2024-06-29 16:09+0000\n" +"Last-Translator: Temuri Doghonadze \n" +"Language-Team: Georgian \n" +"Language: ka\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Generator: Weblate 5.7-dev\n" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:48 +msgid "" +"%{src?%{dest?Forwarded:Incoming}:Outgoing} %{ipv6?%{ipv4?IPv4 and " +"IPv6:IPv6}:IPv4}%{proto?, protocol " +"%{proto#%{next?, }%{item.types?%{item." +"name}ICMP with types %{item.types#%{next?, }" +"%{item}}:%{item.name}}}}%{mark?, mark " +"%{mark.val}}%{dscp?, DSCP %{dscp." +"inv?%{dscp.val}:%{dscp.val}}}%{helper?, helper " +"%{helper.inv?%{helper.val}:%{helper." +"val}}}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:463 +msgid "-- add IP --" +msgstr "-- დაემატოს IP --" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:521 +msgid "-- add MAC --" +msgstr "-- დაემატოს MAC --" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:199 +msgid "0" +msgstr "0" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:182 +msgid "1024" +msgstr "1024" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:118 +msgid "" +"Accept %{src?%{dest?forward:input}:output}" +msgstr "" +"მიღება %{src?%{dest?გადაგზავნილი:" +"შემავალი}:გამომავალი}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:93 +msgid "Prevent source rewrite" +msgstr "წყაროს ჩანაცვლების არიდება" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:85 +msgid "" +"Forward to %{dest}%{dest_ip? IP " +"%{dest_ip}}%{dest_port? port %{dest_port}}" +msgstr "" +"გადამისამართება %{dest}%{dest_ip? IP-" +"მისამართზე %{dest_ip}}%{dest_port? პორტი %{dest_port}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:115 +msgid "" +"Drop %{src?%{dest?forward:input}:output}" +msgstr "" +"აცილება %{src?%{dest?გადაგზავნილი:შემავალი}:" +"გამომავალი}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:133 +msgid "" +"Assign DSCP classification %{set_dscp}" +"" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:127 +msgid "" +"Assign conntrack helper " +"%{set_helper}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:130 +msgid "" +"%{set_mark?Assign:XOR} firewall mark " +"%{set_mark?:%{set_xmark}}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:90 +msgid "Automatically rewrite source IP" +msgstr "" +"საწყისი IP-მისამართის თავისთავად " +"ჩანაცვლება" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:124 +msgid "" +"Do not track %{src?%{dest?forward:input}:" +"output}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:121 +msgid "" +"Reject %{src?%{dest?forward:input}:output}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:87 +msgid "" +"Statically rewrite to source %{snat_ip?IP " +"%{snat_ip}} %{snat_port?port %{snat_port}}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:306 +msgid "A rewrite IP must be specified!" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:292 +msgid "ACCEPT - Disable address rewriting" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:224 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:225 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:411 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:204 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:287 +msgid "Action" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:322 +msgid "" +"Additional raw iptables arguments to classify zone destination " +"traffic, e.g. -p tcp --dport 443 to only match outbound HTTPS " +"traffic." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:312 +msgid "" +"Additional raw iptables arguments to classify zone source traffic, " +"e.g. -p tcp --sport 443 to only match inbound HTTPS traffic." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:107 +msgid "Address family, Internal IP address must match" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:135 +msgid "" +"Address family, source address, destination address, rewrite IP address must " +"match" +msgstr "" +"მისამართების ჯგუფი, საწყისი მისამართი, საბოლოო მისამართი, ჩანაცვლების IP-" +"მისამართი შესაფერისი უნდა იყოს" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:162 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:183 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:182 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:114 +msgid "Advanced Settings" +msgstr "გაფართოებული პარამეტრები" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:283 +msgid "Allow \"invalid\" traffic" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:385 +msgid "Allow forward from source zones:" +msgstr "გადამისამართების ნებართვა საწყისი არედან:" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:344 +msgid "Allow forward to destination zones:" +msgstr "გადაგზავნის ნებართვა საბოლოო არეებში:" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:551 +msgid "Any" +msgstr "ნებისმიერი" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:479 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:495 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:352 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:368 +msgid "Any day" +msgstr "ნებისმიერი დღე" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:317 +msgid "" +"Apply a bitwise XOR of the given value and the existing mark value on " +"established connections. Format is value[/mask]. If a mask is specified then " +"those bits set in the mask are zeroed out." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:264 +msgid "Apply the given DSCP class or value to established connections." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:439 +msgid "Assign the specified connection tracking helper to matched traffic." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:286 +msgid "Automatic helper assignment" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:286 +msgid "" +"Automatically assign conntrack helpers based on traffic protocol and port" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:61 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:62 +msgid "Comment" +msgstr "შენიშვნა" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:115 +msgid "Conntrack Settings" +msgstr "Conntrack-პარამეტრები" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:290 +msgid "Conntrack helpers" +msgstr "Conntrack-დამხმარე" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/custom.js:16 +msgid "Contents have been saved." +msgstr "შემცველობა შენახულია." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:700 +msgid "Continue" +msgstr "გაგრძელება" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:204 +msgid "Counters" +msgstr "მთვლელები" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:231 +msgid "Covered devices" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:183 +msgid "Covered networks" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:236 +msgid "Covered subnets" +msgstr "" + +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:62 +msgid "Custom Rules" +msgstr "მითითებული წესები" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/custom.js:26 +msgid "" +"Custom rules allow you to execute arbitrary iptables commands which are not " +"otherwise covered by the firewall framework. The commands are executed after " +"each firewall restart, right after the default ruleset has been loaded." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:421 +msgid "DSCP classification" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:263 +msgid "DSCP mark" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:297 +msgid "DSCP mark required" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:402 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:270 +msgid "Destination address" +msgstr "საბოლოო მისამართი" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:404 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:278 +msgid "Destination port" +msgstr "საბოლოო პორტი" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:396 +msgid "Destination zone" +msgstr "საბოლოო არე" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:269 +msgid "Device name" +msgstr "მოწყობილობის სახელი" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:283 +msgid "" +"Do not install extra rules to reject forwarded traffic with conntrack state " +"invalid. This may be required for complex asymmetric route setups." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:59 +msgid "Drop invalid packets" +msgstr "გაუმართავი კრებულების აცილება" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:232 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:231 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:210 +msgid "Enable" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:306 +msgid "Enable NAT Loopback" +msgstr "ამოქმედდეს NAT-უკუკავშირი" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:45 +msgid "Enable SYN-flood protection" +msgstr "SYN-flood-დაცვის ჩართვა" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:296 +msgid "Enable logging on this zone" +msgstr "აღრიცხვის ჩართვა ამ არესთვის" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:168 +msgid "" +"Enable network address and port translation IPv4 (NAT4 or NAPT4) for " +"outbound traffic on this zone. This is typically enabled on the wan " +"zone." +msgstr "" +"ამოქმედდეს ქსელისა და პორტის გარდაქმნა IPv4 (NAT4 ან NAPT4) გამავალი " +"ნაკადისთვის ამ არეში. ჩვეულებრივ მოქმედია ხოლმე wan არეში." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:243 +msgid "" +"Enable network address and port translation IPv6 (NAT6 or NAPT6) for " +"outbound traffic on this zone." +msgstr "" +"ამოქმედდეს ქსელისა და პორტის გარდაქმნა IPv6 (NAT6 ან NAPT6) გამავალი " +"ნაკადისთვის ამ არეში." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:211 +msgid "Enabled" +msgstr "მოქმედია" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:205 +msgid "Enables packet and byte count tracking for the set." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:339 +msgid "Expecting: %s" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:290 +msgid "Explicitly choses allowed connection tracking helpers for zone traffic" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:274 +msgid "External IP address" +msgstr "გარე IP-მისამართი" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:279 +msgid "External port" +msgstr "გარე პორტი" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:349 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:470 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:342 +msgid "Extra arguments" +msgstr "დამატებითი არგუმენტები" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:322 +msgid "Extra destination arguments" +msgstr "დამატებით არგუმენტები საბოლოო წერტილისთვის" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:116 +msgid "Extra iptables arguments" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:312 +msgid "Extra source arguments" +msgstr "დამატებითი არგუმენტები საწყისი წერტილისთვის" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:67 +msgid "Family" +msgstr "ჯგუფი" + +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:3 +msgid "Firewall" +msgstr "ქსელის ფარი" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/custom.js:25 +msgid "Firewall - Custom Rules" +msgstr "ქსელის ფარი - მითითებული წესები" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:20 +msgid "Firewall - IP sets" +msgstr "ქსელის ფარი - IP-ნაკრები" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:172 +msgid "Firewall - NAT Rules" +msgstr "ქსელის ფარი - NAT-წესები" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:152 +msgid "Firewall - Port Forwards" +msgstr "ქსელის ფარი - პორტის გადამისამართება" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:173 +msgid "Firewall - Traffic Rules" +msgstr "ქსელის ფარი - მიმოცვლის წესები" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:38 +msgid "Firewall - Zone Settings" +msgstr "ქსელის ფარი - არეების გამართვა" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:693 +msgid "Firewall configuration migration" +msgstr "ქსელის ფარის გამართვის გადატანა" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:82 +msgid "Flow offloading type" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:64 +msgid "Forward" +msgstr "გადაგზავნა" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:34 +msgid "" +"Forwarded %{ipv6?%{ipv4?IPv4 and IPv6:IPv6}:" +"IPv4}%{proto?, protocol %{proto#%{next?, }%{item.name}}}%{mark?, mark %{mark.val}" +"}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:485 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:358 +msgid "Friday" +msgstr "პარასკევი" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:45 +msgid "" +"From %{src}%{src_device?, interface %{src_device}}%{src_ip?, IP " +"%{src_ip#%{next?, }%{item.ival}}}%{src_port?, port %{src_port#%{next?, }" +"%{item." +"ival}}}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:64 +msgid "" +"From %{src}%{src_device?, interface %{src_device}}%{src_ip?, IP " +"%{src_ip#%{next?, }%{item.ival}}}%{src_port?, port %{src_port#%{next?, }" +"%{item." +"ival}}}%{src_mac?, MAC %{src_mac#%{next?, }%{item.ival}" +"}}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:52 +msgid "" +"From %{src}%{src_ip?, IP %{src_ip#%{next?, }%{item.ival}}}%{src_port?, port %{src_port#%{next?, }%{item.ival}}}%{src_mac?, " +"MAC %{src_mac#%{next?, }%{item.ival}}}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:161 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:182 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:181 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:41 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:113 +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:17 +msgid "General Settings" +msgstr "ზოგადი პარამეტრები" + +#: applications/luci-app-firewall/root/usr/share/rpcd/acl.d/luci-app-firewall.json:3 +msgid "Grant access to firewall configuration" +msgstr "ქსელის ფარის გამართვასთან წვდომის ნებართვა" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:85 +msgid "Hardware based offloading for routing with/without NAT." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:85 +msgid "Hardware flow offloading" +msgstr "ნაკადის აპარატურული განტვირთვა" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:144 +msgid "IP (range)" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:32 +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:53 +msgid "IP Sets" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:152 +msgid "IPs/Networks" +msgstr "IP-ები/ქსელები" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:107 +msgid "IPs/Networks/MACs" +msgstr "IP-ები/ქსელები/MAC-ები" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:68 +msgid "IPv4" +msgstr "IPv4" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:191 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:280 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:219 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:256 +msgid "IPv4 and IPv6" +msgstr "IPv4 და IPv6" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:192 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:281 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:220 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:257 +msgid "IPv4 only" +msgstr "IPv4 მხოლოდ" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:69 +msgid "IPv6" +msgstr "IPv6" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:242 +msgid "IPv6 Masquerading" +msgstr "IPv6 შენიღბვა" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:193 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:282 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:221 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:258 +msgid "IPv6 only" +msgstr "IPv6 მხოლოდ" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:252 +msgid "Inbound device" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:187 +msgid "Include File" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:40 +msgid "" +"Incoming %{ipv6?%{ipv4?IPv4 and IPv6:IPv6}:" +"IPv4}%{proto?, protocol %{proto#%{next?, }%{item.types?%{item.name}ICMP " +"with types %{item.types#%{next?, }%{item}}:" +"%{item.name}}}}%{mark?, mark %{mark.val}}%{helper?, helper %{helper.inv?%{helper.val}:%{helper.val}}}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:180 +msgid "Initial Hash Size" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:62 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:151 +msgid "Input" +msgstr "შემავალი" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:292 +msgid "Internal IP address" +msgstr "შიდა IP-მისამართი" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:297 +msgid "Internal port" +msgstr "შიდა პორტი" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:287 +msgid "Internal zone" +msgstr "შიდა არე" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:153 +msgid "Intra zone forward" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:305 +msgid "Invalid DSCP mark" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:373 +msgid "Invalid limit value" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:47 +msgid "Invalid set name" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:383 +msgid "Limit burst" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:299 +msgid "Limit log messages" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:349 +msgid "Limit matching" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:79 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:96 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:74 +msgid "" +"Limit matching to %{limit.num} packets per %{limit.unit}%{limit.burst? burst %{limit.burst}}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:175 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:250 +msgid "Limited masquerading enabled" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:350 +msgid "Limits traffic matching to the specified rate." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:311 +msgid "Loopback source IP" +msgstr "უკუკავშირის წყაროს IP" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:291 +msgid "MASQUERADE - Automatically rewrite to outbound interface IP" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:180 +msgid "MSS clamping" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:167 +msgid "Masquerading" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:213 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:214 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:193 +msgid "Match" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:263 +msgid "Match DSCP" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:293 +msgid "Match ICMP type" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:249 +msgid "Match device" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:271 +msgid "Match forwarded traffic directed at the given IP address." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:279 +msgid "" +"Match forwarded traffic directed at the given destination port or port range." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:254 +msgid "Match forwarded traffic from this IP or range." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:262 +msgid "" +"Match forwarded traffic originating from the given source port or port range." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:326 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:446 +msgid "Match helper" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:280 +msgid "" +"Match incoming traffic directed at the given destination port or port range " +"on this host" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:316 +msgid "Match mark" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:326 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:446 +msgid "Match traffic using the specified connection tracking helper." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:319 +msgid "Matches a specific firewall mark or a range of different marks." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:332 +msgid "Matches forwarded traffic using the specified outbound network device." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:264 +msgid "Matches traffic carrying the specified DSCP marking." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:113 +msgid "Max Entries" +msgstr "მაქს. ჩანაწერები" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:172 +msgid "Max Length" +msgstr "უმაღლესი სიგრძე" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:384 +msgid "" +"Maximum initial number of packets to match: this number gets recharged by " +"one every time the limit specified above is not reached, up to this number." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:481 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:354 +msgid "Monday" +msgstr "ორშაბათი" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:491 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:364 +msgid "Month Days" +msgstr "თვის დღეები" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:175 +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:44 +msgid "NAT Rules" +msgstr "NAT-წესები" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:173 +msgid "" +"NAT rules allow fine grained control over the source IP to use for outbound " +"or forwarded traffic." +msgstr "" +"NAT-წესების მეშვეობით უკეთ შეიძლება იმართოს საწყისი IP გამავალი ან " +"გადამისამართებული ნაკადისთვის." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:183 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:42 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:52 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:210 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:189 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:129 +msgid "Name" +msgstr "სახელი" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:166 +msgid "Netmask" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:83 +msgid "None" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:77 +msgid "Not fully compatible with QoS/SQM." +msgstr "სრულად თავსებადი არ იქნება QoS/SQM." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:275 +msgid "Only match incoming traffic directed at the given IP address." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:256 +msgid "Only match incoming traffic from these MACs." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:261 +msgid "Only match incoming traffic from this IP or range." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:266 +msgid "" +"Only match incoming traffic originating from the given source port or port " +"range on the client host" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:253 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:331 +msgid "Outbound device" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:246 +msgid "Outbound zone" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:63 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:152 +msgid "Output" +msgstr "გამომავალი" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:75 +msgid "Packet Field Match" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:76 +msgid "" +"Packet fields to match upon.
Syntax: direction_datatype. e.g.: " +"src_port, dest_net.
Directions: src, dst. " +"Datatypes: ip, port, mac, net, set.
Direction prefixes are " +"optional.
*Note: datatype set is unsupported in fw4." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:350 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:471 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:343 +msgid "Passes additional arguments to iptables. Use with care!" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:309 +msgid "" +"Passing raw iptables arguments to source and destination traffic " +"classification rules allows to match packets based on other criteria than " +"interfaces or subnets. These options should be used with extreme care as " +"invalid values could render the firewall ruleset broken, completely exposing " +"all services." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:188 +msgid "Path to file of CIDRs, subnets, host IPs, etc.
" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:155 +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:26 +msgid "Port Forwards" +msgstr "პორტის გადამისამართება" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:153 +msgid "" +"Port forwarding allows remote computers on the Internet to connect to a " +"specific computer or service within the private LAN." +msgstr "" +"პორტის გადამისამართებით მოშორებულ კომპიუტერებს ინტერნეტით შეეძლება " +"ადგილობრივი ქსელის რომელიმე კომპიუტერთან ან მომსახურებასთან წვდომა." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:158 +msgid "Port range" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:237 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:289 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:242 +msgid "Protocol" +msgstr "ოქმი" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:298 +msgid "" +"Redirect matched incoming traffic to the given port on the internal host" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:293 +msgid "Redirect matched incoming traffic to the specified internal host" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:122 +msgid "Refer To External Set" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:320 +msgid "Reflection zones" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:85 +msgid "Requires hardware NAT support." +msgstr "ესაჭიროება აპარატურული NAT-მხარდაჭერა." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:272 +msgid "Restrict Masquerading to given destination subnets" +msgstr "შენიღბვის აკრძალვა მოცემული საბოლოო ქვექსელებისკენ" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:261 +msgid "Restrict Masquerading to given source subnets" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:188 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:277 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:216 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:255 +msgid "Restrict to address family" +msgstr "მისამართის ჯგუფის შეზღუდვა" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:297 +msgid "Rewrite IP address" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:298 +msgid "Rewrite matched traffic to the specified source IP address." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:312 +msgid "Rewrite matched traffic to the specified source port or port range." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:311 +msgid "Rewrite port" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:76 +msgid "Routing/NAT Offloading" +msgstr "დამისამართება/NAT-განტვირთვა" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:290 +msgid "SNAT - Rewrite to specific source IP or port" +msgstr "SNAT - ჩანაცვლება ზოგიერთი საწყისი IP-ისა თუ პორტისა" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:486 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:359 +msgid "Saturday" +msgstr "შაბათი" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:316 +msgid "Set mark" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:318 +msgid "" +"Set the given mark value on established connections. Format is value[/mask]. " +"If a mask is specified then only those bits set in the mask are modified." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:84 +msgid "Software based offloading for routing/NAT." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:84 +msgid "Software flow offloading" +msgstr "ნაკადის პროგრამული განტვირთვა" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:260 +msgid "Source IP address" +msgstr "საწყისი IP-მისამართი" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:255 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:386 +msgid "Source MAC address" +msgstr "საწყისი MAC-მისამართი" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:387 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:253 +msgid "Source address" +msgstr "საწყისი მისამართი" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:265 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:389 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:261 +msgid "Source port" +msgstr "საწყისი პორტი" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:241 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:372 +msgid "Source zone" +msgstr "საწყისი არე" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:270 +msgid "" +"Specifies whether to tie this traffic rule to a specific inbound or outbound " +"network device." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:311 +msgid "" +"Specifies whether to use the external or the internal IP address for " +"reflected traffic." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:510 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:383 +msgid "Start Date (yyyy-mm-dd)" +msgstr "დაწყების თარიღი (yyyy-mm-dd)" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:502 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:375 +msgid "Start Time (hh:mm:ss)" +msgstr "დაწყების დრო (hh:mm:ss)" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:514 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:387 +msgid "Stop Date (yyyy-mm-dd)" +msgstr "შეწყვეტის თარიღი (yyyy-mm-dd)" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:506 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:379 +msgid "Stop Time (hh:mm:ss)" +msgstr "შეწყვეტის დრო (hh:mm:ss)" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:130 +msgid "Storage Method" +msgstr "შენახვის ხერხი" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:480 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:353 +msgid "Sunday" +msgstr "კვირა" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:694 +msgid "" +"The existing firewall configuration needs to be changed for LuCI to function " +"properly." +msgstr "" +"ქსელის ფარის არსებული გამართვა უნდა შეიცვალოს, რომ LuCI სათანადოდ მუშაობდეს." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:39 +msgid "" +"The firewall creates zones over your network interfaces to control network " +"traffic flow." +msgstr "" +"ქსელის ფარი ქმნის არეებს ქსელის მაკავშირებლებს შორის მიმოცვლილი მონაცემების " +"სამართავად." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:227 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:340 +msgid "" +"The options below control the forwarding policies between this zone (%s) and " +"other zones. Destination zones cover forwarded traffic " +"originating from %q. Source zones match forwarded " +"traffic from other zones targeted at %q. The forwarding " +"rule is unidirectional, e.g. a forward from lan to wan does " +"not imply a permission to forward from wan to lan as well." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:125 +msgid "" +"This section defines common properties of %q. The input and " +"output options set the default policies for traffic entering and " +"leaving this zone while the forward option describes the policy for " +"forwarded traffic between different networks within the zone. Covered " +"networks specifies which available networks are members of this zone." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:484 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:357 +msgid "Thursday" +msgstr "ოთხშაბათი" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:184 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:183 +msgid "Time Restrictions" +msgstr "დროის შეზღუდვები" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:518 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:391 +msgid "Time in UTC" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:244 +msgid "Time restrictions are enabled for this rule" +msgstr "დროის შეზღუდვები ამოქმედებულია ამ წესისთვის" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:196 +msgid "Timeout" +msgstr "მოლოდინის ვადა" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:77 +msgid "" +"To %{dest}%{dest_device?, interface %{dest_device}}%{dest_ip?, IP " +"%{dest_ip#%{next?, }%{item.ival}
}}%{dest_port?, port %{dest_port#%{next?, }" +"%{item." +"ival}}}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:55 +msgid "" +"To %{dest}%{dest_device?, via interface %{dest_device}}%{dest_ip?, IP %{dest_ip#%{next?, }%{item.ival}}}%{dest_port?, port " +"%{dest_port#%{next?, }%{item.ival}}}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:61 +msgid "" +"To %{dest}%{dest_ip?, IP %{dest_ip#%{next?, }%{item.ival}}}%{dest_port?, port %{dest_port#%{next?, }%{item.ival}}}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:439 +msgid "Tracking helper" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:176 +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:35 +msgid "Traffic Rules" +msgstr "მიმოცვლის წესები" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:174 +msgid "" +"Traffic rules define policies for packets travelling between different " +"zones, for example to reject traffic between certain hosts or to open WAN " +"ports on the router." +msgstr "" +"მიმოცვლის წესებით განისაზღვრება დებულებები კრებულთა მიმოცვლისთვის არეებს " +"შორის, მაგალითად, ცალკეული წყაროდან მომავალი მონაცემების ასაკრძალად ან გარე " +"პორტების გასახსნელად როუტერზე." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:482 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:355 +msgid "Tuesday" +msgstr "სამშაბათი" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/custom.js:19 +msgid "Unable to save contents: %s" +msgstr "ვერ შეინახა შიგთავსი: %s" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:197 +msgid "" +"Unit: seconds. Default 0 means the entry is added permanently " +"to the set.
Max: 2147483 seconds." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:341 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:461 +msgid "Unknown or not installed conntrack helper \"%s\"" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:186 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:190 +msgid "Unnamed NAT" +msgstr "უსახელო NAT" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:169 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:184 +msgid "Unnamed forward" +msgstr "უსახელო გადამისამართება" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:191 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:211 +msgid "Unnamed rule" +msgstr "უსახელო წესი" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:57 +msgid "Unnamed set" +msgstr "უსახელო ნაკრები" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:130 +msgid "Unnamed zone" +msgstr "უსახელო არე" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:597 +msgid "Unrecognized protocol" +msgstr "დაუდგენელი ოქმი" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:695 +msgid "" +"Upon pressing \"Continue\", \"redirect\" sections with target \"SNAT\" will " +"be converted to \"nat\" sections and the firewall will be restarted to apply " +"the updated configuration." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:315 +msgid "Use external IP address" +msgstr "გარე IP-მისამართის გამოყენება" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:314 +msgid "Use internal IP address" +msgstr "შიდა IP-მისამართის გამოყენება" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:247 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:378 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:322 +msgid "Use ipset" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:231 +msgid "" +"Use this option to classify zone traffic by raw, non-uci managed " +"network devices." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:236 +msgid "" +"Use this option to classify zone traffic by source or destination subnet " +"instead of networks or devices." +msgstr "" +"ამ პარამეტრის გამოყენება არეებში მიმოცვლის დასახარისხებლად საწყისი ან " +"საბოლოო ქვექსელით, ნაცვლად ქსელებით ან მოწყობილობებით." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:331 +msgid "Valid firewall mark required" +msgstr "ქსელის ფარის მართებული ნიშანია საჭირო" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:483 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:356 +msgid "Wednesday" +msgstr "ოთხშაბათი" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:475 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:348 +msgid "Week Days" +msgstr "კვირის დღეები" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:420 +msgid "XOR firewall mark" +msgstr "ქსელის ფარის XOR-ნიშანი" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:316 +msgid "XOR mark" +msgstr "XOR-ნიშანი" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:28 +msgid "Your device does not run firewall4." +msgstr "თქვენს მოწყობილობაზე არაა გაშვებული firewall4." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:26 +msgid "Your device runs firewall4." +msgstr "თქვენს მოწყობილობაზე გაშვებულია firewall4." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:143 +msgid "Zone ⇒ Forwardings" +msgstr "არე ⇒ გადამისამართება" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:101 +msgid "Zones" +msgstr "არეები" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:320 +msgid "" +"Zones from which reflection rules shall be created. If unset, only the " +"destination zone is used." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:415 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:70 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:159 +msgid "accept" +msgstr "მიღება" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:268 +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:463 +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:486 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:270 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:301 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:328 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:392 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:407 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:441 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:448 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:266 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:282 +msgid "any" +msgstr "ნებისმიერი" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:53 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:86 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:65 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:78 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:46 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:56 +msgid "any zone" +msgstr "ნებისმიერი არე" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:298 +msgid "any/all" +msgstr "ნებისმიერი/ყველა" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:419 +msgid "apply firewall mark" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:418 +msgid "assign conntrack helper" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:194 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:222 +msgid "automatic" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:131 +msgid "bitmap" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:137 +msgid "bitmap is ipv4 only" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:72 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:89 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:67 +msgid "day" +msgstr "დღე" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:93 +msgid "dest_ip: Destination IP" +msgstr "dest_ip: საბოლოო IP" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:95 +msgid "dest_mac: Destination MAC addr" +msgstr "dest_mac: საბოლოო MAC-მის" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:96 +msgid "dest_net: Destination (sub)net" +msgstr "dest_net: საბოლოო (ქვე)ქსელი" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:94 +msgid "dest_port: Destination Port" +msgstr "dest_port: საბოლოო პორტი" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:98 +msgid "dest_set: Destination ipset*" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:315 +msgid "do not rewrite" +msgstr "ჩანაცვლების გარეშე" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:417 +msgid "don't track" +msgstr "მიდევნების გარეშე" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:414 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:69 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:158 +msgid "drop" +msgstr "აცილება" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:21 +msgid "" +"firewall4 supports referencing and creating IP sets to simplify matching of " +"large address lists without the need to create one rule per item to match. " +"Port ranges in ipsets are unsupported by firewall4.
" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:159 +msgid "fromport-toport" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:132 +msgid "hash" +msgstr "ჰეში" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:72 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:89 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:67 +msgid "hour" +msgstr "საათი" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:81 +msgid "ip: IP addr" +msgstr "ip: IP-მის" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:153 +msgid "ip[/cidr]
" +msgstr "ip[/cidr]
" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:145 +msgid "ip[/cidr]
For use with Match datatypes: *_ip." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:70 +msgid "ipv4" +msgstr "ipv4" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:133 +msgid "list" +msgstr "სია" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:83 +msgid "mac: MAC addr" +msgstr "mac: MAC-მის" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:108 +msgid "macaddr|ip[/cidr]
" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:72 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:89 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:67 +msgid "minute" +msgstr "წუთი" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:84 +msgid "net: (sub)net" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:82 +msgid "port: Port" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:416 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:68 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:157 +msgid "reject" +msgstr "უარყოფა" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:72 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:89 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:67 +msgid "second" +msgstr "წამი" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:86 +msgid "set: ipset*" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:92 +msgid "src_Set: Source ipset*" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:87 +msgid "src_ip: Source IP" +msgstr "src_ip: საწყისი IP" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:89 +msgid "src_mac: Source MAC addr" +msgstr "src_mac: საწყისი MAC-მის" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:90 +msgid "src_net: Source (sub)net" +msgstr "src_net: საწყისი (ქვე)ქსელი" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:88 +msgid "src_port: Source Port" +msgstr "src_port: საწყისი პორტი" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:53 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:62 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:86 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:65 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:78 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:56 +msgid "this device" +msgstr "ეს მოწყობილობა" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:124 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:226 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:339 +msgid "this new zone" +msgstr "ახალი არე" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:354 +msgid "unlimited" +msgstr "შეუზღუდავი" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:251 +msgid "unspecified" +msgstr "არ მითითებულა" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:114 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:173 +msgid "up to 65536 entries." +msgstr "65536 ჩანაწერამდე." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:339 +msgid "valid firewall mark" +msgstr "" + +#~ msgid "Software based offloading for routing/NAT" +#~ msgstr "პროგრამული სახით განიტვირთება დამისამართება/NAT" diff --git a/luci-app-firewall/po/ko/firewall.po b/luci-app-firewall/po/ko/firewall.po new file mode 100644 index 000000000..46f4dc0d7 --- /dev/null +++ b/luci-app-firewall/po/ko/firewall.po @@ -0,0 +1,1452 @@ +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2010-03-30 17:00+0200\n" +"PO-Revision-Date: 2022-11-22 08:46+0000\n" +"Last-Translator: Taewook Yang (ワリ) \n" +"Language-Team: Korean \n" +"Language: ko\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=1; plural=0;\n" +"X-Generator: Weblate 4.15-dev\n" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:48 +msgid "" +"%{src?%{dest?Forwarded:Incoming}:Outgoing} %{ipv6?%{ipv4?IPv4 and " +"IPv6:IPv6}:IPv4}%{proto?, protocol " +"%{proto#%{next?, }%{item.types?%{item." +"name}ICMP with types %{item.types#%{next?, }" +"%{item}}:%{item.name}}}}%{mark?, mark " +"%{mark.val}}%{dscp?, DSCP %{dscp." +"inv?%{dscp.val}:%{dscp.val}}}%{helper?, helper " +"%{helper.inv?%{helper.val}:%{helper." +"val}}}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:463 +msgid "-- add IP --" +msgstr "-- IP 추가 --" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:521 +msgid "-- add MAC --" +msgstr "-- MAC 주소 추가 --" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:199 +msgid "0" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:182 +msgid "1024" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:118 +msgid "" +"Accept %{src?%{dest?forward:input}:output}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:93 +msgid "Prevent source rewrite" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:85 +msgid "" +"Forward to %{dest}%{dest_ip? IP " +"%{dest_ip}}%{dest_port? port %{dest_port}}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:115 +msgid "" +"Drop %{src?%{dest?forward:input}:output}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:133 +msgid "" +"Assign DSCP classification %{set_dscp}" +"" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:127 +msgid "" +"Assign conntrack helper " +"%{set_helper}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:130 +msgid "" +"%{set_mark?Assign:XOR} firewall mark " +"%{set_mark?:%{set_xmark}}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:90 +msgid "Automatically rewrite source IP" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:124 +msgid "" +"Do not track %{src?%{dest?forward:input}:" +"output}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:121 +msgid "" +"Reject %{src?%{dest?forward:input}:output}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:87 +msgid "" +"Statically rewrite to source %{snat_ip?IP " +"%{snat_ip}} %{snat_port?port %{snat_port}}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:306 +msgid "A rewrite IP must be specified!" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:292 +msgid "ACCEPT - Disable address rewriting" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:224 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:225 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:411 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:204 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:287 +msgid "Action" +msgstr "액션" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:322 +msgid "" +"Additional raw iptables arguments to classify zone destination " +"traffic, e.g. -p tcp --dport 443 to only match outbound HTTPS " +"traffic." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:312 +msgid "" +"Additional raw iptables arguments to classify zone source traffic, " +"e.g. -p tcp --sport 443 to only match inbound HTTPS traffic." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:107 +msgid "Address family, Internal IP address must match" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:135 +msgid "" +"Address family, source address, destination address, rewrite IP address must " +"match" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:162 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:183 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:182 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:114 +msgid "Advanced Settings" +msgstr "고급 설정" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:283 +msgid "Allow \"invalid\" traffic" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:385 +msgid "Allow forward from source zones:" +msgstr "Source zone 로부터의 forward 허용:" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:344 +msgid "Allow forward to destination zones:" +msgstr "Destination zone 으로 forward 허용:" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:551 +msgid "Any" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:479 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:495 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:352 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:368 +msgid "Any day" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:317 +msgid "" +"Apply a bitwise XOR of the given value and the existing mark value on " +"established connections. Format is value[/mask]. If a mask is specified then " +"those bits set in the mask are zeroed out." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:264 +msgid "Apply the given DSCP class or value to established connections." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:439 +msgid "Assign the specified connection tracking helper to matched traffic." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:286 +msgid "Automatic helper assignment" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:286 +msgid "" +"Automatically assign conntrack helpers based on traffic protocol and port" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:61 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:62 +msgid "Comment" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:115 +msgid "Conntrack Settings" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:290 +msgid "Conntrack helpers" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/custom.js:16 +msgid "Contents have been saved." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:700 +msgid "Continue" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:204 +msgid "Counters" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:231 +msgid "Covered devices" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:183 +msgid "Covered networks" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:236 +msgid "Covered subnets" +msgstr "" + +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:62 +msgid "Custom Rules" +msgstr "사용자 규칙" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/custom.js:26 +msgid "" +"Custom rules allow you to execute arbitrary iptables commands which are not " +"otherwise covered by the firewall framework. The commands are executed after " +"each firewall restart, right after the default ruleset has been loaded." +msgstr "" +"사용자 규칙을 사용하면 방화벽 프레임워크로 해결이 되지 않는 임의의 iptables " +"명령을 실행할 수 있습니다. 입력된 명령어들은 매 방화벽 재시작시 default " +"ruleset을 불러온 직후 실행됩니다." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:421 +msgid "DSCP classification" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:263 +msgid "DSCP mark" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:297 +msgid "DSCP mark required" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:402 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:270 +msgid "Destination address" +msgstr "목적지 주소" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:404 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:278 +msgid "Destination port" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:396 +msgid "Destination zone" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:269 +msgid "Device name" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:283 +msgid "" +"Do not install extra rules to reject forwarded traffic with conntrack state " +"invalid. This may be required for complex asymmetric route setups." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:59 +msgid "Drop invalid packets" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:232 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:231 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:210 +msgid "Enable" +msgstr "활성화" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:306 +msgid "Enable NAT Loopback" +msgstr "NAT 루프백 활성화" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:45 +msgid "Enable SYN-flood protection" +msgstr "SYN-flood protection 활성화" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:296 +msgid "Enable logging on this zone" +msgstr "해당 Zone 의 로그 활성화" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:168 +msgid "" +"Enable network address and port translation IPv4 (NAT4 or NAPT4) for " +"outbound traffic on this zone. This is typically enabled on the wan " +"zone." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:243 +msgid "" +"Enable network address and port translation IPv6 (NAT6 or NAPT6) for " +"outbound traffic on this zone." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:211 +msgid "Enabled" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:205 +msgid "Enables packet and byte count tracking for the set." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:339 +msgid "Expecting: %s" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:290 +msgid "Explicitly choses allowed connection tracking helpers for zone traffic" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:274 +msgid "External IP address" +msgstr "외부 IP 주소" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:279 +msgid "External port" +msgstr "외부 포트" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:349 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:470 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:342 +msgid "Extra arguments" +msgstr "추가 변수" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:322 +msgid "Extra destination arguments" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:116 +msgid "Extra iptables arguments" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:312 +msgid "Extra source arguments" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:67 +msgid "Family" +msgstr "" + +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:3 +msgid "Firewall" +msgstr "방화벽" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/custom.js:25 +msgid "Firewall - Custom Rules" +msgstr "방화벽 - 사용자 규칙" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:20 +msgid "Firewall - IP sets" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:172 +msgid "Firewall - NAT Rules" +msgstr "방화벽 - NAT 규칙" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:152 +msgid "Firewall - Port Forwards" +msgstr "방화벽 - 포트 포워드" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:173 +msgid "Firewall - Traffic Rules" +msgstr "방화벽 - 트래픽 규칙" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:38 +msgid "Firewall - Zone Settings" +msgstr "방화벽 - Zone 설정" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:693 +msgid "Firewall configuration migration" +msgstr "방화벽 구성 마이그레이션" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:82 +msgid "Flow offloading type" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:64 +msgid "Forward" +msgstr "포워드" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:34 +msgid "" +"Forwarded %{ipv6?%{ipv4?IPv4 and IPv6:IPv6}:" +"IPv4}%{proto?, protocol %{proto#%{next?, }%{item.name}}}%{mark?, mark %{mark.val}" +"}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:485 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:358 +msgid "Friday" +msgstr "금요일" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:45 +msgid "" +"From %{src}%{src_device?, interface %{src_device}}%{src_ip?, IP " +"%{src_ip#%{next?, }%{item.ival}}}%{src_port?, port %{src_port#%{next?, }" +"%{item." +"ival}}}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:64 +msgid "" +"From %{src}%{src_device?, interface %{src_device}}%{src_ip?, IP " +"%{src_ip#%{next?, }%{item.ival}}}%{src_port?, port %{src_port#%{next?, }" +"%{item." +"ival}}}%{src_mac?, MAC %{src_mac#%{next?, }%{item.ival}" +"}}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:52 +msgid "" +"From %{src}%{src_ip?, IP %{src_ip#%{next?, }%{item.ival}}}%{src_port?, port %{src_port#%{next?, }%{item.ival}}}%{src_mac?, " +"MAC %{src_mac#%{next?, }%{item.ival}}}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:161 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:182 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:181 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:41 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:113 +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:17 +msgid "General Settings" +msgstr "기본 설정" + +#: applications/luci-app-firewall/root/usr/share/rpcd/acl.d/luci-app-firewall.json:3 +msgid "Grant access to firewall configuration" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:85 +msgid "Hardware based offloading for routing with/without NAT." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:85 +msgid "Hardware flow offloading" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:144 +msgid "IP (range)" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:32 +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:53 +msgid "IP Sets" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:152 +msgid "IPs/Networks" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:107 +msgid "IPs/Networks/MACs" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:68 +msgid "IPv4" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:191 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:280 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:219 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:256 +msgid "IPv4 and IPv6" +msgstr "IPv4와 IPv6" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:192 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:281 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:220 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:257 +msgid "IPv4 only" +msgstr "IPv4 전용" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:69 +msgid "IPv6" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:242 +msgid "IPv6 Masquerading" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:193 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:282 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:221 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:258 +msgid "IPv6 only" +msgstr "IPv6 전용" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:252 +msgid "Inbound device" +msgstr "인바운드 장치" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:187 +msgid "Include File" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:40 +msgid "" +"Incoming %{ipv6?%{ipv4?IPv4 and IPv6:IPv6}:" +"IPv4}%{proto?, protocol %{proto#%{next?, }%{item.types?%{item.name}ICMP " +"with types %{item.types#%{next?, }%{item}}:" +"%{item.name}}}}%{mark?, mark %{mark.val}}%{helper?, helper %{helper.inv?%{helper.val}:%{helper.val}}}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:180 +msgid "Initial Hash Size" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:62 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:151 +msgid "Input" +msgstr "입력" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:292 +msgid "Internal IP address" +msgstr "내부 IP 주소" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:297 +msgid "Internal port" +msgstr "내부 포트" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:287 +msgid "Internal zone" +msgstr "내부 Zone" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:153 +msgid "Intra zone forward" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:305 +msgid "Invalid DSCP mark" +msgstr "잘못된 DSCP 마크" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:373 +msgid "Invalid limit value" +msgstr "잘못된 limit 값" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:47 +msgid "Invalid set name" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:383 +msgid "Limit burst" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:299 +msgid "Limit log messages" +msgstr "로그 메시지 제한" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:349 +msgid "Limit matching" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:79 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:96 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:74 +msgid "" +"Limit matching to %{limit.num} packets per %{limit.unit}%{limit.burst? burst %{limit.burst}}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:175 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:250 +msgid "Limited masquerading enabled" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:350 +msgid "Limits traffic matching to the specified rate." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:311 +msgid "Loopback source IP" +msgstr "루프백 소스 IP" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:291 +msgid "MASQUERADE - Automatically rewrite to outbound interface IP" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:180 +msgid "MSS clamping" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:167 +msgid "Masquerading" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:213 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:214 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:193 +msgid "Match" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:263 +msgid "Match DSCP" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:293 +msgid "Match ICMP type" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:249 +msgid "Match device" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:271 +msgid "Match forwarded traffic directed at the given IP address." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:279 +msgid "" +"Match forwarded traffic directed at the given destination port or port range." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:254 +msgid "Match forwarded traffic from this IP or range." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:262 +msgid "" +"Match forwarded traffic originating from the given source port or port range." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:326 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:446 +msgid "Match helper" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:280 +msgid "" +"Match incoming traffic directed at the given destination port or port range " +"on this host" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:316 +msgid "Match mark" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:326 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:446 +msgid "Match traffic using the specified connection tracking helper." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:319 +msgid "Matches a specific firewall mark or a range of different marks." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:332 +msgid "Matches forwarded traffic using the specified outbound network device." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:264 +msgid "Matches traffic carrying the specified DSCP marking." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:113 +msgid "Max Entries" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:172 +msgid "Max Length" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:384 +msgid "" +"Maximum initial number of packets to match: this number gets recharged by " +"one every time the limit specified above is not reached, up to this number." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:481 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:354 +msgid "Monday" +msgstr "월요일" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:491 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:364 +msgid "Month Days" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:175 +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:44 +msgid "NAT Rules" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:173 +msgid "" +"NAT rules allow fine grained control over the source IP to use for outbound " +"or forwarded traffic." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:183 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:42 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:52 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:210 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:189 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:129 +msgid "Name" +msgstr "이름" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:166 +msgid "Netmask" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:83 +msgid "None" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:77 +msgid "Not fully compatible with QoS/SQM." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:275 +msgid "Only match incoming traffic directed at the given IP address." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:256 +msgid "Only match incoming traffic from these MACs." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:261 +msgid "Only match incoming traffic from this IP or range." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:266 +msgid "" +"Only match incoming traffic originating from the given source port or port " +"range on the client host" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:253 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:331 +msgid "Outbound device" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:246 +msgid "Outbound zone" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:63 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:152 +msgid "Output" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:75 +msgid "Packet Field Match" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:76 +msgid "" +"Packet fields to match upon.
Syntax: direction_datatype. e.g.: " +"src_port, dest_net.
Directions: src, dst. " +"Datatypes: ip, port, mac, net, set.
Direction prefixes are " +"optional.
*Note: datatype set is unsupported in fw4." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:350 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:471 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:343 +msgid "Passes additional arguments to iptables. Use with care!" +msgstr "iptables 명령에 추가 변수들을 전달합니다. 주의하여 사용하세요!" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:309 +msgid "" +"Passing raw iptables arguments to source and destination traffic " +"classification rules allows to match packets based on other criteria than " +"interfaces or subnets. These options should be used with extreme care as " +"invalid values could render the firewall ruleset broken, completely exposing " +"all services." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:188 +msgid "Path to file of CIDRs, subnets, host IPs, etc.
" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:155 +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:26 +msgid "Port Forwards" +msgstr "Port Forward" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:153 +msgid "" +"Port forwarding allows remote computers on the Internet to connect to a " +"specific computer or service within the private LAN." +msgstr "" +"Port forwarding 기능은 인터넷 상의 원격 컴퓨터가 내부 LAN 에 속한 특정 컴퓨터" +"나 서비스에 접속할 수 있도록 합니다." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:158 +msgid "Port range" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:237 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:289 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:242 +msgid "Protocol" +msgstr "프로토콜" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:298 +msgid "" +"Redirect matched incoming traffic to the given port on the internal host" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:293 +msgid "Redirect matched incoming traffic to the specified internal host" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:122 +msgid "Refer To External Set" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:320 +msgid "Reflection zones" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:85 +msgid "Requires hardware NAT support." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:272 +msgid "Restrict Masquerading to given destination subnets" +msgstr "주어진 destination subnet 으로 Masquerading 제한" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:261 +msgid "Restrict Masquerading to given source subnets" +msgstr "주어진 source subnet 으로 Masquerading 제한" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:188 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:277 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:216 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:255 +msgid "Restrict to address family" +msgstr "Address family 제한" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:297 +msgid "Rewrite IP address" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:298 +msgid "Rewrite matched traffic to the specified source IP address." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:312 +msgid "Rewrite matched traffic to the specified source port or port range." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:311 +msgid "Rewrite port" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:76 +msgid "Routing/NAT Offloading" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:290 +msgid "SNAT - Rewrite to specific source IP or port" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:486 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:359 +msgid "Saturday" +msgstr "토요일" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:316 +msgid "Set mark" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:318 +msgid "" +"Set the given mark value on established connections. Format is value[/mask]. " +"If a mask is specified then only those bits set in the mask are modified." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:84 +msgid "Software based offloading for routing/NAT." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:84 +msgid "Software flow offloading" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:260 +msgid "Source IP address" +msgstr "Source IP 주소" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:255 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:386 +msgid "Source MAC address" +msgstr "Source MAC 주소" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:387 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:253 +msgid "Source address" +msgstr "Source 주소" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:265 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:389 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:261 +msgid "Source port" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:241 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:372 +msgid "Source zone" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:270 +msgid "" +"Specifies whether to tie this traffic rule to a specific inbound or outbound " +"network device." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:311 +msgid "" +"Specifies whether to use the external or the internal IP address for " +"reflected traffic." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:510 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:383 +msgid "Start Date (yyyy-mm-dd)" +msgstr "시작 날짜 (yyyy-mm-dd)" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:502 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:375 +msgid "Start Time (hh:mm:ss)" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:514 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:387 +msgid "Stop Date (yyyy-mm-dd)" +msgstr "종료 날짜 (yyyy-mm-dd)" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:506 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:379 +msgid "Stop Time (hh:mm:ss)" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:130 +msgid "Storage Method" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:480 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:353 +msgid "Sunday" +msgstr "일요일" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:694 +msgid "" +"The existing firewall configuration needs to be changed for LuCI to function " +"properly." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:39 +msgid "" +"The firewall creates zones over your network interfaces to control network " +"traffic flow." +msgstr "" +"방화벽 기능을 이용하여 네트워크 인터페이스와 연결된 zone 을 생성할 수 있고 이" +"를 이용하여 네트워크 traffic flow 를 제어할 수 있습니다." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:227 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:340 +msgid "" +"The options below control the forwarding policies between this zone (%s) and " +"other zones. Destination zones cover forwarded traffic " +"originating from %q. Source zones match forwarded " +"traffic from other zones targeted at %q. The forwarding " +"rule is unidirectional, e.g. a forward from lan to wan does " +"not imply a permission to forward from wan to lan as well." +msgstr "" +"이 zone (%s) 과 다른 zone 들 사이의 forwarding 정책을 제어하는 옵션들입니다. " +"Destination zones%q 에서 출발한 forward " +"traffic 을 뜻하고, Source zones 은 다른 zone 들에서 %q 로 전" +"달되는 forward traffic 을 뜻합니다. Forwarding rule 은 " +"unidirectional 인데, 예를 들어 LAN 에서 WAN 으로의 forward 규칙이 " +"WAN 에서 LAN 으로의 forward 를 허락하는 것이 아닙니다." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:125 +msgid "" +"This section defines common properties of %q. The input and " +"output options set the default policies for traffic entering and " +"leaving this zone while the forward option describes the policy for " +"forwarded traffic between different networks within the zone. Covered " +"networks specifies which available networks are members of this zone." +msgstr "" +"이 섹션은 %q 의 공통 속성을 설정할 수 있습니다. input 과 " +"output 옵션은 이 Zone 으로 전달되어 들오거나 나가는 트래픽에 대한 기" +"본 정책을 뜻합니다. forward 옵션은 Zone 내에서 다른 네트워크들 사이" +"를 오가는 포워드 트래픽에 대한 정책을 뜻합니다. Covered networks 에" +"서는 Zone 의 영향을 받을 네트워크들을 지정할 수 있습니다." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:484 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:357 +msgid "Thursday" +msgstr "목요일" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:184 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:183 +msgid "Time Restrictions" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:518 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:391 +msgid "Time in UTC" +msgstr "UTC 기준시" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:244 +msgid "Time restrictions are enabled for this rule" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:196 +msgid "Timeout" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:77 +msgid "" +"To %{dest}%{dest_device?, interface %{dest_device}}%{dest_ip?, IP " +"%{dest_ip#%{next?, }%{item.ival}
}}%{dest_port?, port %{dest_port#%{next?, }" +"%{item." +"ival}}}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:55 +msgid "" +"To %{dest}%{dest_device?, via interface %{dest_device}}%{dest_ip?, IP %{dest_ip#%{next?, }%{item.ival}}}%{dest_port?, port " +"%{dest_port#%{next?, }%{item.ival}}}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:61 +msgid "" +"To %{dest}%{dest_ip?, IP %{dest_ip#%{next?, }%{item.ival}}}%{dest_port?, port %{dest_port#%{next?, }%{item.ival}}}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:439 +msgid "Tracking helper" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:176 +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:35 +msgid "Traffic Rules" +msgstr "Traffic Rule" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:174 +msgid "" +"Traffic rules define policies for packets travelling between different " +"zones, for example to reject traffic between certain hosts or to open WAN " +"ports on the router." +msgstr "" +"Traffic rule 은 서로 다른 zone 사이를 오가는 패킷들에 대한 정책을 정의합니" +"다. 예를 들어 특정 host 들 사이의 트래픽을 차단하거나 공유기의 WAN port 를 " +"open 할때 사용됩니다." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:482 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:355 +msgid "Tuesday" +msgstr "화요일" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/custom.js:19 +msgid "Unable to save contents: %s" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:197 +msgid "" +"Unit: seconds. Default 0 means the entry is added permanently " +"to the set.
Max: 2147483 seconds." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:341 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:461 +msgid "Unknown or not installed conntrack helper \"%s\"" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:186 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:190 +msgid "Unnamed NAT" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:169 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:184 +msgid "Unnamed forward" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:191 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:211 +msgid "Unnamed rule" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:57 +msgid "Unnamed set" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:130 +msgid "Unnamed zone" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:597 +msgid "Unrecognized protocol" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:695 +msgid "" +"Upon pressing \"Continue\", \"redirect\" sections with target \"SNAT\" will " +"be converted to \"nat\" sections and the firewall will be restarted to apply " +"the updated configuration." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:315 +msgid "Use external IP address" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:314 +msgid "Use internal IP address" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:247 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:378 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:322 +msgid "Use ipset" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:231 +msgid "" +"Use this option to classify zone traffic by raw, non-uci managed " +"network devices." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:236 +msgid "" +"Use this option to classify zone traffic by source or destination subnet " +"instead of networks or devices." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:331 +msgid "Valid firewall mark required" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:483 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:356 +msgid "Wednesday" +msgstr "수요일" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:475 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:348 +msgid "Week Days" +msgstr "주일" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:420 +msgid "XOR firewall mark" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:316 +msgid "XOR mark" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:28 +msgid "Your device does not run firewall4." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:26 +msgid "Your device runs firewall4." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:143 +msgid "Zone ⇒ Forwardings" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:101 +msgid "Zones" +msgstr "Zone 내역" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:320 +msgid "" +"Zones from which reflection rules shall be created. If unset, only the " +"destination zone is used." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:415 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:70 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:159 +msgid "accept" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:268 +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:463 +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:486 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:270 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:301 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:328 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:392 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:407 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:441 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:448 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:266 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:282 +msgid "any" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:53 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:86 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:65 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:78 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:46 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:56 +msgid "any zone" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:298 +msgid "any/all" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:419 +msgid "apply firewall mark" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:418 +msgid "assign conntrack helper" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:194 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:222 +msgid "automatic" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:131 +msgid "bitmap" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:137 +msgid "bitmap is ipv4 only" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:72 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:89 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:67 +msgid "day" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:93 +msgid "dest_ip: Destination IP" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:95 +msgid "dest_mac: Destination MAC addr" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:96 +msgid "dest_net: Destination (sub)net" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:94 +msgid "dest_port: Destination Port" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:98 +msgid "dest_set: Destination ipset*" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:315 +msgid "do not rewrite" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:417 +msgid "don't track" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:414 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:69 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:158 +msgid "drop" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:21 +msgid "" +"firewall4 supports referencing and creating IP sets to simplify matching of " +"large address lists without the need to create one rule per item to match. " +"Port ranges in ipsets are unsupported by firewall4.
" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:159 +msgid "fromport-toport" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:132 +msgid "hash" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:72 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:89 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:67 +msgid "hour" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:81 +msgid "ip: IP addr" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:153 +msgid "ip[/cidr]
" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:145 +msgid "ip[/cidr]
For use with Match datatypes: *_ip." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:70 +msgid "ipv4" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:133 +msgid "list" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:83 +msgid "mac: MAC addr" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:108 +msgid "macaddr|ip[/cidr]
" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:72 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:89 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:67 +msgid "minute" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:84 +msgid "net: (sub)net" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:82 +msgid "port: Port" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:416 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:68 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:157 +msgid "reject" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:72 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:89 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:67 +msgid "second" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:86 +msgid "set: ipset*" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:92 +msgid "src_Set: Source ipset*" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:87 +msgid "src_ip: Source IP" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:89 +msgid "src_mac: Source MAC addr" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:90 +msgid "src_net: Source (sub)net" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:88 +msgid "src_port: Source Port" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:53 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:62 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:86 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:65 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:78 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:56 +msgid "this device" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:124 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:226 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:339 +msgid "this new zone" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:354 +msgid "unlimited" +msgstr "무제한" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:251 +msgid "unspecified" +msgstr "명시되지 않음" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:114 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:173 +msgid "up to 65536 entries." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:339 +msgid "valid firewall mark" +msgstr "" diff --git a/luci-app-firewall/po/lt/firewall.po b/luci-app-firewall/po/lt/firewall.po new file mode 100644 index 000000000..aa01f0d77 --- /dev/null +++ b/luci-app-firewall/po/lt/firewall.po @@ -0,0 +1,1625 @@ +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"PO-Revision-Date: 2024-10-20 19:09+0000\n" +"Last-Translator: Džiugas Januševičius \n" +"Language-Team: Lithuanian \n" +"Language: lt\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && (" +"n%100<10 || n%100>=20) ? 1 : 2);\n" +"X-Generator: Weblate 5.8-rc\n" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:48 +msgid "" +"%{src?%{dest?Forwarded:Incoming}:Outgoing} %{ipv6?%{ipv4?IPv4 and " +"IPv6:IPv6}:IPv4}%{proto?, protocol " +"%{proto#%{next?, }%{item.types?%{item." +"name}ICMP with types %{item.types#%{next?, }" +"%{item}}:%{item.name}}}}%{mark?, mark " +"%{mark.val}}%{dscp?, DSCP %{dscp." +"inv?%{dscp.val}:%{dscp.val}}}%{helper?, helper " +"%{helper.inv?%{helper.val}:%{helper." +"val}}}" +msgstr "" +"%{src?%{dest?Persiųsta:Gaunama}:Išsiunčiama} %{ipv6?%{ipv4?IPv4 " +"and IPv6:IPv6}:IPv4}%{proto?, protokolas " +"%{proto#%{next?, }%{item.types?%{item." +"name}„ICMP“ su tipais %{item.types#%{next?, }" +"%{item}}:%{item.name}}}}%{mark?, mark " +"%{mark.val}}%{dscp?, DSCP %{dscp.inv?%{dscp.val}:" +"%{dscp.val}}}%{helper?, helper %{helper.inv?%{helper.val}:%{helper.val}}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:463 +msgid "-- add IP --" +msgstr "-- Pridėti IP --" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:521 +msgid "-- add MAC --" +msgstr "-- Pridėti „MAC“ --" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:199 +msgid "0" +msgstr "0" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:182 +msgid "1024" +msgstr "1024" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:118 +msgid "" +"Accept %{src?%{dest?forward:input}:output}" +msgstr "" +"Priimti %{src?%{dest?forward:input}:" +"output}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:93 +msgid "Prevent source rewrite" +msgstr "Neleisti išteklio perrašymo" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:85 +msgid "" +"Forward to %{dest}%{dest_ip? IP " +"%{dest_ip}}%{dest_port? port %{dest_port}}" +msgstr "" +"Persiųsti į %{dest}%{dest_ip? IP " +"%{dest_ip}}%{dest_port? prievadas %{dest_port}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:115 +msgid "" +"Drop %{src?%{dest?forward:input}:output}" +msgstr "" +"Mesti/Šalinti %{src?%{dest?forward:input}:" +"output}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:133 +msgid "" +"Assign DSCP classification %{set_dscp}" +"" +msgstr "" +"Priskirti „DSCP“ classification " +"%{set_dscp}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:127 +msgid "" +"Assign conntrack helper " +"%{set_helper}" +msgstr "" +"Priskirti „conntrack“ helper " +"%{set_helper}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:130 +msgid "" +"%{set_mark?Assign:XOR} firewall mark " +"%{set_mark?:%{set_xmark}}" +msgstr "" +"%{set_mark?Assign:XOR} užkardos žymė " +"%{set_mark?:%{set_xmark}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:90 +msgid "Automatically rewrite source IP" +msgstr "" +"Automatiškai perrašyti IP šaltinį" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:124 +msgid "" +"Do not track %{src?%{dest?forward:input}:" +"output}" +msgstr "" +"Nesekti %{src?%{dest?forward:input}:" +"output}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:121 +msgid "" +"Reject %{src?%{dest?forward:input}:output}" +msgstr "" +"Atmesti %{src?%{dest?forward:input}:" +"output}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:87 +msgid "" +"Statically rewrite to source %{snat_ip?IP " +"%{snat_ip}} %{snat_port?port %{snat_port}}" +msgstr "" +"Statistiškai perrašyti į šaltinį %{snat_ip?" +"IP %{snat_ip}} %{snat_port?port %{snat_port}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:306 +msgid "A rewrite IP must be specified!" +msgstr "Turi būti nurodytas perrašymo IP!" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:292 +msgid "ACCEPT - Disable address rewriting" +msgstr "PRIIMTI – išjungti adreso perrašymą" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:224 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:225 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:411 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:204 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:287 +msgid "Action" +msgstr "Veiksmas" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:322 +msgid "" +"Additional raw iptables arguments to classify zone destination " +"traffic, e.g. -p tcp --dport 443 to only match outbound HTTPS " +"traffic." +msgstr "" +"Papildomi neapdoroti „iptables“ argumentai, skirti klasifikuoti " +"zonos paskirties srautą, pvz. „-p tcp --dport 443“, kad " +"atitiktų tik išsiunčiamą „HTTPS“ srautą." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:312 +msgid "" +"Additional raw iptables arguments to classify zone source traffic, " +"e.g. -p tcp --sport 443 to only match inbound HTTPS traffic." +msgstr "" +"Papildomi neapdoroti „iptables“ argumentai zonos šaltinio srautui " +"klasifikuoti, pvz. „-p tcp --sport 443“, kad atitiktų tik " +"atvykstantį „HTTPS“ srautą." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:107 +msgid "Address family, Internal IP address must match" +msgstr "Adresų „šeima“, vidinis IP adresas turi atitikti" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:135 +msgid "" +"Address family, source address, destination address, rewrite IP address must " +"match" +msgstr "" +"Adresų „šeima“, šaltinio adresas, paskirties adresas, perrašymo IP adresas " +"turi atitikti" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:162 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:183 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:182 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:114 +msgid "Advanced Settings" +msgstr "Pažangūs nustatymai" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:283 +msgid "Allow \"invalid\" traffic" +msgstr "Leisti „techniškai neveikiančiai“ veiklai" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:385 +msgid "Allow forward from source zones:" +msgstr "Leisti perleidimą iš išteklio zonų:" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:344 +msgid "Allow forward to destination zones:" +msgstr "Leisti perleidimą į paskirties zonas:" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:551 +msgid "Any" +msgstr "Bet koks" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:479 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:495 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:352 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:368 +msgid "Any day" +msgstr "Bet kokią dieną" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:317 +msgid "" +"Apply a bitwise XOR of the given value and the existing mark value on " +"established connections. Format is value[/mask]. If a mask is specified then " +"those bits set in the mask are zeroed out." +msgstr "" +"Taikyti duotosios vertės ir esamos žymos reikšmės bitinį „XOR“ sukurtiems " +"ryšiams. Formatas yra „value[/mask]“. Jei nurodyta tinklavimo „kaukė“ – " +"adresų segregatorius, tada tinklavimo „kaukėje“ – adresų segregatoriuje " +"nustatyti bitai yra – nuliniai." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:264 +msgid "Apply the given DSCP class or value to established connections." +msgstr "Taikyti nurodyta „DSCP“ klasę arba reikšmę užmegztiems ryšiams." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:439 +msgid "Assign the specified connection tracking helper to matched traffic." +msgstr "Priskirti nurodytą ryšio sekimo pagelbiklį atitinkančiam srautui." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:286 +msgid "Automatic helper assignment" +msgstr "Automatinis pagelbiklio paskyrimas" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:286 +msgid "" +"Automatically assign conntrack helpers based on traffic protocol and port" +msgstr "" +"Automatiškai priskirti „conntrack“ pagelbiklius pagal srauto protokolą ir " +"prievadą" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:61 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:62 +msgid "Comment" +msgstr "Komentuoti" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:115 +msgid "Conntrack Settings" +msgstr "„Conntrack“ nustatymai" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:290 +msgid "Conntrack helpers" +msgstr "„Conntrack“ pagelbikliai" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/custom.js:16 +msgid "Contents have been saved." +msgstr "Turinys buvo išsaugotas." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:700 +msgid "Continue" +msgstr "Tęsti" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:204 +msgid "Counters" +msgstr "Rodikliai" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:231 +msgid "Covered devices" +msgstr "Įtraukti/Apgaubti įrenginiai" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:183 +msgid "Covered networks" +msgstr "Įtraukti/Apgaubti tinklai" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:236 +msgid "Covered subnets" +msgstr "Įtraukti/Apgaubti potinkliai" + +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:62 +msgid "Custom Rules" +msgstr "Pasirinktinės taisyklės" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/custom.js:26 +msgid "" +"Custom rules allow you to execute arbitrary iptables commands which are not " +"otherwise covered by the firewall framework. The commands are executed after " +"each firewall restart, right after the default ruleset has been loaded." +msgstr "" +"Pasirinktinės taisyklės leidžia vykdyti savavališkas „iptables“ komandas, " +"kurių užkardo pagrindų sistema kitaip neapima. Komandos vykdomos po " +"kiekvieno užkardo paleidimo iš naujo, iškart po to, kai įkeliamas " +"numatytasis taisyklių rinkinys." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:421 +msgid "DSCP classification" +msgstr "„DSCP“ klasifikacija" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:263 +msgid "DSCP mark" +msgstr "„DSCP“ žymė" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:297 +msgid "DSCP mark required" +msgstr "„DSCP“ žymė reikalinga" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:402 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:270 +msgid "Destination address" +msgstr "Paskirties/Kelionės tikslo adresas" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:404 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:278 +msgid "Destination port" +msgstr "Paskirties/Kelionės tikslo prievadas" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:396 +msgid "Destination zone" +msgstr "Paskirties/Kelionės tikslo zona" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:269 +msgid "Device name" +msgstr "Įrenginio vardas" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:283 +msgid "" +"Do not install extra rules to reject forwarded traffic with conntrack state " +"invalid. This may be required for complex asymmetric route setups." +msgstr "" +"Neįdiegkite papildomų taisyklių, kad atmestumėte persiųstą srautą, kai " +"„conntrack“ būsena „netinkama“. To gali prireikti nustatant " +"sudėtingus asimetrinius maršrutus." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:59 +msgid "Drop invalid packets" +msgstr "Mesti/Šalinti netinkamus paketus" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:232 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:231 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:210 +msgid "Enable" +msgstr "Įjungti/Įgalinti" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:306 +msgid "Enable NAT Loopback" +msgstr "Įjungti/Įgalinti „NAT Loopback“" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:45 +msgid "Enable SYN-flood protection" +msgstr "Įjungti/Įgalinti „SYN-flood“ apsauga" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:296 +msgid "Enable logging on this zone" +msgstr "Įjungti/Įgalinti žurnalinima šitoje zonoje" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:168 +msgid "" +"Enable network address and port translation IPv4 (NAT4 or NAPT4) for " +"outbound traffic on this zone. This is typically enabled on the wan " +"zone." +msgstr "" +"Įjungti tinklo adresus ir prievado vertimą IPv4 („NAT4“ arba „NAPT4“) " +"išsiunčiamam srautui šitoje zonoje. Tai tipiškai įjungiama/įgalinima " +"„wan“ zonoje." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:243 +msgid "" +"Enable network address and port translation IPv6 (NAT6 or NAPT6) for " +"outbound traffic on this zone." +msgstr "" +"Įjungti tinklo adresus ir prievado vertimą IPv6 („NAT6“ arba „NAPT6“) " +"išsiunčiamam srautui šitoje zonoje." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:211 +msgid "Enabled" +msgstr "Įjungta/Įgalinta (-s/-i)" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:205 +msgid "Enables packet and byte count tracking for the set." +msgstr "Įgalina rinkinio paketų ir baitų skaičiaus sekimą." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:339 +msgid "Expecting: %s" +msgstr "Tikimasi: „%s“" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:290 +msgid "Explicitly choses allowed connection tracking helpers for zone traffic" +msgstr "Aiškiai pasirenka leistinus ryšio sekimo pagelbiklius zonos srautui" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:274 +msgid "External IP address" +msgstr "Išorinis IP adresas" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:279 +msgid "External port" +msgstr "Išorinis prievadas" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:349 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:470 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:342 +msgid "Extra arguments" +msgstr "Papildomi argumentai" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:322 +msgid "Extra destination arguments" +msgstr "Papildomi paskirties/kelionės tikslo argumentai" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:116 +msgid "Extra iptables arguments" +msgstr "Papildomi „iptables“ argumentai" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:312 +msgid "Extra source arguments" +msgstr "Papildomi išteklio argumentai" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:67 +msgid "Family" +msgstr "Šeima" + +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:3 +msgid "Firewall" +msgstr "Užkarda" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/custom.js:25 +msgid "Firewall - Custom Rules" +msgstr "Užkarda - Atskiros/Pasirinktinės taisyklės" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:20 +msgid "Firewall - IP sets" +msgstr "Užkarda – IP rinkiniai" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:172 +msgid "Firewall - NAT Rules" +msgstr "Užkarda - „NAT“ taisyklės" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:152 +msgid "Firewall - Port Forwards" +msgstr "Užkarda – Prievadų persiuntimas/-ai" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:173 +msgid "Firewall - Traffic Rules" +msgstr "Užkarda - Srauto taisyklės" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:38 +msgid "Firewall - Zone Settings" +msgstr "Užkarda - Zonų nustatymai" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:693 +msgid "Firewall configuration migration" +msgstr "Užkardos konfigūracijos migracija" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:82 +msgid "Flow offloading type" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:64 +msgid "Forward" +msgstr "Persiųsti" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:34 +msgid "" +"Forwarded %{ipv6?%{ipv4?IPv4 and IPv6:IPv6}:" +"IPv4}%{proto?, protocol %{proto#%{next?, }%{item.name}}}%{mark?, mark %{mark.val}" +"}" +msgstr "" +"Persiųsta %{ipv6?%{ipv4?IPv4 ir IPv6:IPv6}:" +"IPv4}%{proto?, protokolas %{proto#%{next?, }%{item.name}}}%{mark?, mark %{mark." +"val}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:485 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:358 +msgid "Friday" +msgstr "Penktadienis" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:45 +msgid "" +"From %{src}%{src_device?, interface %{src_device}}%{src_ip?, IP " +"%{src_ip#%{next?, }%{item.ival}}}%{src_port?, port %{src_port#%{next?, }" +"%{item." +"ival}}}" +msgstr "" +"Iš %{src}%{src_device?, sąsajos ir/ar sietuvo %{src_device}}%{src_ip?, IP %{src_ip#%{next?, }%{item.ival}}}%{src_port?, prievadas %{src_port#%{next?, }%{item.ival}}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:64 +msgid "" +"From %{src}%{src_device?, interface %{src_device}}%{src_ip?, IP " +"%{src_ip#%{next?, }%{item.ival}}}%{src_port?, port %{src_port#%{next?, }" +"%{item." +"ival}}}%{src_mac?, MAC %{src_mac#%{next?, }%{item.ival}" +"}}" +msgstr "" +"Iš %{src}%{src_device?, interface %{src_device}}%{src_ip?, IP " +"%{src_ip#%{next?, }%{item.ival}}}%{src_port?, prievadas " +"%{src_port#%{next?, }%{item.ival}}}%{src_mac?, „MAC“ " +"%{src_mac#%{next?, }%{item.ival}}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:52 +msgid "" +"From %{src}%{src_ip?, IP %{src_ip#%{next?, }%{item.ival}}}%{src_port?, port %{src_port#%{next?, }%{item.ival}}}%{src_mac?, " +"MAC %{src_mac#%{next?, }%{item.ival}}}" +msgstr "" +"Iš %{src}%{src_ip?, IP %{src_ip#%{next?, }%{item.ival}}}%{src_port?, port %{src_port#%{next?, }%{item.ival}}}%{src_mac?, MAC %{src_mac#%{next?, }%{item.ival}}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:161 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:182 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:181 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:41 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:113 +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:17 +msgid "General Settings" +msgstr "Bendri nustatymai" + +#: applications/luci-app-firewall/root/usr/share/rpcd/acl.d/luci-app-firewall.json:3 +msgid "Grant access to firewall configuration" +msgstr "" +"Duoti prieigą prie užkardos konfigūravimo „pkg – firewall configuration“" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:85 +msgid "Hardware based offloading for routing with/without NAT." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:85 +msgid "Hardware flow offloading" +msgstr "Aparatinės įrangos srauto iškrovimas" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:144 +msgid "IP (range)" +msgstr "IP (diapazonas)" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:32 +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:53 +msgid "IP Sets" +msgstr "IP rinkiniai" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:152 +msgid "IPs/Networks" +msgstr "IP(dgs.)/Tinklai" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:107 +msgid "IPs/Networks/MACs" +msgstr "IP(dgs.)/Tinklai/„MACs“" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:68 +msgid "IPv4" +msgstr "IPv4 – Interneto protokolo versija 4" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:191 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:280 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:219 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:256 +msgid "IPv4 and IPv6" +msgstr "IPv4 ir IPv6" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:192 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:281 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:220 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:257 +msgid "IPv4 only" +msgstr "Tik IPv4" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:69 +msgid "IPv6" +msgstr "IPv6 – Interneto protokolo versija 6" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:242 +msgid "IPv6 Masquerading" +msgstr "IPv6 privataus IP į viešojo IP konvertavimas" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:193 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:282 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:221 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:258 +msgid "IPv6 only" +msgstr "Tik IPv6" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:252 +msgid "Inbound device" +msgstr "Atvykstantis įrenginys" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:187 +msgid "Include File" +msgstr "Įtraukti failą" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:40 +msgid "" +"Incoming %{ipv6?%{ipv4?IPv4 and IPv6:IPv6}:" +"IPv4}%{proto?, protocol %{proto#%{next?, }%{item.types?%{item.name}ICMP " +"with types %{item.types#%{next?, }%{item}}:" +"%{item.name}}}}%{mark?, mark %{mark.val}}%{helper?, helper %{helper.inv?%{helper.val}:%{helper.val}}}" +msgstr "" +"Gaunamas %{ipv6?%{ipv4?IPv4 ir IPv6:IPv6}:" +"IPv4}%{proto?, protokolas %{proto#%{next?, }%{item.types?%{item.name}„ICMP“ su tipais %{item.types#%{next?, }%{item}}:%{item.name}}}}%{mark?, mark %{mark.val}}%{helper?, helper " +"%{helper.inv?%{helper.val}:%{helper.val}}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:180 +msgid "Initial Hash Size" +msgstr "Pradinis maišos dydis" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:62 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:151 +msgid "Input" +msgstr "Įvestis" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:292 +msgid "Internal IP address" +msgstr "Vidinis IP adresas" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:297 +msgid "Internal port" +msgstr "Vidinis prievadas" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:287 +msgid "Internal zone" +msgstr "Vidinė zona" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:153 +msgid "Intra zone forward" +msgstr "Tarpzoninis persiuntimas" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:305 +msgid "Invalid DSCP mark" +msgstr "Netinkamą „DSCP“ žymę" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:373 +msgid "Invalid limit value" +msgstr "Netinkama ribinė reikšmė" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:47 +msgid "Invalid set name" +msgstr "Neteisingas rinkinio pavadinimas" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:383 +msgid "Limit burst" +msgstr "Apriboti pliūpsnius" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:299 +msgid "Limit log messages" +msgstr "Riboti žurnalo pranešimus" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:349 +msgid "Limit matching" +msgstr "Apriboti atitikimą" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:79 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:96 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:74 +msgid "" +"Limit matching to %{limit.num} packets per %{limit.unit}%{limit.burst? burst %{limit.burst}}" +msgstr "" +"Apriboti atitikimą į „%{limit.num}“ paketus/-ai per „%{limit." +"unit}%{limit.burst? burst %{limit.burst}}“" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:175 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:250 +msgid "Limited masquerading enabled" +msgstr "Įjungtas ribotas privataus IP į viešojo IP konvertavimas" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:350 +msgid "Limits traffic matching to the specified rate." +msgstr "Apriboja srauto atitikimą iki nurodytos spartos." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:311 +msgid "Loopback source IP" +msgstr "IP ciklo grįžimo šaltinis" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:291 +msgid "MASQUERADE - Automatically rewrite to outbound interface IP" +msgstr "" +"„MASQUERADE“ – Automatiškai perrašyti į išsiunčiamos sąsajos IP (privatus IP " +"į viešąjį IP)" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:180 +msgid "MSS clamping" +msgstr "„MSS“ prispaudimas" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:167 +msgid "Masquerading" +msgstr "Privataus IP į viešojo IP konvertavimas" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:213 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:214 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:193 +msgid "Match" +msgstr "Atitikti" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:263 +msgid "Match DSCP" +msgstr "Atitikti „DSCP“" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:293 +msgid "Match ICMP type" +msgstr "Atitikti „ICMP“ tipą" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:249 +msgid "Match device" +msgstr "Atitikti įrenginį" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:271 +msgid "Match forwarded traffic directed at the given IP address." +msgstr "Atitikti peradresuotą srautą, nukreiptą nurodytu IP adresu." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:279 +msgid "" +"Match forwarded traffic directed at the given destination port or port range." +msgstr "" +"Atitikti persiųstą srautą, nukreiptą į nurodytą paskirties prievadą arba " +"prievado diapazoną." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:254 +msgid "Match forwarded traffic from this IP or range." +msgstr "Atitikti persiųstą srautą iš šio IP arba diapazono." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:262 +msgid "" +"Match forwarded traffic originating from the given source port or port range." +msgstr "" +"Atitikti persiųstą srautą, kilusį iš nurodyto šaltinio prievado arba " +"prievadų diapazono." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:326 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:446 +msgid "Match helper" +msgstr "Atitikti pagelbiklį" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:280 +msgid "" +"Match incoming traffic directed at the given destination port or port range " +"on this host" +msgstr "" +"Atitikti įeinantį srautą, nukreiptą į nurodytą paskirties prievadą arba " +"prievadų diapazoną ant šito skleidėjo/vedėjo" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:316 +msgid "Match mark" +msgstr "Atitiktį žymę" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:326 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:446 +msgid "Match traffic using the specified connection tracking helper." +msgstr "Atitikti srautą naudodami nurodytą ryšio sekimo pagelbiklį." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:319 +msgid "Matches a specific firewall mark or a range of different marks." +msgstr "Atitinka savitą užkardos žymę arba daugybę skirtingų žymių." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:332 +msgid "Matches forwarded traffic using the specified outbound network device." +msgstr "" +"Atitinka persiųstą srautą naudojant nurodytą išsiunčiamo tinklo įrenginį." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:264 +msgid "Matches traffic carrying the specified DSCP marking." +msgstr "Atitinka srautą su nurodytu „DSCP“ žymėjimu." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:113 +msgid "Max Entries" +msgstr "Maksimalus įrašų skaičius" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:172 +msgid "Max Length" +msgstr "Maksimalus ilgis" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:384 +msgid "" +"Maximum initial number of packets to match: this number gets recharged by " +"one every time the limit specified above is not reached, up to this number." +msgstr "" +"Maksimalus pradinis paketų skaičius: šis skaičius įkraunamas vienu kaskart, " +"kai nepasiekiama aukščiau nurodyta riba, iki šio skaičiaus." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:481 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:354 +msgid "Monday" +msgstr "Pirmadienis" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:491 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:364 +msgid "Month Days" +msgstr "Mėnesis/Mėnuo, dienos" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:175 +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:44 +msgid "NAT Rules" +msgstr "„NAT“ taisyklės" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:173 +msgid "" +"NAT rules allow fine grained control over the source IP to use for outbound " +"or forwarded traffic." +msgstr "" +"„NAT“ taisyklės leidžia tiksliai valdyti šaltinio IP, kurią galima naudoti " +"išsiunčiamam arba persiunčiamam srautui." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:183 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:42 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:52 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:210 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:189 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:129 +msgid "Name" +msgstr "Vardas/Pavadinimas" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:166 +msgid "Netmask" +msgstr "Tinklavimo „net-kaukė“ – 32-bitų adresas, IP užmaskãvimas" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:83 +msgid "None" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:77 +msgid "Not fully compatible with QoS/SQM." +msgstr "Nepilnai suderinamas su „QoS“/„SQM“." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:275 +msgid "Only match incoming traffic directed at the given IP address." +msgstr "Atitikti tik įeinantį srautą, nukreiptą nurodytu IP adresu." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:256 +msgid "Only match incoming traffic from these MACs." +msgstr "Atitikti tik įeinantį srautą iš šių „MAC“ adresų." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:261 +msgid "Only match incoming traffic from this IP or range." +msgstr "Atitikti tik įeinantį srautą iš šio IP arba diapazono." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:266 +msgid "" +"Only match incoming traffic originating from the given source port or port " +"range on the client host" +msgstr "" +"Atitikti tik gaunamą srautą, kilusį iš nurodyto šaltinio prievado arba " +"prievadų diapazono kliento skleidėjo/vedėjo" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:253 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:331 +msgid "Outbound device" +msgstr "Išsiunčiamasis įrenginys" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:246 +msgid "Outbound zone" +msgstr "Išsiunčiamoji zona" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:63 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:152 +msgid "Output" +msgstr "Išvestis" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:75 +msgid "Packet Field Match" +msgstr "Paketo lauko atitikimas" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:76 +msgid "" +"Packet fields to match upon.
Syntax: direction_datatype. e.g.: " +"src_port, dest_net.
Directions: src, dst. " +"Datatypes: ip, port, mac, net, set.
Direction prefixes are " +"optional.
*Note: datatype set is unsupported in fw4." +msgstr "" +"Paketų laukai, kuriuos reikia suderinti. „
Syntax: " +"direction_datatype“. Pvz.: „src_port, dest_net.
Directions: src, dst“. Duomenų tipai: „ip, port, mac, " +"net, set.
“ Krypties priešdėliai yra pasirenkami.„
“ " +"*Pastaba: duomenų tipas „set“ yra nepalaikomas per „fw4“." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:350 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:471 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:343 +msgid "Passes additional arguments to iptables. Use with care!" +msgstr "Perduoda papildomus argumentus į „iptables“. Naudokite atsargiai!" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:309 +msgid "" +"Passing raw iptables arguments to source and destination traffic " +"classification rules allows to match packets based on other criteria than " +"interfaces or subnets. These options should be used with extreme care as " +"invalid values could render the firewall ruleset broken, completely exposing " +"all services." +msgstr "" +"Perduodant neapdorotus „iptables“ argumentus į šaltinio ir paskirties srauto " +"klasifikavimo taisyklės leidžia suderinti paketus pagal kitus kriterijus nei " +"sąsajos ar potinklius. Šias parinktis reikia naudoti labai atsargiai, nes " +"dėl netinkamų reikšmių, užkardos taisyklių rinkinys gali būti sugadintas; " +"visiškai atskleisti visas tarnybas." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:188 +msgid "Path to file of CIDRs, subnets, host IPs, etc.
" +msgstr "" +"Kelias į „CIDR“ (dgs.) failą , potinklius, skleidėjų/vedėjų IP (dgs.) ir kt." +"
" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:155 +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:26 +msgid "Port Forwards" +msgstr "Prievadų persiuntimai" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:153 +msgid "" +"Port forwarding allows remote computers on the Internet to connect to a " +"specific computer or service within the private LAN." +msgstr "" +"Prievadų persiuntimas leidžia išoriniams kompiuteriams internete prisijungti " +"prie Jūsų savito kompiuterio ar paslaugų veikiančių Jūsų privačiame " +"vietiniame („LAN“) tinkle." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:158 +msgid "Port range" +msgstr "Prievadų diapazono pasiekiamumas/numatomas apribojimas" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:237 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:289 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:242 +msgid "Protocol" +msgstr "Protokolas" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:298 +msgid "" +"Redirect matched incoming traffic to the given port on the internal host" +msgstr "" +"Peradresuoti suderintą gaunamą srautą į nurodytą vidinio skleidėjo/vedėjo " +"prievadą" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:293 +msgid "Redirect matched incoming traffic to the specified internal host" +msgstr "" +"Peradresuoti atitinkantį gaunamą srautą į nurodytą vidinį skleidėją/vedėją" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:122 +msgid "Refer To External Set" +msgstr "Žr. Išorinis rinkinys" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:320 +msgid "Reflection zones" +msgstr "Atspindžio zonos" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:85 +msgid "Requires hardware NAT support." +msgstr "Reikalingas techninės įrangos „NAT“ palaikymas." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:272 +msgid "Restrict Masquerading to given destination subnets" +msgstr "" +"Apriboti privataus IP į viešojo IP konvertavimą nurodytais paskirties " +"potinkliais" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:261 +msgid "Restrict Masquerading to given source subnets" +msgstr "" +"Apriboti privataus IP į viešojo IP konvertavimą nurodytais šaltinio " +"potinkliais" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:188 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:277 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:216 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:255 +msgid "Restrict to address family" +msgstr "Apriboti į adreso „šeimą“" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:297 +msgid "Rewrite IP address" +msgstr "Perrašyti IP adresą" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:298 +msgid "Rewrite matched traffic to the specified source IP address." +msgstr "Perrašyti suderintą srautą į nurodytą šaltinio IP adresą." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:312 +msgid "Rewrite matched traffic to the specified source port or port range." +msgstr "" +"Perrašyti suderintą srautą į nurodytą šaltinio prievadą arba prievado " +"diapazoną." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:311 +msgid "Rewrite port" +msgstr "Perrašyti prievadą" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:76 +msgid "Routing/NAT Offloading" +msgstr "Kelvados/„NAT“ iškrovos perkėlimas" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:290 +msgid "SNAT - Rewrite to specific source IP or port" +msgstr "„SNAT“ – perrašyti į savito šaltinio IP arba prievadą" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:486 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:359 +msgid "Saturday" +msgstr "Šeštadienis" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:316 +msgid "Set mark" +msgstr "Nustatyti žymę" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:318 +msgid "" +"Set the given mark value on established connections. Format is value[/mask]. " +"If a mask is specified then only those bits set in the mask are modified." +msgstr "" +"Nustatyti nurodytą žymos reikšmę užmegztiems ryšiams. Formatas yra – " +"reikšmė[/mask] („value[/mask]“). Jei nurodyta tinklavimo „kaukė“ – adresų " +"segregatorius, keičiami tik tie tinklavimo „kaukėje“ – adresų segregatoriuje " +"nustatyti bitai." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:84 +msgid "Software based offloading for routing/NAT." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:84 +msgid "Software flow offloading" +msgstr "Taikomosios įrangos srauto iškrovos perkėlimas" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:260 +msgid "Source IP address" +msgstr "IP adreso šaltinis" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:255 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:386 +msgid "Source MAC address" +msgstr "Šaltinio „MAC“ adresas" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:387 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:253 +msgid "Source address" +msgstr "Šaltinio adresas" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:265 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:389 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:261 +msgid "Source port" +msgstr "Šaltinio prievadas" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:241 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:372 +msgid "Source zone" +msgstr "Šaltinio zona" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:270 +msgid "" +"Specifies whether to tie this traffic rule to a specific inbound or outbound " +"network device." +msgstr "" +"Nurodoma, ar susieti šią srauto taisyklę su savitu atvykstančiu ar " +"išsiunčiamu tinklo įrenginiu." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:311 +msgid "" +"Specifies whether to use the external or the internal IP address for " +"reflected traffic." +msgstr "Nurodo, ar atspindėtam srautui naudoti išorinį ar vidinį IP adresą." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:510 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:383 +msgid "Start Date (yyyy-mm-dd)" +msgstr "Pradžios data (Metai-Mėnuo-Diena/pvz:1990-03-11)" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:502 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:375 +msgid "Start Time (hh:mm:ss)" +msgstr "Pradėti laiką (val:min:sek)" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:514 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:387 +msgid "Stop Date (yyyy-mm-dd)" +msgstr "Pabaigos data (Metai-Mėnuo-Diena/pvz:1993-08-31)" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:506 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:379 +msgid "Stop Time (hh:mm:ss)" +msgstr "Stabdyti laiką (val:min:sek)" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:130 +msgid "Storage Method" +msgstr "Talpos metodas" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:480 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:353 +msgid "Sunday" +msgstr "Sekmadienis" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:694 +msgid "" +"The existing firewall configuration needs to be changed for LuCI to function " +"properly." +msgstr "" +"Dabartinė užkardos konfigūracija turi būti pakeista, jeigu norite, kad " +"„LuCI“ veiktų teisingai." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:39 +msgid "" +"The firewall creates zones over your network interfaces to control network " +"traffic flow." +msgstr "Užkarda sukuria zonas tinklo sąsajose, kad valdytų tinklo srautą." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:227 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:340 +msgid "" +"The options below control the forwarding policies between this zone (%s) and " +"other zones. Destination zones cover forwarded traffic " +"originating from %q. Source zones match forwarded " +"traffic from other zones targeted at %q. The forwarding " +"rule is unidirectional, e.g. a forward from lan to wan does " +"not imply a permission to forward from wan to lan as well." +msgstr "" +"Toliau pateiktos parinktys valdo persiuntimo politiką tarp šios zonos („%s“) " +"ir kitų zonų. Paskirties zonos apima persiųstą srautą iš " +"„%q“. Šaltinio zonos atitinka persiųstą srautą iš kitų " +"zonų, nukreipta į „%q“. Persiuntimo taisyklė yra " +"vienakryptė, pvz. persiuntimas iš „LAN“ į „WAN“ taip pat " +"nereiškia leidimo persiųsti iš „WAN“ į „LAN“." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:125 +msgid "" +"This section defines common properties of %q. The input and " +"output options set the default policies for traffic entering and " +"leaving this zone while the forward option describes the policy for " +"forwarded traffic between different networks within the zone. Covered " +"networks specifies which available networks are members of this zone." +msgstr "" +"Šiame skyriuje apibrėžiamos bendrosios %q savybės. Įvesties ir " +"išvesties parinktys nustato numatytąsias srauto, patenkančio į šią " +"zoną ir išeinančio iš jos politiką, o „persiųsti“ parinktis aprašo " +"politikos persiuntimo srautą tarp skirtingų tinklų zonos viduje. " +"Padengti tinklai nurodo, kurie galimi tinklai yra šios zonos nariai." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:484 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:357 +msgid "Thursday" +msgstr "Ketvirtadienis" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:184 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:183 +msgid "Time Restrictions" +msgstr "Laiko ribojimai" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:518 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:391 +msgid "Time in UTC" +msgstr "Laikas pagal GMT" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:244 +msgid "Time restrictions are enabled for this rule" +msgstr "Laiko ribojimai yra įgalinti šiai taisyklei" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:196 +msgid "Timeout" +msgstr "Pasibaigė užklausos laikas" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:77 +msgid "" +"To %{dest}%{dest_device?, interface %{dest_device}}%{dest_ip?, IP " +"%{dest_ip#%{next?, }%{item.ival}
}}%{dest_port?, port %{dest_port#%{next?, }" +"%{item." +"ival}}}" +msgstr "" +"Į %{dest}%{dest_device?, sąsają ir/ar sietuvą %{dest_device}}%{dest_ip?, IP %{dest_ip#%{next?, }%{item.ival}}}%{dest_port?, prievadas %{dest_port#%{next?, }%{item.ival}}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:55 +msgid "" +"To %{dest}%{dest_device?, via interface %{dest_device}}%{dest_ip?, IP %{dest_ip#%{next?, }%{item.ival}}}%{dest_port?, port " +"%{dest_port#%{next?, }%{item.ival}}}" +msgstr "" +"Į %{dest}%{dest_device?, per sąsają ir/ar sietuvą %{dest_device}}%{dest_ip?, IP %{dest_ip#%{next?, }%{item.ival}}}%{dest_port?, prievadas %{dest_port#%{next?, }%{item.ival}}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:61 +msgid "" +"To %{dest}%{dest_ip?, IP %{dest_ip#%{next?, }%{item.ival}}}%{dest_port?, port %{dest_port#%{next?, }%{item.ival}}}" +msgstr "" +"Į %{dest}%{dest_ip?, IP %{dest_ip#%{next?, }%{item.ival}}}%{dest_port?, prievadas %{dest_port#%{next?, }%{item.ival}}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:439 +msgid "Tracking helper" +msgstr "Sekimo pagalbininkas" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:176 +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:35 +msgid "Traffic Rules" +msgstr "Srauto taisyklės" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:174 +msgid "" +"Traffic rules define policies for packets travelling between different " +"zones, for example to reject traffic between certain hosts or to open WAN " +"ports on the router." +msgstr "" +"Srauto taisyklės apibrėžia paketų, keliaujančių tarp skirtingų zonų, " +"politiką (pavyzdžiui, atmesti srautą tarp tam tikrų skleidėjų/vedėjų arba " +"atidaryti maršrutizatoriaus „WAN“ prievadus)." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:482 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:355 +msgid "Tuesday" +msgstr "Antradienis" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/custom.js:19 +msgid "Unable to save contents: %s" +msgstr "Nepavyko išsaugoti turinį: %s" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:197 +msgid "" +"Unit: seconds. Default 0 means the entry is added permanently " +"to the set.
Max: 2147483 seconds." +msgstr "" +"Vienetas: sekundės. Numatytas 0, reiškią, kad įvestis yra " +"pridėtas visam laikui į rinkinį.
Maksimalus: 2147483 sekundės." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:341 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:461 +msgid "Unknown or not installed conntrack helper \"%s\"" +msgstr "Nežinomas arba neįdiegtas „conntrack“ pagelbiklis „%s“" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:186 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:190 +msgid "Unnamed NAT" +msgstr "Nepavadintas „NAT“" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:169 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:184 +msgid "Unnamed forward" +msgstr "Nepavadintas persiuntimas" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:191 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:211 +msgid "Unnamed rule" +msgstr "Nepavadinta taisyklė" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:57 +msgid "Unnamed set" +msgstr "Nepavadintas rinkinys" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:130 +msgid "Unnamed zone" +msgstr "Nepavadinta zona" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:597 +msgid "Unrecognized protocol" +msgstr "Neatpažintas protokolas" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:695 +msgid "" +"Upon pressing \"Continue\", \"redirect\" sections with target \"SNAT\" will " +"be converted to \"nat\" sections and the firewall will be restarted to apply " +"the updated configuration." +msgstr "" +"Paspaudus „Tęsti“, „peradresuoti“ sekcijos su tiksline „SNAT“ bus " +"konvertuojamos į „nat“ skiltis, o užkarda bus paleista iš naujo, kad būtų " +"pritaikyta atnaujinta konfigūracija." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:315 +msgid "Use external IP address" +msgstr "Naudoti išorinį IP adresą" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:314 +msgid "Use internal IP address" +msgstr "Naudoti vidinį IP adresą" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:247 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:378 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:322 +msgid "Use ipset" +msgstr "Naudoti „ipset“" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:231 +msgid "" +"Use this option to classify zone traffic by raw, non-uci managed " +"network devices." +msgstr "" +"Naudoti šią parinktį, jei norite klasifikuoti zonos srautą pagal " +"neapdorotus, ne„uci“ valdomus tinklo įrenginius." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:236 +msgid "" +"Use this option to classify zone traffic by source or destination subnet " +"instead of networks or devices." +msgstr "" +"Naudoti šią parinktį, norėdami klasifikuoti zonos srautą pagal šaltinį arba " +"paskirties potinklį, vietoj tinklus ar įrenginius." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:331 +msgid "Valid firewall mark required" +msgstr "Reikalinga galiojanti užkardos žymė" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:483 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:356 +msgid "Wednesday" +msgstr "Trečiadienis" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:475 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:348 +msgid "Week Days" +msgstr "Savaitės dienos" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:420 +msgid "XOR firewall mark" +msgstr "„XOR“ užkardos žymė" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:316 +msgid "XOR mark" +msgstr "„XOR“ žymė" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:28 +msgid "Your device does not run firewall4." +msgstr "Jūsų įrenginyje neveikia „firewall4“." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:26 +msgid "Your device runs firewall4." +msgstr "Jūsų įrenginyje veikia „firewall4“." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:143 +msgid "Zone ⇒ Forwardings" +msgstr "Zona ⇒ Perleidimai" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:101 +msgid "Zones" +msgstr "Zonos" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:320 +msgid "" +"Zones from which reflection rules shall be created. If unset, only the " +"destination zone is used." +msgstr "" +"Zonos, iš kurių turi būti kuriamos atspindžio taisyklės. Jei nenustatyta, " +"bus naudojama tik paskirties zona." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:415 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:70 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:159 +msgid "accept" +msgstr "priimti" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:268 +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:463 +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:486 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:270 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:301 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:328 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:392 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:407 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:441 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:448 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:266 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:282 +msgid "any" +msgstr "bet koks" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:53 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:86 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:65 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:78 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:46 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:56 +msgid "any zone" +msgstr "bet kokia zona" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:298 +msgid "any/all" +msgstr "bet koks/visi" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:419 +msgid "apply firewall mark" +msgstr "patvirtinti užkardos žymę" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:418 +msgid "assign conntrack helper" +msgstr "Priskirti „conntract helper“" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:194 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:222 +msgid "automatic" +msgstr "automatinis" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:131 +msgid "bitmap" +msgstr "„bitmap“" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:137 +msgid "bitmap is ipv4 only" +msgstr "„bitmap“ yra tik IPv4" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:72 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:89 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:67 +msgid "day" +msgstr "diena" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:93 +msgid "dest_ip: Destination IP" +msgstr "„dest_ip“: Paskirties IP adresas" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:95 +msgid "dest_mac: Destination MAC addr" +msgstr "dest_mac: Paskirties „MAC“ adresas" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:96 +msgid "dest_net: Destination (sub)net" +msgstr "„dest_net“: Paskirties „(sub)net“" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:94 +msgid "dest_port: Destination Port" +msgstr "„dest_port“: Paskirties Prievadas" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:98 +msgid "dest_set: Destination ipset*" +msgstr "„dest_set“: Paskirties „ipset“*" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:315 +msgid "do not rewrite" +msgstr "neperrašyti" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:417 +msgid "don't track" +msgstr "nesekti" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:414 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:69 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:158 +msgid "drop" +msgstr "mesti/šalinti" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:21 +msgid "" +"firewall4 supports referencing and creating IP sets to simplify matching of " +"large address lists without the need to create one rule per item to match. " +"Port ranges in ipsets are unsupported by firewall4.
" +msgstr "" +"„Firewall4“ palaiko įvestiẽs arba išvestiẽs kreipinių ir IP rinkinių kūrimą, " +"kad būtų supaprastintas didelių adresų sąrašų suderinimas be poreikio " +"kuriant vieną taisyklę kiekvienam elementui, kad jis atitiktų. „IPsets“ " +"prievadų diapazonai nepalaikomi „firewall4“.
" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:159 +msgid "fromport-toport" +msgstr "iš•prievado-į•prievadą" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:132 +msgid "hash" +msgstr "maiša" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:72 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:89 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:67 +msgid "hour" +msgstr "valanda" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:81 +msgid "ip: IP addr" +msgstr "„ip“: IP adresas" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:153 +msgid "ip[/cidr]
" +msgstr "„ip[/cidr]
“" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:145 +msgid "ip[/cidr]
For use with Match datatypes: *_ip." +msgstr "" +"„ip[/cidr]“
Naudoti su atitikties duomenų tipais: „*_ip“." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:70 +msgid "ipv4" +msgstr "ipv4" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:133 +msgid "list" +msgstr "sąrašas" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:83 +msgid "mac: MAC addr" +msgstr "„mac“: „MAC“ adresas" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:108 +msgid "macaddr|ip[/cidr]
" +msgstr "„macaddr|ip[/cidr]“
" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:72 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:89 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:67 +msgid "minute" +msgstr "minutė" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:84 +msgid "net: (sub)net" +msgstr "„net“: (po)tinklis/tinklas" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:82 +msgid "port: Port" +msgstr "„port“: Prievadas" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:416 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:68 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:157 +msgid "reject" +msgstr "atmesti" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:72 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:89 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:67 +msgid "second" +msgstr "sekundė" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:86 +msgid "set: ipset*" +msgstr "rinkinys: „ipset*“" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:92 +msgid "src_Set: Source ipset*" +msgstr "„src_Set“: Šaltinio „ipset*“" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:87 +msgid "src_ip: Source IP" +msgstr "„src_ip“: Šaltinio IP" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:89 +msgid "src_mac: Source MAC addr" +msgstr "„src_mac“: Šaltinio „MAC“ adresas" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:90 +msgid "src_net: Source (sub)net" +msgstr "„src_net“: Šaltinio (po)tinklis" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:88 +msgid "src_port: Source Port" +msgstr "„src_port“: Šaltinio prievadas" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:53 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:62 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:86 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:65 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:78 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:56 +msgid "this device" +msgstr "šis įrenginys" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:124 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:226 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:339 +msgid "this new zone" +msgstr "ši nauja zona" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:354 +msgid "unlimited" +msgstr "neribotas" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:251 +msgid "unspecified" +msgstr "nenustatyta/-s/-i" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:114 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:173 +msgid "up to 65536 entries." +msgstr "iki 65536 įrašų." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:339 +msgid "valid firewall mark" +msgstr "tinkamą užkardos žymę" + +#~ msgid "Software based offloading for routing/NAT" +#~ msgstr "" +#~ "Taikomosios įrangos pagrįsta kelvada ir (arba) „NAT“ iškrovos perkėlimas" diff --git a/luci-app-firewall/po/mr/firewall.po b/luci-app-firewall/po/mr/firewall.po new file mode 100644 index 000000000..1780bca1b --- /dev/null +++ b/luci-app-firewall/po/mr/firewall.po @@ -0,0 +1,1434 @@ +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2010-03-30 17:00+0200\n" +"PO-Revision-Date: 2020-02-07 09:18+0000\n" +"Last-Translator: Prachi Joshi \n" +"Language-Team: Marathi \n" +"Language: mr\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=n > 1;\n" +"X-Generator: Weblate 3.11-dev\n" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:48 +msgid "" +"%{src?%{dest?Forwarded:Incoming}:Outgoing} %{ipv6?%{ipv4?IPv4 and " +"IPv6:IPv6}:IPv4}%{proto?, protocol " +"%{proto#%{next?, }%{item.types?%{item." +"name}ICMP with types %{item.types#%{next?, }" +"%{item}}:%{item.name}}}}%{mark?, mark " +"%{mark.val}}%{dscp?, DSCP %{dscp." +"inv?%{dscp.val}:%{dscp.val}}}%{helper?, helper " +"%{helper.inv?%{helper.val}:%{helper." +"val}}}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:463 +msgid "-- add IP --" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:521 +msgid "-- add MAC --" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:199 +msgid "0" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:182 +msgid "1024" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:118 +msgid "" +"Accept %{src?%{dest?forward:input}:output}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:93 +msgid "Prevent source rewrite" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:85 +msgid "" +"Forward to %{dest}%{dest_ip? IP " +"%{dest_ip}}%{dest_port? port %{dest_port}}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:115 +msgid "" +"Drop %{src?%{dest?forward:input}:output}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:133 +msgid "" +"Assign DSCP classification %{set_dscp}" +"" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:127 +msgid "" +"Assign conntrack helper " +"%{set_helper}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:130 +msgid "" +"%{set_mark?Assign:XOR} firewall mark " +"%{set_mark?:%{set_xmark}}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:90 +msgid "Automatically rewrite source IP" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:124 +msgid "" +"Do not track %{src?%{dest?forward:input}:" +"output}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:121 +msgid "" +"Reject %{src?%{dest?forward:input}:output}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:87 +msgid "" +"Statically rewrite to source %{snat_ip?IP " +"%{snat_ip}} %{snat_port?port %{snat_port}}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:306 +msgid "A rewrite IP must be specified!" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:292 +msgid "ACCEPT - Disable address rewriting" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:224 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:225 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:411 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:204 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:287 +msgid "Action" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:322 +msgid "" +"Additional raw iptables arguments to classify zone destination " +"traffic, e.g. -p tcp --dport 443 to only match outbound HTTPS " +"traffic." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:312 +msgid "" +"Additional raw iptables arguments to classify zone source traffic, " +"e.g. -p tcp --sport 443 to only match inbound HTTPS traffic." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:107 +msgid "Address family, Internal IP address must match" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:135 +msgid "" +"Address family, source address, destination address, rewrite IP address must " +"match" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:162 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:183 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:182 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:114 +msgid "Advanced Settings" +msgstr "प्रगत सेटिंग्ज" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:283 +msgid "Allow \"invalid\" traffic" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:385 +msgid "Allow forward from source zones:" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:344 +msgid "Allow forward to destination zones:" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:551 +msgid "Any" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:479 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:495 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:352 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:368 +msgid "Any day" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:317 +msgid "" +"Apply a bitwise XOR of the given value and the existing mark value on " +"established connections. Format is value[/mask]. If a mask is specified then " +"those bits set in the mask are zeroed out." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:264 +msgid "Apply the given DSCP class or value to established connections." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:439 +msgid "Assign the specified connection tracking helper to matched traffic." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:286 +msgid "Automatic helper assignment" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:286 +msgid "" +"Automatically assign conntrack helpers based on traffic protocol and port" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:61 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:62 +msgid "Comment" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:115 +msgid "Conntrack Settings" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:290 +msgid "Conntrack helpers" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/custom.js:16 +msgid "Contents have been saved." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:700 +msgid "Continue" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:204 +msgid "Counters" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:231 +msgid "Covered devices" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:183 +msgid "Covered networks" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:236 +msgid "Covered subnets" +msgstr "" + +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:62 +msgid "Custom Rules" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/custom.js:26 +msgid "" +"Custom rules allow you to execute arbitrary iptables commands which are not " +"otherwise covered by the firewall framework. The commands are executed after " +"each firewall restart, right after the default ruleset has been loaded." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:421 +msgid "DSCP classification" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:263 +msgid "DSCP mark" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:297 +msgid "DSCP mark required" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:402 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:270 +msgid "Destination address" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:404 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:278 +msgid "Destination port" +msgstr "गंतव्य पोर्ट" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:396 +msgid "Destination zone" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:269 +msgid "Device name" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:283 +msgid "" +"Do not install extra rules to reject forwarded traffic with conntrack state " +"invalid. This may be required for complex asymmetric route setups." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:59 +msgid "Drop invalid packets" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:232 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:231 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:210 +msgid "Enable" +msgstr "सक्षम करा" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:306 +msgid "Enable NAT Loopback" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:45 +msgid "Enable SYN-flood protection" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:296 +msgid "Enable logging on this zone" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:168 +msgid "" +"Enable network address and port translation IPv4 (NAT4 or NAPT4) for " +"outbound traffic on this zone. This is typically enabled on the wan " +"zone." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:243 +msgid "" +"Enable network address and port translation IPv6 (NAT6 or NAPT6) for " +"outbound traffic on this zone." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:211 +msgid "Enabled" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:205 +msgid "Enables packet and byte count tracking for the set." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:339 +msgid "Expecting: %s" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:290 +msgid "Explicitly choses allowed connection tracking helpers for zone traffic" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:274 +msgid "External IP address" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:279 +msgid "External port" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:349 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:470 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:342 +msgid "Extra arguments" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:322 +msgid "Extra destination arguments" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:116 +msgid "Extra iptables arguments" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:312 +msgid "Extra source arguments" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:67 +msgid "Family" +msgstr "" + +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:3 +msgid "Firewall" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/custom.js:25 +msgid "Firewall - Custom Rules" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:20 +msgid "Firewall - IP sets" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:172 +msgid "Firewall - NAT Rules" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:152 +msgid "Firewall - Port Forwards" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:173 +msgid "Firewall - Traffic Rules" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:38 +msgid "Firewall - Zone Settings" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:693 +msgid "Firewall configuration migration" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:82 +msgid "Flow offloading type" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:64 +msgid "Forward" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:34 +msgid "" +"Forwarded %{ipv6?%{ipv4?IPv4 and IPv6:IPv6}:" +"IPv4}%{proto?, protocol %{proto#%{next?, }%{item.name}}}%{mark?, mark %{mark.val}" +"}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:485 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:358 +msgid "Friday" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:45 +msgid "" +"From %{src}%{src_device?, interface %{src_device}}%{src_ip?, IP " +"%{src_ip#%{next?, }%{item.ival}}}%{src_port?, port %{src_port#%{next?, }" +"%{item." +"ival}}}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:64 +msgid "" +"From %{src}%{src_device?, interface %{src_device}}%{src_ip?, IP " +"%{src_ip#%{next?, }%{item.ival}}}%{src_port?, port %{src_port#%{next?, }" +"%{item." +"ival}}}%{src_mac?, MAC %{src_mac#%{next?, }%{item.ival}" +"}}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:52 +msgid "" +"From %{src}%{src_ip?, IP %{src_ip#%{next?, }%{item.ival}}}%{src_port?, port %{src_port#%{next?, }%{item.ival}}}%{src_mac?, " +"MAC %{src_mac#%{next?, }%{item.ival}}}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:161 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:182 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:181 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:41 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:113 +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:17 +msgid "General Settings" +msgstr "सामान्य सेटिंग्ज" + +#: applications/luci-app-firewall/root/usr/share/rpcd/acl.d/luci-app-firewall.json:3 +msgid "Grant access to firewall configuration" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:85 +msgid "Hardware based offloading for routing with/without NAT." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:85 +msgid "Hardware flow offloading" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:144 +msgid "IP (range)" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:32 +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:53 +msgid "IP Sets" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:152 +msgid "IPs/Networks" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:107 +msgid "IPs/Networks/MACs" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:68 +msgid "IPv4" +msgstr "IPv4" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:191 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:280 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:219 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:256 +msgid "IPv4 and IPv6" +msgstr "IPv4 आणि IPv6" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:192 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:281 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:220 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:257 +msgid "IPv4 only" +msgstr "केवळ IPv4" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:69 +msgid "IPv6" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:242 +msgid "IPv6 Masquerading" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:193 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:282 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:221 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:258 +msgid "IPv6 only" +msgstr "केवळ IPv6" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:252 +msgid "Inbound device" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:187 +msgid "Include File" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:40 +msgid "" +"Incoming %{ipv6?%{ipv4?IPv4 and IPv6:IPv6}:" +"IPv4}%{proto?, protocol %{proto#%{next?, }%{item.types?%{item.name}ICMP " +"with types %{item.types#%{next?, }%{item}}:" +"%{item.name}}}}%{mark?, mark %{mark.val}}%{helper?, helper %{helper.inv?%{helper.val}:%{helper.val}}}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:180 +msgid "Initial Hash Size" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:62 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:151 +msgid "Input" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:292 +msgid "Internal IP address" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:297 +msgid "Internal port" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:287 +msgid "Internal zone" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:153 +msgid "Intra zone forward" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:305 +msgid "Invalid DSCP mark" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:373 +msgid "Invalid limit value" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:47 +msgid "Invalid set name" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:383 +msgid "Limit burst" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:299 +msgid "Limit log messages" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:349 +msgid "Limit matching" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:79 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:96 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:74 +msgid "" +"Limit matching to %{limit.num} packets per %{limit.unit}%{limit.burst? burst %{limit.burst}}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:175 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:250 +msgid "Limited masquerading enabled" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:350 +msgid "Limits traffic matching to the specified rate." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:311 +msgid "Loopback source IP" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:291 +msgid "MASQUERADE - Automatically rewrite to outbound interface IP" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:180 +msgid "MSS clamping" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:167 +msgid "Masquerading" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:213 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:214 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:193 +msgid "Match" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:263 +msgid "Match DSCP" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:293 +msgid "Match ICMP type" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:249 +msgid "Match device" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:271 +msgid "Match forwarded traffic directed at the given IP address." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:279 +msgid "" +"Match forwarded traffic directed at the given destination port or port range." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:254 +msgid "Match forwarded traffic from this IP or range." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:262 +msgid "" +"Match forwarded traffic originating from the given source port or port range." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:326 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:446 +msgid "Match helper" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:280 +msgid "" +"Match incoming traffic directed at the given destination port or port range " +"on this host" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:316 +msgid "Match mark" +msgstr "चिन्ह जुळवा" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:326 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:446 +msgid "Match traffic using the specified connection tracking helper." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:319 +msgid "Matches a specific firewall mark or a range of different marks." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:332 +msgid "Matches forwarded traffic using the specified outbound network device." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:264 +msgid "Matches traffic carrying the specified DSCP marking." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:113 +msgid "Max Entries" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:172 +msgid "Max Length" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:384 +msgid "" +"Maximum initial number of packets to match: this number gets recharged by " +"one every time the limit specified above is not reached, up to this number." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:481 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:354 +msgid "Monday" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:491 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:364 +msgid "Month Days" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:175 +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:44 +msgid "NAT Rules" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:173 +msgid "" +"NAT rules allow fine grained control over the source IP to use for outbound " +"or forwarded traffic." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:183 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:42 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:52 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:210 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:189 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:129 +msgid "Name" +msgstr "नाव" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:166 +msgid "Netmask" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:83 +msgid "None" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:77 +msgid "Not fully compatible with QoS/SQM." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:275 +msgid "Only match incoming traffic directed at the given IP address." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:256 +msgid "Only match incoming traffic from these MACs." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:261 +msgid "Only match incoming traffic from this IP or range." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:266 +msgid "" +"Only match incoming traffic originating from the given source port or port " +"range on the client host" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:253 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:331 +msgid "Outbound device" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:246 +msgid "Outbound zone" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:63 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:152 +msgid "Output" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:75 +msgid "Packet Field Match" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:76 +msgid "" +"Packet fields to match upon.
Syntax: direction_datatype. e.g.: " +"src_port, dest_net.
Directions: src, dst. " +"Datatypes: ip, port, mac, net, set.
Direction prefixes are " +"optional.
*Note: datatype set is unsupported in fw4." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:350 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:471 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:343 +msgid "Passes additional arguments to iptables. Use with care!" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:309 +msgid "" +"Passing raw iptables arguments to source and destination traffic " +"classification rules allows to match packets based on other criteria than " +"interfaces or subnets. These options should be used with extreme care as " +"invalid values could render the firewall ruleset broken, completely exposing " +"all services." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:188 +msgid "Path to file of CIDRs, subnets, host IPs, etc.
" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:155 +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:26 +msgid "Port Forwards" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:153 +msgid "" +"Port forwarding allows remote computers on the Internet to connect to a " +"specific computer or service within the private LAN." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:158 +msgid "Port range" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:237 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:289 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:242 +msgid "Protocol" +msgstr "प्रोटोकॉल" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:298 +msgid "" +"Redirect matched incoming traffic to the given port on the internal host" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:293 +msgid "Redirect matched incoming traffic to the specified internal host" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:122 +msgid "Refer To External Set" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:320 +msgid "Reflection zones" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:85 +msgid "Requires hardware NAT support." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:272 +msgid "Restrict Masquerading to given destination subnets" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:261 +msgid "Restrict Masquerading to given source subnets" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:188 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:277 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:216 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:255 +msgid "Restrict to address family" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:297 +msgid "Rewrite IP address" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:298 +msgid "Rewrite matched traffic to the specified source IP address." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:312 +msgid "Rewrite matched traffic to the specified source port or port range." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:311 +msgid "Rewrite port" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:76 +msgid "Routing/NAT Offloading" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:290 +msgid "SNAT - Rewrite to specific source IP or port" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:486 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:359 +msgid "Saturday" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:316 +msgid "Set mark" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:318 +msgid "" +"Set the given mark value on established connections. Format is value[/mask]. " +"If a mask is specified then only those bits set in the mask are modified." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:84 +msgid "Software based offloading for routing/NAT." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:84 +msgid "Software flow offloading" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:260 +msgid "Source IP address" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:255 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:386 +msgid "Source MAC address" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:387 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:253 +msgid "Source address" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:265 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:389 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:261 +msgid "Source port" +msgstr "स्रोत पोर्ट" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:241 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:372 +msgid "Source zone" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:270 +msgid "" +"Specifies whether to tie this traffic rule to a specific inbound or outbound " +"network device." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:311 +msgid "" +"Specifies whether to use the external or the internal IP address for " +"reflected traffic." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:510 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:383 +msgid "Start Date (yyyy-mm-dd)" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:502 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:375 +msgid "Start Time (hh:mm:ss)" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:514 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:387 +msgid "Stop Date (yyyy-mm-dd)" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:506 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:379 +msgid "Stop Time (hh:mm:ss)" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:130 +msgid "Storage Method" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:480 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:353 +msgid "Sunday" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:694 +msgid "" +"The existing firewall configuration needs to be changed for LuCI to function " +"properly." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:39 +msgid "" +"The firewall creates zones over your network interfaces to control network " +"traffic flow." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:227 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:340 +msgid "" +"The options below control the forwarding policies between this zone (%s) and " +"other zones. Destination zones cover forwarded traffic " +"originating from %q. Source zones match forwarded " +"traffic from other zones targeted at %q. The forwarding " +"rule is unidirectional, e.g. a forward from lan to wan does " +"not imply a permission to forward from wan to lan as well." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:125 +msgid "" +"This section defines common properties of %q. The input and " +"output options set the default policies for traffic entering and " +"leaving this zone while the forward option describes the policy for " +"forwarded traffic between different networks within the zone. Covered " +"networks specifies which available networks are members of this zone." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:484 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:357 +msgid "Thursday" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:184 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:183 +msgid "Time Restrictions" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:518 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:391 +msgid "Time in UTC" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:244 +msgid "Time restrictions are enabled for this rule" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:196 +msgid "Timeout" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:77 +msgid "" +"To %{dest}%{dest_device?, interface %{dest_device}}%{dest_ip?, IP " +"%{dest_ip#%{next?, }%{item.ival}
}}%{dest_port?, port %{dest_port#%{next?, }" +"%{item." +"ival}}}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:55 +msgid "" +"To %{dest}%{dest_device?, via interface %{dest_device}}%{dest_ip?, IP %{dest_ip#%{next?, }%{item.ival}}}%{dest_port?, port " +"%{dest_port#%{next?, }%{item.ival}}}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:61 +msgid "" +"To %{dest}%{dest_ip?, IP %{dest_ip#%{next?, }%{item.ival}}}%{dest_port?, port %{dest_port#%{next?, }%{item.ival}}}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:439 +msgid "Tracking helper" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:176 +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:35 +msgid "Traffic Rules" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:174 +msgid "" +"Traffic rules define policies for packets travelling between different " +"zones, for example to reject traffic between certain hosts or to open WAN " +"ports on the router." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:482 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:355 +msgid "Tuesday" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/custom.js:19 +msgid "Unable to save contents: %s" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:197 +msgid "" +"Unit: seconds. Default 0 means the entry is added permanently " +"to the set.
Max: 2147483 seconds." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:341 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:461 +msgid "Unknown or not installed conntrack helper \"%s\"" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:186 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:190 +msgid "Unnamed NAT" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:169 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:184 +msgid "Unnamed forward" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:191 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:211 +msgid "Unnamed rule" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:57 +msgid "Unnamed set" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:130 +msgid "Unnamed zone" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:597 +msgid "Unrecognized protocol" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:695 +msgid "" +"Upon pressing \"Continue\", \"redirect\" sections with target \"SNAT\" will " +"be converted to \"nat\" sections and the firewall will be restarted to apply " +"the updated configuration." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:315 +msgid "Use external IP address" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:314 +msgid "Use internal IP address" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:247 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:378 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:322 +msgid "Use ipset" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:231 +msgid "" +"Use this option to classify zone traffic by raw, non-uci managed " +"network devices." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:236 +msgid "" +"Use this option to classify zone traffic by source or destination subnet " +"instead of networks or devices." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:331 +msgid "Valid firewall mark required" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:483 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:356 +msgid "Wednesday" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:475 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:348 +msgid "Week Days" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:420 +msgid "XOR firewall mark" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:316 +msgid "XOR mark" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:28 +msgid "Your device does not run firewall4." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:26 +msgid "Your device runs firewall4." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:143 +msgid "Zone ⇒ Forwardings" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:101 +msgid "Zones" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:320 +msgid "" +"Zones from which reflection rules shall be created. If unset, only the " +"destination zone is used." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:415 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:70 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:159 +msgid "accept" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:268 +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:463 +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:486 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:270 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:301 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:328 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:392 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:407 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:441 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:448 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:266 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:282 +msgid "any" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:53 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:86 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:65 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:78 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:46 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:56 +msgid "any zone" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:298 +msgid "any/all" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:419 +msgid "apply firewall mark" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:418 +msgid "assign conntrack helper" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:194 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:222 +msgid "automatic" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:131 +msgid "bitmap" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:137 +msgid "bitmap is ipv4 only" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:72 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:89 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:67 +msgid "day" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:93 +msgid "dest_ip: Destination IP" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:95 +msgid "dest_mac: Destination MAC addr" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:96 +msgid "dest_net: Destination (sub)net" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:94 +msgid "dest_port: Destination Port" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:98 +msgid "dest_set: Destination ipset*" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:315 +msgid "do not rewrite" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:417 +msgid "don't track" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:414 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:69 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:158 +msgid "drop" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:21 +msgid "" +"firewall4 supports referencing and creating IP sets to simplify matching of " +"large address lists without the need to create one rule per item to match. " +"Port ranges in ipsets are unsupported by firewall4.
" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:159 +msgid "fromport-toport" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:132 +msgid "hash" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:72 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:89 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:67 +msgid "hour" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:81 +msgid "ip: IP addr" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:153 +msgid "ip[/cidr]
" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:145 +msgid "ip[/cidr]
For use with Match datatypes: *_ip." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:70 +msgid "ipv4" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:133 +msgid "list" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:83 +msgid "mac: MAC addr" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:108 +msgid "macaddr|ip[/cidr]
" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:72 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:89 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:67 +msgid "minute" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:84 +msgid "net: (sub)net" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:82 +msgid "port: Port" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:416 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:68 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:157 +msgid "reject" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:72 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:89 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:67 +msgid "second" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:86 +msgid "set: ipset*" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:92 +msgid "src_Set: Source ipset*" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:87 +msgid "src_ip: Source IP" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:89 +msgid "src_mac: Source MAC addr" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:90 +msgid "src_net: Source (sub)net" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:88 +msgid "src_port: Source Port" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:53 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:62 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:86 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:65 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:78 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:56 +msgid "this device" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:124 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:226 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:339 +msgid "this new zone" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:354 +msgid "unlimited" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:251 +msgid "unspecified" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:114 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:173 +msgid "up to 65536 entries." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:339 +msgid "valid firewall mark" +msgstr "" + +#~ msgid "MAC" +#~ msgstr "MAC" diff --git a/luci-app-firewall/po/ms/firewall.po b/luci-app-firewall/po/ms/firewall.po new file mode 100644 index 000000000..97eaf50ee --- /dev/null +++ b/luci-app-firewall/po/ms/firewall.po @@ -0,0 +1,1429 @@ +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"PO-Revision-Date: 2024-01-22 09:21+0000\n" +"Last-Translator: Abdul Muizz Bin Abdul Jalil \n" +"Language-Team: Malay \n" +"Language: ms\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=1; plural=0;\n" +"X-Generator: Weblate 5.4-dev\n" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:48 +msgid "" +"%{src?%{dest?Forwarded:Incoming}:Outgoing} %{ipv6?%{ipv4?IPv4 and " +"IPv6:IPv6}:IPv4}%{proto?, protocol " +"%{proto#%{next?, }%{item.types?%{item." +"name}ICMP with types %{item.types#%{next?, }" +"%{item}}:%{item.name}}}}%{mark?, mark " +"%{mark.val}}%{dscp?, DSCP %{dscp." +"inv?%{dscp.val}:%{dscp.val}}}%{helper?, helper " +"%{helper.inv?%{helper.val}:%{helper." +"val}}}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:463 +msgid "-- add IP --" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:521 +msgid "-- add MAC --" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:199 +msgid "0" +msgstr "0" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:182 +msgid "1024" +msgstr "1024" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:118 +msgid "" +"Accept %{src?%{dest?forward:input}:output}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:93 +msgid "Prevent source rewrite" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:85 +msgid "" +"Forward to %{dest}%{dest_ip? IP " +"%{dest_ip}}%{dest_port? port %{dest_port}}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:115 +msgid "" +"Drop %{src?%{dest?forward:input}:output}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:133 +msgid "" +"Assign DSCP classification %{set_dscp}" +"" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:127 +msgid "" +"Assign conntrack helper " +"%{set_helper}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:130 +msgid "" +"%{set_mark?Assign:XOR} firewall mark " +"%{set_mark?:%{set_xmark}}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:90 +msgid "Automatically rewrite source IP" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:124 +msgid "" +"Do not track %{src?%{dest?forward:input}:" +"output}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:121 +msgid "" +"Reject %{src?%{dest?forward:input}:output}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:87 +msgid "" +"Statically rewrite to source %{snat_ip?IP " +"%{snat_ip}} %{snat_port?port %{snat_port}}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:306 +msgid "A rewrite IP must be specified!" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:292 +msgid "ACCEPT - Disable address rewriting" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:224 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:225 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:411 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:204 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:287 +msgid "Action" +msgstr "Tindakan" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:322 +msgid "" +"Additional raw iptables arguments to classify zone destination " +"traffic, e.g. -p tcp --dport 443 to only match outbound HTTPS " +"traffic." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:312 +msgid "" +"Additional raw iptables arguments to classify zone source traffic, " +"e.g. -p tcp --sport 443 to only match inbound HTTPS traffic." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:107 +msgid "Address family, Internal IP address must match" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:135 +msgid "" +"Address family, source address, destination address, rewrite IP address must " +"match" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:162 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:183 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:182 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:114 +msgid "Advanced Settings" +msgstr "Tetapan Lanjutan" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:283 +msgid "Allow \"invalid\" traffic" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:385 +msgid "Allow forward from source zones:" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:344 +msgid "Allow forward to destination zones:" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:551 +msgid "Any" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:479 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:495 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:352 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:368 +msgid "Any day" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:317 +msgid "" +"Apply a bitwise XOR of the given value and the existing mark value on " +"established connections. Format is value[/mask]. If a mask is specified then " +"those bits set in the mask are zeroed out." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:264 +msgid "Apply the given DSCP class or value to established connections." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:439 +msgid "Assign the specified connection tracking helper to matched traffic." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:286 +msgid "Automatic helper assignment" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:286 +msgid "" +"Automatically assign conntrack helpers based on traffic protocol and port" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:61 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:62 +msgid "Comment" +msgstr "Ulasan" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:115 +msgid "Conntrack Settings" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:290 +msgid "Conntrack helpers" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/custom.js:16 +msgid "Contents have been saved." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:700 +msgid "Continue" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:204 +msgid "Counters" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:231 +msgid "Covered devices" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:183 +msgid "Covered networks" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:236 +msgid "Covered subnets" +msgstr "" + +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:62 +msgid "Custom Rules" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/custom.js:26 +msgid "" +"Custom rules allow you to execute arbitrary iptables commands which are not " +"otherwise covered by the firewall framework. The commands are executed after " +"each firewall restart, right after the default ruleset has been loaded." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:421 +msgid "DSCP classification" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:263 +msgid "DSCP mark" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:297 +msgid "DSCP mark required" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:402 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:270 +msgid "Destination address" +msgstr "Alamat destinasi" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:404 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:278 +msgid "Destination port" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:396 +msgid "Destination zone" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:269 +msgid "Device name" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:283 +msgid "" +"Do not install extra rules to reject forwarded traffic with conntrack state " +"invalid. This may be required for complex asymmetric route setups." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:59 +msgid "Drop invalid packets" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:232 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:231 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:210 +msgid "Enable" +msgstr "Pemboleh" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:306 +msgid "Enable NAT Loopback" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:45 +msgid "Enable SYN-flood protection" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:296 +msgid "Enable logging on this zone" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:168 +msgid "" +"Enable network address and port translation IPv4 (NAT4 or NAPT4) for " +"outbound traffic on this zone. This is typically enabled on the wan " +"zone." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:243 +msgid "" +"Enable network address and port translation IPv6 (NAT6 or NAPT6) for " +"outbound traffic on this zone." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:211 +msgid "Enabled" +msgstr "Dibolehkan" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:205 +msgid "Enables packet and byte count tracking for the set." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:339 +msgid "Expecting: %s" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:290 +msgid "Explicitly choses allowed connection tracking helpers for zone traffic" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:274 +msgid "External IP address" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:279 +msgid "External port" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:349 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:470 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:342 +msgid "Extra arguments" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:322 +msgid "Extra destination arguments" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:116 +msgid "Extra iptables arguments" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:312 +msgid "Extra source arguments" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:67 +msgid "Family" +msgstr "" + +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:3 +msgid "Firewall" +msgstr "Tembok api" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/custom.js:25 +msgid "Firewall - Custom Rules" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:20 +msgid "Firewall - IP sets" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:172 +msgid "Firewall - NAT Rules" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:152 +msgid "Firewall - Port Forwards" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:173 +msgid "Firewall - Traffic Rules" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:38 +msgid "Firewall - Zone Settings" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:693 +msgid "Firewall configuration migration" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:82 +msgid "Flow offloading type" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:64 +msgid "Forward" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:34 +msgid "" +"Forwarded %{ipv6?%{ipv4?IPv4 and IPv6:IPv6}:" +"IPv4}%{proto?, protocol %{proto#%{next?, }%{item.name}}}%{mark?, mark %{mark.val}" +"}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:485 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:358 +msgid "Friday" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:45 +msgid "" +"From %{src}%{src_device?, interface %{src_device}}%{src_ip?, IP " +"%{src_ip#%{next?, }%{item.ival}}}%{src_port?, port %{src_port#%{next?, }" +"%{item." +"ival}}}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:64 +msgid "" +"From %{src}%{src_device?, interface %{src_device}}%{src_ip?, IP " +"%{src_ip#%{next?, }%{item.ival}}}%{src_port?, port %{src_port#%{next?, }" +"%{item." +"ival}}}%{src_mac?, MAC %{src_mac#%{next?, }%{item.ival}" +"}}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:52 +msgid "" +"From %{src}%{src_ip?, IP %{src_ip#%{next?, }%{item.ival}}}%{src_port?, port %{src_port#%{next?, }%{item.ival}}}%{src_mac?, " +"MAC %{src_mac#%{next?, }%{item.ival}}}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:161 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:182 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:181 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:41 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:113 +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:17 +msgid "General Settings" +msgstr "" + +#: applications/luci-app-firewall/root/usr/share/rpcd/acl.d/luci-app-firewall.json:3 +msgid "Grant access to firewall configuration" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:85 +msgid "Hardware based offloading for routing with/without NAT." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:85 +msgid "Hardware flow offloading" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:144 +msgid "IP (range)" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:32 +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:53 +msgid "IP Sets" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:152 +msgid "IPs/Networks" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:107 +msgid "IPs/Networks/MACs" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:68 +msgid "IPv4" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:191 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:280 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:219 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:256 +msgid "IPv4 and IPv6" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:192 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:281 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:220 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:257 +msgid "IPv4 only" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:69 +msgid "IPv6" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:242 +msgid "IPv6 Masquerading" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:193 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:282 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:221 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:258 +msgid "IPv6 only" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:252 +msgid "Inbound device" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:187 +msgid "Include File" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:40 +msgid "" +"Incoming %{ipv6?%{ipv4?IPv4 and IPv6:IPv6}:" +"IPv4}%{proto?, protocol %{proto#%{next?, }%{item.types?%{item.name}ICMP " +"with types %{item.types#%{next?, }%{item}}:" +"%{item.name}}}}%{mark?, mark %{mark.val}}%{helper?, helper %{helper.inv?%{helper.val}:%{helper.val}}}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:180 +msgid "Initial Hash Size" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:62 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:151 +msgid "Input" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:292 +msgid "Internal IP address" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:297 +msgid "Internal port" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:287 +msgid "Internal zone" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:153 +msgid "Intra zone forward" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:305 +msgid "Invalid DSCP mark" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:373 +msgid "Invalid limit value" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:47 +msgid "Invalid set name" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:383 +msgid "Limit burst" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:299 +msgid "Limit log messages" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:349 +msgid "Limit matching" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:79 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:96 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:74 +msgid "" +"Limit matching to %{limit.num} packets per %{limit.unit}%{limit.burst? burst %{limit.burst}}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:175 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:250 +msgid "Limited masquerading enabled" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:350 +msgid "Limits traffic matching to the specified rate." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:311 +msgid "Loopback source IP" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:291 +msgid "MASQUERADE - Automatically rewrite to outbound interface IP" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:180 +msgid "MSS clamping" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:167 +msgid "Masquerading" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:213 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:214 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:193 +msgid "Match" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:263 +msgid "Match DSCP" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:293 +msgid "Match ICMP type" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:249 +msgid "Match device" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:271 +msgid "Match forwarded traffic directed at the given IP address." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:279 +msgid "" +"Match forwarded traffic directed at the given destination port or port range." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:254 +msgid "Match forwarded traffic from this IP or range." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:262 +msgid "" +"Match forwarded traffic originating from the given source port or port range." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:326 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:446 +msgid "Match helper" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:280 +msgid "" +"Match incoming traffic directed at the given destination port or port range " +"on this host" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:316 +msgid "Match mark" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:326 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:446 +msgid "Match traffic using the specified connection tracking helper." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:319 +msgid "Matches a specific firewall mark or a range of different marks." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:332 +msgid "Matches forwarded traffic using the specified outbound network device." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:264 +msgid "Matches traffic carrying the specified DSCP marking." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:113 +msgid "Max Entries" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:172 +msgid "Max Length" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:384 +msgid "" +"Maximum initial number of packets to match: this number gets recharged by " +"one every time the limit specified above is not reached, up to this number." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:481 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:354 +msgid "Monday" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:491 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:364 +msgid "Month Days" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:175 +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:44 +msgid "NAT Rules" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:173 +msgid "" +"NAT rules allow fine grained control over the source IP to use for outbound " +"or forwarded traffic." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:183 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:42 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:52 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:210 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:189 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:129 +msgid "Name" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:166 +msgid "Netmask" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:83 +msgid "None" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:77 +msgid "Not fully compatible with QoS/SQM." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:275 +msgid "Only match incoming traffic directed at the given IP address." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:256 +msgid "Only match incoming traffic from these MACs." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:261 +msgid "Only match incoming traffic from this IP or range." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:266 +msgid "" +"Only match incoming traffic originating from the given source port or port " +"range on the client host" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:253 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:331 +msgid "Outbound device" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:246 +msgid "Outbound zone" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:63 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:152 +msgid "Output" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:75 +msgid "Packet Field Match" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:76 +msgid "" +"Packet fields to match upon.
Syntax: direction_datatype. e.g.: " +"src_port, dest_net.
Directions: src, dst. " +"Datatypes: ip, port, mac, net, set.
Direction prefixes are " +"optional.
*Note: datatype set is unsupported in fw4." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:350 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:471 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:343 +msgid "Passes additional arguments to iptables. Use with care!" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:309 +msgid "" +"Passing raw iptables arguments to source and destination traffic " +"classification rules allows to match packets based on other criteria than " +"interfaces or subnets. These options should be used with extreme care as " +"invalid values could render the firewall ruleset broken, completely exposing " +"all services." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:188 +msgid "Path to file of CIDRs, subnets, host IPs, etc.
" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:155 +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:26 +msgid "Port Forwards" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:153 +msgid "" +"Port forwarding allows remote computers on the Internet to connect to a " +"specific computer or service within the private LAN." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:158 +msgid "Port range" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:237 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:289 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:242 +msgid "Protocol" +msgstr "Protokol" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:298 +msgid "" +"Redirect matched incoming traffic to the given port on the internal host" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:293 +msgid "Redirect matched incoming traffic to the specified internal host" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:122 +msgid "Refer To External Set" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:320 +msgid "Reflection zones" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:85 +msgid "Requires hardware NAT support." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:272 +msgid "Restrict Masquerading to given destination subnets" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:261 +msgid "Restrict Masquerading to given source subnets" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:188 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:277 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:216 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:255 +msgid "Restrict to address family" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:297 +msgid "Rewrite IP address" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:298 +msgid "Rewrite matched traffic to the specified source IP address." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:312 +msgid "Rewrite matched traffic to the specified source port or port range." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:311 +msgid "Rewrite port" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:76 +msgid "Routing/NAT Offloading" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:290 +msgid "SNAT - Rewrite to specific source IP or port" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:486 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:359 +msgid "Saturday" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:316 +msgid "Set mark" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:318 +msgid "" +"Set the given mark value on established connections. Format is value[/mask]. " +"If a mask is specified then only those bits set in the mask are modified." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:84 +msgid "Software based offloading for routing/NAT." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:84 +msgid "Software flow offloading" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:260 +msgid "Source IP address" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:255 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:386 +msgid "Source MAC address" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:387 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:253 +msgid "Source address" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:265 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:389 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:261 +msgid "Source port" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:241 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:372 +msgid "Source zone" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:270 +msgid "" +"Specifies whether to tie this traffic rule to a specific inbound or outbound " +"network device." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:311 +msgid "" +"Specifies whether to use the external or the internal IP address for " +"reflected traffic." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:510 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:383 +msgid "Start Date (yyyy-mm-dd)" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:502 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:375 +msgid "Start Time (hh:mm:ss)" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:514 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:387 +msgid "Stop Date (yyyy-mm-dd)" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:506 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:379 +msgid "Stop Time (hh:mm:ss)" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:130 +msgid "Storage Method" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:480 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:353 +msgid "Sunday" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:694 +msgid "" +"The existing firewall configuration needs to be changed for LuCI to function " +"properly." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:39 +msgid "" +"The firewall creates zones over your network interfaces to control network " +"traffic flow." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:227 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:340 +msgid "" +"The options below control the forwarding policies between this zone (%s) and " +"other zones. Destination zones cover forwarded traffic " +"originating from %q. Source zones match forwarded " +"traffic from other zones targeted at %q. The forwarding " +"rule is unidirectional, e.g. a forward from lan to wan does " +"not imply a permission to forward from wan to lan as well." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:125 +msgid "" +"This section defines common properties of %q. The input and " +"output options set the default policies for traffic entering and " +"leaving this zone while the forward option describes the policy for " +"forwarded traffic between different networks within the zone. Covered " +"networks specifies which available networks are members of this zone." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:484 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:357 +msgid "Thursday" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:184 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:183 +msgid "Time Restrictions" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:518 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:391 +msgid "Time in UTC" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:244 +msgid "Time restrictions are enabled for this rule" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:196 +msgid "Timeout" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:77 +msgid "" +"To %{dest}%{dest_device?, interface %{dest_device}}%{dest_ip?, IP " +"%{dest_ip#%{next?, }%{item.ival}
}}%{dest_port?, port %{dest_port#%{next?, }" +"%{item." +"ival}}}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:55 +msgid "" +"To %{dest}%{dest_device?, via interface %{dest_device}}%{dest_ip?, IP %{dest_ip#%{next?, }%{item.ival}}}%{dest_port?, port " +"%{dest_port#%{next?, }%{item.ival}}}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:61 +msgid "" +"To %{dest}%{dest_ip?, IP %{dest_ip#%{next?, }%{item.ival}}}%{dest_port?, port %{dest_port#%{next?, }%{item.ival}}}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:439 +msgid "Tracking helper" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:176 +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:35 +msgid "Traffic Rules" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:174 +msgid "" +"Traffic rules define policies for packets travelling between different " +"zones, for example to reject traffic between certain hosts or to open WAN " +"ports on the router." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:482 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:355 +msgid "Tuesday" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/custom.js:19 +msgid "Unable to save contents: %s" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:197 +msgid "" +"Unit: seconds. Default 0 means the entry is added permanently " +"to the set.
Max: 2147483 seconds." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:341 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:461 +msgid "Unknown or not installed conntrack helper \"%s\"" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:186 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:190 +msgid "Unnamed NAT" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:169 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:184 +msgid "Unnamed forward" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:191 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:211 +msgid "Unnamed rule" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:57 +msgid "Unnamed set" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:130 +msgid "Unnamed zone" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:597 +msgid "Unrecognized protocol" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:695 +msgid "" +"Upon pressing \"Continue\", \"redirect\" sections with target \"SNAT\" will " +"be converted to \"nat\" sections and the firewall will be restarted to apply " +"the updated configuration." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:315 +msgid "Use external IP address" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:314 +msgid "Use internal IP address" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:247 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:378 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:322 +msgid "Use ipset" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:231 +msgid "" +"Use this option to classify zone traffic by raw, non-uci managed " +"network devices." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:236 +msgid "" +"Use this option to classify zone traffic by source or destination subnet " +"instead of networks or devices." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:331 +msgid "Valid firewall mark required" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:483 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:356 +msgid "Wednesday" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:475 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:348 +msgid "Week Days" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:420 +msgid "XOR firewall mark" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:316 +msgid "XOR mark" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:28 +msgid "Your device does not run firewall4." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:26 +msgid "Your device runs firewall4." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:143 +msgid "Zone ⇒ Forwardings" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:101 +msgid "Zones" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:320 +msgid "" +"Zones from which reflection rules shall be created. If unset, only the " +"destination zone is used." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:415 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:70 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:159 +msgid "accept" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:268 +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:463 +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:486 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:270 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:301 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:328 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:392 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:407 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:441 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:448 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:266 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:282 +msgid "any" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:53 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:86 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:65 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:78 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:46 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:56 +msgid "any zone" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:298 +msgid "any/all" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:419 +msgid "apply firewall mark" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:418 +msgid "assign conntrack helper" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:194 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:222 +msgid "automatic" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:131 +msgid "bitmap" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:137 +msgid "bitmap is ipv4 only" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:72 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:89 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:67 +msgid "day" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:93 +msgid "dest_ip: Destination IP" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:95 +msgid "dest_mac: Destination MAC addr" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:96 +msgid "dest_net: Destination (sub)net" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:94 +msgid "dest_port: Destination Port" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:98 +msgid "dest_set: Destination ipset*" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:315 +msgid "do not rewrite" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:417 +msgid "don't track" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:414 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:69 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:158 +msgid "drop" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:21 +msgid "" +"firewall4 supports referencing and creating IP sets to simplify matching of " +"large address lists without the need to create one rule per item to match. " +"Port ranges in ipsets are unsupported by firewall4.
" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:159 +msgid "fromport-toport" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:132 +msgid "hash" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:72 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:89 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:67 +msgid "hour" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:81 +msgid "ip: IP addr" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:153 +msgid "ip[/cidr]
" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:145 +msgid "ip[/cidr]
For use with Match datatypes: *_ip." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:70 +msgid "ipv4" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:133 +msgid "list" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:83 +msgid "mac: MAC addr" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:108 +msgid "macaddr|ip[/cidr]
" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:72 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:89 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:67 +msgid "minute" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:84 +msgid "net: (sub)net" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:82 +msgid "port: Port" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:416 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:68 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:157 +msgid "reject" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:72 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:89 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:67 +msgid "second" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:86 +msgid "set: ipset*" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:92 +msgid "src_Set: Source ipset*" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:87 +msgid "src_ip: Source IP" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:89 +msgid "src_mac: Source MAC addr" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:90 +msgid "src_net: Source (sub)net" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:88 +msgid "src_port: Source Port" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:53 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:62 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:86 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:65 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:78 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:56 +msgid "this device" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:124 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:226 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:339 +msgid "this new zone" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:354 +msgid "unlimited" +msgstr "Tidak terhad" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:251 +msgid "unspecified" +msgstr "Tidak ternyata" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:114 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:173 +msgid "up to 65536 entries." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:339 +msgid "valid firewall mark" +msgstr "" diff --git a/luci-app-firewall/po/nb_NO/firewall.po b/luci-app-firewall/po/nb_NO/firewall.po new file mode 100644 index 000000000..ba46a4859 --- /dev/null +++ b/luci-app-firewall/po/nb_NO/firewall.po @@ -0,0 +1,1456 @@ +msgid "" +msgstr "" +"PO-Revision-Date: 2024-01-03 18:37+0000\n" +"Last-Translator: Allan Nordhøy \n" +"Language-Team: Norwegian Bokmål \n" +"Language: nb_NO\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Generator: Weblate 5.4-dev\n" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:48 +msgid "" +"%{src?%{dest?Forwarded:Incoming}:Outgoing} %{ipv6?%{ipv4?IPv4 and " +"IPv6:IPv6}:IPv4}%{proto?, protocol " +"%{proto#%{next?, }%{item.types?%{item." +"name}ICMP with types %{item.types#%{next?, }" +"%{item}}:%{item.name}}}}%{mark?, mark " +"%{mark.val}}%{dscp?, DSCP %{dscp." +"inv?%{dscp.val}:%{dscp.val}}}%{helper?, helper " +"%{helper.inv?%{helper.val}:%{helper." +"val}}}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:463 +msgid "-- add IP --" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:521 +msgid "-- add MAC --" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:199 +msgid "0" +msgstr "0" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:182 +msgid "1024" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:118 +msgid "" +"Accept %{src?%{dest?forward:input}:output}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:93 +msgid "Prevent source rewrite" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:85 +msgid "" +"Forward to %{dest}%{dest_ip? IP " +"%{dest_ip}}%{dest_port? port %{dest_port}}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:115 +msgid "" +"Drop %{src?%{dest?forward:input}:output}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:133 +msgid "" +"Assign DSCP classification %{set_dscp}" +"" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:127 +msgid "" +"Assign conntrack helper " +"%{set_helper}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:130 +msgid "" +"%{set_mark?Assign:XOR} firewall mark " +"%{set_mark?:%{set_xmark}}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:90 +msgid "Automatically rewrite source IP" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:124 +msgid "" +"Do not track %{src?%{dest?forward:input}:" +"output}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:121 +msgid "" +"Reject %{src?%{dest?forward:input}:output}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:87 +msgid "" +"Statically rewrite to source %{snat_ip?IP " +"%{snat_ip}} %{snat_port?port %{snat_port}}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:306 +msgid "A rewrite IP must be specified!" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:292 +msgid "ACCEPT - Disable address rewriting" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:224 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:225 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:411 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:204 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:287 +msgid "Action" +msgstr "Handling" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:322 +msgid "" +"Additional raw iptables arguments to classify zone destination " +"traffic, e.g. -p tcp --dport 443 to only match outbound HTTPS " +"traffic." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:312 +msgid "" +"Additional raw iptables arguments to classify zone source traffic, " +"e.g. -p tcp --sport 443 to only match inbound HTTPS traffic." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:107 +msgid "Address family, Internal IP address must match" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:135 +msgid "" +"Address family, source address, destination address, rewrite IP address must " +"match" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:162 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:183 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:182 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:114 +msgid "Advanced Settings" +msgstr "Avanserte innstillinger" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:283 +msgid "Allow \"invalid\" traffic" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:385 +msgid "Allow forward from source zones:" +msgstr "Tillat videresending fra kilde soner:" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:344 +msgid "Allow forward to destination zones:" +msgstr "Tillat videresending til destinasjon soner:" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:551 +msgid "Any" +msgstr "Enhver" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:479 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:495 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:352 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:368 +msgid "Any day" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:317 +msgid "" +"Apply a bitwise XOR of the given value and the existing mark value on " +"established connections. Format is value[/mask]. If a mask is specified then " +"those bits set in the mask are zeroed out." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:264 +msgid "Apply the given DSCP class or value to established connections." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:439 +msgid "Assign the specified connection tracking helper to matched traffic." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:286 +msgid "Automatic helper assignment" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:286 +msgid "" +"Automatically assign conntrack helpers based on traffic protocol and port" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:61 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:62 +msgid "Comment" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:115 +msgid "Conntrack Settings" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:290 +msgid "Conntrack helpers" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/custom.js:16 +msgid "Contents have been saved." +msgstr "Innholdet har blitt lagret." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:700 +msgid "Continue" +msgstr "Fortsett" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:204 +msgid "Counters" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:231 +msgid "Covered devices" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:183 +msgid "Covered networks" +msgstr "Gjeldene nettverk" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:236 +msgid "Covered subnets" +msgstr "" + +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:62 +msgid "Custom Rules" +msgstr "Egendefinerte Regler" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/custom.js:26 +msgid "" +"Custom rules allow you to execute arbitrary iptables commands which are not " +"otherwise covered by the firewall framework. The commands are executed after " +"each firewall restart, right after the default ruleset has been loaded." +msgstr "" +"Egendefinerte regler tillater deg å utføre vilkårlige iptables kommandoer " +"som ikke dekkes av brannmurens standardoppsett. Kommandoene utføres etter " +"hver omstart av brannmuren, rett etter at standard regelsett er lastet." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:421 +msgid "DSCP classification" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:263 +msgid "DSCP mark" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:297 +msgid "DSCP mark required" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:402 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:270 +msgid "Destination address" +msgstr "Destinasjon adresse" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:404 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:278 +msgid "Destination port" +msgstr "Målport" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:396 +msgid "Destination zone" +msgstr "Målsone" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:269 +msgid "Device name" +msgstr "Enhetsnavn" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:283 +msgid "" +"Do not install extra rules to reject forwarded traffic with conntrack state " +"invalid. This may be required for complex asymmetric route setups." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:59 +msgid "Drop invalid packets" +msgstr "Forkast ugyldige pakker" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:232 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:231 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:210 +msgid "Enable" +msgstr "Skru på" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:306 +msgid "Enable NAT Loopback" +msgstr "Aktiver NAT Tilbakekobling" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:45 +msgid "Enable SYN-flood protection" +msgstr "Aktiver SYN-flood beskyttelse" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:296 +msgid "Enable logging on this zone" +msgstr "Aktiver logging av denne sonen" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:168 +msgid "" +"Enable network address and port translation IPv4 (NAT4 or NAPT4) for " +"outbound traffic on this zone. This is typically enabled on the wan " +"zone." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:243 +msgid "" +"Enable network address and port translation IPv6 (NAT6 or NAPT6) for " +"outbound traffic on this zone." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:211 +msgid "Enabled" +msgstr "Påskrudd" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:205 +msgid "Enables packet and byte count tracking for the set." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:339 +msgid "Expecting: %s" +msgstr "Forventer: %s" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:290 +msgid "Explicitly choses allowed connection tracking helpers for zone traffic" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:274 +msgid "External IP address" +msgstr "Ekstern IP adressse" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:279 +msgid "External port" +msgstr "Ekstern port" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:349 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:470 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:342 +msgid "Extra arguments" +msgstr "Ekstra argumenter" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:322 +msgid "Extra destination arguments" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:116 +msgid "Extra iptables arguments" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:312 +msgid "Extra source arguments" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:67 +msgid "Family" +msgstr "" + +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:3 +msgid "Firewall" +msgstr "Brannmur" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/custom.js:25 +msgid "Firewall - Custom Rules" +msgstr "Brannmur - Egendefinerte Regler" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:20 +msgid "Firewall - IP sets" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:172 +msgid "Firewall - NAT Rules" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:152 +msgid "Firewall - Port Forwards" +msgstr "Brannmur - Port Videresending" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:173 +msgid "Firewall - Traffic Rules" +msgstr "Brannmur - Trafikk Regler" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:38 +msgid "Firewall - Zone Settings" +msgstr "Brannmur - Sone Innstillinger" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:693 +msgid "Firewall configuration migration" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:82 +msgid "Flow offloading type" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:64 +msgid "Forward" +msgstr "Frem" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:34 +msgid "" +"Forwarded %{ipv6?%{ipv4?IPv4 and IPv6:IPv6}:" +"IPv4}%{proto?, protocol %{proto#%{next?, }%{item.name}}}%{mark?, mark %{mark.val}" +"}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:485 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:358 +msgid "Friday" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:45 +msgid "" +"From %{src}%{src_device?, interface %{src_device}}%{src_ip?, IP " +"%{src_ip#%{next?, }%{item.ival}}}%{src_port?, port %{src_port#%{next?, }" +"%{item." +"ival}}}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:64 +msgid "" +"From %{src}%{src_device?, interface %{src_device}}%{src_ip?, IP " +"%{src_ip#%{next?, }%{item.ival}}}%{src_port?, port %{src_port#%{next?, }" +"%{item." +"ival}}}%{src_mac?, MAC %{src_mac#%{next?, }%{item.ival}" +"}}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:52 +msgid "" +"From %{src}%{src_ip?, IP %{src_ip#%{next?, }%{item.ival}}}%{src_port?, port %{src_port#%{next?, }%{item.ival}}}%{src_mac?, " +"MAC %{src_mac#%{next?, }%{item.ival}}}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:161 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:182 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:181 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:41 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:113 +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:17 +msgid "General Settings" +msgstr "Generelle innstillinger" + +#: applications/luci-app-firewall/root/usr/share/rpcd/acl.d/luci-app-firewall.json:3 +msgid "Grant access to firewall configuration" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:85 +msgid "Hardware based offloading for routing with/without NAT." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:85 +msgid "Hardware flow offloading" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:144 +msgid "IP (range)" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:32 +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:53 +msgid "IP Sets" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:152 +msgid "IPs/Networks" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:107 +msgid "IPs/Networks/MACs" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:68 +msgid "IPv4" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:191 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:280 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:219 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:256 +msgid "IPv4 and IPv6" +msgstr "IPv4 og IPv6" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:192 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:281 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:220 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:257 +msgid "IPv4 only" +msgstr "Kun IPv4" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:69 +msgid "IPv6" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:242 +msgid "IPv6 Masquerading" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:193 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:282 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:221 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:258 +msgid "IPv6 only" +msgstr "Kun IPv6" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:252 +msgid "Inbound device" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:187 +msgid "Include File" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:40 +msgid "" +"Incoming %{ipv6?%{ipv4?IPv4 and IPv6:IPv6}:" +"IPv4}%{proto?, protocol %{proto#%{next?, }%{item.types?%{item.name}ICMP " +"with types %{item.types#%{next?, }%{item}}:" +"%{item.name}}}}%{mark?, mark %{mark.val}}%{helper?, helper %{helper.inv?%{helper.val}:%{helper.val}}}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:180 +msgid "Initial Hash Size" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:62 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:151 +msgid "Input" +msgstr "Inndata" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:292 +msgid "Internal IP address" +msgstr "Intern IP adresse" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:297 +msgid "Internal port" +msgstr "Intern port" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:287 +msgid "Internal zone" +msgstr "Intern sone" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:153 +msgid "Intra zone forward" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:305 +msgid "Invalid DSCP mark" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:373 +msgid "Invalid limit value" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:47 +msgid "Invalid set name" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:383 +msgid "Limit burst" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:299 +msgid "Limit log messages" +msgstr "Begrens logging" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:349 +msgid "Limit matching" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:79 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:96 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:74 +msgid "" +"Limit matching to %{limit.num} packets per %{limit.unit}%{limit.burst? burst %{limit.burst}}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:175 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:250 +msgid "Limited masquerading enabled" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:350 +msgid "Limits traffic matching to the specified rate." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:311 +msgid "Loopback source IP" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:291 +msgid "MASQUERADE - Automatically rewrite to outbound interface IP" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:180 +msgid "MSS clamping" +msgstr "MSS Kontroll (Clamping)" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:167 +msgid "Masquerading" +msgstr "Masquerading" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:213 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:214 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:193 +msgid "Match" +msgstr "Match" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:263 +msgid "Match DSCP" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:293 +msgid "Match ICMP type" +msgstr "Match ICMP type" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:249 +msgid "Match device" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:271 +msgid "Match forwarded traffic directed at the given IP address." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:279 +msgid "" +"Match forwarded traffic directed at the given destination port or port range." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:254 +msgid "Match forwarded traffic from this IP or range." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:262 +msgid "" +"Match forwarded traffic originating from the given source port or port range." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:326 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:446 +msgid "Match helper" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:280 +msgid "" +"Match incoming traffic directed at the given destination port or port range " +"on this host" +msgstr "" +"Match innkommende trafikk rettet mot den oppgitte destinasjonsport eller " +"portområdet på denne verten" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:316 +msgid "Match mark" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:326 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:446 +msgid "Match traffic using the specified connection tracking helper." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:319 +msgid "Matches a specific firewall mark or a range of different marks." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:332 +msgid "Matches forwarded traffic using the specified outbound network device." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:264 +msgid "Matches traffic carrying the specified DSCP marking." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:113 +msgid "Max Entries" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:172 +msgid "Max Length" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:384 +msgid "" +"Maximum initial number of packets to match: this number gets recharged by " +"one every time the limit specified above is not reached, up to this number." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:481 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:354 +msgid "Monday" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:491 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:364 +msgid "Month Days" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:175 +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:44 +msgid "NAT Rules" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:173 +msgid "" +"NAT rules allow fine grained control over the source IP to use for outbound " +"or forwarded traffic." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:183 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:42 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:52 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:210 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:189 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:129 +msgid "Name" +msgstr "Navn" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:166 +msgid "Netmask" +msgstr "Nettmaske" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:83 +msgid "None" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:77 +msgid "Not fully compatible with QoS/SQM." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:275 +msgid "Only match incoming traffic directed at the given IP address." +msgstr "Match kun innkommende trafikk rettet mot den oppgitt IP adresse." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:256 +msgid "Only match incoming traffic from these MACs." +msgstr "Match kun innkommende trafikk fra disse MAC adresser." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:261 +msgid "Only match incoming traffic from this IP or range." +msgstr "Match kun innkommende trafikk fra denne IP eller IP område." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:266 +msgid "" +"Only match incoming traffic originating from the given source port or port " +"range on the client host" +msgstr "" +"Match kun innkommende trafikk som kommer fra den oppgitte kildeport eller " +"fra portområdet til klienten" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:253 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:331 +msgid "Outbound device" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:246 +msgid "Outbound zone" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:63 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:152 +msgid "Output" +msgstr "Utdata" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:75 +msgid "Packet Field Match" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:76 +msgid "" +"Packet fields to match upon.
Syntax: direction_datatype. e.g.: " +"src_port, dest_net.
Directions: src, dst. " +"Datatypes: ip, port, mac, net, set.
Direction prefixes are " +"optional.
*Note: datatype set is unsupported in fw4." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:350 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:471 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:343 +msgid "Passes additional arguments to iptables. Use with care!" +msgstr "Sender flere argumenter til iptables. Bruk med forsiktighet!" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:309 +msgid "" +"Passing raw iptables arguments to source and destination traffic " +"classification rules allows to match packets based on other criteria than " +"interfaces or subnets. These options should be used with extreme care as " +"invalid values could render the firewall ruleset broken, completely exposing " +"all services." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:188 +msgid "Path to file of CIDRs, subnets, host IPs, etc.
" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:155 +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:26 +msgid "Port Forwards" +msgstr "Port Videresendinger" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:153 +msgid "" +"Port forwarding allows remote computers on the Internet to connect to a " +"specific computer or service within the private LAN." +msgstr "" +"Port videresending tillater at eksterne datamaskiner på Internett kan koble " +"seg til en bestemt maskin eller tjeneste innenfor det private LAN." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:158 +msgid "Port range" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:237 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:289 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:242 +msgid "Protocol" +msgstr "Protokoll" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:298 +msgid "" +"Redirect matched incoming traffic to the given port on the internal host" +msgstr "" +"Viderekoble matchet innkommende trafikk til den oppgitte porten på intern " +"vert" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:293 +msgid "Redirect matched incoming traffic to the specified internal host" +msgstr "Viderekoble matchet innkommende trafikk til den angitte interne vert" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:122 +msgid "Refer To External Set" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:320 +msgid "Reflection zones" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:85 +msgid "Requires hardware NAT support." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:272 +msgid "Restrict Masquerading to given destination subnets" +msgstr "Begrens Masquerading til oppgitt destinasjons subnett" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:261 +msgid "Restrict Masquerading to given source subnets" +msgstr "Begrens Masqeuerading til oppgitt kilde subnett" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:188 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:277 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:216 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:255 +msgid "Restrict to address family" +msgstr "Begrens til adresse familie" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:297 +msgid "Rewrite IP address" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:298 +msgid "Rewrite matched traffic to the specified source IP address." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:312 +msgid "Rewrite matched traffic to the specified source port or port range." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:311 +msgid "Rewrite port" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:76 +msgid "Routing/NAT Offloading" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:290 +msgid "SNAT - Rewrite to specific source IP or port" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:486 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:359 +msgid "Saturday" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:316 +msgid "Set mark" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:318 +msgid "" +"Set the given mark value on established connections. Format is value[/mask]. " +"If a mask is specified then only those bits set in the mask are modified." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:84 +msgid "Software based offloading for routing/NAT." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:84 +msgid "Software flow offloading" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:260 +msgid "Source IP address" +msgstr "Kilde IP adresse" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:255 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:386 +msgid "Source MAC address" +msgstr "Kilde MAC adresse" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:387 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:253 +msgid "Source address" +msgstr "Kilde adresse" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:265 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:389 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:261 +msgid "Source port" +msgstr "Kilde port" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:241 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:372 +msgid "Source zone" +msgstr "Kilde sone" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:270 +msgid "" +"Specifies whether to tie this traffic rule to a specific inbound or outbound " +"network device." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:311 +msgid "" +"Specifies whether to use the external or the internal IP address for " +"reflected traffic." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:510 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:383 +msgid "Start Date (yyyy-mm-dd)" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:502 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:375 +msgid "Start Time (hh:mm:ss)" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:514 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:387 +msgid "Stop Date (yyyy-mm-dd)" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:506 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:379 +msgid "Stop Time (hh:mm:ss)" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:130 +msgid "Storage Method" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:480 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:353 +msgid "Sunday" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:694 +msgid "" +"The existing firewall configuration needs to be changed for LuCI to function " +"properly." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:39 +msgid "" +"The firewall creates zones over your network interfaces to control network " +"traffic flow." +msgstr "" +"Brannmuren skaper soner over nettverkets grensesnitt for å styre " +"nettverkstrafikken." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:227 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:340 +msgid "" +"The options below control the forwarding policies between this zone (%s) and " +"other zones. Destination zones cover forwarded traffic " +"originating from %q. Source zones match forwarded " +"traffic from other zones targeted at %q. The forwarding " +"rule is unidirectional, e.g. a forward from lan to wan does " +"not imply a permission to forward from wan to lan as well." +msgstr "" +"Med valgene under konfigurerer man videresending mellom denne sone (%s) og " +"andre soner. Destinasjons soner omhandler videresendt trafikk " +"med opprinnelse fra %q. Kilde soner matcher " +"videresendt trafikk fra andre soner rettet mot %q. Reglene " +"ved videresending er enveis, d.v.s at videresending fra LAN til WAN " +"ikke automatisk også tillater videresending fra WAN til LAN." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:125 +#, fuzzy +msgid "" +"This section defines common properties of %q. The input and " +"output options set the default policies for traffic entering and " +"leaving this zone while the forward option describes the policy for " +"forwarded traffic between different networks within the zone. Covered " +"networks specifies which available networks are members of this zone." +msgstr "" +"Denne seksjonen definerer de vanligste valg for %q. Med Inndata og " +"Utdata fastsetter man vanlige regler for trafikk gjennom sonen, " +"mens videresend valget definerer regler for videresendt trafikk " +"mellom forskjellige nettverk i sonen. Gjeldene nettverk " +"spesifiserer hvilken av de tilgjengelige nettverk som er medlem av denne " +"sone." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:484 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:357 +msgid "Thursday" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:184 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:183 +msgid "Time Restrictions" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:518 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:391 +msgid "Time in UTC" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:244 +msgid "Time restrictions are enabled for this rule" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:196 +msgid "Timeout" +msgstr "Tidsavbrudd" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:77 +msgid "" +"To %{dest}%{dest_device?, interface %{dest_device}}%{dest_ip?, IP " +"%{dest_ip#%{next?, }%{item.ival}
}}%{dest_port?, port %{dest_port#%{next?, }" +"%{item." +"ival}}}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:55 +msgid "" +"To %{dest}%{dest_device?, via interface %{dest_device}}%{dest_ip?, IP %{dest_ip#%{next?, }%{item.ival}}}%{dest_port?, port " +"%{dest_port#%{next?, }%{item.ival}}}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:61 +msgid "" +"To %{dest}%{dest_ip?, IP %{dest_ip#%{next?, }%{item.ival}}}%{dest_port?, port %{dest_port#%{next?, }%{item.ival}}}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:439 +msgid "Tracking helper" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:176 +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:35 +msgid "Traffic Rules" +msgstr "Trafikk Regler" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:174 +msgid "" +"Traffic rules define policies for packets travelling between different " +"zones, for example to reject traffic between certain hosts or to open WAN " +"ports on the router." +msgstr "" +"Trafikk regler definerer regler for sending av pakker mellom ulike soner, " +"for eksempel for å avvise trafikk mellom visse verter eller for å åpne WAN " +"porter på ruteren." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:482 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:355 +msgid "Tuesday" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/custom.js:19 +msgid "Unable to save contents: %s" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:197 +msgid "" +"Unit: seconds. Default 0 means the entry is added permanently " +"to the set.
Max: 2147483 seconds." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:341 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:461 +msgid "Unknown or not installed conntrack helper \"%s\"" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:186 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:190 +msgid "Unnamed NAT" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:169 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:184 +msgid "Unnamed forward" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:191 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:211 +msgid "Unnamed rule" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:57 +msgid "Unnamed set" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:130 +msgid "Unnamed zone" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:597 +msgid "Unrecognized protocol" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:695 +msgid "" +"Upon pressing \"Continue\", \"redirect\" sections with target \"SNAT\" will " +"be converted to \"nat\" sections and the firewall will be restarted to apply " +"the updated configuration." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:315 +msgid "Use external IP address" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:314 +msgid "Use internal IP address" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:247 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:378 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:322 +msgid "Use ipset" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:231 +msgid "" +"Use this option to classify zone traffic by raw, non-uci managed " +"network devices." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:236 +msgid "" +"Use this option to classify zone traffic by source or destination subnet " +"instead of networks or devices." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:331 +msgid "Valid firewall mark required" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:483 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:356 +msgid "Wednesday" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:475 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:348 +msgid "Week Days" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:420 +msgid "XOR firewall mark" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:316 +msgid "XOR mark" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:28 +msgid "Your device does not run firewall4." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:26 +msgid "Your device runs firewall4." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:143 +msgid "Zone ⇒ Forwardings" +msgstr "Sone = Videresendinger" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:101 +msgid "Zones" +msgstr "Soner" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:320 +msgid "" +"Zones from which reflection rules shall be created. If unset, only the " +"destination zone is used." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:415 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:70 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:159 +msgid "accept" +msgstr "godta" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:268 +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:463 +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:486 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:270 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:301 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:328 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:392 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:407 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:441 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:448 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:266 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:282 +msgid "any" +msgstr "enhver" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:53 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:86 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:65 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:78 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:46 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:56 +msgid "any zone" +msgstr "enhver sone" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:298 +msgid "any/all" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:419 +msgid "apply firewall mark" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:418 +msgid "assign conntrack helper" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:194 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:222 +msgid "automatic" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:131 +msgid "bitmap" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:137 +msgid "bitmap is ipv4 only" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:72 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:89 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:67 +msgid "day" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:93 +msgid "dest_ip: Destination IP" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:95 +msgid "dest_mac: Destination MAC addr" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:96 +msgid "dest_net: Destination (sub)net" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:94 +msgid "dest_port: Destination Port" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:98 +msgid "dest_set: Destination ipset*" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:315 +msgid "do not rewrite" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:417 +msgid "don't track" +msgstr "ikke track" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:414 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:69 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:158 +msgid "drop" +msgstr "forkast" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:21 +msgid "" +"firewall4 supports referencing and creating IP sets to simplify matching of " +"large address lists without the need to create one rule per item to match. " +"Port ranges in ipsets are unsupported by firewall4.
" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:159 +msgid "fromport-toport" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:132 +msgid "hash" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:72 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:89 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:67 +msgid "hour" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:81 +msgid "ip: IP addr" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:153 +msgid "ip[/cidr]
" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:145 +msgid "ip[/cidr]
For use with Match datatypes: *_ip." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:70 +msgid "ipv4" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:133 +msgid "list" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:83 +msgid "mac: MAC addr" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:108 +msgid "macaddr|ip[/cidr]
" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:72 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:89 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:67 +msgid "minute" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:84 +msgid "net: (sub)net" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:82 +msgid "port: Port" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:416 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:68 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:157 +msgid "reject" +msgstr "avslå" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:72 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:89 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:67 +msgid "second" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:86 +msgid "set: ipset*" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:92 +msgid "src_Set: Source ipset*" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:87 +msgid "src_ip: Source IP" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:89 +msgid "src_mac: Source MAC addr" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:90 +msgid "src_net: Source (sub)net" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:88 +msgid "src_port: Source Port" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:53 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:62 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:86 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:65 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:78 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:56 +msgid "this device" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:124 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:226 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:339 +msgid "this new zone" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:354 +msgid "unlimited" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:251 +msgid "unspecified" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:114 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:173 +msgid "up to 65536 entries." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:339 +msgid "valid firewall mark" +msgstr "" diff --git a/luci-app-firewall/po/nl/firewall.po b/luci-app-firewall/po/nl/firewall.po new file mode 100644 index 000000000..55f27f290 --- /dev/null +++ b/luci-app-firewall/po/nl/firewall.po @@ -0,0 +1,1629 @@ +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2010-03-30 17:00+0200\n" +"PO-Revision-Date: 2024-04-18 14:03+0000\n" +"Last-Translator: Stephan \n" +"Language-Team: Dutch \n" +"Language: nl\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Generator: Weblate 5.5-dev\n" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:48 +msgid "" +"%{src?%{dest?Forwarded:Incoming}:Outgoing} %{ipv6?%{ipv4?IPv4 and " +"IPv6:IPv6}:IPv4}%{proto?, protocol " +"%{proto#%{next?, }%{item.types?%{item." +"name}ICMP with types %{item.types#%{next?, }" +"%{item}}:%{item.name}}}}%{mark?, mark " +"%{mark.val}}%{dscp?, DSCP %{dscp." +"inv?%{dscp.val}:%{dscp.val}}}%{helper?, helper " +"%{helper.inv?%{helper.val}:%{helper." +"val}}}" +msgstr "" +"%{src?%{dest?Forwarded:Inkomend}:Uitgaand} %{ipv6?%{ipv4?IPv4 and " +"IPv6:IPv6}:IPv4}%{proto?, protocol " +"%{proto#%{next?, }%{item.types?%{item." +"name}ICMP met types %{item.types#%{next?, }" +"%{item}}:%{item.name}}}}%{mark?, mark " +"%{mark.val}}%{dscp?, DSCP %{dscp.inv?%{dscp.val}:" +"%{dscp.val}}}%{helper?, helper %{helper.inv?%{helper.val}:%{helper.val}}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:463 +msgid "-- add IP --" +msgstr "-- IP toevoegen --" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:521 +msgid "-- add MAC --" +msgstr "-- MAC toevoegen --" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:199 +msgid "0" +msgstr "0" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:182 +msgid "1024" +msgstr "1024" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:118 +msgid "" +"Accept %{src?%{dest?forward:input}:output}" +msgstr "" +"Accepteer %{src?%{dest?forward:input}:" +"output}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:93 +msgid "Prevent source rewrite" +msgstr "Voorkom overschrijven van bron" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:85 +msgid "" +"Forward to %{dest}%{dest_ip? IP " +"%{dest_ip}}%{dest_port? port %{dest_port}}" +msgstr "" +"Forward to %{dest}%{dest_ip? IP " +"%{dest_ip}}%{dest_port? port %{dest_port}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:115 +msgid "" +"Drop %{src?%{dest?forward:input}:output}" +msgstr "" +"Uitgang %{src?%{dest?forward:input}:output}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:133 +msgid "" +"Assign DSCP classification %{set_dscp}" +"" +msgstr "" +"Toewijzen DSCP classificatie " +"%{set_dscp}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:127 +msgid "" +"Assign conntrack helper " +"%{set_helper}" +msgstr "" +"Geassocieerde tracking helper " +"%{set_helper}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:130 +msgid "" +"%{set_mark?Assign:XOR} firewall mark " +"%{set_mark?:%{set_xmark}}" +msgstr "" +"%{set_mark?Assign:XOR} Firewall markering " +"%{set_mark?:%{set_xmark}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:90 +msgid "Automatically rewrite source IP" +msgstr "" +"Automatisch herschrijven bron IP" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:124 +msgid "" +"Do not track %{src?%{dest?forward:input}:" +"output}" +msgstr "" +"Niet traceren %{src?%{dest?forward:" +"input}:output}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:121 +msgid "" +"Reject %{src?%{dest?forward:input}:output}" +msgstr "" +"Afwijzen %{src?%{dest?forward:input}:" +"output}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:87 +msgid "" +"Statically rewrite to source %{snat_ip?IP " +"%{snat_ip}} %{snat_port?port %{snat_port}}" +msgstr "" +"Statisch herschrijven naar bron %{snat_ip?" +"IP %{snat_ip}} %{snat_port?port %{snat_port}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:306 +msgid "A rewrite IP must be specified!" +msgstr "Een herschrijf IP moet gespecificeerd worden!" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:292 +msgid "ACCEPT - Disable address rewriting" +msgstr "ACCEPTEREN - Herschrijven van adres uitschakelen" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:224 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:225 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:411 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:204 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:287 +msgid "Action" +msgstr "Actie" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:322 +msgid "" +"Additional raw iptables arguments to classify zone destination " +"traffic, e.g. -p tcp --dport 443 to only match outbound HTTPS " +"traffic." +msgstr "" +"Extra ruwe iptables argumenten om zonebestemmingsverkeer te " +"classificeren, bv. -p tcp --dport 443 om alleen overeen te " +"komen met uitgaand HTTPS-verkeer." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:312 +msgid "" +"Additional raw iptables arguments to classify zone source traffic, " +"e.g. -p tcp --sport 443 to only match inbound HTTPS traffic." +msgstr "" +"Extra ruwe iptables argumenten om zonebronverkeer te classificeren, " +"bv. -p tcp --sport 443 om alleen inkomend HTTPS-verkeer te " +"matchen." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:107 +msgid "Address family, Internal IP address must match" +msgstr "Adres familie, het interne IP-adres moet overeenkomen met" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:135 +msgid "" +"Address family, source address, destination address, rewrite IP address must " +"match" +msgstr "" +"Adres familie, bronadres, bestemmingsadres, herschreven IP-adres moeten " +"overeenkomen" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:162 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:183 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:182 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:114 +msgid "Advanced Settings" +msgstr "Geavanceerde instellingen" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:283 +msgid "Allow \"invalid\" traffic" +msgstr "Laat \"ongeldig\" verkeer toe" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:385 +msgid "Allow forward from source zones:" +msgstr "Doorsturen vanuit bronzones toestaan:" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:344 +msgid "Allow forward to destination zones:" +msgstr "Doorsturen naar bestemmingszones toestaan:" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:551 +msgid "Any" +msgstr "Elke" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:479 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:495 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:352 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:368 +msgid "Any day" +msgstr "Elke dag" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:317 +msgid "" +"Apply a bitwise XOR of the given value and the existing mark value on " +"established connections. Format is value[/mask]. If a mask is specified then " +"those bits set in the mask are zeroed out." +msgstr "" +"Past een bitwise XOR toe van de gegeven waarde en de bestaande markeerwaarde " +"op gevestigde verbindingen. Formaat is waarde[/masker]. Als een masker is " +"opgegeven, worden de bits in het masker op nul gezet." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:264 +msgid "Apply the given DSCP class or value to established connections." +msgstr "" +"Past de opgegeven DSCP-klasse of -waarde toe op tot stand gebrachte " +"verbindingen." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:439 +msgid "Assign the specified connection tracking helper to matched traffic." +msgstr "" +"Wijst de gespecificeerde helper voor het volgen van verbindingen toe aan " +"gematcht verkeer." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:286 +msgid "Automatic helper assignment" +msgstr "Automatische helper opdracht" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:286 +msgid "" +"Automatically assign conntrack helpers based on traffic protocol and port" +msgstr "" +"Automatisch conntrack helpers toewijzen op basis van verkeersprotocol en " +"poort" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:61 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:62 +msgid "Comment" +msgstr "Opmerking" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:115 +msgid "Conntrack Settings" +msgstr "Conntrack Instellingen" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:290 +msgid "Conntrack helpers" +msgstr "Conntrack helpers" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/custom.js:16 +msgid "Contents have been saved." +msgstr "De inhoud is opgeslagen." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:700 +msgid "Continue" +msgstr "Doorgaan" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:204 +msgid "Counters" +msgstr "Tellers" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:231 +msgid "Covered devices" +msgstr "Gedekte apparaten" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:183 +msgid "Covered networks" +msgstr "Gedekte netwerken" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:236 +msgid "Covered subnets" +msgstr "Gedekte subnetten" + +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:62 +msgid "Custom Rules" +msgstr "Aangepaste regels" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/custom.js:26 +msgid "" +"Custom rules allow you to execute arbitrary iptables commands which are not " +"otherwise covered by the firewall framework. The commands are executed after " +"each firewall restart, right after the default ruleset has been loaded." +msgstr "" +"Aangepaste regels laten u toe om willekeurige iptables-commando's uit te " +"voeren die anders niet onder het firewall raamwerk vallen. De commando's " +"worden uitgevoerd na elke herstart van de firewall, direct nadat de " +"standaardregelset is geladen." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:421 +msgid "DSCP classification" +msgstr "DSCP classificatie" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:263 +msgid "DSCP mark" +msgstr "DSCP markering" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:297 +msgid "DSCP mark required" +msgstr "DSCP markering vereist" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:402 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:270 +msgid "Destination address" +msgstr "Bestemmingsadres" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:404 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:278 +msgid "Destination port" +msgstr "Bestemmingspoort" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:396 +msgid "Destination zone" +msgstr "Bestemmingszone" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:269 +msgid "Device name" +msgstr "Naam apparaat" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:283 +msgid "" +"Do not install extra rules to reject forwarded traffic with conntrack state " +"invalid. This may be required for complex asymmetric route setups." +msgstr "" +"Installeer geen extra regels om doorgestuurd verkeer met conntrackstatus " +"ongeldig te weigeren. Dit kan nodig zijn voor complexe " +"asymmetrische route-instellingen." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:59 +msgid "Drop invalid packets" +msgstr "Verwijder ongeldige pakketten" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:232 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:231 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:210 +msgid "Enable" +msgstr "Inschakelen" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:306 +msgid "Enable NAT Loopback" +msgstr "NAT Loopback inschakelen" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:45 +msgid "Enable SYN-flood protection" +msgstr "SYN-flood bescherming inschakelen" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:296 +msgid "Enable logging on this zone" +msgstr "Logging op deze zone inschakelen" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:168 +msgid "" +"Enable network address and port translation IPv4 (NAT4 or NAPT4) for " +"outbound traffic on this zone. This is typically enabled on the wan " +"zone." +msgstr "" +"Netwerkadres- en poortvertaling IPv4 (NAT4 of NAPT4) inschakelen voor " +"uitgaand verkeer in deze zone. Dit is meestal ingeschakeld in de zone " +"wan." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:243 +msgid "" +"Enable network address and port translation IPv6 (NAT6 or NAPT6) for " +"outbound traffic on this zone." +msgstr "" +"Netwerkadres- en poortvertaling IPv6 (NAT6 of NAPT6) inschakelen voor " +"uitgaand verkeer op deze zone." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:211 +msgid "Enabled" +msgstr "Ingeschakeld" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:205 +msgid "Enables packet and byte count tracking for the set." +msgstr "Schakelt het telling bijhouden van pakketten en bytes voor de set in." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:339 +msgid "Expecting: %s" +msgstr "Verwacht: %s" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:290 +msgid "Explicitly choses allowed connection tracking helpers for zone traffic" +msgstr "Kiest expliciet toegestane connectie tracking helpers voor zoneverkeer" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:274 +msgid "External IP address" +msgstr "Extern IP-adres" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:279 +msgid "External port" +msgstr "Externe poort" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:349 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:470 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:342 +msgid "Extra arguments" +msgstr "Extra argumenten" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:322 +msgid "Extra destination arguments" +msgstr "Extra bestemmingsargumenten" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:116 +msgid "Extra iptables arguments" +msgstr "Extra iptables argumenten" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:312 +msgid "Extra source arguments" +msgstr "Extra bron argumenten" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:67 +msgid "Family" +msgstr "Familie" + +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:3 +msgid "Firewall" +msgstr "Firewall" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/custom.js:25 +msgid "Firewall - Custom Rules" +msgstr "Firewall - Aangepaste regels" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:20 +msgid "Firewall - IP sets" +msgstr "Firewall - IP sets" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:172 +msgid "Firewall - NAT Rules" +msgstr "Firewall - NAT-regels" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:152 +msgid "Firewall - Port Forwards" +msgstr "Firewall - Poort doorsturen" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:173 +msgid "Firewall - Traffic Rules" +msgstr "Firewall - Verkeersregels" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:38 +msgid "Firewall - Zone Settings" +msgstr "Firewall - Zone-instellingen" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:693 +msgid "Firewall configuration migration" +msgstr "Migratie van firewallconfiguratie" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:82 +msgid "Flow offloading type" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:64 +msgid "Forward" +msgstr "Forward" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:34 +msgid "" +"Forwarded %{ipv6?%{ipv4?IPv4 and IPv6:IPv6}:" +"IPv4}%{proto?, protocol %{proto#%{next?, }%{item.name}}}%{mark?, mark %{mark.val}" +"}" +msgstr "" +"Forwarded %{ipv6?%{ipv4?IPv4 en IPv6:IPv6}:" +"IPv4}%{proto?, protocol %{proto#%{next?, }%{item.name}}}%{mark?, mark %{mark.val}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:485 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:358 +msgid "Friday" +msgstr "Vrijdag" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:45 +msgid "" +"From %{src}%{src_device?, interface %{src_device}}%{src_ip?, IP " +"%{src_ip#%{next?, }%{item.ival}}}%{src_port?, port %{src_port#%{next?, }" +"%{item." +"ival}}}" +msgstr "" +"Van %{src}%{src_device?, interface %{src_device}}%{src_ip?, IP " +"%{src_ip#%{next?, }%{item.ival}}}%{src_port?, poort " +"%{src_port#%{next?, }%{item.ival}}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:64 +msgid "" +"From %{src}%{src_device?, interface %{src_device}}%{src_ip?, IP " +"%{src_ip#%{next?, }%{item.ival}}}%{src_port?, port %{src_port#%{next?, }" +"%{item." +"ival}}}%{src_mac?, MAC %{src_mac#%{next?, }%{item.ival}" +"}}" +msgstr "" +"Van %{src}%{src_device?, interface %{src_device}}%{src_ip?, IP " +"%{src_ip#%{next?, }%{item.ival}}}%{src_port?, poort " +"%{src_port#%{next?, }%{item.ival}}}%{src_mac?, MAC " +"%{src_mac#%{next?, }%{item.ival}}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:52 +msgid "" +"From %{src}%{src_ip?, IP %{src_ip#%{next?, }%{item.ival}}}%{src_port?, port %{src_port#%{next?, }%{item.ival}}}%{src_mac?, " +"MAC %{src_mac#%{next?, }%{item.ival}}}" +msgstr "" +"Van %{src}%{src_ip?, IP %{src_ip#%{next?, }%{item.ival}}}%{src_port?, poort %{src_port#%{next?, }%{item.ival}}}%{src_mac?, MAC %{src_mac#%{next?, }%{item.ival}}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:161 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:182 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:181 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:41 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:113 +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:17 +msgid "General Settings" +msgstr "Algemene instellingen" + +#: applications/luci-app-firewall/root/usr/share/rpcd/acl.d/luci-app-firewall.json:3 +msgid "Grant access to firewall configuration" +msgstr "Toegang verlenen tot firewallconfiguratie" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:85 +msgid "Hardware based offloading for routing with/without NAT." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:85 +msgid "Hardware flow offloading" +msgstr "Hardware stroom ontlasten" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:144 +msgid "IP (range)" +msgstr "IP (bereik)" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:32 +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:53 +msgid "IP Sets" +msgstr "IP-sets" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:152 +msgid "IPs/Networks" +msgstr "IP's/netwerken" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:107 +msgid "IPs/Networks/MACs" +msgstr "IP's/Netwerken/MAC's" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:68 +msgid "IPv4" +msgstr "IPv4" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:191 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:280 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:219 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:256 +msgid "IPv4 and IPv6" +msgstr "IPv4 en IPv6" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:192 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:281 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:220 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:257 +msgid "IPv4 only" +msgstr "Alleen IPv4" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:69 +msgid "IPv6" +msgstr "IPv6" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:242 +msgid "IPv6 Masquerading" +msgstr "IPv6-maskering" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:193 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:282 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:221 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:258 +msgid "IPv6 only" +msgstr "Alleen IPv6" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:252 +msgid "Inbound device" +msgstr "Inkomend apparaat" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:187 +msgid "Include File" +msgstr "Inclusief bestand" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:40 +msgid "" +"Incoming %{ipv6?%{ipv4?IPv4 and IPv6:IPv6}:" +"IPv4}%{proto?, protocol %{proto#%{next?, }%{item.types?%{item.name}ICMP " +"with types %{item.types#%{next?, }%{item}}:" +"%{item.name}}}}%{mark?, mark %{mark.val}}%{helper?, helper %{helper.inv?%{helper.val}:%{helper.val}}}" +msgstr "" +"Inkomend %{ipv6?%{ipv4?IPv4 en IPv6:IPv6}:" +"IPv4}%{proto?, protocol %{proto#%{next?, }%{item.types?%{item.name}ICMP " +"met types %{item.types#%{next?, }%{item}}:" +"%{item.name}}}}%{mark?, mark %{mark.val}}%{helper?, helper " +"%{helper.inv?%{helper.val}:%{helper.val}}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:180 +msgid "Initial Hash Size" +msgstr "Initiële hashgrootte" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:62 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:151 +msgid "Input" +msgstr "Invoer" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:292 +msgid "Internal IP address" +msgstr "Intern IP-adres" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:297 +msgid "Internal port" +msgstr "Interne poort" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:287 +msgid "Internal zone" +msgstr "Interne zone" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:153 +msgid "Intra zone forward" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:305 +msgid "Invalid DSCP mark" +msgstr "Ongeldige DSCP-markering" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:373 +msgid "Invalid limit value" +msgstr "Ongeldige grenswaarde" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:47 +msgid "Invalid set name" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:383 +msgid "Limit burst" +msgstr "Beperk burst" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:299 +msgid "Limit log messages" +msgstr "Logboekberichten beperken" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:349 +msgid "Limit matching" +msgstr "Beperk het matchen" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:79 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:96 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:74 +msgid "" +"Limit matching to %{limit.num} packets per %{limit.unit}%{limit.burst? burst %{limit.burst}}" +msgstr "" +"Beperk matching tot %{limit.num} pakketten per %{limit.unit}" +"%{limit.burst? burst %{limit.burst}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:175 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:250 +msgid "Limited masquerading enabled" +msgstr "Beperkte maskering ingeschakeld" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:350 +msgid "Limits traffic matching to the specified rate." +msgstr "Beperkt verkeer dat overeenkomt met de opgegeven snelheid." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:311 +msgid "Loopback source IP" +msgstr "Loopback-bron-IP" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:291 +msgid "MASQUERADE - Automatically rewrite to outbound interface IP" +msgstr "MASQUERADE - Automatisch herschrijven naar uitgaande interface IP" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:180 +msgid "MSS clamping" +msgstr "MSS klemmen" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:167 +msgid "Masquerading" +msgstr "Gemaskerd" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:213 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:214 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:193 +msgid "Match" +msgstr "Overeenkomst" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:263 +msgid "Match DSCP" +msgstr "DSCP overeenkomst" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:293 +msgid "Match ICMP type" +msgstr "ICMP-type overeenkomst" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:249 +msgid "Match device" +msgstr "Apparaat overeenkomst" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:271 +msgid "Match forwarded traffic directed at the given IP address." +msgstr "Match doorgestuurd verkeer gericht op het opgegeven IP-adres." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:279 +msgid "" +"Match forwarded traffic directed at the given destination port or port range." +msgstr "" +"Match doorgestuurd verkeer dat is gericht op de opgegeven bestemmingspoort " +"of poortbereik." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:254 +msgid "Match forwarded traffic from this IP or range." +msgstr "Match doorgestuurd verkeer van dit IP-adres of bereik." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:262 +msgid "" +"Match forwarded traffic originating from the given source port or port range." +msgstr "" +"Match doorgestuurd verkeer afkomstig van de opgegeven bronpoort of " +"poortbereik." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:326 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:446 +msgid "Match helper" +msgstr "Match helper" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:280 +msgid "" +"Match incoming traffic directed at the given destination port or port range " +"on this host" +msgstr "" +"Binnenkomend verkeer afstemmen dat is gericht op de opgegeven " +"bestemmingspoort of het opgegeven poortbereik op deze host" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:316 +msgid "Match mark" +msgstr "Markering overeenkomst" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:326 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:446 +msgid "Match traffic using the specified connection tracking helper." +msgstr "" +"Match verkeer met behulp van de opgegeven helper voor het bijhouden van " +"verbindingen." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:319 +msgid "Matches a specific firewall mark or a range of different marks." +msgstr "" +"Komt overeen met een specifieke firewallmarkering of een reeks verschillende " +"markeringen." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:332 +msgid "Matches forwarded traffic using the specified outbound network device." +msgstr "" +"Komt overeen met doorgestuurd verkeer met behulp van het opgegeven uitgaande " +"netwerkapparaat." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:264 +msgid "Matches traffic carrying the specified DSCP marking." +msgstr "Komt overeen met verkeer met de opgegeven DSCP-markering." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:113 +msgid "Max Entries" +msgstr "Max inzendingen" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:172 +msgid "Max Length" +msgstr "Max lengte" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:384 +msgid "" +"Maximum initial number of packets to match: this number gets recharged by " +"one every time the limit specified above is not reached, up to this number." +msgstr "" +"Maximum aanvankelijk aantal te matchen pakketten: dit aantal wordt elke keer " +"dat de hierboven gespecificeerde limiet niet wordt bereikt met één " +"aangevuld, tot dit aantal." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:481 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:354 +msgid "Monday" +msgstr "Maandag" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:491 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:364 +msgid "Month Days" +msgstr "Maand Dagen" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:175 +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:44 +msgid "NAT Rules" +msgstr "NAT-regels" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:173 +msgid "" +"NAT rules allow fine grained control over the source IP to use for outbound " +"or forwarded traffic." +msgstr "" +"NAT-regels bieden een gedetailleerde controle over het bron-IP-adres dat " +"moet worden gebruikt voor uitgaand of doorgestuurd verkeer." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:183 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:42 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:52 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:210 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:189 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:129 +msgid "Name" +msgstr "Naam" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:166 +msgid "Netmask" +msgstr "Netmasker" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:83 +msgid "None" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:77 +msgid "Not fully compatible with QoS/SQM." +msgstr "Niet volledig compatibel met QoS/SQM." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:275 +msgid "Only match incoming traffic directed at the given IP address." +msgstr "" +"Pas alleen binnenkomend verkeer toe dat naar het opgegeven IP-adres wordt " +"geleid." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:256 +msgid "Only match incoming traffic from these MACs." +msgstr "Alleen binnenkomend verkeer van deze MAC's matchen." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:261 +msgid "Only match incoming traffic from this IP or range." +msgstr "Match alleen binnenkomend verkeer van dit IP of bereik." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:266 +msgid "" +"Only match incoming traffic originating from the given source port or port " +"range on the client host" +msgstr "" +"Pas alleen binnenkomend verkeer toe dat afkomstig is van de opgegeven " +"bronpoort of poortbereik op de clienthost" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:253 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:331 +msgid "Outbound device" +msgstr "Uitgaand apparaat" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:246 +msgid "Outbound zone" +msgstr "Uitgaande zone" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:63 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:152 +msgid "Output" +msgstr "Uitgang" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:75 +msgid "Packet Field Match" +msgstr "Pakket veld matchen" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:76 +msgid "" +"Packet fields to match upon.
Syntax: direction_datatype. e.g.: " +"src_port, dest_net.
Directions: src, dst. " +"Datatypes: ip, port, mac, net, set.
Direction prefixes are " +"optional.
*Note: datatype set is unsupported in fw4." +msgstr "" +"Pakketvelden waarop moet worden afgestemd.
Syntax: " +"direction_datatype. bijv.: src_port, dest_net.
Richtingen: src, dst. Datatypes: ip, poort, mac, net, " +"set.
Richtingvoorvoegsels zijn optioneel.
*Noot: datatype " +"set wordt niet ondersteund in fw4." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:350 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:471 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:343 +msgid "Passes additional arguments to iptables. Use with care!" +msgstr "Geeft aanvullende argumenten door aan iptables. Zorgvuldig gebruiken!" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:309 +msgid "" +"Passing raw iptables arguments to source and destination traffic " +"classification rules allows to match packets based on other criteria than " +"interfaces or subnets. These options should be used with extreme care as " +"invalid values could render the firewall ruleset broken, completely exposing " +"all services." +msgstr "" +"Door onbewerkte iptables-argumenten door te geven aan classificatieregels " +"voor bron- en bestemmingsverkeer, kunnen pakketten worden vergeleken op " +"basis van andere criteria dan interfaces of subnetten. Deze opties moeten " +"uiterst voorzichtig worden gebruikt, omdat ongeldige waarden de regelset van " +"de firewall kunnen overtreden, waardoor alle services volledig worden " +"blootgesteld." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:188 +msgid "Path to file of CIDRs, subnets, host IPs, etc.
" +msgstr "Pad naar bestand van CIDR's, subnetten, host-IP's, enz.
" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:155 +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:26 +msgid "Port Forwards" +msgstr "Poort forwards" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:153 +msgid "" +"Port forwarding allows remote computers on the Internet to connect to a " +"specific computer or service within the private LAN." +msgstr "" +"Met poort forwarding kunnen externe computers op internet verbinding maken " +"met een specifieke computer of service binnen het privé-LAN." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:158 +msgid "Port range" +msgstr "Poort bereik" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:237 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:289 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:242 +msgid "Protocol" +msgstr "Protocol" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:298 +msgid "" +"Redirect matched incoming traffic to the given port on the internal host" +msgstr "" +"Leid overeenkomend binnenkomend verkeer om naar de opgegeven poort op de " +"interne host" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:293 +msgid "Redirect matched incoming traffic to the specified internal host" +msgstr "" +"Leid overeenkomend binnenkomend verkeer om naar de opgegeven interne host" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:122 +msgid "Refer To External Set" +msgstr "Raadpleeg Externe set" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:320 +msgid "Reflection zones" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:85 +msgid "Requires hardware NAT support." +msgstr "Vereist hardware NAT-ondersteuning." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:272 +msgid "Restrict Masquerading to given destination subnets" +msgstr "Beperk Masquerading tot bepaalde bestemmingssubnetten" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:261 +msgid "Restrict Masquerading to given source subnets" +msgstr "Beperk Masquerading tot bepaalde bronsubnetten" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:188 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:277 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:216 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:255 +msgid "Restrict to address family" +msgstr "Beperken tot adres familie" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:297 +msgid "Rewrite IP address" +msgstr "Herschrijf het IP-adres" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:298 +msgid "Rewrite matched traffic to the specified source IP address." +msgstr "Herschrijf overeenkomend verkeer naar het opgegeven bron-IP-adres." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:312 +msgid "Rewrite matched traffic to the specified source port or port range." +msgstr "" +"Herschrijf overeenkomend verkeer naar de opgegeven bronpoort of poortbereik." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:311 +msgid "Rewrite port" +msgstr "Herschrijf poort" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:76 +msgid "Routing/NAT Offloading" +msgstr "Routering/NAT-offloading" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:290 +msgid "SNAT - Rewrite to specific source IP or port" +msgstr "SNAT - herschrijven naar specifieke bron-IP of poort" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:486 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:359 +msgid "Saturday" +msgstr "Zaterdag" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:316 +msgid "Set mark" +msgstr "Markering instellen" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:318 +msgid "" +"Set the given mark value on established connections. Format is value[/mask]. " +"If a mask is specified then only those bits set in the mask are modified." +msgstr "" +"Stel de gegeven markeringswaarde in op bestaande verbindingen. Formaat is " +"waarde[/mask]. Als een masker is opgegeven, worden alleen de bits die in het " +"masker zijn ingesteld, gewijzigd." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:84 +msgid "Software based offloading for routing/NAT." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:84 +msgid "Software flow offloading" +msgstr "Software flow offloading" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:260 +msgid "Source IP address" +msgstr "Bron IP adres" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:255 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:386 +msgid "Source MAC address" +msgstr "Bron MAC-adres" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:387 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:253 +msgid "Source address" +msgstr "Bron adres" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:265 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:389 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:261 +msgid "Source port" +msgstr "Bronpoort" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:241 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:372 +msgid "Source zone" +msgstr "Bronzone" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:270 +msgid "" +"Specifies whether to tie this traffic rule to a specific inbound or outbound " +"network device." +msgstr "" +"Geeft aan of deze verkeersregel moet worden gekoppeld aan een specifiek " +"inkomend of uitgaand netwerkapparaat." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:311 +msgid "" +"Specifies whether to use the external or the internal IP address for " +"reflected traffic." +msgstr "" +"Specificeert of het externe of het interne IP-adres moet worden gebruikt " +"voor gereflecteerd verkeer." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:510 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:383 +msgid "Start Date (yyyy-mm-dd)" +msgstr "Startdatum (jjjj-mm-dd)" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:502 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:375 +msgid "Start Time (hh:mm:ss)" +msgstr "Starttijd (hh:mm:ss)" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:514 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:387 +msgid "Stop Date (yyyy-mm-dd)" +msgstr "Stopdatum (jjjj-mm-dd)" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:506 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:379 +msgid "Stop Time (hh:mm:ss)" +msgstr "Stoptijd (hh:mm:ss)" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:130 +msgid "Storage Method" +msgstr "Opslagmethode" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:480 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:353 +msgid "Sunday" +msgstr "Zondag" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:694 +msgid "" +"The existing firewall configuration needs to be changed for LuCI to function " +"properly." +msgstr "" +"De bestaande firewallconfiguratie moet worden gewijzigd om LuCI goed te " +"laten functioneren." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:39 +msgid "" +"The firewall creates zones over your network interfaces to control network " +"traffic flow." +msgstr "" +"De firewall creëert zones over uw netwerkinterfaces om de " +"netwerkverkeersstroom te regelen." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:227 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:340 +msgid "" +"The options below control the forwarding policies between this zone (%s) and " +"other zones. Destination zones cover forwarded traffic " +"originating from %q. Source zones match forwarded " +"traffic from other zones targeted at %q. The forwarding " +"rule is unidirectional, e.g. a forward from lan to wan does " +"not imply a permission to forward from wan to lan as well." +msgstr "" +"De onderstaande opties regelen het doorstuurbeleid tussen deze zone (%s) en " +"andere zones. Bestemmingszones dekken doorgestuurd verkeer " +"afkomstig van %q. Bronzones komen overeen met " +"doorgestuurd verkeer van andere zones gericht op %q. De " +"doorstuurregel is unidirectioneel, b.v. een forward van lan naar " +"wan impliceert niet een toestemming om ook van wan naar lan door te " +"sturen." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:125 +msgid "" +"This section defines common properties of %q. The input and " +"output options set the default policies for traffic entering and " +"leaving this zone while the forward option describes the policy for " +"forwarded traffic between different networks within the zone. Covered " +"networks specifies which available networks are members of this zone." +msgstr "" +"Deze sectie definieert gemeenschappelijke eigenschappen van %q. De opties " +"invoer en uitvoer stellen het standaardbeleid in voor " +"verkeer dat deze zone binnenkomt en verlaat, terwijl de optie forward het beleid beschrijft voor doorgestuurd verkeer tussen verschillende " +"netwerken binnen de zone . Overdekte netwerken specificeert welke " +"beschikbare netwerken lid zijn van deze zone." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:484 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:357 +msgid "Thursday" +msgstr "Donderdag" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:184 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:183 +msgid "Time Restrictions" +msgstr "Tijdsbeperkingen" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:518 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:391 +msgid "Time in UTC" +msgstr "Tijd in UTC" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:244 +msgid "Time restrictions are enabled for this rule" +msgstr "Tijdsbeperkingen zijn ingeschakeld voor deze regel" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:196 +msgid "Timeout" +msgstr "Time-out" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:77 +msgid "" +"To %{dest}%{dest_device?, interface %{dest_device}}%{dest_ip?, IP " +"%{dest_ip#%{next?, }%{item.ival}
}}%{dest_port?, port %{dest_port#%{next?, }" +"%{item." +"ival}}}" +msgstr "" +"Naar %{dest}%{dest_device?, interface %{dest_device}}%{dest_ip?, " +"IP %{dest_ip#%{next?, }%{item.ival}}}%{dest_port?, poort " +"%{dest_port#%{next?, }%{item.ival}}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:55 +msgid "" +"To %{dest}%{dest_device?, via interface %{dest_device}}%{dest_ip?, IP %{dest_ip#%{next?, }%{item.ival}}}%{dest_port?, port " +"%{dest_port#%{next?, }%{item.ival}}}" +msgstr "" +"Naar %{dest}%{dest_device?, via interface %{dest_device}}%{dest_ip?, IP %{dest_ip#%{next?, }%{item.ival}}}%{dest_port?, poort %{dest_port#%{next?, }%{item.ival}}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:61 +msgid "" +"To %{dest}%{dest_ip?, IP %{dest_ip#%{next?, }%{item.ival}}}%{dest_port?, port %{dest_port#%{next?, }%{item.ival}}}" +msgstr "" +"Naar %{dest}%{dest_ip?, IP %{dest_ip#%{next?, }%{item.ival}}}%{dest_port?, poort %{dest_port#%{next?, }%{item.ival}}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:439 +msgid "Tracking helper" +msgstr "Tracking helper" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:176 +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:35 +msgid "Traffic Rules" +msgstr "Verkeersregels" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:174 +msgid "" +"Traffic rules define policies for packets travelling between different " +"zones, for example to reject traffic between certain hosts or to open WAN " +"ports on the router." +msgstr "" +"Verkeersregels definiëren beleid voor pakketten die tussen verschillende " +"zones reizen, bijvoorbeeld om verkeer tussen bepaalde hosts te weigeren of " +"om WAN-poorten op de router te openen." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:482 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:355 +msgid "Tuesday" +msgstr "Dinsdag" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/custom.js:19 +msgid "Unable to save contents: %s" +msgstr "Kan inhoud niet opslaan: %s" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:197 +msgid "" +"Unit: seconds. Default 0 means the entry is added permanently " +"to the set.
Max: 2147483 seconds." +msgstr "" +"Eenheid: seconden. Standaard 0 betekent dat het item permanent " +"aan de set wordt toegevoegd.
Max: 2147483 seconden." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:341 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:461 +msgid "Unknown or not installed conntrack helper \"%s\"" +msgstr "Onbekende of niet geïnstalleerde conntrack helper \"%s\"" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:186 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:190 +msgid "Unnamed NAT" +msgstr "Naamloze NAT" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:169 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:184 +msgid "Unnamed forward" +msgstr "Naamloze forward" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:191 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:211 +msgid "Unnamed rule" +msgstr "Naamloze regel" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:57 +msgid "Unnamed set" +msgstr "Naamloze set" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:130 +msgid "Unnamed zone" +msgstr "Naamloze zone" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:597 +msgid "Unrecognized protocol" +msgstr "Niet herkend protocol" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:695 +msgid "" +"Upon pressing \"Continue\", \"redirect\" sections with target \"SNAT\" will " +"be converted to \"nat\" sections and the firewall will be restarted to apply " +"the updated configuration." +msgstr "" +"Als u op \"Doorgaan\" klikt, worden \"omleidings\"-secties met als doel " +"\"SNAT\" geconverteerd naar \"nat\"-secties en wordt de firewall opnieuw " +"gestart om de bijgewerkte configuratie toe te passen." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:315 +msgid "Use external IP address" +msgstr "Extern IP-adres gebruiken" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:314 +msgid "Use internal IP address" +msgstr "Intern IP-adres gebruiken" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:247 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:378 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:322 +msgid "Use ipset" +msgstr "Gebruik ipset" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:231 +msgid "" +"Use this option to classify zone traffic by raw, non-uci managed " +"network devices." +msgstr "" +"Gebruik deze optie om zoneverkeer te classificeren op basis van onbewerkte, " +"niet door uci beheerde netwerkapparaten." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:236 +msgid "" +"Use this option to classify zone traffic by source or destination subnet " +"instead of networks or devices." +msgstr "" +"Gebruik deze optie om zoneverkeer te classificeren op bron- of " +"bestemmingssubnet in plaats van op netwerken of apparaten." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:331 +msgid "Valid firewall mark required" +msgstr "Geldige firewallmarkering vereist" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:483 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:356 +msgid "Wednesday" +msgstr "Woensdag" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:475 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:348 +msgid "Week Days" +msgstr "Weekdagen" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:420 +msgid "XOR firewall mark" +msgstr "XOR firewall markering" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:316 +msgid "XOR mark" +msgstr "XOR-markering" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:28 +msgid "Your device does not run firewall4." +msgstr "Uw apparaat heeft geen firewall4." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:26 +msgid "Your device runs firewall4." +msgstr "Uw apparaat gebruikt een firewall4." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:143 +msgid "Zone ⇒ Forwardings" +msgstr "Zone ⇒ Forwardings" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:101 +msgid "Zones" +msgstr "Zones" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:320 +msgid "" +"Zones from which reflection rules shall be created. If unset, only the " +"destination zone is used." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:415 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:70 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:159 +msgid "accept" +msgstr "accepteer" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:268 +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:463 +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:486 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:270 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:301 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:328 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:392 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:407 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:441 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:448 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:266 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:282 +msgid "any" +msgstr "elke" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:53 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:86 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:65 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:78 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:46 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:56 +msgid "any zone" +msgstr "elke zone" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:298 +msgid "any/all" +msgstr "elke/alle" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:419 +msgid "apply firewall mark" +msgstr "firewallmarkering toepassen" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:418 +msgid "assign conntrack helper" +msgstr "conntrack helper toewijzen" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:194 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:222 +msgid "automatic" +msgstr "automatisch" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:131 +msgid "bitmap" +msgstr "bitmap" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:137 +msgid "bitmap is ipv4 only" +msgstr "bitmap is alleen ipv4" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:72 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:89 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:67 +msgid "day" +msgstr "dag" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:93 +msgid "dest_ip: Destination IP" +msgstr "dest_ip: Bestemmings IP" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:95 +msgid "dest_mac: Destination MAC addr" +msgstr "dest_mac: Bestemming MAC addr" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:96 +msgid "dest_net: Destination (sub)net" +msgstr "dest_net: Bestemming (sub)net" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:94 +msgid "dest_port: Destination Port" +msgstr "dest_port: Bestemmingspoort" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:98 +msgid "dest_set: Destination ipset*" +msgstr "dest_set: Bestemming ipset*" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:315 +msgid "do not rewrite" +msgstr "niet herschrijven" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:417 +msgid "don't track" +msgstr "niet volgen" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:414 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:69 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:158 +msgid "drop" +msgstr "laat vallen" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:21 +msgid "" +"firewall4 supports referencing and creating IP sets to simplify matching of " +"large address lists without the need to create one rule per item to match. " +"Port ranges in ipsets are unsupported by firewall4.
" +msgstr "" +"firewall4 ondersteunt verwijzingen en het maken van IP-sets om het matchen " +"van grote adreslijsten te vereenvoudigen zonder de noodzaak om één regel per " +"item te maken om te matchen. Poortbereiken in ipsets worden niet ondersteund " +"door firewall4.
" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:159 +msgid "fromport-toport" +msgstr "vanpoort-naarpoort" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:132 +msgid "hash" +msgstr "hash" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:72 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:89 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:67 +msgid "hour" +msgstr "uur" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:81 +msgid "ip: IP addr" +msgstr "ip: IP adres" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:153 +msgid "ip[/cidr]
" +msgstr "ip[/cidr]
" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:145 +msgid "ip[/cidr]
For use with Match datatypes: *_ip." +msgstr "ip[/cidr]
Voor gebruik met Match datatypes: *_ip." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:70 +msgid "ipv4" +msgstr "ipv4" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:133 +msgid "list" +msgstr "lijst" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:83 +msgid "mac: MAC addr" +msgstr "mac: MAC adres" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:108 +msgid "macaddr|ip[/cidr]
" +msgstr "macaddr|ip[/cidr]
" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:72 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:89 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:67 +msgid "minute" +msgstr "minuut" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:84 +msgid "net: (sub)net" +msgstr "net: (sub)net" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:82 +msgid "port: Port" +msgstr "poort: Poort" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:416 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:68 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:157 +msgid "reject" +msgstr "afwijzen" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:72 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:89 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:67 +msgid "second" +msgstr "seconde" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:86 +msgid "set: ipset*" +msgstr "set: ipset*" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:92 +msgid "src_Set: Source ipset*" +msgstr "src_Set: Bron ipset*" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:87 +msgid "src_ip: Source IP" +msgstr "src_ip: Bron IP" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:89 +msgid "src_mac: Source MAC addr" +msgstr "src_mac: Bron MAC adres" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:90 +msgid "src_net: Source (sub)net" +msgstr "src_net: Bron (sub)net" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:88 +msgid "src_port: Source Port" +msgstr "src_port: Bronpoort" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:53 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:62 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:86 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:65 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:78 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:56 +msgid "this device" +msgstr "dit apparaat" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:124 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:226 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:339 +msgid "this new zone" +msgstr "deze nieuwe zone" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:354 +msgid "unlimited" +msgstr "onbeperkt" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:251 +msgid "unspecified" +msgstr "niet gespecificeerd" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:114 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:173 +msgid "up to 65536 entries." +msgstr "tot 65536 vermeldingen." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:339 +msgid "valid firewall mark" +msgstr "geldige firewallmarkering" + +#~ msgid "Software based offloading for routing/NAT" +#~ msgstr "Op software gebaseerde offloading voor routing/NAT" diff --git a/luci-app-firewall/po/pl/firewall.po b/luci-app-firewall/po/pl/firewall.po new file mode 100644 index 000000000..ba3e23ce7 --- /dev/null +++ b/luci-app-firewall/po/pl/firewall.po @@ -0,0 +1,1663 @@ +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2010-03-30 17:00+0200\n" +"PO-Revision-Date: 2024-11-29 19:50+0000\n" +"Last-Translator: Piotr Kołtun \n" +"Language-Team: Polish \n" +"Language: pl\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 " +"|| n%100>=20) ? 1 : 2);\n" +"X-Generator: Weblate 5.9-dev\n" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:48 +msgid "" +"%{src?%{dest?Forwarded:Incoming}:Outgoing} %{ipv6?%{ipv4?IPv4 and " +"IPv6:IPv6}:IPv4}%{proto?, protocol " +"%{proto#%{next?, }%{item.types?%{item." +"name}ICMP with types %{item.types#%{next?, }" +"%{item}}:%{item.name}}}}%{mark?, mark " +"%{mark.val}}%{dscp?, DSCP %{dscp." +"inv?%{dscp.val}:%{dscp.val}}}%{helper?, helper " +"%{helper.inv?%{helper.val}:%{helper." +"val}}}" +msgstr "" +"%{src?%{dest?Przekazywane:Przychodzące}:Wychodzące} %{ipv6?%{ipv4?IPv4 i IPv6:IPv6}:IPv4}%{proto?, protokół " +"%{proto#%{next?, }%{item.types?%{item." +"name}ICMP z odmianami %{item.types#%{next?, }" +"%{item}}:%{item.name}}}}%{mark?, znacznik " +"%{mark.val}}%{dscp?, DSCP %{dscp.inv?%{dscp.val}:%{dscp.val}}}%{helper?, pomocnik %{helper.inv?%{helper.val}:%{helper.val}}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:463 +msgid "-- add IP --" +msgstr "-- dodaj IP --" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:521 +msgid "-- add MAC --" +msgstr "-- dodaj MAC --" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:199 +msgid "0" +msgstr "0" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:182 +msgid "1024" +msgstr "1024" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:118 +msgid "" +"Accept %{src?%{dest?forward:input}:output}" +msgstr "" +"Akceptuj %{src?%{dest?forward:input}:" +"output}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:93 +msgid "Prevent source rewrite" +msgstr "Zapobieganie przepisywaniu źródła" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:85 +msgid "" +"Forward to %{dest}%{dest_ip? IP " +"%{dest_ip}}%{dest_port? port %{dest_port}}" +msgstr "" +"Przekazuj do %{dest}%{dest_ip? IP " +"%{dest_ip}}%{dest_port? port %{dest_port}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:115 +msgid "" +"Drop %{src?%{dest?forward:input}:output}" +msgstr "" +"Porzucaj %{src?%{dest?forward:input}:output}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:133 +msgid "" +"Assign DSCP classification %{set_dscp}" +"" +msgstr "" +"Przydziel DSCP klasyfikacja %{set_dscp}" +"" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:127 +msgid "" +"Assign conntrack helper " +"%{set_helper}" +msgstr "" +"Przydziel conntrack-pomocnika " +"%{set_helper}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:130 +msgid "" +"%{set_mark?Assign:XOR} firewall mark " +"%{set_mark?:%{set_xmark}}" +msgstr "" +"%{set_mark?Assign:XOR} znacznik zapory " +"sieciowej %{set_mark?:%{set_xmark}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:90 +msgid "Automatically rewrite source IP" +msgstr "" +"Automatycznie przepisz źródłowy adres " +"IP" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:124 +msgid "" +"Do not track %{src?%{dest?forward:input}:" +"output}" +msgstr "" +"Nie śledź %{src?%{dest?forward:input}:" +"output}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:121 +msgid "" +"Reject %{src?%{dest?forward:input}:output}" +msgstr "" +"Odrzucaj %{src?%{dest?forward:input}:" +"output}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:87 +msgid "" +"Statically rewrite to source %{snat_ip?IP " +"%{snat_ip}} %{snat_port?port %{snat_port}}" +msgstr "" +"Statycznie przepisz do źródła %{snat_ip?IP " +"%{snat_ip}} %{snat_port?port %{snat_port}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:306 +msgid "A rewrite IP must be specified!" +msgstr "Należy podać adres IP do ponownego zapisu!" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:292 +msgid "ACCEPT - Disable address rewriting" +msgstr "ACCEPT - Wyłącz przepisywanie adresów" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:224 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:225 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:411 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:204 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:287 +msgid "Action" +msgstr "Akcja" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:322 +msgid "" +"Additional raw iptables arguments to classify zone destination " +"traffic, e.g. -p tcp --dport 443 to only match outbound HTTPS " +"traffic." +msgstr "" +"Dodatkowe surowe iptables argumenty do klasyfikacji ruchu w strefie " +"docelowej, np. -p tcp --dport 443 tylko w celu dopasowania " +"ruchu wychodzącego HTTPS." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:312 +msgid "" +"Additional raw iptables arguments to classify zone source traffic, " +"e.g. -p tcp --sport 443 to only match inbound HTTPS traffic." +msgstr "" +"Dodatkowe surowe iptables argumenty do klasyfikacji ruchu w strefie " +"docelowej, np. -p tcp --sport 443 tylko w celu dopasowania " +"ruchu przychodzącego HTTPS." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:107 +msgid "Address family, Internal IP address must match" +msgstr "Rodzina adresów, wewnętrzny adres IP muszą być zgodne" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:135 +msgid "" +"Address family, source address, destination address, rewrite IP address must " +"match" +msgstr "" +"Rodzina adresów, adres źródłowy, adres docelowy, przepisany adres IP muszą " +"być zgodne" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:162 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:183 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:182 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:114 +msgid "Advanced Settings" +msgstr "Ustawienia zaawansowane" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:283 +msgid "Allow \"invalid\" traffic" +msgstr "Zezwól na „nieprawidłowy” ruch" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:385 +msgid "Allow forward from source zones:" +msgstr "Zezwól na przekazywanie ze strefy źródłowej:" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:344 +msgid "Allow forward to destination zones:" +msgstr "Zezwól na przekazywanie do strefy docelowej:" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:551 +msgid "Any" +msgstr "Każdy" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:479 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:495 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:352 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:368 +msgid "Any day" +msgstr "Każdy dzień" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:317 +msgid "" +"Apply a bitwise XOR of the given value and the existing mark value on " +"established connections. Format is value[/mask]. If a mask is specified then " +"those bits set in the mask are zeroed out." +msgstr "" +"Zastosuj bitowy XOR podanej wartości i istniejącej wartości znacznika na " +"ustanowionych połączeniach. Format to wartość [/mask]. Jeśli maska jest " +"określona, wówczas ustawione w niej bity są zerowane." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:264 +msgid "Apply the given DSCP class or value to established connections." +msgstr "Zastosuj daną klasę lub wartość DSCP do ustanowionych połączeń." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:439 +msgid "Assign the specified connection tracking helper to matched traffic." +msgstr "" +"Przydziel określonego pomocnika śledzenia połączeń do dopasowanego ruchu." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:286 +msgid "Automatic helper assignment" +msgstr "Automatyczne przydzielanie pomocnika" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:286 +msgid "" +"Automatically assign conntrack helpers based on traffic protocol and port" +msgstr "" +"Automatycznie przydzielaj pomocników conntrack na podstawie protokołu ruchu " +"i portu" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:61 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:62 +msgid "Comment" +msgstr "Komentarz" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:115 +msgid "Conntrack Settings" +msgstr "Ustawienia conntrack" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:290 +msgid "Conntrack helpers" +msgstr "Pomocnicy conntrack" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/custom.js:16 +msgid "Contents have been saved." +msgstr "Zawartość została zapisana." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:700 +msgid "Continue" +msgstr "Kontynuuj" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:204 +msgid "Counters" +msgstr "Liczniki" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:231 +msgid "Covered devices" +msgstr "Objęte urządzenia" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:183 +msgid "Covered networks" +msgstr "Objęte sieci" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:236 +msgid "Covered subnets" +msgstr "Objęte podsieci" + +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:62 +msgid "Custom Rules" +msgstr "Własne reguły" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/custom.js:26 +msgid "" +"Custom rules allow you to execute arbitrary iptables commands which are not " +"otherwise covered by the firewall framework. The commands are executed after " +"each firewall restart, right after the default ruleset has been loaded." +msgstr "" +"Własne reguły pozwalają na arbitralne wykonanie poleceń iptables, które nie " +"są objęte składnią zapory. Polecenia wykonywane są po każdym restarcie " +"zapory, zaraz po załadowaniu zestawu reguł domyślnych." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:421 +msgid "DSCP classification" +msgstr "klasyfikacja DSCP" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:263 +msgid "DSCP mark" +msgstr "Znacznik DSCP" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:297 +msgid "DSCP mark required" +msgstr "Wymagany znacznik DSCP" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:402 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:270 +msgid "Destination address" +msgstr "Adres przeznaczenia" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:404 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:278 +msgid "Destination port" +msgstr "Port docelowy" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:396 +msgid "Destination zone" +msgstr "Strefa docelowa" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:269 +msgid "Device name" +msgstr "Nazwa urządzenia" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:283 +msgid "" +"Do not install extra rules to reject forwarded traffic with conntrack state " +"invalid. This may be required for complex asymmetric route setups." +msgstr "" +"Nie instaluj dodatkowych reguł odrzucania ruchu przekazywanego ze stanem " +"conntrack nieprawidłowy. Może to być wymagane w przypadku " +"skomplikowanych asymetrycznych ustawień trasy." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:59 +msgid "Drop invalid packets" +msgstr "Porzucaj wadliwe pakiety" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:232 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:231 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:210 +msgid "Enable" +msgstr "Włącz" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:306 +msgid "Enable NAT Loopback" +msgstr "Włącz pętlę zwrotną NAT" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:45 +msgid "Enable SYN-flood protection" +msgstr "Włącz ochronę przed SYN‑flood" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:296 +msgid "Enable logging on this zone" +msgstr "Włącz logowanie tej strefy" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:168 +msgid "" +"Enable network address and port translation IPv4 (NAT4 or NAPT4) for " +"outbound traffic on this zone. This is typically enabled on the wan " +"zone." +msgstr "" +"Włącz translację adresów sieciowych i portów IPv4 (NAT4 lub NAPT4) dla ruchu " +"wychodzącego w tej strefie. Jest ona zazwyczaj włączona w strefie wan." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:243 +msgid "" +"Enable network address and port translation IPv6 (NAT6 or NAPT6) for " +"outbound traffic on this zone." +msgstr "" +"Włącz translację adresów sieciowych i portów IPv6 (NAT6 lub NAPT6) dla ruchu " +"wychodzącego w tej strefie." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:211 +msgid "Enabled" +msgstr "Włączone" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:205 +msgid "Enables packet and byte count tracking for the set." +msgstr "Włącza śledzenie liczby pakietów i bajtów dla zestawu." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:339 +msgid "Expecting: %s" +msgstr "Zaleca się użyć: %s" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:290 +msgid "Explicitly choses allowed connection tracking helpers for zone traffic" +msgstr "" +"Dokładnie wybiera dozwolonych pomocników śledzenia połączeń dla ruchu " +"strefowego" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:274 +msgid "External IP address" +msgstr "Zewnętrzne adresy IP" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:279 +msgid "External port" +msgstr "Port zewnętrzny" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:349 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:470 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:342 +msgid "Extra arguments" +msgstr "Dodatkowe argumenty" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:322 +msgid "Extra destination arguments" +msgstr "Dodatkowe argumenty przeznaczenia" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:116 +msgid "Extra iptables arguments" +msgstr "Dodatkowe argumenty tablicy IP" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:312 +msgid "Extra source arguments" +msgstr "Dodatkowe argumenty zródłowe" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:67 +msgid "Family" +msgstr "Rodzina" + +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:3 +msgid "Firewall" +msgstr "Zapora sieciowa" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/custom.js:25 +msgid "Firewall - Custom Rules" +msgstr "Zapora sieciowa - Własne reguły" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:20 +msgid "Firewall - IP sets" +msgstr "Zapora sieciowa - Zestawy IP" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:172 +msgid "Firewall - NAT Rules" +msgstr "Zapora sieciowa - Zasady NAT" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:152 +msgid "Firewall - Port Forwards" +msgstr "Zapora sieciowa - Przekazywanie portów" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:173 +msgid "Firewall - Traffic Rules" +msgstr "Zapora sieciowa - Reguły ruchu sieciowego" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:38 +msgid "Firewall - Zone Settings" +msgstr "Zapora sieciowa - Ustawienia stref" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:693 +msgid "Firewall configuration migration" +msgstr "Migracja konfiguracji zapory sieciowej" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:82 +msgid "Flow offloading type" +msgstr "Typ flow offloadingu" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:64 +msgid "Forward" +msgstr "Ruch przekazujący" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:34 +msgid "" +"Forwarded %{ipv6?%{ipv4?IPv4 and IPv6:IPv6}:" +"IPv4}%{proto?, protocol %{proto#%{next?, }%{item.name}}}%{mark?, mark %{mark.val}" +"}" +msgstr "" +"Przekazano %{ipv6?%{ipv4?IPv4 i IPv6:IPv6}:" +"IPv4}%{proto?, protokół {proto#%{next?, }%{item.name}}}%{mark?, znacznik %{mark." +"val}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:485 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:358 +msgid "Friday" +msgstr "Piątek" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:45 +msgid "" +"From %{src}%{src_device?, interface %{src_device}}%{src_ip?, IP " +"%{src_ip#%{next?, }%{item.ival}}}%{src_port?, port %{src_port#%{next?, }" +"%{item." +"ival}}}" +msgstr "" +"Z %{src}%{src_device?, interfejs %{src_device}}%{src_ip?, IP " +"%{src_ip#%{next?, }%{item.ival}}}%{src_port?, port " +"%{src_port#%{next?, }%{item.ival}}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:64 +msgid "" +"From %{src}%{src_device?, interface %{src_device}}%{src_ip?, IP " +"%{src_ip#%{next?, }%{item.ival}}}%{src_port?, port %{src_port#%{next?, }" +"%{item." +"ival}}}%{src_mac?, MAC %{src_mac#%{next?, }%{item.ival}" +"}}" +msgstr "" +"Z %{src}%{src_device?, interfejs %{src_device}}%{src_ip?, IP " +"%{src_ip#%{next?, }%{item.ival}}}%{src_port?, port " +"%{src_port#%{next?, }%{item.ival}}}%{src_mac?, MAC " +"%{src_mac#%{next?, }%{item.ival}}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:52 +msgid "" +"From %{src}%{src_ip?, IP %{src_ip#%{next?, }%{item.ival}}}%{src_port?, port %{src_port#%{next?, }%{item.ival}}}%{src_mac?, " +"MAC %{src_mac#%{next?, }%{item.ival}}}" +msgstr "" +"Z %{src}%{src_ip?, IP %{src_ip#%{next?, }%{item.ival}}}%{src_port?, port %{src_port#%{next?, }%{item.ival}}}%{src_mac?, MAC %{src_mac#%{next?, }%{item.ival}}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:161 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:182 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:181 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:41 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:113 +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:17 +msgid "General Settings" +msgstr "Ustawienia główne" + +#: applications/luci-app-firewall/root/usr/share/rpcd/acl.d/luci-app-firewall.json:3 +msgid "Grant access to firewall configuration" +msgstr "Udziel dostępu do konfiguracji zapory sieciowej" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:85 +msgid "Hardware based offloading for routing with/without NAT." +msgstr "Sprzętowy flow offloading do trasowania z/bez NAT." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:85 +msgid "Hardware flow offloading" +msgstr "Sprzętowy flow offloading" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:144 +msgid "IP (range)" +msgstr "IP (zakres)" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:32 +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:53 +msgid "IP Sets" +msgstr "Zestawy IP" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:152 +msgid "IPs/Networks" +msgstr "Adresy IP/Sieci" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:107 +msgid "IPs/Networks/MACs" +msgstr "Adresy IP/Sieci/Adresy MAC" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:68 +msgid "IPv4" +msgstr "IPv4" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:191 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:280 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:219 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:256 +msgid "IPv4 and IPv6" +msgstr "IPv4 i IPv6" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:192 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:281 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:220 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:257 +msgid "IPv4 only" +msgstr "Tylko IPv4" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:69 +msgid "IPv6" +msgstr "IPv6" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:242 +msgid "IPv6 Masquerading" +msgstr "Maskarada IPv6" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:193 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:282 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:221 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:258 +msgid "IPv6 only" +msgstr "Tylko IPv6" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:252 +msgid "Inbound device" +msgstr "Urządzenie przychodzące" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:187 +msgid "Include File" +msgstr "Plik dołączany" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:40 +msgid "" +"Incoming %{ipv6?%{ipv4?IPv4 and IPv6:IPv6}:" +"IPv4}%{proto?, protocol %{proto#%{next?, }%{item.types?%{item.name}ICMP " +"with types %{item.types#%{next?, }%{item}}:" +"%{item.name}}}}%{mark?, mark %{mark.val}}%{helper?, helper %{helper.inv?%{helper.val}:%{helper.val}}}" +msgstr "" +"Przychodzące %{ipv6?%{ipv4?IPv4 i IPv6:IPv6}:IPv4}%{proto?, protokół %{proto#%{next?, }%{item.types?%{item.name}ICMP " +"z typami %{item.types#%{next?, }%{item}}:%{item." +"name}}}}%{mark?, znacznik %{mark.val}}%{helper?, pomocnik %{helper.inv?%{helper.val}:%{helper.val}}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:180 +msgid "Initial Hash Size" +msgstr "Początkowy rozmiar wartości skrótu" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:62 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:151 +msgid "Input" +msgstr "Ruch przychodzący" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:292 +msgid "Internal IP address" +msgstr "Wewnętrzny adres IP" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:297 +msgid "Internal port" +msgstr "Port wewnętrzny" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:287 +msgid "Internal zone" +msgstr "Strefa wewnętrzna" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:153 +msgid "Intra zone forward" +msgstr "Przekazywanie wewnątrzstrefowe" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:305 +msgid "Invalid DSCP mark" +msgstr "Nieprawidłowy znacznik DSCP" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:373 +msgid "Invalid limit value" +msgstr "Nieprawidłowa wartość graniczna" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:47 +msgid "Invalid set name" +msgstr "Nieprawidłowa nazwa zestawu" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:383 +msgid "Limit burst" +msgstr "Naruszenie limitu" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:299 +msgid "Limit log messages" +msgstr "Ograniczenie logowania" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:349 +msgid "Limit matching" +msgstr "Dopasowanie limitu" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:79 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:96 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:74 +msgid "" +"Limit matching to %{limit.num} packets per %{limit.unit}%{limit.burst? burst %{limit.burst}}" +msgstr "" +"Dopasowanie limitu do %{limit.num} pakiety na %{limit.unit}%{limit.burst? seria %{limit.burst}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:175 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:250 +msgid "Limited masquerading enabled" +msgstr "Ograniczona maskarada włączona" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:350 +msgid "Limits traffic matching to the specified rate." +msgstr "Ogranicza dopasowanie ruchu do określonej szybkości." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:311 +msgid "Loopback source IP" +msgstr "Źródło pętli zwrotnej IP" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:291 +msgid "MASQUERADE - Automatically rewrite to outbound interface IP" +msgstr "MASQUERADE - Automatyczne przepisywanie na interfejs wyjściowy IP" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:180 +msgid "MSS clamping" +msgstr "Dostosuj MSS" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:167 +msgid "Masquerading" +msgstr "Maskarada" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:213 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:214 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:193 +msgid "Match" +msgstr "Dopasuj" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:263 +msgid "Match DSCP" +msgstr "Dopasuj DSCP" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:293 +msgid "Match ICMP type" +msgstr "Dopasuj typ ICMP" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:249 +msgid "Match device" +msgstr "Dopasuj urządzenie" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:271 +msgid "Match forwarded traffic directed at the given IP address." +msgstr "Dopasuj przekazywany ruch skierowany na podany adres IP." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:279 +msgid "" +"Match forwarded traffic directed at the given destination port or port range." +msgstr "" +"Dopasuj przekazywany ruch skierowany na dany port docelowy lub zakres portów." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:254 +msgid "Match forwarded traffic from this IP or range." +msgstr "Dopasuj przekazywany ruch z tego adresu IP lub zakresu." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:262 +msgid "" +"Match forwarded traffic originating from the given source port or port range." +msgstr "" +"Dopasuj przekazywany ruch pochodzący z danego portu źródłowego lub zakresu " +"portów." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:326 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:446 +msgid "Match helper" +msgstr "Pomocnik dopasowania" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:280 +msgid "" +"Match incoming traffic directed at the given destination port or port range " +"on this host" +msgstr "" +"Dopasuj ruch przychodzący do danego portu docelowego lub zakresu portów na " +"tym hoście" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:316 +msgid "Match mark" +msgstr "Znacznik dopasowania" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:326 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:446 +msgid "Match traffic using the specified connection tracking helper." +msgstr "Dopasuj ruch, używając określonego pomocnika śledzenia połączeń." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:319 +msgid "Matches a specific firewall mark or a range of different marks." +msgstr "Odpowiada konkretnemu znakowi zapory lub zakresowi różnych znaków." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:332 +msgid "Matches forwarded traffic using the specified outbound network device." +msgstr "" +"Dopasowuje przekazywany ruch przy użyciu określonego wychodzącego urządzenia " +"sieciowego." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:264 +msgid "Matches traffic carrying the specified DSCP marking." +msgstr "Dopasowuje ruch niosący określone oznaczenie DSCP." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:113 +msgid "Max Entries" +msgstr "Maksymalna liczba wpisów" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:172 +msgid "Max Length" +msgstr "Maksymalna długość" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:384 +msgid "" +"Maximum initial number of packets to match: this number gets recharged by " +"one every time the limit specified above is not reached, up to this number." +msgstr "" +"Maksymalna początkowa liczba pakietów do dopasowania: ta liczba jest " +"ładowana jednorazowo za każdym razem, gdy limit określony powyżej nie " +"zostanie osiągnięty, aż do tej liczby." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:481 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:354 +msgid "Monday" +msgstr "Poniedziałek" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:491 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:364 +msgid "Month Days" +msgstr "Dni miesiąca" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:175 +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:44 +msgid "NAT Rules" +msgstr "Zasady NAT" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:173 +msgid "" +"NAT rules allow fine grained control over the source IP to use for outbound " +"or forwarded traffic." +msgstr "" +"Reguły NAT umożliwiają precyzyjną kontrolę źródłowego adresu IP w celu " +"użycia ruchu wychodzącego lub przekazywanego." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:183 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:42 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:52 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:210 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:189 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:129 +msgid "Name" +msgstr "Nazwa" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:166 +msgid "Netmask" +msgstr "Maska sieci" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:83 +msgid "None" +msgstr "Brak" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:77 +msgid "Not fully compatible with QoS/SQM." +msgstr "Niepełna kompatybilność z QoS/SQM." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:275 +msgid "Only match incoming traffic directed at the given IP address." +msgstr "Dopasuj tylko przychodzący ruch skierowany do danego adresu IP." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:256 +msgid "Only match incoming traffic from these MACs." +msgstr "Dopasuj tylko ruch z tych adresów MAC." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:261 +msgid "Only match incoming traffic from this IP or range." +msgstr "Dopasuj tylko ruch przychodzący z tego adresu IP lub zakresu adresów." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:266 +msgid "" +"Only match incoming traffic originating from the given source port or port " +"range on the client host" +msgstr "" +"Dopasuj tylko ruch przychodzący z podanego portu źródłowego lub zakresu " +"portów na hoście klienta" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:253 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:331 +msgid "Outbound device" +msgstr "Urządzenie wychodzące" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:246 +msgid "Outbound zone" +msgstr "Strefa wychodząca" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:63 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:152 +msgid "Output" +msgstr "Ruch wychodzący" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:75 +msgid "Packet Field Match" +msgstr "Dopasowanie pola pakietu" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:76 +msgid "" +"Packet fields to match upon.
Syntax: direction_datatype. e.g.: " +"src_port, dest_net.
Directions: src, dst. " +"Datatypes: ip, port, mac, net, set.
Direction prefixes are " +"optional.
*Note: datatype set is unsupported in fw4." +msgstr "" +"Pola pakietów do dopasowania.
Składnia: direction_datatype. " +"np.: src_port, dest_net.
Kierunki: src, dst. " +"Typy danych: ip, port, mac, net, set.
Prefiksy kierunku są " +"opcjonalne.
*Uwaga: typ danych set nie jest obsługiwany w " +"fw4." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:350 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:471 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:343 +msgid "Passes additional arguments to iptables. Use with care!" +msgstr "" +"Przekazuje dodatkowe argumenty do iptables. Zachowaj szczególną ostrożność!" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:309 +msgid "" +"Passing raw iptables arguments to source and destination traffic " +"classification rules allows to match packets based on other criteria than " +"interfaces or subnets. These options should be used with extreme care as " +"invalid values could render the firewall ruleset broken, completely exposing " +"all services." +msgstr "" +"Przekazywanie surowych argumentów iptables do reguł klasyfikacji ruchu " +"źródłowego i docelowego pozwala na dopasowanie pakietów w oparciu o inne " +"kryteria niż interfejsy lub podsieci. Opcje te powinny być używane ze " +"szczególną ostrożnością, ponieważ nieprawidłowe wartości mogą spowodować " +"złamanie zestawu reguł zapory sieciowej, całkowicie odsłaniając wszystkie " +"usługi." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:188 +msgid "Path to file of CIDRs, subnets, host IPs, etc.
" +msgstr "Ścieżka do pliku CIDR, podsieci, adresów IP hosta itp.
" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:155 +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:26 +msgid "Port Forwards" +msgstr "Przekazywanie portów" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:153 +msgid "" +"Port forwarding allows remote computers on the Internet to connect to a " +"specific computer or service within the private LAN." +msgstr "" +"Przekazanie portów pozwala komputerom z internetu na połączenia z " +"komputerami z sieci LAN." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:158 +msgid "Port range" +msgstr "Zakres portów" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:237 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:289 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:242 +msgid "Protocol" +msgstr "Protokół" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:298 +msgid "" +"Redirect matched incoming traffic to the given port on the internal host" +msgstr "" +"Przekieruj ruch przychodzący na podany port do wskazanego hosta w sieci " +"wewnętrznej" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:293 +msgid "Redirect matched incoming traffic to the specified internal host" +msgstr "Przekieruj ruch przychodzący do wskazanego hosta w sieci wewnętrznej" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:122 +msgid "Refer To External Set" +msgstr "Patrz zestaw zewnętrzny" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:320 +msgid "Reflection zones" +msgstr "Strefy odbicia" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:85 +msgid "Requires hardware NAT support." +msgstr "Wymaga obsługi sprzętowej NAT" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:272 +msgid "Restrict Masquerading to given destination subnets" +msgstr "Ogranicz maskaradę do wskazanych podsieci docelowych" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:261 +msgid "Restrict Masquerading to given source subnets" +msgstr "Ogranicz maskaradę do wskazanych podsieci źródłowych" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:188 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:277 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:216 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:255 +msgid "Restrict to address family" +msgstr "Ogranicz do rodziny adresów" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:297 +msgid "Rewrite IP address" +msgstr "Przepisz adres IP" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:298 +msgid "Rewrite matched traffic to the specified source IP address." +msgstr "Przepisz dopasowany ruch do określonego źródłowego adresu IP." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:312 +msgid "Rewrite matched traffic to the specified source port or port range." +msgstr "" +"Przepisz dopasowany ruch do określonego portu źródłowego lub zakresu portów." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:311 +msgid "Rewrite port" +msgstr "Przepisz port" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:76 +msgid "Routing/NAT Offloading" +msgstr "Offloading trasowania/NAT" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:290 +msgid "SNAT - Rewrite to specific source IP or port" +msgstr "SNAT - Przepisz do określonego źródłowego adresu IP lub portu" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:486 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:359 +msgid "Saturday" +msgstr "Sobota" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:316 +msgid "Set mark" +msgstr "Ustaw znacznik" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:318 +msgid "" +"Set the given mark value on established connections. Format is value[/mask]. " +"If a mask is specified then only those bits set in the mask are modified." +msgstr "" +"Ustaw podaną wartość znaku na ustanowionych połączeniach. Format to wartość " +"[/mask]. Jeśli maska jest określona, modyfikowane są tylko te bity ustawione " +"w masce." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:84 +msgid "Software based offloading for routing/NAT." +msgstr "Programowy flow offloading do trasowania/NAT." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:84 +msgid "Software flow offloading" +msgstr "Programowy flow offloading" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:260 +msgid "Source IP address" +msgstr "Źródłowy adres IP" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:255 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:386 +msgid "Source MAC address" +msgstr "Źródłowy adres MAC" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:387 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:253 +msgid "Source address" +msgstr "Adres źródłowy" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:265 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:389 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:261 +msgid "Source port" +msgstr "Port źródłowy" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:241 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:372 +msgid "Source zone" +msgstr "Strefa źródłowa" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:270 +msgid "" +"Specifies whether to tie this traffic rule to a specific inbound or outbound " +"network device." +msgstr "" +"Określa, czy powiązać tę regułę ruchu z określonym przychodzącym, czy " +"wychodzącym urządzeniem sieciowym." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:311 +msgid "" +"Specifies whether to use the external or the internal IP address for " +"reflected traffic." +msgstr "" +"Określa, czy użyć zewnętrznego czy wewnętrznego adresu IP do odbijanego " +"ruchu." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:510 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:383 +msgid "Start Date (yyyy-mm-dd)" +msgstr "Data rozpoczęcia (rrrr-mm-dd)" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:502 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:375 +msgid "Start Time (hh:mm:ss)" +msgstr "Czas rozpoczęcia (hh:mm:ss)" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:514 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:387 +msgid "Stop Date (yyyy-mm-dd)" +msgstr "Data zatrzymania (rrrr-mm-dd)" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:506 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:379 +msgid "Stop Time (hh:mm:ss)" +msgstr "Czas zatrzymania (hh:mm:ss)" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:130 +msgid "Storage Method" +msgstr "Metoda przechowywania" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:480 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:353 +msgid "Sunday" +msgstr "Niedziela" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:694 +msgid "" +"The existing firewall configuration needs to be changed for LuCI to function " +"properly." +msgstr "" +"Istniejąca konfiguracja zapory sieciowej musi zostać zmieniona, aby LuCI " +"mógł działać prawidłowo." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:39 +msgid "" +"The firewall creates zones over your network interfaces to control network " +"traffic flow." +msgstr "" +"Zapora tworzy strefy na interfejsach sieciowych, aby kontrolować przepływ " +"ruchu w sieci." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:227 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:340 +msgid "" +"The options below control the forwarding policies between this zone (%s) and " +"other zones. Destination zones cover forwarded traffic " +"originating from %q. Source zones match forwarded " +"traffic from other zones targeted at %q. The forwarding " +"rule is unidirectional, e.g. a forward from lan to wan does " +"not imply a permission to forward from wan to lan as well." +msgstr "" +"Opcje poniżej kontrolują politykę przekazywania pomiędzy tą strefą (%s) a " +"innymi strefami. Strefy docelowe obejmują przekazywany ruch " +"pochodzący z %q. Strefy źródłowe pasują do ruchu " +"przekazanego z innych stref skierowanych do %q. Reguła " +"przekazywania jest jednokierunkowa, np. przekazywanie z sieci LAN " +"do WAN nie implikuje pozwolenia na przekazywanie z sieci WAN do LAN." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:125 +msgid "" +"This section defines common properties of %q. The input and " +"output options set the default policies for traffic entering and " +"leaving this zone while the forward option describes the policy for " +"forwarded traffic between different networks within the zone. Covered " +"networks specifies which available networks are members of this zone." +msgstr "" +"Ta sekcja określa ustawienia ogólne %q. Opcje Ruch przychodzący " +"i Ruch wychodzący ustalają domyślne zasady dla ruchu przychodzącego " +"i wychodzącego w tej strefie, podczas gdy Ruch przekazujący opisuje " +"zasady przekazywania ruchu między różnymi sieciami w obrębie strefy. Opcja " +"Objęte sieci określa, które dostępne sieci należą do tej strefy." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:484 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:357 +msgid "Thursday" +msgstr "Czwartek" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:184 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:183 +msgid "Time Restrictions" +msgstr "Ograniczenia czasowe" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:518 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:391 +msgid "Time in UTC" +msgstr "Czas w UTC" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:244 +msgid "Time restrictions are enabled for this rule" +msgstr "Ograniczenia czasowe są włączone dla tej reguły" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:196 +msgid "Timeout" +msgstr "Limit czasu" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:77 +msgid "" +"To %{dest}%{dest_device?, interface %{dest_device}}%{dest_ip?, IP " +"%{dest_ip#%{next?, }%{item.ival}
}}%{dest_port?, port %{dest_port#%{next?, }" +"%{item." +"ival}
}}" +msgstr "" +"Do %{dest}%{dest_device?, interfejs %{dest_device}}%{dest_ip?, IP " +"%{dest_ip#%{next?, }%{item.ival}
}}%{dest_port?, port " +"%{dest_port#%{next?, }%{item.ival}}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:55 +msgid "" +"To %{dest}%{dest_device?, via interface %{dest_device}}%{dest_ip?, IP %{dest_ip#%{next?, }%{item.ival}}}%{dest_port?, port " +"%{dest_port#%{next?, }%{item.ival}}}" +msgstr "" +"Do %{dest}%{dest_device?, poprzez interfejs %{dest_device}}%{dest_ip?, IP %{dest_ip#%{next?, }%{item.ival}}}%{dest_port?, port %{dest_port#%{next?, }%{item.ival}}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:61 +msgid "" +"To %{dest}%{dest_ip?, IP %{dest_ip#%{next?, }%{item.ival}}}%{dest_port?, port %{dest_port#%{next?, }%{item.ival}}}" +msgstr "" +"Do %{dest}%{dest_ip?, IP %{dest_ip#%{next?, }%{item.ival}}}%{dest_port?, port %{dest_port#%{next?, }%{item.ival}}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:439 +msgid "Tracking helper" +msgstr "Pomocnik śledzenia" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:176 +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:35 +msgid "Traffic Rules" +msgstr "Reguły ruchu sieciowego" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:174 +msgid "" +"Traffic rules define policies for packets travelling between different " +"zones, for example to reject traffic between certain hosts or to open WAN " +"ports on the router." +msgstr "" +"Reguły ruchu sieciowego definiują politykę dla pakietów przechodzących " +"między strefami, aby np. odrzucać ruch między hostami lub otwierać porty WAN." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:482 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:355 +msgid "Tuesday" +msgstr "Wtorek" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/custom.js:19 +msgid "Unable to save contents: %s" +msgstr "Nie można zapisać zawartości: %s" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:197 +msgid "" +"Unit: seconds. Default 0 means the entry is added permanently " +"to the set.
Max: 2147483 seconds." +msgstr "" +"Jednostka: sekundy. Domyślnie 0 oznacza, że wpis jest dodany na " +"stałe do zestawu.
Maks.: 2147483 sekundy." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:341 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:461 +msgid "Unknown or not installed conntrack helper \"%s\"" +msgstr "Nieznany lub niezainstalowany pomocnik conntrack \"%s\"" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:186 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:190 +msgid "Unnamed NAT" +msgstr "Nienazwany NAT" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:169 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:184 +msgid "Unnamed forward" +msgstr "Przekazywanie bez nazwy" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:191 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:211 +msgid "Unnamed rule" +msgstr "Nieznana zasada" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:57 +msgid "Unnamed set" +msgstr "Zestaw nienazwany" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:130 +msgid "Unnamed zone" +msgstr "Strefa bez nazwy" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:597 +msgid "Unrecognized protocol" +msgstr "Nierozpoznany protokół" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:695 +msgid "" +"Upon pressing \"Continue\", \"redirect\" sections with target \"SNAT\" will " +"be converted to \"nat\" sections and the firewall will be restarted to apply " +"the updated configuration." +msgstr "" +"Po naciśnięciu przycisku „Kontynuuj” sekcje przekierowujące z docelowym " +"„SNAT” zostaną przekonwertowane na sekcje „nat”, a zapora sieciowa zostanie " +"ponownie uruchomiona w celu zastosowania zaktualizowanej konfiguracji." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:315 +msgid "Use external IP address" +msgstr "Użyj zewnętrznego adresu IP" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:314 +msgid "Use internal IP address" +msgstr "Użyj wewnętrznego adresu IP" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:247 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:378 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:322 +msgid "Use ipset" +msgstr "Użyj ipset" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:231 +msgid "" +"Use this option to classify zone traffic by raw, non-uci managed " +"network devices." +msgstr "" +"Opcji tej należy używać do klasyfikacji ruchu strefowego według surowych, " +"niezarządzanych przez uci urządzeń sieciowych." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:236 +msgid "" +"Use this option to classify zone traffic by source or destination subnet " +"instead of networks or devices." +msgstr "" +"Opcji tej należy używać do klasyfikacji ruchu strefowego według źródła lub " +"podsieci docelowej zamiast sieci lub urządzeń." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:331 +msgid "Valid firewall mark required" +msgstr "Wymagany prawidłowy znacznik zapory sieciowej" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:483 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:356 +msgid "Wednesday" +msgstr "Środa" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:475 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:348 +msgid "Week Days" +msgstr "Dni tygodnia" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:420 +msgid "XOR firewall mark" +msgstr "znacznik zapory XOR" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:316 +msgid "XOR mark" +msgstr "Znacznik XOR" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:28 +msgid "Your device does not run firewall4." +msgstr "Na tym urządzeniu nie działa firewall4." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:26 +msgid "Your device runs firewall4." +msgstr "Na tym urządzeniu działa firewall4." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:143 +msgid "Zone ⇒ Forwardings" +msgstr "Strefa ⇒ Przekazywanie" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:101 +msgid "Zones" +msgstr "Strefy" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:320 +msgid "" +"Zones from which reflection rules shall be created. If unset, only the " +"destination zone is used." +msgstr "" +"Strefy, z których mają być tworzone reguły odbicia. Jeśli opcja nie jest " +"ustawiona, używana jest tylko strefa docelowa." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:415 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:70 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:159 +msgid "accept" +msgstr "akceptuj" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:268 +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:463 +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:486 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:270 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:301 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:328 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:392 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:407 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:441 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:448 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:266 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:282 +msgid "any" +msgstr "dowolny" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:53 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:86 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:65 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:78 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:46 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:56 +msgid "any zone" +msgstr "dowolna strefa" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:298 +msgid "any/all" +msgstr "dowolny/wszystkie" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:419 +msgid "apply firewall mark" +msgstr "zastosuj znacznik zapory" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:418 +msgid "assign conntrack helper" +msgstr "przydziel pomocnika conntrack" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:194 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:222 +msgid "automatic" +msgstr "automatyczne" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:131 +msgid "bitmap" +msgstr "bitmap" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:137 +msgid "bitmap is ipv4 only" +msgstr "bitmap to tylko ipv4" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:72 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:89 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:67 +msgid "day" +msgstr "dzień" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:93 +msgid "dest_ip: Destination IP" +msgstr "dest_ip: Docelowy adres IP" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:95 +msgid "dest_mac: Destination MAC addr" +msgstr "dest_mac: Docelowy adres MAC" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:96 +msgid "dest_net: Destination (sub)net" +msgstr "dest_net: Docelowa (pod)sieć" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:94 +msgid "dest_port: Destination Port" +msgstr "dest_port: Port docelowy" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:98 +msgid "dest_set: Destination ipset*" +msgstr "dest_set: Docelowy ipset*" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:315 +msgid "do not rewrite" +msgstr "nie przepisuj" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:417 +msgid "don't track" +msgstr "nie śledź" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:414 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:69 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:158 +msgid "drop" +msgstr "porzucaj" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:21 +msgid "" +"firewall4 supports referencing and creating IP sets to simplify matching of " +"large address lists without the need to create one rule per item to match. " +"Port ranges in ipsets are unsupported by firewall4.
" +msgstr "" +"firewall4 obsługuje odwoływanie się i tworzenie zestawów IP, aby uprościć " +"dopasowywanie dużych list adresów bez potrzeby tworzenia jednej reguły dla " +"każdego elementu do dopasowania. Zakresy portów w zestawach ipset nie są " +"obsługiwane przez firewall4.
" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:159 +msgid "fromport-toport" +msgstr "zportu-doportu" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:132 +msgid "hash" +msgstr "hash" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:72 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:89 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:67 +msgid "hour" +msgstr "godzina" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:81 +msgid "ip: IP addr" +msgstr "ip: Adres IP" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:153 +msgid "ip[/cidr]
" +msgstr "ip[/cidr]
" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:145 +msgid "ip[/cidr]
For use with Match datatypes: *_ip." +msgstr "" +"ip[/cidr]
Do użytku z dopasowanymi typami danych: *_ip." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:70 +msgid "ipv4" +msgstr "ipv4" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:133 +msgid "list" +msgstr "list" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:83 +msgid "mac: MAC addr" +msgstr "mac: Adres MAC" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:108 +msgid "macaddr|ip[/cidr]
" +msgstr "adresmac|ip[/cidr]
" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:72 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:89 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:67 +msgid "minute" +msgstr "minuta" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:84 +msgid "net: (sub)net" +msgstr "net: (Pod)sieć" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:82 +msgid "port: Port" +msgstr "port: Port" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:416 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:68 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:157 +msgid "reject" +msgstr "odrzucaj" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:72 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:89 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:67 +msgid "second" +msgstr "sekunda" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:86 +msgid "set: ipset*" +msgstr "set: ipset*" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:92 +msgid "src_Set: Source ipset*" +msgstr "src_Set: Źródłowy ipset*" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:87 +msgid "src_ip: Source IP" +msgstr "src_ip: Źródłowy adres IP" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:89 +msgid "src_mac: Source MAC addr" +msgstr "src_mac: Źródłowy adres MAC" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:90 +msgid "src_net: Source (sub)net" +msgstr "src_net: Źródłowa (pod)sieć" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:88 +msgid "src_port: Source Port" +msgstr "src_port: Źródłowy port" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:53 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:62 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:86 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:65 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:78 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:56 +msgid "this device" +msgstr "to urządzenie" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:124 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:226 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:339 +msgid "this new zone" +msgstr "ta nowa strefa" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:354 +msgid "unlimited" +msgstr "nieograniczona" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:251 +msgid "unspecified" +msgstr "nieokreślone" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:114 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:173 +msgid "up to 65536 entries." +msgstr "do 65536 wpisów." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:339 +msgid "valid firewall mark" +msgstr "prawidłowy znacznik zapory sieciowej" + +#~ msgid "Software based offloading for routing/NAT" +#~ msgstr "Offloading oparty na oprogramowaniu dla trasowania/NAT" + +#~ msgid "" +#~ "Enable network address and port translation (NAT or NAPT) for outbound " +#~ "traffic on this zone. This is typically enabled on the wan zone." +#~ msgstr "" +#~ "Włącz translację adresów sieciowych i portów (NAT lub NAPT) dla ruchu " +#~ "wychodzącego w tej strefie. Jest to zazwyczaj włączone w strefie wan." + +#~ msgid "" +#~ "Forwarded IPv4%{proto?, protocol %{proto#%{next?, }%{item.name}}}%{mark?, mark %{mark." +#~ "val}}" +#~ msgstr "" +#~ "Przekazywane IPv4 %{proto?, protokół %{proto#%{next?, }%{item.name}}}%{mark?, znacznik %{mark.val}}" + +#~ msgid "" +#~ "Incoming IPv4%{proto?, protocol %{proto#%{next?, }%{item.types?%{item.name}ICMP with types %{item.types#%{next?, }%{item}}:%{item.name}}}}%{mark?, mark %{mark.val}}%{helper?, helper %{helper.inv?%{helper.val}:%{helper.val}" +#~ "}}" +#~ msgstr "" +#~ "Przychodzące IPv4%{proto?, protokół %{proto#%{next?, }%{item.types?%{item.name}ICMP z odmianami %{item.types#%{next?, }%{item}}:%{item.name}}}}%{mark?, znacznik %{mark.val}}%{helper?, pomocnik %{helper.inv?%{helper.val}" +#~ ":%{helper.val}}}" diff --git a/luci-app-firewall/po/pt/firewall.po b/luci-app-firewall/po/pt/firewall.po new file mode 100644 index 000000000..18c1cc1fb --- /dev/null +++ b/luci-app-firewall/po/pt/firewall.po @@ -0,0 +1,1680 @@ +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2010-03-30 17:00+0200\n" +"PO-Revision-Date: 2024-09-21 03:42+0000\n" +"Last-Translator: Sergio Eustaquio \n" +"Language-Team: Portuguese \n" +"Language: pt\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Generator: Weblate 5.8-dev\n" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:48 +msgid "" +"%{src?%{dest?Forwarded:Incoming}:Outgoing} %{ipv6?%{ipv4?IPv4 and " +"IPv6:IPv6}:IPv4}%{proto?, protocol " +"%{proto#%{next?, }%{item.types?%{item." +"name}ICMP with types %{item.types#%{next?, }" +"%{item}}:%{item.name}}}}%{mark?, mark " +"%{mark.val}}%{dscp?, DSCP %{dscp." +"inv?%{dscp.val}:%{dscp.val}}}%{helper?, helper " +"%{helper.inv?%{helper.val}:%{helper." +"val}}}" +msgstr "" +"%{src?%{dest?Forwarded:Incoming}:Outgoing} %{ipv6?%{ipv4?IPv4 e " +"IPv6:IPv6}:IPv4}%{proto?, protocol " +"%{proto#%{next?, }%{item.types?%{item." +"name}ICMP com tipos %{item.types#%{next?, }" +"%{item}}:%{item.name}}}}%{mark?, mark " +"%{mark." +"val}}%{dscp?, DSCP %{dscp.inv?%{dscp.val}:" +"%{dscp.val}}}%{helper?, helper %{helper.inv?%{helper.val}:%{helper." +"val}}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:463 +msgid "-- add IP --" +msgstr "-- adicionar IP --" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:521 +msgid "-- add MAC --" +msgstr "-- adicionar MAC --" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:199 +msgid "0" +msgstr "0" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:182 +msgid "1024" +msgstr "1024" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:118 +msgid "" +"Accept %{src?%{dest?forward:input}:output}" +msgstr "" +"Aceitar %{src?%{dest?forward:input}:" +"output}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:93 +msgid "Prevent source rewrite" +msgstr "Prevenir a reescrita da fonte" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:85 +msgid "" +"Forward to %{dest}%{dest_ip? IP " +"%{dest_ip}}%{dest_port? port %{dest_port}}" +msgstr "" +"Encaminhar para %{dest}%{dest_ip? IP " +"%{dest_ip}}%{dest_port? port %{dest_port}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:115 +msgid "" +"Drop %{src?%{dest?forward:input}:output}" +msgstr "" +"Descartar %{src?%{dest?forward:input}:" +"output}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:133 +msgid "" +"Assign DSCP classification %{set_dscp}" +"" +msgstr "" +"Atribuir DSCP classificação %{set_dscp}" +"" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:127 +msgid "" +"Assign conntrack helper " +"%{set_helper}" +msgstr "" +"Atribuir auxiliar conntrack " +"%{set_helper}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:130 +msgid "" +"%{set_mark?Assign:XOR} firewall mark " +"%{set_mark?:%{set_xmark}}" +msgstr "" +"%{set_mark?Assign:XOR} marca do firewall " +"%{set_mark?:%{set_xmark}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:90 +msgid "Automatically rewrite source IP" +msgstr "" +"Reescrever automaticamente o IP de " +"origem" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:124 +msgid "" +"Do not track %{src?%{dest?forward:input}:" +"output}" +msgstr "" +"Não rastreie %{src?%{dest?forward:input}:" +"output}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:121 +msgid "" +"Reject %{src?%{dest?forward:input}:output}" +msgstr "" +"Rejeita %{src?%{dest?forward:input}:" +"output}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:87 +msgid "" +"Statically rewrite to source %{snat_ip?IP " +"%{snat_ip}} %{snat_port?port %{snat_port}}" +msgstr "" +"Reescrever estaticamente para a origem " +"%{snat_ip?IP %{snat_ip}} %{snat_port?port %{snat_port}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:306 +msgid "A rewrite IP must be specified!" +msgstr "Um IP reescrito deve ser especificado!" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:292 +msgid "ACCEPT - Disable address rewriting" +msgstr "ACCEPT - Desativar reescrever endereços" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:224 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:225 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:411 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:204 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:287 +msgid "Action" +msgstr "Ação" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:322 +msgid "" +"Additional raw iptables arguments to classify zone destination " +"traffic, e.g. -p tcp --dport 443 to only match outbound HTTPS " +"traffic." +msgstr "" +"Argumentos brutos adicionais iptables para classificar o tráfego de " +"destino da zona, por exemplo, -p tcp -- dport 443 para " +"corresponder apenas ao tráfego https de saída." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:312 +msgid "" +"Additional raw iptables arguments to classify zone source traffic, " +"e.g. -p tcp --sport 443 to only match inbound HTTPS traffic." +msgstr "" +"Argumentos adicionais brutos iptables para classificar o tráfego de " +"fonte de zona, por exemplo, -p tcp - sport 443 para " +"corresponder apenas ao tráfego HTTPS de entrada." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:107 +msgid "Address family, Internal IP address must match" +msgstr "Família de endereços, o endereço de IP interno deve corresponder" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:135 +msgid "" +"Address family, source address, destination address, rewrite IP address must " +"match" +msgstr "" +"Família de endereços, endereço de origem, endereço de destino, o endereço de " +"IP reescrito deve corresponder" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:162 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:183 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:182 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:114 +msgid "Advanced Settings" +msgstr "Configurações avançadas" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:283 +msgid "Allow \"invalid\" traffic" +msgstr "Permitir tráfego \"inválido\"" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:385 +msgid "Allow forward from source zones:" +msgstr "Permitir encaminhamento de zonas de origem:" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:344 +msgid "Allow forward to destination zones:" +msgstr "Permitir encaminhamento para zonas de destino:" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:551 +msgid "Any" +msgstr "Qualquer" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:479 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:495 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:352 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:368 +msgid "Any day" +msgstr "Qualquer dia" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:317 +msgid "" +"Apply a bitwise XOR of the given value and the existing mark value on " +"established connections. Format is value[/mask]. If a mask is specified then " +"those bits set in the mask are zeroed out." +msgstr "" +"Aplique um XOR bit a bit do valor dado e o valor da marca existente nas " +"ligações estabelecidas. Formato é valor[/máscara]. Se uma máscara for " +"especificada, os bits definidos na máscara são zerados." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:264 +msgid "Apply the given DSCP class or value to established connections." +msgstr "Aplique a classe ou valor de DSCP dado às conexões estabelecidas." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:439 +msgid "Assign the specified connection tracking helper to matched traffic." +msgstr "" +"Atribua o ajudante de rastreamento de conexão especificado para o tráfego " +"combinado." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:286 +msgid "Automatic helper assignment" +msgstr "Atribuição automática de assistentes" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:286 +msgid "" +"Automatically assign conntrack helpers based on traffic protocol and port" +msgstr "" +"Atribuir assistentes de conntrack automaticamente com base no protocolo de " +"tráfego e na porta" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:61 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:62 +msgid "Comment" +msgstr "Comentário" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:115 +msgid "Conntrack Settings" +msgstr "Configurações do Conntrack" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:290 +msgid "Conntrack helpers" +msgstr "Assistentes do Conntrack" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/custom.js:16 +msgid "Contents have been saved." +msgstr "Os conteúdos foram gravados." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:700 +msgid "Continue" +msgstr "Continuar" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:204 +msgid "Counters" +msgstr "Contadores" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:231 +msgid "Covered devices" +msgstr "Aparelhos abrangidos" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:183 +msgid "Covered networks" +msgstr "Redes abrangidas" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:236 +msgid "Covered subnets" +msgstr "Subredes abrangidas" + +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:62 +msgid "Custom Rules" +msgstr "Regras Personalizadas" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/custom.js:26 +msgid "" +"Custom rules allow you to execute arbitrary iptables commands which are not " +"otherwise covered by the firewall framework. The commands are executed after " +"each firewall restart, right after the default ruleset has been loaded." +msgstr "" +"As regras personalizadas permitem-lhe executar comandos arbitrários iptables " +"os quais não são possiveis de aplicar usando a framework da firewall. Os " +"comandos são executados a seguir ao reinicio da firewall, logo a seguir ao " +"conjunto de regras predefinidas serem carregadas." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:421 +msgid "DSCP classification" +msgstr "Classificação de DSCP" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:263 +msgid "DSCP mark" +msgstr "Marca de DSCP" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:297 +msgid "DSCP mark required" +msgstr "Marca de DSCP necessária" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:402 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:270 +msgid "Destination address" +msgstr "Endereço de destino" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:404 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:278 +msgid "Destination port" +msgstr "Porta de destino" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:396 +msgid "Destination zone" +msgstr "Zona de destino" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:269 +msgid "Device name" +msgstr "Nome do aparelho" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:283 +msgid "" +"Do not install extra rules to reject forwarded traffic with conntrack state " +"invalid. This may be required for complex asymmetric route setups." +msgstr "" +"Não instalae regras adicionais para rejeitar tráfego encaminhado com estado " +"conntrack invalid. Isto pode ser necessário para configurações " +"complexas de rotas assimétricas." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:59 +msgid "Drop invalid packets" +msgstr "Descartar pacotes inválidos" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:232 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:231 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:210 +msgid "Enable" +msgstr "Ativar" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:306 +msgid "Enable NAT Loopback" +msgstr "Ativar NAT Loopback" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:45 +msgid "Enable SYN-flood protection" +msgstr "Ativar a Proteção SYN-flood" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:296 +msgid "Enable logging on this zone" +msgstr "Ativar registo nesta zona" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:168 +msgid "" +"Enable network address and port translation IPv4 (NAT4 or NAPT4) for " +"outbound traffic on this zone. This is typically enabled on the wan " +"zone." +msgstr "" +"Ative o endereço de rede e a tradução da porta IPv4 (NAT4 ou NAPT4) para o " +"tráfego de saída nesta zona. Normalmente, isso é ativado na zona wan." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:243 +msgid "" +"Enable network address and port translation IPv6 (NAT6 or NAPT6) for " +"outbound traffic on this zone." +msgstr "" +"Ative o endereço de rede e a tradução da porta IPv6 (NAT6 ou NAPT6) para o " +"tráfego de saída nesta zona." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:211 +msgid "Enabled" +msgstr "Ativado" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:205 +msgid "Enables packet and byte count tracking for the set." +msgstr "" +"Ativa o rastreamento da contagem dos pacotes e dos bytes para o conjunto." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:339 +msgid "Expecting: %s" +msgstr "Esperando: %s" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:290 +msgid "Explicitly choses allowed connection tracking helpers for zone traffic" +msgstr "" +"Escolhe explicitamente os assistentes de rastreamento de conexão permitidos " +"para o tráfego da zona" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:274 +msgid "External IP address" +msgstr "Endereço IP externo" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:279 +msgid "External port" +msgstr "Porta externa" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:349 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:470 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:342 +msgid "Extra arguments" +msgstr "Argumentos adicionais" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:322 +msgid "Extra destination arguments" +msgstr "Argumentos adicionais de destino" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:116 +msgid "Extra iptables arguments" +msgstr "Argumentos adicionais do iptables" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:312 +msgid "Extra source arguments" +msgstr "Argumentos adicionais da fonte" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:67 +msgid "Family" +msgstr "Família" + +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:3 +msgid "Firewall" +msgstr "Firewall" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/custom.js:25 +msgid "Firewall - Custom Rules" +msgstr "Firewall - Regras Personalizadas" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:20 +msgid "Firewall - IP sets" +msgstr "Firewall - Conjuntos de IP" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:172 +msgid "Firewall - NAT Rules" +msgstr "Firewall - Regras de NAT" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:152 +msgid "Firewall - Port Forwards" +msgstr "Firewall - Encaminhamento de Portas" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:173 +msgid "Firewall - Traffic Rules" +msgstr "Firewall - Regras de Tráfego" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:38 +msgid "Firewall - Zone Settings" +msgstr "Firewall - Definições de Zona" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:693 +msgid "Firewall configuration migration" +msgstr "Migração de configuração do Firewall" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:82 +msgid "Flow offloading type" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:64 +msgid "Forward" +msgstr "Encaminhar" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:34 +msgid "" +"Forwarded %{ipv6?%{ipv4?IPv4 and IPv6:IPv6}:" +"IPv4}%{proto?, protocol %{proto#%{next?, }%{item.name}}}%{mark?, mark %{mark.val}" +"}" +msgstr "" +"Encaminhado %{ipv6?%{ipv4?IPv4 e IPv6:IPv6}:" +"IPv4}%{proto?, protocol %{proto#%{next?, }%{item.name}}}%{mark?, mark %{mark.val}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:485 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:358 +msgid "Friday" +msgstr "Sexta-feira" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:45 +msgid "" +"From %{src}%{src_device?, interface %{src_device}}%{src_ip?, IP " +"%{src_ip#%{next?, }%{item.ival}}}%{src_port?, port %{src_port#%{next?, }" +"%{item." +"ival}}}" +msgstr "" +"From %{src}%{src_device?, interface %{src_device}}%{src_ip?, IP " +"%{src_ip#%{next?, }%{item.ival}}}%{src_port?, port " +"%{src_port#%{next?, }%{item.ival}}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:64 +msgid "" +"From %{src}%{src_device?, interface %{src_device}}%{src_ip?, IP " +"%{src_ip#%{next?, }%{item.ival}}}%{src_port?, port %{src_port#%{next?, }" +"%{item." +"ival}}}%{src_mac?, MAC %{src_mac#%{next?, }%{item.ival}" +"}}" +msgstr "" +"From %{src}%{src_device?, interface %{src_device}}%{src_ip?, IP " +"%{src_ip#%{next?, }%{item.ival}}}%{src_port?, port " +"%{src_port#%{next?, }%{item.ival}}}%{src_mac?, MAC " +"%{src_mac#%{next?, }%{item.ival}}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:52 +msgid "" +"From %{src}%{src_ip?, IP %{src_ip#%{next?, }%{item.ival}}}%{src_port?, port %{src_port#%{next?, }%{item.ival}}}%{src_mac?, " +"MAC %{src_mac#%{next?, }%{item.ival}}}" +msgstr "" +"From %{src}%{src_ip?, IP %{src_ip#%{next?, }%{item.ival}}}%{src_port?, port %{src_port#%{next?, }%{item.ival}}}%{src_mac?, MAC %{src_mac#%{next?, }%{item.ival}}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:161 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:182 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:181 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:41 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:113 +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:17 +msgid "General Settings" +msgstr "Configurações gerais" + +#: applications/luci-app-firewall/root/usr/share/rpcd/acl.d/luci-app-firewall.json:3 +msgid "Grant access to firewall configuration" +msgstr "Conceder acesso à configuração do firewall" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:85 +msgid "Hardware based offloading for routing with/without NAT." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:85 +msgid "Hardware flow offloading" +msgstr "Descarga de fluxo em hardware" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:144 +msgid "IP (range)" +msgstr "IP (intervalo)" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:32 +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:53 +msgid "IP Sets" +msgstr "Conjuntos de IP" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:152 +msgid "IPs/Networks" +msgstr "IPs/Redes" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:107 +msgid "IPs/Networks/MACs" +msgstr "IPs/Redes/MACs" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:68 +msgid "IPv4" +msgstr "IPv4" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:191 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:280 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:219 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:256 +msgid "IPv4 and IPv6" +msgstr "IPv4 e IPv6" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:192 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:281 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:220 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:257 +msgid "IPv4 only" +msgstr "Apenas IPv4" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:69 +msgid "IPv6" +msgstr "IPv6" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:242 +msgid "IPv6 Masquerading" +msgstr "Mascaramento IPv6" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:193 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:282 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:221 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:258 +msgid "IPv6 only" +msgstr "Apenas IPv6" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:252 +msgid "Inbound device" +msgstr "Aparelho de entrada" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:187 +msgid "Include File" +msgstr "Incluir ficheiro" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:40 +msgid "" +"Incoming %{ipv6?%{ipv4?IPv4 and IPv6:IPv6}:" +"IPv4}%{proto?, protocol %{proto#%{next?, }%{item.types?%{item.name}ICMP " +"with types %{item.types#%{next?, }%{item}}:" +"%{item.name}}}}%{mark?, mark %{mark.val}}%{helper?, helper %{helper.inv?%{helper.val}:%{helper.val}}}" +msgstr "" +"Chegando %{ipv6?%{ipv4?IPv4 e IPv6:IPv6}:" +"IPv4}%{proto?, protocol %{proto#%{next?, }%{item.types?%{item.name}ICMP " +"com tipos %{item.types#%{next?, }%{item}}:" +"%{item.name}}}}%{mark?, mark %{mark.val}}%{helper?, helper " +"%{helper.inv?%{helper.val}:%{helper.val}}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:180 +msgid "Initial Hash Size" +msgstr "Tamanho inicial do hash" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:62 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:151 +msgid "Input" +msgstr "Entrada" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:292 +msgid "Internal IP address" +msgstr "Endereço IP interno" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:297 +msgid "Internal port" +msgstr "Porta interna" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:287 +msgid "Internal zone" +msgstr "Zona Interna" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:153 +msgid "Intra zone forward" +msgstr "Reencaminhamento na zona interna" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:305 +msgid "Invalid DSCP mark" +msgstr "Marca de DSCP inválida" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:373 +msgid "Invalid limit value" +msgstr "Valor limite inválido" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:47 +msgid "Invalid set name" +msgstr "Nome de conjunto inválido" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:383 +msgid "Limit burst" +msgstr "Limite de burst" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:299 +msgid "Limit log messages" +msgstr "Limitar registo de mensagens" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:349 +msgid "Limit matching" +msgstr "Limitar a correspondência" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:79 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:96 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:74 +msgid "" +"Limit matching to %{limit.num} packets per %{limit.unit}%{limit.burst? burst %{limit.burst}}" +msgstr "" +"Limitar a correspondência de %{limit.num} pacotes por " +"%{limit.unit}%{limit.burst? estouro %{limit.burst}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:175 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:250 +msgid "Limited masquerading enabled" +msgstr "Mascaramento limitado ativado" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:350 +msgid "Limits traffic matching to the specified rate." +msgstr "Limita o tráfego de acordo com a taxa especificada." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:311 +msgid "Loopback source IP" +msgstr "IP fonte de loopback" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:291 +msgid "MASQUERADE - Automatically rewrite to outbound interface IP" +msgstr "MASQUERADE - Reescreve automaticamente para o IP da interface de saída" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:180 +msgid "MSS clamping" +msgstr "Fixação de MSS" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:167 +msgid "Masquerading" +msgstr "Mascaramento" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:213 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:214 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:193 +msgid "Match" +msgstr "Corresponder" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:263 +msgid "Match DSCP" +msgstr "Correspondência DSCP" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:293 +msgid "Match ICMP type" +msgstr "Correspondência do tipo de ICMP" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:249 +msgid "Match device" +msgstr "Aparelho de correspondência" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:271 +msgid "Match forwarded traffic directed at the given IP address." +msgstr "" +"Encaminha o tráfego que obteve correspondência para um determinado endereço " +"de IP." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:279 +msgid "" +"Match forwarded traffic directed at the given destination port or port range." +msgstr "" +"Encaminha o tráfego que obteve correspondência para uma determinada porta de " +"destino ou uma faixa de portas." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:254 +msgid "Match forwarded traffic from this IP or range." +msgstr "" +"Encaminha o tráfego que obteve correspondência deste IP ou uma faixa de IPs." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:262 +msgid "" +"Match forwarded traffic originating from the given source port or port range." +msgstr "" +"Encaminha o tráfego que obteve correspondência originado de uma determinada " +"porta de origem ou faixa de portas." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:326 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:446 +msgid "Match helper" +msgstr "Auxiliar de correspondência" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:280 +msgid "" +"Match incoming traffic directed at the given destination port or port range " +"on this host" +msgstr "" +"O tráfego de entrada corresponde a uma dada porta de destino ou intervalo de " +"portas neste host" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:316 +msgid "Match mark" +msgstr "Marca de correspondência" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:326 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:446 +msgid "Match traffic using the specified connection tracking helper." +msgstr "" +"Corresponder o tráfego usando uma conexão definida pelo auxiliar de " +"rastreamento." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:319 +msgid "Matches a specific firewall mark or a range of different marks." +msgstr "" +"Corresponder uma marca de firewall especifica ou uma variedade de diferentes " +"marcas." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:332 +msgid "Matches forwarded traffic using the specified outbound network device." +msgstr "" +"Corresponda o tráfego encaminhado usando um aparelho de rede de saída " +"indicado." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:264 +msgid "Matches traffic carrying the specified DSCP marking." +msgstr "" +"Compara o tráfego correspondente que esteja carregando uma marca DSCP " +"específica." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:113 +msgid "Max Entries" +msgstr "Total de registos" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:172 +msgid "Max Length" +msgstr "Comprimento máximo" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:384 +msgid "" +"Maximum initial number of packets to match: this number gets recharged by " +"one every time the limit specified above is not reached, up to this number." +msgstr "" +"Quantidade inicial máxima de pacotes para comparar: este número é " +"recarregado por um cada vez que o limite especificado acima não é atingido, " +"até este número." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:481 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:354 +msgid "Monday" +msgstr "Segunda-feira" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:491 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:364 +msgid "Month Days" +msgstr "Dias do mês" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:175 +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:44 +msgid "NAT Rules" +msgstr "Regras NAT" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:173 +msgid "" +"NAT rules allow fine grained control over the source IP to use for outbound " +"or forwarded traffic." +msgstr "" +"As regras da NAT permitem o controle fino sobre o IP de origem para usar com " +"o tráfego de saída ou tráfego de encaminhamento." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:183 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:42 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:52 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:210 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:189 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:129 +msgid "Name" +msgstr "Nome" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:166 +msgid "Netmask" +msgstr "Máscara de rede" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:83 +msgid "None" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:77 +msgid "Not fully compatible with QoS/SQM." +msgstr "Não totalmente compatível com QoS/SQM." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:275 +msgid "Only match incoming traffic directed at the given IP address." +msgstr "Só se tráfego de entrada corresponder ao endereço IP fornecido." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:256 +msgid "Only match incoming traffic from these MACs." +msgstr "Só se o tráfego de entrada corresponder a um destes MACs." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:261 +msgid "Only match incoming traffic from this IP or range." +msgstr "Só se o tráfego de entrada corresponder a este IP ou intervalo." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:266 +msgid "" +"Only match incoming traffic originating from the given source port or port " +"range on the client host" +msgstr "" +"Só se o tráfego de entrada corresponder à porta de origem fornecida ou de um " +"intervalo de portas no host cliente" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:253 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:331 +msgid "Outbound device" +msgstr "Aparelho de saída" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:246 +msgid "Outbound zone" +msgstr "Zona de saída" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:63 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:152 +msgid "Output" +msgstr "Saída" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:75 +msgid "Packet Field Match" +msgstr "Campo do pacote coincidente" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:76 +msgid "" +"Packet fields to match upon.
Syntax: direction_datatype. e.g.: " +"src_port, dest_net.
Directions: src, dst. " +"Datatypes: ip, port, mac, net, set.
Direction prefixes are " +"optional.
*Note: datatype set is unsupported in fw4." +msgstr "" +"Campos do pacote que correspondem.
Síntaxe: direction_datatype. por exemplo: src_port, dest_net.
Modo de preparo: " +"src, dst. Tipos de dados: ip, port, mac, net, set. " +"
Os prefixos de direção são opcionais.
*Nota: o tipo de dados " +"set não é suportado no fw4." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:350 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:471 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:343 +msgid "Passes additional arguments to iptables. Use with care!" +msgstr "Passa argumentos adicionais para o iptables. Usar com cuidado!" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:309 +msgid "" +"Passing raw iptables arguments to source and destination traffic " +"classification rules allows to match packets based on other criteria than " +"interfaces or subnets. These options should be used with extreme care as " +"invalid values could render the firewall ruleset broken, completely exposing " +"all services." +msgstr "" +"Passar argumentos brutos do iptables para regras de classificação de tráfego " +"de origem e destino permite combinar pacotes baseados em outros critérios " +"além de interfaces ou sub-redes. Essas opções devem ser usadas com extremo " +"cuidado, pois valores inválidos podem tornar o conjunto de regras do " +"firewall quebrado, expondo completamente todos os serviços." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:188 +msgid "Path to file of CIDRs, subnets, host IPs, etc.
" +msgstr "Caminho ao ficheiro de CIDRs, sub-redes, IPs de host, etc.
" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:155 +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:26 +msgid "Port Forwards" +msgstr "Encaminhamento de Portas" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:153 +msgid "" +"Port forwarding allows remote computers on the Internet to connect to a " +"specific computer or service within the private LAN." +msgstr "" +"O Encaminhamento de Portas permite que computadores remotos na internet se " +"liguem a um computador ou serviço especifico na rede privada (LAN)." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:158 +msgid "Port range" +msgstr "Faixa de portas" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:237 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:289 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:242 +msgid "Protocol" +msgstr "Protocolo" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:298 +msgid "" +"Redirect matched incoming traffic to the given port on the internal host" +msgstr "" +"Redirecionar a entrada de trafego correspondente à porta fornecida no host " +"interno" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:293 +msgid "Redirect matched incoming traffic to the specified internal host" +msgstr "Redirecionar o tráfego de entrada correspondente para o host interno" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:122 +msgid "Refer To External Set" +msgstr "Consulte o conjunto externo" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:320 +msgid "Reflection zones" +msgstr "Zonas de reflexão" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:85 +msgid "Requires hardware NAT support." +msgstr "Requer suporte de hardware para NAT." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:272 +msgid "Restrict Masquerading to given destination subnets" +msgstr "Restringir o Mascaramento às sub-redes de destino dadas" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:261 +msgid "Restrict Masquerading to given source subnets" +msgstr "Restringir Mascaramento a sub-redes de origem fornecidas" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:188 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:277 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:216 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:255 +msgid "Restrict to address family" +msgstr "Restringir a família de endereços" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:297 +msgid "Rewrite IP address" +msgstr "Reescrever o endereço IP" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:298 +msgid "Rewrite matched traffic to the specified source IP address." +msgstr "" +"Reescrever o tráfego compatível com o endereço IP de origem especificado." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:312 +msgid "Rewrite matched traffic to the specified source port or port range." +msgstr "" +"Reescrever tráfego compatível com a porta de origem especificado ou uma " +"faixa de portas." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:311 +msgid "Rewrite port" +msgstr "Reescrever porta" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:76 +msgid "Routing/NAT Offloading" +msgstr "Descargar Roteamento/NAT" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:290 +msgid "SNAT - Rewrite to specific source IP or port" +msgstr "SNAT - Reescrever para um IP de origem ou uma porta específica" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:486 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:359 +msgid "Saturday" +msgstr "Sábado" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:316 +msgid "Set mark" +msgstr "Definir marca" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:318 +msgid "" +"Set the given mark value on established connections. Format is value[/mask]. " +"If a mask is specified then only those bits set in the mask are modified." +msgstr "" +"Defina o valor da marca dada nas ligações estabelecidas. o formato é valor[/" +"máscara]. Se uma máscara for especificada, então apenas os bits definidos na " +"máscara são modificados." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:84 +msgid "Software based offloading for routing/NAT." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:84 +msgid "Software flow offloading" +msgstr "Descarga de fluxo de software" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:260 +msgid "Source IP address" +msgstr "Endereço IP de origem" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:255 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:386 +msgid "Source MAC address" +msgstr "Endereço MAC de origem" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:387 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:253 +msgid "Source address" +msgstr "Endereço de origem" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:265 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:389 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:261 +msgid "Source port" +msgstr "Porta de origem" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:241 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:372 +msgid "Source zone" +msgstr "Zona de origem" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:270 +msgid "" +"Specifies whether to tie this traffic rule to a specific inbound or outbound " +"network device." +msgstr "" +"Especifica se esta regra de tráfego deve ser ligada a um aparelho de rede " +"específico de entrada ou de saída." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:311 +msgid "" +"Specifies whether to use the external or the internal IP address for " +"reflected traffic." +msgstr "" +"Especifica se deve usar o endereço do IP externo ou interno para o tráfego " +"refletido." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:510 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:383 +msgid "Start Date (yyyy-mm-dd)" +msgstr "Data de Início (aaaaa-mm-dd)" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:502 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:375 +msgid "Start Time (hh:mm:ss)" +msgstr "Hora de início (hh:mm:ss)" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:514 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:387 +msgid "Stop Date (yyyy-mm-dd)" +msgstr "Data de Paragem (aaaaa-mm-dd)" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:506 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:379 +msgid "Stop Time (hh:mm:ss)" +msgstr "Tempo de Parada (hh:mm:ss)" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:130 +msgid "Storage Method" +msgstr "Método de armazenamento" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:480 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:353 +msgid "Sunday" +msgstr "Domingo" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:694 +msgid "" +"The existing firewall configuration needs to be changed for LuCI to function " +"properly." +msgstr "" +"A configuração de firewall existente precisa ser alterada para que o LuCI " +"funcione corretamente." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:39 +msgid "" +"The firewall creates zones over your network interfaces to control network " +"traffic flow." +msgstr "" +"A firewall cria zonas sobre as interfaces de rede para controlar o fluxo do " +"tráfego." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:227 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:340 +msgid "" +"The options below control the forwarding policies between this zone (%s) and " +"other zones. Destination zones cover forwarded traffic " +"originating from %q. Source zones match forwarded " +"traffic from other zones targeted at %q. The forwarding " +"rule is unidirectional, e.g. a forward from lan to wan does " +"not imply a permission to forward from wan to lan as well." +msgstr "" +"As opções abaixo controlam as políticas de encaminhamento entre esta zona " +"(%s) e outras zonas. Zonas de destino cobrem tráfego encaminhado " +"originando de %q. Zonas de origem correspondem ao " +"tráfego encaminhado de outras zonas alvo em %q. A regra de " +"encaminhamento é unidirecional, por exemplo, um encaminhamento de " +"lan para wan não implica uma permissão para avançar de wan para lan " +"também." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:125 +msgid "" +"This section defines common properties of %q. The input and " +"output options set the default policies for traffic entering and " +"leaving this zone while the forward option describes the policy for " +"forwarded traffic between different networks within the zone. Covered " +"networks specifies which available networks are members of this zone." +msgstr "" +"Esta secção define propriedades comuns de %q. As opções input e " +"output definem as políticas padrão para entrada e saída de tráfego " +"nessa zona, enquanto a opção forward descreve a política para " +"tráfego encaminhado entre redes diferentes dentro da zona. Redes " +"abrangidas especifica quais das redes disponíveis são membros desta " +"zona." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:484 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:357 +msgid "Thursday" +msgstr "Quinta-feira" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:184 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:183 +msgid "Time Restrictions" +msgstr "Restrições de Tempo" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:518 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:391 +msgid "Time in UTC" +msgstr "Tempo em UTC" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:244 +msgid "Time restrictions are enabled for this rule" +msgstr "Restrições de tempo estão ativadas para esta regra" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:196 +msgid "Timeout" +msgstr "Tempo limite" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:77 +msgid "" +"To %{dest}%{dest_device?, interface %{dest_device}}%{dest_ip?, IP " +"%{dest_ip#%{next?, }%{item.ival}
}}%{dest_port?, port %{dest_port#%{next?, }" +"%{item." +"ival}}}" +msgstr "" +"Para %{dest}%{dest_device?, interface %{dest_device}}%{dest_ip?, " +"IP %{dest_ip#%{next?, }%{item.ival}}}%{dest_port?, port " +"%{dest_port#%{next?, }%{item.ival}}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:55 +msgid "" +"To %{dest}%{dest_device?, via interface %{dest_device}}%{dest_ip?, IP %{dest_ip#%{next?, }%{item.ival}}}%{dest_port?, port " +"%{dest_port#%{next?, }%{item.ival}}}" +msgstr "" +"Para %{dest}%{dest_device?, via interface %{dest_device}}%{dest_ip?, IP %{dest_ip#%{next?, }%{item.ival}}}%{dest_port?, port %{dest_port#%{next?, }%{item.ival}}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:61 +msgid "" +"To %{dest}%{dest_ip?, IP %{dest_ip#%{next?, }%{item.ival}}}%{dest_port?, port %{dest_port#%{next?, }%{item.ival}}}" +msgstr "" +"Para %{dest}%{dest_ip?, IP %{dest_ip#%{next?, }%{item.ival}}}%{dest_port?, port %{dest_port#%{next?, }%{item.ival}}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:439 +msgid "Tracking helper" +msgstr "Auxiliar de rastreamento" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:176 +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:35 +msgid "Traffic Rules" +msgstr "Regras de Tráfego" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:174 +msgid "" +"Traffic rules define policies for packets travelling between different " +"zones, for example to reject traffic between certain hosts or to open WAN " +"ports on the router." +msgstr "" +"As Regras de Tráfego definem políticas para os pacotes que viajam entre " +"diferentes zonas, por exemplo, para rejeitar trafego entre certos hosts ou " +"para abrir portas WAN no router." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:482 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:355 +msgid "Tuesday" +msgstr "Terça-feira" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/custom.js:19 +msgid "Unable to save contents: %s" +msgstr "Incapaz de gravar conteúdos: %s" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:197 +msgid "" +"Unit: seconds. Default 0 means the entry is added permanently " +"to the set.
Max: 2147483 seconds." +msgstr "" +"Unidade: segundos. Padrão 0 significa que a entrada é " +"adicionada permanentemente ao conjunto.
Max: 2147483 segundos." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:341 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:461 +msgid "Unknown or not installed conntrack helper \"%s\"" +msgstr "Auxiliar conntrack desconhecido ou não instalado \"%s\"" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:186 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:190 +msgid "Unnamed NAT" +msgstr "NAT sem nome" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:169 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:184 +msgid "Unnamed forward" +msgstr "Encaminhamento sem nome" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:191 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:211 +msgid "Unnamed rule" +msgstr "Regra sem nome" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:57 +msgid "Unnamed set" +msgstr "Conjunto sem nome" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:130 +msgid "Unnamed zone" +msgstr "Zona sem nome" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:597 +msgid "Unrecognized protocol" +msgstr "Protocolo desconhecido" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:695 +msgid "" +"Upon pressing \"Continue\", \"redirect\" sections with target \"SNAT\" will " +"be converted to \"nat\" sections and the firewall will be restarted to apply " +"the updated configuration." +msgstr "" +"Ao pressionar \"Continuar\", as seções \"redirecionar\" com o alvo \"SNAT\" " +"serão convertidas para seções \"nat\" e o firewall será reiniciado para " +"aplicar e atualizar as novas configurações." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:315 +msgid "Use external IP address" +msgstr "Usar endereço IP externo" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:314 +msgid "Use internal IP address" +msgstr "Usar endereço IP interno" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:247 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:378 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:322 +msgid "Use ipset" +msgstr "Use o ipset" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:231 +msgid "" +"Use this option to classify zone traffic by raw, non-uci managed " +"network devices." +msgstr "" +"Use esta opção para classificar o tráfego da zona por aparelhos de rede " +"brutos, não geridos por uci." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:236 +msgid "" +"Use this option to classify zone traffic by source or destination subnet " +"instead of networks or devices." +msgstr "" +"Use esta opção para classificar o tráfego da zona por sub-rede de origem ou " +"destino em vez de redes ou aparelhos." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:331 +msgid "Valid firewall mark required" +msgstr "Marca de firewall válida necessária" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:483 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:356 +msgid "Wednesday" +msgstr "Quarta-feira" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:475 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:348 +msgid "Week Days" +msgstr "Dias úteis" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:420 +msgid "XOR firewall mark" +msgstr "Marca de firewall XOR" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:316 +msgid "XOR mark" +msgstr "Marca XOR" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:28 +msgid "Your device does not run firewall4." +msgstr "O seu aparelho não executa o firewall4." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:26 +msgid "Your device runs firewall4." +msgstr "O seu aparelho executa o firewall4." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:143 +msgid "Zone ⇒ Forwardings" +msgstr "Zona ⇒ Encaminhamentos" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:101 +msgid "Zones" +msgstr "Zonas" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:320 +msgid "" +"Zones from which reflection rules shall be created. If unset, only the " +"destination zone is used." +msgstr "" +"Zonas das quais as regras de reflexão devem ser criadas. Se não for " +"definido, apenas a zona de destino é utilizada." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:415 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:70 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:159 +msgid "accept" +msgstr "aceitar" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:268 +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:463 +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:486 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:270 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:301 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:328 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:392 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:407 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:441 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:448 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:266 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:282 +msgid "any" +msgstr "qualquer" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:53 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:86 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:65 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:78 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:46 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:56 +msgid "any zone" +msgstr "qualquer zona" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:298 +msgid "any/all" +msgstr "qualquer/todos" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:419 +msgid "apply firewall mark" +msgstr "aplicar marca de firewall" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:418 +msgid "assign conntrack helper" +msgstr "atribuir auxiliar conntrack" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:194 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:222 +msgid "automatic" +msgstr "automático" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:131 +msgid "bitmap" +msgstr "bitmap" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:137 +msgid "bitmap is ipv4 only" +msgstr "bitmap é ipv4 apenas" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:72 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:89 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:67 +msgid "day" +msgstr "dia" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:93 +msgid "dest_ip: Destination IP" +msgstr "dest_ip: IP de destino" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:95 +msgid "dest_mac: Destination MAC addr" +msgstr "dest_mac: endereço MAC de destino" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:96 +msgid "dest_net: Destination (sub)net" +msgstr "dest_net: (sub)rede de destino" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:94 +msgid "dest_port: Destination Port" +msgstr "dest_port: Porta de destino" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:98 +msgid "dest_set: Destination ipset*" +msgstr "dest_set: Destino ipset*" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:315 +msgid "do not rewrite" +msgstr "não reescrever" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:417 +msgid "don't track" +msgstr "não rastrear" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:414 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:69 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:158 +msgid "drop" +msgstr "descartar" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:21 +msgid "" +"firewall4 supports referencing and creating IP sets to simplify matching of " +"large address lists without the need to create one rule per item to match. " +"Port ranges in ipsets are unsupported by firewall4.
" +msgstr "" +"firewall4 oferece suporte a referência e criação de conjuntos de IPs para " +"simplificar a correspondência de grandes listas de endereços sem a " +"necessidade de criar uma regra que coincida com cada item. Os intervalos das " +"portas em ipsets não são compatíveis com o firewall4.
" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:159 +msgid "fromport-toport" +msgstr "deporta-paraporta" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:132 +msgid "hash" +msgstr "hash" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:72 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:89 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:67 +msgid "hour" +msgstr "hora" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:81 +msgid "ip: IP addr" +msgstr "ip: Endereço IP" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:153 +msgid "ip[/cidr]
" +msgstr "ip[/cidr]
" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:145 +msgid "ip[/cidr]
For use with Match datatypes: *_ip." +msgstr "" +"ip[/cidr]
Para uso com tipos de dados que coincidam: *_ip." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:70 +msgid "ipv4" +msgstr "ipv4" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:133 +msgid "list" +msgstr "lista" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:83 +msgid "mac: MAC addr" +msgstr "mac: endereço MAC" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:108 +msgid "macaddr|ip[/cidr]
" +msgstr "macaddr|ip[/cidr]
" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:72 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:89 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:67 +msgid "minute" +msgstr "minuto" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:84 +msgid "net: (sub)net" +msgstr "rede: (sub)rede" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:82 +msgid "port: Port" +msgstr "porta: Porta" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:416 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:68 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:157 +msgid "reject" +msgstr "rejeitar" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:72 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:89 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:67 +msgid "second" +msgstr "segundo" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:86 +msgid "set: ipset*" +msgstr "set: ipset*" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:92 +msgid "src_Set: Source ipset*" +msgstr "src_Set: Origem do ipset*" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:87 +msgid "src_ip: Source IP" +msgstr "src_ip: IP de origem" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:89 +msgid "src_mac: Source MAC addr" +msgstr "src_mac: Origem do endereço MAC" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:90 +msgid "src_net: Source (sub)net" +msgstr "src_net: Origem (sub)rede" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:88 +msgid "src_port: Source Port" +msgstr "src_port: Porta de origem" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:53 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:62 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:86 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:65 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:78 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:56 +msgid "this device" +msgstr "este aparelho" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:124 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:226 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:339 +msgid "this new zone" +msgstr "esta nova zona" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:354 +msgid "unlimited" +msgstr "ilimitado" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:251 +msgid "unspecified" +msgstr "não especificado" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:114 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:173 +msgid "up to 65536 entries." +msgstr "até 65536 entradas." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:339 +msgid "valid firewall mark" +msgstr "marca de firewall válida" + +#~ msgid "Software based offloading for routing/NAT" +#~ msgstr "Descarga baseada em software para roteamento/NAT" + +#~ msgid "" +#~ "Enable network address and port translation (NAT or NAPT) for outbound " +#~ "traffic on this zone. This is typically enabled on the wan zone." +#~ msgstr "" +#~ "Ativar a conversão de endereços e portas de rede (NAT ou NAPT) para o " +#~ "tráfego de saída nessa zona. Isto é normalmente ativado na zona wan." + +#~ msgid "" +#~ "Forwarded IPv4%{proto?, protocol %{proto#%{next?, }%{item.name}}}%{mark?, mark %{mark." +#~ "val}}" +#~ msgstr "" +#~ "Forwarded IPv4%{proto?, protocol %{proto#%{next?, }%{item.name}}}%{mark?, mark %{mark.val}}" + +#~ msgid "" +#~ "Incoming IPv4%{proto?, protocol %{proto#%{next?, }%{item.types?%{item.name}ICMP with types %{item.types#%{next?, }%{item}}:%{item.name}}}}%{mark?, mark %{mark.val}}%{helper?, helper %{helper.inv?%{helper.val}:%{helper.val}" +#~ "}}" +#~ msgstr "" +#~ "Incoming IPv4%{proto?, protocol %{proto#%{next?, }%{item.types?%{item.name}ICMP with types %{item.types#%{next?, }%{item}}:%{item.name}}}}%{mark?, mark %{mark.val}}%{helper?, helper " +#~ "%{helper.inv?%{helper.val}:%{helper.val}}}" diff --git a/luci-app-firewall/po/pt_BR/firewall.po b/luci-app-firewall/po/pt_BR/firewall.po new file mode 100644 index 000000000..a56ed3924 --- /dev/null +++ b/luci-app-firewall/po/pt_BR/firewall.po @@ -0,0 +1,1675 @@ +msgid "" +msgstr "" +"Project-Id-Version: \n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2010-03-30 17:00+0200\n" +"PO-Revision-Date: 2024-07-17 07:32+0000\n" +"Last-Translator: Janderson Vieira Santos \n" +"Language-Team: Portuguese (Brazil) \n" +"Language: pt_BR\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=n > 1;\n" +"X-Generator: Weblate 5.7-dev\n" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:48 +msgid "" +"%{src?%{dest?Forwarded:Incoming}:Outgoing} %{ipv6?%{ipv4?IPv4 and " +"IPv6:IPv6}:IPv4}%{proto?, protocol " +"%{proto#%{next?, }%{item.types?%{item." +"name}ICMP with types %{item.types#%{next?, }" +"%{item}}:%{item.name}}}}%{mark?, mark " +"%{mark.val}}%{dscp?, DSCP %{dscp." +"inv?%{dscp.val}:%{dscp.val}}}%{helper?, helper " +"%{helper.inv?%{helper.val}:%{helper." +"val}}}" +msgstr "" +"%{src?%{dest?Forwarded:Incoming}:Outgoing} %{ipv6?%{ipv4?IPv4 e " +"IPv6:IPv6}:IPv4}%{proto?, protocol " +"%{proto#%{next?, }%{item.types?%{item." +"name}ICMP com tipos %{item.types#%{next?, }" +"%{item}}:%{item.name}}}}%{mark?, mark " +"%{mark." +"val}}%{dscp?, DSCP %{dscp.inv?%{dscp.val}:" +"%{dscp.val}}}%{helper?, helper %{helper.inv?%{helper.val}:%{helper." +"val}}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:463 +msgid "-- add IP --" +msgstr "-- Adicionar IP --" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:521 +msgid "-- add MAC --" +msgstr "-- Adicionar MAC --" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:199 +msgid "0" +msgstr "0" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:182 +msgid "1024" +msgstr "1024" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:118 +msgid "" +"Accept %{src?%{dest?forward:input}:output}" +msgstr "" +"Aceite %{src?%{dest?forward:input}:output}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:93 +msgid "Prevent source rewrite" +msgstr "Prevenir a reescrita da fonte" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:85 +msgid "" +"Forward to %{dest}%{dest_ip? IP " +"%{dest_ip}}%{dest_port? port %{dest_port}}" +msgstr "" +"Encaminhar para %{dest}%{dest_ip? IP " +"%{dest_ip}}%{dest_port? port %{dest_port}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:115 +msgid "" +"Drop %{src?%{dest?forward:input}:output}" +msgstr "" +"Derruba %{src?%{dest?forward:input}:output}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:133 +msgid "" +"Assign DSCP classification %{set_dscp}" +"" +msgstr "" +"Atribuir DSCP classificação %{set_dscp}" +"" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:127 +msgid "" +"Assign conntrack helper " +"%{set_helper}" +msgstr "" +"Atribuir auxiliar conntrack " +"%{set_helper}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:130 +msgid "" +"%{set_mark?Assign:XOR} firewall mark " +"%{set_mark?:%{set_xmark}}" +msgstr "" +"%{set_mark?Assign:XOR} marca do firewall " +"%{set_mark?:%{set_xmark}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:90 +msgid "Automatically rewrite source IP" +msgstr "" +"Reescrever automaticamente o IP de " +"origem" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:124 +msgid "" +"Do not track %{src?%{dest?forward:input}:" +"output}" +msgstr "" +"Não rastreie %{src?%{dest?forward:input}:" +"output}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:121 +msgid "" +"Reject %{src?%{dest?forward:input}:output}" +msgstr "" +"Rejeita %{src?%{dest?forward:input}:" +"output}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:87 +msgid "" +"Statically rewrite to source %{snat_ip?IP " +"%{snat_ip}} %{snat_port?port %{snat_port}}" +msgstr "" +"Reescrever estaticamente para a origem " +"%{snat_ip?IP %{snat_ip}} %{snat_port?port %{snat_port}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:306 +msgid "A rewrite IP must be specified!" +msgstr "Um IP de reescrita deve ser especificado!" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:292 +msgid "ACCEPT - Disable address rewriting" +msgstr "ACEITAR - Desativar a reescrita do endereço" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:224 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:225 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:411 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:204 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:287 +msgid "Action" +msgstr "Ação" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:322 +msgid "" +"Additional raw iptables arguments to classify zone destination " +"traffic, e.g. -p tcp --dport 443 to only match outbound HTTPS " +"traffic." +msgstr "" +"Comandos iptables adicionais para classificar o tráfego de destino " +"da zona, por exemplo, -p tcp --dport 443 para corresponder " +"apenas ao tráfego HTTPS de saída." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:312 +msgid "" +"Additional raw iptables arguments to classify zone source traffic, " +"e.g. -p tcp --sport 443 to only match inbound HTTPS traffic." +msgstr "" +"Comandos iptables adicionais para classificar o tráfego de origem " +"da zona, por exemplo, -p tcp --sport 443 para corresponder " +"apenas ao tráfego HTTPS de entrada." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:107 +msgid "Address family, Internal IP address must match" +msgstr "Família de endereços, o endereço IP interno deve corresponder" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:135 +msgid "" +"Address family, source address, destination address, rewrite IP address must " +"match" +msgstr "" +"Família de endereços, endereço de origem, endereço de destino, a reescrita " +"do endereço IP deve corresponder" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:162 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:183 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:182 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:114 +msgid "Advanced Settings" +msgstr "Configurações avançadas" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:283 +msgid "Allow \"invalid\" traffic" +msgstr "Permitir tráfego \"inválido\"" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:385 +msgid "Allow forward from source zones:" +msgstr "Permite o encaminhamento da zona de origem:" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:344 +msgid "Allow forward to destination zones:" +msgstr "Permite o encaminhamento para a zona de destino:" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:551 +msgid "Any" +msgstr "Qualquer" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:479 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:495 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:352 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:368 +msgid "Any day" +msgstr "Qualquer dia" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:317 +msgid "" +"Apply a bitwise XOR of the given value and the existing mark value on " +"established connections. Format is value[/mask]. If a mask is specified then " +"those bits set in the mask are zeroed out." +msgstr "" +"Aplique um XOR bitwise do valor dado e o valor da marca existente nas " +"ligações estabelecidas. O formato é o valor[/mask]. Se uma máscara for " +"especificada, então os bits definidos na máscara são zerados." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:264 +msgid "Apply the given DSCP class or value to established connections." +msgstr "Aplique a classe ou valor DSCP dado às conexões estabelecidas." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:439 +msgid "Assign the specified connection tracking helper to matched traffic." +msgstr "" +"Atribua o auxiliar de rastreamento de conexão especificado para o tráfego " +"combinado." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:286 +msgid "Automatic helper assignment" +msgstr "Atribuição automática de assistentes" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:286 +msgid "" +"Automatically assign conntrack helpers based on traffic protocol and port" +msgstr "" +"Atribuir automaticamente ajudantes de conntrack com base no protocolo de " +"tráfego e na porta" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:61 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:62 +msgid "Comment" +msgstr "Comentário" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:115 +msgid "Conntrack Settings" +msgstr "Configurações do Conntrack" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:290 +msgid "Conntrack helpers" +msgstr "Ajudantes do Conntrack" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/custom.js:16 +msgid "Contents have been saved." +msgstr "O conteúdo foi salvo." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:700 +msgid "Continue" +msgstr "Continuar" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:204 +msgid "Counters" +msgstr "Contadores" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:231 +msgid "Covered devices" +msgstr "Dispositivos cobertos" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:183 +msgid "Covered networks" +msgstr "Redes cobertas" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:236 +msgid "Covered subnets" +msgstr "Sub-redes cobertas" + +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:62 +msgid "Custom Rules" +msgstr "Regras Personalizadas" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/custom.js:26 +msgid "" +"Custom rules allow you to execute arbitrary iptables commands which are not " +"otherwise covered by the firewall framework. The commands are executed after " +"each firewall restart, right after the default ruleset has been loaded." +msgstr "" +"As regras personalizadas permitem executar comandos iptables arbitrários não " +"cobertos por esta ferramenta. Os comandos serão executados após cada " +"reinício do firewall, logo após a carga do conjunto de regras padrão." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:421 +msgid "DSCP classification" +msgstr "Classificação DSCP" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:263 +msgid "DSCP mark" +msgstr "Marca DSCP" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:297 +msgid "DSCP mark required" +msgstr "Marca DSCP necessária" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:402 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:270 +msgid "Destination address" +msgstr "Endereço de destino" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:404 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:278 +msgid "Destination port" +msgstr "Porta de destino" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:396 +msgid "Destination zone" +msgstr "Zona de destino" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:269 +msgid "Device name" +msgstr "Nome do dispositivo" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:283 +msgid "" +"Do not install extra rules to reject forwarded traffic with conntrack state " +"invalid. This may be required for complex asymmetric route setups." +msgstr "" +"Não instale regras extras para rejeitar o tráfego encaminhado quando o " +"estado do conntrack for invalid. Isto pode ser necessário para " +"configurações complexas e de rotas assimétricas." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:59 +msgid "Drop invalid packets" +msgstr "Descartar pacotes inválidos" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:232 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:231 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:210 +msgid "Enable" +msgstr "Habilitar" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:306 +msgid "Enable NAT Loopback" +msgstr "Habilite o Loopback do NAT" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:45 +msgid "Enable SYN-flood protection" +msgstr "Habilite proteção contra SYN-flood" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:296 +msgid "Enable logging on this zone" +msgstr "Habilite o registro nesta zona" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:168 +msgid "" +"Enable network address and port translation IPv4 (NAT4 or NAPT4) for " +"outbound traffic on this zone. This is typically enabled on the wan " +"zone." +msgstr "" +"Ative o endereço de rede e a tradução da porta IPv4 (NAT4 ou NAPT4) para o " +"tráfego de saída nesta zona. Normalmente, isso é ativado na zona wan." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:243 +msgid "" +"Enable network address and port translation IPv6 (NAT6 or NAPT6) for " +"outbound traffic on this zone." +msgstr "" +"Ative o endereço de rede e a tradução da porta IPv6 (NAT6 ou NAPT6) para o " +"tráfego de saída nesta zona." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:211 +msgid "Enabled" +msgstr "Ativado" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:205 +msgid "Enables packet and byte count tracking for the set." +msgstr "" +"Ativa o rastreamento da contagem dos pacotes e dos bytes para o conjunto." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:339 +msgid "Expecting: %s" +msgstr "Esperando: %s" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:290 +msgid "Explicitly choses allowed connection tracking helpers for zone traffic" +msgstr "" +"Escolhe explicitamente os assistentes de rastreamento de conexão permitidos " +"para o tráfego da zona" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:274 +msgid "External IP address" +msgstr "Endereço IP externo" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:279 +msgid "External port" +msgstr "Porta Externa" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:349 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:470 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:342 +msgid "Extra arguments" +msgstr "Argumentos extras" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:322 +msgid "Extra destination arguments" +msgstr "Argumentos extra de destino" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:116 +msgid "Extra iptables arguments" +msgstr "Argumentos extras para o iptables" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:312 +msgid "Extra source arguments" +msgstr "Argumentos extras da fonte" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:67 +msgid "Family" +msgstr "Família" + +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:3 +msgid "Firewall" +msgstr "Firewall" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/custom.js:25 +msgid "Firewall - Custom Rules" +msgstr "Firewall - Regras personalizadas" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:20 +msgid "Firewall - IP sets" +msgstr "Firewall - Conjuntos de IP" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:172 +msgid "Firewall - NAT Rules" +msgstr "Firewall - Regras NAT" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:152 +msgid "Firewall - Port Forwards" +msgstr "Firewall - Encaminhamento de Portas" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:173 +msgid "Firewall - Traffic Rules" +msgstr "Firewall - Regras de Tráfego" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:38 +msgid "Firewall - Zone Settings" +msgstr "Firewall - Configurações de Zona" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:693 +msgid "Firewall configuration migration" +msgstr "Migração de configuração do Firewall" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:82 +msgid "Flow offloading type" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:64 +msgid "Forward" +msgstr "Encaminhar" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:34 +msgid "" +"Forwarded %{ipv6?%{ipv4?IPv4 and IPv6:IPv6}:" +"IPv4}%{proto?, protocol %{proto#%{next?, }%{item.name}}}%{mark?, mark %{mark.val}" +"}" +msgstr "" +"Encaminhado %{ipv6?%{ipv4?IPv4 e IPv6:IPv6}:" +"IPv4}%{proto?, protocol %{proto#%{next?, }%{item.name}}}%{mark?, mark %{mark.val}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:485 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:358 +msgid "Friday" +msgstr "Sexta-feira" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:45 +msgid "" +"From %{src}%{src_device?, interface %{src_device}}%{src_ip?, IP " +"%{src_ip#%{next?, }%{item.ival}}}%{src_port?, port %{src_port#%{next?, }" +"%{item." +"ival}}}" +msgstr "" +"From %{src}%{src_device?, interface %{src_device}}%{src_ip?, IP " +"%{src_ip#%{next?, }%{item.ival}}}%{src_port?, port " +"%{src_port#%{next?, }%{item.ival}}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:64 +msgid "" +"From %{src}%{src_device?, interface %{src_device}}%{src_ip?, IP " +"%{src_ip#%{next?, }%{item.ival}}}%{src_port?, port %{src_port#%{next?, }" +"%{item." +"ival}}}%{src_mac?, MAC %{src_mac#%{next?, }%{item.ival}" +"}}" +msgstr "" +"From %{src}%{src_device?, interface %{src_device}}%{src_ip?, IP " +"%{src_ip#%{next?, }%{item.ival}}}%{src_port?, port " +"%{src_port#%{next?, }%{item.ival}}}%{src_mac?, MAC " +"%{src_mac#%{next?, }%{item.ival}}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:52 +msgid "" +"From %{src}%{src_ip?, IP %{src_ip#%{next?, }%{item.ival}}}%{src_port?, port %{src_port#%{next?, }%{item.ival}}}%{src_mac?, " +"MAC %{src_mac#%{next?, }%{item.ival}}}" +msgstr "" +"From %{src}%{src_ip?, IP %{src_ip#%{next?, }%{item.ival}}}%{src_port?, port %{src_port#%{next?, }%{item.ival}}}%{src_mac?, MAC %{src_mac#%{next?, }%{item.ival}}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:161 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:182 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:181 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:41 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:113 +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:17 +msgid "General Settings" +msgstr "Configurações gerais" + +#: applications/luci-app-firewall/root/usr/share/rpcd/acl.d/luci-app-firewall.json:3 +msgid "Grant access to firewall configuration" +msgstr "Conceder acesso à configuração do firewall" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:85 +msgid "Hardware based offloading for routing with/without NAT." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:85 +msgid "Hardware flow offloading" +msgstr "Aceleração do fluxo dos dados via hardware" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:144 +msgid "IP (range)" +msgstr "IP (intervalo)" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:32 +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:53 +msgid "IP Sets" +msgstr "Conjuntos de IP" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:152 +msgid "IPs/Networks" +msgstr "IPs/Redes" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:107 +msgid "IPs/Networks/MACs" +msgstr "IPs/Redes/MACs" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:68 +msgid "IPv4" +msgstr "IPv4" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:191 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:280 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:219 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:256 +msgid "IPv4 and IPv6" +msgstr "IPv4 e IPv6" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:192 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:281 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:220 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:257 +msgid "IPv4 only" +msgstr "Apenas IPv4" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:69 +msgid "IPv6" +msgstr "IPv6" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:242 +msgid "IPv6 Masquerading" +msgstr "Mascaramento IPv6" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:193 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:282 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:221 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:258 +msgid "IPv6 only" +msgstr "Apenas IPv6" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:252 +msgid "Inbound device" +msgstr "Dispositivo de entrada" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:187 +msgid "Include File" +msgstr "Incluir arquivo" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:40 +msgid "" +"Incoming %{ipv6?%{ipv4?IPv4 and IPv6:IPv6}:" +"IPv4}%{proto?, protocol %{proto#%{next?, }%{item.types?%{item.name}ICMP " +"with types %{item.types#%{next?, }%{item}}:" +"%{item.name}}}}%{mark?, mark %{mark.val}}%{helper?, helper %{helper.inv?%{helper.val}:%{helper.val}}}" +msgstr "" +"Chegando %{ipv6?%{ipv4?IPv4 e IPv6:IPv6}:" +"IPv4}%{proto?, protocol %{proto#%{next?, }%{item.types?%{item.name}ICMP " +"com tipos %{item.types#%{next?, }%{item}}:" +"%{item.name}}}}%{mark?, mark %{mark.val}}%{helper?, helper " +"%{helper.inv?%{helper.val}:%{helper.val}}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:180 +msgid "Initial Hash Size" +msgstr "Tamanho inicial do hash" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:62 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:151 +msgid "Input" +msgstr "Entrada" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:292 +msgid "Internal IP address" +msgstr "Endereço IP interno" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:297 +msgid "Internal port" +msgstr "Porta Interna" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:287 +msgid "Internal zone" +msgstr "Zona interna" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:153 +msgid "Intra zone forward" +msgstr "Encaminhamento" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:305 +msgid "Invalid DSCP mark" +msgstr "Marca DSCP inválida" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:373 +msgid "Invalid limit value" +msgstr "Valor limite inválido" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:47 +msgid "Invalid set name" +msgstr "Nome de conjunto inválido" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:383 +msgid "Limit burst" +msgstr "Estouro limite" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:299 +msgid "Limit log messages" +msgstr "Limita as mensagens de registro" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:349 +msgid "Limit matching" +msgstr "Limitar as correspondências" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:79 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:96 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:74 +msgid "" +"Limit matching to %{limit.num} packets per %{limit.unit}%{limit.burst? burst %{limit.burst}}" +msgstr "" +"Limitar a correspondência de %{limit.num} pacotes por " +"%{limit.unit}%{limit.burst? estouro %{limit.burst}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:175 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:250 +msgid "Limited masquerading enabled" +msgstr "Mascaramento limitado ativado" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:350 +msgid "Limits traffic matching to the specified rate." +msgstr "Limita a correspondência de tráfego à taxa especificada." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:311 +msgid "Loopback source IP" +msgstr "IP da fonte de Loopback" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:291 +msgid "MASQUERADE - Automatically rewrite to outbound interface IP" +msgstr "MASQUERADE - Reescreve automaticamente para o IP da interface de saída" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:180 +msgid "MSS clamping" +msgstr "Ajuste do MSS" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:167 +msgid "Masquerading" +msgstr "Mascaramento" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:213 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:214 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:193 +msgid "Match" +msgstr "Correspondência" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:263 +msgid "Match DSCP" +msgstr "Correspondência DSCP" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:293 +msgid "Match ICMP type" +msgstr "Correspondência de tipo ICMP" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:249 +msgid "Match device" +msgstr "Dispositivo de correspondência" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:271 +msgid "Match forwarded traffic directed at the given IP address." +msgstr "" +"Encaminha o tráfego que obteve correspondência para um determinado endereço " +"de IP." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:279 +msgid "" +"Match forwarded traffic directed at the given destination port or port range." +msgstr "" +"Encaminha o tráfego que obteve correspondência para uma determinada porta de " +"destino ou uma faixa de portas." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:254 +msgid "Match forwarded traffic from this IP or range." +msgstr "" +"Encaminha o tráfego que obteve correspondência deste IP ou uma faixa de IPs." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:262 +msgid "" +"Match forwarded traffic originating from the given source port or port range." +msgstr "" +"Encaminha o tráfego que obteve correspondência originado de uma determinada " +"porta de origem ou faixa de portas." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:326 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:446 +msgid "Match helper" +msgstr "Auxiliar de correspondência" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:280 +msgid "" +"Match incoming traffic directed at the given destination port or port range " +"on this host" +msgstr "" +"Correspondência de tráfego de entrada direcionado à porta de destino ou " +"intervalo de portas especificado neste host" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:316 +msgid "Match mark" +msgstr "Marca de correspondência" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:326 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:446 +msgid "Match traffic using the specified connection tracking helper." +msgstr "" +"Corresponder o tráfego usando uma conexão definida pelo auxiliar de " +"rastreamento." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:319 +msgid "Matches a specific firewall mark or a range of different marks." +msgstr "" +"Corresponder uma marca de firewall especifica ou uma variedade de diferentes " +"marcas." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:332 +msgid "Matches forwarded traffic using the specified outbound network device." +msgstr "" +"Corresponda o tráfego encaminhado usando um dispositivo de rede de saída " +"indicado." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:264 +msgid "Matches traffic carrying the specified DSCP marking." +msgstr "Corresponde ao tráfego que carrega a marcação DSCP especificada." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:113 +msgid "Max Entries" +msgstr "Total de registros" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:172 +msgid "Max Length" +msgstr "Comprimento máximo" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:384 +msgid "" +"Maximum initial number of packets to match: this number gets recharged by " +"one every time the limit specified above is not reached, up to this number." +msgstr "" +"Número inicial máximo de pacotes para combinar: este número é recarregado " +"por um cada vez que o limite especificado acima não é atingido, até este " +"número." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:481 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:354 +msgid "Monday" +msgstr "Segunda-Feira" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:491 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:364 +msgid "Month Days" +msgstr "Dias do mês" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:175 +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:44 +msgid "NAT Rules" +msgstr "Regras NAT" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:173 +msgid "" +"NAT rules allow fine grained control over the source IP to use for outbound " +"or forwarded traffic." +msgstr "" +"As regras da NAT permitem o controle fino sobre o IP de origem para usar com " +"o tráfego de saída ou tráfego de encaminhamento." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:183 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:42 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:52 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:210 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:189 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:129 +msgid "Name" +msgstr "Nome" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:166 +msgid "Netmask" +msgstr "Máscara de rede" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:83 +msgid "None" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:77 +msgid "Not fully compatible with QoS/SQM." +msgstr "" +"Ela não é totalmente compatível com QoS/SQM." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:275 +msgid "Only match incoming traffic directed at the given IP address." +msgstr "" +"Somente case o tráfego entrante direcionado para o endereço IP fornecido." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:256 +msgid "Only match incoming traffic from these MACs." +msgstr "Somente case o tráfego entrante destes endereços MAC." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:261 +msgid "Only match incoming traffic from this IP or range." +msgstr "Somente case o tráfego entrante desta faixa de endereços IP." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:266 +msgid "" +"Only match incoming traffic originating from the given source port or port " +"range on the client host" +msgstr "" +"Somente case o tráfego entrante vindo da porta de origem fornecida ou " +"intervalo de portas no equipamento cliente" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:253 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:331 +msgid "Outbound device" +msgstr "Dispositivo de saída" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:246 +msgid "Outbound zone" +msgstr "Zona de saída" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:63 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:152 +msgid "Output" +msgstr "Saída" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:75 +msgid "Packet Field Match" +msgstr "Campo do pacote coincidente" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:76 +msgid "" +"Packet fields to match upon.
Syntax: direction_datatype. e.g.: " +"src_port, dest_net.
Directions: src, dst. " +"Datatypes: ip, port, mac, net, set.
Direction prefixes are " +"optional.
*Note: datatype set is unsupported in fw4." +msgstr "" +"Campos do pacote que correspondem.
Sintaxe: direction_datatype. por exemplo: src_port, dest_net.
Modo de preparo: " +"src, dst. Tipos de dados: ip, port, mac, net, set. " +"
Os prefixos de direção são opcionais.
*Nota: o tipo de dados " +"set não é suportado no fw4." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:350 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:471 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:343 +msgid "Passes additional arguments to iptables. Use with care!" +msgstr "Passa argumentos adicionais para o iptables. Use com cuidado!" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:309 +msgid "" +"Passing raw iptables arguments to source and destination traffic " +"classification rules allows to match packets based on other criteria than " +"interfaces or subnets. These options should be used with extreme care as " +"invalid values could render the firewall ruleset broken, completely exposing " +"all services." +msgstr "" +"Passar comandos diretos ao iptables para regras de classificação de tráfego " +"de origem e destino, permite combinar pacotes baseados em outros critérios " +"que não sejam interfaces ou sub-redes. Estas opções devem ser usadas com " +"extremo cuidado, pois valores inválidos podem quebrar todo o conjunto de " +"regras do firewall expondo todos os serviços completamente." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:188 +msgid "Path to file of CIDRs, subnets, host IPs, etc.
" +msgstr "Caminho para o arquivo de CIDRs, sub-redes, IPs de host, etc.
" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:155 +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:26 +msgid "Port Forwards" +msgstr "Encaminhamentos de Porta" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:153 +msgid "" +"Port forwarding allows remote computers on the Internet to connect to a " +"specific computer or service within the private LAN." +msgstr "" +"O encaminhamento de portas permite que computadores remotos na Internet " +"conectem a um computador ou serviço específico dentro da rede local privada." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:158 +msgid "Port range" +msgstr "Faixa de portas" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:237 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:289 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:242 +msgid "Protocol" +msgstr "Protocolo" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:298 +msgid "" +"Redirect matched incoming traffic to the given port on the internal host" +msgstr "" +"Redireciona tráfego entrante para a porta especificada no computador interno" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:293 +msgid "Redirect matched incoming traffic to the specified internal host" +msgstr "Redireciona tráfego entrante para o computador interno especificado" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:122 +msgid "Refer To External Set" +msgstr "Consulte o conjunto externo" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:320 +msgid "Reflection zones" +msgstr "Zonas de reflexão" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:85 +msgid "Requires hardware NAT support." +msgstr "Requer suporte de NAT em hardware." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:272 +msgid "Restrict Masquerading to given destination subnets" +msgstr "Restringe o mascaramento para uma subrede de destino específica" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:261 +msgid "Restrict Masquerading to given source subnets" +msgstr "Restringe o mascaramento para uma subrede de origem específica" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:188 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:277 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:216 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:255 +msgid "Restrict to address family" +msgstr "Restringe à uma família de endereços" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:297 +msgid "Rewrite IP address" +msgstr "Reescreva o endereço IP" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:298 +msgid "Rewrite matched traffic to the specified source IP address." +msgstr "" +"Reescreva o tráfego compatível com o endereço IP de origem especificado." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:312 +msgid "Rewrite matched traffic to the specified source port or port range." +msgstr "" +"Reescrever tráfego compatível com a porta de origem especificado ou uma " +"faixa de portas." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:311 +msgid "Rewrite port" +msgstr "Reescrever porta" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:76 +msgid "Routing/NAT Offloading" +msgstr "Aceleração do roteamento/NAT" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:290 +msgid "SNAT - Rewrite to specific source IP or port" +msgstr "SNAT - Reescrever para um IP de origem ou uma porta específica" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:486 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:359 +msgid "Saturday" +msgstr "Sábado" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:316 +msgid "Set mark" +msgstr "Definir marca" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:318 +msgid "" +"Set the given mark value on established connections. Format is value[/mask]. " +"If a mask is specified then only those bits set in the mask are modified." +msgstr "" +"Defina o valor da marca dada nas ligações estabelecidas. o formato é valor[/" +"mask]. Se uma máscara for especificada, então apenas os bits definidos na " +"máscara são modificados." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:84 +msgid "Software based offloading for routing/NAT." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:84 +msgid "Software flow offloading" +msgstr "Aceleração do fluxo dos dados via software" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:260 +msgid "Source IP address" +msgstr "Endereço IP de origem" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:255 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:386 +msgid "Source MAC address" +msgstr "Endereço MAC de origem" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:387 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:253 +msgid "Source address" +msgstr "Endereço de origem" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:265 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:389 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:261 +msgid "Source port" +msgstr "Porta de origem" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:241 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:372 +msgid "Source zone" +msgstr "Zona de origem" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:270 +msgid "" +"Specifies whether to tie this traffic rule to a specific inbound or outbound " +"network device." +msgstr "" +"Especifica se esta regra de tráfego deve ser ligada a um dispositivo de rede " +"específico de entrada ou de saída." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:311 +msgid "" +"Specifies whether to use the external or the internal IP address for " +"reflected traffic." +msgstr "" +"Especifica se deve usar o endereço de IP externo ou interno para o tráfego " +"refletido." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:510 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:383 +msgid "Start Date (yyyy-mm-dd)" +msgstr "Dia inicial (aaaa-mm-dd)" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:502 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:375 +msgid "Start Time (hh:mm:ss)" +msgstr "Hora de Início (hh:mm:ss)" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:514 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:387 +msgid "Stop Date (yyyy-mm-dd)" +msgstr "Dia final (aaaa-mm-dd)" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:506 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:379 +msgid "Stop Time (hh:mm:ss)" +msgstr "Hora de Parada (hh:mm:ss)" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:130 +msgid "Storage Method" +msgstr "Método de armazenamento" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:480 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:353 +msgid "Sunday" +msgstr "Domingo" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:694 +msgid "" +"The existing firewall configuration needs to be changed for LuCI to function " +"properly." +msgstr "" +"A configuração de firewall existente precisa ser alterada para que o LuCI " +"funcione corretamente." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:39 +msgid "" +"The firewall creates zones over your network interfaces to control network " +"traffic flow." +msgstr "" +"O firewall cria zonas sobre as interfaces de rede para controlar o fluxo do " +"tráfego de rede." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:227 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:340 +msgid "" +"The options below control the forwarding policies between this zone (%s) and " +"other zones. Destination zones cover forwarded traffic " +"originating from %q. Source zones match forwarded " +"traffic from other zones targeted at %q. The forwarding " +"rule is unidirectional, e.g. a forward from lan to wan does " +"not imply a permission to forward from wan to lan as well." +msgstr "" +"As opções abaixo controlam as políticas de encaminhamento entre esta zona " +"(%s) e outras zonas. Zonas de destino incluem tráfego encaminhado " +"originado de %q. Zonas de origem casam com tráfego " +"encaminhado de outras zonas apontando para %q. A regra de " +"encaminhamento é unidirecional, ex: um encaminhamento da LAN para " +"WAN não implica na permissão de encaminhar da WAN para LAN." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:125 +msgid "" +"This section defines common properties of %q. The input and " +"output options set the default policies for traffic entering and " +"leaving this zone while the forward option describes the policy for " +"forwarded traffic between different networks within the zone. Covered " +"networks specifies which available networks are members of this zone." +msgstr "" +"Esta seção define as propriedades comuns de %q. As opções de entrada e saída definem as políticas padrão para o tráfego entrando e " +"saindo desta zona, enquanto a opção de encaminhamento descreve a " +"política para encaminhar o tráfego entre diferentes redes dentro da zona. " +"Redes Cobertas especificam que redes disponíveis são membros desta " +"zona." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:484 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:357 +msgid "Thursday" +msgstr "Quita-feira" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:184 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:183 +msgid "Time Restrictions" +msgstr "Restrições de tempo" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:518 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:391 +msgid "Time in UTC" +msgstr "Hora em UTC" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:244 +msgid "Time restrictions are enabled for this rule" +msgstr "As restrições de tempo estão ativadas para esta regra" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:196 +msgid "Timeout" +msgstr "Tempo limite" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:77 +msgid "" +"To %{dest}%{dest_device?, interface %{dest_device}}%{dest_ip?, IP " +"%{dest_ip#%{next?, }%{item.ival}
}}%{dest_port?, port %{dest_port#%{next?, }" +"%{item." +"ival}}}" +msgstr "" +"Para %{dest}%{dest_device?, interface %{dest_device}}%{dest_ip?, " +"IP %{dest_ip#%{next?, }%{item.ival}}}%{dest_port?, port " +"%{dest_port#%{next?, }%{item.ival}}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:55 +msgid "" +"To %{dest}%{dest_device?, via interface %{dest_device}}%{dest_ip?, IP %{dest_ip#%{next?, }%{item.ival}}}%{dest_port?, port " +"%{dest_port#%{next?, }%{item.ival}}}" +msgstr "" +"Para %{dest}%{dest_device?, via interface %{dest_device}}%{dest_ip?, IP %{dest_ip#%{next?, }%{item.ival}}}%{dest_port?, port %{dest_port#%{next?, }%{item.ival}}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:61 +msgid "" +"To %{dest}%{dest_ip?, IP %{dest_ip#%{next?, }%{item.ival}}}%{dest_port?, port %{dest_port#%{next?, }%{item.ival}}}" +msgstr "" +"Para %{dest}%{dest_ip?, IP %{dest_ip#%{next?, }%{item.ival}}}%{dest_port?, port %{dest_port#%{next?, }%{item.ival}}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:439 +msgid "Tracking helper" +msgstr "Auxiliar de rastreamento" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:176 +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:35 +msgid "Traffic Rules" +msgstr "Regras de tráfego" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:174 +msgid "" +"Traffic rules define policies for packets travelling between different " +"zones, for example to reject traffic between certain hosts or to open WAN " +"ports on the router." +msgstr "" +"Regras de tráfego definem políticas para a passagem de pacotes entre as " +"diferentes zonas. Por exemplo, rejeitar o tráfego entre certos equipamentos " +"ou abrir portas WAN no roteador." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:482 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:355 +msgid "Tuesday" +msgstr "Terça-feira" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/custom.js:19 +msgid "Unable to save contents: %s" +msgstr "Não foi possível salvar os conteúdos: %s" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:197 +msgid "" +"Unit: seconds. Default 0 means the entry is added permanently " +"to the set.
Max: 2147483 seconds." +msgstr "" +"Unidade: segundos. Padrão 0 significa que a entrada é " +"adicionada permanentemente ao conjunto.
Max: 2147483 segundos." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:341 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:461 +msgid "Unknown or not installed conntrack helper \"%s\"" +msgstr "Auxiliar conntrack desconhecido ou não instalado \"%s\"" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:186 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:190 +msgid "Unnamed NAT" +msgstr "NAT sem nome" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:169 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:184 +msgid "Unnamed forward" +msgstr "Encaminhamento sem nome" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:191 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:211 +msgid "Unnamed rule" +msgstr "Regra sem nome" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:57 +msgid "Unnamed set" +msgstr "Conjunto sem nome" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:130 +msgid "Unnamed zone" +msgstr "Zona sem nome" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:597 +msgid "Unrecognized protocol" +msgstr "Protocolo desconhecido" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:695 +msgid "" +"Upon pressing \"Continue\", \"redirect\" sections with target \"SNAT\" will " +"be converted to \"nat\" sections and the firewall will be restarted to apply " +"the updated configuration." +msgstr "" +"Ao pressionar \"Continue\", as seções \"redirecionar\" com o alvo \"SNAT\" " +"serão convertidas para seções \"nat\" e o firewall será reiniciado para " +"aplicar e atualizar as novas configurações." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:315 +msgid "Use external IP address" +msgstr "Usar endereço IP externo" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:314 +msgid "Use internal IP address" +msgstr "Usar endereço IP interno" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:247 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:378 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:322 +msgid "Use ipset" +msgstr "Use o ipset" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:231 +msgid "" +"Use this option to classify zone traffic by raw, non-uci managed " +"network devices." +msgstr "" +"Use esta opção para classificar o tráfego bruto da zona por dispositivos de " +"rede não gerenciados pelauci." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:236 +msgid "" +"Use this option to classify zone traffic by source or destination subnet " +"instead of networks or devices." +msgstr "" +"Use esta opção para classificar o tráfego da zona por sub-rede de origem ou " +"destino em vez de redes ou dispositivos." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:331 +msgid "Valid firewall mark required" +msgstr "Marca de firewall válida necessária" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:483 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:356 +msgid "Wednesday" +msgstr "Quarta-feira" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:475 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:348 +msgid "Week Days" +msgstr "Dias da semana" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:420 +msgid "XOR firewall mark" +msgstr "Marca de firewall XOR" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:316 +msgid "XOR mark" +msgstr "Marca XOR" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:28 +msgid "Your device does not run firewall4." +msgstr "O seu dispositivo não roda o firewall4." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:26 +msgid "Your device runs firewall4." +msgstr "O seu dispositivo roda o firewall4." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:143 +msgid "Zone ⇒ Forwardings" +msgstr "Zona ⇒ Encaminhamentos" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:101 +msgid "Zones" +msgstr "Zonas" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:320 +msgid "" +"Zones from which reflection rules shall be created. If unset, only the " +"destination zone is used." +msgstr "" +"Zonas de onde devem ser criadas regras de reflexão. Se não for definido, " +"apenas a zona de destino é usada." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:415 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:70 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:159 +msgid "accept" +msgstr "aceitar" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:268 +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:463 +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:486 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:270 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:301 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:328 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:392 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:407 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:441 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:448 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:266 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:282 +msgid "any" +msgstr "qualquer" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:53 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:86 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:65 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:78 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:46 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:56 +msgid "any zone" +msgstr "qualquer zona" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:298 +msgid "any/all" +msgstr "qualquer/tudo" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:419 +msgid "apply firewall mark" +msgstr "aplicar marca de firewall" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:418 +msgid "assign conntrack helper" +msgstr "atribuir auxiliar conntrack" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:194 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:222 +msgid "automatic" +msgstr "automático" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:131 +msgid "bitmap" +msgstr "bitmap" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:137 +msgid "bitmap is ipv4 only" +msgstr "bitmap é ipv4 apenas" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:72 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:89 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:67 +msgid "day" +msgstr "dia" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:93 +msgid "dest_ip: Destination IP" +msgstr "dest_ip: IP de destino" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:95 +msgid "dest_mac: Destination MAC addr" +msgstr "dest_mac: endereço MAC de destino" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:96 +msgid "dest_net: Destination (sub)net" +msgstr "dest_net: (sub)rede de destino" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:94 +msgid "dest_port: Destination Port" +msgstr "dest_port: Porta de destino" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:98 +msgid "dest_set: Destination ipset*" +msgstr "dest_set: Destino ipset*" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:315 +msgid "do not rewrite" +msgstr "não reescrever" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:417 +msgid "don't track" +msgstr "não rastrear" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:414 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:69 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:158 +msgid "drop" +msgstr "descartar" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:21 +msgid "" +"firewall4 supports referencing and creating IP sets to simplify matching of " +"large address lists without the need to create one rule per item to match. " +"Port ranges in ipsets are unsupported by firewall4.
" +msgstr "" +"firewall4 oferece suporte a referência e criação de conjuntos de IPs para " +"simplificar a correspondência de grandes listas de endereços sem a " +"necessidade de criar uma regra que coincida com cada item. Os intervalos das " +"portas em ipsets não são compatíveis com o firewall4.
" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:159 +msgid "fromport-toport" +msgstr "deporta-paraporta" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:132 +msgid "hash" +msgstr "hash" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:72 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:89 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:67 +msgid "hour" +msgstr "hora" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:81 +msgid "ip: IP addr" +msgstr "ip: Endereço IP" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:153 +msgid "ip[/cidr]
" +msgstr "ip[/cidr]
" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:145 +msgid "ip[/cidr]
For use with Match datatypes: *_ip." +msgstr "" +"ip[/cidr]
Para uso com tipos de dados que coincidam: *_ip." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:70 +msgid "ipv4" +msgstr "ipv4" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:133 +msgid "list" +msgstr "lista" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:83 +msgid "mac: MAC addr" +msgstr "mac: endereço MAC" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:108 +msgid "macaddr|ip[/cidr]
" +msgstr "macaddr|ip[/cidr]
" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:72 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:89 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:67 +msgid "minute" +msgstr "minuto" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:84 +msgid "net: (sub)net" +msgstr "rede: (sub)rede" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:82 +msgid "port: Port" +msgstr "porta: Porta" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:416 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:68 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:157 +msgid "reject" +msgstr "rejeitar" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:72 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:89 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:67 +msgid "second" +msgstr "segundo" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:86 +msgid "set: ipset*" +msgstr "set: ipset*" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:92 +msgid "src_Set: Source ipset*" +msgstr "src_Set: Origem do ipset*" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:87 +msgid "src_ip: Source IP" +msgstr "src_ip: IP de origem" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:89 +msgid "src_mac: Source MAC addr" +msgstr "src_mac: Origem do endereço MAC" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:90 +msgid "src_net: Source (sub)net" +msgstr "src_net: Origem (sub)rede" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:88 +msgid "src_port: Source Port" +msgstr "src_port: Porta de origem" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:53 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:62 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:86 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:65 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:78 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:56 +msgid "this device" +msgstr "este dispositivo" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:124 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:226 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:339 +msgid "this new zone" +msgstr "esta nova zona" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:354 +msgid "unlimited" +msgstr "ilimitado" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:251 +msgid "unspecified" +msgstr "não especificado" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:114 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:173 +msgid "up to 65536 entries." +msgstr "até 65536 entradas." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:339 +msgid "valid firewall mark" +msgstr "marca de firewall válida" + +#~ msgid "Software based offloading for routing/NAT" +#~ msgstr "Aceleração do roteamento/NAT via software" + +#~ msgid "" +#~ "Enable network address and port translation (NAT or NAPT) for outbound " +#~ "traffic on this zone. This is typically enabled on the wan zone." +#~ msgstr "" +#~ "Ative o endereço de rede e a conversão da porta (NAT ou NAPT) para o " +#~ "tráfego de saída nesta zona. Normalmente, isso é ativado na zona wan." + +#~ msgid "" +#~ "Forwarded IPv4%{proto?, protocol %{proto#%{next?, }%{item.name}}}%{mark?, mark %{mark." +#~ "val}}" +#~ msgstr "" +#~ "Forwarded IPv4%{proto?, protocol %{proto#%{next?, }%{item.name}}}%{mark?, mark %{mark.val}}" + +#~ msgid "" +#~ "Incoming IPv4%{proto?, protocol %{proto#%{next?, }%{item.types?%{item.name}ICMP with types %{item.types#%{next?, }%{item}}:%{item.name}}}}%{mark?, mark %{mark.val}}%{helper?, helper %{helper.inv?%{helper.val}:%{helper.val}" +#~ "}}" +#~ msgstr "" +#~ "Incoming IPv4%{proto?, protocol %{proto#%{next?, }%{item.types?%{item.name}ICMP with types %{item.types#%{next?, }%{item}}:%{item.name}}}}%{mark?, mark %{mark.val}}%{helper?, helper " +#~ "%{helper.inv?%{helper.val}:%{helper.val}}}" diff --git a/luci-app-firewall/po/ro/firewall.po b/luci-app-firewall/po/ro/firewall.po new file mode 100644 index 000000000..85c9416d3 --- /dev/null +++ b/luci-app-firewall/po/ro/firewall.po @@ -0,0 +1,1673 @@ +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"PO-Revision-Date: 2023-09-18 15:45+0000\n" +"Last-Translator: David Rapaň \n" +"Language-Team: Romanian \n" +"Language: ro\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=3; plural=n==1 ? 0 : (n==0 || (n%100 > 0 && n%100 < " +"20)) ? 1 : 2;\n" +"X-Generator: Weblate 5.0.2\n" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:48 +msgid "" +"%{src?%{dest?Forwarded:Incoming}:Outgoing} %{ipv6?%{ipv4?IPv4 and " +"IPv6:IPv6}:IPv4}%{proto?, protocol " +"%{proto#%{next?, }%{item.types?%{item." +"name}ICMP with types %{item.types#%{next?, }" +"%{item}}:%{item.name}}}}%{mark?, mark " +"%{mark.val}}%{dscp?, DSCP %{dscp." +"inv?%{dscp.val}:%{dscp.val}}}%{helper?, helper " +"%{helper.inv?%{helper.val}:%{helper." +"val}}}" +msgstr "" +"%{src?%{dest?Forwarded:Incoming}:Outgoing} %{ipv6?%{ipv4?IPv4 și " +"IPv6:IPv6}:IPv4}%{proto?, protocol " +"%{proto#%{next?, }%{item.types?%{item." +"name}ICMP cu tipuri %{item.types#%{next?, }" +"%{item}}:%{item.name}}}}%{mark?, mark " +"%{mark.val}}%{dscp?, DSCP %{dscp.inv?%{dscp.val}:%{dscp.val}}}%{helper?, helper " +"%{helper.inv?%{helper.val}:%{helper.val}}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:463 +msgid "-- add IP --" +msgstr "-- adăugați IP --" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:521 +msgid "-- add MAC --" +msgstr "-- adăugați MAC --" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:199 +msgid "0" +msgstr "0" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:182 +msgid "1024" +msgstr "1024" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:118 +msgid "" +"Accept %{src?%{dest?forward:input}:output}" +msgstr "" +"Acceptă %{src?%{dest?forward:input}:" +"output}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:93 +msgid "Prevent source rewrite" +msgstr "Preveniți rescrierea sursei" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:85 +msgid "" +"Forward to %{dest}%{dest_ip? IP " +"%{dest_ip}}%{dest_port? port %{dest_port}}" +msgstr "" +"Forward la %{dest}%{dest_ip? IP " +"%{dest_ip}}%{dest_port? port %{dest_port}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:115 +msgid "" +"Drop %{src?%{dest?forward:input}:output}" +msgstr "" +"Picătură %{src?%{dest?forward:input}:output}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:133 +msgid "" +"Assign DSCP classification %{set_dscp}" +"" +msgstr "" +"Assign DSCP clasificare %{set_dscp}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:127 +msgid "" +"Assign conntrack helper " +"%{set_helper}" +msgstr "" +"Assign conntrack ajutător " +"%{set_helper}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:130 +msgid "" +"%{set_mark?Assign:XOR} firewall mark " +"%{set_mark?:%{set_xmark}}" +msgstr "" +"%{set_mark?Assign:XOR} marcaj firewall " +"%{set_mark?:%{set_xmark}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:90 +msgid "Automatically rewrite source IP" +msgstr "" +"Automat rescrieți automat sursa IP" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:124 +msgid "" +"Do not track %{src?%{dest?forward:input}:" +"output}" +msgstr "" +"Nu urmăriți %{src?%{dest?forward:input}:" +"output}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:121 +msgid "" +"Reject %{src?%{dest?forward:input}:output}" +msgstr "" +"Rejectare %{src?%{dest?forward:input}:" +"output}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:87 +msgid "" +"Statically rewrite to source %{snat_ip?IP " +"%{snat_ip}} %{snat_port?port %{snat_port}}" +msgstr "" +"Statically rewrite la sursă %{snat_ip?IP " +"%{snat_ip}} %{snat_port?port %{snat_port}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:306 +msgid "A rewrite IP must be specified!" +msgstr "Trebuie specificat un IP de rescriere!" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:292 +msgid "ACCEPT - Disable address rewriting" +msgstr "ACCEPT - Dezactivează rescrierea adreselor" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:224 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:225 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:411 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:204 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:287 +msgid "Action" +msgstr "Acțiune" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:322 +msgid "" +"Additional raw iptables arguments to classify zone destination " +"traffic, e.g. -p tcp --dport 443 to only match outbound HTTPS " +"traffic." +msgstr "" +"Argumente brute suplimentare iptables pentru a clasifica traficul " +"de destinație al zonei, de exemplu, -p tcp --dport 443 pentru a " +"se potrivi numai cu traficul HTTPS de ieșire." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:312 +msgid "" +"Additional raw iptables arguments to classify zone source traffic, " +"e.g. -p tcp --sport 443 to only match inbound HTTPS traffic." +msgstr "" +"Argumente brute suplimentare iptables pentru a clasifica traficul " +"sursă din zonă, de exemplu, -p tcp --sport 443 pentru a se " +"potrivi numai cu traficul HTTPS de intrare." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:107 +msgid "Address family, Internal IP address must match" +msgstr "Familia de adrese, adresa IP internă trebuie să corespundă" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:135 +msgid "" +"Address family, source address, destination address, rewrite IP address must " +"match" +msgstr "Familia de adrese, adresa IP internă trebuie să corespundă" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:162 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:183 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:182 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:114 +msgid "Advanced Settings" +msgstr "Setări avansate" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:283 +msgid "Allow \"invalid\" traffic" +msgstr "Permiteți traficul \"invalid\"" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:385 +msgid "Allow forward from source zones:" +msgstr "Permite trecerea din zonele sursa:" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:344 +msgid "Allow forward to destination zones:" +msgstr "Permite trecerea catre zonele sursa:" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:551 +msgid "Any" +msgstr "Oricare" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:479 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:495 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:352 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:368 +msgid "Any day" +msgstr "Orice zi" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:317 +msgid "" +"Apply a bitwise XOR of the given value and the existing mark value on " +"established connections. Format is value[/mask]. If a mask is specified then " +"those bits set in the mask are zeroed out." +msgstr "" +"Aplică un XOR în sensul biometric al valorii date și al valorii mărcii " +"existente pe conexiunile stabilite. Formatul este value[/mask]. Dacă se " +"specifică o mască, atunci acei biți setați în mască sunt eliminați." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:264 +msgid "Apply the given DSCP class or value to established connections." +msgstr "Aplică clasa sau valoarea DSCP dată la conexiunile stabilite." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:439 +msgid "Assign the specified connection tracking helper to matched traffic." +msgstr "" +"Alocarea ajutorului de urmărire a conexiunilor specificat pentru traficul " +"corespunzător." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:286 +msgid "Automatic helper assignment" +msgstr "Atribuirea automată a ajutorului" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:286 +msgid "" +"Automatically assign conntrack helpers based on traffic protocol and port" +msgstr "" +"Atribuiți automat ajutoare de conntrack pe baza protocolului și portului de " +"trafic" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:61 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:62 +msgid "Comment" +msgstr "Comentariu" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:115 +msgid "Conntrack Settings" +msgstr "Setări Conntrack" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:290 +msgid "Conntrack helpers" +msgstr "Ajutoarele Conntrack" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/custom.js:16 +msgid "Contents have been saved." +msgstr "Conţinutul a fost salvat." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:700 +msgid "Continue" +msgstr "Continuați" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:204 +msgid "Counters" +msgstr "Contoare" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:231 +msgid "Covered devices" +msgstr "Dispozitive acoperite" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:183 +msgid "Covered networks" +msgstr "Retele acoperite" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:236 +msgid "Covered subnets" +msgstr "Subrețele acoperite" + +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:62 +msgid "Custom Rules" +msgstr "Reguli suplimentare" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/custom.js:26 +msgid "" +"Custom rules allow you to execute arbitrary iptables commands which are not " +"otherwise covered by the firewall framework. The commands are executed after " +"each firewall restart, right after the default ruleset has been loaded." +msgstr "" +"Regulile personalizate vă permit să executați comenzi iptables arbitrare " +"care nu sunt altfel acoperite de cadrul firewall. Comenzile sunt executate " +"după fiecare repornire a firewall-ului, imediat după ce setul de reguli " +"implicite a fost încărcat." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:421 +msgid "DSCP classification" +msgstr "Clasificarea DSCP" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:263 +msgid "DSCP mark" +msgstr "Marcaj DSCP" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:297 +msgid "DSCP mark required" +msgstr "Marcaj DSCP necesar" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:402 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:270 +msgid "Destination address" +msgstr "Adresa de destinație" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:404 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:278 +msgid "Destination port" +msgstr "Portul de destinație" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:396 +msgid "Destination zone" +msgstr "Zonă de destinație" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:269 +msgid "Device name" +msgstr "Numele dispozitivului" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:283 +msgid "" +"Do not install extra rules to reject forwarded traffic with conntrack state " +"invalid. This may be required for complex asymmetric route setups." +msgstr "" +"Nu instalați reguli suplimentare pentru a respinge traficul redirecționat cu " +"starea conntrack invalid. Acest lucru poate fi necesar pentru " +"configurații complexe de rute asimetrice." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:59 +msgid "Drop invalid packets" +msgstr "Descarcă pachetele invalide" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:232 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:231 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:210 +msgid "Enable" +msgstr "Activează" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:306 +msgid "Enable NAT Loopback" +msgstr "Activează loopback NAT" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:45 +msgid "Enable SYN-flood protection" +msgstr "Activează protecţia SYN-flood" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:296 +msgid "Enable logging on this zone" +msgstr "Activeaza log in aceasta zona" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:168 +msgid "" +"Enable network address and port translation IPv4 (NAT4 or NAPT4) for " +"outbound traffic on this zone. This is typically enabled on the wan " +"zone." +msgstr "" +"Activați adresa de rețea și traducerea portului IPv4 (NAT4 sau NAPT4) pentru " +"traficul de ieșire din această zonă. Acest lucru este de obicei activat pe " +"wan zone." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:243 +msgid "" +"Enable network address and port translation IPv6 (NAT6 or NAPT6) for " +"outbound traffic on this zone." +msgstr "" +"Activați adresa de rețea și traducerea porturilor IPv6 (NAT6 sau NAPT6) " +"pentru traficul de ieșire din această zonă." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:211 +msgid "Enabled" +msgstr "activat" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:205 +msgid "Enables packet and byte count tracking for the set." +msgstr "Activează urmărirea numărului de pachete și de octeți pentru set." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:339 +msgid "Expecting: %s" +msgstr "Se așteaptă: %s" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:290 +msgid "Explicitly choses allowed connection tracking helpers for zone traffic" +msgstr "" +"Alege în mod explicit ajutoarele de urmărire a conexiunilor permise pentru " +"traficul din zonă" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:274 +msgid "External IP address" +msgstr "Adresă IP externă" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:279 +msgid "External port" +msgstr "Port extern" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:349 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:470 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:342 +msgid "Extra arguments" +msgstr "Argumente suplimentare" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:322 +msgid "Extra destination arguments" +msgstr "Argumente suplimentare pentru destinație" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:116 +msgid "Extra iptables arguments" +msgstr "Argumente suplimentare pentru iptables" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:312 +msgid "Extra source arguments" +msgstr "Argumente sursă suplimentare" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:67 +msgid "Family" +msgstr "Familie" + +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:3 +msgid "Firewall" +msgstr "Firewall" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/custom.js:25 +msgid "Firewall - Custom Rules" +msgstr "Firewall - Reguli particularizate" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:20 +msgid "Firewall - IP sets" +msgstr "Firewall - Seturi IP" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:172 +msgid "Firewall - NAT Rules" +msgstr "Firewall - Reguli NAT" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:152 +msgid "Firewall - Port Forwards" +msgstr "Firewall - Port-uri forwardate" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:173 +msgid "Firewall - Traffic Rules" +msgstr "Firewall - Reguli ale traficului" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:38 +msgid "Firewall - Zone Settings" +msgstr "Setari zona la firewall" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:693 +msgid "Firewall configuration migration" +msgstr "Migrarea configurației firewall-ului" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:82 +msgid "Flow offloading type" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:64 +msgid "Forward" +msgstr "redirecționare" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:34 +msgid "" +"Forwarded %{ipv6?%{ipv4?IPv4 and IPv6:IPv6}:" +"IPv4}%{proto?, protocol %{proto#%{next?, }%{item.name}}}%{mark?, mark %{mark.val}" +"}" +msgstr "" +"Redirecționate %{ipv6?%{ipv4?IPv4 și IPv6:IPv6}:IPv4}%{proto?, protocol %{proto#%{next?, }%{item.name}" +"}}%{mark?, mark %{mark.val}" +"}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:485 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:358 +msgid "Friday" +msgstr "Vineri" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:45 +msgid "" +"From %{src}%{src_device?, interface %{src_device}}%{src_ip?, IP " +"%{src_ip#%{next?, }%{item.ival}}}%{src_port?, port %{src_port#%{next?, }" +"%{item." +"ival}}}" +msgstr "" +"De la %{src}%{src_dispozitiv?, interfață %{src_dispozitiv}}%{src_ip?, IP %{src_ip#%{next?, }%{item.ival}" +"}}}%{src_port?, port %{src_port#%{next?, }%{item.ival}}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:64 +msgid "" +"From %{src}%{src_device?, interface %{src_device}}%{src_ip?, IP " +"%{src_ip#%{next?, }%{item.ival}}}%{src_port?, port %{src_port#%{next?, }" +"%{item." +"ival}}}%{src_mac?, MAC %{src_mac#%{next?, }%{item.ival}" +"}}" +msgstr "" +"De la %{src}%{src_device?, interface %{src_device}}%{src_ip?, IP " +"%{src_ip#%{next?, }%{item.ival}}}%{src_port?, port %{src_port#%{next?, }" +"%{item." +"ival}}}%{src_mac?, MAC %{src_mac#%{next?, }%{item.ival}" +"}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:52 +msgid "" +"From %{src}%{src_ip?, IP %{src_ip#%{next?, }%{item.ival}}}%{src_port?, port %{src_port#%{next?, }%{item.ival}}}%{src_mac?, " +"MAC %{src_mac#%{next?, }%{item.ival}}}" +msgstr "" +"De la %{src}%{src_ip?, IP %{src_ip#%{next?, }%{item.ival}}}%{src_port?, port %{src_port#%{next?, }%{item.ival}}}%{src_mac?, " +"MAC %{src_mac#%{next?, }%{item.ival}}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:161 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:182 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:181 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:41 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:113 +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:17 +msgid "General Settings" +msgstr "Setări generale" + +#: applications/luci-app-firewall/root/usr/share/rpcd/acl.d/luci-app-firewall.json:3 +msgid "Grant access to firewall configuration" +msgstr "Acordarea accesului la configurația firewall-ului" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:85 +msgid "Hardware based offloading for routing with/without NAT." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:85 +msgid "Hardware flow offloading" +msgstr "Descărcarea fluxului hardware" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:144 +msgid "IP (range)" +msgstr "IP (interval)" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:32 +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:53 +msgid "IP Sets" +msgstr "Seturi IP" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:152 +msgid "IPs/Networks" +msgstr "IP-uri/Rețele" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:107 +msgid "IPs/Networks/MACs" +msgstr "IP-uri/Rețele/MAC-uri" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:68 +msgid "IPv4" +msgstr "IPv4" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:191 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:280 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:219 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:256 +msgid "IPv4 and IPv6" +msgstr "IPv4 și IPv6" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:192 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:281 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:220 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:257 +msgid "IPv4 only" +msgstr "Doar IPv4" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:69 +msgid "IPv6" +msgstr "IPv6" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:242 +msgid "IPv6 Masquerading" +msgstr "Mascare IPv6" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:193 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:282 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:221 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:258 +msgid "IPv6 only" +msgstr "Doar IPv6" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:252 +msgid "Inbound device" +msgstr "Dispozitiv de intrare" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:187 +msgid "Include File" +msgstr "Includere fișier" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:40 +msgid "" +"Incoming %{ipv6?%{ipv4?IPv4 and IPv6:IPv6}:" +"IPv4}%{proto?, protocol %{proto#%{next?, }%{item.types?%{item.name}ICMP " +"with types %{item.types#%{next?, }%{item}}:" +"%{item.name}}}}%{mark?, mark %{mark.val}}%{helper?, helper %{helper.inv?%{helper.val}:%{helper.val}}}" +msgstr "" +"Intrări %{ipv6?%{ipv4?IPv4 și IPv6:IPv6}:" +"IPv4}%{proto?, protocol %{proto#%{next?, }%{item.types?%{item.name}ICMP " +"with types %{item.types#%{next?, }%{item}}:" +"%{item.name}}}}%{mark?, mark %{mark.val}}%{helper?, helper %{helper.inv?%{helper.val}:%{helper.val}}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:180 +msgid "Initial Hash Size" +msgstr "Dimensiunea inițială a hash-ului" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:62 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:151 +msgid "Input" +msgstr "Intrare" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:292 +msgid "Internal IP address" +msgstr "Adresa IP interna" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:297 +msgid "Internal port" +msgstr "Port intern" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:287 +msgid "Internal zone" +msgstr "Zonă internă" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:153 +msgid "Intra zone forward" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:305 +msgid "Invalid DSCP mark" +msgstr "Marcaj DSCP invalid" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:373 +msgid "Invalid limit value" +msgstr "Valoare limită invalidă" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:47 +msgid "Invalid set name" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:383 +msgid "Limit burst" +msgstr "Limitați explozia" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:299 +msgid "Limit log messages" +msgstr "Limitează mesaje în log" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:349 +msgid "Limit matching" +msgstr "Potrivirea limitelor" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:79 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:96 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:74 +msgid "" +"Limit matching to %{limit.num} packets per %{limit.unit}%{limit.burst? burst %{limit.burst}}" +msgstr "" +"Limitați potrivirea la %{limit.num} pachete pe %{limit.unit}" +"%{limit.burst? burst %{limit.burst}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:175 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:250 +msgid "Limited masquerading enabled" +msgstr "Activarea limitată a mascării" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:350 +msgid "Limits traffic matching to the specified rate." +msgstr "Limitează potrivirea traficului la rata specificată." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:311 +msgid "Loopback source IP" +msgstr "IP sursă Loopback" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:291 +msgid "MASQUERADE - Automatically rewrite to outbound interface IP" +msgstr "MASQUERADE - Rescrierea automată către IP-ul interfeței de ieșire" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:180 +msgid "MSS clamping" +msgstr "Ajustare MSS" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:167 +msgid "Masquerading" +msgstr "Translatare" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:213 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:214 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:193 +msgid "Match" +msgstr "Potrivire" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:263 +msgid "Match DSCP" +msgstr "Potrivire DSCP" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:293 +msgid "Match ICMP type" +msgstr "Potriveste pe tipul de ICMP" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:249 +msgid "Match device" +msgstr "Dispozitiv de potrivire" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:271 +msgid "Match forwarded traffic directed at the given IP address." +msgstr "Potrivește traficul redirecționat către adresa IP dată." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:279 +msgid "" +"Match forwarded traffic directed at the given destination port or port range." +msgstr "" +"Potrivește traficul redirecționat către portul de destinație sau intervalul " +"de porturi dat." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:254 +msgid "Match forwarded traffic from this IP or range." +msgstr "Potrivește traficul redirecționat de la acest IP sau interval." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:262 +msgid "" +"Match forwarded traffic originating from the given source port or port range." +msgstr "" +"Potrivește traficul redirecționat care provine din portul sursă sau din " +"intervalul de porturi dat." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:326 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:446 +msgid "Match helper" +msgstr "Ajutor de potrivire" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:280 +msgid "" +"Match incoming traffic directed at the given destination port or port range " +"on this host" +msgstr "" +"Potrivește traficul de intrare direcționat către portul de destinație sau " +"intervalul de porturi dat pe această gazdă" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:316 +msgid "Match mark" +msgstr "Marca de meci" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:326 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:446 +msgid "Match traffic using the specified connection tracking helper." +msgstr "" +"Potrivește traficul care utilizează ajutorul de urmărire a conexiunilor " +"specificat." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:319 +msgid "Matches a specific firewall mark or a range of different marks." +msgstr "" +"Se potrivește cu o anumită marcă de firewall sau cu o serie de mărci " +"diferite." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:332 +msgid "Matches forwarded traffic using the specified outbound network device." +msgstr "" +"Potrivește traficul redirecționat utilizând dispozitivul de rețea de ieșire " +"specificat." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:264 +msgid "Matches traffic carrying the specified DSCP marking." +msgstr "Potrivește traficul care poartă marcajul DSCP specificat." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:113 +msgid "Max Entries" +msgstr "Intrări max" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:172 +msgid "Max Length" +msgstr "Lungime maximă" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:384 +msgid "" +"Maximum initial number of packets to match: this number gets recharged by " +"one every time the limit specified above is not reached, up to this number." +msgstr "" +"Numărul maxim inițial de pachete care trebuie să se potrivească: acest număr " +"se reîncarcă cu unu de fiecare dată când limita specificată mai sus nu este " +"atinsă, până la acest număr." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:481 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:354 +msgid "Monday" +msgstr "Luni" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:491 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:364 +msgid "Month Days" +msgstr "Luna Zile" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:175 +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:44 +msgid "NAT Rules" +msgstr "Reguli NAT" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:173 +msgid "" +"NAT rules allow fine grained control over the source IP to use for outbound " +"or forwarded traffic." +msgstr "" +"Regulile NAT permit un control fin asupra IP-ului sursă care va fi utilizat " +"pentru traficul de ieșire sau de redirecționare." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:183 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:42 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:52 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:210 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:189 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:129 +msgid "Name" +msgstr "Nume" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:166 +msgid "Netmask" +msgstr "Mască de rețea" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:83 +msgid "None" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:77 +msgid "Not fully compatible with QoS/SQM." +msgstr "Nu este complet compatibiă cu QoS/SQM." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:275 +msgid "Only match incoming traffic directed at the given IP address." +msgstr "" +"Se potrivește numai cu traficul de intrare direcționat către adresa IP dată." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:256 +msgid "Only match incoming traffic from these MACs." +msgstr "Potriviți numai traficul de intrare de la aceste MAC-uri." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:261 +msgid "Only match incoming traffic from this IP or range." +msgstr "" +"Se potrivește numai cu traficul de intrare de la acest IP sau interval." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:266 +msgid "" +"Only match incoming traffic originating from the given source port or port " +"range on the client host" +msgstr "" +"Se potrivește numai cu traficul de intrare care provine din portul sursă dat " +"sau din intervalul de porturi de pe gazda clientului" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:253 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:331 +msgid "Outbound device" +msgstr "Dispozitiv de ieșire" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:246 +msgid "Outbound zone" +msgstr "Zona de ieșire" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:63 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:152 +msgid "Output" +msgstr "Ieşire" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:75 +msgid "Packet Field Match" +msgstr "Potrivire câmp pachete" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:76 +msgid "" +"Packet fields to match upon.
Syntax: direction_datatype. e.g.: " +"src_port, dest_net.
Directions: src, dst. " +"Datatypes: ip, port, mac, net, set.
Direction prefixes are " +"optional.
*Note: datatype set is unsupported in fw4." +msgstr "" +"Câmpurile pachetului care se potrivesc.
Sintaxa: " +"direction_datatype. de exemplu: src_port, dest_net." +"
Direcții: src, dst. Tipuri de date: ip, port, mac, " +"net, set.
. Prefixele de direcție sunt opționale.
*Nota: " +"tipul de date set nu este acceptat în fw4." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:350 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:471 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:343 +msgid "Passes additional arguments to iptables. Use with care!" +msgstr "Transmite argumente suplimentare către iptables. Folosiți cu grijă!" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:309 +msgid "" +"Passing raw iptables arguments to source and destination traffic " +"classification rules allows to match packets based on other criteria than " +"interfaces or subnets. These options should be used with extreme care as " +"invalid values could render the firewall ruleset broken, completely exposing " +"all services." +msgstr "" +"Transmiterea argumentelor iptables brute către regulile de clasificare a " +"traficului la sursă și la destinație permite potrivirea pachetelor pe baza " +"altor criterii decât interfețele sau subrețelele. Aceste opțiuni trebuie " +"utilizate cu mare atenție, deoarece valorile invalide ar putea face ca setul " +"de reguli de firewall să fie rupt, expunând complet toate serviciile." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:188 +msgid "Path to file of CIDRs, subnets, host IPs, etc.
" +msgstr "" +"Calea de acces la fișierul cu CIDR-uri, subrețele, IP-uri gazdă etc.
" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:155 +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:26 +msgid "Port Forwards" +msgstr "Port Redirecționări" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:153 +msgid "" +"Port forwarding allows remote computers on the Internet to connect to a " +"specific computer or service within the private LAN." +msgstr "" +"Redirecționarea porturilor permite computerelor de la distanță de pe " +"internet să se conecteze la un anumit computer sau serviciu din cadrul unei " +"rețele locale private." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:158 +msgid "Port range" +msgstr "interval de porturi" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:237 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:289 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:242 +msgid "Protocol" +msgstr "Protocol" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:298 +msgid "" +"Redirect matched incoming traffic to the given port on the internal host" +msgstr "" +"Redirecționează traficul de intrare corespunzător către portul dat pe gazda " +"internă" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:293 +msgid "Redirect matched incoming traffic to the specified internal host" +msgstr "" +"Redirecționează traficul de intrare corespunzător către gazda internă " +"specificată" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:122 +msgid "Refer To External Set" +msgstr "Consultați Setul extern" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:320 +msgid "Reflection zones" +msgstr "Zone de reflexie" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:85 +msgid "Requires hardware NAT support." +msgstr "Necesită suport hardware NAT." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:272 +msgid "Restrict Masquerading to given destination subnets" +msgstr "Restrângerea masquerading-ului la anumite subrețele de destinație" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:261 +msgid "Restrict Masquerading to given source subnets" +msgstr "Restrângerea masquerading-ului la anumite subrețele sursă" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:188 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:277 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:216 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:255 +msgid "Restrict to address family" +msgstr "Restricționarea la adresa familiei" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:297 +msgid "Rewrite IP address" +msgstr "Rescrieți adresa IP" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:298 +msgid "Rewrite matched traffic to the specified source IP address." +msgstr "Răspândește traficul potrivit la adresa IP sursă specificată." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:312 +msgid "Rewrite matched traffic to the specified source port or port range." +msgstr "" +"Rescrie traficul potrivit către portul sursă sau intervalul de porturi " +"specificat." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:311 +msgid "Rewrite port" +msgstr "Port de rescriere" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:76 +msgid "Routing/NAT Offloading" +msgstr "Rutarea/încărcarea NAT" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:290 +msgid "SNAT - Rewrite to specific source IP or port" +msgstr "SNAT - Rescrierea către un anumit IP sau port sursă" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:486 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:359 +msgid "Saturday" +msgstr "Sâmbătă" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:316 +msgid "Set mark" +msgstr "Marca de setare" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:318 +msgid "" +"Set the given mark value on established connections. Format is value[/mask]. " +"If a mask is specified then only those bits set in the mask are modified." +msgstr "" +"Stabilește valoarea dată a marcajului la conexiunile stabilite. Formatul " +"este value[/mask]. Dacă este specificată o mască, atunci sunt modificați " +"numai acei biți setați în mască." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:84 +msgid "Software based offloading for routing/NAT." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:84 +msgid "Software flow offloading" +msgstr "Descărcarea fluxului de software" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:260 +msgid "Source IP address" +msgstr "Sursă adresă IP" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:255 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:386 +msgid "Source MAC address" +msgstr "Sursă adresă MAC" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:387 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:253 +msgid "Source address" +msgstr "Adresă sursă" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:265 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:389 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:261 +msgid "Source port" +msgstr "Port sursă" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:241 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:372 +msgid "Source zone" +msgstr "Zona sursa" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:270 +msgid "" +"Specifies whether to tie this traffic rule to a specific inbound or outbound " +"network device." +msgstr "" +"Specifică dacă se leagă această regulă de trafic de un anumit dispozitiv de " +"intrare sau de ieșire din rețea." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:311 +msgid "" +"Specifies whether to use the external or the internal IP address for " +"reflected traffic." +msgstr "" +"Specifică dacă se utilizează adresa IP externă sau internă pentru traficul " +"reflectat." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:510 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:383 +msgid "Start Date (yyyy-mm-dd)" +msgstr "Data de începere (yyyy-mm-dd)" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:502 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:375 +msgid "Start Time (hh:mm:ss)" +msgstr "Ora de începere (hh:mm:ss)" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:514 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:387 +msgid "Stop Date (yyyy-mm-dd)" +msgstr "Data de oprire (yyyy-mm-dd)" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:506 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:379 +msgid "Stop Time (hh:mm:ss)" +msgstr "Timp de oprire (hh:mm:ss)" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:130 +msgid "Storage Method" +msgstr "Metoda de stocare" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:480 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:353 +msgid "Sunday" +msgstr "Duminică" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:694 +msgid "" +"The existing firewall configuration needs to be changed for LuCI to function " +"properly." +msgstr "" +"Configurația existentă a firewall-ului trebuie să fie modificată pentru ca " +"LuCI să funcționeze corect." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:39 +msgid "" +"The firewall creates zones over your network interfaces to control network " +"traffic flow." +msgstr "" +"Firewall-ul creează zone peste interfețele de rețea pentru a controla fluxul " +"de trafic de rețea." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:227 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:340 +msgid "" +"The options below control the forwarding policies between this zone (%s) and " +"other zones. Destination zones cover forwarded traffic " +"originating from %q. Source zones match forwarded " +"traffic from other zones targeted at %q. The forwarding " +"rule is unidirectional, e.g. a forward from lan to wan does " +"not imply a permission to forward from wan to lan as well." +msgstr "" +"Opțiunile de mai jos controlează politicile de redirecționare între această " +"zonă (%s) și alte zone. Zonele de destinație acoperă traficul " +"redirecționat provenit din %q. Zonele sursă se " +"potrivesc cu traficul redirecționat din alte zone destinate la %q. Regula de redirecționare este unidirecțională, de exemplu, " +"o redirecționare de la lan la wan nu implicăo permisiune de " +"redirecționare de la wan la lan." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:125 +msgid "" +"This section defines common properties of %q. The input and " +"output options set the default policies for traffic entering and " +"leaving this zone while the forward option describes the policy for " +"forwarded traffic between different networks within the zone. Covered " +"networks specifies which available networks are members of this zone." +msgstr "" +"Această secțiune definește proprietățile comune ale lui %q. Opțiunile " +"input și output stabilesc politicile implicite pentru " +"traficul care intră și iese din această zonă, în timp ce opțiunea " +"forward descrie politica pentru traficul redirecționat între " +"diferite rețele din cadrul zonei. Rețele acoperite specifică ce " +"rețele disponibile sunt membre ale acestei zone." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:484 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:357 +msgid "Thursday" +msgstr "Joi" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:184 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:183 +msgid "Time Restrictions" +msgstr "Restricţii de timp" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:518 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:391 +msgid "Time in UTC" +msgstr "Timp în UTC" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:244 +msgid "Time restrictions are enabled for this rule" +msgstr "Restricțiile de timp sunt activate pentru această regulă" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:196 +msgid "Timeout" +msgstr "Pauză" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:77 +msgid "" +"To %{dest}%{dest_device?, interface %{dest_device}}%{dest_ip?, IP " +"%{dest_ip#%{next?, }%{item.ival}
}}%{dest_port?, port %{dest_port#%{next?, }" +"%{item." +"ival}}}" +msgstr "" +"Pentru %{dest}%{dest_device?, interface %{dest_device}}%{dest_ip?, IP %{dest_ip#%{next?, }%{item.ival}}}%{dest_port?, port " +"%{dest_port#%{next?, }%{item.ival}}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:55 +msgid "" +"To %{dest}%{dest_device?, via interface %{dest_device}}%{dest_ip?, IP %{dest_ip#%{next?, }%{item.ival}}}%{dest_port?, port " +"%{dest_port#%{next?, }%{item.ival}}}" +msgstr "" +"Pentru %{dest}%{dest_device?, via interface %{dest_device}}%{dest_ip?, IP %{dest_ip#%{next?, }%{item.ival}}}%{dest_port?, port " +"%{dest_port#%{next?, }%{item.ival}}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:61 +msgid "" +"To %{dest}%{dest_ip?, IP %{dest_ip#%{next?, }%{item.ival}}}%{dest_port?, port %{dest_port#%{next?, }%{item.ival}}}" +msgstr "" +"Către %{dest}%{dest_ip?, IP %{dest_ip#%{next?, }%{item.ival}}}%{dest_port?, port %{dest_port#%{next?, }%{item.ival}}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:439 +msgid "Tracking helper" +msgstr "Ajutor pentru urmărire" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:176 +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:35 +msgid "Traffic Rules" +msgstr "Reguli de circulație" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:174 +msgid "" +"Traffic rules define policies for packets travelling between different " +"zones, for example to reject traffic between certain hosts or to open WAN " +"ports on the router." +msgstr "" +"Regulile de trafic definesc politicile pentru pachetele care călătoresc " +"între diferite zone, de exemplu pentru a respinge traficul între anumite " +"gazde sau pentru a deschide porturile WAN pe router." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:482 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:355 +msgid "Tuesday" +msgstr "Marţi" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/custom.js:19 +msgid "Unable to save contents: %s" +msgstr "Nu se poate salva conținutul: %s" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:197 +msgid "" +"Unit: seconds. Default 0 means the entry is added permanently " +"to the set.
Max: 2147483 seconds." +msgstr "" +"Unitate: secunde. Implicit 0 înseamnă că intrarea este adăugată " +"permanent la set.
Max: 2147483 secunde." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:341 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:461 +msgid "Unknown or not installed conntrack helper \"%s\"" +msgstr "Ajutor conntrack necunoscut sau neinstalat \"%s\"" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:186 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:190 +msgid "Unnamed NAT" +msgstr "Fără nume NAT" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:169 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:184 +msgid "Unnamed forward" +msgstr "Înainte fără nume" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:191 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:211 +msgid "Unnamed rule" +msgstr "Regula fără nume" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:57 +msgid "Unnamed set" +msgstr "Set fără nume" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:130 +msgid "Unnamed zone" +msgstr "Zona fără nume" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:597 +msgid "Unrecognized protocol" +msgstr "Protocol nerecunoscut" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:695 +msgid "" +"Upon pressing \"Continue\", \"redirect\" sections with target \"SNAT\" will " +"be converted to \"nat\" sections and the firewall will be restarted to apply " +"the updated configuration." +msgstr "" +"La apăsarea butonului \"Continue\", secțiunile \"redirect\" cu țintă " +"\"SNAT\" vor fi convertite în secțiuni \"nat\", iar firewall-ul va fi " +"repornit pentru a aplica configurația actualizată." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:315 +msgid "Use external IP address" +msgstr "Utilizați adresa IP externă" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:314 +msgid "Use internal IP address" +msgstr "Utilizați adresa IP internă" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:247 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:378 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:322 +msgid "Use ipset" +msgstr "Utilizați ipset" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:231 +msgid "" +"Use this option to classify zone traffic by raw, non-uci managed " +"network devices." +msgstr "" +"Utilizați această opțiune pentru a clasifica traficul de zonă prin " +"dispozitive de rețea brute, neuci gestionate." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:236 +msgid "" +"Use this option to classify zone traffic by source or destination subnet " +"instead of networks or devices." +msgstr "" +"Utilizați această opțiune pentru a clasifica traficul din zonă în funcție de " +"subnetul sursă sau destinație în loc de rețele sau dispozitive." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:331 +msgid "Valid firewall mark required" +msgstr "Este necesară o marcă de firewall validă" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:483 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:356 +msgid "Wednesday" +msgstr "Miercuri" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:475 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:348 +msgid "Week Days" +msgstr "Zilele săptămânii" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:420 +msgid "XOR firewall mark" +msgstr "XOR marca firewall" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:316 +msgid "XOR mark" +msgstr "Marcajul XOR" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:28 +msgid "Your device does not run firewall4." +msgstr "Dispozitivul nu rulează firewall4." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:26 +msgid "Your device runs firewall4." +msgstr "Dispozitivul rulează firewall4." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:143 +msgid "Zone ⇒ Forwardings" +msgstr "Zonă ⇒ Redirecționări" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:101 +msgid "Zones" +msgstr "Zone" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:320 +msgid "" +"Zones from which reflection rules shall be created. If unset, only the " +"destination zone is used." +msgstr "" +"Zonele din care se creează reguli de reflecție. Dacă nu este setată, se " +"utilizează numai zona de destinație." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:415 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:70 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:159 +msgid "accept" +msgstr "acceptă" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:268 +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:463 +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:486 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:270 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:301 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:328 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:392 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:407 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:441 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:448 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:266 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:282 +msgid "any" +msgstr "oricare" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:53 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:86 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:65 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:78 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:46 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:56 +msgid "any zone" +msgstr "orice zona" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:298 +msgid "any/all" +msgstr "orice/toate" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:419 +msgid "apply firewall mark" +msgstr "aplică marcajul firewall" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:418 +msgid "assign conntrack helper" +msgstr "atribuirea ajutorului conntrack" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:194 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:222 +msgid "automatic" +msgstr "automat" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:131 +msgid "bitmap" +msgstr "bitmap" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:137 +msgid "bitmap is ipv4 only" +msgstr "bitmap este doar ipv4" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:72 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:89 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:67 +msgid "day" +msgstr "zi" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:93 +msgid "dest_ip: Destination IP" +msgstr "dest_ip: IP-ul destinației" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:95 +msgid "dest_mac: Destination MAC addr" +msgstr "dest_mac: Destinație adresa MAC" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:96 +msgid "dest_net: Destination (sub)net" +msgstr "dest_net: Destinație (sub)net" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:94 +msgid "dest_port: Destination Port" +msgstr "dest_port:Destinatie port" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:98 +msgid "dest_set: Destination ipset*" +msgstr "dest_set: Destinație ipset*" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:315 +msgid "do not rewrite" +msgstr "nu rescrieți" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:417 +msgid "don't track" +msgstr "nu urmăriți" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:414 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:69 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:158 +msgid "drop" +msgstr "picătură" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:21 +msgid "" +"firewall4 supports referencing and creating IP sets to simplify matching of " +"large address lists without the need to create one rule per item to match. " +"Port ranges in ipsets are unsupported by firewall4.
" +msgstr "" +"firewall4 acceptă corelarea și crearea de seturi IP pentru a simplifica " +"potrivirea listelor de adrese mari, fără a fi nevoie să creați o regulă " +"pentru fiecare element pentru a se potrivi. Intervalele de porturi din " +"ipsets nu sunt acceptate de firewall4.
" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:159 +msgid "fromport-toport" +msgstr "de la port la port" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:132 +msgid "hash" +msgstr "hash" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:72 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:89 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:67 +msgid "hour" +msgstr "oră" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:81 +msgid "ip: IP addr" +msgstr "ip: Adresă IP" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:153 +msgid "ip[/cidr]
" +msgstr "IP[/cidr]
" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:145 +msgid "ip[/cidr]
For use with Match datatypes: *_ip." +msgstr "" +"ip[/cidr]
Pentru utilizare cu tipurile de date Match: *_ip." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:70 +msgid "ipv4" +msgstr "ipv4" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:133 +msgid "list" +msgstr "listă" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:83 +msgid "mac: MAC addr" +msgstr "mac: Adresă MAC" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:108 +msgid "macaddr|ip[/cidr]
" +msgstr "macaddr|ip[/cidr]
" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:72 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:89 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:67 +msgid "minute" +msgstr "minut" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:84 +msgid "net: (sub)net" +msgstr "net: (sub)net" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:82 +msgid "port: Port" +msgstr "port: Port" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:416 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:68 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:157 +msgid "reject" +msgstr "respingeți" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:72 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:89 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:67 +msgid "second" +msgstr "secundă" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:86 +msgid "set: ipset*" +msgstr "set: ipset *" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:92 +msgid "src_Set: Source ipset*" +msgstr "src_Set: Sursa ipset *" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:87 +msgid "src_ip: Source IP" +msgstr "src_ip: IP sursă" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:89 +msgid "src_mac: Source MAC addr" +msgstr "src_mac: Adresă MAC sursă" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:90 +msgid "src_net: Source (sub)net" +msgstr "src_net: (sub)rețea sursă" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:88 +msgid "src_port: Source Port" +msgstr "src_port: Port sursă" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:53 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:62 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:86 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:65 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:78 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:56 +msgid "this device" +msgstr "acest dispozitiv" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:124 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:226 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:339 +msgid "this new zone" +msgstr "această nouă zonă" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:354 +msgid "unlimited" +msgstr "nelimitat" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:251 +msgid "unspecified" +msgstr "nespecificat" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:114 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:173 +msgid "up to 65536 entries." +msgstr "până la 65536 intrări." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:339 +msgid "valid firewall mark" +msgstr "marca de firewall validă" + +#~ msgid "Software based offloading for routing/NAT" +#~ msgstr "Descărcarea bazată pe software pentru rutare/NAT" + +#~ msgid "" +#~ "Enable network address and port translation (NAT or NAPT) for outbound " +#~ "traffic on this zone. This is typically enabled on the wan zone." +#~ msgstr "" +#~ "Activați traducerea adreselor de rețea și a porturilor (NAT sau NAPT) " +#~ "pentru traficul de ieșire din această zonă. Acest lucru este activat de " +#~ "obicei pe wan zonă." + +#~ msgid "" +#~ "Forwarded IPv4%{proto?, protocol %{proto#%{next?, }%{item.name}}}%{mark?, mark %{mark." +#~ "val}}" +#~ msgstr "" +#~ "Redirecționat IPv4%{proto?, protocol %{proto#%{next?, }%{item.name}}}%{mark?, mark %{mark.val}}" + +#~ msgid "" +#~ "Incoming IPv4%{proto?, protocol %{proto#%{next?, }%{item.types?%{item.name}ICMP with types %{item.types#%{next?, }%{item}}:%{item.name}}}}%{mark?, mark %{mark.val}}%{helper?, helper %{helper.inv?%{helper.val}:%{helper.val}" +#~ "}}" +#~ msgstr "" +#~ "Intrând IPv4%{proto?, protocol %{proto#%{next?, }%{item.types?%{item.name}ICMP with types %{item.types#%{next?, }%{item}}:%{item.name}}}}%{mark?, mark %{mark.val}}%{helper?, helper %{helper.inv?%{helper.val}:%{helper.val}" +#~ "}}" diff --git a/luci-app-firewall/po/ru/firewall.po b/luci-app-firewall/po/ru/firewall.po new file mode 100644 index 000000000..b5330629f --- /dev/null +++ b/luci-app-firewall/po/ru/firewall.po @@ -0,0 +1,1678 @@ +msgid "" +msgstr "" +"Project-Id-Version: LuCI: firewall\n" +"POT-Creation-Date: 2013-09-05 16:02+0200\n" +"PO-Revision-Date: 2024-10-30 02:45+0000\n" +"Last-Translator: sergio \n" +"Language-Team: Russian \n" +"Language: ru\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && " +"n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" +"X-Generator: Weblate 5.8.2-dev\n" +"Project-Info: Это технический перевод, не дословный. Главное-удобный русский " +"интерфейс, все проверялось в графическом режиме, совместим с другими apps\n" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:48 +msgid "" +"%{src?%{dest?Forwarded:Incoming}:Outgoing} %{ipv6?%{ipv4?IPv4 and " +"IPv6:IPv6}:IPv4}%{proto?, protocol " +"%{proto#%{next?, }%{item.types?%{item." +"name}ICMP with types %{item.types#%{next?, }" +"%{item}}:%{item.name}}}}%{mark?, mark " +"%{mark.val}}%{dscp?, DSCP %{dscp." +"inv?%{dscp.val}:%{dscp.val}}}%{helper?, helper " +"%{helper.inv?%{helper.val}:%{helper." +"val}}}" +msgstr "" +"%{src?%{dest?Перенаправление:Входящий}:Исходящий} %{ipv6?%{ipv4?IPv4 и IPv6:IPv6}:IPv4}%{proto?, протокол " +"%{proto#%{next?, }%{item.types?%{item." +"name}ICMP с типами %{item.types#%{next?, }" +"%{item}}:%{item.name}}}}%{mark?, метка " +"%{mark.val}}%{dscp?, DSCP %{dscp.inv?%{dscp.val}:" +"%{dscp.val}}}%{helper?, помощник %{helper.inv?%{helper.val}:%{helper.val}}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:463 +msgid "-- add IP --" +msgstr "-- добавить IP-адрес --" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:521 +msgid "-- add MAC --" +msgstr "-- добавить MAC-адрес --" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:199 +msgid "0" +msgstr "0" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:182 +msgid "1024" +msgstr "1024" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:118 +msgid "" +"Accept %{src?%{dest?forward:input}:output}" +msgstr "" +"Разрешить %{src?%{dest?перенаправляемый:" +"входящий}:исходящий} трафик" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:93 +msgid "Prevent source rewrite" +msgstr "Предотвращать перезапись источника" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:85 +msgid "" +"Forward to %{dest}%{dest_ip? IP " +"%{dest_ip}}%{dest_port? port %{dest_port}}" +msgstr "" +"Перенаправлять на %{dest}%{dest_ip? IP-" +"адрес %{dest_ip}}%{dest_port? порт %{dest_port}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:115 +msgid "" +"Drop %{src?%{dest?forward:input}:output}" +msgstr "" +"Отбрасывать %{src?%{dest?перенаправляемый:" +"входящий}:исходящий} трафик" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:133 +msgid "" +"Assign DSCP classification %{set_dscp}" +"" +msgstr "" +"Назначить DSCP классификатор " +"%{set_dscp}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:127 +msgid "" +"Assign conntrack helper " +"%{set_helper}" +msgstr "" +"Назначить помощника отслеживания " +"соединений %{set_helper}" +"" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:130 +msgid "" +"%{set_mark?Assign:XOR} firewall mark " +"%{set_mark?:%{set_xmark}}" +msgstr "" +"%{set_mark?Назначить метку:XOR метки} " +"брандмауэра %{set_mark?:%{set_xmark}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:90 +msgid "Automatically rewrite source IP" +msgstr "" +"Автоматически перезаписывать IP-адрес " +"источника" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:124 +msgid "" +"Do not track %{src?%{dest?forward:input}:" +"output}" +msgstr "" +"Не отслеживать %{src?%{dest?" +"перенаправляемый:входящий}:исходящий} трафик" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:121 +msgid "" +"Reject %{src?%{dest?forward:input}:output}" +msgstr "" +"Отклонять %{src?%{dest?перенаправляемый:" +"входящий}:исходящий} трафик" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:87 +msgid "" +"Statically rewrite to source %{snat_ip?IP " +"%{snat_ip}} %{snat_port?port %{snat_port}}" +msgstr "" +"Статически переписывать %{snat_ip?IP-адрес " +"источника на %{snat_ip}} %{snat_port?порт источника на " +"%{snat_port}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:306 +msgid "A rewrite IP must be specified!" +msgstr "IP-адрес для перезаписи должен быть указан!" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:292 +msgid "ACCEPT - Disable address rewriting" +msgstr "ACCEPT — отключить перезапись адреса" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:224 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:225 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:411 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:204 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:287 +msgid "Action" +msgstr "Действие" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:322 +msgid "" +"Additional raw iptables arguments to classify zone destination " +"traffic, e.g. -p tcp --dport 443 to only match outbound HTTPS " +"traffic." +msgstr "" +"Дополнительные аргументы iptables для классификации трафика зоны " +"назначения, например -p tcp --dport 443 для соответствия только " +"исходящему HTTPS-трафику." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:312 +msgid "" +"Additional raw iptables arguments to classify zone source traffic, " +"e.g. -p tcp --sport 443 to only match inbound HTTPS traffic." +msgstr "" +"Дополнительные аргументы iptables для классификации трафика зоны " +"источника, например -p tcp --sport 443 для соответствия только " +"входящему HTTPS-трафику." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:107 +msgid "Address family, Internal IP address must match" +msgstr "Внутренний IP-адрес должен соответствовать выбранной версии IP" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:135 +msgid "" +"Address family, source address, destination address, rewrite IP address must " +"match" +msgstr "Адреса источника, назначения и перезаписи должны быть одной версии IP" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:162 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:183 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:182 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:114 +msgid "Advanced Settings" +msgstr "Расширеные настройки" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:283 +msgid "Allow \"invalid\" traffic" +msgstr "Разрешить «недействительный» трафик" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:385 +msgid "Allow forward from source zones:" +msgstr "Разрешить перенаправление из 'зон источников':" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:344 +msgid "Allow forward to destination zones:" +msgstr "Разрешить перенаправление в 'зоны назначения':" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:551 +msgid "Any" +msgstr "Любой" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:479 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:495 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:352 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:368 +msgid "Any day" +msgstr "Любой день" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:317 +msgid "" +"Apply a bitwise XOR of the given value and the existing mark value on " +"established connections. Format is value[/mask]. If a mask is specified then " +"those bits set in the mask are zeroed out." +msgstr "" +"Применить побитовую операцию XOR заданного значения и существующего значения " +"метки для уже установленных соединений. Формат — значение[/маска]. Если " +"задана маска, то биты, заданные в маске, обнуляются." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:264 +msgid "Apply the given DSCP class or value to established connections." +msgstr "" +"Применить заданный класс DSCP или значение к установленным соединениям." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:439 +msgid "Assign the specified connection tracking helper to matched traffic." +msgstr "" +"Назначить указанного помощника отслеживания соединений для соответствующего " +"трафика." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:286 +msgid "Automatic helper assignment" +msgstr "Автоматическое назначение помощников" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:286 +msgid "" +"Automatically assign conntrack helpers based on traffic protocol and port" +msgstr "" +"Автоматическое назначение помощников отслеживания соединений (conntrack) на " +"основе протокола и порта трафика" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:61 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:62 +msgid "Comment" +msgstr "Комментарий" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:115 +msgid "Conntrack Settings" +msgstr "Отслеживание соединений (conntrack)" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:290 +msgid "Conntrack helpers" +msgstr "Помощники отслеживания соединений" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/custom.js:16 +msgid "Contents have been saved." +msgstr "Содержимое сохранено." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:700 +msgid "Continue" +msgstr "Продолжить" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:204 +msgid "Counters" +msgstr "Счетчики" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:231 +msgid "Covered devices" +msgstr "Охватываемые устройства" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:183 +msgid "Covered networks" +msgstr "Охватываемые сети" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:236 +msgid "Covered subnets" +msgstr "Охватываемые подсети" + +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:62 +msgid "Custom Rules" +msgstr "Пользовательские правила" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/custom.js:26 +msgid "" +"Custom rules allow you to execute arbitrary iptables commands which are not " +"otherwise covered by the firewall framework. The commands are executed after " +"each firewall restart, right after the default ruleset has been loaded." +msgstr "" +"Пользовательские правила позволяют выполнять произвольные команды iptables, " +"которые не охвачены рамками межсетевого экрана. Команды выполняются после " +"каждой перезагрузки межсетевого экрана, сразу после загрузки набора правил " +"по умолчанию." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:421 +msgid "DSCP classification" +msgstr "DSCP классификация" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:263 +msgid "DSCP mark" +msgstr "DSCP метка" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:297 +msgid "DSCP mark required" +msgstr "Требуется DSCP метка" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:402 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:270 +msgid "Destination address" +msgstr "Адрес назначения" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:404 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:278 +msgid "Destination port" +msgstr "Порт назначения" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:396 +msgid "Destination zone" +msgstr "Зона назначения" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:269 +msgid "Device name" +msgstr "Имя устройства" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:283 +msgid "" +"Do not install extra rules to reject forwarded traffic with conntrack state " +"invalid. This may be required for complex asymmetric route setups." +msgstr "" +"Не устанавливать дополнительные правила для отклонения перенаправляемого " +"трафика с состоянием недействительный (invalid). Это может " +"потребоваться для сложных настроек асимметричной маршрутизации." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:59 +msgid "Drop invalid packets" +msgstr "Отбрасывать некорректные пакеты" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:232 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:231 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:210 +msgid "Enable" +msgstr "Включить" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:306 +msgid "Enable NAT Loopback" +msgstr "Включить NAT Loopback" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:45 +msgid "Enable SYN-flood protection" +msgstr "Включить защиту от SYN-flood атак" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:296 +msgid "Enable logging on this zone" +msgstr "Включить журналирование в этой зоне" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:168 +msgid "" +"Enable network address and port translation IPv4 (NAT4 or NAPT4) for " +"outbound traffic on this zone. This is typically enabled on the wan " +"zone." +msgstr "" +"Включите трансляцию сетевых адресов и портов IPv4 (NAT4 или NAPT4) для " +"исходящего трафика в этой зоне. Обычно это включается в зоне wan." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:243 +msgid "" +"Enable network address and port translation IPv6 (NAT6 or NAPT6) for " +"outbound traffic on this zone." +msgstr "" +"Включите трансляцию сетевых адресов и портов IPv6 (NAT6 или NAPT6) для " +"исходящего трафика в этой зоне." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:211 +msgid "Enabled" +msgstr "Включен" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:205 +msgid "Enables packet and byte count tracking for the set." +msgstr "Включает отслеживание количества пакетов и байтов для набора." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:339 +msgid "Expecting: %s" +msgstr "Ожидание: %s" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:290 +msgid "Explicitly choses allowed connection tracking helpers for zone traffic" +msgstr "" +"Явно определяет допустимые варианты помощников (helpers) отслеживания " +"соединений (connection tracking) трафика в зоне" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:274 +msgid "External IP address" +msgstr "Внешний IP-адрес" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:279 +msgid "External port" +msgstr "Внешний порт" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:349 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:470 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:342 +msgid "Extra arguments" +msgstr "Дополнительные аргументы" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:322 +msgid "Extra destination arguments" +msgstr "Дополнительные аргументы для назначения" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:116 +msgid "Extra iptables arguments" +msgstr "Дополнительные аргументы iptables" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:312 +msgid "Extra source arguments" +msgstr "Дополнительные аргументы для источника" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:67 +msgid "Family" +msgstr "Семейство" + +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:3 +msgid "Firewall" +msgstr "Межсетевой экран" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/custom.js:25 +msgid "Firewall - Custom Rules" +msgstr "Межсетевой экран - Пользовательские правила" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:20 +msgid "Firewall - IP sets" +msgstr "Брандмауэр - наборы IP-адресов" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:172 +msgid "Firewall - NAT Rules" +msgstr "Межсетевой экран - Правила NAT" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:152 +msgid "Firewall - Port Forwards" +msgstr "Межсетевой экран - Перенаправление портов" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:173 +msgid "Firewall - Traffic Rules" +msgstr "Межсетевой экран - Правила для трафика" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:38 +msgid "Firewall - Zone Settings" +msgstr "Межсетевой экран - Настройка зон" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:693 +msgid "Firewall configuration migration" +msgstr "Миграция конфигурации межсетевого экрана" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:82 +msgid "Flow offloading type" +msgstr "Тип разгрузки потока" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:64 +msgid "Forward" +msgstr "Перенаправление" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:34 +msgid "" +"Forwarded %{ipv6?%{ipv4?IPv4 and IPv6:IPv6}:" +"IPv4}%{proto?, protocol %{proto#%{next?, }%{item.name}}}%{mark?, mark %{mark.val}" +"}" +msgstr "" +"Перенаправление %{ipv6?%{ipv4?IPv4 и IPv6:IPv6}:IPv4}%{proto?, протокол %{proto#%{next?, }%{item.name}" +"}}%{mark?, пометка %{mark.val}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:485 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:358 +msgid "Friday" +msgstr "Пятница" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:45 +msgid "" +"From %{src}%{src_device?, interface %{src_device}}%{src_ip?, IP " +"%{src_ip#%{next?, }%{item.ival}}}%{src_port?, port %{src_port#%{next?, }" +"%{item." +"ival}}}" +msgstr "" +"Из %{src}%{src_device?, интерфейс %{src_device}}%{src_ip?, IP-" +"адрес %{src_ip#%{next?, }%{item.ival}}}%{src_port?, порт " +"%{src_port#%{next?, }%{item.ival}}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:64 +msgid "" +"From %{src}%{src_device?, interface %{src_device}}%{src_ip?, IP " +"%{src_ip#%{next?, }%{item.ival}}}%{src_port?, port %{src_port#%{next?, }" +"%{item." +"ival}}}%{src_mac?, MAC %{src_mac#%{next?, }%{item.ival}" +"}}" +msgstr "" +"Из %{src}%{src_device?, интерфейс %{src_device}}%{src_ip?, IP-" +"адрес %{src_ip#%{next?, }%{item.ival}}}%{src_port?, порт " +"%{src_port#%{next?, }%{item.ival}}}%{src_mac?, MAC-адрес " +"%{src_mac#%{next?, }%{item.ival}}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:52 +msgid "" +"From %{src}%{src_ip?, IP %{src_ip#%{next?, }%{item.ival}}}%{src_port?, port %{src_port#%{next?, }%{item.ival}}}%{src_mac?, " +"MAC %{src_mac#%{next?, }%{item.ival}}}" +msgstr "" +"Из %{src}%{src_ip?, IP-адрес %{src_ip#%{next?, }%{item.ival}}}%{src_port?, порт %{src_port#%{next?, }%{item.ival}}}%{src_mac?, MAC-адрес %{src_mac#%{next?, }%{item.ival}}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:161 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:182 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:181 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:41 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:113 +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:17 +msgid "General Settings" +msgstr "Основные Настройки" + +#: applications/luci-app-firewall/root/usr/share/rpcd/acl.d/luci-app-firewall.json:3 +msgid "Grant access to firewall configuration" +msgstr "Разрешить конфигурировать брандмауер" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:85 +msgid "Hardware based offloading for routing with/without NAT." +msgstr "Аппаратная разгрузка для маршрутизации с/без NAT." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:85 +msgid "Hardware flow offloading" +msgstr "Аппаратная разгрузка потока" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:144 +msgid "IP (range)" +msgstr "IP (диапазон)" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:32 +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:53 +msgid "IP Sets" +msgstr "Наборы IP-адресов" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:152 +msgid "IPs/Networks" +msgstr "IP-адреса/сети" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:107 +msgid "IPs/Networks/MACs" +msgstr "IP-адреса/сети/MAC" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:68 +msgid "IPv4" +msgstr "IPv4" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:191 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:280 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:219 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:256 +msgid "IPv4 and IPv6" +msgstr "IPv4 и IPv6" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:192 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:281 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:220 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:257 +msgid "IPv4 only" +msgstr "Только IPv4" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:69 +msgid "IPv6" +msgstr "IPv6" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:242 +msgid "IPv6 Masquerading" +msgstr "Маскарадинг IPv6" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:193 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:282 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:221 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:258 +msgid "IPv6 only" +msgstr "Только IPv6" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:252 +msgid "Inbound device" +msgstr "Входящее устройство" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:187 +msgid "Include File" +msgstr "Файл включения" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:40 +msgid "" +"Incoming %{ipv6?%{ipv4?IPv4 and IPv6:IPv6}:" +"IPv4}%{proto?, protocol %{proto#%{next?, }%{item.types?%{item.name}ICMP " +"with types %{item.types#%{next?, }%{item}}:" +"%{item.name}}}}%{mark?, mark %{mark.val}}%{helper?, helper %{helper.inv?%{helper.val}:%{helper.val}}}" +msgstr "" +"Входящий %{ipv6?%{ipv4?IPv4 и IPv6:IPv6}:" +"IPv4}%{proto?, протокол %{proto#%{next?, }%{item.types?%{item.name}ICMP " +"с типами %{item.types#%{next?, }%{item}}:%{item." +"name}}}}%{mark?, пометка %{mark.val}}%{helper?, помощник %{helper.inv?%{helper.val}:%{helper.val}}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:180 +msgid "Initial Hash Size" +msgstr "Начальный размер хэша" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:62 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:151 +msgid "Input" +msgstr "Входящий трафик" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:292 +msgid "Internal IP address" +msgstr "Внутренний IP-адрес" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:297 +msgid "Internal port" +msgstr "Внутренний порт" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:287 +msgid "Internal zone" +msgstr "Внутренняя зона" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:153 +msgid "Intra zone forward" +msgstr "Внутризональная пересылка" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:305 +msgid "Invalid DSCP mark" +msgstr "Неверная DSCP метка" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:373 +msgid "Invalid limit value" +msgstr "Неверное значение ограничения" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:47 +msgid "Invalid set name" +msgstr "Недопустимое имя набора" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:383 +msgid "Limit burst" +msgstr "Ограничение барста (burst)" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:299 +msgid "Limit log messages" +msgstr "Ограничить журнал сообщений" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:349 +msgid "Limit matching" +msgstr "Соответствие по ограничениям" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:79 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:96 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:74 +msgid "" +"Limit matching to %{limit.num} packets per %{limit.unit}%{limit.burst? burst %{limit.burst}}" +msgstr "" +"Ограничение до %{limit.num} пакетов в %{limit.unit}%{limit.burst? барст (burst) %{limit.burst}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:175 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:250 +msgid "Limited masquerading enabled" +msgstr "Включены ограничения маскарадинга" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:350 +msgid "Limits traffic matching to the specified rate." +msgstr "Ограничивает сопоставление трафика указанной скорости." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:311 +msgid "Loopback source IP" +msgstr "IP-адрес источника петли (Loopback)" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:291 +msgid "MASQUERADE - Automatically rewrite to outbound interface IP" +msgstr "" +"MASQUERADE — автоматически переписывать на IP-адрес исходящего интерфейса" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:180 +msgid "MSS clamping" +msgstr "Ограничение MSS" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:167 +msgid "Masquerading" +msgstr "Маскарадинг" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:213 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:214 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:193 +msgid "Match" +msgstr "Соответствие" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:263 +msgid "Match DSCP" +msgstr "Соответствие DSCP" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:293 +msgid "Match ICMP type" +msgstr "Соответствие ICMP типу" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:249 +msgid "Match device" +msgstr "Соответствие устройству" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:271 +msgid "Match forwarded traffic directed at the given IP address." +msgstr "" +"Соответствие перенаправляемого трафика, направленного на заданный IP-адрес." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:279 +msgid "" +"Match forwarded traffic directed at the given destination port or port range." +msgstr "" +"Соответствие перенаправляемого трафика, направленного на заданный порт " +"назначения или диапазон портов." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:254 +msgid "Match forwarded traffic from this IP or range." +msgstr "" +"Соответствие перенаправляемого трафика от данного IP-адреса или диапазона." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:262 +msgid "" +"Match forwarded traffic originating from the given source port or port range." +msgstr "" +"Соответствие перенаправляемого трафика, исходящего от заданного порта " +"источника или диапазона портов." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:326 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:446 +msgid "Match helper" +msgstr "Соответствие помощнику" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:280 +msgid "" +"Match incoming traffic directed at the given destination port or port range " +"on this host" +msgstr "" +"Порт или диапазон портов, входящие подключения на который будут " +"перенаправляться на внутренний порт внутреннего IP-адреса (см. ниже)" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:316 +msgid "Match mark" +msgstr "Соответствие метки" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:326 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:446 +msgid "Match traffic using the specified connection tracking helper." +msgstr "" +"Сопоставление трафика с помощью указанного помощника отслеживания соединений." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:319 +msgid "Matches a specific firewall mark or a range of different marks." +msgstr "" +"Соответствие определённой метке брандмауэра или диапазона различных меток." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:332 +msgid "Matches forwarded traffic using the specified outbound network device." +msgstr "" +"Соответствие перенаправляемого трафика, использующего указанное исходящее " +"сетевое устройство." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:264 +msgid "Matches traffic carrying the specified DSCP marking." +msgstr "Сопоставляет трафик с указанной DSCP-маркировкой." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:113 +msgid "Max Entries" +msgstr "Максимальное количество записей" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:172 +msgid "Max Length" +msgstr "Максимальная длина" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:384 +msgid "" +"Maximum initial number of packets to match: this number gets recharged by " +"one every time the limit specified above is not reached, up to this number." +msgstr "" +"Максимальное начальное количество совпадающих пакетов: это число будет " +"пополняться на один каждый раз, когда лимит, указанный выше, не будет " +"достигнут, вплоть до этого числа." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:481 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:354 +msgid "Monday" +msgstr "Понедельник" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:491 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:364 +msgid "Month Days" +msgstr "Дни месяца" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:175 +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:44 +msgid "NAT Rules" +msgstr "Правила NAT" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:173 +msgid "" +"NAT rules allow fine grained control over the source IP to use for outbound " +"or forwarded traffic." +msgstr "" +"Правила NAT позволяют точно контролировать IP-адрес источника в исходящем " +"или перенаправляемом трафике." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:183 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:42 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:52 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:210 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:189 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:129 +msgid "Name" +msgstr "Название" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:166 +msgid "Netmask" +msgstr "Маска сети" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:83 +msgid "None" +msgstr "Отсутствует" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:77 +msgid "Not fully compatible with QoS/SQM." +msgstr "Не полностью совместим с QoS/SQM." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:275 +msgid "Only match incoming traffic directed at the given IP address." +msgstr "" +"Применять правило только для входящих подключений на указанный IP-адрес." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:256 +msgid "Only match incoming traffic from these MACs." +msgstr "Применять правило только для входящего трафика от этих MAC-адресов." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:261 +msgid "Only match incoming traffic from this IP or range." +msgstr "" +"Применять правило только для входящего трафика от этого IP-адреса или " +"диапазона адресов." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:266 +msgid "" +"Only match incoming traffic originating from the given source port or port " +"range on the client host" +msgstr "" +"Применять правило только для входящего трафика от указанного порта или " +"диапазона портов клиентского хоста" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:253 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:331 +msgid "Outbound device" +msgstr "Исходящее устройство" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:246 +msgid "Outbound zone" +msgstr "Исходящая зона" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:63 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:152 +msgid "Output" +msgstr "Исходящий трафик" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:75 +msgid "Packet Field Match" +msgstr "Соответствие поля пакета" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:76 +msgid "" +"Packet fields to match upon.
Syntax: direction_datatype. e.g.: " +"src_port, dest_net.
Directions: src, dst. " +"Datatypes: ip, port, mac, net, set.
Direction prefixes are " +"optional.
*Note: datatype set is unsupported in fw4." +msgstr "" +"Поля пакета для сопоставления.
Синтаксис: direction_datatype. " +"например: src_port, dest_net.
Направления: src, dst. Типы данных: ip, port, mac, net, set.
Префиксы " +"направления необязательны.
*Примечание: тип данных set не " +"поддерживается в fw4." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:350 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:471 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:343 +msgid "Passes additional arguments to iptables. Use with care!" +msgstr "" +"Передаёт дополнительные аргументы таблице iptables. Используйте с " +"осторожностью!" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:309 +msgid "" +"Passing raw iptables arguments to source and destination traffic " +"classification rules allows to match packets based on other criteria than " +"interfaces or subnets. These options should be used with extreme care as " +"invalid values could render the firewall ruleset broken, completely exposing " +"all services." +msgstr "" +"Передача аргументов iptables в правилах классификации входящего и исходящего " +"трафика позволяет сопоставлять пакеты, основанные на других критериях, " +"нежели чем интерфейсы или подсети. Эти опции следует использовать с особой " +"осторожностью, так как неверные значения могут привести к нарушению работы " +"правил межсетевого экрана, полностью открывая доступ ко всем службам системы." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:188 +msgid "Path to file of CIDRs, subnets, host IPs, etc.
" +msgstr "Путь к файлу с CIDR, подсетями, IP-адресами хостов и т.д.
" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:155 +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:26 +msgid "Port Forwards" +msgstr "Перенаправление портов" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:153 +msgid "" +"Port forwarding allows remote computers on the Internet to connect to a " +"specific computer or service within the private LAN." +msgstr "" +"Перенаправленные портов позволяет удалённым компьютерам из Интернета " +"соединяться с компьютером или службой внутри частной локальной сети." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:158 +msgid "Port range" +msgstr "Диапазон портов" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:237 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:289 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:242 +msgid "Protocol" +msgstr "Протокол" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:298 +msgid "" +"Redirect matched incoming traffic to the given port on the internal host" +msgstr "" +"Перенаправлять трафик на указанный порт или диапазон портов внутреннего IP-" +"адреса" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:293 +msgid "Redirect matched incoming traffic to the specified internal host" +msgstr "Перенаправлять трафик на указанный IP-адрес" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:122 +msgid "Refer To External Set" +msgstr "Обращение к внешнему набору" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:320 +msgid "Reflection zones" +msgstr "Зоны отражения" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:85 +msgid "Requires hardware NAT support." +msgstr "Требуется аппаратная поддержка NAT." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:272 +msgid "Restrict Masquerading to given destination subnets" +msgstr "Использовать маскарадинг только для указанных подсетей-получателей" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:261 +msgid "Restrict Masquerading to given source subnets" +msgstr "Использовать маскарадинг только для указанных подсетей-отправителей" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:188 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:277 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:216 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:255 +msgid "Restrict to address family" +msgstr "Использовать протокол" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:297 +msgid "Rewrite IP address" +msgstr "IP-адрес для перезаписи" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:298 +msgid "Rewrite matched traffic to the specified source IP address." +msgstr "Перезаписать соответствующий трафик на указанный IP-адрес источника." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:312 +msgid "Rewrite matched traffic to the specified source port or port range." +msgstr "" +"Перезаписать соответствующий трафик на указанный порт источника или диапазон " +"портов." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:311 +msgid "Rewrite port" +msgstr "Порт для перезаписи" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:76 +msgid "Routing/NAT Offloading" +msgstr "Маршрутизация/NAT offloading" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:290 +msgid "SNAT - Rewrite to specific source IP or port" +msgstr "SNAT — перезаписать на указанный IP-адрес источника или порт" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:486 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:359 +msgid "Saturday" +msgstr "Суббота" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:316 +msgid "Set mark" +msgstr "Установить метку" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:318 +msgid "" +"Set the given mark value on established connections. Format is value[/mask]. " +"If a mask is specified then only those bits set in the mask are modified." +msgstr "" +"Значение метки для уже установленных соединений. Формат — значение[/маска]. " +"Если указана маска, то изменяются только те биты, которые установлены в " +"маске." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:84 +msgid "Software based offloading for routing/NAT." +msgstr "Программная разгрузка для маршрутизации/NAT." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:84 +msgid "Software flow offloading" +msgstr "Программный flow offloading" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:260 +msgid "Source IP address" +msgstr "IP-адрес источника" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:255 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:386 +msgid "Source MAC address" +msgstr "MAC-адрес источника" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:387 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:253 +msgid "Source address" +msgstr "Адрес источника" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:265 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:389 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:261 +msgid "Source port" +msgstr "Порт источника" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:241 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:372 +msgid "Source zone" +msgstr "Зона источника" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:270 +msgid "" +"Specifies whether to tie this traffic rule to a specific inbound or outbound " +"network device." +msgstr "" +"Определяет, привязывать ли это правило трафика к конкретному входящему или " +"исходящему сетевому устройству." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:311 +msgid "" +"Specifies whether to use the external or the internal IP address for " +"reflected traffic." +msgstr "" +"Определяет, использовать внешний или внутренний IP-адрес для отраженного " +"трафика." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:510 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:383 +msgid "Start Date (yyyy-mm-dd)" +msgstr "Дата начала (год-мес-день)" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:502 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:375 +msgid "Start Time (hh:mm:ss)" +msgstr "Время начала (чч:мм:сс)" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:514 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:387 +msgid "Stop Date (yyyy-mm-dd)" +msgstr "Дата окончания (год-мес-день)" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:506 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:379 +msgid "Stop Time (hh:mm:ss)" +msgstr "Время окончания (чч:мм:сс)" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:130 +msgid "Storage Method" +msgstr "Метод хранения" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:480 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:353 +msgid "Sunday" +msgstr "Воскресенье" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:694 +msgid "" +"The existing firewall configuration needs to be changed for LuCI to function " +"properly." +msgstr "" +"Для правильной работы LuCI необходимо изменить существующую конфигурацию " +"межсетевого экрана." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:39 +msgid "" +"The firewall creates zones over your network interfaces to control network " +"traffic flow." +msgstr "Межсетевой экран создает зоны в вашей сети для контроля трафика." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:227 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:340 +msgid "" +"The options below control the forwarding policies between this zone (%s) and " +"other zones. Destination zones cover forwarded traffic " +"originating from %q. Source zones match forwarded " +"traffic from other zones targeted at %q. The forwarding " +"rule is unidirectional, e.g. a forward from lan to wan does " +"not imply a permission to forward from wan to lan as well." +msgstr "" +"Данные настройки управляют политиками перенаправления трафика между этой " +"(%s) и другими зонами. Трафиком 'зон-назначения' является " +"перенаправленный трафик 'исходящий из %q'. Трафиком " +"'зон-источников' является трафик 'направленый в %q'. Перенаправление является 'однонаправленным', то есть " +"перенаправление из lan в wan 'не' допускает перенаправление трафика " +"из wan в lan." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:125 +msgid "" +"This section defines common properties of %q. The input and " +"output options set the default policies for traffic entering and " +"leaving this zone while the forward option describes the policy for " +"forwarded traffic between different networks within the zone. Covered " +"networks specifies which available networks are members of this zone." +msgstr "" +"Страница содержит общие свойства %q. Режимы 'Входящий трафик' и " +"'Исходящий трафик' устанавливают политики по умолчанию для трафика, " +"поступающего и покидающего эту зону, в то время как режим " +"'Перенаправление' описывает политику перенаправления трафика между " +"различными сетями внутри зоны. 'Использовать сети' указывает, какие " +"доступные сети являются членами этой зоны." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:484 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:357 +msgid "Thursday" +msgstr "Четверг" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:184 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:183 +msgid "Time Restrictions" +msgstr "Временные ограничения" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:518 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:391 +msgid "Time in UTC" +msgstr "Время UTC" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:244 +msgid "Time restrictions are enabled for this rule" +msgstr "Для правила включены временные ограничения" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:196 +msgid "Timeout" +msgstr "Тайм-аут" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:77 +msgid "" +"To %{dest}%{dest_device?, interface %{dest_device}}%{dest_ip?, IP " +"%{dest_ip#%{next?, }%{item.ival}
}}%{dest_port?, port %{dest_port#%{next?, }" +"%{item." +"ival}
}}" +msgstr "" +"В %{dest}%{dest_device?, интерфейс %{dest_device}}%{dest_ip?, IP-" +"адрес %{dest_ip#%{next?, }%{item.ival}
}}%{dest_port?, порт " +"%{dest_port#%{next?, }%{item.ival}}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:55 +msgid "" +"To %{dest}%{dest_device?, via interface %{dest_device}}%{dest_ip?, IP %{dest_ip#%{next?, }%{item.ival}}}%{dest_port?, port " +"%{dest_port#%{next?, }%{item.ival}}}" +msgstr "" +"В %{dest}%{dest_device?, через интерфейс %{dest_device}}%{dest_ip?, IP-адрес %{dest_ip#%{next?, }%{item.ival}}}%{dest_port?, порт %{dest_port#%{next?, }%{item.ival}}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:61 +msgid "" +"To %{dest}%{dest_ip?, IP %{dest_ip#%{next?, }%{item.ival}}}%{dest_port?, port %{dest_port#%{next?, }%{item.ival}}}" +msgstr "" +"В %{dest}%{dest_ip?, IP-адрес %{dest_ip#%{next?, }%{item.ival}}}%{dest_port?, порт %{dest_port#%{next?, }%{item.ival}}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:439 +msgid "Tracking helper" +msgstr "Помощник отслеживания" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:176 +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:35 +msgid "Traffic Rules" +msgstr "Правила для трафика" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:174 +msgid "" +"Traffic rules define policies for packets travelling between different " +"zones, for example to reject traffic between certain hosts or to open WAN " +"ports on the router." +msgstr "" +"Правила для трафика определяют политику прохождения пакетов между разными " +"зонами, например, запрет трафика между некоторыми хостами или открытие WAN-" +"портов маршрутизатора." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:482 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:355 +msgid "Tuesday" +msgstr "Вторник" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/custom.js:19 +msgid "Unable to save contents: %s" +msgstr "Невозможно сохранить содержимое: %s" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:197 +msgid "" +"Unit: seconds. Default 0 means the entry is added permanently " +"to the set.
Max: 2147483 seconds." +msgstr "" +"Единица измерения: секунды. По умолчанию 0 означает, что запись " +"постоянно добавляется в набор.
Максимум: 2147483 секунд." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:341 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:461 +msgid "Unknown or not installed conntrack helper \"%s\"" +msgstr "Неизвестный или не установленный помощник «‎%s»" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:186 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:190 +msgid "Unnamed NAT" +msgstr "NAT без имени" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:169 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:184 +msgid "Unnamed forward" +msgstr "Перенаправление без имени" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:191 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:211 +msgid "Unnamed rule" +msgstr "Правило без имени" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:57 +msgid "Unnamed set" +msgstr "Безымянный набор" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:130 +msgid "Unnamed zone" +msgstr "Зона без имени" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:597 +msgid "Unrecognized protocol" +msgstr "Нераспознанный протокол" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:695 +msgid "" +"Upon pressing \"Continue\", \"redirect\" sections with target \"SNAT\" will " +"be converted to \"nat\" sections and the firewall will be restarted to apply " +"the updated configuration." +msgstr "" +"После нажатия кнопки «Продолжить», разделы правил перенаправления «redirect» " +"типа «SNAT» будут сконвертированы в разделы «nat» и межсетевой экран будет " +"перезапущен для применения и обновления конфигурации." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:315 +msgid "Use external IP address" +msgstr "Использовать внешний IP-адрес" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:314 +msgid "Use internal IP address" +msgstr "Использовать внутренний IP-адрес" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:247 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:378 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:322 +msgid "Use ipset" +msgstr "Использовать ipset" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:231 +msgid "" +"Use this option to classify zone traffic by raw, non-uci managed " +"network devices." +msgstr "" +"Используйте эту опцию для классификации трафика зоны по сетевым устройствам, " +"управляемым не через uci." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:236 +msgid "" +"Use this option to classify zone traffic by source or destination subnet " +"instead of networks or devices." +msgstr "" +"Используйте эту опцию для классификации трафика зоны по источнику или " +"подсети назначения вместо сети или устройств." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:331 +msgid "Valid firewall mark required" +msgstr "Требуется верная метка брандмауэра" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:483 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:356 +msgid "Wednesday" +msgstr "Среда" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:475 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:348 +msgid "Week Days" +msgstr "Дни недели" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:420 +msgid "XOR firewall mark" +msgstr "XOR метка брандмауэра" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:316 +msgid "XOR mark" +msgstr "XOR метка" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:28 +msgid "Your device does not run firewall4." +msgstr "firewall4 не запущен на вашем устройстве." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:26 +msgid "Your device runs firewall4." +msgstr "firewall4 запущен на вашем устройстве." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:143 +msgid "Zone ⇒ Forwardings" +msgstr "Зона ⇒ Перенаправления" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:101 +msgid "Zones" +msgstr "Зоны" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:320 +msgid "" +"Zones from which reflection rules shall be created. If unset, only the " +"destination zone is used." +msgstr "" +"Зоны, из которых будут создаваться правила отражения. Если значение не " +"задано, то используется только зона назначения." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:415 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:70 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:159 +msgid "accept" +msgstr "принимать" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:268 +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:463 +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:486 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:270 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:301 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:328 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:392 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:407 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:441 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:448 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:266 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:282 +msgid "any" +msgstr "любой" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:53 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:86 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:65 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:78 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:46 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:56 +msgid "any zone" +msgstr "любая зона" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:298 +msgid "any/all" +msgstr "любой/все" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:419 +msgid "apply firewall mark" +msgstr "применить метку брандмауэра" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:418 +msgid "assign conntrack helper" +msgstr "назначить помощника отслеживания соединений" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:194 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:222 +msgid "automatic" +msgstr "автоматически" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:131 +msgid "bitmap" +msgstr "битовая карта" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:137 +msgid "bitmap is ipv4 only" +msgstr "Битовая карта только для IPv4" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:72 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:89 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:67 +msgid "day" +msgstr "день" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:93 +msgid "dest_ip: Destination IP" +msgstr "dest_ip: IP-адрес назначения" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:95 +msgid "dest_mac: Destination MAC addr" +msgstr "dest_mac: MAC-адрес назначения" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:96 +msgid "dest_net: Destination (sub)net" +msgstr "dest_net: Сеть назначения" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:94 +msgid "dest_port: Destination Port" +msgstr "dest_port: Порт назначения" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:98 +msgid "dest_set: Destination ipset*" +msgstr "dest_set: ipset назначения*" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:315 +msgid "do not rewrite" +msgstr "не перезаписывать" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:417 +msgid "don't track" +msgstr "не отслеживать" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:414 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:69 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:158 +msgid "drop" +msgstr "не обрабатывать" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:21 +msgid "" +"firewall4 supports referencing and creating IP sets to simplify matching of " +"large address lists without the need to create one rule per item to match. " +"Port ranges in ipsets are unsupported by firewall4.
" +msgstr "" +"firewall4 поддерживает ссылки и создание наборов IP-адресов для упрощения " +"согласования больших списков адресов без необходимости создавать по одному " +"правилу на каждый элемент для согласования. Диапазоны портов в наборах " +"ипсетов не поддерживаются firewall4.
" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:159 +msgid "fromport-toport" +msgstr "портисточника-портназначения" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:132 +msgid "hash" +msgstr "хэш" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:72 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:89 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:67 +msgid "hour" +msgstr "час" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:81 +msgid "ip: IP addr" +msgstr "ip: IP-адрес" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:153 +msgid "ip[/cidr]
" +msgstr "ip[/cidr]
" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:145 +msgid "ip[/cidr]
For use with Match datatypes: *_ip." +msgstr "" +"ip[/cidr]
Для использования с типами данных Match: *_ip." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:70 +msgid "ipv4" +msgstr "ipv4" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:133 +msgid "list" +msgstr "список" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:83 +msgid "mac: MAC addr" +msgstr "mac: MAC-адрес" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:108 +msgid "macaddr|ip[/cidr]
" +msgstr "macaddr|ip[/cidr]
" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:72 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:89 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:67 +msgid "minute" +msgstr "минута" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:84 +msgid "net: (sub)net" +msgstr "net: Сеть" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:82 +msgid "port: Port" +msgstr "порт: Порт" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:416 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:68 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:157 +msgid "reject" +msgstr "отклонить" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:72 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:89 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:67 +msgid "second" +msgstr "секунда" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:86 +msgid "set: ipset*" +msgstr "набор: ipset*" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:92 +msgid "src_Set: Source ipset*" +msgstr "src_Set: Исходный ipset*" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:87 +msgid "src_ip: Source IP" +msgstr "src_ip: IP-адрес источника" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:89 +msgid "src_mac: Source MAC addr" +msgstr "src_mac: MAC-адрес источника" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:90 +msgid "src_net: Source (sub)net" +msgstr "src_net: (Под)сеть источника" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:88 +msgid "src_port: Source Port" +msgstr "src_port: Исходный порт" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:53 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:62 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:86 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:65 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:78 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:56 +msgid "this device" +msgstr "это устройство" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:124 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:226 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:339 +msgid "this new zone" +msgstr "эта новая зона" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:354 +msgid "unlimited" +msgstr "без ограничений" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:251 +msgid "unspecified" +msgstr "не определено" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:114 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:173 +msgid "up to 65536 entries." +msgstr "до 65536 записей." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:339 +msgid "valid firewall mark" +msgstr "верная метка брандмауэра" + +#~ msgid "Software based offloading for routing/NAT" +#~ msgstr "Программная реализация offloading для маршрутизации/NAT" + +#~ msgid "" +#~ "Enable network address and port translation (NAT or NAPT) for outbound " +#~ "traffic on this zone. This is typically enabled on the wan zone." +#~ msgstr "" +#~ "Транслировать сетевые адреса и порты (NAT или NAPT) для исходящего из " +#~ "этой зоны трафика. Обычно это включено для зоны wan." + +#~ msgid "" +#~ "Forwarded IPv4%{proto?, protocol %{proto#%{next?, }%{item.name}}}%{mark?, mark %{mark." +#~ "val}}" +#~ msgstr "" +#~ "Перенаправление IPv4%{proto?, протокол %{proto#%{next?, }%{item.name}" +#~ "}}%{mark?, метка %{mark.val}}" + +#~ msgid "" +#~ "Incoming IPv4%{proto?, protocol %{proto#%{next?, }%{item.types?%{item.name}ICMP with types %{item.types#%{next?, }%{item}}:%{item.name}}}}%{mark?, mark %{mark.val}}%{helper?, helper %{helper.inv?%{helper.val}:%{helper.val}" +#~ "}}" +#~ msgstr "" +#~ "Входящий IPv4%{proto?, протокол %{proto#%{next?, }%{item.types?%{item.name}ICMP с типами %{item.types#%{next?, }%{item}}:%{item.name}}}}%{mark?, метка %{mark.val}}%{helper?, помощник %{helper.inv?%{helper.val}:" +#~ "%{helper.val}}}" diff --git a/luci-app-firewall/po/si/firewall.po b/luci-app-firewall/po/si/firewall.po new file mode 100644 index 000000000..091093c60 --- /dev/null +++ b/luci-app-firewall/po/si/firewall.po @@ -0,0 +1,1431 @@ +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2010-03-30 17:00+0200\n" +"PO-Revision-Date: 2021-03-01 07:55+0000\n" +"Last-Translator: HelaBasa \n" +"Language-Team: Sinhala \n" +"Language: si\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=n > 1;\n" +"X-Generator: Weblate 4.5\n" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:48 +msgid "" +"%{src?%{dest?Forwarded:Incoming}:Outgoing} %{ipv6?%{ipv4?IPv4 and " +"IPv6:IPv6}:IPv4}%{proto?, protocol " +"%{proto#%{next?, }%{item.types?%{item." +"name}ICMP with types %{item.types#%{next?, }" +"%{item}}:%{item.name}}}}%{mark?, mark " +"%{mark.val}}%{dscp?, DSCP %{dscp." +"inv?%{dscp.val}:%{dscp.val}}}%{helper?, helper " +"%{helper.inv?%{helper.val}:%{helper." +"val}}}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:463 +msgid "-- add IP --" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:521 +msgid "-- add MAC --" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:199 +msgid "0" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:182 +msgid "1024" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:118 +msgid "" +"Accept %{src?%{dest?forward:input}:output}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:93 +msgid "Prevent source rewrite" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:85 +msgid "" +"Forward to %{dest}%{dest_ip? IP " +"%{dest_ip}}%{dest_port? port %{dest_port}}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:115 +msgid "" +"Drop %{src?%{dest?forward:input}:output}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:133 +msgid "" +"Assign DSCP classification %{set_dscp}" +"" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:127 +msgid "" +"Assign conntrack helper " +"%{set_helper}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:130 +msgid "" +"%{set_mark?Assign:XOR} firewall mark " +"%{set_mark?:%{set_xmark}}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:90 +msgid "Automatically rewrite source IP" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:124 +msgid "" +"Do not track %{src?%{dest?forward:input}:" +"output}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:121 +msgid "" +"Reject %{src?%{dest?forward:input}:output}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:87 +msgid "" +"Statically rewrite to source %{snat_ip?IP " +"%{snat_ip}} %{snat_port?port %{snat_port}}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:306 +msgid "A rewrite IP must be specified!" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:292 +msgid "ACCEPT - Disable address rewriting" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:224 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:225 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:411 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:204 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:287 +msgid "Action" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:322 +msgid "" +"Additional raw iptables arguments to classify zone destination " +"traffic, e.g. -p tcp --dport 443 to only match outbound HTTPS " +"traffic." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:312 +msgid "" +"Additional raw iptables arguments to classify zone source traffic, " +"e.g. -p tcp --sport 443 to only match inbound HTTPS traffic." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:107 +msgid "Address family, Internal IP address must match" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:135 +msgid "" +"Address family, source address, destination address, rewrite IP address must " +"match" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:162 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:183 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:182 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:114 +msgid "Advanced Settings" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:283 +msgid "Allow \"invalid\" traffic" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:385 +msgid "Allow forward from source zones:" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:344 +msgid "Allow forward to destination zones:" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:551 +msgid "Any" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:479 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:495 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:352 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:368 +msgid "Any day" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:317 +msgid "" +"Apply a bitwise XOR of the given value and the existing mark value on " +"established connections. Format is value[/mask]. If a mask is specified then " +"those bits set in the mask are zeroed out." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:264 +msgid "Apply the given DSCP class or value to established connections." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:439 +msgid "Assign the specified connection tracking helper to matched traffic." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:286 +msgid "Automatic helper assignment" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:286 +msgid "" +"Automatically assign conntrack helpers based on traffic protocol and port" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:61 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:62 +msgid "Comment" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:115 +msgid "Conntrack Settings" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:290 +msgid "Conntrack helpers" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/custom.js:16 +msgid "Contents have been saved." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:700 +msgid "Continue" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:204 +msgid "Counters" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:231 +msgid "Covered devices" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:183 +msgid "Covered networks" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:236 +msgid "Covered subnets" +msgstr "" + +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:62 +msgid "Custom Rules" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/custom.js:26 +msgid "" +"Custom rules allow you to execute arbitrary iptables commands which are not " +"otherwise covered by the firewall framework. The commands are executed after " +"each firewall restart, right after the default ruleset has been loaded." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:421 +msgid "DSCP classification" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:263 +msgid "DSCP mark" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:297 +msgid "DSCP mark required" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:402 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:270 +msgid "Destination address" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:404 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:278 +msgid "Destination port" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:396 +msgid "Destination zone" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:269 +msgid "Device name" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:283 +msgid "" +"Do not install extra rules to reject forwarded traffic with conntrack state " +"invalid. This may be required for complex asymmetric route setups." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:59 +msgid "Drop invalid packets" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:232 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:231 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:210 +msgid "Enable" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:306 +msgid "Enable NAT Loopback" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:45 +msgid "Enable SYN-flood protection" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:296 +msgid "Enable logging on this zone" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:168 +msgid "" +"Enable network address and port translation IPv4 (NAT4 or NAPT4) for " +"outbound traffic on this zone. This is typically enabled on the wan " +"zone." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:243 +msgid "" +"Enable network address and port translation IPv6 (NAT6 or NAPT6) for " +"outbound traffic on this zone." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:211 +msgid "Enabled" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:205 +msgid "Enables packet and byte count tracking for the set." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:339 +msgid "Expecting: %s" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:290 +msgid "Explicitly choses allowed connection tracking helpers for zone traffic" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:274 +msgid "External IP address" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:279 +msgid "External port" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:349 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:470 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:342 +msgid "Extra arguments" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:322 +msgid "Extra destination arguments" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:116 +msgid "Extra iptables arguments" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:312 +msgid "Extra source arguments" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:67 +msgid "Family" +msgstr "" + +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:3 +msgid "Firewall" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/custom.js:25 +msgid "Firewall - Custom Rules" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:20 +msgid "Firewall - IP sets" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:172 +msgid "Firewall - NAT Rules" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:152 +msgid "Firewall - Port Forwards" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:173 +msgid "Firewall - Traffic Rules" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:38 +msgid "Firewall - Zone Settings" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:693 +msgid "Firewall configuration migration" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:82 +msgid "Flow offloading type" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:64 +msgid "Forward" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:34 +msgid "" +"Forwarded %{ipv6?%{ipv4?IPv4 and IPv6:IPv6}:" +"IPv4}%{proto?, protocol %{proto#%{next?, }%{item.name}}}%{mark?, mark %{mark.val}" +"}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:485 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:358 +msgid "Friday" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:45 +msgid "" +"From %{src}%{src_device?, interface %{src_device}}%{src_ip?, IP " +"%{src_ip#%{next?, }%{item.ival}}}%{src_port?, port %{src_port#%{next?, }" +"%{item." +"ival}}}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:64 +msgid "" +"From %{src}%{src_device?, interface %{src_device}}%{src_ip?, IP " +"%{src_ip#%{next?, }%{item.ival}}}%{src_port?, port %{src_port#%{next?, }" +"%{item." +"ival}}}%{src_mac?, MAC %{src_mac#%{next?, }%{item.ival}" +"}}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:52 +msgid "" +"From %{src}%{src_ip?, IP %{src_ip#%{next?, }%{item.ival}}}%{src_port?, port %{src_port#%{next?, }%{item.ival}}}%{src_mac?, " +"MAC %{src_mac#%{next?, }%{item.ival}}}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:161 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:182 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:181 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:41 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:113 +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:17 +msgid "General Settings" +msgstr "" + +#: applications/luci-app-firewall/root/usr/share/rpcd/acl.d/luci-app-firewall.json:3 +msgid "Grant access to firewall configuration" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:85 +msgid "Hardware based offloading for routing with/without NAT." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:85 +msgid "Hardware flow offloading" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:144 +msgid "IP (range)" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:32 +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:53 +msgid "IP Sets" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:152 +msgid "IPs/Networks" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:107 +msgid "IPs/Networks/MACs" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:68 +msgid "IPv4" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:191 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:280 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:219 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:256 +msgid "IPv4 and IPv6" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:192 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:281 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:220 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:257 +msgid "IPv4 only" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:69 +msgid "IPv6" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:242 +msgid "IPv6 Masquerading" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:193 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:282 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:221 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:258 +msgid "IPv6 only" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:252 +msgid "Inbound device" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:187 +msgid "Include File" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:40 +msgid "" +"Incoming %{ipv6?%{ipv4?IPv4 and IPv6:IPv6}:" +"IPv4}%{proto?, protocol %{proto#%{next?, }%{item.types?%{item.name}ICMP " +"with types %{item.types#%{next?, }%{item}}:" +"%{item.name}}}}%{mark?, mark %{mark.val}}%{helper?, helper %{helper.inv?%{helper.val}:%{helper.val}}}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:180 +msgid "Initial Hash Size" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:62 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:151 +msgid "Input" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:292 +msgid "Internal IP address" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:297 +msgid "Internal port" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:287 +msgid "Internal zone" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:153 +msgid "Intra zone forward" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:305 +msgid "Invalid DSCP mark" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:373 +msgid "Invalid limit value" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:47 +msgid "Invalid set name" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:383 +msgid "Limit burst" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:299 +msgid "Limit log messages" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:349 +msgid "Limit matching" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:79 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:96 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:74 +msgid "" +"Limit matching to %{limit.num} packets per %{limit.unit}%{limit.burst? burst %{limit.burst}}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:175 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:250 +msgid "Limited masquerading enabled" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:350 +msgid "Limits traffic matching to the specified rate." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:311 +msgid "Loopback source IP" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:291 +msgid "MASQUERADE - Automatically rewrite to outbound interface IP" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:180 +msgid "MSS clamping" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:167 +msgid "Masquerading" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:213 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:214 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:193 +msgid "Match" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:263 +msgid "Match DSCP" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:293 +msgid "Match ICMP type" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:249 +msgid "Match device" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:271 +msgid "Match forwarded traffic directed at the given IP address." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:279 +msgid "" +"Match forwarded traffic directed at the given destination port or port range." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:254 +msgid "Match forwarded traffic from this IP or range." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:262 +msgid "" +"Match forwarded traffic originating from the given source port or port range." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:326 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:446 +msgid "Match helper" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:280 +msgid "" +"Match incoming traffic directed at the given destination port or port range " +"on this host" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:316 +msgid "Match mark" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:326 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:446 +msgid "Match traffic using the specified connection tracking helper." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:319 +msgid "Matches a specific firewall mark or a range of different marks." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:332 +msgid "Matches forwarded traffic using the specified outbound network device." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:264 +msgid "Matches traffic carrying the specified DSCP marking." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:113 +msgid "Max Entries" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:172 +msgid "Max Length" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:384 +msgid "" +"Maximum initial number of packets to match: this number gets recharged by " +"one every time the limit specified above is not reached, up to this number." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:481 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:354 +msgid "Monday" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:491 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:364 +msgid "Month Days" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:175 +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:44 +msgid "NAT Rules" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:173 +msgid "" +"NAT rules allow fine grained control over the source IP to use for outbound " +"or forwarded traffic." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:183 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:42 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:52 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:210 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:189 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:129 +msgid "Name" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:166 +msgid "Netmask" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:83 +msgid "None" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:77 +msgid "Not fully compatible with QoS/SQM." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:275 +msgid "Only match incoming traffic directed at the given IP address." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:256 +msgid "Only match incoming traffic from these MACs." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:261 +msgid "Only match incoming traffic from this IP or range." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:266 +msgid "" +"Only match incoming traffic originating from the given source port or port " +"range on the client host" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:253 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:331 +msgid "Outbound device" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:246 +msgid "Outbound zone" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:63 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:152 +msgid "Output" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:75 +msgid "Packet Field Match" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:76 +msgid "" +"Packet fields to match upon.
Syntax: direction_datatype. e.g.: " +"src_port, dest_net.
Directions: src, dst. " +"Datatypes: ip, port, mac, net, set.
Direction prefixes are " +"optional.
*Note: datatype set is unsupported in fw4." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:350 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:471 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:343 +msgid "Passes additional arguments to iptables. Use with care!" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:309 +msgid "" +"Passing raw iptables arguments to source and destination traffic " +"classification rules allows to match packets based on other criteria than " +"interfaces or subnets. These options should be used with extreme care as " +"invalid values could render the firewall ruleset broken, completely exposing " +"all services." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:188 +msgid "Path to file of CIDRs, subnets, host IPs, etc.
" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:155 +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:26 +msgid "Port Forwards" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:153 +msgid "" +"Port forwarding allows remote computers on the Internet to connect to a " +"specific computer or service within the private LAN." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:158 +msgid "Port range" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:237 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:289 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:242 +msgid "Protocol" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:298 +msgid "" +"Redirect matched incoming traffic to the given port on the internal host" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:293 +msgid "Redirect matched incoming traffic to the specified internal host" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:122 +msgid "Refer To External Set" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:320 +msgid "Reflection zones" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:85 +msgid "Requires hardware NAT support." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:272 +msgid "Restrict Masquerading to given destination subnets" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:261 +msgid "Restrict Masquerading to given source subnets" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:188 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:277 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:216 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:255 +msgid "Restrict to address family" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:297 +msgid "Rewrite IP address" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:298 +msgid "Rewrite matched traffic to the specified source IP address." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:312 +msgid "Rewrite matched traffic to the specified source port or port range." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:311 +msgid "Rewrite port" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:76 +msgid "Routing/NAT Offloading" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:290 +msgid "SNAT - Rewrite to specific source IP or port" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:486 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:359 +msgid "Saturday" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:316 +msgid "Set mark" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:318 +msgid "" +"Set the given mark value on established connections. Format is value[/mask]. " +"If a mask is specified then only those bits set in the mask are modified." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:84 +msgid "Software based offloading for routing/NAT." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:84 +msgid "Software flow offloading" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:260 +msgid "Source IP address" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:255 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:386 +msgid "Source MAC address" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:387 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:253 +msgid "Source address" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:265 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:389 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:261 +msgid "Source port" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:241 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:372 +msgid "Source zone" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:270 +msgid "" +"Specifies whether to tie this traffic rule to a specific inbound or outbound " +"network device." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:311 +msgid "" +"Specifies whether to use the external or the internal IP address for " +"reflected traffic." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:510 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:383 +msgid "Start Date (yyyy-mm-dd)" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:502 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:375 +msgid "Start Time (hh:mm:ss)" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:514 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:387 +msgid "Stop Date (yyyy-mm-dd)" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:506 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:379 +msgid "Stop Time (hh:mm:ss)" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:130 +msgid "Storage Method" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:480 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:353 +msgid "Sunday" +msgstr "ඉරිදා" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:694 +msgid "" +"The existing firewall configuration needs to be changed for LuCI to function " +"properly." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:39 +msgid "" +"The firewall creates zones over your network interfaces to control network " +"traffic flow." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:227 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:340 +msgid "" +"The options below control the forwarding policies between this zone (%s) and " +"other zones. Destination zones cover forwarded traffic " +"originating from %q. Source zones match forwarded " +"traffic from other zones targeted at %q. The forwarding " +"rule is unidirectional, e.g. a forward from lan to wan does " +"not imply a permission to forward from wan to lan as well." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:125 +msgid "" +"This section defines common properties of %q. The input and " +"output options set the default policies for traffic entering and " +"leaving this zone while the forward option describes the policy for " +"forwarded traffic between different networks within the zone. Covered " +"networks specifies which available networks are members of this zone." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:484 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:357 +msgid "Thursday" +msgstr "බ්‍රහස්පතින්දා" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:184 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:183 +msgid "Time Restrictions" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:518 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:391 +msgid "Time in UTC" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:244 +msgid "Time restrictions are enabled for this rule" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:196 +msgid "Timeout" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:77 +msgid "" +"To %{dest}%{dest_device?, interface %{dest_device}}%{dest_ip?, IP " +"%{dest_ip#%{next?, }%{item.ival}
}}%{dest_port?, port %{dest_port#%{next?, }" +"%{item." +"ival}}}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:55 +msgid "" +"To %{dest}%{dest_device?, via interface %{dest_device}}%{dest_ip?, IP %{dest_ip#%{next?, }%{item.ival}}}%{dest_port?, port " +"%{dest_port#%{next?, }%{item.ival}}}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:61 +msgid "" +"To %{dest}%{dest_ip?, IP %{dest_ip#%{next?, }%{item.ival}}}%{dest_port?, port %{dest_port#%{next?, }%{item.ival}}}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:439 +msgid "Tracking helper" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:176 +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:35 +msgid "Traffic Rules" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:174 +msgid "" +"Traffic rules define policies for packets travelling between different " +"zones, for example to reject traffic between certain hosts or to open WAN " +"ports on the router." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:482 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:355 +msgid "Tuesday" +msgstr "අඟහරුවාදා" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/custom.js:19 +msgid "Unable to save contents: %s" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:197 +msgid "" +"Unit: seconds. Default 0 means the entry is added permanently " +"to the set.
Max: 2147483 seconds." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:341 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:461 +msgid "Unknown or not installed conntrack helper \"%s\"" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:186 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:190 +msgid "Unnamed NAT" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:169 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:184 +msgid "Unnamed forward" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:191 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:211 +msgid "Unnamed rule" +msgstr "නම් නොකළ නීතිය" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:57 +msgid "Unnamed set" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:130 +msgid "Unnamed zone" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:597 +msgid "Unrecognized protocol" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:695 +msgid "" +"Upon pressing \"Continue\", \"redirect\" sections with target \"SNAT\" will " +"be converted to \"nat\" sections and the firewall will be restarted to apply " +"the updated configuration." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:315 +msgid "Use external IP address" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:314 +msgid "Use internal IP address" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:247 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:378 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:322 +msgid "Use ipset" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:231 +msgid "" +"Use this option to classify zone traffic by raw, non-uci managed " +"network devices." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:236 +msgid "" +"Use this option to classify zone traffic by source or destination subnet " +"instead of networks or devices." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:331 +msgid "Valid firewall mark required" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:483 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:356 +msgid "Wednesday" +msgstr "බදාදා" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:475 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:348 +msgid "Week Days" +msgstr "සතියේ දින" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:420 +msgid "XOR firewall mark" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:316 +msgid "XOR mark" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:28 +msgid "Your device does not run firewall4." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:26 +msgid "Your device runs firewall4." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:143 +msgid "Zone ⇒ Forwardings" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:101 +msgid "Zones" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:320 +msgid "" +"Zones from which reflection rules shall be created. If unset, only the " +"destination zone is used." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:415 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:70 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:159 +msgid "accept" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:268 +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:463 +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:486 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:270 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:301 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:328 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:392 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:407 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:441 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:448 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:266 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:282 +msgid "any" +msgstr "ඕනෑම" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:53 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:86 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:65 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:78 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:46 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:56 +msgid "any zone" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:298 +msgid "any/all" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:419 +msgid "apply firewall mark" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:418 +msgid "assign conntrack helper" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:194 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:222 +msgid "automatic" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:131 +msgid "bitmap" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:137 +msgid "bitmap is ipv4 only" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:72 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:89 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:67 +msgid "day" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:93 +msgid "dest_ip: Destination IP" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:95 +msgid "dest_mac: Destination MAC addr" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:96 +msgid "dest_net: Destination (sub)net" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:94 +msgid "dest_port: Destination Port" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:98 +msgid "dest_set: Destination ipset*" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:315 +msgid "do not rewrite" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:417 +msgid "don't track" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:414 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:69 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:158 +msgid "drop" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:21 +msgid "" +"firewall4 supports referencing and creating IP sets to simplify matching of " +"large address lists without the need to create one rule per item to match. " +"Port ranges in ipsets are unsupported by firewall4.
" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:159 +msgid "fromport-toport" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:132 +msgid "hash" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:72 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:89 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:67 +msgid "hour" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:81 +msgid "ip: IP addr" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:153 +msgid "ip[/cidr]
" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:145 +msgid "ip[/cidr]
For use with Match datatypes: *_ip." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:70 +msgid "ipv4" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:133 +msgid "list" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:83 +msgid "mac: MAC addr" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:108 +msgid "macaddr|ip[/cidr]
" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:72 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:89 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:67 +msgid "minute" +msgstr "විනාඩිය" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:84 +msgid "net: (sub)net" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:82 +msgid "port: Port" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:416 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:68 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:157 +msgid "reject" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:72 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:89 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:67 +msgid "second" +msgstr "තත්පරය" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:86 +msgid "set: ipset*" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:92 +msgid "src_Set: Source ipset*" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:87 +msgid "src_ip: Source IP" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:89 +msgid "src_mac: Source MAC addr" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:90 +msgid "src_net: Source (sub)net" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:88 +msgid "src_port: Source Port" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:53 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:62 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:86 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:65 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:78 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:56 +msgid "this device" +msgstr "මෙම උපාංගය" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:124 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:226 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:339 +msgid "this new zone" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:354 +msgid "unlimited" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:251 +msgid "unspecified" +msgstr "නිශ්චිතව දක්වා නැත" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:114 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:173 +msgid "up to 65536 entries." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:339 +msgid "valid firewall mark" +msgstr "" diff --git a/luci-app-firewall/po/sk/firewall.po b/luci-app-firewall/po/sk/firewall.po new file mode 100644 index 000000000..120d52c17 --- /dev/null +++ b/luci-app-firewall/po/sk/firewall.po @@ -0,0 +1,1472 @@ +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"PO-Revision-Date: 2023-07-10 15:50+0000\n" +"Last-Translator: MaycoH \n" +"Language-Team: Slovak \n" +"Language: sk\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n" +"X-Generator: Weblate 5.0-dev\n" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:48 +msgid "" +"%{src?%{dest?Forwarded:Incoming}:Outgoing} %{ipv6?%{ipv4?IPv4 and " +"IPv6:IPv6}:IPv4}%{proto?, protocol " +"%{proto#%{next?, }%{item.types?%{item." +"name}ICMP with types %{item.types#%{next?, }" +"%{item}}:%{item.name}}}}%{mark?, mark " +"%{mark.val}}%{dscp?, DSCP %{dscp." +"inv?%{dscp.val}:%{dscp.val}}}%{helper?, helper " +"%{helper.inv?%{helper.val}:%{helper." +"val}}}" +msgstr "" +"%{src?%{dest?Forwarded:Incoming}:Outgoing} %{ipv6?%{ipv4?IPv4 a " +"IPv6:IPv6}:IPv4}%{proto?, protocol " +"%{proto#%{next?, }%{item.types?%{item." +"name}ICMP s typmi %{item.types#%{next?, }" +"%{item}}:%{item.name}}}}%{mark?, mark " +"%{mark.val}}%{dscp?, DSCP " +"%{dscp.inv?%{dscp.val}:%{dscp.val}}}%{helper?, helper " +"%{helper.inv?%{helper.val}:%{helper.val}}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:463 +msgid "-- add IP --" +msgstr "-- pridať IP --" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:521 +msgid "-- add MAC --" +msgstr "-- pridať MAC --" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:199 +msgid "0" +msgstr "0" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:182 +msgid "1024" +msgstr "1024" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:118 +msgid "" +"Accept %{src?%{dest?forward:input}:output}" +msgstr "" +"Prijať %{src?%{dest?forward:input}:output}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:93 +msgid "Prevent source rewrite" +msgstr "Zabrániť prepísaniu zdroja" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:85 +msgid "" +"Forward to %{dest}%{dest_ip? IP " +"%{dest_ip}}%{dest_port? port %{dest_port}}" +msgstr "" +"Presmerovať na %{dest}%{dest_ip? IP " +"%{dest_ip}}%{dest_port? port %{dest_port}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:115 +msgid "" +"Drop %{src?%{dest?forward:input}:output}" +msgstr "" +"Vynechať %{src?%{dest?forward:input}:output}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:133 +msgid "" +"Assign DSCP classification %{set_dscp}" +"" +msgstr "" +"Priradiť klasifikáciu DSCP %{set_dscp}" +"" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:127 +msgid "" +"Assign conntrack helper " +"%{set_helper}" +msgstr "" +"Priradiť súhlas pomocníka " +"%{set_helper}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:130 +msgid "" +"%{set_mark?Assign:XOR} firewall mark " +"%{set_mark?:%{set_xmark}}" +msgstr "" +"%{set_mark?Assign:XOR} značka brány " +"firewall %{set_mark?:%{set_xmark}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:90 +msgid "Automatically rewrite source IP" +msgstr "" +"Automaticky prepisovať zdrojovú " +"adresu IP" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:124 +msgid "" +"Do not track %{src?%{dest?forward:input}:" +"output}" +msgstr "" +"Nesledovať %{src?%{dest?forward:input}:" +"output}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:121 +msgid "" +"Reject %{src?%{dest?forward:input}:output}" +msgstr "" +"Odmietnuť %{src?%{dest?forward:input}:" +"output}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:87 +msgid "" +"Statically rewrite to source %{snat_ip?IP " +"%{snat_ip}} %{snat_port?port %{snat_port}}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:306 +msgid "A rewrite IP must be specified!" +msgstr "Musí byť určená adresa IP na prepísanie!" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:292 +msgid "ACCEPT - Disable address rewriting" +msgstr "ACCEPT - Zakázať prepis adresy" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:224 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:225 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:411 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:204 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:287 +msgid "Action" +msgstr "Akcia" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:322 +msgid "" +"Additional raw iptables arguments to classify zone destination " +"traffic, e.g. -p tcp --dport 443 to only match outbound HTTPS " +"traffic." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:312 +msgid "" +"Additional raw iptables arguments to classify zone source traffic, " +"e.g. -p tcp --sport 443 to only match inbound HTTPS traffic." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:107 +msgid "Address family, Internal IP address must match" +msgstr "Rodina adries, Interná IP adresa sa musia zhodovať" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:135 +msgid "" +"Address family, source address, destination address, rewrite IP address must " +"match" +msgstr "" +"Rodina adries, zdrojová adresa, cieľová adresa, prepísaná IP adresa sa musia " +"zhodovať" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:162 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:183 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:182 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:114 +msgid "Advanced Settings" +msgstr "Pokročilé nastavenia" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:283 +msgid "Allow \"invalid\" traffic" +msgstr "Umožniť „neplatný“ prenos" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:385 +msgid "Allow forward from source zones:" +msgstr "Umožniť presmerovanie zo zdrojových zón:" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:344 +msgid "Allow forward to destination zones:" +msgstr "Umožniť presmerovanie do cieľových zón:" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:551 +msgid "Any" +msgstr "Nezáleží" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:479 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:495 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:352 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:368 +msgid "Any day" +msgstr "Akýkoľvek deň" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:317 +msgid "" +"Apply a bitwise XOR of the given value and the existing mark value on " +"established connections. Format is value[/mask]. If a mask is specified then " +"those bits set in the mask are zeroed out." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:264 +msgid "Apply the given DSCP class or value to established connections." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:439 +msgid "Assign the specified connection tracking helper to matched traffic." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:286 +msgid "Automatic helper assignment" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:286 +msgid "" +"Automatically assign conntrack helpers based on traffic protocol and port" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:61 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:62 +msgid "Comment" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:115 +msgid "Conntrack Settings" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:290 +msgid "Conntrack helpers" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/custom.js:16 +msgid "Contents have been saved." +msgstr "Obsah bol uložený." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:700 +msgid "Continue" +msgstr "Pokračovať" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:204 +msgid "Counters" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:231 +msgid "Covered devices" +msgstr "Pokryté zariadenia" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:183 +msgid "Covered networks" +msgstr "Pokryté siete" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:236 +msgid "Covered subnets" +msgstr "Pokryté podsiete" + +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:62 +msgid "Custom Rules" +msgstr "Vlastné pravidlá" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/custom.js:26 +msgid "" +"Custom rules allow you to execute arbitrary iptables commands which are not " +"otherwise covered by the firewall framework. The commands are executed after " +"each firewall restart, right after the default ruleset has been loaded." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:421 +msgid "DSCP classification" +msgstr "Klasifikácia DSCP" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:263 +msgid "DSCP mark" +msgstr "Značka DSCP" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:297 +msgid "DSCP mark required" +msgstr "Vyžaduje sa značka DSCP" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:402 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:270 +msgid "Destination address" +msgstr "Cieľová adresa" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:404 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:278 +msgid "Destination port" +msgstr "Cieľový port" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:396 +msgid "Destination zone" +msgstr "Cieľová zóna" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:269 +msgid "Device name" +msgstr "Názov zariadenia" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:283 +msgid "" +"Do not install extra rules to reject forwarded traffic with conntrack state " +"invalid. This may be required for complex asymmetric route setups." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:59 +msgid "Drop invalid packets" +msgstr "Zahodiť neplatné pakety" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:232 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:231 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:210 +msgid "Enable" +msgstr "Povoliť" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:306 +msgid "Enable NAT Loopback" +msgstr "Povoliť slučku NAT" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:45 +msgid "Enable SYN-flood protection" +msgstr "Povoliť ochranu pred útokom SYN-flood" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:296 +msgid "Enable logging on this zone" +msgstr "Povoliť zaznamenávanie tejto zóny" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:168 +msgid "" +"Enable network address and port translation IPv4 (NAT4 or NAPT4) for " +"outbound traffic on this zone. This is typically enabled on the wan " +"zone." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:243 +msgid "" +"Enable network address and port translation IPv6 (NAT6 or NAPT6) for " +"outbound traffic on this zone." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:211 +msgid "Enabled" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:205 +msgid "Enables packet and byte count tracking for the set." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:339 +msgid "Expecting: %s" +msgstr "Očakáva sa: %s" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:290 +msgid "Explicitly choses allowed connection tracking helpers for zone traffic" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:274 +msgid "External IP address" +msgstr "Vonkajšia adresa IP" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:279 +msgid "External port" +msgstr "Vonkajší port" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:349 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:470 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:342 +msgid "Extra arguments" +msgstr "Argumenty navyše" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:322 +msgid "Extra destination arguments" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:116 +msgid "Extra iptables arguments" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:312 +msgid "Extra source arguments" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:67 +msgid "Family" +msgstr "" + +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:3 +msgid "Firewall" +msgstr "Brána Firewall" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/custom.js:25 +msgid "Firewall - Custom Rules" +msgstr "Brána Firewall - Vlastné pravidlá" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:20 +msgid "Firewall - IP sets" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:172 +msgid "Firewall - NAT Rules" +msgstr "Brána Firewall - Pravidlá NAT" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:152 +msgid "Firewall - Port Forwards" +msgstr "Brána Firewall - Presmerovanie portov" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:173 +msgid "Firewall - Traffic Rules" +msgstr "Brána Firewall - Pravidlá prenosu" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:38 +msgid "Firewall - Zone Settings" +msgstr "Brána Firewall - Nastavenia zón" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:693 +msgid "Firewall configuration migration" +msgstr "Migrácia konfigurácie brány Firewall" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:82 +msgid "Flow offloading type" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:64 +msgid "Forward" +msgstr "Presmerovanie" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:34 +msgid "" +"Forwarded %{ipv6?%{ipv4?IPv4 and IPv6:IPv6}:" +"IPv4}%{proto?, protocol %{proto#%{next?, }%{item.name}}}%{mark?, mark %{mark.val}" +"}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:485 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:358 +msgid "Friday" +msgstr "Piatok" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:45 +msgid "" +"From %{src}%{src_device?, interface %{src_device}}%{src_ip?, IP " +"%{src_ip#%{next?, }%{item.ival}}}%{src_port?, port %{src_port#%{next?, }" +"%{item." +"ival}}}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:64 +msgid "" +"From %{src}%{src_device?, interface %{src_device}}%{src_ip?, IP " +"%{src_ip#%{next?, }%{item.ival}}}%{src_port?, port %{src_port#%{next?, }" +"%{item." +"ival}}}%{src_mac?, MAC %{src_mac#%{next?, }%{item.ival}" +"}}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:52 +msgid "" +"From %{src}%{src_ip?, IP %{src_ip#%{next?, }%{item.ival}}}%{src_port?, port %{src_port#%{next?, }%{item.ival}}}%{src_mac?, " +"MAC %{src_mac#%{next?, }%{item.ival}}}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:161 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:182 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:181 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:41 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:113 +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:17 +msgid "General Settings" +msgstr "Všeobecné nastavenia" + +#: applications/luci-app-firewall/root/usr/share/rpcd/acl.d/luci-app-firewall.json:3 +msgid "Grant access to firewall configuration" +msgstr "Udeliť prístup ku konfigurácii brány firewall" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:85 +msgid "Hardware based offloading for routing with/without NAT." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:85 +msgid "Hardware flow offloading" +msgstr "Hardvérové odľahčenie toku" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:144 +msgid "IP (range)" +msgstr "IP (rozsah)" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:32 +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:53 +msgid "IP Sets" +msgstr "IP sety" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:152 +msgid "IPs/Networks" +msgstr "IP/siete" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:107 +msgid "IPs/Networks/MACs" +msgstr "IP/siete/MAC" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:68 +msgid "IPv4" +msgstr "IPv4" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:191 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:280 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:219 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:256 +msgid "IPv4 and IPv6" +msgstr "IPv4 a IPv6" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:192 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:281 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:220 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:257 +msgid "IPv4 only" +msgstr "Iba IPv4" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:69 +msgid "IPv6" +msgstr "IPv6" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:242 +msgid "IPv6 Masquerading" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:193 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:282 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:221 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:258 +msgid "IPv6 only" +msgstr "Iba IPv6" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:252 +msgid "Inbound device" +msgstr "Prichádzajúce zariadenie" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:187 +msgid "Include File" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:40 +msgid "" +"Incoming %{ipv6?%{ipv4?IPv4 and IPv6:IPv6}:" +"IPv4}%{proto?, protocol %{proto#%{next?, }%{item.types?%{item.name}ICMP " +"with types %{item.types#%{next?, }%{item}}:" +"%{item.name}}}}%{mark?, mark %{mark.val}}%{helper?, helper %{helper.inv?%{helper.val}:%{helper.val}}}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:180 +msgid "Initial Hash Size" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:62 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:151 +msgid "Input" +msgstr "Vstup" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:292 +msgid "Internal IP address" +msgstr "Vnútorná adresa IP" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:297 +msgid "Internal port" +msgstr "Vnútorný port" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:287 +msgid "Internal zone" +msgstr "Vnútorná zóna" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:153 +msgid "Intra zone forward" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:305 +msgid "Invalid DSCP mark" +msgstr "Neplatná značka DSCP" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:373 +msgid "Invalid limit value" +msgstr "Neplatná hodnota obmedzenia" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:47 +msgid "Invalid set name" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:383 +msgid "Limit burst" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:299 +msgid "Limit log messages" +msgstr "Obmedziť správy záznamu" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:349 +msgid "Limit matching" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:79 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:96 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:74 +msgid "" +"Limit matching to %{limit.num} packets per %{limit.unit}%{limit.burst? burst %{limit.burst}}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:175 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:250 +msgid "Limited masquerading enabled" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:350 +msgid "Limits traffic matching to the specified rate." +msgstr "Obmedzenie prenosu podľa určenej frekvencie." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:311 +msgid "Loopback source IP" +msgstr "Zdrojová adresa IP slučky" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:291 +msgid "MASQUERADE - Automatically rewrite to outbound interface IP" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:180 +msgid "MSS clamping" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:167 +msgid "Masquerading" +msgstr "Maškaráda" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:213 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:214 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:193 +msgid "Match" +msgstr "Zhoda" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:263 +msgid "Match DSCP" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:293 +msgid "Match ICMP type" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:249 +msgid "Match device" +msgstr "Zhoda zariadenia" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:271 +msgid "Match forwarded traffic directed at the given IP address." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:279 +msgid "" +"Match forwarded traffic directed at the given destination port or port range." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:254 +msgid "Match forwarded traffic from this IP or range." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:262 +msgid "" +"Match forwarded traffic originating from the given source port or port range." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:326 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:446 +msgid "Match helper" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:280 +msgid "" +"Match incoming traffic directed at the given destination port or port range " +"on this host" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:316 +msgid "Match mark" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:326 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:446 +msgid "Match traffic using the specified connection tracking helper." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:319 +msgid "Matches a specific firewall mark or a range of different marks." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:332 +msgid "Matches forwarded traffic using the specified outbound network device." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:264 +msgid "Matches traffic carrying the specified DSCP marking." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:113 +msgid "Max Entries" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:172 +msgid "Max Length" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:384 +msgid "" +"Maximum initial number of packets to match: this number gets recharged by " +"one every time the limit specified above is not reached, up to this number." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:481 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:354 +msgid "Monday" +msgstr "Pondelok" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:491 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:364 +msgid "Month Days" +msgstr "Dni v mesiaci" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:175 +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:44 +msgid "NAT Rules" +msgstr "Pravidlá NAT" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:173 +msgid "" +"NAT rules allow fine grained control over the source IP to use for outbound " +"or forwarded traffic." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:183 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:42 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:52 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:210 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:189 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:129 +msgid "Name" +msgstr "Názov" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:166 +msgid "Netmask" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:83 +msgid "None" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:77 +msgid "Not fully compatible with QoS/SQM." +msgstr "Nie je plne kompatibilná so službami QoS/SQM." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:275 +msgid "Only match incoming traffic directed at the given IP address." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:256 +msgid "Only match incoming traffic from these MACs." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:261 +msgid "Only match incoming traffic from this IP or range." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:266 +msgid "" +"Only match incoming traffic originating from the given source port or port " +"range on the client host" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:253 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:331 +msgid "Outbound device" +msgstr "Odchádzajúce zariadenie" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:246 +msgid "Outbound zone" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:63 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:152 +msgid "Output" +msgstr "Výstup" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:75 +msgid "Packet Field Match" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:76 +msgid "" +"Packet fields to match upon.
Syntax: direction_datatype. e.g.: " +"src_port, dest_net.
Directions: src, dst. " +"Datatypes: ip, port, mac, net, set.
Direction prefixes are " +"optional.
*Note: datatype set is unsupported in fw4." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:350 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:471 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:343 +msgid "Passes additional arguments to iptables. Use with care!" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:309 +msgid "" +"Passing raw iptables arguments to source and destination traffic " +"classification rules allows to match packets based on other criteria than " +"interfaces or subnets. These options should be used with extreme care as " +"invalid values could render the firewall ruleset broken, completely exposing " +"all services." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:188 +msgid "Path to file of CIDRs, subnets, host IPs, etc.
" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:155 +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:26 +msgid "Port Forwards" +msgstr "Presmerovania portov" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:153 +msgid "" +"Port forwarding allows remote computers on the Internet to connect to a " +"specific computer or service within the private LAN." +msgstr "" +"Presmerovanie portov (port forwarding) umožňuje vzdialeným počítačom na " +"internete pripojenie k určitému počítaču alebo službe v rámci súkromnej " +"siete LAN." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:158 +msgid "Port range" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:237 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:289 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:242 +msgid "Protocol" +msgstr "Protokol" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:298 +msgid "" +"Redirect matched incoming traffic to the given port on the internal host" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:293 +msgid "Redirect matched incoming traffic to the specified internal host" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:122 +msgid "Refer To External Set" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:320 +msgid "Reflection zones" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:85 +msgid "Requires hardware NAT support." +msgstr "Vyžaduje hardvérovú podporu NAT." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:272 +msgid "Restrict Masquerading to given destination subnets" +msgstr "Obmedziť maškarádu na zadané cieľové podsiete" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:261 +msgid "Restrict Masquerading to given source subnets" +msgstr "Obmedziť maškarádu na zadané zdrojové podsiete" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:188 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:277 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:216 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:255 +msgid "Restrict to address family" +msgstr "Obmedziť na rodinu adries" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:297 +msgid "Rewrite IP address" +msgstr "Prepísať adresu IP" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:298 +msgid "Rewrite matched traffic to the specified source IP address." +msgstr "Prepísanie zhodného prenosu do určenej zdrojovej adresy IP." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:312 +msgid "Rewrite matched traffic to the specified source port or port range." +msgstr "" +"Prepísanie zhodného prenosu do určeného zdrojového portu alebo rozsahu " +"portov." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:311 +msgid "Rewrite port" +msgstr "Prepísať port" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:76 +msgid "Routing/NAT Offloading" +msgstr "Odľahčenie smerovania/NAT" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:290 +msgid "SNAT - Rewrite to specific source IP or port" +msgstr "SNAT - Prepísanie do určenej zdrojovej adresy IP alebo portu" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:486 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:359 +msgid "Saturday" +msgstr "Sobota" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:316 +msgid "Set mark" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:318 +msgid "" +"Set the given mark value on established connections. Format is value[/mask]. " +"If a mask is specified then only those bits set in the mask are modified." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:84 +msgid "Software based offloading for routing/NAT." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:84 +msgid "Software flow offloading" +msgstr "Softvérové odľahčenie toku" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:260 +msgid "Source IP address" +msgstr "Zdrojová adresa IP" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:255 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:386 +msgid "Source MAC address" +msgstr "Zdrojová adresa MAC" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:387 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:253 +msgid "Source address" +msgstr "Zdrojová adresa" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:265 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:389 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:261 +msgid "Source port" +msgstr "Zdrojový port" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:241 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:372 +msgid "Source zone" +msgstr "Zdrojová zóna" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:270 +msgid "" +"Specifies whether to tie this traffic rule to a specific inbound or outbound " +"network device." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:311 +msgid "" +"Specifies whether to use the external or the internal IP address for " +"reflected traffic." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:510 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:383 +msgid "Start Date (yyyy-mm-dd)" +msgstr "Dátum spustenia (yyyy-mm-dd)" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:502 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:375 +msgid "Start Time (hh:mm:ss)" +msgstr "Čas spustenia (hh:mm:ss)" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:514 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:387 +msgid "Stop Date (yyyy-mm-dd)" +msgstr "Dátum zastavenia (yyyy-mm-dd)" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:506 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:379 +msgid "Stop Time (hh:mm:ss)" +msgstr "Čas zastavenia (hh:mm:ss)" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:130 +msgid "Storage Method" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:480 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:353 +msgid "Sunday" +msgstr "Nedeľa" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:694 +msgid "" +"The existing firewall configuration needs to be changed for LuCI to function " +"properly." +msgstr "" +"Existujúca konfigurácia brány firewall musí byť zmenená, aby mohlo rozhranie " +"LuCI fungovať správne." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:39 +msgid "" +"The firewall creates zones over your network interfaces to control network " +"traffic flow." +msgstr "" +"Brána firewall vytvorí zóny medzi vašimi sieťovými rozhraniami na ovládanie " +"toku sieťového prenosu." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:227 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:340 +msgid "" +"The options below control the forwarding policies between this zone (%s) and " +"other zones. Destination zones cover forwarded traffic " +"originating from %q. Source zones match forwarded " +"traffic from other zones targeted at %q. The forwarding " +"rule is unidirectional, e.g. a forward from lan to wan does " +"not imply a permission to forward from wan to lan as well." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:125 +msgid "" +"This section defines common properties of %q. The input and " +"output options set the default policies for traffic entering and " +"leaving this zone while the forward option describes the policy for " +"forwarded traffic between different networks within the zone. Covered " +"networks specifies which available networks are members of this zone." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:484 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:357 +msgid "Thursday" +msgstr "Štvrtok" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:184 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:183 +msgid "Time Restrictions" +msgstr "Časové obmedzenia" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:518 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:391 +msgid "Time in UTC" +msgstr "Čas v UTC" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:244 +msgid "Time restrictions are enabled for this rule" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:196 +msgid "Timeout" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:77 +msgid "" +"To %{dest}%{dest_device?, interface %{dest_device}}%{dest_ip?, IP " +"%{dest_ip#%{next?, }%{item.ival}
}}%{dest_port?, port %{dest_port#%{next?, }" +"%{item." +"ival}}}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:55 +msgid "" +"To %{dest}%{dest_device?, via interface %{dest_device}}%{dest_ip?, IP %{dest_ip#%{next?, }%{item.ival}}}%{dest_port?, port " +"%{dest_port#%{next?, }%{item.ival}}}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:61 +msgid "" +"To %{dest}%{dest_ip?, IP %{dest_ip#%{next?, }%{item.ival}}}%{dest_port?, port %{dest_port#%{next?, }%{item.ival}}}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:439 +msgid "Tracking helper" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:176 +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:35 +msgid "Traffic Rules" +msgstr "Pravidlá prenosu" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:174 +msgid "" +"Traffic rules define policies for packets travelling between different " +"zones, for example to reject traffic between certain hosts or to open WAN " +"ports on the router." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:482 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:355 +msgid "Tuesday" +msgstr "Utorok" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/custom.js:19 +msgid "Unable to save contents: %s" +msgstr "Nie je možné uložiť obsah: %s" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:197 +msgid "" +"Unit: seconds. Default 0 means the entry is added permanently " +"to the set.
Max: 2147483 seconds." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:341 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:461 +msgid "Unknown or not installed conntrack helper \"%s\"" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:186 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:190 +msgid "Unnamed NAT" +msgstr "Nepomenované NAT" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:169 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:184 +msgid "Unnamed forward" +msgstr "Nepomenované presmerovanie" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:191 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:211 +msgid "Unnamed rule" +msgstr "Nepomenované pravidlo" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:57 +msgid "Unnamed set" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:130 +msgid "Unnamed zone" +msgstr "Nepomenovaná zóna" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:597 +msgid "Unrecognized protocol" +msgstr "Nerozpoznaný protokol" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:695 +msgid "" +"Upon pressing \"Continue\", \"redirect\" sections with target \"SNAT\" will " +"be converted to \"nat\" sections and the firewall will be restarted to apply " +"the updated configuration." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:315 +msgid "Use external IP address" +msgstr "Použiť vonkajšiu adresu IP" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:314 +msgid "Use internal IP address" +msgstr "Použiť vnútornú adresu IP" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:247 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:378 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:322 +msgid "Use ipset" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:231 +msgid "" +"Use this option to classify zone traffic by raw, non-uci managed " +"network devices." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:236 +msgid "" +"Use this option to classify zone traffic by source or destination subnet " +"instead of networks or devices." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:331 +msgid "Valid firewall mark required" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:483 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:356 +msgid "Wednesday" +msgstr "Streda" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:475 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:348 +msgid "Week Days" +msgstr "Dni v týždni" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:420 +msgid "XOR firewall mark" +msgstr "Značka XOR brány firewall" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:316 +msgid "XOR mark" +msgstr "Značka XOR" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:28 +msgid "Your device does not run firewall4." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:26 +msgid "Your device runs firewall4." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:143 +msgid "Zone ⇒ Forwardings" +msgstr "Zóna ⇒ Presmerovania" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:101 +msgid "Zones" +msgstr "Zóny" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:320 +msgid "" +"Zones from which reflection rules shall be created. If unset, only the " +"destination zone is used." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:415 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:70 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:159 +msgid "accept" +msgstr "prijať" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:268 +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:463 +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:486 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:270 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:301 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:328 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:392 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:407 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:441 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:448 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:266 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:282 +msgid "any" +msgstr "nezáleží" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:53 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:86 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:65 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:78 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:46 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:56 +msgid "any zone" +msgstr "akákoľvek zóna" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:298 +msgid "any/all" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:419 +msgid "apply firewall mark" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:418 +msgid "assign conntrack helper" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:194 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:222 +msgid "automatic" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:131 +msgid "bitmap" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:137 +msgid "bitmap is ipv4 only" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:72 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:89 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:67 +msgid "day" +msgstr "deň" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:93 +msgid "dest_ip: Destination IP" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:95 +msgid "dest_mac: Destination MAC addr" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:96 +msgid "dest_net: Destination (sub)net" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:94 +msgid "dest_port: Destination Port" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:98 +msgid "dest_set: Destination ipset*" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:315 +msgid "do not rewrite" +msgstr "neprepísať" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:417 +msgid "don't track" +msgstr "nesledovať" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:414 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:69 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:158 +msgid "drop" +msgstr "zahodiť" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:21 +msgid "" +"firewall4 supports referencing and creating IP sets to simplify matching of " +"large address lists without the need to create one rule per item to match. " +"Port ranges in ipsets are unsupported by firewall4.
" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:159 +msgid "fromport-toport" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:132 +msgid "hash" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:72 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:89 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:67 +msgid "hour" +msgstr "hodinu" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:81 +msgid "ip: IP addr" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:153 +msgid "ip[/cidr]
" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:145 +msgid "ip[/cidr]
For use with Match datatypes: *_ip." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:70 +msgid "ipv4" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:133 +msgid "list" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:83 +msgid "mac: MAC addr" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:108 +msgid "macaddr|ip[/cidr]
" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:72 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:89 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:67 +msgid "minute" +msgstr "minútu" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:84 +msgid "net: (sub)net" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:82 +msgid "port: Port" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:416 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:68 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:157 +msgid "reject" +msgstr "zamietnuť" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:72 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:89 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:67 +msgid "second" +msgstr "sekundu" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:86 +msgid "set: ipset*" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:92 +msgid "src_Set: Source ipset*" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:87 +msgid "src_ip: Source IP" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:89 +msgid "src_mac: Source MAC addr" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:90 +msgid "src_net: Source (sub)net" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:88 +msgid "src_port: Source Port" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:53 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:62 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:86 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:65 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:78 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:56 +msgid "this device" +msgstr "toto zariadenie" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:124 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:226 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:339 +msgid "this new zone" +msgstr "táto nová zóna" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:354 +msgid "unlimited" +msgstr "bez obmedzenia" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:251 +msgid "unspecified" +msgstr "neurčené" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:114 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:173 +msgid "up to 65536 entries." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:339 +msgid "valid firewall mark" +msgstr "" + +#~ msgid "Software based offloading for routing/NAT" +#~ msgstr "Softvérové odľahčenie smerovania/NAT" diff --git a/luci-app-firewall/po/sr/firewall.po b/luci-app-firewall/po/sr/firewall.po new file mode 100644 index 000000000..bedc9f0f4 --- /dev/null +++ b/luci-app-firewall/po/sr/firewall.po @@ -0,0 +1,1431 @@ +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2010-03-30 17:00+0200\n" +"PO-Revision-Date: 2023-11-30 14:34+0000\n" +"Last-Translator: Automatically generated\n" +"Language-Team: none\n" +"Language: sr\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && " +"n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" +"X-Generator: Weblate 5.3-dev\n" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:48 +msgid "" +"%{src?%{dest?Forwarded:Incoming}:Outgoing} %{ipv6?%{ipv4?IPv4 and " +"IPv6:IPv6}:IPv4}%{proto?, protocol " +"%{proto#%{next?, }%{item.types?%{item." +"name}ICMP with types %{item.types#%{next?, }" +"%{item}}:%{item.name}}}}%{mark?, mark " +"%{mark.val}}%{dscp?, DSCP %{dscp." +"inv?%{dscp.val}:%{dscp.val}}}%{helper?, helper " +"%{helper.inv?%{helper.val}:%{helper." +"val}}}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:463 +msgid "-- add IP --" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:521 +msgid "-- add MAC --" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:199 +msgid "0" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:182 +msgid "1024" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:118 +msgid "" +"Accept %{src?%{dest?forward:input}:output}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:93 +msgid "Prevent source rewrite" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:85 +msgid "" +"Forward to %{dest}%{dest_ip? IP " +"%{dest_ip}}%{dest_port? port %{dest_port}}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:115 +msgid "" +"Drop %{src?%{dest?forward:input}:output}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:133 +msgid "" +"Assign DSCP classification %{set_dscp}" +"" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:127 +msgid "" +"Assign conntrack helper " +"%{set_helper}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:130 +msgid "" +"%{set_mark?Assign:XOR} firewall mark " +"%{set_mark?:%{set_xmark}}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:90 +msgid "Automatically rewrite source IP" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:124 +msgid "" +"Do not track %{src?%{dest?forward:input}:" +"output}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:121 +msgid "" +"Reject %{src?%{dest?forward:input}:output}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:87 +msgid "" +"Statically rewrite to source %{snat_ip?IP " +"%{snat_ip}} %{snat_port?port %{snat_port}}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:306 +msgid "A rewrite IP must be specified!" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:292 +msgid "ACCEPT - Disable address rewriting" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:224 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:225 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:411 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:204 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:287 +msgid "Action" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:322 +msgid "" +"Additional raw iptables arguments to classify zone destination " +"traffic, e.g. -p tcp --dport 443 to only match outbound HTTPS " +"traffic." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:312 +msgid "" +"Additional raw iptables arguments to classify zone source traffic, " +"e.g. -p tcp --sport 443 to only match inbound HTTPS traffic." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:107 +msgid "Address family, Internal IP address must match" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:135 +msgid "" +"Address family, source address, destination address, rewrite IP address must " +"match" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:162 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:183 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:182 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:114 +msgid "Advanced Settings" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:283 +msgid "Allow \"invalid\" traffic" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:385 +msgid "Allow forward from source zones:" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:344 +msgid "Allow forward to destination zones:" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:551 +msgid "Any" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:479 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:495 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:352 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:368 +msgid "Any day" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:317 +msgid "" +"Apply a bitwise XOR of the given value and the existing mark value on " +"established connections. Format is value[/mask]. If a mask is specified then " +"those bits set in the mask are zeroed out." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:264 +msgid "Apply the given DSCP class or value to established connections." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:439 +msgid "Assign the specified connection tracking helper to matched traffic." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:286 +msgid "Automatic helper assignment" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:286 +msgid "" +"Automatically assign conntrack helpers based on traffic protocol and port" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:61 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:62 +msgid "Comment" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:115 +msgid "Conntrack Settings" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:290 +msgid "Conntrack helpers" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/custom.js:16 +msgid "Contents have been saved." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:700 +msgid "Continue" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:204 +msgid "Counters" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:231 +msgid "Covered devices" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:183 +msgid "Covered networks" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:236 +msgid "Covered subnets" +msgstr "" + +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:62 +msgid "Custom Rules" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/custom.js:26 +msgid "" +"Custom rules allow you to execute arbitrary iptables commands which are not " +"otherwise covered by the firewall framework. The commands are executed after " +"each firewall restart, right after the default ruleset has been loaded." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:421 +msgid "DSCP classification" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:263 +msgid "DSCP mark" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:297 +msgid "DSCP mark required" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:402 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:270 +msgid "Destination address" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:404 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:278 +msgid "Destination port" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:396 +msgid "Destination zone" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:269 +msgid "Device name" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:283 +msgid "" +"Do not install extra rules to reject forwarded traffic with conntrack state " +"invalid. This may be required for complex asymmetric route setups." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:59 +msgid "Drop invalid packets" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:232 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:231 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:210 +msgid "Enable" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:306 +msgid "Enable NAT Loopback" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:45 +msgid "Enable SYN-flood protection" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:296 +msgid "Enable logging on this zone" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:168 +msgid "" +"Enable network address and port translation IPv4 (NAT4 or NAPT4) for " +"outbound traffic on this zone. This is typically enabled on the wan " +"zone." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:243 +msgid "" +"Enable network address and port translation IPv6 (NAT6 or NAPT6) for " +"outbound traffic on this zone." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:211 +msgid "Enabled" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:205 +msgid "Enables packet and byte count tracking for the set." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:339 +msgid "Expecting: %s" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:290 +msgid "Explicitly choses allowed connection tracking helpers for zone traffic" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:274 +msgid "External IP address" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:279 +msgid "External port" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:349 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:470 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:342 +msgid "Extra arguments" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:322 +msgid "Extra destination arguments" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:116 +msgid "Extra iptables arguments" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:312 +msgid "Extra source arguments" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:67 +msgid "Family" +msgstr "" + +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:3 +msgid "Firewall" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/custom.js:25 +msgid "Firewall - Custom Rules" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:20 +msgid "Firewall - IP sets" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:172 +msgid "Firewall - NAT Rules" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:152 +msgid "Firewall - Port Forwards" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:173 +msgid "Firewall - Traffic Rules" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:38 +msgid "Firewall - Zone Settings" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:693 +msgid "Firewall configuration migration" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:82 +msgid "Flow offloading type" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:64 +msgid "Forward" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:34 +msgid "" +"Forwarded %{ipv6?%{ipv4?IPv4 and IPv6:IPv6}:" +"IPv4}%{proto?, protocol %{proto#%{next?, }%{item.name}}}%{mark?, mark %{mark.val}" +"}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:485 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:358 +msgid "Friday" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:45 +msgid "" +"From %{src}%{src_device?, interface %{src_device}}%{src_ip?, IP " +"%{src_ip#%{next?, }%{item.ival}}}%{src_port?, port %{src_port#%{next?, }" +"%{item." +"ival}}}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:64 +msgid "" +"From %{src}%{src_device?, interface %{src_device}}%{src_ip?, IP " +"%{src_ip#%{next?, }%{item.ival}}}%{src_port?, port %{src_port#%{next?, }" +"%{item." +"ival}}}%{src_mac?, MAC %{src_mac#%{next?, }%{item.ival}" +"}}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:52 +msgid "" +"From %{src}%{src_ip?, IP %{src_ip#%{next?, }%{item.ival}}}%{src_port?, port %{src_port#%{next?, }%{item.ival}}}%{src_mac?, " +"MAC %{src_mac#%{next?, }%{item.ival}}}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:161 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:182 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:181 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:41 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:113 +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:17 +msgid "General Settings" +msgstr "" + +#: applications/luci-app-firewall/root/usr/share/rpcd/acl.d/luci-app-firewall.json:3 +msgid "Grant access to firewall configuration" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:85 +msgid "Hardware based offloading for routing with/without NAT." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:85 +msgid "Hardware flow offloading" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:144 +msgid "IP (range)" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:32 +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:53 +msgid "IP Sets" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:152 +msgid "IPs/Networks" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:107 +msgid "IPs/Networks/MACs" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:68 +msgid "IPv4" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:191 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:280 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:219 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:256 +msgid "IPv4 and IPv6" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:192 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:281 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:220 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:257 +msgid "IPv4 only" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:69 +msgid "IPv6" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:242 +msgid "IPv6 Masquerading" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:193 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:282 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:221 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:258 +msgid "IPv6 only" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:252 +msgid "Inbound device" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:187 +msgid "Include File" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:40 +msgid "" +"Incoming %{ipv6?%{ipv4?IPv4 and IPv6:IPv6}:" +"IPv4}%{proto?, protocol %{proto#%{next?, }%{item.types?%{item.name}ICMP " +"with types %{item.types#%{next?, }%{item}}:" +"%{item.name}}}}%{mark?, mark %{mark.val}}%{helper?, helper %{helper.inv?%{helper.val}:%{helper.val}}}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:180 +msgid "Initial Hash Size" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:62 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:151 +msgid "Input" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:292 +msgid "Internal IP address" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:297 +msgid "Internal port" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:287 +msgid "Internal zone" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:153 +msgid "Intra zone forward" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:305 +msgid "Invalid DSCP mark" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:373 +msgid "Invalid limit value" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:47 +msgid "Invalid set name" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:383 +msgid "Limit burst" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:299 +msgid "Limit log messages" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:349 +msgid "Limit matching" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:79 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:96 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:74 +msgid "" +"Limit matching to %{limit.num} packets per %{limit.unit}%{limit.burst? burst %{limit.burst}}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:175 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:250 +msgid "Limited masquerading enabled" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:350 +msgid "Limits traffic matching to the specified rate." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:311 +msgid "Loopback source IP" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:291 +msgid "MASQUERADE - Automatically rewrite to outbound interface IP" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:180 +msgid "MSS clamping" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:167 +msgid "Masquerading" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:213 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:214 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:193 +msgid "Match" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:263 +msgid "Match DSCP" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:293 +msgid "Match ICMP type" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:249 +msgid "Match device" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:271 +msgid "Match forwarded traffic directed at the given IP address." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:279 +msgid "" +"Match forwarded traffic directed at the given destination port or port range." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:254 +msgid "Match forwarded traffic from this IP or range." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:262 +msgid "" +"Match forwarded traffic originating from the given source port or port range." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:326 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:446 +msgid "Match helper" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:280 +msgid "" +"Match incoming traffic directed at the given destination port or port range " +"on this host" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:316 +msgid "Match mark" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:326 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:446 +msgid "Match traffic using the specified connection tracking helper." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:319 +msgid "Matches a specific firewall mark or a range of different marks." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:332 +msgid "Matches forwarded traffic using the specified outbound network device." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:264 +msgid "Matches traffic carrying the specified DSCP marking." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:113 +msgid "Max Entries" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:172 +msgid "Max Length" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:384 +msgid "" +"Maximum initial number of packets to match: this number gets recharged by " +"one every time the limit specified above is not reached, up to this number." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:481 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:354 +msgid "Monday" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:491 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:364 +msgid "Month Days" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:175 +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:44 +msgid "NAT Rules" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:173 +msgid "" +"NAT rules allow fine grained control over the source IP to use for outbound " +"or forwarded traffic." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:183 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:42 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:52 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:210 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:189 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:129 +msgid "Name" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:166 +msgid "Netmask" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:83 +msgid "None" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:77 +msgid "Not fully compatible with QoS/SQM." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:275 +msgid "Only match incoming traffic directed at the given IP address." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:256 +msgid "Only match incoming traffic from these MACs." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:261 +msgid "Only match incoming traffic from this IP or range." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:266 +msgid "" +"Only match incoming traffic originating from the given source port or port " +"range on the client host" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:253 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:331 +msgid "Outbound device" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:246 +msgid "Outbound zone" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:63 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:152 +msgid "Output" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:75 +msgid "Packet Field Match" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:76 +msgid "" +"Packet fields to match upon.
Syntax: direction_datatype. e.g.: " +"src_port, dest_net.
Directions: src, dst. " +"Datatypes: ip, port, mac, net, set.
Direction prefixes are " +"optional.
*Note: datatype set is unsupported in fw4." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:350 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:471 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:343 +msgid "Passes additional arguments to iptables. Use with care!" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:309 +msgid "" +"Passing raw iptables arguments to source and destination traffic " +"classification rules allows to match packets based on other criteria than " +"interfaces or subnets. These options should be used with extreme care as " +"invalid values could render the firewall ruleset broken, completely exposing " +"all services." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:188 +msgid "Path to file of CIDRs, subnets, host IPs, etc.
" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:155 +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:26 +msgid "Port Forwards" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:153 +msgid "" +"Port forwarding allows remote computers on the Internet to connect to a " +"specific computer or service within the private LAN." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:158 +msgid "Port range" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:237 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:289 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:242 +msgid "Protocol" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:298 +msgid "" +"Redirect matched incoming traffic to the given port on the internal host" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:293 +msgid "Redirect matched incoming traffic to the specified internal host" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:122 +msgid "Refer To External Set" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:320 +msgid "Reflection zones" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:85 +msgid "Requires hardware NAT support." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:272 +msgid "Restrict Masquerading to given destination subnets" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:261 +msgid "Restrict Masquerading to given source subnets" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:188 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:277 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:216 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:255 +msgid "Restrict to address family" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:297 +msgid "Rewrite IP address" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:298 +msgid "Rewrite matched traffic to the specified source IP address." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:312 +msgid "Rewrite matched traffic to the specified source port or port range." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:311 +msgid "Rewrite port" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:76 +msgid "Routing/NAT Offloading" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:290 +msgid "SNAT - Rewrite to specific source IP or port" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:486 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:359 +msgid "Saturday" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:316 +msgid "Set mark" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:318 +msgid "" +"Set the given mark value on established connections. Format is value[/mask]. " +"If a mask is specified then only those bits set in the mask are modified." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:84 +msgid "Software based offloading for routing/NAT." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:84 +msgid "Software flow offloading" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:260 +msgid "Source IP address" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:255 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:386 +msgid "Source MAC address" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:387 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:253 +msgid "Source address" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:265 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:389 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:261 +msgid "Source port" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:241 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:372 +msgid "Source zone" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:270 +msgid "" +"Specifies whether to tie this traffic rule to a specific inbound or outbound " +"network device." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:311 +msgid "" +"Specifies whether to use the external or the internal IP address for " +"reflected traffic." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:510 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:383 +msgid "Start Date (yyyy-mm-dd)" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:502 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:375 +msgid "Start Time (hh:mm:ss)" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:514 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:387 +msgid "Stop Date (yyyy-mm-dd)" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:506 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:379 +msgid "Stop Time (hh:mm:ss)" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:130 +msgid "Storage Method" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:480 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:353 +msgid "Sunday" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:694 +msgid "" +"The existing firewall configuration needs to be changed for LuCI to function " +"properly." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:39 +msgid "" +"The firewall creates zones over your network interfaces to control network " +"traffic flow." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:227 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:340 +msgid "" +"The options below control the forwarding policies between this zone (%s) and " +"other zones. Destination zones cover forwarded traffic " +"originating from %q. Source zones match forwarded " +"traffic from other zones targeted at %q. The forwarding " +"rule is unidirectional, e.g. a forward from lan to wan does " +"not imply a permission to forward from wan to lan as well." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:125 +msgid "" +"This section defines common properties of %q. The input and " +"output options set the default policies for traffic entering and " +"leaving this zone while the forward option describes the policy for " +"forwarded traffic between different networks within the zone. Covered " +"networks specifies which available networks are members of this zone." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:484 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:357 +msgid "Thursday" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:184 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:183 +msgid "Time Restrictions" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:518 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:391 +msgid "Time in UTC" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:244 +msgid "Time restrictions are enabled for this rule" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:196 +msgid "Timeout" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:77 +msgid "" +"To %{dest}%{dest_device?, interface %{dest_device}}%{dest_ip?, IP " +"%{dest_ip#%{next?, }%{item.ival}
}}%{dest_port?, port %{dest_port#%{next?, }" +"%{item." +"ival}}}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:55 +msgid "" +"To %{dest}%{dest_device?, via interface %{dest_device}}%{dest_ip?, IP %{dest_ip#%{next?, }%{item.ival}}}%{dest_port?, port " +"%{dest_port#%{next?, }%{item.ival}}}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:61 +msgid "" +"To %{dest}%{dest_ip?, IP %{dest_ip#%{next?, }%{item.ival}}}%{dest_port?, port %{dest_port#%{next?, }%{item.ival}}}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:439 +msgid "Tracking helper" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:176 +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:35 +msgid "Traffic Rules" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:174 +msgid "" +"Traffic rules define policies for packets travelling between different " +"zones, for example to reject traffic between certain hosts or to open WAN " +"ports on the router." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:482 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:355 +msgid "Tuesday" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/custom.js:19 +msgid "Unable to save contents: %s" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:197 +msgid "" +"Unit: seconds. Default 0 means the entry is added permanently " +"to the set.
Max: 2147483 seconds." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:341 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:461 +msgid "Unknown or not installed conntrack helper \"%s\"" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:186 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:190 +msgid "Unnamed NAT" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:169 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:184 +msgid "Unnamed forward" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:191 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:211 +msgid "Unnamed rule" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:57 +msgid "Unnamed set" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:130 +msgid "Unnamed zone" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:597 +msgid "Unrecognized protocol" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:695 +msgid "" +"Upon pressing \"Continue\", \"redirect\" sections with target \"SNAT\" will " +"be converted to \"nat\" sections and the firewall will be restarted to apply " +"the updated configuration." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:315 +msgid "Use external IP address" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:314 +msgid "Use internal IP address" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:247 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:378 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:322 +msgid "Use ipset" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:231 +msgid "" +"Use this option to classify zone traffic by raw, non-uci managed " +"network devices." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:236 +msgid "" +"Use this option to classify zone traffic by source or destination subnet " +"instead of networks or devices." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:331 +msgid "Valid firewall mark required" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:483 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:356 +msgid "Wednesday" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:475 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:348 +msgid "Week Days" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:420 +msgid "XOR firewall mark" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:316 +msgid "XOR mark" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:28 +msgid "Your device does not run firewall4." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:26 +msgid "Your device runs firewall4." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:143 +msgid "Zone ⇒ Forwardings" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:101 +msgid "Zones" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:320 +msgid "" +"Zones from which reflection rules shall be created. If unset, only the " +"destination zone is used." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:415 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:70 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:159 +msgid "accept" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:268 +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:463 +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:486 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:270 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:301 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:328 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:392 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:407 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:441 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:448 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:266 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:282 +msgid "any" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:53 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:86 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:65 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:78 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:46 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:56 +msgid "any zone" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:298 +msgid "any/all" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:419 +msgid "apply firewall mark" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:418 +msgid "assign conntrack helper" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:194 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:222 +msgid "automatic" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:131 +msgid "bitmap" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:137 +msgid "bitmap is ipv4 only" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:72 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:89 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:67 +msgid "day" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:93 +msgid "dest_ip: Destination IP" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:95 +msgid "dest_mac: Destination MAC addr" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:96 +msgid "dest_net: Destination (sub)net" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:94 +msgid "dest_port: Destination Port" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:98 +msgid "dest_set: Destination ipset*" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:315 +msgid "do not rewrite" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:417 +msgid "don't track" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:414 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:69 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:158 +msgid "drop" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:21 +msgid "" +"firewall4 supports referencing and creating IP sets to simplify matching of " +"large address lists without the need to create one rule per item to match. " +"Port ranges in ipsets are unsupported by firewall4.
" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:159 +msgid "fromport-toport" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:132 +msgid "hash" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:72 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:89 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:67 +msgid "hour" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:81 +msgid "ip: IP addr" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:153 +msgid "ip[/cidr]
" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:145 +msgid "ip[/cidr]
For use with Match datatypes: *_ip." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:70 +msgid "ipv4" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:133 +msgid "list" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:83 +msgid "mac: MAC addr" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:108 +msgid "macaddr|ip[/cidr]
" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:72 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:89 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:67 +msgid "minute" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:84 +msgid "net: (sub)net" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:82 +msgid "port: Port" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:416 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:68 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:157 +msgid "reject" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:72 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:89 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:67 +msgid "second" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:86 +msgid "set: ipset*" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:92 +msgid "src_Set: Source ipset*" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:87 +msgid "src_ip: Source IP" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:89 +msgid "src_mac: Source MAC addr" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:90 +msgid "src_net: Source (sub)net" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:88 +msgid "src_port: Source Port" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:53 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:62 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:86 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:65 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:78 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:56 +msgid "this device" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:124 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:226 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:339 +msgid "this new zone" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:354 +msgid "unlimited" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:251 +msgid "unspecified" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:114 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:173 +msgid "up to 65536 entries." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:339 +msgid "valid firewall mark" +msgstr "" diff --git a/luci-app-firewall/po/sv/firewall.po b/luci-app-firewall/po/sv/firewall.po new file mode 100644 index 000000000..36c2ffbf7 --- /dev/null +++ b/luci-app-firewall/po/sv/firewall.po @@ -0,0 +1,1487 @@ +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"PO-Revision-Date: 2024-10-23 12:34+0000\n" +"Last-Translator: Kristoffer Grundström \n" +"Language-Team: Swedish \n" +"Language: sv\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Generator: Weblate 5.8.2-dev\n" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:48 +msgid "" +"%{src?%{dest?Forwarded:Incoming}:Outgoing} %{ipv6?%{ipv4?IPv4 and " +"IPv6:IPv6}:IPv4}%{proto?, protocol " +"%{proto#%{next?, }%{item.types?%{item." +"name}ICMP with types %{item.types#%{next?, }" +"%{item}}:%{item.name}}}}%{mark?, mark " +"%{mark.val}}%{dscp?, DSCP %{dscp." +"inv?%{dscp.val}:%{dscp.val}}}%{helper?, helper " +"%{helper.inv?%{helper.val}:%{helper." +"val}}}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:463 +msgid "-- add IP --" +msgstr "-- lägg till IP-adress --" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:521 +msgid "-- add MAC --" +msgstr "-- lägg till MAC --" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:199 +msgid "0" +msgstr "0" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:182 +msgid "1024" +msgstr "1024" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:118 +msgid "" +"Accept %{src?%{dest?forward:input}:output}" +msgstr "" +"Acceptera %{src?%{dest?forward:input}:" +"output}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:93 +msgid "Prevent source rewrite" +msgstr "Förhindra omskrivning av källan" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:85 +msgid "" +"Forward to %{dest}%{dest_ip? IP " +"%{dest_ip}}%{dest_port? port %{dest_port}}" +msgstr "" +"Vidarebefordra till %{dest}%{dest_ip? IP-" +"adress %{dest_ip}}%{dest_port? port %{dest_port}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:115 +msgid "" +"Drop %{src?%{dest?forward:input}:output}" +msgstr "" +"Släpp %{src?%{dest?forward:input}:output}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:133 +msgid "" +"Assign DSCP classification %{set_dscp}" +"" +msgstr "" +"Tilldela DSCP classification " +"%{set_dscp}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:127 +msgid "" +"Assign conntrack helper " +"%{set_helper}" +msgstr "" +"Tilldela conntrack-hjälpare " +"%{set_helper}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:130 +msgid "" +"%{set_mark?Assign:XOR} firewall mark " +"%{set_mark?:%{set_xmark}}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:90 +msgid "Automatically rewrite source IP" +msgstr "" +"Skriv om källans IP-adress automatiskt" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:124 +msgid "" +"Do not track %{src?%{dest?forward:input}:" +"output}" +msgstr "" +"Spåra inte %{src?%{dest?forward:input}:" +"output}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:121 +msgid "" +"Reject %{src?%{dest?forward:input}:output}" +msgstr "" +"Neka %{src?%{dest?forward:input}:output}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:87 +msgid "" +"Statically rewrite to source %{snat_ip?IP " +"%{snat_ip}} %{snat_port?port %{snat_port}}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:306 +msgid "A rewrite IP must be specified!" +msgstr "En IP som kan skrivas om måste specifieras!" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:292 +msgid "ACCEPT - Disable address rewriting" +msgstr "ACCEPT - Inaktivera adressomskrivning" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:224 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:225 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:411 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:204 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:287 +msgid "Action" +msgstr "Åtgärd" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:322 +msgid "" +"Additional raw iptables arguments to classify zone destination " +"traffic, e.g. -p tcp --dport 443 to only match outbound HTTPS " +"traffic." +msgstr "" +"Ytterligare oformaterade iptables-argument för att klassifiera " +"destinationszonens trafik, t.ex. -p tcp --dport 443 för att " +"bara matcha utgående HTTP-trafik." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:312 +msgid "" +"Additional raw iptables arguments to classify zone source traffic, " +"e.g. -p tcp --sport 443 to only match inbound HTTPS traffic." +msgstr "" +"Ytterligare oformaterade iptables-argument för att klassifiera " +"källzonens trafik, t.ex. -p tcp --dport 443 för att bara matcha " +"inkommande HTTP-trafik." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:107 +msgid "Address family, Internal IP address must match" +msgstr "Adressfamilj, intern IP-adress måste överensstämma" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:135 +msgid "" +"Address family, source address, destination address, rewrite IP address must " +"match" +msgstr "" +"Adressfamilj, källadress, destinationsadress, omskrivnings IP-adress måste " +"överensstämma" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:162 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:183 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:182 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:114 +msgid "Advanced Settings" +msgstr "Avancerade inställningar" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:283 +msgid "Allow \"invalid\" traffic" +msgstr "Tillåt \"ogiltig\" trafik" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:385 +msgid "Allow forward from source zones:" +msgstr "Tillåt vidarebefordring från källzonerna:" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:344 +msgid "Allow forward to destination zones:" +msgstr "Till vidarebefordring till destinationszonerna::" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:551 +msgid "Any" +msgstr "Något" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:479 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:495 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:352 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:368 +msgid "Any day" +msgstr "Vilken dag som helst" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:317 +msgid "" +"Apply a bitwise XOR of the given value and the existing mark value on " +"established connections. Format is value[/mask]. If a mask is specified then " +"those bits set in the mask are zeroed out." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:264 +msgid "Apply the given DSCP class or value to established connections." +msgstr "" +"Applicera den givna DSCP-klassificeringen eller värde till etablerade " +"anslutningar." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:439 +msgid "Assign the specified connection tracking helper to matched traffic." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:286 +msgid "Automatic helper assignment" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:286 +msgid "" +"Automatically assign conntrack helpers based on traffic protocol and port" +msgstr "" +"Applicera automatiskt conntrack-hjälpare baserat på trafikprotokoll och port" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:61 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:62 +msgid "Comment" +msgstr "Kommentar" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:115 +msgid "Conntrack Settings" +msgstr "Inställningar för Conntrack" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:290 +msgid "Conntrack helpers" +msgstr "Conntrack-hjälpare" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/custom.js:16 +msgid "Contents have been saved." +msgstr "Innehållet har sparats." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:700 +msgid "Continue" +msgstr "Fortsätt" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:204 +msgid "Counters" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:231 +msgid "Covered devices" +msgstr "Täckta enheter" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:183 +msgid "Covered networks" +msgstr "Nätverk som omfattas" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:236 +msgid "Covered subnets" +msgstr "Subnät som omfattas" + +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:62 +msgid "Custom Rules" +msgstr "Anpassade regler" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/custom.js:26 +msgid "" +"Custom rules allow you to execute arbitrary iptables commands which are not " +"otherwise covered by the firewall framework. The commands are executed after " +"each firewall restart, right after the default ruleset has been loaded." +msgstr "" +"Skräddarsydda regler tillåter dig att exekvera arbiträra iptables-kommandon " +"som annars inte täcks av brandväggsramverket. Kommandona är exekverade efter " +"varje omstart av brandväggen, direkt efter när standardreglerna har laddats." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:421 +msgid "DSCP classification" +msgstr "DSCP-klassificering" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:263 +msgid "DSCP mark" +msgstr "DSCP-märkning" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:297 +msgid "DSCP mark required" +msgstr "DSCP-märkning obligatorisk" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:402 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:270 +msgid "Destination address" +msgstr "Destinationens adress" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:404 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:278 +msgid "Destination port" +msgstr "Destinationsport" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:396 +msgid "Destination zone" +msgstr "Destinationens zon" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:269 +msgid "Device name" +msgstr "Enhetens namn" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:283 +msgid "" +"Do not install extra rules to reject forwarded traffic with conntrack state " +"invalid. This may be required for complex asymmetric route setups." +msgstr "" +"Installera inte extra regler för att blockerade vidarebefordrad trafik med " +"conntrack-tillståndet invalid. Detta kan behövas för komplexa, " +"asymmetriska ruttuppsättningar." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:59 +msgid "Drop invalid packets" +msgstr "Släpp ogiltiga paket" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:232 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:231 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:210 +msgid "Enable" +msgstr "Aktivera" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:306 +msgid "Enable NAT Loopback" +msgstr "Aktivera NAT Loopback" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:45 +msgid "Enable SYN-flood protection" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:296 +msgid "Enable logging on this zone" +msgstr "Aktivera loggning i den här zonen" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:168 +msgid "" +"Enable network address and port translation IPv4 (NAT4 or NAPT4) for " +"outbound traffic on this zone. This is typically enabled on the wan " +"zone." +msgstr "" +"Aktivera IPv4 nätverksadress och portöversättning (NAT4 eller NAPT4) för " +"utåtgående trafik på denna zon. Detta är vanligtvist aktiverat på wan-zonen." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:243 +msgid "" +"Enable network address and port translation IPv6 (NAT6 or NAPT6) for " +"outbound traffic on this zone." +msgstr "" +"Aktivera IPv6 nätverksadress och portöversättning (NAT6 eller NAPT6) för " +"utåtgående trafik på denna zon." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:211 +msgid "Enabled" +msgstr "Aktiverat" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:205 +msgid "Enables packet and byte count tracking for the set." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:339 +msgid "Expecting: %s" +msgstr "Förväntade: %s" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:290 +msgid "Explicitly choses allowed connection tracking helpers for zone traffic" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:274 +msgid "External IP address" +msgstr "Extern IP-adress" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:279 +msgid "External port" +msgstr "Extern port" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:349 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:470 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:342 +msgid "Extra arguments" +msgstr "Extra argument" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:322 +msgid "Extra destination arguments" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:116 +msgid "Extra iptables arguments" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:312 +msgid "Extra source arguments" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:67 +msgid "Family" +msgstr "" + +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:3 +msgid "Firewall" +msgstr "Brandvägg" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/custom.js:25 +msgid "Firewall - Custom Rules" +msgstr "Brandvägg - Anpassade regler" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:20 +msgid "Firewall - IP sets" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:172 +msgid "Firewall - NAT Rules" +msgstr "Brandvägg - NAT-regler" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:152 +msgid "Firewall - Port Forwards" +msgstr "Brandvägg - Vidarebefordring av port" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:173 +msgid "Firewall - Traffic Rules" +msgstr "Brandvägg - Trafikregler" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:38 +msgid "Firewall - Zone Settings" +msgstr "Brandvägg - Zoninställningar" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:693 +msgid "Firewall configuration migration" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:82 +msgid "Flow offloading type" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:64 +msgid "Forward" +msgstr "Vidarebefordra" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:34 +msgid "" +"Forwarded %{ipv6?%{ipv4?IPv4 and IPv6:IPv6}:" +"IPv4}%{proto?, protocol %{proto#%{next?, }%{item.name}}}%{mark?, mark %{mark.val}" +"}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:485 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:358 +msgid "Friday" +msgstr "Fredag" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:45 +msgid "" +"From %{src}%{src_device?, interface %{src_device}}%{src_ip?, IP " +"%{src_ip#%{next?, }%{item.ival}}}%{src_port?, port %{src_port#%{next?, }" +"%{item." +"ival}}}" +msgstr "" +"Från %{src}%{src_device?, gränssnitt %{src_device}}%{src_ip?, IP-" +"adress %{src_ip#%{next?, }%{item.ival}}}%{src_port?, port " +"%{src_port#%{next?, }%{item.ival}}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:64 +msgid "" +"From %{src}%{src_device?, interface %{src_device}}%{src_ip?, IP " +"%{src_ip#%{next?, }%{item.ival}}}%{src_port?, port %{src_port#%{next?, }" +"%{item." +"ival}}}%{src_mac?, MAC %{src_mac#%{next?, }%{item.ival}" +"}}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:52 +msgid "" +"From %{src}%{src_ip?, IP %{src_ip#%{next?, }%{item.ival}}}%{src_port?, port %{src_port#%{next?, }%{item.ival}}}%{src_mac?, " +"MAC %{src_mac#%{next?, }%{item.ival}}}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:161 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:182 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:181 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:41 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:113 +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:17 +msgid "General Settings" +msgstr "Generella inställningar" + +#: applications/luci-app-firewall/root/usr/share/rpcd/acl.d/luci-app-firewall.json:3 +msgid "Grant access to firewall configuration" +msgstr "Tillåt åtkomst till brandväggskonfigurationen" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:85 +msgid "Hardware based offloading for routing with/without NAT." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:85 +msgid "Hardware flow offloading" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:144 +msgid "IP (range)" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:32 +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:53 +msgid "IP Sets" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:152 +msgid "IPs/Networks" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:107 +msgid "IPs/Networks/MACs" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:68 +msgid "IPv4" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:191 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:280 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:219 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:256 +msgid "IPv4 and IPv6" +msgstr "IPv4 och IPv6" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:192 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:281 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:220 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:257 +msgid "IPv4 only" +msgstr "Endast IPv4" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:69 +msgid "IPv6" +msgstr "IPv6" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:242 +msgid "IPv6 Masquerading" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:193 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:282 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:221 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:258 +msgid "IPv6 only" +msgstr "Endast IPv6" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:252 +msgid "Inbound device" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:187 +msgid "Include File" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:40 +msgid "" +"Incoming %{ipv6?%{ipv4?IPv4 and IPv6:IPv6}:" +"IPv4}%{proto?, protocol %{proto#%{next?, }%{item.types?%{item.name}ICMP " +"with types %{item.types#%{next?, }%{item}}:" +"%{item.name}}}}%{mark?, mark %{mark.val}}%{helper?, helper %{helper.inv?%{helper.val}:%{helper.val}}}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:180 +msgid "Initial Hash Size" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:62 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:151 +msgid "Input" +msgstr "Inmatning" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:292 +msgid "Internal IP address" +msgstr "Intern IP-adress" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:297 +msgid "Internal port" +msgstr "Intern port" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:287 +msgid "Internal zone" +msgstr "Intern zon" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:153 +msgid "Intra zone forward" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:305 +msgid "Invalid DSCP mark" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:373 +msgid "Invalid limit value" +msgstr "Ogiltigt gränsvärde" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:47 +msgid "Invalid set name" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:383 +msgid "Limit burst" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:299 +msgid "Limit log messages" +msgstr "Begränsa loggmeddelanden" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:349 +msgid "Limit matching" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:79 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:96 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:74 +msgid "" +"Limit matching to %{limit.num} packets per %{limit.unit}%{limit.burst? burst %{limit.burst}}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:175 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:250 +msgid "Limited masquerading enabled" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:350 +msgid "Limits traffic matching to the specified rate." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:311 +msgid "Loopback source IP" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:291 +msgid "MASQUERADE - Automatically rewrite to outbound interface IP" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:180 +msgid "MSS clamping" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:167 +msgid "Masquerading" +msgstr "Maskering" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:213 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:214 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:193 +msgid "Match" +msgstr "Matcha" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:263 +msgid "Match DSCP" +msgstr "Matcha DSCP" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:293 +msgid "Match ICMP type" +msgstr "Matchar ICMP-typ" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:249 +msgid "Match device" +msgstr "Matcha enhet" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:271 +msgid "Match forwarded traffic directed at the given IP address." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:279 +msgid "" +"Match forwarded traffic directed at the given destination port or port range." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:254 +msgid "Match forwarded traffic from this IP or range." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:262 +msgid "" +"Match forwarded traffic originating from the given source port or port range." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:326 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:446 +msgid "Match helper" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:280 +msgid "" +"Match incoming traffic directed at the given destination port or port range " +"on this host" +msgstr "" +"Matcha inkommande trafik dirigerad till den angivna destinationsporten eller " +"portens räckvidd på den här värden" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:316 +msgid "Match mark" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:326 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:446 +msgid "Match traffic using the specified connection tracking helper." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:319 +msgid "Matches a specific firewall mark or a range of different marks." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:332 +msgid "Matches forwarded traffic using the specified outbound network device." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:264 +msgid "Matches traffic carrying the specified DSCP marking." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:113 +msgid "Max Entries" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:172 +msgid "Max Length" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:384 +msgid "" +"Maximum initial number of packets to match: this number gets recharged by " +"one every time the limit specified above is not reached, up to this number." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:481 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:354 +msgid "Monday" +msgstr "Måndag" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:491 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:364 +msgid "Month Days" +msgstr "Dagar i månaden" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:175 +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:44 +msgid "NAT Rules" +msgstr "NAT-regler" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:173 +msgid "" +"NAT rules allow fine grained control over the source IP to use for outbound " +"or forwarded traffic." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:183 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:42 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:52 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:210 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:189 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:129 +msgid "Name" +msgstr "Namn" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:166 +msgid "Netmask" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:83 +msgid "None" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:77 +msgid "Not fully compatible with QoS/SQM." +msgstr "Inte fullt kompatibel med QoS/SQM." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:275 +msgid "Only match incoming traffic directed at the given IP address." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:256 +msgid "Only match incoming traffic from these MACs." +msgstr "Matcha endast inkommande trafik från de här MAC-adresserna." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:261 +msgid "Only match incoming traffic from this IP or range." +msgstr "" +"Matcha endast inkommande trafik från den här IP-adressen eller räckvidden." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:266 +msgid "" +"Only match incoming traffic originating from the given source port or port " +"range on the client host" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:253 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:331 +msgid "Outbound device" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:246 +msgid "Outbound zone" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:63 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:152 +msgid "Output" +msgstr "Utmatning" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:75 +msgid "Packet Field Match" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:76 +msgid "" +"Packet fields to match upon.
Syntax: direction_datatype. e.g.: " +"src_port, dest_net.
Directions: src, dst. " +"Datatypes: ip, port, mac, net, set.
Direction prefixes are " +"optional.
*Note: datatype set is unsupported in fw4." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:350 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:471 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:343 +msgid "Passes additional arguments to iptables. Use with care!" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:309 +msgid "" +"Passing raw iptables arguments to source and destination traffic " +"classification rules allows to match packets based on other criteria than " +"interfaces or subnets. These options should be used with extreme care as " +"invalid values could render the firewall ruleset broken, completely exposing " +"all services." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:188 +msgid "Path to file of CIDRs, subnets, host IPs, etc.
" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:155 +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:26 +msgid "Port Forwards" +msgstr "Vidarebefordringar av port" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:153 +msgid "" +"Port forwarding allows remote computers on the Internet to connect to a " +"specific computer or service within the private LAN." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:158 +msgid "Port range" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:237 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:289 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:242 +msgid "Protocol" +msgstr "Protokoll" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:298 +msgid "" +"Redirect matched incoming traffic to the given port on the internal host" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:293 +msgid "Redirect matched incoming traffic to the specified internal host" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:122 +msgid "Refer To External Set" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:320 +msgid "Reflection zones" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:85 +msgid "Requires hardware NAT support." +msgstr "Kräver hårdvarustöd för NAT." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:272 +msgid "Restrict Masquerading to given destination subnets" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:261 +msgid "Restrict Masquerading to given source subnets" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:188 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:277 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:216 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:255 +msgid "Restrict to address family" +msgstr "Begränsa till adressfamilj" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:297 +msgid "Rewrite IP address" +msgstr "Skriv om IP-adress" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:298 +msgid "Rewrite matched traffic to the specified source IP address." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:312 +msgid "Rewrite matched traffic to the specified source port or port range." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:311 +msgid "Rewrite port" +msgstr "Skriv om port" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:76 +msgid "Routing/NAT Offloading" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:290 +msgid "SNAT - Rewrite to specific source IP or port" +msgstr "SNAT - Skriv om till specifik IP-källa eller port" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:486 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:359 +msgid "Saturday" +msgstr "Lördag" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:316 +msgid "Set mark" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:318 +msgid "" +"Set the given mark value on established connections. Format is value[/mask]. " +"If a mask is specified then only those bits set in the mask are modified." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:84 +msgid "Software based offloading for routing/NAT." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:84 +msgid "Software flow offloading" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:260 +msgid "Source IP address" +msgstr "IP-adress för källa" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:255 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:386 +msgid "Source MAC address" +msgstr "MAC-adress för källa" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:387 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:253 +msgid "Source address" +msgstr "Adress för källkod" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:265 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:389 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:261 +msgid "Source port" +msgstr "Käll-port" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:241 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:372 +msgid "Source zone" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:270 +msgid "" +"Specifies whether to tie this traffic rule to a specific inbound or outbound " +"network device." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:311 +msgid "" +"Specifies whether to use the external or the internal IP address for " +"reflected traffic." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:510 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:383 +msgid "Start Date (yyyy-mm-dd)" +msgstr "Startdatum (åååå-mm-dd)" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:502 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:375 +msgid "Start Time (hh:mm:ss)" +msgstr "Starttid (tt.mm.ss)" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:514 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:387 +msgid "Stop Date (yyyy-mm-dd)" +msgstr "Stopptid (åååå-mm-dd)" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:506 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:379 +msgid "Stop Time (hh:mm:ss)" +msgstr "Stopptid (tt.mm.ss)" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:130 +msgid "Storage Method" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:480 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:353 +msgid "Sunday" +msgstr "Söndag" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:694 +msgid "" +"The existing firewall configuration needs to be changed for LuCI to function " +"properly." +msgstr "" +"Den befintliga brandväggskonfigurationen behöver ändras för att LuCi ska " +"fungera som det ska." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:39 +msgid "" +"The firewall creates zones over your network interfaces to control network " +"traffic flow." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:227 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:340 +msgid "" +"The options below control the forwarding policies between this zone (%s) and " +"other zones. Destination zones cover forwarded traffic " +"originating from %q. Source zones match forwarded " +"traffic from other zones targeted at %q. The forwarding " +"rule is unidirectional, e.g. a forward from lan to wan does " +"not imply a permission to forward from wan to lan as well." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:125 +msgid "" +"This section defines common properties of %q. The input and " +"output options set the default policies for traffic entering and " +"leaving this zone while the forward option describes the policy for " +"forwarded traffic between different networks within the zone. Covered " +"networks specifies which available networks are members of this zone." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:484 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:357 +msgid "Thursday" +msgstr "Torsdag" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:184 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:183 +msgid "Time Restrictions" +msgstr "Tidsbegränsningar" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:518 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:391 +msgid "Time in UTC" +msgstr "Tid enligt UTC" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:244 +msgid "Time restrictions are enabled for this rule" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:196 +msgid "Timeout" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:77 +msgid "" +"To %{dest}%{dest_device?, interface %{dest_device}}%{dest_ip?, IP " +"%{dest_ip#%{next?, }%{item.ival}
}}%{dest_port?, port %{dest_port#%{next?, }" +"%{item." +"ival}}}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:55 +msgid "" +"To %{dest}%{dest_device?, via interface %{dest_device}}%{dest_ip?, IP %{dest_ip#%{next?, }%{item.ival}}}%{dest_port?, port " +"%{dest_port#%{next?, }%{item.ival}}}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:61 +msgid "" +"To %{dest}%{dest_ip?, IP %{dest_ip#%{next?, }%{item.ival}}}%{dest_port?, port %{dest_port#%{next?, }%{item.ival}}}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:439 +msgid "Tracking helper" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:176 +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:35 +msgid "Traffic Rules" +msgstr "Trafikregler" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:174 +msgid "" +"Traffic rules define policies for packets travelling between different " +"zones, for example to reject traffic between certain hosts or to open WAN " +"ports on the router." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:482 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:355 +msgid "Tuesday" +msgstr "Tisdag" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/custom.js:19 +msgid "Unable to save contents: %s" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:197 +msgid "" +"Unit: seconds. Default 0 means the entry is added permanently " +"to the set.
Max: 2147483 seconds." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:341 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:461 +msgid "Unknown or not installed conntrack helper \"%s\"" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:186 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:190 +msgid "Unnamed NAT" +msgstr "NAT utan namn" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:169 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:184 +msgid "Unnamed forward" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:191 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:211 +msgid "Unnamed rule" +msgstr "Regel utan namn" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:57 +msgid "Unnamed set" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:130 +msgid "Unnamed zone" +msgstr "Zon utan namn" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:597 +msgid "Unrecognized protocol" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:695 +msgid "" +"Upon pressing \"Continue\", \"redirect\" sections with target \"SNAT\" will " +"be converted to \"nat\" sections and the firewall will be restarted to apply " +"the updated configuration." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:315 +msgid "Use external IP address" +msgstr "Använd en extern IP-adress" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:314 +msgid "Use internal IP address" +msgstr "Använd en intern IP-adress" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:247 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:378 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:322 +msgid "Use ipset" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:231 +msgid "" +"Use this option to classify zone traffic by raw, non-uci managed " +"network devices." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:236 +msgid "" +"Use this option to classify zone traffic by source or destination subnet " +"instead of networks or devices." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:331 +msgid "Valid firewall mark required" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:483 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:356 +msgid "Wednesday" +msgstr "Onsdag" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:475 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:348 +msgid "Week Days" +msgstr "Veckodagar" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:420 +msgid "XOR firewall mark" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:316 +msgid "XOR mark" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:28 +msgid "Your device does not run firewall4." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:26 +msgid "Your device runs firewall4." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:143 +msgid "Zone ⇒ Forwardings" +msgstr "Zon ⇒ Vidarebefordringar" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:101 +msgid "Zones" +msgstr "Zoner" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:320 +msgid "" +"Zones from which reflection rules shall be created. If unset, only the " +"destination zone is used." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:415 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:70 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:159 +msgid "accept" +msgstr "acceptera" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:268 +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:463 +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:486 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:270 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:301 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:328 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:392 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:407 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:441 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:448 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:266 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:282 +msgid "any" +msgstr "något" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:53 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:86 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:65 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:78 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:46 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:56 +msgid "any zone" +msgstr "alla zoner" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:298 +msgid "any/all" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:419 +msgid "apply firewall mark" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:418 +msgid "assign conntrack helper" +msgstr "tilldela conntrack-hjälpare" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:194 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:222 +msgid "automatic" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:131 +msgid "bitmap" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:137 +msgid "bitmap is ipv4 only" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:72 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:89 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:67 +msgid "day" +msgstr "dag" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:93 +msgid "dest_ip: Destination IP" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:95 +msgid "dest_mac: Destination MAC addr" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:96 +msgid "dest_net: Destination (sub)net" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:94 +msgid "dest_port: Destination Port" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:98 +msgid "dest_set: Destination ipset*" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:315 +msgid "do not rewrite" +msgstr "skriv inte om" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:417 +msgid "don't track" +msgstr "spåra inte" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:414 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:69 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:158 +msgid "drop" +msgstr "släpp" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:21 +msgid "" +"firewall4 supports referencing and creating IP sets to simplify matching of " +"large address lists without the need to create one rule per item to match. " +"Port ranges in ipsets are unsupported by firewall4.
" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:159 +msgid "fromport-toport" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:132 +msgid "hash" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:72 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:89 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:67 +msgid "hour" +msgstr "timme" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:81 +msgid "ip: IP addr" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:153 +msgid "ip[/cidr]
" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:145 +msgid "ip[/cidr]
For use with Match datatypes: *_ip." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:70 +msgid "ipv4" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:133 +msgid "list" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:83 +msgid "mac: MAC addr" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:108 +msgid "macaddr|ip[/cidr]
" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:72 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:89 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:67 +msgid "minute" +msgstr "minut" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:84 +msgid "net: (sub)net" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:82 +msgid "port: Port" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:416 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:68 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:157 +msgid "reject" +msgstr "neka" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:72 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:89 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:67 +msgid "second" +msgstr "sekund" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:86 +msgid "set: ipset*" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:92 +msgid "src_Set: Source ipset*" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:87 +msgid "src_ip: Source IP" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:89 +msgid "src_mac: Source MAC addr" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:90 +msgid "src_net: Source (sub)net" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:88 +msgid "src_port: Source Port" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:53 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:62 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:86 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:65 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:78 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:56 +msgid "this device" +msgstr "den här enheten" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:124 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:226 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:339 +msgid "this new zone" +msgstr "den här nya zonen" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:354 +msgid "unlimited" +msgstr "obegränsad" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:251 +msgid "unspecified" +msgstr "ospecificerad" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:114 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:173 +msgid "up to 65536 entries." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:339 +msgid "valid firewall mark" +msgstr "" + +#~ msgid "" +#~ "Forwarded IPv4%{proto?, protocol %{proto#%{next?, }%{item.name}}}%{mark?, mark %{mark." +#~ "val}}" +#~ msgstr "" +#~ "Vidarebefordrade IPv4%{proto?, protocol %{proto#%{next?, }%{item." +#~ "name}}}%{mark?, mark %{mark.val}}" diff --git a/luci-app-firewall/po/templates/firewall.pot b/luci-app-firewall/po/templates/firewall.pot new file mode 100644 index 000000000..756e81ffd --- /dev/null +++ b/luci-app-firewall/po/templates/firewall.pot @@ -0,0 +1,1418 @@ +msgid "" +msgstr "Content-Type: text/plain; charset=UTF-8" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:48 +msgid "" +"%{src?%{dest?Forwarded:Incoming}:Outgoing} %{ipv6?%{ipv4?IPv4 and " +"IPv6:IPv6}:IPv4}%{proto?, protocol " +"%{proto#%{next?, }%{item.types?%{item." +"name}ICMP with types %{item.types#%{next?, }" +"%{item}}:%{item.name}}}}%{mark?, mark " +"%{mark.val}}%{dscp?, DSCP %{dscp." +"inv?%{dscp.val}:%{dscp.val}}}%{helper?, helper " +"%{helper.inv?%{helper.val}:%{helper." +"val}}}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:463 +msgid "-- add IP --" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:521 +msgid "-- add MAC --" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:199 +msgid "0" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:182 +msgid "1024" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:118 +msgid "" +"Accept %{src?%{dest?forward:input}:output}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:93 +msgid "Prevent source rewrite" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:85 +msgid "" +"Forward to %{dest}%{dest_ip? IP " +"%{dest_ip}}%{dest_port? port %{dest_port}}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:115 +msgid "" +"Drop %{src?%{dest?forward:input}:output}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:133 +msgid "" +"Assign DSCP classification %{set_dscp}" +"" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:127 +msgid "" +"Assign conntrack helper " +"%{set_helper}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:130 +msgid "" +"%{set_mark?Assign:XOR} firewall mark " +"%{set_mark?:%{set_xmark}}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:90 +msgid "Automatically rewrite source IP" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:124 +msgid "" +"Do not track %{src?%{dest?forward:input}:" +"output}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:121 +msgid "" +"Reject %{src?%{dest?forward:input}:output}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:87 +msgid "" +"Statically rewrite to source %{snat_ip?IP " +"%{snat_ip}} %{snat_port?port %{snat_port}}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:306 +msgid "A rewrite IP must be specified!" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:292 +msgid "ACCEPT - Disable address rewriting" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:224 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:225 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:411 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:204 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:287 +msgid "Action" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:322 +msgid "" +"Additional raw iptables arguments to classify zone destination " +"traffic, e.g. -p tcp --dport 443 to only match outbound HTTPS " +"traffic." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:312 +msgid "" +"Additional raw iptables arguments to classify zone source traffic, " +"e.g. -p tcp --sport 443 to only match inbound HTTPS traffic." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:107 +msgid "Address family, Internal IP address must match" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:135 +msgid "" +"Address family, source address, destination address, rewrite IP address must " +"match" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:162 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:183 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:182 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:114 +msgid "Advanced Settings" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:283 +msgid "Allow \"invalid\" traffic" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:385 +msgid "Allow forward from source zones:" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:344 +msgid "Allow forward to destination zones:" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:551 +msgid "Any" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:479 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:495 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:352 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:368 +msgid "Any day" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:317 +msgid "" +"Apply a bitwise XOR of the given value and the existing mark value on " +"established connections. Format is value[/mask]. If a mask is specified then " +"those bits set in the mask are zeroed out." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:264 +msgid "Apply the given DSCP class or value to established connections." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:439 +msgid "Assign the specified connection tracking helper to matched traffic." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:286 +msgid "Automatic helper assignment" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:286 +msgid "" +"Automatically assign conntrack helpers based on traffic protocol and port" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:61 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:62 +msgid "Comment" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:115 +msgid "Conntrack Settings" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:290 +msgid "Conntrack helpers" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/custom.js:16 +msgid "Contents have been saved." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:700 +msgid "Continue" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:204 +msgid "Counters" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:231 +msgid "Covered devices" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:183 +msgid "Covered networks" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:236 +msgid "Covered subnets" +msgstr "" + +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:62 +msgid "Custom Rules" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/custom.js:26 +msgid "" +"Custom rules allow you to execute arbitrary iptables commands which are not " +"otherwise covered by the firewall framework. The commands are executed after " +"each firewall restart, right after the default ruleset has been loaded." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:421 +msgid "DSCP classification" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:263 +msgid "DSCP mark" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:297 +msgid "DSCP mark required" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:402 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:270 +msgid "Destination address" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:404 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:278 +msgid "Destination port" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:396 +msgid "Destination zone" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:269 +msgid "Device name" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:283 +msgid "" +"Do not install extra rules to reject forwarded traffic with conntrack state " +"invalid. This may be required for complex asymmetric route setups." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:59 +msgid "Drop invalid packets" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:232 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:231 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:210 +msgid "Enable" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:306 +msgid "Enable NAT Loopback" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:45 +msgid "Enable SYN-flood protection" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:296 +msgid "Enable logging on this zone" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:168 +msgid "" +"Enable network address and port translation IPv4 (NAT4 or NAPT4) for " +"outbound traffic on this zone. This is typically enabled on the wan " +"zone." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:243 +msgid "" +"Enable network address and port translation IPv6 (NAT6 or NAPT6) for " +"outbound traffic on this zone." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:211 +msgid "Enabled" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:205 +msgid "Enables packet and byte count tracking for the set." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:339 +msgid "Expecting: %s" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:290 +msgid "Explicitly choses allowed connection tracking helpers for zone traffic" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:274 +msgid "External IP address" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:279 +msgid "External port" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:349 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:470 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:342 +msgid "Extra arguments" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:322 +msgid "Extra destination arguments" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:116 +msgid "Extra iptables arguments" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:312 +msgid "Extra source arguments" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:67 +msgid "Family" +msgstr "" + +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:3 +msgid "Firewall" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/custom.js:25 +msgid "Firewall - Custom Rules" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:20 +msgid "Firewall - IP sets" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:172 +msgid "Firewall - NAT Rules" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:152 +msgid "Firewall - Port Forwards" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:173 +msgid "Firewall - Traffic Rules" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:38 +msgid "Firewall - Zone Settings" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:693 +msgid "Firewall configuration migration" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:82 +msgid "Flow offloading type" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:64 +msgid "Forward" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:34 +msgid "" +"Forwarded %{ipv6?%{ipv4?IPv4 and IPv6:IPv6}:" +"IPv4}%{proto?, protocol %{proto#%{next?, }%{item.name}}}%{mark?, mark %{mark.val}" +"}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:485 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:358 +msgid "Friday" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:45 +msgid "" +"From %{src}%{src_device?, interface %{src_device}}%{src_ip?, IP " +"%{src_ip#%{next?, }%{item.ival}}}%{src_port?, port %{src_port#%{next?, }" +"%{item." +"ival}}}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:64 +msgid "" +"From %{src}%{src_device?, interface %{src_device}}%{src_ip?, IP " +"%{src_ip#%{next?, }%{item.ival}}}%{src_port?, port %{src_port#%{next?, }" +"%{item." +"ival}}}%{src_mac?, MAC %{src_mac#%{next?, }%{item.ival}" +"}}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:52 +msgid "" +"From %{src}%{src_ip?, IP %{src_ip#%{next?, }%{item.ival}}}%{src_port?, port %{src_port#%{next?, }%{item.ival}}}%{src_mac?, " +"MAC %{src_mac#%{next?, }%{item.ival}}}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:161 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:182 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:181 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:41 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:113 +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:17 +msgid "General Settings" +msgstr "" + +#: applications/luci-app-firewall/root/usr/share/rpcd/acl.d/luci-app-firewall.json:3 +msgid "Grant access to firewall configuration" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:85 +msgid "Hardware based offloading for routing with/without NAT." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:85 +msgid "Hardware flow offloading" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:144 +msgid "IP (range)" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:32 +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:53 +msgid "IP Sets" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:152 +msgid "IPs/Networks" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:107 +msgid "IPs/Networks/MACs" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:68 +msgid "IPv4" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:191 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:280 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:219 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:256 +msgid "IPv4 and IPv6" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:192 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:281 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:220 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:257 +msgid "IPv4 only" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:69 +msgid "IPv6" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:242 +msgid "IPv6 Masquerading" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:193 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:282 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:221 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:258 +msgid "IPv6 only" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:252 +msgid "Inbound device" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:187 +msgid "Include File" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:40 +msgid "" +"Incoming %{ipv6?%{ipv4?IPv4 and IPv6:IPv6}:" +"IPv4}%{proto?, protocol %{proto#%{next?, }%{item.types?%{item.name}ICMP " +"with types %{item.types#%{next?, }%{item}}:" +"%{item.name}}}}%{mark?, mark %{mark.val}}%{helper?, helper %{helper.inv?%{helper.val}:%{helper.val}}}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:180 +msgid "Initial Hash Size" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:62 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:151 +msgid "Input" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:292 +msgid "Internal IP address" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:297 +msgid "Internal port" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:287 +msgid "Internal zone" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:153 +msgid "Intra zone forward" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:305 +msgid "Invalid DSCP mark" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:373 +msgid "Invalid limit value" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:47 +msgid "Invalid set name" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:383 +msgid "Limit burst" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:299 +msgid "Limit log messages" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:349 +msgid "Limit matching" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:79 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:96 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:74 +msgid "" +"Limit matching to %{limit.num} packets per %{limit.unit}%{limit.burst? burst %{limit.burst}}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:175 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:250 +msgid "Limited masquerading enabled" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:350 +msgid "Limits traffic matching to the specified rate." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:311 +msgid "Loopback source IP" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:291 +msgid "MASQUERADE - Automatically rewrite to outbound interface IP" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:180 +msgid "MSS clamping" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:167 +msgid "Masquerading" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:213 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:214 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:193 +msgid "Match" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:263 +msgid "Match DSCP" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:293 +msgid "Match ICMP type" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:249 +msgid "Match device" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:271 +msgid "Match forwarded traffic directed at the given IP address." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:279 +msgid "" +"Match forwarded traffic directed at the given destination port or port range." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:254 +msgid "Match forwarded traffic from this IP or range." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:262 +msgid "" +"Match forwarded traffic originating from the given source port or port range." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:326 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:446 +msgid "Match helper" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:280 +msgid "" +"Match incoming traffic directed at the given destination port or port range " +"on this host" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:316 +msgid "Match mark" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:326 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:446 +msgid "Match traffic using the specified connection tracking helper." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:319 +msgid "Matches a specific firewall mark or a range of different marks." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:332 +msgid "Matches forwarded traffic using the specified outbound network device." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:264 +msgid "Matches traffic carrying the specified DSCP marking." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:113 +msgid "Max Entries" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:172 +msgid "Max Length" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:384 +msgid "" +"Maximum initial number of packets to match: this number gets recharged by " +"one every time the limit specified above is not reached, up to this number." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:481 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:354 +msgid "Monday" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:491 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:364 +msgid "Month Days" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:175 +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:44 +msgid "NAT Rules" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:173 +msgid "" +"NAT rules allow fine grained control over the source IP to use for outbound " +"or forwarded traffic." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:183 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:42 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:52 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:210 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:189 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:129 +msgid "Name" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:166 +msgid "Netmask" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:83 +msgid "None" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:77 +msgid "Not fully compatible with QoS/SQM." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:275 +msgid "Only match incoming traffic directed at the given IP address." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:256 +msgid "Only match incoming traffic from these MACs." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:261 +msgid "Only match incoming traffic from this IP or range." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:266 +msgid "" +"Only match incoming traffic originating from the given source port or port " +"range on the client host" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:253 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:331 +msgid "Outbound device" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:246 +msgid "Outbound zone" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:63 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:152 +msgid "Output" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:75 +msgid "Packet Field Match" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:76 +msgid "" +"Packet fields to match upon.
Syntax: direction_datatype. e.g.: " +"src_port, dest_net.
Directions: src, dst. " +"Datatypes: ip, port, mac, net, set.
Direction prefixes are " +"optional.
*Note: datatype set is unsupported in fw4." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:350 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:471 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:343 +msgid "Passes additional arguments to iptables. Use with care!" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:309 +msgid "" +"Passing raw iptables arguments to source and destination traffic " +"classification rules allows to match packets based on other criteria than " +"interfaces or subnets. These options should be used with extreme care as " +"invalid values could render the firewall ruleset broken, completely exposing " +"all services." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:188 +msgid "Path to file of CIDRs, subnets, host IPs, etc.
" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:155 +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:26 +msgid "Port Forwards" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:153 +msgid "" +"Port forwarding allows remote computers on the Internet to connect to a " +"specific computer or service within the private LAN." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:158 +msgid "Port range" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:237 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:289 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:242 +msgid "Protocol" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:298 +msgid "" +"Redirect matched incoming traffic to the given port on the internal host" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:293 +msgid "Redirect matched incoming traffic to the specified internal host" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:122 +msgid "Refer To External Set" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:320 +msgid "Reflection zones" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:85 +msgid "Requires hardware NAT support." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:272 +msgid "Restrict Masquerading to given destination subnets" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:261 +msgid "Restrict Masquerading to given source subnets" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:188 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:277 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:216 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:255 +msgid "Restrict to address family" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:297 +msgid "Rewrite IP address" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:298 +msgid "Rewrite matched traffic to the specified source IP address." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:312 +msgid "Rewrite matched traffic to the specified source port or port range." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:311 +msgid "Rewrite port" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:76 +msgid "Routing/NAT Offloading" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:290 +msgid "SNAT - Rewrite to specific source IP or port" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:486 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:359 +msgid "Saturday" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:316 +msgid "Set mark" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:318 +msgid "" +"Set the given mark value on established connections. Format is value[/mask]. " +"If a mask is specified then only those bits set in the mask are modified." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:84 +msgid "Software based offloading for routing/NAT." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:84 +msgid "Software flow offloading" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:260 +msgid "Source IP address" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:255 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:386 +msgid "Source MAC address" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:387 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:253 +msgid "Source address" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:265 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:389 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:261 +msgid "Source port" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:241 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:372 +msgid "Source zone" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:270 +msgid "" +"Specifies whether to tie this traffic rule to a specific inbound or outbound " +"network device." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:311 +msgid "" +"Specifies whether to use the external or the internal IP address for " +"reflected traffic." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:510 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:383 +msgid "Start Date (yyyy-mm-dd)" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:502 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:375 +msgid "Start Time (hh:mm:ss)" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:514 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:387 +msgid "Stop Date (yyyy-mm-dd)" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:506 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:379 +msgid "Stop Time (hh:mm:ss)" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:130 +msgid "Storage Method" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:480 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:353 +msgid "Sunday" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:694 +msgid "" +"The existing firewall configuration needs to be changed for LuCI to function " +"properly." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:39 +msgid "" +"The firewall creates zones over your network interfaces to control network " +"traffic flow." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:227 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:340 +msgid "" +"The options below control the forwarding policies between this zone (%s) and " +"other zones. Destination zones cover forwarded traffic " +"originating from %q. Source zones match forwarded " +"traffic from other zones targeted at %q. The forwarding " +"rule is unidirectional, e.g. a forward from lan to wan does " +"not imply a permission to forward from wan to lan as well." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:125 +msgid "" +"This section defines common properties of %q. The input and " +"output options set the default policies for traffic entering and " +"leaving this zone while the forward option describes the policy for " +"forwarded traffic between different networks within the zone. Covered " +"networks specifies which available networks are members of this zone." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:484 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:357 +msgid "Thursday" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:184 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:183 +msgid "Time Restrictions" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:518 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:391 +msgid "Time in UTC" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:244 +msgid "Time restrictions are enabled for this rule" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:196 +msgid "Timeout" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:77 +msgid "" +"To %{dest}%{dest_device?, interface %{dest_device}}%{dest_ip?, IP " +"%{dest_ip#%{next?, }%{item.ival}
}}%{dest_port?, port %{dest_port#%{next?, }" +"%{item." +"ival}}}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:55 +msgid "" +"To %{dest}%{dest_device?, via interface %{dest_device}}%{dest_ip?, IP %{dest_ip#%{next?, }%{item.ival}}}%{dest_port?, port " +"%{dest_port#%{next?, }%{item.ival}}}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:61 +msgid "" +"To %{dest}%{dest_ip?, IP %{dest_ip#%{next?, }%{item.ival}}}%{dest_port?, port %{dest_port#%{next?, }%{item.ival}}}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:439 +msgid "Tracking helper" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:176 +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:35 +msgid "Traffic Rules" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:174 +msgid "" +"Traffic rules define policies for packets travelling between different " +"zones, for example to reject traffic between certain hosts or to open WAN " +"ports on the router." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:482 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:355 +msgid "Tuesday" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/custom.js:19 +msgid "Unable to save contents: %s" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:197 +msgid "" +"Unit: seconds. Default 0 means the entry is added permanently " +"to the set.
Max: 2147483 seconds." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:341 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:461 +msgid "Unknown or not installed conntrack helper \"%s\"" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:186 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:190 +msgid "Unnamed NAT" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:169 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:184 +msgid "Unnamed forward" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:191 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:211 +msgid "Unnamed rule" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:57 +msgid "Unnamed set" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:130 +msgid "Unnamed zone" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:597 +msgid "Unrecognized protocol" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:695 +msgid "" +"Upon pressing \"Continue\", \"redirect\" sections with target \"SNAT\" will " +"be converted to \"nat\" sections and the firewall will be restarted to apply " +"the updated configuration." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:315 +msgid "Use external IP address" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:314 +msgid "Use internal IP address" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:247 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:378 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:322 +msgid "Use ipset" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:231 +msgid "" +"Use this option to classify zone traffic by raw, non-uci managed " +"network devices." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:236 +msgid "" +"Use this option to classify zone traffic by source or destination subnet " +"instead of networks or devices." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:331 +msgid "Valid firewall mark required" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:483 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:356 +msgid "Wednesday" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:475 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:348 +msgid "Week Days" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:420 +msgid "XOR firewall mark" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:316 +msgid "XOR mark" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:28 +msgid "Your device does not run firewall4." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:26 +msgid "Your device runs firewall4." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:143 +msgid "Zone ⇒ Forwardings" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:101 +msgid "Zones" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:320 +msgid "" +"Zones from which reflection rules shall be created. If unset, only the " +"destination zone is used." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:415 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:70 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:159 +msgid "accept" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:268 +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:463 +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:486 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:270 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:301 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:328 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:392 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:407 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:441 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:448 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:266 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:282 +msgid "any" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:53 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:86 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:65 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:78 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:46 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:56 +msgid "any zone" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:298 +msgid "any/all" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:419 +msgid "apply firewall mark" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:418 +msgid "assign conntrack helper" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:194 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:222 +msgid "automatic" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:131 +msgid "bitmap" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:137 +msgid "bitmap is ipv4 only" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:72 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:89 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:67 +msgid "day" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:93 +msgid "dest_ip: Destination IP" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:95 +msgid "dest_mac: Destination MAC addr" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:96 +msgid "dest_net: Destination (sub)net" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:94 +msgid "dest_port: Destination Port" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:98 +msgid "dest_set: Destination ipset*" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:315 +msgid "do not rewrite" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:417 +msgid "don't track" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:414 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:69 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:158 +msgid "drop" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:21 +msgid "" +"firewall4 supports referencing and creating IP sets to simplify matching of " +"large address lists without the need to create one rule per item to match. " +"Port ranges in ipsets are unsupported by firewall4.
" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:159 +msgid "fromport-toport" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:132 +msgid "hash" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:72 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:89 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:67 +msgid "hour" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:81 +msgid "ip: IP addr" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:153 +msgid "ip[/cidr]
" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:145 +msgid "ip[/cidr]
For use with Match datatypes: *_ip." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:70 +msgid "ipv4" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:133 +msgid "list" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:83 +msgid "mac: MAC addr" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:108 +msgid "macaddr|ip[/cidr]
" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:72 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:89 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:67 +msgid "minute" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:84 +msgid "net: (sub)net" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:82 +msgid "port: Port" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:416 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:68 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:157 +msgid "reject" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:72 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:89 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:67 +msgid "second" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:86 +msgid "set: ipset*" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:92 +msgid "src_Set: Source ipset*" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:87 +msgid "src_ip: Source IP" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:89 +msgid "src_mac: Source MAC addr" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:90 +msgid "src_net: Source (sub)net" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:88 +msgid "src_port: Source Port" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:53 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:62 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:86 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:65 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:78 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:56 +msgid "this device" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:124 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:226 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:339 +msgid "this new zone" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:354 +msgid "unlimited" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:251 +msgid "unspecified" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:114 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:173 +msgid "up to 65536 entries." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:339 +msgid "valid firewall mark" +msgstr "" diff --git a/luci-app-firewall/po/tr/firewall.po b/luci-app-firewall/po/tr/firewall.po new file mode 100644 index 000000000..a29a38ec7 --- /dev/null +++ b/luci-app-firewall/po/tr/firewall.po @@ -0,0 +1,1661 @@ +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"PO-Revision-Date: 2024-03-31 19:53+0000\n" +"Last-Translator: Oğuz Han \n" +"Language-Team: Turkish \n" +"Language: tr\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=1; plural=0;\n" +"X-Generator: Weblate 5.5-dev\n" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:48 +msgid "" +"%{src?%{dest?Forwarded:Incoming}:Outgoing} %{ipv6?%{ipv4?IPv4 and " +"IPv6:IPv6}:IPv4}%{proto?, protocol " +"%{proto#%{next?, }%{item.types?%{item." +"name}ICMP with types %{item.types#%{next?, }" +"%{item}}:%{item.name}}}}%{mark?, mark " +"%{mark.val}}%{dscp?, DSCP %{dscp." +"inv?%{dscp.val}:%{dscp.val}}}%{helper?, helper " +"%{helper.inv?%{helper.val}:%{helper." +"val}}}" +msgstr "" +"%{src?%{dest?Yönlendirilen:Gelen}:Giden} %{ipv6?%{ipv4?IPv4 ve " +"IPv6:IPv6}:IPv4}%{proto?, protokol " +"%{proto#%{next?, }%{item.types?%{item." +"name}Türlerle ICMP %{item.types#%{next?, }" +"%{item}}:%{item.name}}}}%{mark?, mark " +"%{mark.val}}%{dscp?, DSCP %{dscp.inv?%{dscp." +"val}:%{dscp.val}}}%{helper?, yardımcı %{helper.inv?%{helper.val}:%{helper.val}}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:463 +msgid "-- add IP --" +msgstr "IP ekle" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:521 +msgid "-- add MAC --" +msgstr "MAC ekle" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:199 +msgid "0" +msgstr "0" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:182 +msgid "1024" +msgstr "1024" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:118 +msgid "" +"Accept %{src?%{dest?forward:input}:output}" +msgstr "" +"KABUL ET %{src?%{dest?forward:input}:" +"output}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:93 +msgid "Prevent source rewrite" +msgstr "" +"Kaynağın yeniden yazılmasını engelle" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:85 +msgid "" +"Forward to %{dest}%{dest_ip? IP " +"%{dest_ip}}%{dest_port? port %{dest_port}}" +msgstr "" +"Yönlendir to %{dest}%{dest_ip? IP " +"%{dest_ip}}%{dest_port? port %{dest_port}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:115 +msgid "" +"Drop %{src?%{dest?forward:input}:output}" +msgstr "" +"Reddet %{src?%{dest?forward:input}:output}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:133 +msgid "" +"Assign DSCP classification %{set_dscp}" +"" +msgstr "" +"DSCP tanımla classification %{set_dscp}" +"" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:127 +msgid "" +"Assign conntrack helper " +"%{set_helper}" +msgstr "" +"Bağlantı atama yardımcı " +"%{set_helper}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:130 +msgid "" +"%{set_mark?Assign:XOR} firewall mark " +"%{set_mark?:%{set_xmark}}" +msgstr "" +"%{set_mark?Ata:XOR} güvenlik duvarı işareti " +"%{set_mark?:%{set_xmark}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:90 +msgid "Automatically rewrite source IP" +msgstr "" +"Kaynak IP'siniOtomatik olarak yeniden yaz" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:124 +msgid "" +"Do not track %{src?%{dest?forward:input}:" +"output}" +msgstr "" +"Takip etme %{src?%{dest?forward:input}:" +"output}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:121 +msgid "" +"Reject %{src?%{dest?forward:input}:output}" +msgstr "" +"REDDET %{src?%{dest?forward:input}:output}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:87 +msgid "" +"Statically rewrite to source %{snat_ip?IP " +"%{snat_ip}} %{snat_port?port %{snat_port}}" +msgstr "" +"Statik olarak yeniden yaz kaynağa " +"%{snat_ip?IP %{snat_ip}} %{snat_port?port %{snat_port}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:306 +msgid "A rewrite IP must be specified!" +msgstr "Yeniden yazmak için bir IP belirtilmek zorunda!" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:292 +msgid "ACCEPT - Disable address rewriting" +msgstr "KABUL ET - Adres yeniden yazmayı devre dışı bırak" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:224 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:225 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:411 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:204 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:287 +msgid "Action" +msgstr "Eylem" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:322 +msgid "" +"Additional raw iptables arguments to classify zone destination " +"traffic, e.g. -p tcp --dport 443 to only match outbound HTTPS " +"traffic." +msgstr "" +"Bölge hedef trafiğini sınıflandırmak için ek ham iptables bağımsız " +"değişkenleri, ör. Yalnızca giden HTTPS trafiğini eşleştirmek için -p " +"tcp --dport 443." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:312 +msgid "" +"Additional raw iptables arguments to classify zone source traffic, " +"e.g. -p tcp --sport 443 to only match inbound HTTPS traffic." +msgstr "" +"Bölge kaynak trafiğini sınıflandırmak için ek ham iptables bağımsız " +"değişkenleri, ör. Yalnızca gelen HTTPS trafiğini eşleştirmek için -p " +"tcp --sport 443." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:107 +msgid "Address family, Internal IP address must match" +msgstr "Adres ailesi, Dahili IP adresi eşleşmelidir" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:135 +msgid "" +"Address family, source address, destination address, rewrite IP address must " +"match" +msgstr "" +"Adres ailesi, kaynak adresi, hedef adresi, yeniden yazılan IP adresi " +"eşleşmelidir" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:162 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:183 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:182 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:114 +msgid "Advanced Settings" +msgstr "Gelişmiş Ayarlar" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:283 +msgid "Allow \"invalid\" traffic" +msgstr "\"Geçersiz\" trafiğe izin ver" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:385 +msgid "Allow forward from source zones:" +msgstr "Kaynak bölgelerden gelen yönlendirmeye izin ver" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:344 +msgid "Allow forward to destination zones:" +msgstr " Hedef bölgelerden gelen yönlendirmeye izin ver" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:551 +msgid "Any" +msgstr "Herhangi" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:479 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:495 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:352 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:368 +msgid "Any day" +msgstr "Herhangi bir gün" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:317 +msgid "" +"Apply a bitwise XOR of the given value and the existing mark value on " +"established connections. Format is value[/mask]. If a mask is specified then " +"those bits set in the mask are zeroed out." +msgstr "" +"Verilen değerin bitsel XOR değerini ve kurulan bağlantılarda mevcut işaret " +"değerini uygulayın. Biçim değerdir [/mask]. Bir maske belirtilirse, maskede " +"ayarlanan bu bitler sıfırlanır." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:264 +msgid "Apply the given DSCP class or value to established connections." +msgstr "Verilen DSCP sınıfını veya değerini kurulan bağlantılara uygulayın." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:439 +msgid "Assign the specified connection tracking helper to matched traffic." +msgstr "Belirtilen bağlantı izleme yardımcısını eşleşen trafiğe atayın." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:286 +msgid "Automatic helper assignment" +msgstr "Otomatik yardımcı atama" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:286 +msgid "" +"Automatically assign conntrack helpers based on traffic protocol and port" +msgstr "" +"Trafik protokolü ve bağlantı noktasına göre bağlantı yardımcılarını otomatik " +"olarak atayın" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:61 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:62 +msgid "Comment" +msgstr "Yorum" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:115 +msgid "Conntrack Settings" +msgstr "Conntrack Ayarları" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:290 +msgid "Conntrack helpers" +msgstr "Conntrack yardımcıları" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/custom.js:16 +msgid "Contents have been saved." +msgstr "İçerik kaydedildi." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:700 +msgid "Continue" +msgstr "Devam et" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:204 +msgid "Counters" +msgstr "Sayaçlar" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:231 +msgid "Covered devices" +msgstr "Kapsanan cihazlar" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:183 +msgid "Covered networks" +msgstr "Kapsanan ağlar" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:236 +msgid "Covered subnets" +msgstr "Kapsanan alt ağlar" + +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:62 +msgid "Custom Rules" +msgstr "Özel Ayarlar" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/custom.js:26 +msgid "" +"Custom rules allow you to execute arbitrary iptables commands which are not " +"otherwise covered by the firewall framework. The commands are executed after " +"each firewall restart, right after the default ruleset has been loaded." +msgstr "" +"Özel kurallar, güvenlik duvarı çerçevesi tarafından başka şekilde " +"kapsanmayan keyfi iptables komutlarını yürütmenize olanak tanır. Komutlar, " +"her güvenlik duvarı yeniden başlatıldıktan sonra, varsayılan kural seti " +"yüklendikten hemen sonra yürütülür." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:421 +msgid "DSCP classification" +msgstr "DSCP sınıflandırması" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:263 +msgid "DSCP mark" +msgstr "DSCP işareti" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:297 +msgid "DSCP mark required" +msgstr "DSCP işareti gerekli" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:402 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:270 +msgid "Destination address" +msgstr "Hedef adres" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:404 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:278 +msgid "Destination port" +msgstr "Hedef bağlantı noktası" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:396 +msgid "Destination zone" +msgstr "Hedef bölge" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:269 +msgid "Device name" +msgstr "Cihaz adı" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:283 +msgid "" +"Do not install extra rules to reject forwarded traffic with conntrack state " +"invalid. This may be required for complex asymmetric route setups." +msgstr "" +"Bağlantı durumu invalid olan iletilen trafiği reddetmek için " +"fazladan kurallar yüklemeyin. Bu, karmaşık asimetrik yol kurulumları için " +"gerekli olabilir." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:59 +msgid "Drop invalid packets" +msgstr "Geçersiz paketleri düşür" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:232 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:231 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:210 +msgid "Enable" +msgstr "Etkinleştir" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:306 +msgid "Enable NAT Loopback" +msgstr "NAT Döngü sınamasını etkinleştir" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:45 +msgid "Enable SYN-flood protection" +msgstr "SYN-flood korumasını etkinleştir" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:296 +msgid "Enable logging on this zone" +msgstr "Bu bölgede günlük kaydetmeyi etkinleştir" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:168 +msgid "" +"Enable network address and port translation IPv4 (NAT4 or NAPT4) for " +"outbound traffic on this zone. This is typically enabled on the wan " +"zone." +msgstr "" +"Bu bölgedeki giden trafik için ağ adresini ve bağlantı noktası çevirisi " +"IPv4'ü (NAT4 veya NAPT4) etkinleştirin. Bu genellikle wan " +"bölgesinde etkinleştirilir." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:243 +msgid "" +"Enable network address and port translation IPv6 (NAT6 or NAPT6) for " +"outbound traffic on this zone." +msgstr "" +"Bu bölgedeki giden trafik için ağ adresini ve bağlantı noktası çevirisi " +"IPv6'yı (NAT6 veya NAPT6) etkinleştir." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:211 +msgid "Enabled" +msgstr "Etkinleştirildi" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:205 +msgid "Enables packet and byte count tracking for the set." +msgstr "Küme için paket ve bayt sayısı takibini etkinleştirir." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:339 +msgid "Expecting: %s" +msgstr "Beklenen: %s" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:290 +msgid "Explicitly choses allowed connection tracking helpers for zone traffic" +msgstr "" +"Bölge trafiği için izin verilen bağlantı izleme yardımcılarını açıkça seçer" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:274 +msgid "External IP address" +msgstr "Harici IP adresi" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:279 +msgid "External port" +msgstr "Harici port" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:349 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:470 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:342 +msgid "Extra arguments" +msgstr "Ekstra argümanlar" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:322 +msgid "Extra destination arguments" +msgstr "Ekstra hedef argümanlar" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:116 +msgid "Extra iptables arguments" +msgstr "Ekstra iptables argümanları" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:312 +msgid "Extra source arguments" +msgstr "Ekstra kaynak argümanlar" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:67 +msgid "Family" +msgstr "Aile" + +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:3 +msgid "Firewall" +msgstr "Güvenlik Duvarı" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/custom.js:25 +msgid "Firewall - Custom Rules" +msgstr "Güvenlik duvarı - Özel Kurallar" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:20 +msgid "Firewall - IP sets" +msgstr "Güvenlik Duvarı - IP setleri" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:172 +msgid "Firewall - NAT Rules" +msgstr "Güvenlik duvarı - NAT Kuralları" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:152 +msgid "Firewall - Port Forwards" +msgstr "Güvelik duvarı - Port Yönlendirme" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:173 +msgid "Firewall - Traffic Rules" +msgstr "Güvenlik duvarı - Trafik Kuralları" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:38 +msgid "Firewall - Zone Settings" +msgstr "Güvenlik duvarı - Bölge Ayarları" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:693 +msgid "Firewall configuration migration" +msgstr "Güvenlik duvarı yapılandırma geçişi" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:82 +msgid "Flow offloading type" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:64 +msgid "Forward" +msgstr "Yönlendir" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:34 +msgid "" +"Forwarded %{ipv6?%{ipv4?IPv4 and IPv6:IPv6}:" +"IPv4}%{proto?, protocol %{proto#%{next?, }%{item.name}}}%{mark?, mark %{mark.val}" +"}" +msgstr "" +"İletilen %{ipv6?%{ipv4?IPv4 ve IPv6:IPv6}:" +"IPv4}%{proto? , protokol %{proto#%{sonraki?, >%{item.name}}%{mark?, mark %{mark.val}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:485 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:358 +msgid "Friday" +msgstr "Cuma" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:45 +msgid "" +"From %{src}%{src_device?, interface %{src_device}}%{src_ip?, IP " +"%{src_ip#%{next?, }%{item.ival}}}%{src_port?, port %{src_port#%{next?, }" +"%{item." +"ival}}}" +msgstr "" +"Nereden %{src}%{src_device?, arayüz %{src_device}}%{src_ip?, IP " +"%{src_ip#%{next?, }%{item.ival}}}%{src_port?, port " +"%{src_port#%{next?, }%{item.ival}}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:64 +msgid "" +"From %{src}%{src_device?, interface %{src_device}}%{src_ip?, IP " +"%{src_ip#%{next?, }%{item.ival}}}%{src_port?, port %{src_port#%{next?, }" +"%{item." +"ival}}}%{src_mac?, MAC %{src_mac#%{next?, }%{item.ival}" +"}}" +msgstr "" +"Nereden %{src}%{src_device?, arayüz %{src_device}}%{src_ip?, IP " +"%{src_ip#%{next?, }%{item.ival}}}%{src_port?, port " +"%{src_port#%{next?, }%{item.ival}}}%{src_mac?, MAC " +"%{src_mac#%{next?, }%{item.ival}}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:52 +msgid "" +"From %{src}%{src_ip?, IP %{src_ip#%{next?, }%{item.ival}}}%{src_port?, port %{src_port#%{next?, }%{item.ival}}}%{src_mac?, " +"MAC %{src_mac#%{next?, }%{item.ival}}}" +msgstr "" +"Nereden %{src}%{src_ip?, IP %{src_ip#%{next?, }%{item.ival}}}%{src_port?, port %{src_port#%{next?, }%{item." +"ival}}}%{src_mac?, MAC %{src_mac#%{next?, }%{item.ival}}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:161 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:182 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:181 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:41 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:113 +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:17 +msgid "General Settings" +msgstr "Genel Ayarlar" + +#: applications/luci-app-firewall/root/usr/share/rpcd/acl.d/luci-app-firewall.json:3 +msgid "Grant access to firewall configuration" +msgstr "Güvenlik duvarı yapılandırmasına erişim ver" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:85 +msgid "Hardware based offloading for routing with/without NAT." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:85 +msgid "Hardware flow offloading" +msgstr "Donanım akış boşaltma" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:144 +msgid "IP (range)" +msgstr "IP (aralık)" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:32 +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:53 +msgid "IP Sets" +msgstr "IP Setleri" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:152 +msgid "IPs/Networks" +msgstr "IP'ler/Ağlar" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:107 +msgid "IPs/Networks/MACs" +msgstr "IP'ler/Ağlar/MAC'ler" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:68 +msgid "IPv4" +msgstr "IPv4" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:191 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:280 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:219 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:256 +msgid "IPv4 and IPv6" +msgstr "IPv4 ve IPv6" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:192 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:281 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:220 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:257 +msgid "IPv4 only" +msgstr "Yalnızca IPv4" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:69 +msgid "IPv6" +msgstr "IPv6" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:242 +msgid "IPv6 Masquerading" +msgstr "IPv6 Maskeleme" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:193 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:282 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:221 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:258 +msgid "IPv6 only" +msgstr "Yalnızca IPv6" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:252 +msgid "Inbound device" +msgstr "Gelen cihaz" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:187 +msgid "Include File" +msgstr "Dosyayı İçer" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:40 +msgid "" +"Incoming %{ipv6?%{ipv4?IPv4 and IPv6:IPv6}:" +"IPv4}%{proto?, protocol %{proto#%{next?, }%{item.types?%{item.name}ICMP " +"with types %{item.types#%{next?, }%{item}}:" +"%{item.name}}}}%{mark?, mark %{mark.val}}%{helper?, helper %{helper.inv?%{helper.val}:%{helper.val}}}" +msgstr "" +"Gelen %{ipv6?%{ipv4?IPv4 ve IPv6:IPv6}:" +"IPv4}%{proto? , protokol %{proto#%{sonraki?, }%{item.types?%{item.name>% " +"türleriyle ICMP {item.types#%{sonraki?, >%{item:" +"%{item.name}}}%{ mark?, mark %{mark.val}%{helper?, " +"helper %{helper.inv?%{helper.val dışındaki herhangi bir yardımcıyla eşleştir:%{helper.val} }}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:180 +msgid "Initial Hash Size" +msgstr "İlk Hash Boyutu" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:62 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:151 +msgid "Input" +msgstr "Giriş" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:292 +msgid "Internal IP address" +msgstr "Dahili IP adresi" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:297 +msgid "Internal port" +msgstr "İç bağlantı noktası" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:287 +msgid "Internal zone" +msgstr "İç bölge" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:153 +msgid "Intra zone forward" +msgstr "Bölge içi ileri" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:305 +msgid "Invalid DSCP mark" +msgstr "Geçersiz DSCP işareti" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:373 +msgid "Invalid limit value" +msgstr "Geçersiz sınır değeri" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:47 +msgid "Invalid set name" +msgstr "Geçersiz küme adı" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:383 +msgid "Limit burst" +msgstr "Sınır patlaması" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:299 +msgid "Limit log messages" +msgstr "Günlük mesajlarını sınırla" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:349 +msgid "Limit matching" +msgstr "Eşlemeyi sınırla" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:79 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:96 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:74 +msgid "" +"Limit matching to %{limit.num} packets per %{limit.unit}%{limit.burst? burst %{limit.burst}}" +msgstr "" +"Eşleşmeyi bununla sınırla %{limit.num} packets per %{limit." +"unit}%{limit.burst? burst %{limit.burst}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:175 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:250 +msgid "Limited masquerading enabled" +msgstr "Sınırlı maskeleme etkin" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:350 +msgid "Limits traffic matching to the specified rate." +msgstr "Belirtilen oranla eşleşen trafiği sınırlar." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:311 +msgid "Loopback source IP" +msgstr "Geri döngü kaynak IP'si" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:291 +msgid "MASQUERADE - Automatically rewrite to outbound interface IP" +msgstr "MASQUERADE - Giden arayüz IP'sine otomatik olarak yeniden yaz" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:180 +msgid "MSS clamping" +msgstr "MSS bağlama" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:167 +msgid "Masquerading" +msgstr "Maskeleme" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:213 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:214 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:193 +msgid "Match" +msgstr "Eşleştir" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:263 +msgid "Match DSCP" +msgstr "DSCP ile eşleştir" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:293 +msgid "Match ICMP type" +msgstr "ICMP tipiyle eşleş" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:249 +msgid "Match device" +msgstr "Cihazı eşleştir" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:271 +msgid "Match forwarded traffic directed at the given IP address." +msgstr "Verilen IP adresine yönlendirilen trafiği eşleştirin." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:279 +msgid "" +"Match forwarded traffic directed at the given destination port or port range." +msgstr "" +"Verilen hedef, bağlantı noktası veya bağlantı noktası aralığına " +"yönlendirilen iletilen trafiği eşleştirin." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:254 +msgid "Match forwarded traffic from this IP or range." +msgstr "Bu IP veya aralıktan yönlendirilen trafiği eşleştirin." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:262 +msgid "" +"Match forwarded traffic originating from the given source port or port range." +msgstr "" +"Verilen kaynak bağlantı noktasından veya bağlantı noktası aralığından gelen " +"iletilen trafiği eşleştirin." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:326 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:446 +msgid "Match helper" +msgstr "Yardımcıyı eşleştir" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:280 +msgid "" +"Match incoming traffic directed at the given destination port or port range " +"on this host" +msgstr "" +"Bu ana bilgisayardaki belirli hedef bağlantı noktasına veya bağlantı noktası " +"aralığına yönlendirilen gelen trafiği eşleştirin" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:316 +msgid "Match mark" +msgstr "İşaretleri eşleştir" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:326 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:446 +msgid "Match traffic using the specified connection tracking helper." +msgstr "Belirtilen bağlantı izleme yardımcısını kullanarak trafiği eşleştirin." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:319 +msgid "Matches a specific firewall mark or a range of different marks." +msgstr "" +"Belirli bir güvenlik duvarı işaretiyle veya bir dizi farklı işaretle eşleşir." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:332 +msgid "Matches forwarded traffic using the specified outbound network device." +msgstr "Belirtilen giden ağ cihazını kullanarak iletilen trafiği eşleştirir." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:264 +msgid "Matches traffic carrying the specified DSCP marking." +msgstr "Belirtilen DSCP işaretini taşıyan trafikle eşleşir." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:113 +msgid "Max Entries" +msgstr "Maks Girişler" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:172 +msgid "Max Length" +msgstr "Azami Uzunluk" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:384 +msgid "" +"Maximum initial number of packets to match: this number gets recharged by " +"one every time the limit specified above is not reached, up to this number." +msgstr "" +"Eşleşecek maksimum ilk paket sayısı: Bu sayı, bu sayıya kadar yukarıda " +"belirtilen sınıra her ulaşılmadığında bir kez yeniden doldurulur." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:481 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:354 +msgid "Monday" +msgstr "Pazartesi" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:491 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:364 +msgid "Month Days" +msgstr "Ayın Günleri" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:175 +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:44 +msgid "NAT Rules" +msgstr "NAT Kuralları" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:173 +msgid "" +"NAT rules allow fine grained control over the source IP to use for outbound " +"or forwarded traffic." +msgstr "" +"NAT kuralları, giden veya iletilen trafik için kullanmak üzere kaynak IP " +"üzerinde ayrıntılı denetime izin verir." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:183 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:42 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:52 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:210 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:189 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:129 +msgid "Name" +msgstr "Ad" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:166 +msgid "Netmask" +msgstr "Netmask" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:83 +msgid "None" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:77 +msgid "Not fully compatible with QoS/SQM." +msgstr "QoS/SQM ile tam uyumlu değildir." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:275 +msgid "Only match incoming traffic directed at the given IP address." +msgstr "Yalnızca verilen IP adresine yönlendirilen gelen trafiği eşleştirin." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:256 +msgid "Only match incoming traffic from these MACs." +msgstr "Yalnızca bu MAC'lardan gelen trafiği eşleştirin." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:261 +msgid "Only match incoming traffic from this IP or range." +msgstr "Yalnızca bu IP veya aralıktan gelen trafiği eşleştirin." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:266 +msgid "" +"Only match incoming traffic originating from the given source port or port " +"range on the client host" +msgstr "" +"Yalnızca istemci ana bilgisayardaki belirli kaynak bağlantı noktasından veya " +"bağlantı noktası aralığından gelen trafiği eşleştirin" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:253 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:331 +msgid "Outbound device" +msgstr "Giden cihaz" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:246 +msgid "Outbound zone" +msgstr "Giden bölge" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:63 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:152 +msgid "Output" +msgstr "Çıkış" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:75 +msgid "Packet Field Match" +msgstr "Paket Alan Eşleşmesi" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:76 +msgid "" +"Packet fields to match upon.
Syntax: direction_datatype. e.g.: " +"src_port, dest_net.
Directions: src, dst. " +"Datatypes: ip, port, mac, net, set.
Direction prefixes are " +"optional.
*Note: datatype set is unsupported in fw4." +msgstr "" +"Eşleşecek paket alanları.
Sözdizimi: direction_datatype. " +"örneğin: src_port, dest_net.
Yol tarifleri: src, " +"dst. Veri türleri: ip, port, mac, net, set.
Yön " +"önekleri isteğe bağlıdır.
*Not: set veri türü fw4'te " +"desteklenmez." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:350 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:471 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:343 +msgid "Passes additional arguments to iptables. Use with care!" +msgstr "İptables'a ek argümanlar iletir. Dikkatli kullanın!" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:309 +msgid "" +"Passing raw iptables arguments to source and destination traffic " +"classification rules allows to match packets based on other criteria than " +"interfaces or subnets. These options should be used with extreme care as " +"invalid values could render the firewall ruleset broken, completely exposing " +"all services." +msgstr "" +"Ham iptables argümanlarını kaynak ve hedef trafik sınıflandırma kurallarına " +"geçirmek, paketleri arayüzler veya alt ağlar dışında başka kriterlere göre " +"eşleştirmeye izin verir. Geçersiz değerler güvenlik duvarı kural setini " +"bozabileceğinden ve tüm hizmetleri tamamen açığa çıkarabileceğinden, bu " +"seçenekler son derece dikkatli kullanılmalıdır." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:188 +msgid "Path to file of CIDRs, subnets, host IPs, etc.
" +msgstr "" +"CIDR'lerin, alt ağların, ana bilgisayar IP'lerinin vb. dosyasının yolu.
" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:155 +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:26 +msgid "Port Forwards" +msgstr "Port Yönlendirmeleri" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:153 +msgid "" +"Port forwarding allows remote computers on the Internet to connect to a " +"specific computer or service within the private LAN." +msgstr "" +"Bağlantı noktası yönlendirme, İnternet üzerindeki uzak bilgisayarların özel " +"LAN içindeki belirli bir bilgisayara veya hizmete bağlanmasına izin verir." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:158 +msgid "Port range" +msgstr "Bağlantı noktası aralığı" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:237 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:289 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:242 +msgid "Protocol" +msgstr "Protokol" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:298 +msgid "" +"Redirect matched incoming traffic to the given port on the internal host" +msgstr "" +"Gelen trafiği dahili ana bilgisayardaki belirli bağlantı noktasına " +"yönlendirin" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:293 +msgid "Redirect matched incoming traffic to the specified internal host" +msgstr "Gelen trafiği belirtilen dahili ana bilgisayara yönlendirin" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:122 +msgid "Refer To External Set" +msgstr "Harici Sete Bakın" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:320 +msgid "Reflection zones" +msgstr "Yansıma bölgeleri" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:85 +msgid "Requires hardware NAT support." +msgstr "Donanımsal NAT desteği gerektirir." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:272 +msgid "Restrict Masquerading to given destination subnets" +msgstr "Maskelendirmeyi verilen hedef alt ağlarla sınırla" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:261 +msgid "Restrict Masquerading to given source subnets" +msgstr "Maskelemeyi verilen kaynak alt ağlarla kısıtla" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:188 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:277 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:216 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:255 +msgid "Restrict to address family" +msgstr "Adres ailesiyle sınırla" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:297 +msgid "Rewrite IP address" +msgstr "IP adresini yeniden yaz" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:298 +msgid "Rewrite matched traffic to the specified source IP address." +msgstr "Eşleşen trafiği belirtilen kaynak IP adresine yeniden yazın." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:312 +msgid "Rewrite matched traffic to the specified source port or port range." +msgstr "" +"Eşleşen trafiği belirtilen kaynak bağlantı noktasına veya bağlantı noktası " +"aralığına yeniden yazın." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:311 +msgid "Rewrite port" +msgstr "Bağlantı noktasını yeniden yaz" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:76 +msgid "Routing/NAT Offloading" +msgstr "Yönlendirme / NAT Aktarımı" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:290 +msgid "SNAT - Rewrite to specific source IP or port" +msgstr "SNAT - Belirli bir kaynak IP'sine veya bağlantı noktasına yeniden yaz" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:486 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:359 +msgid "Saturday" +msgstr "Cumartesi" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:316 +msgid "Set mark" +msgstr "İşaret ayarla" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:318 +msgid "" +"Set the given mark value on established connections. Format is value[/mask]. " +"If a mask is specified then only those bits set in the mask are modified." +msgstr "" +"Kurulan bağlantılarda verilen işaret değerini ayarlayın. Biçim değerdir [/" +"mask]. Bir maske belirtilirse, sadece maskede ayarlanan bitler değiştirilir." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:84 +msgid "Software based offloading for routing/NAT." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:84 +msgid "Software flow offloading" +msgstr "Yazılım tabanlı akış boşaltma" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:260 +msgid "Source IP address" +msgstr "Kaynak IP Adresi" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:255 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:386 +msgid "Source MAC address" +msgstr "Kaynak MAC adresi" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:387 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:253 +msgid "Source address" +msgstr "Kaynak adresi" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:265 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:389 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:261 +msgid "Source port" +msgstr "Kaynak portu" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:241 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:372 +msgid "Source zone" +msgstr "Kaynak bölgesi" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:270 +msgid "" +"Specifies whether to tie this traffic rule to a specific inbound or outbound " +"network device." +msgstr "" +"Bu trafik kuralının belirli bir gelen veya giden ağ cihazına bağlanıp " +"bağlanmayacağını belirtir." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:311 +msgid "" +"Specifies whether to use the external or the internal IP address for " +"reflected traffic." +msgstr "" +"Yansıtılan trafik için harici veya dahili IP adresinin kullanılıp " +"kullanılmayacağını belirtir." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:510 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:383 +msgid "Start Date (yyyy-mm-dd)" +msgstr "Başlangıç Tarihi (yyyy-aa-gg)" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:502 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:375 +msgid "Start Time (hh:mm:ss)" +msgstr "Başlangıç Zamanı (sa.dd.sn)" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:514 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:387 +msgid "Stop Date (yyyy-mm-dd)" +msgstr "Bitiş Tarihi (yyyy-aa-gg)" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:506 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:379 +msgid "Stop Time (hh:mm:ss)" +msgstr "Durdurma Zamanı (sa.dd.sn)" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:130 +msgid "Storage Method" +msgstr "Depolama Yöntemi" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:480 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:353 +msgid "Sunday" +msgstr "Pazar" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:694 +msgid "" +"The existing firewall configuration needs to be changed for LuCI to function " +"properly." +msgstr "" +"LuCI'nin düzgün çalışması için mevcut güvenlik duvarı yapılandırmasının " +"değiştirilmesi gerekir." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:39 +msgid "" +"The firewall creates zones over your network interfaces to control network " +"traffic flow." +msgstr "" +"Güvenlik duvarı, ağ trafiği akışını kontrol etmek için ağ arayüzleriniz " +"üzerinde bölgeler oluşturur." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:227 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:340 +msgid "" +"The options below control the forwarding policies between this zone (%s) and " +"other zones. Destination zones cover forwarded traffic " +"originating from %q. Source zones match forwarded " +"traffic from other zones targeted at %q. The forwarding " +"rule is unidirectional, e.g. a forward from lan to wan does " +"not imply a permission to forward from wan to lan as well." +msgstr "" +"Aşağıdaki seçenekler, bu bölge (%s) ile diğer bölgeler arasındaki " +"yönlendirme politikalarını kontrol eder. Hedef bölgeler " +"yönlendirilen trafiği eşleştirin hedeflenen %q. Kaynak " +"bölgeler diğer bölgelerden gelen trafiği eşleştirin hedeflenen " +"%q. İletim kuralı tek yönlüdür,Örneğin. lan'dan wan'a " +"yönlendirme, wan'dan lan'a yönlendirme izni anlamına gelmez." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:125 +msgid "" +"This section defines common properties of %q. The input and " +"output options set the default policies for traffic entering and " +"leaving this zone while the forward option describes the policy for " +"forwarded traffic between different networks within the zone. Covered " +"networks specifies which available networks are members of this zone." +msgstr "" +"Bu bölüm,% q öğesinin ortak özelliklerini tanımlar. giriş ve " +"çıkış seçenekleri, bu bölgeye giren ve çıkan trafik için varsayılan " +"politikaları ayarlarken, yönlendir seçeneği farklı ağlar arasında " +"yönlendirilen trafik için politikayı açıklar bölge içinde. Kapsanan ağla " +", hangi kullanılabilir ağların bu bölgenin üyesi olduğunu belirtir." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:484 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:357 +msgid "Thursday" +msgstr "Perşembe" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:184 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:183 +msgid "Time Restrictions" +msgstr "Zaman Kısıtlamaları" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:518 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:391 +msgid "Time in UTC" +msgstr "UTC Zamanı" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:244 +msgid "Time restrictions are enabled for this rule" +msgstr "Bu kural için zaman kısıtlamaları etkinleştirildi" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:196 +msgid "Timeout" +msgstr "Zaman aşımı" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:77 +msgid "" +"To %{dest}%{dest_device?, interface %{dest_device}}%{dest_ip?, IP " +"%{dest_ip#%{next?, }%{item.ival}
}}%{dest_port?, port %{dest_port#%{next?, }" +"%{item." +"ival}}}" +msgstr "" +"Buraya %{dest}%{dest_device?, arayüz %{dest_device}}%{dest_ip?, " +"IP %{dest_ip#%{next?, }%{item.ival}}}%{dest_port?, port " +"%{dest_port#%{next?, }%{item.ival}}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:55 +msgid "" +"To %{dest}%{dest_device?, via interface %{dest_device}}%{dest_ip?, IP %{dest_ip#%{next?, }%{item.ival}}}%{dest_port?, port " +"%{dest_port#%{next?, }%{item.ival}}}" +msgstr "" +"Buraya %{dest}%{dest_device?, arayüz aracılığıyla %{dest_device}}%{dest_ip?, IP %{dest_ip#%{next?, }%{item.ival}}}%{dest_port?, port %{dest_port#%{next?, }%{item." +"ival}}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:61 +msgid "" +"To %{dest}%{dest_ip?, IP %{dest_ip#%{next?, }%{item.ival}}}%{dest_port?, port %{dest_port#%{next?, }%{item.ival}}}" +msgstr "" +"Buraya %{dest}%{dest_ip?, IP %{dest_ip#%{next?, }%{item.ival}}}%{dest_port?, port %{dest_port#%{next?, }%{item." +"ival}}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:439 +msgid "Tracking helper" +msgstr "İzleme yardımcısı" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:176 +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:35 +msgid "Traffic Rules" +msgstr "Trafik kuralları" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:174 +msgid "" +"Traffic rules define policies for packets travelling between different " +"zones, for example to reject traffic between certain hosts or to open WAN " +"ports on the router." +msgstr "" +"Trafik kuralları, örneğin belirli ana bilgisayarlar arasındaki trafiği " +"reddetmek veya yönlendiricide WAN bağlantı noktalarını açmak gibi farklı " +"bölgeler arasında seyahat eden paketler için politikalar tanımlar." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:482 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:355 +msgid "Tuesday" +msgstr "Salı" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/custom.js:19 +msgid "Unable to save contents: %s" +msgstr "İçerik kaydedilemiyor: %s" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:197 +msgid "" +"Unit: seconds. Default 0 means the entry is added permanently " +"to the set.
Max: 2147483 seconds." +msgstr "" +"Birim: saniye. Varsayılan 0, girişin sete kalıcı olarak " +"eklendiği anlamına gelir.
Maks: 2147483 saniye." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:341 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:461 +msgid "Unknown or not installed conntrack helper \"%s\"" +msgstr "Bilinmeyen veya yüklenmemiş bağlantı yolu yardımcısı \"%s\"" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:186 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:190 +msgid "Unnamed NAT" +msgstr "İsimsiz NAT" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:169 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:184 +msgid "Unnamed forward" +msgstr "İsimsiz yönlendirme" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:191 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:211 +msgid "Unnamed rule" +msgstr "İsimsiz kural" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:57 +msgid "Unnamed set" +msgstr "Adsız küme" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:130 +msgid "Unnamed zone" +msgstr "İsimsiz bölge" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:597 +msgid "Unrecognized protocol" +msgstr "Bilinmeyen protokol" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:695 +msgid "" +"Upon pressing \"Continue\", \"redirect\" sections with target \"SNAT\" will " +"be converted to \"nat\" sections and the firewall will be restarted to apply " +"the updated configuration." +msgstr "" +"\"Devam\" düğmesine basıldığında, \"SNAT\" hedefli \"yeniden yönlendirme\" " +"bölümleri \"nat\" bölümlerine dönüştürülecek ve güncellenmiş yapılandırmayı " +"uygulamak için güvenlik duvarı yeniden başlatılacaktır." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:315 +msgid "Use external IP address" +msgstr "Harici bir IP adresi kullan" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:314 +msgid "Use internal IP address" +msgstr "Dahili bir IP adresi kullan" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:247 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:378 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:322 +msgid "Use ipset" +msgstr "ipset'i kullan" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:231 +msgid "" +"Use this option to classify zone traffic by raw, non-uci managed " +"network devices." +msgstr "" +"Bölge trafiğini ham, uci yönetilmeyen ağ cihazlarına göre " +"sınıflandırmak için bu seçeneği kullanın." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:236 +msgid "" +"Use this option to classify zone traffic by source or destination subnet " +"instead of networks or devices." +msgstr "" +"Bölge trafiğini ağlar veya cihazlar yerine kaynak veya hedef alt ağa göre " +"sınıflandırmak için bu seçeneği kullanın." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:331 +msgid "Valid firewall mark required" +msgstr "Geçerli güvenlik duvarı işareti gerekli" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:483 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:356 +msgid "Wednesday" +msgstr "Çarşamba" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:475 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:348 +msgid "Week Days" +msgstr "Hafta içi" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:420 +msgid "XOR firewall mark" +msgstr "XOR güvenlik duvarı işareti" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:316 +msgid "XOR mark" +msgstr "XOR işareti" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:28 +msgid "Your device does not run firewall4." +msgstr "Cihazınız firewall4'ü çalıştırmıyor." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:26 +msgid "Your device runs firewall4." +msgstr "Cihazınız firewall4'ü çalıştırıyor." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:143 +msgid "Zone ⇒ Forwardings" +msgstr "Bölge ⇒ Yönlendirmeler" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:101 +msgid "Zones" +msgstr "Bölgeler" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:320 +msgid "" +"Zones from which reflection rules shall be created. If unset, only the " +"destination zone is used." +msgstr "" +"Yansıma kurallarının oluşturulacağı bölgeler. Ayarlanmadığı takdirde " +"yalnızca hedef bölge kullanılır." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:415 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:70 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:159 +msgid "accept" +msgstr "kabul et" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:268 +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:463 +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:486 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:270 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:301 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:328 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:392 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:407 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:441 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:448 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:266 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:282 +msgid "any" +msgstr "herhangi" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:53 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:86 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:65 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:78 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:46 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:56 +msgid "any zone" +msgstr "herhangi bir bölge" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:298 +msgid "any/all" +msgstr "herhangi biri/hepsi" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:419 +msgid "apply firewall mark" +msgstr "güvenlik duvarı işaretini uygula" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:418 +msgid "assign conntrack helper" +msgstr "bağlantı yardımcısı atama" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:194 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:222 +msgid "automatic" +msgstr "otomatik" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:131 +msgid "bitmap" +msgstr "bitmap" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:137 +msgid "bitmap is ipv4 only" +msgstr "bitmap yalnızca ipv4'tür" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:72 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:89 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:67 +msgid "day" +msgstr "gün" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:93 +msgid "dest_ip: Destination IP" +msgstr "dest_ip: Hedef IP'si" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:95 +msgid "dest_mac: Destination MAC addr" +msgstr "dest_mac: Hedef MAC adresi" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:96 +msgid "dest_net: Destination (sub)net" +msgstr "dest_net: Hedef (alt)net" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:94 +msgid "dest_port: Destination Port" +msgstr "dest_port: Hedef Bağlantı Noktası" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:98 +msgid "dest_set: Destination ipset*" +msgstr "dest_set: Hedef ipset*" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:315 +msgid "do not rewrite" +msgstr "yeniden yazma" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:417 +msgid "don't track" +msgstr "izleme" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:414 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:69 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:158 +msgid "drop" +msgstr "düşür" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:21 +msgid "" +"firewall4 supports referencing and creating IP sets to simplify matching of " +"large address lists without the need to create one rule per item to match. " +"Port ranges in ipsets are unsupported by firewall4.
" +msgstr "" +"Firewall4, eşleşecek öğe başına bir kural oluşturmaya gerek kalmadan büyük " +"adres listelerinin eşleştirilmesini kolaylaştırmak için IP kümelerine " +"referans vermeyi ve oluşturmayı destekler. ipset'lerdeki bağlantı noktası " +"aralıkları güvenlik duvarı4 tarafından desteklenmez.
" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:159 +msgid "fromport-toport" +msgstr "fromport-toport" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:132 +msgid "hash" +msgstr "hash" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:72 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:89 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:67 +msgid "hour" +msgstr "saat" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:81 +msgid "ip: IP addr" +msgstr "ip: IP adresi" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:153 +msgid "ip[/cidr]
" +msgstr "ip[/cidr]
" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:145 +msgid "ip[/cidr]
For use with Match datatypes: *_ip." +msgstr "" +"ip[/cidr]
Eşleştirme veri türleriyle kullanım için: *_ip." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:70 +msgid "ipv4" +msgstr "ipv4" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:133 +msgid "list" +msgstr "liste" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:83 +msgid "mac: MAC addr" +msgstr "mac: MAC adresi" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:108 +msgid "macaddr|ip[/cidr]
" +msgstr "macaddr|ip[/cidr]
" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:72 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:89 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:67 +msgid "minute" +msgstr "dakika" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:84 +msgid "net: (sub)net" +msgstr "net: (alt)net" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:82 +msgid "port: Port" +msgstr "port: Port" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:416 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:68 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:157 +msgid "reject" +msgstr "reddet" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:72 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:89 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:67 +msgid "second" +msgstr "ikinci" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:86 +msgid "set: ipset*" +msgstr "set: ipset*" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:92 +msgid "src_Set: Source ipset*" +msgstr "src_Set: Kaynak ipset*" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:87 +msgid "src_ip: Source IP" +msgstr "src_ip: Kaynak IP'si" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:89 +msgid "src_mac: Source MAC addr" +msgstr "src_mac: Kaynak MAC adresi" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:90 +msgid "src_net: Source (sub)net" +msgstr "src_net: Kaynak (alt)net" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:88 +msgid "src_port: Source Port" +msgstr "src_port: Kaynak Bağlantı Noktası" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:53 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:62 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:86 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:65 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:78 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:56 +msgid "this device" +msgstr "bu cihaz" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:124 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:226 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:339 +msgid "this new zone" +msgstr "bu yeni bölge" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:354 +msgid "unlimited" +msgstr "sınırsız" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:251 +msgid "unspecified" +msgstr "belirtilmemiş" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:114 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:173 +msgid "up to 65536 entries." +msgstr "65536 girişe kadar." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:339 +msgid "valid firewall mark" +msgstr "geçerli güvenlik duvarı işareti" + +#~ msgid "Software based offloading for routing/NAT" +#~ msgstr "Yazılım tabanlı boşaltma, yönlendirme/NAT için" + +#~ msgid "" +#~ "Enable network address and port translation (NAT or NAPT) for outbound " +#~ "traffic on this zone. This is typically enabled on the wan zone." +#~ msgstr "" +#~ "Bu bölgede giden trafik için ağ adresi ve bağlantı noktası çevirisini " +#~ "(NAT veya NAPT) etkinleştir. Bu genellikle wan bölgesinde " +#~ "etkinleştirilir." + +#~ msgid "" +#~ "Forwarded IPv4%{proto?, protocol %{proto#%{next?, }%{item.name}}}%{mark?, mark %{mark." +#~ "val}}" +#~ msgstr "" +#~ "Yönlendirilen IPv4 %{proto?, protocol %{proto#%{next?, }%{item.name}" +#~ "}}%{mark?, işaretle %{mark.val}}" + +#~ msgid "" +#~ "Incoming IPv4%{proto?, protocol %{proto#%{next?, }%{item.types?%{item.name}ICMP with types %{item.types#%{next?, }%{item}}:%{item.name}}}}%{mark?, mark %{mark.val}}%{helper?, helper %{helper.inv?%{helper.val}:%{helper.val}" +#~ "}}" +#~ msgstr "" +#~ "Gelen IPv4%{proto?, protocol %{proto#%{next?, }%{item.types?%{item.name}Türlerle ICMP %{item.types#%{next?, }%{item}}:%{item.name}}}}%{mark?, mark %{mark.val}}%{helper?, yardımcı %{helper.inv?%{helper." +#~ "val}:%{helper.val}}}" diff --git a/luci-app-firewall/po/uk/firewall.po b/luci-app-firewall/po/uk/firewall.po new file mode 100644 index 000000000..fd83e1770 --- /dev/null +++ b/luci-app-firewall/po/uk/firewall.po @@ -0,0 +1,1631 @@ +msgid "" +msgstr "" +"Project-Id-Version: \n" +"PO-Revision-Date: 2024-10-17 17:10+0000\n" +"Last-Translator: Andrew \n" +"Language-Team: Ukrainian \n" +"Language: uk\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && " +"n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" +"X-Generator: Weblate 5.8-rc\n" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:48 +msgid "" +"%{src?%{dest?Forwarded:Incoming}:Outgoing} %{ipv6?%{ipv4?IPv4 and " +"IPv6:IPv6}:IPv4}%{proto?, protocol " +"%{proto#%{next?, }%{item.types?%{item." +"name}ICMP with types %{item.types#%{next?, }" +"%{item}}:%{item.name}}}}%{mark?, mark " +"%{mark.val}}%{dscp?, DSCP %{dscp." +"inv?%{dscp.val}:%{dscp.val}}}%{helper?, helper " +"%{helper.inv?%{helper.val}:%{helper." +"val}}}" +msgstr "" +"%{src?%{dest?Переспрямовування:Вхідний}:Вихідний} %{ipv6?%{ipv4?IPv4 та IPv6:IPv6}:IPv4}%{proto?, протокол " +"%{proto#%{next?, }%{item.types?%{item." +"name}ICMP із типами %{item.types#%{next?, }" +"%{item}}:%{item.name}}}}%{mark?, позначка " +"%{mark.val}}%{dscp?, DSCP %{dscp.inv?%{dscp.val}:%{dscp.val}}}%{helper?, помічник %{helper.inv?%{helper.val}:%{helper.val}}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:463 +msgid "-- add IP --" +msgstr "-- додати IP-адресу --" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:521 +msgid "-- add MAC --" +msgstr "-- додати MAC-адресу --" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:199 +msgid "0" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:182 +msgid "1024" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:118 +msgid "" +"Accept %{src?%{dest?forward:input}:output}" +msgstr "" +"Приймати %{src?%{dest?переспрямований:" +"вхідний}:вихідний} трафік" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:93 +msgid "Prevent source rewrite" +msgstr "Запобігати перезапису джерела" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:85 +msgid "" +"Forward to %{dest}%{dest_ip? IP " +"%{dest_ip}}%{dest_port? port %{dest_port}}" +msgstr "" +"Переспрямовувати на %{dest}%{dest_ip? IP-" +"адресу %{dest_ip}}%{dest_port? порт %{dest_port}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:115 +msgid "" +"Drop %{src?%{dest?forward:input}:output}" +msgstr "" +"Відхиляти %{src?%{dest?переспрямований:" +"вхідний}:вихідний} трафік" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:133 +msgid "" +"Assign DSCP classification %{set_dscp}" +"" +msgstr "" +"Призначити DSCP класифікатор " +"%{set_dscp}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:127 +msgid "" +"Assign conntrack helper " +"%{set_helper}" +msgstr "" +"Призначити помічника відслідковування " +"з'єднань %{set_helper}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:130 +msgid "" +"%{set_mark?Assign:XOR} firewall mark " +"%{set_mark?:%{set_xmark}}" +msgstr "" +"%{set_mark?Призначити мітку:XOR мітки} " +"брандмауера %{set_mark?:%{set_xmark}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:90 +msgid "Automatically rewrite source IP" +msgstr "" +"Автоматично перезаписувати IP-адресу " +"джерела" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:124 +msgid "" +"Do not track %{src?%{dest?forward:input}:" +"output}" +msgstr "" +"Не відслідковувати %{src?%{dest?" +"переспрямований:вхідний}:вихідний} трафік" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:121 +msgid "" +"Reject %{src?%{dest?forward:input}:output}" +msgstr "" +"Відхиляти %{src?%{dest?переспрямований:" +"вхідний}:вихідний} трафік" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:87 +msgid "" +"Statically rewrite to source %{snat_ip?IP " +"%{snat_ip}} %{snat_port?port %{snat_port}}" +msgstr "" +"Статично перезаписувати %{snat_ip?IP-адресу " +"джерела на %{snat_ip}} %{snat_port?порт джерела на " +"%{snat_port}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:306 +msgid "A rewrite IP must be specified!" +msgstr "Потрібно вказати IP-адресу для перезапису!" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:292 +msgid "ACCEPT - Disable address rewriting" +msgstr "ACCEPT — Вимкнути перезапис адреси" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:224 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:225 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:411 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:204 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:287 +msgid "Action" +msgstr "Дія" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:322 +msgid "" +"Additional raw iptables arguments to classify zone destination " +"traffic, e.g. -p tcp --dport 443 to only match outbound HTTPS " +"traffic." +msgstr "" +"Додаткові аргументи raw iptables для класифікації трафіку " +"призначення зони, наприклад, -p tcp --dport 443, щоб зіставляти " +"лише вихідний трафік HTTPS." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:312 +msgid "" +"Additional raw iptables arguments to classify zone source traffic, " +"e.g. -p tcp --sport 443 to only match inbound HTTPS traffic." +msgstr "" +"Додаткові аргументи raw iptables для класифікації трафіку джерела " +"зони, наприклад, -p tcp --sport 443, щоб зіставляти лише " +"вхідний трафік HTTPS." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:107 +msgid "Address family, Internal IP address must match" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:135 +msgid "" +"Address family, source address, destination address, rewrite IP address must " +"match" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:162 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:183 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:182 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:114 +msgid "Advanced Settings" +msgstr "Розширені налаштування" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:283 +msgid "Allow \"invalid\" traffic" +msgstr "Дозволити \"неправильний\" трафік" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:385 +msgid "Allow forward from source zones:" +msgstr "Дозволити переспрямовування від зон джерела:" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:344 +msgid "Allow forward to destination zones:" +msgstr "Дозволити переспрямовування до зон призначення:" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:551 +msgid "Any" +msgstr "Будь-який" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:479 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:495 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:352 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:368 +msgid "Any day" +msgstr "Будь-який день" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:317 +msgid "" +"Apply a bitwise XOR of the given value and the existing mark value on " +"established connections. Format is value[/mask]. If a mask is specified then " +"those bits set in the mask are zeroed out." +msgstr "" +"Застосувати побітове XOR заданого та наявного значень мітки для вже " +"встановлених з'єднань. Формат — значення[/маска]. Якщо маску вказано, то " +"біти, встановлені в масці, обнуляються." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:264 +msgid "Apply the given DSCP class or value to established connections." +msgstr "Застосувати заданий клас або значення DSCP до встановлених з'єднань." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:439 +msgid "Assign the specified connection tracking helper to matched traffic." +msgstr "" +"Призначити вказаного помічника відслідковування з'єднань для відповідного " +"трафіку." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:286 +msgid "Automatic helper assignment" +msgstr "Автоматичне призначення помічника" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:286 +msgid "" +"Automatically assign conntrack helpers based on traffic protocol and port" +msgstr "" +"Автоматично призначати помічників відслідковування з'єднань (Conntrack) на підставі протоколу та " +"порту трафіку" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:61 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:62 +msgid "Comment" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:115 +msgid "Conntrack Settings" +msgstr "" +"Параметри відслідковування з'єднань (Conntrack)" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:290 +msgid "Conntrack helpers" +msgstr "" +"Помічники відслідковування з'єднань (Conntrack)" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/custom.js:16 +msgid "Contents have been saved." +msgstr "Вміст збережено." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:700 +msgid "Continue" +msgstr "Продовжити" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:204 +msgid "Counters" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:231 +msgid "Covered devices" +msgstr "Охоплені пристрої" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:183 +msgid "Covered networks" +msgstr "Охоплені мережі" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:236 +msgid "Covered subnets" +msgstr "Охоплені підмережі" + +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:62 +msgid "Custom Rules" +msgstr "Настроювані правила" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/custom.js:26 +msgid "" +"Custom rules allow you to execute arbitrary iptables commands which are not " +"otherwise covered by the firewall framework. The commands are executed after " +"each firewall restart, right after the default ruleset has been loaded." +msgstr "" +"Настроювані правила дозволяють виконувати довільні команди iptables, які в іншому випадку не охоплено в межах брандмауера. Команди " +"виконуються після кожного перезавантаження брандмауера, відразу після " +"завантаження типового набору правил." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:421 +msgid "DSCP classification" +msgstr "класифікація DSCP" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:263 +msgid "DSCP mark" +msgstr "Позначка DSCP" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:297 +msgid "DSCP mark required" +msgstr "Потрібна позначка DSCP" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:402 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:270 +msgid "Destination address" +msgstr "Адреса призначення" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:404 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:278 +msgid "Destination port" +msgstr "Порт призначення" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:396 +msgid "Destination zone" +msgstr "Зона призначення" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:269 +msgid "Device name" +msgstr "Назва пристрою" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:283 +msgid "" +"Do not install extra rules to reject forwarded traffic with conntrack state " +"invalid. This may be required for complex asymmetric route setups." +msgstr "" +"Не встановлювати додаткові правила для відхилення переспрямованого трафіку " +"зі станом відслідковування з'єднань invalid. Це може знадобитися " +"для складних налаштувань асиметричного маршруту." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:59 +msgid "Drop invalid packets" +msgstr "Відхиляти помилкові пакети" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:232 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:231 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:210 +msgid "Enable" +msgstr "Увімкнути" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:306 +msgid "Enable NAT Loopback" +msgstr "Увімкнути NAT Loopback" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:45 +msgid "Enable SYN-flood protection" +msgstr "Увімкнути захист від SYN-flood" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:296 +msgid "Enable logging on this zone" +msgstr "Увімкнути реєстрування у цій зоні" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:168 +msgid "" +"Enable network address and port translation IPv4 (NAT4 or NAPT4) for " +"outbound traffic on this zone. This is typically enabled on the wan " +"zone." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:243 +msgid "" +"Enable network address and port translation IPv6 (NAT6 or NAPT6) for " +"outbound traffic on this zone." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:211 +msgid "Enabled" +msgstr "Увімкнено" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:205 +msgid "Enables packet and byte count tracking for the set." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:339 +msgid "Expecting: %s" +msgstr "Очікується: %s" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:290 +msgid "Explicitly choses allowed connection tracking helpers for zone traffic" +msgstr "" +"В явному вигляді дозволені помічники відслідковування з'єднань для трафіку " +"зони" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:274 +msgid "External IP address" +msgstr "Зовнішня IP-адреса" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:279 +msgid "External port" +msgstr "Зовнішній порт" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:349 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:470 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:342 +msgid "Extra arguments" +msgstr "Додаткові аргументи" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:322 +msgid "Extra destination arguments" +msgstr "Додаткові аргументи для призначення" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:116 +msgid "Extra iptables arguments" +msgstr "Додаткові аргументи iptables" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:312 +msgid "Extra source arguments" +msgstr "Додаткові аргументи для джерела" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:67 +msgid "Family" +msgstr "" + +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:3 +msgid "Firewall" +msgstr "Брандмауер" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/custom.js:25 +msgid "Firewall - Custom Rules" +msgstr "Брандмауер — Настроювані правила" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:20 +msgid "Firewall - IP sets" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:172 +msgid "Firewall - NAT Rules" +msgstr "Брандмауер — Правила NAT" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:152 +msgid "Firewall - Port Forwards" +msgstr "Брандмауер — Переспрямовування портів" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:173 +msgid "Firewall - Traffic Rules" +msgstr "Брандмауер — Правила трафіку" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:38 +msgid "Firewall - Zone Settings" +msgstr "Брандмауер — Параметри зон" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:693 +msgid "Firewall configuration migration" +msgstr "Переміщення конфігурації брандмауера" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:82 +msgid "Flow offloading type" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:64 +msgid "Forward" +msgstr "Переспрямовування" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:34 +msgid "" +"Forwarded %{ipv6?%{ipv4?IPv4 and IPv6:IPv6}:" +"IPv4}%{proto?, protocol %{proto#%{next?, }%{item.name}}}%{mark?, mark %{mark.val}" +"}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:485 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:358 +msgid "Friday" +msgstr "П'ятниця" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:45 +msgid "" +"From %{src}%{src_device?, interface %{src_device}}%{src_ip?, IP " +"%{src_ip#%{next?, }%{item.ival}}}%{src_port?, port %{src_port#%{next?, }" +"%{item." +"ival}}}" +msgstr "" +"Із %{src}%{src_device?, інтерфейс %{src_device}}%{src_ip?, IP-" +"адреса %{src_ip#%{next?, }%{item.ival}}}%{src_port?, порт " +"%{src_port#%{next?, }%{item.ival}}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:64 +msgid "" +"From %{src}%{src_device?, interface %{src_device}}%{src_ip?, IP " +"%{src_ip#%{next?, }%{item.ival}}}%{src_port?, port %{src_port#%{next?, }" +"%{item." +"ival}}}%{src_mac?, MAC %{src_mac#%{next?, }%{item.ival}" +"}}" +msgstr "" +"Із %{src}%{src_device?, інтерфейс %{src_device}}%{src_ip?, IP-" +"адреса %{src_ip#%{next?, }%{item.ival}}}%{src_port?, порт " +"%{src_port#%{next?, }%{item.ival}}}%{src_mac?, MAC-адреса " +"%{src_mac#%{next?, }%{item.ival}}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:52 +msgid "" +"From %{src}%{src_ip?, IP %{src_ip#%{next?, }%{item.ival}}}%{src_port?, port %{src_port#%{next?, }%{item.ival}}}%{src_mac?, " +"MAC %{src_mac#%{next?, }%{item.ival}}}" +msgstr "" +"Із %{src}%{src_ip?, IP-адреса %{src_ip#%{next?, }%{item.ival}}}%{src_port?, порт %{src_port#%{next?, }%{item.ival}}}%{src_mac?, MAC-адреса %{src_mac#%{next?, }%{item.ival}}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:161 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:182 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:181 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:41 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:113 +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:17 +msgid "General Settings" +msgstr "Загальні налаштування" + +#: applications/luci-app-firewall/root/usr/share/rpcd/acl.d/luci-app-firewall.json:3 +msgid "Grant access to firewall configuration" +msgstr "Надати доступ до конфігурування брандмауера" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:85 +msgid "Hardware based offloading for routing with/without NAT." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:85 +msgid "Hardware flow offloading" +msgstr "Апаратні засоби розвантаження потоку" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:144 +msgid "IP (range)" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:32 +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:53 +msgid "IP Sets" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:152 +msgid "IPs/Networks" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:107 +msgid "IPs/Networks/MACs" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:68 +msgid "IPv4" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:191 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:280 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:219 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:256 +msgid "IPv4 and IPv6" +msgstr "IPv4 та IPv6" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:192 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:281 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:220 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:257 +msgid "IPv4 only" +msgstr "Лише IPv4" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:69 +msgid "IPv6" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:242 +msgid "IPv6 Masquerading" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:193 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:282 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:221 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:258 +msgid "IPv6 only" +msgstr "Лише IPv6" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:252 +msgid "Inbound device" +msgstr "Вхідний пристрій" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:187 +msgid "Include File" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:40 +msgid "" +"Incoming %{ipv6?%{ipv4?IPv4 and IPv6:IPv6}:" +"IPv4}%{proto?, protocol %{proto#%{next?, }%{item.types?%{item.name}ICMP " +"with types %{item.types#%{next?, }%{item}}:" +"%{item.name}}}}%{mark?, mark %{mark.val}}%{helper?, helper %{helper.inv?%{helper.val}:%{helper.val}}}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:180 +msgid "Initial Hash Size" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:62 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:151 +msgid "Input" +msgstr "Вхідний трафік" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:292 +msgid "Internal IP address" +msgstr "Внутрішня IP-адреса" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:297 +msgid "Internal port" +msgstr "Внутрішній порт" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:287 +msgid "Internal zone" +msgstr "Внутрішня зона" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:153 +msgid "Intra zone forward" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:305 +msgid "Invalid DSCP mark" +msgstr "Неприпустима позначка DHCP" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:373 +msgid "Invalid limit value" +msgstr "Неприпустиме значення обмеження" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:47 +msgid "Invalid set name" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:383 +msgid "Limit burst" +msgstr "Обмеження блоку" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:299 +msgid "Limit log messages" +msgstr "Обмеження повідомлень журналу" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:349 +msgid "Limit matching" +msgstr "Обмеження зіставляння" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:79 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:96 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:74 +msgid "" +"Limit matching to %{limit.num} packets per %{limit.unit}%{limit.burst? burst %{limit.burst}}" +msgstr "" +"Обмеження зіставляння до %{limit.num} пакетів на %{limit." +"unit}%{limit.burst? блок %{limit.burst}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:175 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:250 +msgid "Limited masquerading enabled" +msgstr "Увімкнено обмежене маскування" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:350 +msgid "Limits traffic matching to the specified rate." +msgstr "Обмеження зіставляння трафіку із вказаною швидкістю." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:311 +msgid "Loopback source IP" +msgstr "IP-адреса джерела зворотної петлі" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:291 +msgid "MASQUERADE - Automatically rewrite to outbound interface IP" +msgstr "" +"MASQUERADE - Автоматично переписувати на IP-адресу вихідного інтерфейсу" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:180 +msgid "MSS clamping" +msgstr "Обмежування MSS" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:167 +msgid "Masquerading" +msgstr "Підміна" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:213 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:214 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:193 +msgid "Match" +msgstr "Зіставляти" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:263 +msgid "Match DSCP" +msgstr "Зіставляти DSCP" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:293 +msgid "Match ICMP type" +msgstr "Зіставляти ICMP типу" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:249 +msgid "Match device" +msgstr "Зіставляти пристрою" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:271 +msgid "Match forwarded traffic directed at the given IP address." +msgstr "" +"Зіставляння переспрямованого трафіку, спрямованого на вказану IP-адресу." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:279 +msgid "" +"Match forwarded traffic directed at the given destination port or port range." +msgstr "" +"Зіставляння переспрямованого трафіку, спрямованого на вказаний порт " +"призначення або діапазон портів." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:254 +msgid "Match forwarded traffic from this IP or range." +msgstr "Зіставляння переспрямованого трафіку від цієї IP-адреси або діапазону." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:262 +msgid "" +"Match forwarded traffic originating from the given source port or port range." +msgstr "" +"Зіставляння переспрямованого трафіку, що походить із заданого порту джерела " +"або діапазону портів." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:326 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:446 +msgid "Match helper" +msgstr "Зіставляти помічнику" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:280 +msgid "" +"Match incoming traffic directed at the given destination port or port range " +"on this host" +msgstr "" +"Зіставляти вхідний трафік, спрямований на заданий порт призначення або " +"діапазон портів цього вузла" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:316 +msgid "Match mark" +msgstr "Зіставляти позначці" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:326 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:446 +msgid "Match traffic using the specified connection tracking helper." +msgstr "" +"Зіставляти трафік за допомогою вказаного помічника відслідковування з'єднань." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:319 +msgid "Matches a specific firewall mark or a range of different marks." +msgstr "" +"Зіставляти вказаній позначці брандмауера або діапазону різних позначок." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:332 +msgid "Matches forwarded traffic using the specified outbound network device." +msgstr "" +"Зіставляння переспрямованого трафіку за допомогою вказаного вихідного " +"мережевого пристрою." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:264 +msgid "Matches traffic carrying the specified DSCP marking." +msgstr "Зіставляти трафік із вказаною позначкою DSCP." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:113 +msgid "Max Entries" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:172 +msgid "Max Length" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:384 +msgid "" +"Maximum initial number of packets to match: this number gets recharged by " +"one every time the limit specified above is not reached, up to this number." +msgstr "" +"Максимальна початкова кількість пакетів, що зіставляються: це число " +"збільшується на одиницю щоразу, коли вказане вище обмеження не досягнуто, аж " +"до цього числа." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:481 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:354 +msgid "Monday" +msgstr "Понеділок" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:491 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:364 +msgid "Month Days" +msgstr "Дні місяця" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:175 +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:44 +msgid "NAT Rules" +msgstr "Правила NAT" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:173 +msgid "" +"NAT rules allow fine grained control over the source IP to use for outbound " +"or forwarded traffic." +msgstr "" +"Правила NAT дозволяють тонко контролювати IP-адресу джерела, що " +"використовується для вихідного чи переспрямованого трафіку." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:183 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:42 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:52 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:210 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:189 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:129 +msgid "Name" +msgstr "Назва" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:166 +msgid "Netmask" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:83 +msgid "None" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:77 +msgid "Not fully compatible with QoS/SQM." +msgstr "Не повністю сумісно з QoS / SQM." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:275 +msgid "Only match incoming traffic directed at the given IP address." +msgstr "Зіставляти тільки вхідний трафік, спрямований на вказану IP-адресу." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:256 +msgid "Only match incoming traffic from these MACs." +msgstr "Зіставляти тільки вхідний трафік від цих MAC-адрес." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:261 +msgid "Only match incoming traffic from this IP or range." +msgstr "Зіставляти тільки вхідний трафік від цього IP чи діапазону." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:266 +msgid "" +"Only match incoming traffic originating from the given source port or port " +"range on the client host" +msgstr "" +"Зіставляти тільки вхідний трафік, що виникає на заданому порту джерела або " +"діапазоні портів вузла клієнта" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:253 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:331 +msgid "Outbound device" +msgstr "Вихідний пристрій" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:246 +msgid "Outbound zone" +msgstr "Вихідна зона" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:63 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:152 +msgid "Output" +msgstr "Вихідний трафік" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:75 +msgid "Packet Field Match" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:76 +msgid "" +"Packet fields to match upon.
Syntax: direction_datatype. e.g.: " +"src_port, dest_net.
Directions: src, dst. " +"Datatypes: ip, port, mac, net, set.
Direction prefixes are " +"optional.
*Note: datatype set is unsupported in fw4." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:350 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:471 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:343 +msgid "Passes additional arguments to iptables. Use with care!" +msgstr "" +"Передавання додаткових аргументів для IPTables. Використовуйте з обережністю!" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:309 +msgid "" +"Passing raw iptables arguments to source and destination traffic " +"classification rules allows to match packets based on other criteria than " +"interfaces or subnets. These options should be used with extreme care as " +"invalid values could render the firewall ruleset broken, completely exposing " +"all services." +msgstr "" +"Передавання аргументів raw iptables до правил класифікації вихідного трафіку " +"та трафіку призначення дозволяє зіставляти пакети на підставі інших " +"критеріїв, ніж інтерфейси чи підмережі. Ці параметри слід використовувати з " +"особливою обережністю, оскільки невірні значення можуть призвести до " +"порушення набору правил брандмауера, повністю відкриваючи всі служби." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:188 +msgid "Path to file of CIDRs, subnets, host IPs, etc.
" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:155 +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:26 +msgid "Port Forwards" +msgstr "Переспрямовування портів" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:153 +msgid "" +"Port forwarding allows remote computers on the Internet to connect to a " +"specific computer or service within the private LAN." +msgstr "" +"Переспрямовування портів дозволяє віддаленим комп'ютерам з Інтернету " +"підключатися до певного комп'ютера або служби у приватній мережі." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:158 +msgid "Port range" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:237 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:289 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:242 +msgid "Protocol" +msgstr "Протокол" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:298 +msgid "" +"Redirect matched incoming traffic to the given port on the internal host" +msgstr "" +"Переспрямувати відповідний вхідний трафік на заданий порт внутрішнього вузла" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:293 +msgid "Redirect matched incoming traffic to the specified internal host" +msgstr "Переспрямувати відповідний вхідний трафік на заданий внутрішній вузол" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:122 +msgid "Refer To External Set" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:320 +msgid "Reflection zones" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:85 +msgid "Requires hardware NAT support." +msgstr "Необхідна апаратна підтримка NAT." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:272 +msgid "Restrict Masquerading to given destination subnets" +msgstr "Обмежити підміну заданими підмережами призначення" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:261 +msgid "Restrict Masquerading to given source subnets" +msgstr "Обмежити підміну заданими підмережами джерела" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:188 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:277 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:216 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:255 +msgid "Restrict to address family" +msgstr "Обмежити сімейство протоколів" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:297 +msgid "Rewrite IP address" +msgstr "IP-адреса для перезапису" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:298 +msgid "Rewrite matched traffic to the specified source IP address." +msgstr "Перезаписати відповідний трафік на вказану IP-адресу джерела." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:312 +msgid "Rewrite matched traffic to the specified source port or port range." +msgstr "" +"Перезаписати відповідний трафік на вказаний порт джерела або діапазон портів." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:311 +msgid "Rewrite port" +msgstr "Порт для перезапису" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:76 +msgid "Routing/NAT Offloading" +msgstr "Розвантаження маршрутизації/NAT" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:290 +msgid "SNAT - Rewrite to specific source IP or port" +msgstr "SNAT - Перезаписати на вказану IP-адресу джерела або порт" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:486 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:359 +msgid "Saturday" +msgstr "Субота" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:316 +msgid "Set mark" +msgstr "Установити позначку" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:318 +msgid "" +"Set the given mark value on established connections. Format is value[/mask]. " +"If a mask is specified then only those bits set in the mask are modified." +msgstr "" +"Встановіть задане значення позначки для встановлених з'єднаннях. Формат — " +"значення[/маска]. Якщо вказано маску, то змінюються лише ті біти, які " +"встановлені в масці." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:84 +msgid "Software based offloading for routing/NAT." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:84 +msgid "Software flow offloading" +msgstr "Програмне розвантаження потоку" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:260 +msgid "Source IP address" +msgstr "IP-адреса джерела" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:255 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:386 +msgid "Source MAC address" +msgstr "MAC-адреса джерела" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:387 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:253 +msgid "Source address" +msgstr "Адреса джерела" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:265 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:389 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:261 +msgid "Source port" +msgstr "Порт джерела" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:241 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:372 +msgid "Source zone" +msgstr "Зона джерела" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:270 +msgid "" +"Specifies whether to tie this traffic rule to a specific inbound or outbound " +"network device." +msgstr "" +"Визначає, чи слід прив'язувати це правило трафіку до певного вхідного або " +"вихідного мережевого пристрою." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:311 +msgid "" +"Specifies whether to use the external or the internal IP address for " +"reflected traffic." +msgstr "" +"Визначає, чи використовувати зовнішню або внутрішню IP-адресу для відбитого " +"трафіку." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:510 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:383 +msgid "Start Date (yyyy-mm-dd)" +msgstr "Дата початку (рррр-мм-дд)" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:502 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:375 +msgid "Start Time (hh:mm:ss)" +msgstr "Час початку (гг:хх:сс)" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:514 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:387 +msgid "Stop Date (yyyy-mm-dd)" +msgstr "Дата зупинки (рррр-мм-дд)" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:506 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:379 +msgid "Stop Time (hh:mm:ss)" +msgstr "Час зупинки (гг:хх:сс)" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:130 +msgid "Storage Method" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:480 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:353 +msgid "Sunday" +msgstr "Неділя" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:694 +msgid "" +"The existing firewall configuration needs to be changed for LuCI to function " +"properly." +msgstr "" +"Для належного функціонування LuCI потрібно змінити існуючу конфігурацію " +"брандмауера." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:39 +msgid "" +"The firewall creates zones over your network interfaces to control network " +"traffic flow." +msgstr "" +"Брандмауер створює зони поверх ваших мережевих інтерфейсів для управління " +"потоком мережевого трафіку." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:227 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:340 +msgid "" +"The options below control the forwarding policies between this zone (%s) and " +"other zones. Destination zones cover forwarded traffic " +"originating from %q. Source zones match forwarded " +"traffic from other zones targeted at %q. The forwarding " +"rule is unidirectional, e.g. a forward from lan to wan does " +"not imply a permission to forward from wan to lan as well." +msgstr "" +"Опції, наведені нижче, керують політиками переспрямовування між цією (%s) та " +"іншими зонами. Зони призначення покриваються переспрямованим " +"трафіком, що виходить з %q. Зони джерела " +"покриваються трафіком з інших зон, переспрямованим на %q. " +"Правило переспрямовування є односпрямованим, тобто, спрямовування " +"від LAN до WAN не означає, що є також дозвіл спрямовувати від WAN " +"до LAN." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:125 +msgid "" +"This section defines common properties of %q. The input and " +"output options set the default policies for traffic entering and " +"leaving this zone while the forward option describes the policy for " +"forwarded traffic between different networks within the zone. Covered " +"networks specifies which available networks are members of this zone." +msgstr "" +"Цей розділ визначає загальні властивості %q. Параметри вхідний і " +"вихідний задають типову політику для трафіку на вході й виході з " +"цієї зони, а параметр переспрямовування описує політику " +"спрямовування трафіку між різними мережами в межах зони. Пункт Покриті " +"мережі визначає, які доступні мережі є членами цієї зони." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:484 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:357 +msgid "Thursday" +msgstr "Четвер" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:184 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:183 +msgid "Time Restrictions" +msgstr "Часові обмеження" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:518 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:391 +msgid "Time in UTC" +msgstr "Час в UTC" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:244 +msgid "Time restrictions are enabled for this rule" +msgstr "Для цього правила ввімкнено обмеження часу" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:196 +msgid "Timeout" +msgstr "Часове обмеження" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:77 +msgid "" +"To %{dest}%{dest_device?, interface %{dest_device}}%{dest_ip?, IP " +"%{dest_ip#%{next?, }%{item.ival}
}}%{dest_port?, port %{dest_port#%{next?, }" +"%{item." +"ival}}}" +msgstr "" +"До %{dest}%{dest_device?, інтерфейс %{dest_device}}%{dest_ip?, IP-" +"адреса %{dest_ip#%{next?, }%{item.ival}}}%{dest_port?, порт " +"%{dest_port#%{next?, }%{item.ival}}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:55 +msgid "" +"To %{dest}%{dest_device?, via interface %{dest_device}}%{dest_ip?, IP %{dest_ip#%{next?, }%{item.ival}}}%{dest_port?, port " +"%{dest_port#%{next?, }%{item.ival}}}" +msgstr "" +"До %{dest}%{dest_device?, через інтерфейс %{dest_device}}%{dest_ip?, IP-адреса %{dest_ip#%{next?, }%{item.ival}}}%{dest_port?, порт %{dest_port#%{next?, }%{item.ival}}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:61 +msgid "" +"To %{dest}%{dest_ip?, IP %{dest_ip#%{next?, }%{item.ival}}}%{dest_port?, port %{dest_port#%{next?, }%{item.ival}}}" +msgstr "" +"До %{dest}%{dest_ip?, IP-адреса %{dest_ip#%{next?, }%{item.ival}}}%{dest_port?, порт %{dest_port#%{next?, }%{item.ival}}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:439 +msgid "Tracking helper" +msgstr "Помічник відслідковування" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:176 +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:35 +msgid "Traffic Rules" +msgstr "Правила трафіку" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:174 +msgid "" +"Traffic rules define policies for packets travelling between different " +"zones, for example to reject traffic between certain hosts or to open WAN " +"ports on the router." +msgstr "" +"Правила трафіку визначають політику для пакетів, що пересилаються між " +"різними зонами, наприклад, відхиляти трафік між певними вузлами або відкрити " +"порти WAN на маршрутизаторі." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:482 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:355 +msgid "Tuesday" +msgstr "Вівторок" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/custom.js:19 +msgid "Unable to save contents: %s" +msgstr "Не вдалося зберегти вміст: %s" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:197 +msgid "" +"Unit: seconds. Default 0 means the entry is added permanently " +"to the set.
Max: 2147483 seconds." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:341 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:461 +msgid "Unknown or not installed conntrack helper \"%s\"" +msgstr "" +"Невідомий або не інстальований помічник відслідковування з'єднань \"%s\"" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:186 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:190 +msgid "Unnamed NAT" +msgstr "NAT без назви" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:169 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:184 +msgid "Unnamed forward" +msgstr "Переспрямовування без назви" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:191 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:211 +msgid "Unnamed rule" +msgstr "Правило без назви" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:57 +msgid "Unnamed set" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:130 +msgid "Unnamed zone" +msgstr "Зона без назви" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:597 +msgid "Unrecognized protocol" +msgstr "Нерозпізнаний протокол" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:695 +msgid "" +"Upon pressing \"Continue\", \"redirect\" sections with target \"SNAT\" will " +"be converted to \"nat\" sections and the firewall will be restarted to apply " +"the updated configuration." +msgstr "" +"Після натискання кнопки \"Продовжити\" розділи \"redirect\" з цільовою " +"\"SNAT\" буде перетворено на розділи \"nat\", і брандмауер буде перезапущено " +"для застосування оновленої конфігурації." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:315 +msgid "Use external IP address" +msgstr "Використовувати зовнішню IP-адресу" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:314 +msgid "Use internal IP address" +msgstr "Використовувати внутрішню IP-адресу" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:247 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:378 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:322 +msgid "Use ipset" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:231 +msgid "" +"Use this option to classify zone traffic by raw, non-uci managed " +"network devices." +msgstr "" +"Використовуйте цей параметр для класифікації трафіку зон за мережевими " +"пристроями raw, які не управляються через uci." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:236 +msgid "" +"Use this option to classify zone traffic by source or destination subnet " +"instead of networks or devices." +msgstr "" +"Використовуйте цей параметр для класифікації трафіку зон за підмережею " +"джерела чи призначення замість мереж або пристроїв." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:331 +msgid "Valid firewall mark required" +msgstr "Потрібна дійсна позначка брандмауера" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:483 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:356 +msgid "Wednesday" +msgstr "Середа" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:475 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:348 +msgid "Week Days" +msgstr "Дні тижня" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:420 +msgid "XOR firewall mark" +msgstr "XOR позначки брандмауера" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:316 +msgid "XOR mark" +msgstr "XOR позначки" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:28 +msgid "Your device does not run firewall4." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:26 +msgid "Your device runs firewall4." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:143 +msgid "Zone ⇒ Forwardings" +msgstr "Зона ⇒ Переспрямовування" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:101 +msgid "Zones" +msgstr "Зони" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:320 +msgid "" +"Zones from which reflection rules shall be created. If unset, only the " +"destination zone is used." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:415 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:70 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:159 +msgid "accept" +msgstr "приймати" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:268 +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:463 +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:486 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:270 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:301 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:328 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:392 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:407 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:441 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:448 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:266 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:282 +msgid "any" +msgstr "будь-який" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:53 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:86 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:65 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:78 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:46 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:56 +msgid "any zone" +msgstr "будь-якої зони" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:298 +msgid "any/all" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:419 +msgid "apply firewall mark" +msgstr "застосувати позначку брандмауера" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:418 +msgid "assign conntrack helper" +msgstr "призначити помічника відслідковування з'єднань" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:194 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:222 +msgid "automatic" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:131 +msgid "bitmap" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:137 +msgid "bitmap is ipv4 only" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:72 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:89 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:67 +msgid "day" +msgstr "день" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:93 +msgid "dest_ip: Destination IP" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:95 +msgid "dest_mac: Destination MAC addr" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:96 +msgid "dest_net: Destination (sub)net" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:94 +msgid "dest_port: Destination Port" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:98 +msgid "dest_set: Destination ipset*" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:315 +msgid "do not rewrite" +msgstr "не переписувати" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:417 +msgid "don't track" +msgstr "не відстежувати" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:414 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:69 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:158 +msgid "drop" +msgstr "опускати" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:21 +msgid "" +"firewall4 supports referencing and creating IP sets to simplify matching of " +"large address lists without the need to create one rule per item to match. " +"Port ranges in ipsets are unsupported by firewall4.
" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:159 +msgid "fromport-toport" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:132 +msgid "hash" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:72 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:89 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:67 +msgid "hour" +msgstr "година" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:81 +msgid "ip: IP addr" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:153 +msgid "ip[/cidr]
" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:145 +msgid "ip[/cidr]
For use with Match datatypes: *_ip." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:70 +msgid "ipv4" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:133 +msgid "list" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:83 +msgid "mac: MAC addr" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:108 +msgid "macaddr|ip[/cidr]
" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:72 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:89 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:67 +msgid "minute" +msgstr "хвилина" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:84 +msgid "net: (sub)net" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:82 +msgid "port: Port" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:416 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:68 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:157 +msgid "reject" +msgstr "відхиляти" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:72 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:89 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:67 +msgid "second" +msgstr "секунду" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:86 +msgid "set: ipset*" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:92 +msgid "src_Set: Source ipset*" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:87 +msgid "src_ip: Source IP" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:89 +msgid "src_mac: Source MAC addr" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:90 +msgid "src_net: Source (sub)net" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:88 +msgid "src_port: Source Port" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:53 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:62 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:86 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:65 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:78 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:56 +msgid "this device" +msgstr "цього пристрою" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:124 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:226 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:339 +msgid "this new zone" +msgstr "ця нова зона" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:354 +msgid "unlimited" +msgstr "необмежено" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:251 +msgid "unspecified" +msgstr "невизначено" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:114 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:173 +msgid "up to 65536 entries." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:339 +msgid "valid firewall mark" +msgstr "дійсна позначка брандмауера" + +#~ msgid "Software based offloading for routing/NAT" +#~ msgstr "Програмне розвантаження для маршрутизації/NAT" + +#~ msgid "" +#~ "Forwarded IPv4%{proto?, protocol %{proto#%{next?, }%{item.name}}}%{mark?, mark %{mark." +#~ "val}}" +#~ msgstr "" +#~ "Переспрямовування IPv4%{proto?, протокол %{proto#%{next?, }%{item." +#~ "name}}}%{mark?, позначка %{mark.val}}" + +#~ msgid "" +#~ "Incoming IPv4%{proto?, protocol %{proto#%{next?, }%{item.types?%{item.name}ICMP with types %{item.types#%{next?, }%{item}}:%{item.name}}}}%{mark?, mark %{mark.val}}%{helper?, helper %{helper.inv?%{helper.val}:%{helper.val}" +#~ "}}" +#~ msgstr "" +#~ "Вхідний IPv4%{proto?, протокол %{proto#%{next?, }%{item.types?%{item.name}ICMP із типами %{item.types#%{next?, }%{item}}:%{item.name}}}}%{mark?, позначка %{mark.val}}%{helper?, помічник %{helper.inv?%{helper.val}:%{helper.val}}}" diff --git a/luci-app-firewall/po/ur/firewall.po b/luci-app-firewall/po/ur/firewall.po new file mode 100644 index 000000000..96451deb5 --- /dev/null +++ b/luci-app-firewall/po/ur/firewall.po @@ -0,0 +1,1430 @@ +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2010-03-30 17:00+0200\n" +"PO-Revision-Date: 2021-01-07 17:03+0000\n" +"Last-Translator: Automatically generated\n" +"Language-Team: none\n" +"Language: ur\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Generator: Weblate 4.4.1-dev\n" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:48 +msgid "" +"%{src?%{dest?Forwarded:Incoming}:Outgoing} %{ipv6?%{ipv4?IPv4 and " +"IPv6:IPv6}:IPv4}%{proto?, protocol " +"%{proto#%{next?, }%{item.types?%{item." +"name}ICMP with types %{item.types#%{next?, }" +"%{item}}:%{item.name}}}}%{mark?, mark " +"%{mark.val}}%{dscp?, DSCP %{dscp." +"inv?%{dscp.val}:%{dscp.val}}}%{helper?, helper " +"%{helper.inv?%{helper.val}:%{helper." +"val}}}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:463 +msgid "-- add IP --" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:521 +msgid "-- add MAC --" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:199 +msgid "0" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:182 +msgid "1024" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:118 +msgid "" +"Accept %{src?%{dest?forward:input}:output}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:93 +msgid "Prevent source rewrite" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:85 +msgid "" +"Forward to %{dest}%{dest_ip? IP " +"%{dest_ip}}%{dest_port? port %{dest_port}}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:115 +msgid "" +"Drop %{src?%{dest?forward:input}:output}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:133 +msgid "" +"Assign DSCP classification %{set_dscp}" +"" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:127 +msgid "" +"Assign conntrack helper " +"%{set_helper}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:130 +msgid "" +"%{set_mark?Assign:XOR} firewall mark " +"%{set_mark?:%{set_xmark}}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:90 +msgid "Automatically rewrite source IP" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:124 +msgid "" +"Do not track %{src?%{dest?forward:input}:" +"output}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:121 +msgid "" +"Reject %{src?%{dest?forward:input}:output}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:87 +msgid "" +"Statically rewrite to source %{snat_ip?IP " +"%{snat_ip}} %{snat_port?port %{snat_port}}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:306 +msgid "A rewrite IP must be specified!" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:292 +msgid "ACCEPT - Disable address rewriting" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:224 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:225 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:411 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:204 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:287 +msgid "Action" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:322 +msgid "" +"Additional raw iptables arguments to classify zone destination " +"traffic, e.g. -p tcp --dport 443 to only match outbound HTTPS " +"traffic." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:312 +msgid "" +"Additional raw iptables arguments to classify zone source traffic, " +"e.g. -p tcp --sport 443 to only match inbound HTTPS traffic." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:107 +msgid "Address family, Internal IP address must match" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:135 +msgid "" +"Address family, source address, destination address, rewrite IP address must " +"match" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:162 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:183 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:182 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:114 +msgid "Advanced Settings" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:283 +msgid "Allow \"invalid\" traffic" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:385 +msgid "Allow forward from source zones:" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:344 +msgid "Allow forward to destination zones:" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:551 +msgid "Any" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:479 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:495 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:352 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:368 +msgid "Any day" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:317 +msgid "" +"Apply a bitwise XOR of the given value and the existing mark value on " +"established connections. Format is value[/mask]. If a mask is specified then " +"those bits set in the mask are zeroed out." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:264 +msgid "Apply the given DSCP class or value to established connections." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:439 +msgid "Assign the specified connection tracking helper to matched traffic." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:286 +msgid "Automatic helper assignment" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:286 +msgid "" +"Automatically assign conntrack helpers based on traffic protocol and port" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:61 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:62 +msgid "Comment" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:115 +msgid "Conntrack Settings" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:290 +msgid "Conntrack helpers" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/custom.js:16 +msgid "Contents have been saved." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:700 +msgid "Continue" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:204 +msgid "Counters" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:231 +msgid "Covered devices" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:183 +msgid "Covered networks" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:236 +msgid "Covered subnets" +msgstr "" + +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:62 +msgid "Custom Rules" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/custom.js:26 +msgid "" +"Custom rules allow you to execute arbitrary iptables commands which are not " +"otherwise covered by the firewall framework. The commands are executed after " +"each firewall restart, right after the default ruleset has been loaded." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:421 +msgid "DSCP classification" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:263 +msgid "DSCP mark" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:297 +msgid "DSCP mark required" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:402 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:270 +msgid "Destination address" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:404 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:278 +msgid "Destination port" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:396 +msgid "Destination zone" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:269 +msgid "Device name" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:283 +msgid "" +"Do not install extra rules to reject forwarded traffic with conntrack state " +"invalid. This may be required for complex asymmetric route setups." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:59 +msgid "Drop invalid packets" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:232 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:231 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:210 +msgid "Enable" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:306 +msgid "Enable NAT Loopback" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:45 +msgid "Enable SYN-flood protection" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:296 +msgid "Enable logging on this zone" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:168 +msgid "" +"Enable network address and port translation IPv4 (NAT4 or NAPT4) for " +"outbound traffic on this zone. This is typically enabled on the wan " +"zone." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:243 +msgid "" +"Enable network address and port translation IPv6 (NAT6 or NAPT6) for " +"outbound traffic on this zone." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:211 +msgid "Enabled" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:205 +msgid "Enables packet and byte count tracking for the set." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:339 +msgid "Expecting: %s" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:290 +msgid "Explicitly choses allowed connection tracking helpers for zone traffic" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:274 +msgid "External IP address" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:279 +msgid "External port" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:349 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:470 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:342 +msgid "Extra arguments" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:322 +msgid "Extra destination arguments" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:116 +msgid "Extra iptables arguments" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:312 +msgid "Extra source arguments" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:67 +msgid "Family" +msgstr "" + +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:3 +msgid "Firewall" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/custom.js:25 +msgid "Firewall - Custom Rules" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:20 +msgid "Firewall - IP sets" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:172 +msgid "Firewall - NAT Rules" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:152 +msgid "Firewall - Port Forwards" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:173 +msgid "Firewall - Traffic Rules" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:38 +msgid "Firewall - Zone Settings" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:693 +msgid "Firewall configuration migration" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:82 +msgid "Flow offloading type" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:64 +msgid "Forward" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:34 +msgid "" +"Forwarded %{ipv6?%{ipv4?IPv4 and IPv6:IPv6}:" +"IPv4}%{proto?, protocol %{proto#%{next?, }%{item.name}}}%{mark?, mark %{mark.val}" +"}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:485 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:358 +msgid "Friday" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:45 +msgid "" +"From %{src}%{src_device?, interface %{src_device}}%{src_ip?, IP " +"%{src_ip#%{next?, }%{item.ival}}}%{src_port?, port %{src_port#%{next?, }" +"%{item." +"ival}}}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:64 +msgid "" +"From %{src}%{src_device?, interface %{src_device}}%{src_ip?, IP " +"%{src_ip#%{next?, }%{item.ival}}}%{src_port?, port %{src_port#%{next?, }" +"%{item." +"ival}}}%{src_mac?, MAC %{src_mac#%{next?, }%{item.ival}" +"}}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:52 +msgid "" +"From %{src}%{src_ip?, IP %{src_ip#%{next?, }%{item.ival}}}%{src_port?, port %{src_port#%{next?, }%{item.ival}}}%{src_mac?, " +"MAC %{src_mac#%{next?, }%{item.ival}}}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:161 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:182 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:181 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:41 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:113 +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:17 +msgid "General Settings" +msgstr "" + +#: applications/luci-app-firewall/root/usr/share/rpcd/acl.d/luci-app-firewall.json:3 +msgid "Grant access to firewall configuration" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:85 +msgid "Hardware based offloading for routing with/without NAT." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:85 +msgid "Hardware flow offloading" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:144 +msgid "IP (range)" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:32 +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:53 +msgid "IP Sets" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:152 +msgid "IPs/Networks" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:107 +msgid "IPs/Networks/MACs" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:68 +msgid "IPv4" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:191 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:280 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:219 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:256 +msgid "IPv4 and IPv6" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:192 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:281 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:220 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:257 +msgid "IPv4 only" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:69 +msgid "IPv6" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:242 +msgid "IPv6 Masquerading" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:193 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:282 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:221 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:258 +msgid "IPv6 only" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:252 +msgid "Inbound device" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:187 +msgid "Include File" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:40 +msgid "" +"Incoming %{ipv6?%{ipv4?IPv4 and IPv6:IPv6}:" +"IPv4}%{proto?, protocol %{proto#%{next?, }%{item.types?%{item.name}ICMP " +"with types %{item.types#%{next?, }%{item}}:" +"%{item.name}}}}%{mark?, mark %{mark.val}}%{helper?, helper %{helper.inv?%{helper.val}:%{helper.val}}}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:180 +msgid "Initial Hash Size" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:62 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:151 +msgid "Input" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:292 +msgid "Internal IP address" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:297 +msgid "Internal port" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:287 +msgid "Internal zone" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:153 +msgid "Intra zone forward" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:305 +msgid "Invalid DSCP mark" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:373 +msgid "Invalid limit value" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:47 +msgid "Invalid set name" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:383 +msgid "Limit burst" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:299 +msgid "Limit log messages" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:349 +msgid "Limit matching" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:79 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:96 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:74 +msgid "" +"Limit matching to %{limit.num} packets per %{limit.unit}%{limit.burst? burst %{limit.burst}}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:175 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:250 +msgid "Limited masquerading enabled" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:350 +msgid "Limits traffic matching to the specified rate." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:311 +msgid "Loopback source IP" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:291 +msgid "MASQUERADE - Automatically rewrite to outbound interface IP" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:180 +msgid "MSS clamping" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:167 +msgid "Masquerading" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:213 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:214 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:193 +msgid "Match" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:263 +msgid "Match DSCP" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:293 +msgid "Match ICMP type" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:249 +msgid "Match device" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:271 +msgid "Match forwarded traffic directed at the given IP address." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:279 +msgid "" +"Match forwarded traffic directed at the given destination port or port range." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:254 +msgid "Match forwarded traffic from this IP or range." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:262 +msgid "" +"Match forwarded traffic originating from the given source port or port range." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:326 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:446 +msgid "Match helper" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:280 +msgid "" +"Match incoming traffic directed at the given destination port or port range " +"on this host" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:316 +msgid "Match mark" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:326 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:446 +msgid "Match traffic using the specified connection tracking helper." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:319 +msgid "Matches a specific firewall mark or a range of different marks." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:332 +msgid "Matches forwarded traffic using the specified outbound network device." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:264 +msgid "Matches traffic carrying the specified DSCP marking." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:113 +msgid "Max Entries" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:172 +msgid "Max Length" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:384 +msgid "" +"Maximum initial number of packets to match: this number gets recharged by " +"one every time the limit specified above is not reached, up to this number." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:481 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:354 +msgid "Monday" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:491 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:364 +msgid "Month Days" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:175 +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:44 +msgid "NAT Rules" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:173 +msgid "" +"NAT rules allow fine grained control over the source IP to use for outbound " +"or forwarded traffic." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:183 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:42 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:52 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:210 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:189 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:129 +msgid "Name" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:166 +msgid "Netmask" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:83 +msgid "None" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:77 +msgid "Not fully compatible with QoS/SQM." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:275 +msgid "Only match incoming traffic directed at the given IP address." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:256 +msgid "Only match incoming traffic from these MACs." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:261 +msgid "Only match incoming traffic from this IP or range." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:266 +msgid "" +"Only match incoming traffic originating from the given source port or port " +"range on the client host" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:253 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:331 +msgid "Outbound device" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:246 +msgid "Outbound zone" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:63 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:152 +msgid "Output" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:75 +msgid "Packet Field Match" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:76 +msgid "" +"Packet fields to match upon.
Syntax: direction_datatype. e.g.: " +"src_port, dest_net.
Directions: src, dst. " +"Datatypes: ip, port, mac, net, set.
Direction prefixes are " +"optional.
*Note: datatype set is unsupported in fw4." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:350 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:471 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:343 +msgid "Passes additional arguments to iptables. Use with care!" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:309 +msgid "" +"Passing raw iptables arguments to source and destination traffic " +"classification rules allows to match packets based on other criteria than " +"interfaces or subnets. These options should be used with extreme care as " +"invalid values could render the firewall ruleset broken, completely exposing " +"all services." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:188 +msgid "Path to file of CIDRs, subnets, host IPs, etc.
" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:155 +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:26 +msgid "Port Forwards" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:153 +msgid "" +"Port forwarding allows remote computers on the Internet to connect to a " +"specific computer or service within the private LAN." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:158 +msgid "Port range" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:237 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:289 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:242 +msgid "Protocol" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:298 +msgid "" +"Redirect matched incoming traffic to the given port on the internal host" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:293 +msgid "Redirect matched incoming traffic to the specified internal host" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:122 +msgid "Refer To External Set" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:320 +msgid "Reflection zones" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:85 +msgid "Requires hardware NAT support." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:272 +msgid "Restrict Masquerading to given destination subnets" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:261 +msgid "Restrict Masquerading to given source subnets" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:188 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:277 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:216 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:255 +msgid "Restrict to address family" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:297 +msgid "Rewrite IP address" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:298 +msgid "Rewrite matched traffic to the specified source IP address." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:312 +msgid "Rewrite matched traffic to the specified source port or port range." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:311 +msgid "Rewrite port" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:76 +msgid "Routing/NAT Offloading" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:290 +msgid "SNAT - Rewrite to specific source IP or port" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:486 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:359 +msgid "Saturday" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:316 +msgid "Set mark" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:318 +msgid "" +"Set the given mark value on established connections. Format is value[/mask]. " +"If a mask is specified then only those bits set in the mask are modified." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:84 +msgid "Software based offloading for routing/NAT." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:84 +msgid "Software flow offloading" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:260 +msgid "Source IP address" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:255 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:386 +msgid "Source MAC address" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:387 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:253 +msgid "Source address" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:265 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:389 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:261 +msgid "Source port" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:241 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:372 +msgid "Source zone" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:270 +msgid "" +"Specifies whether to tie this traffic rule to a specific inbound or outbound " +"network device." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:311 +msgid "" +"Specifies whether to use the external or the internal IP address for " +"reflected traffic." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:510 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:383 +msgid "Start Date (yyyy-mm-dd)" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:502 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:375 +msgid "Start Time (hh:mm:ss)" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:514 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:387 +msgid "Stop Date (yyyy-mm-dd)" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:506 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:379 +msgid "Stop Time (hh:mm:ss)" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:130 +msgid "Storage Method" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:480 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:353 +msgid "Sunday" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:694 +msgid "" +"The existing firewall configuration needs to be changed for LuCI to function " +"properly." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:39 +msgid "" +"The firewall creates zones over your network interfaces to control network " +"traffic flow." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:227 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:340 +msgid "" +"The options below control the forwarding policies between this zone (%s) and " +"other zones. Destination zones cover forwarded traffic " +"originating from %q. Source zones match forwarded " +"traffic from other zones targeted at %q. The forwarding " +"rule is unidirectional, e.g. a forward from lan to wan does " +"not imply a permission to forward from wan to lan as well." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:125 +msgid "" +"This section defines common properties of %q. The input and " +"output options set the default policies for traffic entering and " +"leaving this zone while the forward option describes the policy for " +"forwarded traffic between different networks within the zone. Covered " +"networks specifies which available networks are members of this zone." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:484 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:357 +msgid "Thursday" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:184 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:183 +msgid "Time Restrictions" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:518 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:391 +msgid "Time in UTC" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:244 +msgid "Time restrictions are enabled for this rule" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:196 +msgid "Timeout" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:77 +msgid "" +"To %{dest}%{dest_device?, interface %{dest_device}}%{dest_ip?, IP " +"%{dest_ip#%{next?, }%{item.ival}
}}%{dest_port?, port %{dest_port#%{next?, }" +"%{item." +"ival}}}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:55 +msgid "" +"To %{dest}%{dest_device?, via interface %{dest_device}}%{dest_ip?, IP %{dest_ip#%{next?, }%{item.ival}}}%{dest_port?, port " +"%{dest_port#%{next?, }%{item.ival}}}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:61 +msgid "" +"To %{dest}%{dest_ip?, IP %{dest_ip#%{next?, }%{item.ival}}}%{dest_port?, port %{dest_port#%{next?, }%{item.ival}}}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:439 +msgid "Tracking helper" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:176 +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:35 +msgid "Traffic Rules" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:174 +msgid "" +"Traffic rules define policies for packets travelling between different " +"zones, for example to reject traffic between certain hosts or to open WAN " +"ports on the router." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:482 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:355 +msgid "Tuesday" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/custom.js:19 +msgid "Unable to save contents: %s" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:197 +msgid "" +"Unit: seconds. Default 0 means the entry is added permanently " +"to the set.
Max: 2147483 seconds." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:341 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:461 +msgid "Unknown or not installed conntrack helper \"%s\"" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:186 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:190 +msgid "Unnamed NAT" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:169 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:184 +msgid "Unnamed forward" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:191 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:211 +msgid "Unnamed rule" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:57 +msgid "Unnamed set" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:130 +msgid "Unnamed zone" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:597 +msgid "Unrecognized protocol" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:695 +msgid "" +"Upon pressing \"Continue\", \"redirect\" sections with target \"SNAT\" will " +"be converted to \"nat\" sections and the firewall will be restarted to apply " +"the updated configuration." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:315 +msgid "Use external IP address" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:314 +msgid "Use internal IP address" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:247 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:378 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:322 +msgid "Use ipset" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:231 +msgid "" +"Use this option to classify zone traffic by raw, non-uci managed " +"network devices." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:236 +msgid "" +"Use this option to classify zone traffic by source or destination subnet " +"instead of networks or devices." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:331 +msgid "Valid firewall mark required" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:483 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:356 +msgid "Wednesday" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:475 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:348 +msgid "Week Days" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:420 +msgid "XOR firewall mark" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:316 +msgid "XOR mark" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:28 +msgid "Your device does not run firewall4." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:26 +msgid "Your device runs firewall4." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:143 +msgid "Zone ⇒ Forwardings" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:101 +msgid "Zones" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:320 +msgid "" +"Zones from which reflection rules shall be created. If unset, only the " +"destination zone is used." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:415 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:70 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:159 +msgid "accept" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:268 +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:463 +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:486 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:270 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:301 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:328 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:392 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:407 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:441 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:448 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:266 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:282 +msgid "any" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:53 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:86 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:65 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:78 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:46 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:56 +msgid "any zone" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:298 +msgid "any/all" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:419 +msgid "apply firewall mark" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:418 +msgid "assign conntrack helper" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:194 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:222 +msgid "automatic" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:131 +msgid "bitmap" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:137 +msgid "bitmap is ipv4 only" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:72 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:89 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:67 +msgid "day" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:93 +msgid "dest_ip: Destination IP" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:95 +msgid "dest_mac: Destination MAC addr" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:96 +msgid "dest_net: Destination (sub)net" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:94 +msgid "dest_port: Destination Port" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:98 +msgid "dest_set: Destination ipset*" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:315 +msgid "do not rewrite" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:417 +msgid "don't track" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:414 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:69 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:158 +msgid "drop" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:21 +msgid "" +"firewall4 supports referencing and creating IP sets to simplify matching of " +"large address lists without the need to create one rule per item to match. " +"Port ranges in ipsets are unsupported by firewall4.
" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:159 +msgid "fromport-toport" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:132 +msgid "hash" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:72 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:89 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:67 +msgid "hour" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:81 +msgid "ip: IP addr" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:153 +msgid "ip[/cidr]
" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:145 +msgid "ip[/cidr]
For use with Match datatypes: *_ip." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:70 +msgid "ipv4" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:133 +msgid "list" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:83 +msgid "mac: MAC addr" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:108 +msgid "macaddr|ip[/cidr]
" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:72 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:89 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:67 +msgid "minute" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:84 +msgid "net: (sub)net" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:82 +msgid "port: Port" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:416 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:68 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:157 +msgid "reject" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:72 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:89 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:67 +msgid "second" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:86 +msgid "set: ipset*" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:92 +msgid "src_Set: Source ipset*" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:87 +msgid "src_ip: Source IP" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:89 +msgid "src_mac: Source MAC addr" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:90 +msgid "src_net: Source (sub)net" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:88 +msgid "src_port: Source Port" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:53 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:62 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:86 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:65 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:78 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:56 +msgid "this device" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:124 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:226 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:339 +msgid "this new zone" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:354 +msgid "unlimited" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:251 +msgid "unspecified" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:114 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:173 +msgid "up to 65536 entries." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:339 +msgid "valid firewall mark" +msgstr "" diff --git a/luci-app-firewall/po/vi/firewall.po b/luci-app-firewall/po/vi/firewall.po new file mode 100644 index 000000000..58c63f472 --- /dev/null +++ b/luci-app-firewall/po/vi/firewall.po @@ -0,0 +1,1594 @@ +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2010-03-30 17:00+0200\n" +"PO-Revision-Date: 2024-07-13 20:44+0000\n" +"Last-Translator: phannhanhn201 \n" +"Language-Team: Vietnamese \n" +"Language: vi\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=1; plural=0;\n" +"X-Generator: Weblate 5.7-dev\n" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:48 +msgid "" +"%{src?%{dest?Forwarded:Incoming}:Outgoing} %{ipv6?%{ipv4?IPv4 and " +"IPv6:IPv6}:IPv4}%{proto?, protocol " +"%{proto#%{next?, }%{item.types?%{item." +"name}ICMP with types %{item.types#%{next?, }" +"%{item}}:%{item.name}}}}%{mark?, mark " +"%{mark.val}}%{dscp?, DSCP %{dscp." +"inv?%{dscp.val}:%{dscp.val}}}%{helper?, helper " +"%{helper.inv?%{helper.val}:%{helper." +"val}}}" +msgstr "" +"%{src?%{dest?Được chuyển tiếp:Đến}:Ra} %{ipv6?%{ipv4?IPv4 và " +"IPv6:IPv6}:IPv4}%{proto?, giao thức " +"%{proto#%{next?, }%{item.types?%{item." +"name}ICMP với các loại %{item.types#%{next?, }" +"%{item}}:%{item.name}}}}%{mark?, mark " +"%{mark.val}}%{dscp?, DSCP %{dscp.inv?%{dscp.val}:%{dscp.val}" +"}}%{helper?, helper %{helper.inv?%{helper.val}:" +"%{helper.val}}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:463 +msgid "-- add IP --" +msgstr "-- thêm IP --" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:521 +msgid "-- add MAC --" +msgstr "-- thêm MAC --" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:199 +msgid "0" +msgstr "0" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:182 +msgid "1024" +msgstr "1024" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:118 +msgid "" +"Accept %{src?%{dest?forward:input}:output}" +msgstr "" +"Chấp nhận %{src?%{dest?forward:input}:" +"output}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:93 +msgid "Prevent source rewrite" +msgstr "Ngăn chặn viết lại nguồn" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:85 +msgid "" +"Forward to %{dest}%{dest_ip? IP " +"%{dest_ip}}%{dest_port? port %{dest_port}}" +msgstr "" +"Chuyển hướng to %{dest}%{dest_ip? IP " +"%{dest_ip}}%{dest_port? cổng%{dest_port}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:115 +msgid "" +"Drop %{src?%{dest?forward:input}:output}" +msgstr "" +"Bỏ %{src?%{dest?forward:input}:output}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:133 +msgid "" +"Assign DSCP classification %{set_dscp}" +"" +msgstr "" +"Gắn DSCP phân loại %{set_dscp}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:127 +msgid "" +"Assign conntrack helper " +"%{set_helper}" +msgstr "" +"Gán conntrack trợ giúp%{set_helper}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:130 +msgid "" +"%{set_mark?Assign:XOR} firewall mark " +"%{set_mark?:%{set_xmark}}" +msgstr "" +"%{set_mark?Gán:XOR} đánh dấu trường " +"lửa%{set_mark?:%{set_xmark}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:90 +msgid "Automatically rewrite source IP" +msgstr "Tự động viết lại IP nguồn" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:124 +msgid "" +"Do not track %{src?%{dest?forward:input}:" +"output}" +msgstr "" +"Không theo dõi %{src?%{dest?forward:" +"input}:output}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:121 +msgid "" +"Reject %{src?%{dest?forward:input}:output}" +msgstr "" +"Từ chối %{src?%{dest?tiến về:đầu vào}:đầu " +"ra}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:87 +msgid "" +"Statically rewrite to source %{snat_ip?IP " +"%{snat_ip}} %{snat_port?port %{snat_port}}" +msgstr "" +"Viết lại tĩnh thành nguồn %{snat_ip?IP " +"%{snat_ip}} %{snat_port?cổng %{snat_port}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:306 +msgid "A rewrite IP must be specified!" +msgstr "Phải chỉ định địa chỉ IP viết lại!" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:292 +msgid "ACCEPT - Disable address rewriting" +msgstr "ACCEPT - Vô hiệu hóa viết lại địa chỉ" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:224 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:225 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:411 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:204 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:287 +msgid "Action" +msgstr "Hành động" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:322 +msgid "" +"Additional raw iptables arguments to classify zone destination " +"traffic, e.g. -p tcp --dport 443 to only match outbound HTTPS " +"traffic." +msgstr "" +"Các đối số thô iptables bổ sung để phân loại lưu lượng đích vùng, " +"ví dụ: -p tcp --dport 443 để chỉ khớp lưu lượng HTTPS đi ra." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:312 +msgid "" +"Additional raw iptables arguments to classify zone source traffic, " +"e.g. -p tcp --sport 443 to only match inbound HTTPS traffic." +msgstr "" +"Các đối số thô iptables bổ sung để phân loại lưu lượng nguồn vùng, " +"ví dụ: -p tcp --sport 443 để chỉ khớp lưu lượng HTTPS đến." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:107 +msgid "Address family, Internal IP address must match" +msgstr "Họ địa chỉ, địa chỉ IP nội bộ phải khớp" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:135 +msgid "" +"Address family, source address, destination address, rewrite IP address must " +"match" +msgstr "Họ địa chỉ, địa chỉ nguồn, địa chỉ đích, địa chỉ IP viết lại phải khớp" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:162 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:183 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:182 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:114 +msgid "Advanced Settings" +msgstr "Cài đặt Nâng cao" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:283 +msgid "Allow \"invalid\" traffic" +msgstr "Cho phép lưu lượng \"không hợp lệ\"" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:385 +msgid "Allow forward from source zones:" +msgstr "Cho phép tiến về từ vùng nguồn:" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:344 +msgid "Allow forward to destination zones:" +msgstr "Cho phép tiến về đến vùng đích:" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:551 +msgid "Any" +msgstr "Bất kỳ" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:479 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:495 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:352 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:368 +msgid "Any day" +msgstr "Bất kỳ ngày nào" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:317 +msgid "" +"Apply a bitwise XOR of the given value and the existing mark value on " +"established connections. Format is value[/mask]. If a mask is specified then " +"those bits set in the mask are zeroed out." +msgstr "" +"Áp dụng phép XOR bit cho giá trị đã cho và giá trị đánh dấu hiện có trên các " +"kết nối đã thiết lập. Định dạng là value[/mask]. Nếu có mặt nạ được chỉ " +"định, thì các bit được thiết lập trong mặt nạ sẽ bị gán giá trị 0." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:264 +msgid "Apply the given DSCP class or value to established connections." +msgstr "Áp dụng lớp hoặc giá trị DSCP đã cho cho các kết nối đã thiết lập." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:439 +msgid "Assign the specified connection tracking helper to matched traffic." +msgstr "Gán trình theo dõi kết nối đã chỉ định cho lưu lượng khớp." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:286 +msgid "Automatic helper assignment" +msgstr "Gán tự động trình theo dõi kết nối" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:286 +msgid "" +"Automatically assign conntrack helpers based on traffic protocol and port" +msgstr "" +"Tự động gán trình theo dõi kết nối dựa trên giao thức và cổng lưu lượng" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:61 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:62 +msgid "Comment" +msgstr "Bình luận" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:115 +msgid "Conntrack Settings" +msgstr "Cài đặt Conntrack" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:290 +msgid "Conntrack helpers" +msgstr "Trình theo dõi kết nối" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/custom.js:16 +msgid "Contents have been saved." +msgstr "Nội dung đã được lưu." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:700 +msgid "Continue" +msgstr "Tiếp tục" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:204 +msgid "Counters" +msgstr "Bộ đếm" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:231 +msgid "Covered devices" +msgstr "Thiết bị được bao phủ" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:183 +msgid "Covered networks" +msgstr "Mạng được bao phủ" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:236 +msgid "Covered subnets" +msgstr "Mạng con được bao phủ" + +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:62 +msgid "Custom Rules" +msgstr "Quy tắc Tùy chỉnh" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/custom.js:26 +msgid "" +"Custom rules allow you to execute arbitrary iptables commands which are not " +"otherwise covered by the firewall framework. The commands are executed after " +"each firewall restart, right after the default ruleset has been loaded." +msgstr "" +"Quy tắc tùy chỉnh cho phép bạn thực thi các lệnh iptables tùy ý mà không " +"được bao phủ bởi khung tường lửa. Các lệnh được thực thi sau mỗi lần khởi " +"động lại tường lửa, ngay sau khi tập luật mặc định đã được tải." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:421 +msgid "DSCP classification" +msgstr "Phân loại DSCP" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:263 +msgid "DSCP mark" +msgstr "Đánh dấu DSCP" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:297 +msgid "DSCP mark required" +msgstr "Đánh dấu DSCP bắt buộc" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:402 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:270 +msgid "Destination address" +msgstr "Địa chỉ đích" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:404 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:278 +msgid "Destination port" +msgstr "Cổng đích" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:396 +msgid "Destination zone" +msgstr "Vùng điểm đến" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:269 +msgid "Device name" +msgstr "Tên thiết bị" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:283 +msgid "" +"Do not install extra rules to reject forwarded traffic with conntrack state " +"invalid. This may be required for complex asymmetric route setups." +msgstr "" +"Không cài đặt các quy tắc bổ sung để từ chối giao thông chuyển tiếp có trạng " +"thái conntrack invalid. Điều này có thể cần thiết cho các thiết lập " +"tuyến đường không đối xứng phức tạp." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:59 +msgid "Drop invalid packets" +msgstr "Bỏ qua nhưng gói không hợp lý" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:232 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:231 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:210 +msgid "Enable" +msgstr "Bật lên" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:306 +msgid "Enable NAT Loopback" +msgstr "Bật NAT Loopback" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:45 +msgid "Enable SYN-flood protection" +msgstr "Kích hoạt bảo vệ SYN-flood" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:296 +msgid "Enable logging on this zone" +msgstr "Bật ghi nhật ký trên vùng này" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:168 +msgid "" +"Enable network address and port translation IPv4 (NAT4 or NAPT4) for " +"outbound traffic on this zone. This is typically enabled on the wan " +"zone." +msgstr "" +"Bật chuyển đổi địa chỉ mạng và cổng IPv4 (NAT4 hoặc NAPT4) cho giao thông ra " +"ngoài trên vùng này. Thông thường, điều này được kích hoạt trên vùng " +"wan." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:243 +msgid "" +"Enable network address and port translation IPv6 (NAT6 or NAPT6) for " +"outbound traffic on this zone." +msgstr "" +"Bật chuyển đổi địa chỉ mạng và cổng IPv6 (NAT6 hoặc NAPT6) cho giao thông ra " +"ngoài trên vùng này." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:211 +msgid "Enabled" +msgstr "Kích Hoạt" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:205 +msgid "Enables packet and byte count tracking for the set." +msgstr "Bật theo dõi số gói tin và số byte cho bộ sưu tập." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:339 +msgid "Expecting: %s" +msgstr "Đang chờ: %s" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:290 +msgid "Explicitly choses allowed connection tracking helpers for zone traffic" +msgstr "" +"Chọn rõ ràng các trình hỗ trợ theo dõi kết nối được phép cho giao thông vùng" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:274 +msgid "External IP address" +msgstr "Địa chỉ IP bên ngoài" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:279 +msgid "External port" +msgstr "External port" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:349 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:470 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:342 +msgid "Extra arguments" +msgstr "Các tham số bổ sung" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:322 +msgid "Extra destination arguments" +msgstr "Các tham số đích bổ sung" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:116 +msgid "Extra iptables arguments" +msgstr "Các tham số iptables bổ sung" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:312 +msgid "Extra source arguments" +msgstr "Các tham số nguồn bổ sung" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:67 +msgid "Family" +msgstr "Gia đình" + +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:3 +msgid "Firewall" +msgstr "Firewall" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/custom.js:25 +msgid "Firewall - Custom Rules" +msgstr "Tường lửa - Quy tắc Tùy chỉnh" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:20 +msgid "Firewall - IP sets" +msgstr "Tường lửa - Bộ IP" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:172 +msgid "Firewall - NAT Rules" +msgstr "Tường lửa - Quy tắc NAT" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:152 +msgid "Firewall - Port Forwards" +msgstr "Tường lửa - Chuyển tiếp Cổng" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:173 +msgid "Firewall - Traffic Rules" +msgstr "Tường lửa - Quy tắc Giao thông" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:38 +msgid "Firewall - Zone Settings" +msgstr "Tường lửa - Cài đặt Vùng" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:693 +msgid "Firewall configuration migration" +msgstr "Di cư cấu hình tường lửa" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:82 +msgid "Flow offloading type" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:64 +msgid "Forward" +msgstr "Forward" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:34 +msgid "" +"Forwarded %{ipv6?%{ipv4?IPv4 and IPv6:IPv6}:" +"IPv4}%{proto?, protocol %{proto#%{next?, }%{item.name}}}%{mark?, mark %{mark.val}" +"}" +msgstr "" +"Chuyển tiếp %{ipv6?%{ipv4?IPv4IPv6:IPv6}:IPv4}%{proto?, giao thức %{proto#%{next?, }%{item.name}" +"}}%{mark?, đánh dấu %{mark.val}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:485 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:358 +msgid "Friday" +msgstr "Thứ 6" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:45 +msgid "" +"From %{src}%{src_device?, interface %{src_device}}%{src_ip?, IP " +"%{src_ip#%{next?, }%{item.ival}}}%{src_port?, port %{src_port#%{next?, }" +"%{item." +"ival}}}" +msgstr "" +"Từ %{src}%{src_device?, giao diện %{src_device}}%{src_ip?, IP " +"%{src_ip#%{next?, }%{item.ival}}}%{src_port?, cổng %{src_port#%{next?, }" +"%{item.ival}}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:64 +msgid "" +"From %{src}%{src_device?, interface %{src_device}}%{src_ip?, IP " +"%{src_ip#%{next?, }%{item.ival}}}%{src_port?, port %{src_port#%{next?, }" +"%{item." +"ival}}}%{src_mac?, MAC %{src_mac#%{next?, }%{item.ival}" +"}}" +msgstr "" +"Từ %{src}%{src_device?, interface %{src_device}}%{src_ip?, IP " +"%{src_ip#%{next?, }%{item.ival}}}%{src_port?, port %{src_port#%{next?, }" +"%{item." +"ival}}}%{src_mac?, MAC %{src_mac#%{next?, }%{item.ival}}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:52 +msgid "" +"From %{src}%{src_ip?, IP %{src_ip#%{next?, }%{item.ival}}}%{src_port?, port %{src_port#%{next?, }%{item.ival}}}%{src_mac?, " +"MAC %{src_mac#%{next?, }%{item.ival}}}" +msgstr "" +"Từ %{src}%{src_ip?, Địa chỉ IP %{src_ip#%{next?, }%{item.ival}}}%{src_port?, cổng %{src_port#%{next?, }%{item.ival}}}%{src_mac?, " +"MAC %{src_mac#%{next?, }%{item.ival}}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:161 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:182 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:181 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:41 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:113 +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:17 +msgid "General Settings" +msgstr "Các cài đặt chung" + +#: applications/luci-app-firewall/root/usr/share/rpcd/acl.d/luci-app-firewall.json:3 +msgid "Grant access to firewall configuration" +msgstr "Cấp quyền truy cập vào cấu hình tường lửa" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:85 +msgid "Hardware based offloading for routing with/without NAT." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:85 +msgid "Hardware flow offloading" +msgstr "Xả luồng phần cứng" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:144 +msgid "IP (range)" +msgstr "IP (phạm vi)" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:32 +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:53 +msgid "IP Sets" +msgstr "Các bộ IP" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:152 +msgid "IPs/Networks" +msgstr "IP/Mạng" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:107 +msgid "IPs/Networks/MACs" +msgstr "IP/Mạng/MAC" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:68 +msgid "IPv4" +msgstr "IPv4" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:191 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:280 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:219 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:256 +msgid "IPv4 and IPv6" +msgstr "IPv4 và IPv6" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:192 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:281 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:220 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:257 +msgid "IPv4 only" +msgstr "Chỉ IPv4" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:69 +msgid "IPv6" +msgstr "IPv6" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:242 +msgid "IPv6 Masquerading" +msgstr "IPv6 Masquerading" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:193 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:282 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:221 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:258 +msgid "IPv6 only" +msgstr "Chỉ IPv6" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:252 +msgid "Inbound device" +msgstr "Thiết bị đầu vào" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:187 +msgid "Include File" +msgstr "Bao gồm Tệp" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:40 +msgid "" +"Incoming %{ipv6?%{ipv4?IPv4 and IPv6:IPv6}:" +"IPv4}%{proto?, protocol %{proto#%{next?, }%{item.types?%{item.name}ICMP " +"with types %{item.types#%{next?, }%{item}}:" +"%{item.name}}}}%{mark?, mark %{mark.val}}%{helper?, helper %{helper.inv?%{helper.val}:%{helper.val}}}" +msgstr "" +"Đầu vào %{ipv6?%{ipv4?IPv4IPv6:IPv6}:" +"IPv4}%{proto?, giao thức %{proto#%{next?, }%{item.types?%{item.name}ICMP " +"với các loại %{item.types#%{next?, }%{item}}:" +"%{item.name}}}}%{mark?, đánh dấu %{mark.val}}%{helper?, trợ giúp " +"%{helper.inv?%{helper.val}:%{helper.val}}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:180 +msgid "Initial Hash Size" +msgstr "Kích thước băm Ban đầu" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:62 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:151 +msgid "Input" +msgstr "Input" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:292 +msgid "Internal IP address" +msgstr "Địa chỉ IP nội bộ" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:297 +msgid "Internal port" +msgstr "Cổng nội bộ" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:287 +msgid "Internal zone" +msgstr "Vùng nội bộ" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:153 +msgid "Intra zone forward" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:305 +msgid "Invalid DSCP mark" +msgstr "Đánh dấu DSCP không hợp lệ" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:373 +msgid "Invalid limit value" +msgstr "Giá trị giới hạn không hợp lệ" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:47 +msgid "Invalid set name" +msgstr "Tên thiết lập không hợp lệ" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:383 +msgid "Limit burst" +msgstr "Số lượng tắt đột ngột" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:299 +msgid "Limit log messages" +msgstr "Giới hạn tin nhắn nhật ký" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:349 +msgid "Limit matching" +msgstr "Khớp giới hạn" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:79 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:96 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:74 +msgid "" +"Limit matching to %{limit.num} packets per %{limit.unit}%{limit.burst? burst %{limit.burst}}" +msgstr "" +"Giới hạn khớp %{limit.num} gói tin mỗi %{limit.unit}%{limit.burst? với cú pháp %{limit.burst}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:175 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:250 +msgid "Limited masquerading enabled" +msgstr "Bật masquerading có giới hạn" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:350 +msgid "Limits traffic matching to the specified rate." +msgstr "Giới hạn khớp lưu lượng với tốc độ được chỉ định." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:311 +msgid "Loopback source IP" +msgstr "Địa chỉ IP nguồn Loopback" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:291 +msgid "MASQUERADE - Automatically rewrite to outbound interface IP" +msgstr "MASQUERADE - Tự động viết lại thành địa chỉ IP giao diện ra" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:180 +msgid "MSS clamping" +msgstr "MSS Clamping" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:167 +msgid "Masquerading" +msgstr "Masquerading" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:213 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:214 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:193 +msgid "Match" +msgstr "Khớp" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:263 +msgid "Match DSCP" +msgstr "Khớp DSCP" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:293 +msgid "Match ICMP type" +msgstr "Khớp loại ICMP" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:249 +msgid "Match device" +msgstr "Khớp thiết bị" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:271 +msgid "Match forwarded traffic directed at the given IP address." +msgstr "Khớp lưu lượng chuyển tiếp được chỉ định đến địa chỉ IP." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:279 +msgid "" +"Match forwarded traffic directed at the given destination port or port range." +msgstr "" +"Khớp lưu lượng chuyển tiếp được chỉ định đến cổng đích hoặc khoảng cổng." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:254 +msgid "Match forwarded traffic from this IP or range." +msgstr "Khớp lưu lượng chuyển tiếp từ địa chỉ IP này hoặc khoảng IP." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:262 +msgid "" +"Match forwarded traffic originating from the given source port or port range." +msgstr "" +"Khớp lưu lượng chuyển tiếp xuất phát từ cổng nguồn hoặc khoảng cổng được chỉ " +"định." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:326 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:446 +msgid "Match helper" +msgstr "Khớp trợ giúp" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:280 +msgid "" +"Match incoming traffic directed at the given destination port or port range " +"on this host" +msgstr "" +"Khớp lưu lượng đến đích được chỉ định đến cổng đích hoặc khoảng cổng trên " +"máy chủ này" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:316 +msgid "Match mark" +msgstr "Khớp nhãn" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:326 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:446 +msgid "Match traffic using the specified connection tracking helper." +msgstr "Khớp lưu lượng sử dụng trình hỗ trợ theo dõi kết nối đã chỉ định." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:319 +msgid "Matches a specific firewall mark or a range of different marks." +msgstr "Khớp nhãn tường lửa cụ thể hoặc một dải nhãn khác nhau." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:332 +msgid "Matches forwarded traffic using the specified outbound network device." +msgstr "Khớp lưu lượng chuyển tiếp sử dụng thiết bị mạng đầu cuối đã chỉ định." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:264 +msgid "Matches traffic carrying the specified DSCP marking." +msgstr "Khớp lưu lượng mang nhãn DSCP đã chỉ định." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:113 +msgid "Max Entries" +msgstr "Số lượng tối đa" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:172 +msgid "Max Length" +msgstr "Độ dài tối đa" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:384 +msgid "" +"Maximum initial number of packets to match: this number gets recharged by " +"one every time the limit specified above is not reached, up to this number." +msgstr "" +"Số lượng gói ban đầu tối đa để khớp: số này sẽ được nạp lại một lần mỗi khi " +"không đạt đến giới hạn được chỉ định ở trên, lên tới số này." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:481 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:354 +msgid "Monday" +msgstr "Thứ 2" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:491 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:364 +msgid "Month Days" +msgstr "Tháng Ngày" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:175 +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:44 +msgid "NAT Rules" +msgstr "Quy tắc NAT" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:173 +msgid "" +"NAT rules allow fine grained control over the source IP to use for outbound " +"or forwarded traffic." +msgstr "" +"Các quy tắc NAT cho phép kiểm soát chi tiết địa chỉ IP nguồn được sử dụng " +"cho lưu lượng đi ra hoặc chuyển tiếp." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:183 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:42 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:52 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:210 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:189 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:129 +msgid "Name" +msgstr "Tên" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:166 +msgid "Netmask" +msgstr "Netmask" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:83 +msgid "None" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:77 +msgid "Not fully compatible with QoS/SQM." +msgstr "Không hoàn toàn tương thích với QoS/SQM." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:275 +msgid "Only match incoming traffic directed at the given IP address." +msgstr "Chỉ khớp lưu lượng đến địa chỉ IP cụ thể." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:256 +msgid "Only match incoming traffic from these MACs." +msgstr "Chỉ khớp lưu lượng đến từ các địa chỉ MAC này." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:261 +msgid "Only match incoming traffic from this IP or range." +msgstr "Chỉ khớp lưu lượng đến từ địa chỉ IP hoặc dải cụ thể này." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:266 +msgid "" +"Only match incoming traffic originating from the given source port or port " +"range on the client host" +msgstr "" +"Chỉ khớp lưu lượng đến từ cổng nguồn hoặc dải cổng cụ thể trên máy khách" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:253 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:331 +msgid "Outbound device" +msgstr "Thiết bị đầu cuối ra" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:246 +msgid "Outbound zone" +msgstr "Vùng đầu cuối ra" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:63 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:152 +msgid "Output" +msgstr "Output" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:75 +msgid "Packet Field Match" +msgstr "Khớp trường gói tin" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:76 +msgid "" +"Packet fields to match upon.
Syntax: direction_datatype. e.g.: " +"src_port, dest_net.
Directions: src, dst. " +"Datatypes: ip, port, mac, net, set.
Direction prefixes are " +"optional.
*Note: datatype set is unsupported in fw4." +msgstr "" +"Các trường gói tin để khớp.
Cú pháp: hướng_loạitruong. Ví dụ: " +"src_port, dest_net.
Hướng: src, dst. Loại dữ " +"liệu: ip, port, mac, net, set.
Tiền tố hướng là tùy chọn." +"
*Ghi chú: loại dữ liệu set không được hỗ trợ trong fw4." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:350 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:471 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:343 +msgid "Passes additional arguments to iptables. Use with care!" +msgstr "Truyền các đối số bổ sung cho iptables. Sử dụng cẩn thận!" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:309 +msgid "" +"Passing raw iptables arguments to source and destination traffic " +"classification rules allows to match packets based on other criteria than " +"interfaces or subnets. These options should be used with extreme care as " +"invalid values could render the firewall ruleset broken, completely exposing " +"all services." +msgstr "" +"Việc truyền các đối số iptables nguyên thủy vào các quy tắc phân loại lưu " +"lượng nguồn và đích cho phép khớp các gói dựa trên các tiêu chí khác với " +"giao diện hoặc mạng con. Các tùy chọn này nên được sử dụng cẩn thận vì các " +"giá trị không hợp lệ có thể làm hỏng tập luật tường lửa, hoàn toàn tiết lộ " +"tất cả các dịch vụ." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:188 +msgid "Path to file of CIDRs, subnets, host IPs, etc.
" +msgstr "Đường dẫn đến tệp chứa CIDR, mạng con, IP máy chủ, v.v.
" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:155 +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:26 +msgid "Port Forwards" +msgstr "Chuyển tiếp cổng" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:153 +msgid "" +"Port forwarding allows remote computers on the Internet to connect to a " +"specific computer or service within the private LAN." +msgstr "" +"Chuyển tiếp cổng cho phép các máy tính từ xa trên Internet kết nối tới một " +"máy tính cụ thể hoặc dịch vụ trong mạng LAN riêng." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:158 +msgid "Port range" +msgstr "Dải cổng" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:237 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:289 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:242 +msgid "Protocol" +msgstr "Giao thức" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:298 +msgid "" +"Redirect matched incoming traffic to the given port on the internal host" +msgstr "Chuyển hướng lưu lượng đến cổng được chỉ định trên máy chủ nội bộ" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:293 +msgid "Redirect matched incoming traffic to the specified internal host" +msgstr "Chuyển hướng lưu lượng đến máy chủ nội bộ được chỉ định" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:122 +msgid "Refer To External Set" +msgstr "Tham chiếu tới tập hợp ngoại vi" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:320 +msgid "Reflection zones" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:85 +msgid "Requires hardware NAT support." +msgstr "Yêu cầu hỗ trợ NAT phần cứng." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:272 +msgid "Restrict Masquerading to given destination subnets" +msgstr "Hạn chế Masquerading cho các mạng con đích được chỉ định" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:261 +msgid "Restrict Masquerading to given source subnets" +msgstr "Hạn chế Masquerading cho các mạng con nguồn được chỉ định" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:188 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:277 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:216 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:255 +msgid "Restrict to address family" +msgstr "Giới hạn địa chỉ gia đình" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:297 +msgid "Rewrite IP address" +msgstr "Ghi đè địa chỉ IP" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:298 +msgid "Rewrite matched traffic to the specified source IP address." +msgstr "Ghi đè lưu lượng khớp với địa chỉ IP nguồn được chỉ định." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:312 +msgid "Rewrite matched traffic to the specified source port or port range." +msgstr "Ghi đè lưu lượng khớp với cổng nguồn hoặc dải cổng được chỉ định." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:311 +msgid "Rewrite port" +msgstr "Ghi đè cổng" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:76 +msgid "Routing/NAT Offloading" +msgstr "Bật tính năng Offloading cho định tuyến/NAT" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:290 +msgid "SNAT - Rewrite to specific source IP or port" +msgstr "SNAT - Ghi đè lên địa chỉ IP hoặc cổng nguồn cụ thể" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:486 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:359 +msgid "Saturday" +msgstr "Thứ 7" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:316 +msgid "Set mark" +msgstr "Đặt đánh dấu" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:318 +msgid "" +"Set the given mark value on established connections. Format is value[/mask]. " +"If a mask is specified then only those bits set in the mask are modified." +msgstr "" +"Đặt giá trị đánh dấu được chỉ định cho các kết nối đã thiết lập. Định dạng " +"là value[/mask]. Nếu có chỉ định mặt nạ, chỉ những bit được đặt trong mặt nạ " +"mới được thay đổi." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:84 +msgid "Software based offloading for routing/NAT." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:84 +msgid "Software flow offloading" +msgstr "Xả luồng dựa trên phần mềm" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:260 +msgid "Source IP address" +msgstr "Đỉa chỉ MAC nguồn" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:255 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:386 +msgid "Source MAC address" +msgstr "Địa chỉ MAC nguồn" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:387 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:253 +msgid "Source address" +msgstr "Đỉa chỉ nguồn" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:265 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:389 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:261 +msgid "Source port" +msgstr "Source port" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:241 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:372 +msgid "Source zone" +msgstr "Source zone" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:270 +msgid "" +"Specifies whether to tie this traffic rule to a specific inbound or outbound " +"network device." +msgstr "" +"Xác định xem có liên kết luật lưu lượng này với thiết bị mạng đầu vào hoặc " +"đầu ra cụ thể hay không." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:311 +msgid "" +"Specifies whether to use the external or the internal IP address for " +"reflected traffic." +msgstr "" +"Xác định xem có sử dụng địa chỉ IP ngoại vi hoặc nội bộ cho lưu lượng phản " +"chiếu hay không." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:510 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:383 +msgid "Start Date (yyyy-mm-dd)" +msgstr "Ngày bắt đầu (yyyy-mm-dd)" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:502 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:375 +msgid "Start Time (hh:mm:ss)" +msgstr "Thời gian bắt đầu (hh:mm:ss)" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:514 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:387 +msgid "Stop Date (yyyy-mm-dd)" +msgstr "Ngày kết thúc (yyyy-mm-dd)" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:506 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:379 +msgid "Stop Time (hh:mm:ss)" +msgstr "Thời gian kết thúc (hh:mm:ss)" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:130 +msgid "Storage Method" +msgstr "Phương pháp lưu trữ" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:480 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:353 +msgid "Sunday" +msgstr "Chủ Nhật" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:694 +msgid "" +"The existing firewall configuration needs to be changed for LuCI to function " +"properly." +msgstr "" +"Cấu hình tường lửa hiện có cần được thay đổi để LuCI hoạt động đúng cách." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:39 +msgid "" +"The firewall creates zones over your network interfaces to control network " +"traffic flow." +msgstr "" +"The firewall tạo zones trên giao diện mạng lưới để điều triển sự dòng lưu " +"thông của mạng." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:227 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:340 +msgid "" +"The options below control the forwarding policies between this zone (%s) and " +"other zones. Destination zones cover forwarded traffic " +"originating from %q. Source zones match forwarded " +"traffic from other zones targeted at %q. The forwarding " +"rule is unidirectional, e.g. a forward from lan to wan does " +"not imply a permission to forward from wan to lan as well." +msgstr "" +"Các tùy chọn dưới đây kiểm soát chính sách chuyển tiếp giữa vùng này (%s) và " +"các vùng khác. Vùng đích áp dụng cho lưu lượng được chuyển tiếp " +"xuất phát từ %q. Vùng nguồn khớp lưu lượng được " +"chuyển tiếp từ các vùng khác đích đến %q. Quy tắc chuyển " +"tiếp là một chiều, ví dụ: một chuyển tiếp từ lan đến wan không bao gồm quyền chuyển tiếp từ wan đến lan." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:125 +msgid "" +"This section defines common properties of %q. The input and " +"output options set the default policies for traffic entering and " +"leaving this zone while the forward option describes the policy for " +"forwarded traffic between different networks within the zone. Covered " +"networks specifies which available networks are members of this zone." +msgstr "" +"Phần này xác định các thuộc tính chung của %q. Các tùy chọn input " +"và output đặt chính sách mặc định cho lưu lượng nhập và xuất khỏi " +"vùng này trong khi tùy chọn forward mô tả chính sách cho lưu lượng " +"chuyển tiếp giữa các mạng khác nhau trong vùng. Mạng bao gồm chỉ " +"định các mạng có sẵn là thành viên của vùng này." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:484 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:357 +msgid "Thursday" +msgstr "Thứ 5" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:184 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:183 +msgid "Time Restrictions" +msgstr "Hạn chế Thời gian" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:518 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:391 +msgid "Time in UTC" +msgstr "Thời gian theo UTC" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:244 +msgid "Time restrictions are enabled for this rule" +msgstr "Hạn chế thời gian được bật cho quy tắc này" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:196 +msgid "Timeout" +msgstr "Quá thời gian" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:77 +msgid "" +"To %{dest}%{dest_device?, interface %{dest_device}}%{dest_ip?, IP " +"%{dest_ip#%{next?, }%{item.ival}
}}%{dest_port?, port %{dest_port#%{next?, }" +"%{item." +"ival}
}}" +msgstr "" +"Đến %{dest}%{dest_device?, giao diện %{dest_device}}%{dest_ip?, " +"IP %{dest_ip#%{next?, }%{item.ival}}}%{dest_port?, cổng %{dest_port#%{next?, }" +"%{item.ival}}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:55 +msgid "" +"To %{dest}%{dest_device?, via interface %{dest_device}}%{dest_ip?, IP %{dest_ip#%{next?, }%{item.ival}}}%{dest_port?, port " +"%{dest_port#%{next?, }%{item.ival}}}" +msgstr "" +"Đến %{dest}%{dest_device?, qua giao diện %{dest_device}}%{dest_ip?, IP %{dest_ip#%{next?, }%{item.ival}}}%{dest_port?, cổng " +"%{dest_port#%{next?, }%{item.ival}}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:61 +msgid "" +"To %{dest}%{dest_ip?, IP %{dest_ip#%{next?, }%{item.ival}}}%{dest_port?, port %{dest_port#%{next?, }%{item.ival}}}" +msgstr "" +"Đến %{dest}%{dest_ip?, IP %{dest_ip#%{next?, }%{item.ival}}}%{dest_port?, cổng %{dest_port#%{next?, }%{item.ival}}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:439 +msgid "Tracking helper" +msgstr "Bộ trợ giúp theo dõi" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:176 +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:35 +msgid "Traffic Rules" +msgstr "Quy tắc Lưu lượng" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:174 +msgid "" +"Traffic rules define policies for packets travelling between different " +"zones, for example to reject traffic between certain hosts or to open WAN " +"ports on the router." +msgstr "" +"Quy tắc giao thông xác định các chính sách cho các gói tin đi giữa các vùng " +"khác nhau, ví dụ như từ chối giao thông giữa các máy chủ nhất định hoặc mở " +"cổng WAN trên bộ định tuyến." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:482 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:355 +msgid "Tuesday" +msgstr "Thứ 3" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/custom.js:19 +msgid "Unable to save contents: %s" +msgstr "Không thể lưu nội dung: %s" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:197 +msgid "" +"Unit: seconds. Default 0 means the entry is added permanently " +"to the set.
Max: 2147483 seconds." +msgstr "" +"Đơn vị: giây. Mặc định 0 có nghĩa là mục được thêm vào bộ vĩnh " +"viễn.
Tối đa: 2147483 giây." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:341 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:461 +msgid "Unknown or not installed conntrack helper \"%s\"" +msgstr "Trợ giúp conntrack không xác định hoặc chưa cài đặt \"%s\"" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:186 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:190 +msgid "Unnamed NAT" +msgstr "NAT không có tên" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:169 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:184 +msgid "Unnamed forward" +msgstr "Chuyển tiếp không có tên" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:191 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:211 +msgid "Unnamed rule" +msgstr "Quy tắc không có tên" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:57 +msgid "Unnamed set" +msgstr "Bộ không có tên" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:130 +msgid "Unnamed zone" +msgstr "Vùng không có tên" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:597 +msgid "Unrecognized protocol" +msgstr "Giao thức không được nhận dạng" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:695 +msgid "" +"Upon pressing \"Continue\", \"redirect\" sections with target \"SNAT\" will " +"be converted to \"nat\" sections and the firewall will be restarted to apply " +"the updated configuration." +msgstr "" +"Khi nhấn \"Tiếp tục\", các phần \"chuyển hướng\" với mục tiêu \"SNAT\" sẽ " +"được chuyển đổi thành các phần \"nat\" và tường lửa sẽ được khởi động lại để " +"áp dụng cấu hình đã cập nhật." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:315 +msgid "Use external IP address" +msgstr "Sử dụng địa chỉ IP bên ngoài" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:314 +msgid "Use internal IP address" +msgstr "Sử dụng địa chỉ IP nội bộ" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:247 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:378 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:322 +msgid "Use ipset" +msgstr "Sử dụng ipset" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:231 +msgid "" +"Use this option to classify zone traffic by raw, non-uci managed " +"network devices." +msgstr "" +"Sử dụng tùy chọn này để phân loại lưu lượng vùng theo thiết bị mạng thô, " +"không được quản lý bởi uci." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:236 +msgid "" +"Use this option to classify zone traffic by source or destination subnet " +"instead of networks or devices." +msgstr "" +"Sử dụng tùy chọn này để phân loại lưu lượng vùng theo mạng con nguồn hoặc " +"đích thay vì mạng hoặc thiết bị." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:331 +msgid "Valid firewall mark required" +msgstr "Yêu cầu dấu tường lửa hợp lệ" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:483 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:356 +msgid "Wednesday" +msgstr "Thứ 4" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:475 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:348 +msgid "Week Days" +msgstr "Ngày trong tuần" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:420 +msgid "XOR firewall mark" +msgstr "Dấu tường lửa XOR" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:316 +msgid "XOR mark" +msgstr "Dấu XOR" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:28 +msgid "Your device does not run firewall4." +msgstr "Thiết bị của bạn không chạy firewall4." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:26 +msgid "Your device runs firewall4." +msgstr "Thiết bị của bạn chạy firewall4." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:143 +msgid "Zone ⇒ Forwardings" +msgstr "Vùng ⇒ Chuyển tiếp" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:101 +msgid "Zones" +msgstr "Các vùng" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:320 +msgid "" +"Zones from which reflection rules shall be created. If unset, only the " +"destination zone is used." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:415 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:70 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:159 +msgid "accept" +msgstr "chấp nhận" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:268 +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:463 +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:486 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:270 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:301 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:328 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:392 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:407 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:441 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:448 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:266 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:282 +msgid "any" +msgstr "Bất kì" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:53 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:86 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:65 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:78 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:46 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:56 +msgid "any zone" +msgstr "bất kỳ vùng nào" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:298 +msgid "any/all" +msgstr "bất kỳ/tất cả" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:419 +msgid "apply firewall mark" +msgstr "áp dụng dấu tường lửa" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:418 +msgid "assign conntrack helper" +msgstr "gán trợ giúp conntrack" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:194 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:222 +msgid "automatic" +msgstr "Tự động hóa" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:131 +msgid "bitmap" +msgstr "bản đồ bit" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:137 +msgid "bitmap is ipv4 only" +msgstr "bản đồ bit chỉ dành cho ipv4" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:72 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:89 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:67 +msgid "day" +msgstr "ngày" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:93 +msgid "dest_ip: Destination IP" +msgstr "dest_ip: IP đích" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:95 +msgid "dest_mac: Destination MAC addr" +msgstr "dest_mac: Địa chỉ MAC đích" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:96 +msgid "dest_net: Destination (sub)net" +msgstr "dest_net: Mạng (con) đích" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:94 +msgid "dest_port: Destination Port" +msgstr "dest_port: Cổng đích" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:98 +msgid "dest_set: Destination ipset*" +msgstr "*dest_set: ipset đích*" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:315 +msgid "do not rewrite" +msgstr "không viết lại" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:417 +msgid "don't track" +msgstr "không theo dõi" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:414 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:69 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:158 +msgid "drop" +msgstr "drop" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:21 +msgid "" +"firewall4 supports referencing and creating IP sets to simplify matching of " +"large address lists without the need to create one rule per item to match. " +"Port ranges in ipsets are unsupported by firewall4.
" +msgstr "" +"firewall4 hỗ trợ tham chiếu và tạo các bộ IP để đơn giản hóa việc khớp các " +"danh sách địa chỉ lớn mà không cần tạo một quy tắc cho mỗi mục để khớp. Phạm " +"vi cổng trong ipsets không được hỗ trợ bởi firewall4.
" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:159 +msgid "fromport-toport" +msgstr "từ cổng đến cổng" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:132 +msgid "hash" +msgstr "băm" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:72 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:89 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:67 +msgid "hour" +msgstr "giờ" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:81 +msgid "ip: IP addr" +msgstr "ip: Địa chỉ IP" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:153 +msgid "ip[/cidr]
" +msgstr "ip[/cidr]
" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:145 +msgid "ip[/cidr]
For use with Match datatypes: *_ip." +msgstr "" +"ip[/cidr]
Để sử dụng với các kiểu dữ liệu Khớp: *_ip." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:70 +msgid "ipv4" +msgstr "ipv4" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:133 +msgid "list" +msgstr "danh sách" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:83 +msgid "mac: MAC addr" +msgstr "mac: Địa chỉ MAC" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:108 +msgid "macaddr|ip[/cidr]
" +msgstr "*macaddr|ip[/cidr]*
" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:72 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:89 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:67 +msgid "minute" +msgstr "*phút*" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:84 +msgid "net: (sub)net" +msgstr "net: (sub)net" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:82 +msgid "port: Port" +msgstr "port: Cổng" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:416 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:68 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:157 +msgid "reject" +msgstr "Không chấp nhận" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:72 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:89 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:67 +msgid "second" +msgstr "giây" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:86 +msgid "set: ipset*" +msgstr "set: ipset*" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:92 +msgid "src_Set: Source ipset*" +msgstr "src_Set: ipset nguồn*" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:87 +msgid "src_ip: Source IP" +msgstr "src_ip: IP nguồn" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:89 +msgid "src_mac: Source MAC addr" +msgstr "src_mac: Địa chỉ MAC nguồn" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:90 +msgid "src_net: Source (sub)net" +msgstr "src_net: Mạng (con) nguồn" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:88 +msgid "src_port: Source Port" +msgstr "src_port: Cổng nguồn" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:53 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:62 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:86 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:65 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:78 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:56 +msgid "this device" +msgstr "thiết bị này" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:124 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:226 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:339 +msgid "this new zone" +msgstr "vùng mới này" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:354 +msgid "unlimited" +msgstr "không giới hạn" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:251 +msgid "unspecified" +msgstr "không xác định" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:114 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:173 +msgid "up to 65536 entries." +msgstr "lên đến 65536 mục." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:339 +msgid "valid firewall mark" +msgstr "dấu tường lửa hợp lệ" + +#~ msgid "Software based offloading for routing/NAT" +#~ msgstr "Bật tính năng Offloading dựa trên phần mềm cho định tuyến/NAT" diff --git a/luci-app-firewall/po/yua/firewall.po b/luci-app-firewall/po/yua/firewall.po new file mode 100644 index 000000000..1dc338868 --- /dev/null +++ b/luci-app-firewall/po/yua/firewall.po @@ -0,0 +1,1430 @@ +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2010-03-30 17:00+0200\n" +"PO-Revision-Date: 2024-08-26 11:25+0000\n" +"Last-Translator: Automatically generated\n" +"Language-Team: none\n" +"Language: yua\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Generator: Weblate 5.7.1-dev\n" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:48 +msgid "" +"%{src?%{dest?Forwarded:Incoming}:Outgoing} %{ipv6?%{ipv4?IPv4 and " +"IPv6:IPv6}:IPv4}%{proto?, protocol " +"%{proto#%{next?, }%{item.types?%{item." +"name}ICMP with types %{item.types#%{next?, }" +"%{item}}:%{item.name}}}}%{mark?, mark " +"%{mark.val}}%{dscp?, DSCP %{dscp." +"inv?%{dscp.val}:%{dscp.val}}}%{helper?, helper " +"%{helper.inv?%{helper.val}:%{helper." +"val}}}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:463 +msgid "-- add IP --" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:521 +msgid "-- add MAC --" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:199 +msgid "0" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:182 +msgid "1024" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:118 +msgid "" +"Accept %{src?%{dest?forward:input}:output}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:93 +msgid "Prevent source rewrite" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:85 +msgid "" +"Forward to %{dest}%{dest_ip? IP " +"%{dest_ip}}%{dest_port? port %{dest_port}}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:115 +msgid "" +"Drop %{src?%{dest?forward:input}:output}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:133 +msgid "" +"Assign DSCP classification %{set_dscp}" +"" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:127 +msgid "" +"Assign conntrack helper " +"%{set_helper}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:130 +msgid "" +"%{set_mark?Assign:XOR} firewall mark " +"%{set_mark?:%{set_xmark}}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:90 +msgid "Automatically rewrite source IP" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:124 +msgid "" +"Do not track %{src?%{dest?forward:input}:" +"output}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:121 +msgid "" +"Reject %{src?%{dest?forward:input}:output}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:87 +msgid "" +"Statically rewrite to source %{snat_ip?IP " +"%{snat_ip}} %{snat_port?port %{snat_port}}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:306 +msgid "A rewrite IP must be specified!" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:292 +msgid "ACCEPT - Disable address rewriting" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:224 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:225 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:411 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:204 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:287 +msgid "Action" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:322 +msgid "" +"Additional raw iptables arguments to classify zone destination " +"traffic, e.g. -p tcp --dport 443 to only match outbound HTTPS " +"traffic." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:312 +msgid "" +"Additional raw iptables arguments to classify zone source traffic, " +"e.g. -p tcp --sport 443 to only match inbound HTTPS traffic." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:107 +msgid "Address family, Internal IP address must match" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:135 +msgid "" +"Address family, source address, destination address, rewrite IP address must " +"match" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:162 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:183 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:182 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:114 +msgid "Advanced Settings" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:283 +msgid "Allow \"invalid\" traffic" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:385 +msgid "Allow forward from source zones:" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:344 +msgid "Allow forward to destination zones:" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:551 +msgid "Any" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:479 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:495 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:352 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:368 +msgid "Any day" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:317 +msgid "" +"Apply a bitwise XOR of the given value and the existing mark value on " +"established connections. Format is value[/mask]. If a mask is specified then " +"those bits set in the mask are zeroed out." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:264 +msgid "Apply the given DSCP class or value to established connections." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:439 +msgid "Assign the specified connection tracking helper to matched traffic." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:286 +msgid "Automatic helper assignment" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:286 +msgid "" +"Automatically assign conntrack helpers based on traffic protocol and port" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:61 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:62 +msgid "Comment" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:115 +msgid "Conntrack Settings" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:290 +msgid "Conntrack helpers" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/custom.js:16 +msgid "Contents have been saved." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:700 +msgid "Continue" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:204 +msgid "Counters" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:231 +msgid "Covered devices" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:183 +msgid "Covered networks" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:236 +msgid "Covered subnets" +msgstr "" + +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:62 +msgid "Custom Rules" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/custom.js:26 +msgid "" +"Custom rules allow you to execute arbitrary iptables commands which are not " +"otherwise covered by the firewall framework. The commands are executed after " +"each firewall restart, right after the default ruleset has been loaded." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:421 +msgid "DSCP classification" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:263 +msgid "DSCP mark" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:297 +msgid "DSCP mark required" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:402 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:270 +msgid "Destination address" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:404 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:278 +msgid "Destination port" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:396 +msgid "Destination zone" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:269 +msgid "Device name" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:283 +msgid "" +"Do not install extra rules to reject forwarded traffic with conntrack state " +"invalid. This may be required for complex asymmetric route setups." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:59 +msgid "Drop invalid packets" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:232 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:231 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:210 +msgid "Enable" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:306 +msgid "Enable NAT Loopback" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:45 +msgid "Enable SYN-flood protection" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:296 +msgid "Enable logging on this zone" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:168 +msgid "" +"Enable network address and port translation IPv4 (NAT4 or NAPT4) for " +"outbound traffic on this zone. This is typically enabled on the wan " +"zone." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:243 +msgid "" +"Enable network address and port translation IPv6 (NAT6 or NAPT6) for " +"outbound traffic on this zone." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:211 +msgid "Enabled" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:205 +msgid "Enables packet and byte count tracking for the set." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:339 +msgid "Expecting: %s" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:290 +msgid "Explicitly choses allowed connection tracking helpers for zone traffic" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:274 +msgid "External IP address" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:279 +msgid "External port" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:349 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:470 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:342 +msgid "Extra arguments" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:322 +msgid "Extra destination arguments" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:116 +msgid "Extra iptables arguments" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:312 +msgid "Extra source arguments" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:67 +msgid "Family" +msgstr "" + +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:3 +msgid "Firewall" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/custom.js:25 +msgid "Firewall - Custom Rules" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:20 +msgid "Firewall - IP sets" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:172 +msgid "Firewall - NAT Rules" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:152 +msgid "Firewall - Port Forwards" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:173 +msgid "Firewall - Traffic Rules" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:38 +msgid "Firewall - Zone Settings" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:693 +msgid "Firewall configuration migration" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:82 +msgid "Flow offloading type" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:64 +msgid "Forward" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:34 +msgid "" +"Forwarded %{ipv6?%{ipv4?IPv4 and IPv6:IPv6}:" +"IPv4}%{proto?, protocol %{proto#%{next?, }%{item.name}}}%{mark?, mark %{mark.val}" +"}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:485 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:358 +msgid "Friday" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:45 +msgid "" +"From %{src}%{src_device?, interface %{src_device}}%{src_ip?, IP " +"%{src_ip#%{next?, }%{item.ival}}}%{src_port?, port %{src_port#%{next?, }" +"%{item." +"ival}}}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:64 +msgid "" +"From %{src}%{src_device?, interface %{src_device}}%{src_ip?, IP " +"%{src_ip#%{next?, }%{item.ival}}}%{src_port?, port %{src_port#%{next?, }" +"%{item." +"ival}}}%{src_mac?, MAC %{src_mac#%{next?, }%{item.ival}" +"}}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:52 +msgid "" +"From %{src}%{src_ip?, IP %{src_ip#%{next?, }%{item.ival}}}%{src_port?, port %{src_port#%{next?, }%{item.ival}}}%{src_mac?, " +"MAC %{src_mac#%{next?, }%{item.ival}}}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:161 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:182 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:181 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:41 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:113 +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:17 +msgid "General Settings" +msgstr "" + +#: applications/luci-app-firewall/root/usr/share/rpcd/acl.d/luci-app-firewall.json:3 +msgid "Grant access to firewall configuration" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:85 +msgid "Hardware based offloading for routing with/without NAT." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:85 +msgid "Hardware flow offloading" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:144 +msgid "IP (range)" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:32 +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:53 +msgid "IP Sets" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:152 +msgid "IPs/Networks" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:107 +msgid "IPs/Networks/MACs" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:68 +msgid "IPv4" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:191 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:280 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:219 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:256 +msgid "IPv4 and IPv6" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:192 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:281 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:220 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:257 +msgid "IPv4 only" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:69 +msgid "IPv6" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:242 +msgid "IPv6 Masquerading" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:193 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:282 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:221 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:258 +msgid "IPv6 only" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:252 +msgid "Inbound device" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:187 +msgid "Include File" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:40 +msgid "" +"Incoming %{ipv6?%{ipv4?IPv4 and IPv6:IPv6}:" +"IPv4}%{proto?, protocol %{proto#%{next?, }%{item.types?%{item.name}ICMP " +"with types %{item.types#%{next?, }%{item}}:" +"%{item.name}}}}%{mark?, mark %{mark.val}}%{helper?, helper %{helper.inv?%{helper.val}:%{helper.val}}}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:180 +msgid "Initial Hash Size" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:62 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:151 +msgid "Input" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:292 +msgid "Internal IP address" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:297 +msgid "Internal port" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:287 +msgid "Internal zone" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:153 +msgid "Intra zone forward" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:305 +msgid "Invalid DSCP mark" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:373 +msgid "Invalid limit value" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:47 +msgid "Invalid set name" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:383 +msgid "Limit burst" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:299 +msgid "Limit log messages" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:349 +msgid "Limit matching" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:79 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:96 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:74 +msgid "" +"Limit matching to %{limit.num} packets per %{limit.unit}%{limit.burst? burst %{limit.burst}}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:175 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:250 +msgid "Limited masquerading enabled" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:350 +msgid "Limits traffic matching to the specified rate." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:311 +msgid "Loopback source IP" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:291 +msgid "MASQUERADE - Automatically rewrite to outbound interface IP" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:180 +msgid "MSS clamping" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:167 +msgid "Masquerading" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:213 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:214 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:193 +msgid "Match" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:263 +msgid "Match DSCP" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:293 +msgid "Match ICMP type" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:249 +msgid "Match device" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:271 +msgid "Match forwarded traffic directed at the given IP address." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:279 +msgid "" +"Match forwarded traffic directed at the given destination port or port range." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:254 +msgid "Match forwarded traffic from this IP or range." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:262 +msgid "" +"Match forwarded traffic originating from the given source port or port range." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:326 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:446 +msgid "Match helper" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:280 +msgid "" +"Match incoming traffic directed at the given destination port or port range " +"on this host" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:316 +msgid "Match mark" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:326 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:446 +msgid "Match traffic using the specified connection tracking helper." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:319 +msgid "Matches a specific firewall mark or a range of different marks." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:332 +msgid "Matches forwarded traffic using the specified outbound network device." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:264 +msgid "Matches traffic carrying the specified DSCP marking." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:113 +msgid "Max Entries" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:172 +msgid "Max Length" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:384 +msgid "" +"Maximum initial number of packets to match: this number gets recharged by " +"one every time the limit specified above is not reached, up to this number." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:481 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:354 +msgid "Monday" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:491 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:364 +msgid "Month Days" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:175 +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:44 +msgid "NAT Rules" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:173 +msgid "" +"NAT rules allow fine grained control over the source IP to use for outbound " +"or forwarded traffic." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:183 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:42 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:52 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:210 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:189 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:129 +msgid "Name" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:166 +msgid "Netmask" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:83 +msgid "None" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:77 +msgid "Not fully compatible with QoS/SQM." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:275 +msgid "Only match incoming traffic directed at the given IP address." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:256 +msgid "Only match incoming traffic from these MACs." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:261 +msgid "Only match incoming traffic from this IP or range." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:266 +msgid "" +"Only match incoming traffic originating from the given source port or port " +"range on the client host" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:253 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:331 +msgid "Outbound device" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:246 +msgid "Outbound zone" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:63 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:152 +msgid "Output" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:75 +msgid "Packet Field Match" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:76 +msgid "" +"Packet fields to match upon.
Syntax: direction_datatype. e.g.: " +"src_port, dest_net.
Directions: src, dst. " +"Datatypes: ip, port, mac, net, set.
Direction prefixes are " +"optional.
*Note: datatype set is unsupported in fw4." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:350 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:471 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:343 +msgid "Passes additional arguments to iptables. Use with care!" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:309 +msgid "" +"Passing raw iptables arguments to source and destination traffic " +"classification rules allows to match packets based on other criteria than " +"interfaces or subnets. These options should be used with extreme care as " +"invalid values could render the firewall ruleset broken, completely exposing " +"all services." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:188 +msgid "Path to file of CIDRs, subnets, host IPs, etc.
" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:155 +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:26 +msgid "Port Forwards" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:153 +msgid "" +"Port forwarding allows remote computers on the Internet to connect to a " +"specific computer or service within the private LAN." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:158 +msgid "Port range" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:237 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:289 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:242 +msgid "Protocol" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:298 +msgid "" +"Redirect matched incoming traffic to the given port on the internal host" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:293 +msgid "Redirect matched incoming traffic to the specified internal host" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:122 +msgid "Refer To External Set" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:320 +msgid "Reflection zones" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:85 +msgid "Requires hardware NAT support." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:272 +msgid "Restrict Masquerading to given destination subnets" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:261 +msgid "Restrict Masquerading to given source subnets" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:188 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:277 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:216 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:255 +msgid "Restrict to address family" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:297 +msgid "Rewrite IP address" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:298 +msgid "Rewrite matched traffic to the specified source IP address." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:312 +msgid "Rewrite matched traffic to the specified source port or port range." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:311 +msgid "Rewrite port" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:76 +msgid "Routing/NAT Offloading" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:290 +msgid "SNAT - Rewrite to specific source IP or port" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:486 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:359 +msgid "Saturday" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:316 +msgid "Set mark" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:318 +msgid "" +"Set the given mark value on established connections. Format is value[/mask]. " +"If a mask is specified then only those bits set in the mask are modified." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:84 +msgid "Software based offloading for routing/NAT." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:84 +msgid "Software flow offloading" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:260 +msgid "Source IP address" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:255 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:386 +msgid "Source MAC address" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:387 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:253 +msgid "Source address" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:265 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:389 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:261 +msgid "Source port" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:241 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:372 +msgid "Source zone" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:270 +msgid "" +"Specifies whether to tie this traffic rule to a specific inbound or outbound " +"network device." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:311 +msgid "" +"Specifies whether to use the external or the internal IP address for " +"reflected traffic." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:510 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:383 +msgid "Start Date (yyyy-mm-dd)" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:502 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:375 +msgid "Start Time (hh:mm:ss)" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:514 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:387 +msgid "Stop Date (yyyy-mm-dd)" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:506 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:379 +msgid "Stop Time (hh:mm:ss)" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:130 +msgid "Storage Method" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:480 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:353 +msgid "Sunday" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:694 +msgid "" +"The existing firewall configuration needs to be changed for LuCI to function " +"properly." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:39 +msgid "" +"The firewall creates zones over your network interfaces to control network " +"traffic flow." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:227 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:340 +msgid "" +"The options below control the forwarding policies between this zone (%s) and " +"other zones. Destination zones cover forwarded traffic " +"originating from %q. Source zones match forwarded " +"traffic from other zones targeted at %q. The forwarding " +"rule is unidirectional, e.g. a forward from lan to wan does " +"not imply a permission to forward from wan to lan as well." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:125 +msgid "" +"This section defines common properties of %q. The input and " +"output options set the default policies for traffic entering and " +"leaving this zone while the forward option describes the policy for " +"forwarded traffic between different networks within the zone. Covered " +"networks specifies which available networks are members of this zone." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:484 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:357 +msgid "Thursday" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:184 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:183 +msgid "Time Restrictions" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:518 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:391 +msgid "Time in UTC" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:244 +msgid "Time restrictions are enabled for this rule" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:196 +msgid "Timeout" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:77 +msgid "" +"To %{dest}%{dest_device?, interface %{dest_device}}%{dest_ip?, IP " +"%{dest_ip#%{next?, }%{item.ival}
}}%{dest_port?, port %{dest_port#%{next?, }" +"%{item." +"ival}}}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:55 +msgid "" +"To %{dest}%{dest_device?, via interface %{dest_device}}%{dest_ip?, IP %{dest_ip#%{next?, }%{item.ival}}}%{dest_port?, port " +"%{dest_port#%{next?, }%{item.ival}}}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:61 +msgid "" +"To %{dest}%{dest_ip?, IP %{dest_ip#%{next?, }%{item.ival}}}%{dest_port?, port %{dest_port#%{next?, }%{item.ival}}}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:439 +msgid "Tracking helper" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:176 +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:35 +msgid "Traffic Rules" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:174 +msgid "" +"Traffic rules define policies for packets travelling between different " +"zones, for example to reject traffic between certain hosts or to open WAN " +"ports on the router." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:482 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:355 +msgid "Tuesday" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/custom.js:19 +msgid "Unable to save contents: %s" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:197 +msgid "" +"Unit: seconds. Default 0 means the entry is added permanently " +"to the set.
Max: 2147483 seconds." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:341 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:461 +msgid "Unknown or not installed conntrack helper \"%s\"" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:186 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:190 +msgid "Unnamed NAT" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:169 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:184 +msgid "Unnamed forward" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:191 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:211 +msgid "Unnamed rule" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:57 +msgid "Unnamed set" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:130 +msgid "Unnamed zone" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:597 +msgid "Unrecognized protocol" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:695 +msgid "" +"Upon pressing \"Continue\", \"redirect\" sections with target \"SNAT\" will " +"be converted to \"nat\" sections and the firewall will be restarted to apply " +"the updated configuration." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:315 +msgid "Use external IP address" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:314 +msgid "Use internal IP address" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:247 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:378 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:322 +msgid "Use ipset" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:231 +msgid "" +"Use this option to classify zone traffic by raw, non-uci managed " +"network devices." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:236 +msgid "" +"Use this option to classify zone traffic by source or destination subnet " +"instead of networks or devices." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:331 +msgid "Valid firewall mark required" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:483 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:356 +msgid "Wednesday" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:475 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:348 +msgid "Week Days" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:420 +msgid "XOR firewall mark" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:316 +msgid "XOR mark" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:28 +msgid "Your device does not run firewall4." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:26 +msgid "Your device runs firewall4." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:143 +msgid "Zone ⇒ Forwardings" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:101 +msgid "Zones" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:320 +msgid "" +"Zones from which reflection rules shall be created. If unset, only the " +"destination zone is used." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:415 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:70 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:159 +msgid "accept" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:268 +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:463 +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:486 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:270 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:301 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:328 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:392 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:407 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:441 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:448 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:266 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:282 +msgid "any" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:53 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:86 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:65 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:78 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:46 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:56 +msgid "any zone" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:298 +msgid "any/all" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:419 +msgid "apply firewall mark" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:418 +msgid "assign conntrack helper" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:194 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:222 +msgid "automatic" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:131 +msgid "bitmap" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:137 +msgid "bitmap is ipv4 only" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:72 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:89 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:67 +msgid "day" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:93 +msgid "dest_ip: Destination IP" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:95 +msgid "dest_mac: Destination MAC addr" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:96 +msgid "dest_net: Destination (sub)net" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:94 +msgid "dest_port: Destination Port" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:98 +msgid "dest_set: Destination ipset*" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:315 +msgid "do not rewrite" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:417 +msgid "don't track" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:414 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:69 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:158 +msgid "drop" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:21 +msgid "" +"firewall4 supports referencing and creating IP sets to simplify matching of " +"large address lists without the need to create one rule per item to match. " +"Port ranges in ipsets are unsupported by firewall4.
" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:159 +msgid "fromport-toport" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:132 +msgid "hash" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:72 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:89 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:67 +msgid "hour" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:81 +msgid "ip: IP addr" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:153 +msgid "ip[/cidr]
" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:145 +msgid "ip[/cidr]
For use with Match datatypes: *_ip." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:70 +msgid "ipv4" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:133 +msgid "list" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:83 +msgid "mac: MAC addr" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:108 +msgid "macaddr|ip[/cidr]
" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:72 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:89 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:67 +msgid "minute" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:84 +msgid "net: (sub)net" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:82 +msgid "port: Port" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:416 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:68 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:157 +msgid "reject" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:72 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:89 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:67 +msgid "second" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:86 +msgid "set: ipset*" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:92 +msgid "src_Set: Source ipset*" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:87 +msgid "src_ip: Source IP" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:89 +msgid "src_mac: Source MAC addr" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:90 +msgid "src_net: Source (sub)net" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:88 +msgid "src_port: Source Port" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:53 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:62 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:86 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:65 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:78 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:56 +msgid "this device" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:124 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:226 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:339 +msgid "this new zone" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:354 +msgid "unlimited" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:251 +msgid "unspecified" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:114 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:173 +msgid "up to 65536 entries." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:339 +msgid "valid firewall mark" +msgstr "" diff --git a/luci-app-firewall/po/zh_Hans/firewall.po b/luci-app-firewall/po/zh_Hans/firewall.po new file mode 100644 index 000000000..f7b5a5cb3 --- /dev/null +++ b/luci-app-firewall/po/zh_Hans/firewall.po @@ -0,0 +1,1583 @@ +msgid "" +msgstr "" +"Project-Id-Version: \n" +"PO-Revision-Date: 2024-10-26 14:12+0000\n" +"Last-Translator: try496 \n" +"Language-Team: Chinese (Simplified Han script) \n" +"Language: zh_Hans\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=1; plural=0;\n" +"X-Generator: Weblate 5.8.2-dev\n" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:48 +msgid "" +"%{src?%{dest?Forwarded:Incoming}:Outgoing} %{ipv6?%{ipv4?IPv4 and " +"IPv6:IPv6}:IPv4}%{proto?, protocol " +"%{proto#%{next?, }%{item.types?%{item." +"name}ICMP with types %{item.types#%{next?, }" +"%{item}}:%{item.name}}}}%{mark?, mark " +"%{mark.val}}%{dscp?, DSCP %{dscp." +"inv?%{dscp.val}:%{dscp.val}}}%{helper?, helper " +"%{helper.inv?%{helper.val}:%{helper." +"val}}}" +msgstr "" +"%{src?%{dest?转发:入站}:出站} %{ipv6?%{ipv4?IPv4 and IPv6:IPv6}:IPv4}%{proto?, 协议 " +"%{proto#%{next?, }%{item.types?%{item." +"name}具有类型 %{item.types#%{next?, }%{item}" +"} 的 ICMP:%{item.name}}}}%{mark?, 标记 " +"%{mark.val}}%{dscp?, DSCP %{dscp.inv?%{dscp." +"val}:%{dscp.val}}}%{helper?, 助手 %{helper.inv?%{helper.val}" +":%{helper.val}}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:463 +msgid "-- add IP --" +msgstr "-- 添加 IP --" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:521 +msgid "-- add MAC --" +msgstr "-- 添加 MAC --" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:199 +msgid "0" +msgstr "0" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:182 +msgid "1024" +msgstr "1024" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:118 +msgid "" +"Accept %{src?%{dest?forward:input}:output}" +msgstr "接受 %{src?%{dest?转发:入站}:出站}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:93 +msgid "Prevent source rewrite" +msgstr "防止重写源" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:85 +msgid "" +"Forward to %{dest}%{dest_ip? IP " +"%{dest_ip}}%{dest_port? port %{dest_port}}" +msgstr "" +"转发 至 %{dest}%{dest_ip? IP %{dest_ip}" +"}%{dest_port? 端口 %{dest_port}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:115 +msgid "" +"Drop %{src?%{dest?forward:input}:output}" +msgstr "丢弃 %{src?%{dest?转发:入站}:出站}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:133 +msgid "" +"Assign DSCP classification %{set_dscp}" +"" +msgstr "分配 DSCP 分类 %{set_dscp}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:127 +msgid "" +"Assign conntrack helper " +"%{set_helper}" +msgstr "" +"分配 conntrack 助手 %{set_helper}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:130 +msgid "" +"%{set_mark?Assign:XOR} firewall mark " +"%{set_mark?:%{set_xmark}}" +msgstr "" +"%{set_mark?分配:异或} 防火墙标记 " +"%{set_mark?:%{set_xmark}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:90 +msgid "Automatically rewrite source IP" +msgstr "自动重写 源 IP" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:124 +msgid "" +"Do not track %{src?%{dest?forward:input}:" +"output}" +msgstr "" +"不跟踪 %{src?%{dest?转发:入站}:出站}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:121 +msgid "" +"Reject %{src?%{dest?forward:input}:output}" +msgstr "拒绝 %{src?%{dest?转发:入站}:出站}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:87 +msgid "" +"Statically rewrite to source %{snat_ip?IP " +"%{snat_ip}} %{snat_port?port %{snat_port}}" +msgstr "" +"静态重写 到源 %{snat_ip?IP %{snat_ip}} %{snat_port?端口 %{snat_port}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:306 +msgid "A rewrite IP must be specified!" +msgstr "必须指定重写 IP!" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:292 +msgid "ACCEPT - Disable address rewriting" +msgstr "接受 - 禁用地址重写" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:224 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:225 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:411 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:204 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:287 +msgid "Action" +msgstr "操作" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:322 +msgid "" +"Additional raw iptables arguments to classify zone destination " +"traffic, e.g. -p tcp --dport 443 to only match outbound HTTPS " +"traffic." +msgstr "" +"用于对区域目标流量进行分类的额外 iptables 参数。如:-p tcp --" +"dport 443 表示仅匹配出站 HTTPS 流量。" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:312 +msgid "" +"Additional raw iptables arguments to classify zone source traffic, " +"e.g. -p tcp --sport 443 to only match inbound HTTPS traffic." +msgstr "" +"用于对区域源流量进行分类的额外 iptables 参数。如:-p tcp --" +"sport 443 表示仅匹配入站 HTTPS 流量。" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:107 +msgid "Address family, Internal IP address must match" +msgstr "地址族、内部 IP 族必须相匹配" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:135 +msgid "" +"Address family, source address, destination address, rewrite IP address must " +"match" +msgstr "地址族、源地址、目标地址、重写 IP 地址必须相匹配" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:162 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:183 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:182 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:114 +msgid "Advanced Settings" +msgstr "高级设置" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:283 +msgid "Allow \"invalid\" traffic" +msgstr "允许“无效”流量" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:385 +msgid "Allow forward from source zones:" +msgstr "允许来自源区域的转发:" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:344 +msgid "Allow forward to destination zones:" +msgstr "允许转发到目标区域:" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:551 +msgid "Any" +msgstr "任何" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:479 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:495 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:352 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:368 +msgid "Any day" +msgstr "每天" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:317 +msgid "" +"Apply a bitwise XOR of the given value and the existing mark value on " +"established connections. Format is value[/mask]. If a mask is specified then " +"those bits set in the mask are zeroed out." +msgstr "" +"在已建立的连接上对给定值和现有标记值进行按位异或。格式为 值[/掩码]。如果指定" +"了掩码,则掩码中设置的位将归零。" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:264 +msgid "Apply the given DSCP class or value to established connections." +msgstr "将给定的 DSCP 类或值应用于已建立的连接。" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:439 +msgid "Assign the specified connection tracking helper to matched traffic." +msgstr "将指定的连接跟踪助手分配给匹配的流量。" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:286 +msgid "Automatic helper assignment" +msgstr "自动助手分配" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:286 +msgid "" +"Automatically assign conntrack helpers based on traffic protocol and port" +msgstr "根据流量协议和端口自动分配连接跟踪助手" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:61 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:62 +msgid "Comment" +msgstr "注释" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:115 +msgid "Conntrack Settings" +msgstr "连接跟踪设置" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:290 +msgid "Conntrack helpers" +msgstr "连接跟踪助手" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/custom.js:16 +msgid "Contents have been saved." +msgstr "内容已保存。" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:700 +msgid "Continue" +msgstr "继续" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:204 +msgid "Counters" +msgstr "计数器" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:231 +msgid "Covered devices" +msgstr "涵盖的设备" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:183 +msgid "Covered networks" +msgstr "涵盖的网络" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:236 +msgid "Covered subnets" +msgstr "涵盖的子网" + +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:62 +msgid "Custom Rules" +msgstr "自定义规则" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/custom.js:26 +msgid "" +"Custom rules allow you to execute arbitrary iptables commands which are not " +"otherwise covered by the firewall framework. The commands are executed after " +"each firewall restart, right after the default ruleset has been loaded." +msgstr "" +"自定义规则允许您执行不属于防火墙框架的任意 iptables 命令。每次重启防火墙时," +"这些命令在默认的规则运行后立即执行。" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:421 +msgid "DSCP classification" +msgstr "DSCP 类别" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:263 +msgid "DSCP mark" +msgstr "DSCP 标记" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:297 +msgid "DSCP mark required" +msgstr "需要 DSCP 标记" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:402 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:270 +msgid "Destination address" +msgstr "目标地址" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:404 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:278 +msgid "Destination port" +msgstr "目标端口" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:396 +msgid "Destination zone" +msgstr "目标区域" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:269 +msgid "Device name" +msgstr "设备名" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:283 +msgid "" +"Do not install extra rules to reject forwarded traffic with conntrack state " +"invalid. This may be required for complex asymmetric route setups." +msgstr "" +"不安装额外的规则以拒绝连接跟踪状态为无效的转发流量。对复杂的非对称路" +"由这可能是必需的设置。" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:59 +msgid "Drop invalid packets" +msgstr "丢弃无效数据包" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:232 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:231 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:210 +msgid "Enable" +msgstr "启用" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:306 +msgid "Enable NAT Loopback" +msgstr "启用 NAT 环回" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:45 +msgid "Enable SYN-flood protection" +msgstr "启用 SYN-flood 防御" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:296 +msgid "Enable logging on this zone" +msgstr "启用此区域的日志记录" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:168 +msgid "" +"Enable network address and port translation IPv4 (NAT4 or NAPT4) for " +"outbound traffic on this zone. This is typically enabled on the wan " +"zone." +msgstr "" +"为此区域的出站流量开启网络地址和端口转换 IPv4 (NAT4 或 NAPT4)。 wan区域通常开启此功能。" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:243 +msgid "" +"Enable network address and port translation IPv6 (NAT6 or NAPT6) for " +"outbound traffic on this zone." +msgstr "为此区域出站流量开启网络地址和端口转换 IPv6 (NAT6 或 NAPT6)。" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:211 +msgid "Enabled" +msgstr "已启用" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:205 +msgid "Enables packet and byte count tracking for the set." +msgstr "为该集合开启数据包和字节计数追踪。" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:339 +msgid "Expecting: %s" +msgstr "请输入:%s" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:290 +msgid "Explicitly choses allowed connection tracking helpers for zone traffic" +msgstr "为区域流量明确选择允许的连接跟踪助手" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:274 +msgid "External IP address" +msgstr "外部 IP 地址" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:279 +msgid "External port" +msgstr "外部端口" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:349 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:470 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:342 +msgid "Extra arguments" +msgstr "额外参数" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:322 +msgid "Extra destination arguments" +msgstr "额外的目标参数" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:116 +msgid "Extra iptables arguments" +msgstr "额外的 iptables 参数" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:312 +msgid "Extra source arguments" +msgstr "额外的源参数" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:67 +msgid "Family" +msgstr "族" + +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:3 +msgid "Firewall" +msgstr "防火墙" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/custom.js:25 +msgid "Firewall - Custom Rules" +msgstr "防火墙 - 自定义规则" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:20 +msgid "Firewall - IP sets" +msgstr "防火墙 - IP 集合" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:172 +msgid "Firewall - NAT Rules" +msgstr "防火墙 - NAT 规则" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:152 +msgid "Firewall - Port Forwards" +msgstr "防火墙 - 端口转发" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:173 +msgid "Firewall - Traffic Rules" +msgstr "防火墙 - 通信规则" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:38 +msgid "Firewall - Zone Settings" +msgstr "防火墙 - 区域设置" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:693 +msgid "Firewall configuration migration" +msgstr "防火墙配置迁移" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:82 +msgid "Flow offloading type" +msgstr "流量卸载类型" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:64 +msgid "Forward" +msgstr "转发" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:34 +msgid "" +"Forwarded %{ipv6?%{ipv4?IPv4 and IPv6:IPv6}:" +"IPv4}%{proto?, protocol %{proto#%{next?, }%{item.name}}}%{mark?, mark %{mark.val}" +"}" +msgstr "" +"Forwarded %{ipv6?%{ipv4?IPv4 and IPv6:IPv6}:" +"IPv4}%{proto?, protocol %{proto#%{next?, }%{item.name}}}%{mark?, mark %{mark.val}" +"}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:485 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:358 +msgid "Friday" +msgstr "星期五" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:45 +msgid "" +"From %{src}%{src_device?, interface %{src_device}}%{src_ip?, IP " +"%{src_ip#%{next?, }%{item.ival}}}%{src_port?, port %{src_port#%{next?, }" +"%{item." +"ival}}}" +msgstr "" +"来自 %{src}%{src_device?, 接口 %{src_device}}%{src_ip?, IP " +"%{src_ip#%{next?, }%{item.ival}}}%{src_port?, 端口 %{src_port#%{next?, }" +"%{item." +"ival}}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:64 +msgid "" +"From %{src}%{src_device?, interface %{src_device}}%{src_ip?, IP " +"%{src_ip#%{next?, }%{item.ival}}}%{src_port?, port %{src_port#%{next?, }" +"%{item." +"ival}}}%{src_mac?, MAC %{src_mac#%{next?, }%{item.ival}" +"}}" +msgstr "" +"来自 %{src}%{src_device?, 接口 %{src_device}}%{src_ip?, IP " +"%{src_ip#%{next?, }%{item.ival}}}%{src_port?, 端口 %{src_port#%{next?, }" +"%{item." +"ival}}}%{src_mac?, MAC %{src_mac#%{next?, }%{item.ival}}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:52 +msgid "" +"From %{src}%{src_ip?, IP %{src_ip#%{next?, }%{item.ival}}}%{src_port?, port %{src_port#%{next?, }%{item.ival}}}%{src_mac?, " +"MAC %{src_mac#%{next?, }%{item.ival}}}" +msgstr "" +"来自 %{src}%{src_ip?, IP %{src_ip#%{next?, }%{item.ival}}}%{src_port?, 端口 " +"%{src_port#%{next?, }%{item.ival}}}%{src_mac?, MAC %{src_mac#%{next?, }%{item.ival}}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:161 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:182 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:181 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:41 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:113 +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:17 +msgid "General Settings" +msgstr "常规设置" + +#: applications/luci-app-firewall/root/usr/share/rpcd/acl.d/luci-app-firewall.json:3 +msgid "Grant access to firewall configuration" +msgstr "授予访问防火墙配置的权限" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:85 +msgid "Hardware based offloading for routing with/without NAT." +msgstr "基于硬件的路由卸载,支持或不支持NAT。" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:85 +msgid "Hardware flow offloading" +msgstr "硬件流量卸载" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:144 +msgid "IP (range)" +msgstr "IP (范围)" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:32 +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:53 +msgid "IP Sets" +msgstr "IP 集" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:152 +msgid "IPs/Networks" +msgstr "IP/网络" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:107 +msgid "IPs/Networks/MACs" +msgstr "IP/网络/MAC 地址" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:68 +msgid "IPv4" +msgstr "IPv4" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:191 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:280 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:219 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:256 +msgid "IPv4 and IPv6" +msgstr "IPv4 和 IPv6" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:192 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:281 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:220 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:257 +msgid "IPv4 only" +msgstr "仅 IPv4" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:69 +msgid "IPv6" +msgstr "IPv6" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:242 +msgid "IPv6 Masquerading" +msgstr "IPv6 伪装" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:193 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:282 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:221 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:258 +msgid "IPv6 only" +msgstr "仅 IPv6" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:252 +msgid "Inbound device" +msgstr "入站设备" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:187 +msgid "Include File" +msgstr "包括文件" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:40 +msgid "" +"Incoming %{ipv6?%{ipv4?IPv4 and IPv6:IPv6}:" +"IPv4}%{proto?, protocol %{proto#%{next?, }%{item.types?%{item.name}ICMP " +"with types %{item.types#%{next?, }%{item}}:" +"%{item.name}}}}%{mark?, mark %{mark.val}}%{helper?, helper %{helper.inv?%{helper.val}:%{helper.val}}}" +msgstr "" +"Incoming %{ipv6?%{ipv4?IPv4 and IPv6:IPv6}:" +"IPv4}%{proto?, protocol %{proto#%{next?, }%{item.types?%{item.name}ICMP " +"with types %{item.types#%{next?, }%{item}}:" +"%{item.name}}}}%{mark?, mark %{mark.val}}%{helper?, helper %{helper.inv?%{helper.val}:%{helper.val}}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:180 +msgid "Initial Hash Size" +msgstr "初始哈希大小" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:62 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:151 +msgid "Input" +msgstr "入站数据" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:292 +msgid "Internal IP address" +msgstr "内部 IP 地址" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:297 +msgid "Internal port" +msgstr "内部端口" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:287 +msgid "Internal zone" +msgstr "内部区域" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:153 +msgid "Intra zone forward" +msgstr "区域内转发" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:305 +msgid "Invalid DSCP mark" +msgstr "无效的 DSCP 标记" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:373 +msgid "Invalid limit value" +msgstr "无效的限制值" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:47 +msgid "Invalid set name" +msgstr "无效的集合名" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:383 +msgid "Limit burst" +msgstr "限制突发" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:299 +msgid "Limit log messages" +msgstr "限制日志信息" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:349 +msgid "Limit matching" +msgstr "限制匹配" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:79 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:96 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:74 +msgid "" +"Limit matching to %{limit.num} packets per %{limit.unit}%{limit.burst? burst %{limit.burst}}" +msgstr "" +"限制匹配到 %{limit.num} 包每 %{limit.unit}%{limit." +"burst? 突发 %{limit.burst}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:175 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:250 +msgid "Limited masquerading enabled" +msgstr "已启用有限伪装" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:350 +msgid "Limits traffic matching to the specified rate." +msgstr "将流量匹配限制为指定的速率。" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:311 +msgid "Loopback source IP" +msgstr "环回源 IP" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:291 +msgid "MASQUERADE - Automatically rewrite to outbound interface IP" +msgstr "MASQUERADE - 自动重写源地址为出站接口 IP" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:180 +msgid "MSS clamping" +msgstr "MSS 钳制" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:167 +msgid "Masquerading" +msgstr "IP 动态伪装" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:213 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:214 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:193 +msgid "Match" +msgstr "匹配规则" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:263 +msgid "Match DSCP" +msgstr "匹配 DSCP" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:293 +msgid "Match ICMP type" +msgstr "匹配 ICMP 类型" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:249 +msgid "Match device" +msgstr "匹配设备" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:271 +msgid "Match forwarded traffic directed at the given IP address." +msgstr "匹配指向给定 IP 地址的转发流量。" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:279 +msgid "" +"Match forwarded traffic directed at the given destination port or port range." +msgstr "匹配指向给定目标端口或端口范围的转发流量。" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:254 +msgid "Match forwarded traffic from this IP or range." +msgstr "匹配来自此 IP 或范围的转发流量。" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:262 +msgid "" +"Match forwarded traffic originating from the given source port or port range." +msgstr "匹配来自给定源端口或端口范围的转发流量。" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:326 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:446 +msgid "Match helper" +msgstr "匹配助手" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:280 +msgid "" +"Match incoming traffic directed at the given destination port or port range " +"on this host" +msgstr "匹配指向此主机上指定目标端口或目标端口范围的入站流量" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:316 +msgid "Match mark" +msgstr "匹配标记" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:326 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:446 +msgid "Match traffic using the specified connection tracking helper." +msgstr "使用指定的连接跟踪助手匹配流量。" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:319 +msgid "Matches a specific firewall mark or a range of different marks." +msgstr "匹配特定的防火墙标记或防火墙标记范围。" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:332 +msgid "Matches forwarded traffic using the specified outbound network device." +msgstr "匹配使用指定的出站网络设备转发的流量。" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:264 +msgid "Matches traffic carrying the specified DSCP marking." +msgstr "匹配带有指定 DSCP 标记的流量。" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:113 +msgid "Max Entries" +msgstr "最大条目数" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:172 +msgid "Max Length" +msgstr "最大长度" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:384 +msgid "" +"Maximum initial number of packets to match: this number gets recharged by " +"one every time the limit specified above is not reached, up to this number." +msgstr "要匹配的最大初始数据包数:未达到上述指定限制时,每次加一直到达到此数。" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:481 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:354 +msgid "Monday" +msgstr "星期一" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:491 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:364 +msgid "Month Days" +msgstr "日期" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:175 +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:44 +msgid "NAT Rules" +msgstr "NAT 规则" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:173 +msgid "" +"NAT rules allow fine grained control over the source IP to use for outbound " +"or forwarded traffic." +msgstr "NAT 规则允许对源 IP 进行精细控制,以用于出站或转发流量。" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:183 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:42 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:52 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:210 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:189 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:129 +msgid "Name" +msgstr "名称" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:166 +msgid "Netmask" +msgstr "网络掩码" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:83 +msgid "None" +msgstr "无" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:77 +msgid "Not fully compatible with QoS/SQM." +msgstr "与 QoS/SQM 不完全兼容。" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:275 +msgid "Only match incoming traffic directed at the given IP address." +msgstr "仅匹配指定目的 IP 地址的入站流量。" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:256 +msgid "Only match incoming traffic from these MACs." +msgstr "仅匹配来自这些 MAC 的入站流量。" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:261 +msgid "Only match incoming traffic from this IP or range." +msgstr "仅匹配来自此 IP 或 IP 范围的入站流量。" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:266 +msgid "" +"Only match incoming traffic originating from the given source port or port " +"range on the client host" +msgstr "仅匹配源自客户端主机上给定源端口或源端口范围的入站流量" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:253 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:331 +msgid "Outbound device" +msgstr "出站设备" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:246 +msgid "Outbound zone" +msgstr "出站区域" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:63 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:152 +msgid "Output" +msgstr "出站数据" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:75 +msgid "Packet Field Match" +msgstr "数据包字段匹配" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:76 +msgid "" +"Packet fields to match upon.
Syntax: direction_datatype. e.g.: " +"src_port, dest_net.
Directions: src, dst. " +"Datatypes: ip, port, mac, net, set.
Direction prefixes are " +"optional.
*Note: datatype set is unsupported in fw4." +msgstr "" +"要进行匹配的数据包字段。
语法:direction_datatype。如:" +"src_port, dest_net
方向:src, dst。数据类" +"型:ip, port, mac, net, set
方向前缀可选。
*注意:" +"datatypeset在 fw4 中不受支持。" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:350 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:471 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:343 +msgid "Passes additional arguments to iptables. Use with care!" +msgstr "传递到 iptables 的额外参数。小心使用!" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:309 +msgid "" +"Passing raw iptables arguments to source and destination traffic " +"classification rules allows to match packets based on other criteria than " +"interfaces or subnets. These options should be used with extreme care as " +"invalid values could render the firewall ruleset broken, completely exposing " +"all services." +msgstr "" +"通过将 iptables 参数传递给源和目标流量的分类规则,可以根据接口或子网以外的其" +"他条件来匹配数据包。使用这些选项应格外小心,因为无效值可能会破坏防火墙规则集" +"而对外暴露所有服务。" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:188 +msgid "Path to file of CIDRs, subnets, host IPs, etc.
" +msgstr "CIDRs、subnets、host IP 等文件的路径。
" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:155 +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:26 +msgid "Port Forwards" +msgstr "端口转发" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:153 +msgid "" +"Port forwarding allows remote computers on the Internet to connect to a " +"specific computer or service within the private LAN." +msgstr "端口转发允许互联网上的远程计算机连接到内部网络中的特定计算机或服务。" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:158 +msgid "Port range" +msgstr "端口范围" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:237 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:289 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:242 +msgid "Protocol" +msgstr "协议" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:298 +msgid "" +"Redirect matched incoming traffic to the given port on the internal host" +msgstr "重定向匹配的入站流量到内部主机的端口" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:293 +msgid "Redirect matched incoming traffic to the specified internal host" +msgstr "重定向匹配的入站流量到指定的内部主机" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:122 +msgid "Refer To External Set" +msgstr "参考外部集合" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:320 +msgid "Reflection zones" +msgstr "反射区" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:85 +msgid "Requires hardware NAT support." +msgstr "需要硬件 NAT 支持。" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:272 +msgid "Restrict Masquerading to given destination subnets" +msgstr "要限制 IP 动态伪装的目标子网" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:261 +msgid "Restrict Masquerading to given source subnets" +msgstr "要限制 IP 动态伪装的源子网" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:188 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:277 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:216 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:255 +msgid "Restrict to address family" +msgstr "地址族限制" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:297 +msgid "Rewrite IP address" +msgstr "重写 IP 地址" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:298 +msgid "Rewrite matched traffic to the specified source IP address." +msgstr "将匹配的流量重写到指定的源 IP 地址。" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:312 +msgid "Rewrite matched traffic to the specified source port or port range." +msgstr "将匹配的流量重写到指定的源端口或端口范围。" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:311 +msgid "Rewrite port" +msgstr "重写端口" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:76 +msgid "Routing/NAT Offloading" +msgstr "路由/NAT 卸载" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:290 +msgid "SNAT - Rewrite to specific source IP or port" +msgstr "SNAT - 重写为特定的源 IP 或端口" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:486 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:359 +msgid "Saturday" +msgstr "星期六" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:316 +msgid "Set mark" +msgstr "设置标记" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:318 +msgid "" +"Set the given mark value on established connections. Format is value[/mask]. " +"If a mask is specified then only those bits set in the mask are modified." +msgstr "" +"在已建立的连接上设置给定的标记值。格式为:值[/掩码]。如果指定了掩码,则仅修改" +"掩码中设置的位。" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:84 +msgid "Software based offloading for routing/NAT." +msgstr "基于软件的路由/NAT卸载。" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:84 +msgid "Software flow offloading" +msgstr "软件流量卸载" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:260 +msgid "Source IP address" +msgstr "源 IP 地址" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:255 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:386 +msgid "Source MAC address" +msgstr "源 MAC 地址" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:387 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:253 +msgid "Source address" +msgstr "源地址" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:265 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:389 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:261 +msgid "Source port" +msgstr "源端口" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:241 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:372 +msgid "Source zone" +msgstr "源区域" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:270 +msgid "" +"Specifies whether to tie this traffic rule to a specific inbound or outbound " +"network device." +msgstr "指定是否将此流量规则绑定到特定的入站或出站网络设备。" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:311 +msgid "" +"Specifies whether to use the external or the internal IP address for " +"reflected traffic." +msgstr "指定反射流量使用外部或内部 IP 地址。" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:510 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:383 +msgid "Start Date (yyyy-mm-dd)" +msgstr "开始日期(yyyy-mm-dd)" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:502 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:375 +msgid "Start Time (hh:mm:ss)" +msgstr "开始时间(hh:mm:ss)" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:514 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:387 +msgid "Stop Date (yyyy-mm-dd)" +msgstr "停止日期(yyyy-mm-dd)" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:506 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:379 +msgid "Stop Time (hh:mm:ss)" +msgstr "停止时间(hh:mm:ss)" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:130 +msgid "Storage Method" +msgstr "存储方式" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:480 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:353 +msgid "Sunday" +msgstr "星期日" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:694 +msgid "" +"The existing firewall configuration needs to be changed for LuCI to function " +"properly." +msgstr "需要更改现有的防火墙配置,以使 LuCI 正常运行。" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:39 +msgid "" +"The firewall creates zones over your network interfaces to control network " +"traffic flow." +msgstr "防火墙通过在网络接口上创建区域来控制网络流量。" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:227 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:340 +msgid "" +"The options below control the forwarding policies between this zone (%s) and " +"other zones. Destination zones cover forwarded traffic " +"originating from %q. Source zones match forwarded " +"traffic from other zones targeted at %q. The forwarding " +"rule is unidirectional, e.g. a forward from lan to wan does " +"not imply a permission to forward from wan to lan as well." +msgstr "" +"以下选项控制此区域(%s)和其它区域间的转发策略。目标区域接收" +"源自 %q 的转发流量。源区域匹配的转发流量来自目标为 " +"%q 的其它区域。转发规则的作用是单向的,例如:转发从 lan 到 " +"wan 的流量并意味着允许反向转发从 wan 到 lan 的流量。" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:125 +msgid "" +"This section defines common properties of %q. The input and " +"output options set the default policies for traffic entering and " +"leaving this zone while the forward option describes the policy for " +"forwarded traffic between different networks within the zone. Covered " +"networks specifies which available networks are members of this zone." +msgstr "" +"本节定义 %q 的通用属性。入站数据出站数据选项用于设置此区" +"域入站和出站流量的默认策略,转发选项描述该区域内不同网络之间的流量转" +"发策略。涵盖的网络指定从属于这个区域的网络。" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:484 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:357 +msgid "Thursday" +msgstr "星期四" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:184 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:183 +msgid "Time Restrictions" +msgstr "时间限制" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:518 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:391 +msgid "Time in UTC" +msgstr "UTC 时间" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:244 +msgid "Time restrictions are enabled for this rule" +msgstr "对该规则启用了时间限制" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:196 +msgid "Timeout" +msgstr "超时" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:77 +msgid "" +"To %{dest}%{dest_device?, interface %{dest_device}}%{dest_ip?, IP " +"%{dest_ip#%{next?, }%{item.ival}
}}%{dest_port?, port %{dest_port#%{next?, }" +"%{item." +"ival}}}" +msgstr "" +"到 %{dest}%{dest_device?, 接口 %{dest_device}}%{dest_ip?, IP " +"%{dest_ip#%{next?, }%{item.ival}}}%{dest_port?, 端口 %{dest_port#%{next?, }" +"%{item." +"ival}}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:55 +msgid "" +"To %{dest}%{dest_device?, via interface %{dest_device}}%{dest_ip?, IP %{dest_ip#%{next?, }%{item.ival}}}%{dest_port?, port " +"%{dest_port#%{next?, }%{item.ival}}}" +msgstr "" +"到 %{dest}%{dest_device?, 通过接口 %{dest_device}}%{dest_ip?, IP " +"%{dest_ip#%{next?, }%{item.ival}}}%{dest_port?, 端口 %{dest_port#%{next?, }" +"%{item." +"ival}}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:61 +msgid "" +"To %{dest}%{dest_ip?, IP %{dest_ip#%{next?, }%{item.ival}}}%{dest_port?, port %{dest_port#%{next?, }%{item.ival}}}" +msgstr "" +"到 %{dest}%{dest_ip?, IP %{dest_ip#%{next?, }%{item.ival}}}%{dest_port?, 端口 %{dest_port#%{next?, }%{item.ival}}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:439 +msgid "Tracking helper" +msgstr "跟踪助手" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:176 +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:35 +msgid "Traffic Rules" +msgstr "通信规则" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:174 +msgid "" +"Traffic rules define policies for packets travelling between different " +"zones, for example to reject traffic between certain hosts or to open WAN " +"ports on the router." +msgstr "" +"通信规则定义了不同区域间的数据包传输策略,例如:拒绝一些主机之间的通信、开放" +"路由器 WAN 上的端口。" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:482 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:355 +msgid "Tuesday" +msgstr "星期二" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/custom.js:19 +msgid "Unable to save contents: %s" +msgstr "无法保存内容:%s" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:197 +msgid "" +"Unit: seconds. Default 0 means the entry is added permanently " +"to the set.
Max: 2147483 seconds." +msgstr "" +"单位:秒。默认值0表示该条目被永久添加到该集合。
最大值:" +"2147483 秒。" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:341 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:461 +msgid "Unknown or not installed conntrack helper \"%s\"" +msgstr "未知或未安装的连接跟踪助手 \"%s\"" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:186 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:190 +msgid "Unnamed NAT" +msgstr "未命名 NAT" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:169 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:184 +msgid "Unnamed forward" +msgstr "未命名转发" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:191 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:211 +msgid "Unnamed rule" +msgstr "未命名规则" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:57 +msgid "Unnamed set" +msgstr "未命名的集合" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:130 +msgid "Unnamed zone" +msgstr "未命名区域" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:597 +msgid "Unrecognized protocol" +msgstr "无法识别的协议" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:695 +msgid "" +"Upon pressing \"Continue\", \"redirect\" sections with target \"SNAT\" will " +"be converted to \"nat\" sections and the firewall will be restarted to apply " +"the updated configuration." +msgstr "" +"按下“继续”后,目标“SNAT”的“redirect”部分将转换为“nat”部分,防火墙将重新启动以" +"应用更新的配置。" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:315 +msgid "Use external IP address" +msgstr "使用外部 IP 地址" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:314 +msgid "Use internal IP address" +msgstr "使用内部 IP 地址" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:247 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:378 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:322 +msgid "Use ipset" +msgstr "使用 ip 集" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:231 +msgid "" +"Use this option to classify zone traffic by raw, non-uci managed " +"network devices." +msgstr "此选项可对原始的、非 uci 托管的网络设备进行区域流量分类。" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:236 +msgid "" +"Use this option to classify zone traffic by source or destination subnet " +"instead of networks or devices." +msgstr "此选项可对源或目标子网而非网络或设备进行区域流量分类。" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:331 +msgid "Valid firewall mark required" +msgstr "需要有效的防火墙标记" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:483 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:356 +msgid "Wednesday" +msgstr "星期三" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:475 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:348 +msgid "Week Days" +msgstr "星期" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:420 +msgid "XOR firewall mark" +msgstr "异或防火墙标记" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:316 +msgid "XOR mark" +msgstr "异或标记" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:28 +msgid "Your device does not run firewall4." +msgstr "你的设备不运行 firewall4。" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:26 +msgid "Your device runs firewall4." +msgstr "你的设备运行 firewall4。" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:143 +msgid "Zone ⇒ Forwardings" +msgstr "区域 ⇒ 转发" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:101 +msgid "Zones" +msgstr "区域" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:320 +msgid "" +"Zones from which reflection rules shall be created. If unset, only the " +"destination zone is used." +msgstr "应创建反射规则的区域。如果未设置,则仅使用目标区域。" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:415 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:70 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:159 +msgid "accept" +msgstr "接受" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:268 +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:463 +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:486 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:270 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:301 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:328 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:392 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:407 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:441 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:448 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:266 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:282 +msgid "any" +msgstr "任意" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:53 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:86 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:65 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:78 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:46 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:56 +msgid "any zone" +msgstr "所有区域" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:298 +msgid "any/all" +msgstr "任意/全部" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:419 +msgid "apply firewall mark" +msgstr "应用防火墙标记" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:418 +msgid "assign conntrack helper" +msgstr "分配连接跟踪助手" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:194 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:222 +msgid "automatic" +msgstr "自动" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:131 +msgid "bitmap" +msgstr "bitmap" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:137 +msgid "bitmap is ipv4 only" +msgstr "bitmap 仅支持 ipv4" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:72 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:89 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:67 +msgid "day" +msgstr "日" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:93 +msgid "dest_ip: Destination IP" +msgstr "dest_ip: 目标 IP" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:95 +msgid "dest_mac: Destination MAC addr" +msgstr "dest_mac: 目标 MAC 地址" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:96 +msgid "dest_net: Destination (sub)net" +msgstr "dest_net: 目标 (子)网" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:94 +msgid "dest_port: Destination Port" +msgstr "dest_port: 目标端口" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:98 +msgid "dest_set: Destination ipset*" +msgstr "dest_set: 目标 ip集*" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:315 +msgid "do not rewrite" +msgstr "不重写" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:417 +msgid "don't track" +msgstr "不跟踪" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:414 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:69 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:158 +msgid "drop" +msgstr "丢弃" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:21 +msgid "" +"firewall4 supports referencing and creating IP sets to simplify matching of " +"large address lists without the need to create one rule per item to match. " +"Port ranges in ipsets are unsupported by firewall4.
" +msgstr "" +"firewall4 支持引用和创建 IP 集合,这样就无需为每个条目创建一条规则进行匹配," +"达到简化大型地址列表匹配的目的。firewall4 不支持 IP 集合中的 端口范围。
" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:159 +msgid "fromport-toport" +msgstr "fromport-toport" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:132 +msgid "hash" +msgstr "哈希" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:72 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:89 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:67 +msgid "hour" +msgstr "小时" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:81 +msgid "ip: IP addr" +msgstr "ip: IP 地址" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:153 +msgid "ip[/cidr]
" +msgstr "ip[/cidr]
" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:145 +msgid "ip[/cidr]
For use with Match datatypes: *_ip." +msgstr "ip[/cidr]
用于 Match 数据类型: *_ip。" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:70 +msgid "ipv4" +msgstr "ipv4" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:133 +msgid "list" +msgstr "列表" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:83 +msgid "mac: MAC addr" +msgstr "mac: MAC 地址" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:108 +msgid "macaddr|ip[/cidr]
" +msgstr "macaddr|ip[/cidr]
" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:72 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:89 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:67 +msgid "minute" +msgstr "分钟" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:84 +msgid "net: (sub)net" +msgstr "net: (子)网" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:82 +msgid "port: Port" +msgstr "port: 端口" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:416 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:68 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:157 +msgid "reject" +msgstr "拒绝" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:72 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:89 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:67 +msgid "second" +msgstr "秒" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:86 +msgid "set: ipset*" +msgstr "set: ip集*" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:92 +msgid "src_Set: Source ipset*" +msgstr "src_Set: 源 ip集*" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:87 +msgid "src_ip: Source IP" +msgstr "src_ip: 源 IP" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:89 +msgid "src_mac: Source MAC addr" +msgstr "src_mac: 源 MAC 地址" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:90 +msgid "src_net: Source (sub)net" +msgstr "src_net: 源(子)网" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:88 +msgid "src_port: Source Port" +msgstr "src_port: 源端口" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:53 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:62 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:86 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:65 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:78 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:56 +msgid "this device" +msgstr "此设备" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:124 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:226 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:339 +msgid "this new zone" +msgstr "此新区域" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:354 +msgid "unlimited" +msgstr "无限制" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:251 +msgid "unspecified" +msgstr "未指定" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:114 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:173 +msgid "up to 65536 entries." +msgstr "最多 65536 个条目。" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:339 +msgid "valid firewall mark" +msgstr "有效的防火墙标记" + +#~ msgid "Software based offloading for routing/NAT" +#~ msgstr "基于软件的 路由/NAT 分载" + +#~ msgid "" +#~ "Enable network address and port translation (NAT or NAPT) for outbound " +#~ "traffic on this zone. This is typically enabled on the wan zone." +#~ msgstr "" +#~ "为此区域上的出站流量开启网络地址和端口翻译(NAT 或 NAPT)。该选项在" +#~ "wan区域上通常处于开启状态。" + +#~ msgid "" +#~ "Forwarded IPv4%{proto?, protocol %{proto#%{next?, }%{item.name}}}%{mark?, mark %{mark." +#~ "val}}" +#~ msgstr "" +#~ "转发的 IPv4%{proto?, 协议 %{proto#%{next?, }%{item.name}}}%{mark?, 标记 %{mark.val}" +#~ "}" + +#~ msgid "" +#~ "Incoming IPv4%{proto?, protocol %{proto#%{next?, }%{item.types?%{item.name}ICMP with types %{item.types#%{next?, }%{item}}:%{item.name}}}}%{mark?, mark %{mark.val}}%{helper?, helper %{helper.inv?%{helper.val}:%{helper.val}" +#~ "}}" +#~ msgstr "" +#~ "入站 IPv4%{proto?, 协议 %{proto#%{next?, }%{item.types?%{item.name}具有类型 " +#~ "%{item.types#%{next?, }%{item}} 的 ICMP:" +#~ "%{item.name}}}}%{mark?, 标记 %{mark.val}}%{helper?, 助手 %{helper.inv?%{helper.val}:%{helper.val}}}" diff --git a/luci-app-firewall/po/zh_Hant/firewall.po b/luci-app-firewall/po/zh_Hant/firewall.po new file mode 100644 index 000000000..824c3825a --- /dev/null +++ b/luci-app-firewall/po/zh_Hant/firewall.po @@ -0,0 +1,1826 @@ +msgid "" +msgstr "" +"PO-Revision-Date: 2024-11-29 19:50+0000\n" +"Last-Translator: Yuan Lau \n" +"Language-Team: Chinese (Traditional Han script) \n" +"Language: zh_Hant\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=1; plural=0;\n" +"X-Generator: Weblate 5.9-dev\n" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:48 +msgid "" +"%{src?%{dest?Forwarded:Incoming}:Outgoing} %{ipv6?%{ipv4?IPv4 and " +"IPv6:IPv6}:IPv4}%{proto?, protocol " +"%{proto#%{next?, }%{item.types?%{item." +"name}ICMP with types %{item.types#%{next?, }" +"%{item}}:%{item.name}}}}%{mark?, mark " +"%{mark.val}}%{dscp?, DSCP %{dscp." +"inv?%{dscp.val}:%{dscp.val}}}%{helper?, helper " +"%{helper.inv?%{helper.val}:%{helper." +"val}}}" +msgstr "" +"%{src?%{dest?已轉發:傳入}:傳出}%{ipv6?%{ipv4?IPv4IPv6:IPv6}:IPv4}%{proto?,協定:" +"%{proto#%{next?, }%{item.types?%{item." +"name}ICMP包含型別:%{item.types#%{next?, }" +"%{item}}:%{item.name}}}}%{mark?,標記:" +"%{mark.val}}%{dscp?,DSCP:%{dscp.inv?" +"%{dscp.val}:%{dscp.val}}}%{helper?,幫手:%{helper." +"inv?%{helper.val}:%{helper.val}" +"}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:463 +msgid "-- add IP --" +msgstr "-- 新增 IP --" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:521 +msgid "-- add MAC --" +msgstr "-- 新增 MAC 位置 --" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:199 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:198 +msgid "0" +msgstr "0" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:182 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:181 +msgid "1024" +msgstr "1024" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:118 +msgid "" +"Accept %{src?%{dest?forward:input}:output}" +msgstr "" +"接受 %{src?%{dest?forward:input}:output}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:93 +msgid "Prevent source rewrite" +msgstr "避免來源重置" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:85 +msgid "" +"Forward to %{dest}%{dest_ip? IP " +"%{dest_ip}}%{dest_port? port %{dest_port}}" +msgstr "" +"轉發 到 %{dest}%{dest_ip? IP %{dest_ip}" +"}%{dest_port? port %{dest_port}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:115 +msgid "" +"Drop %{src?%{dest?forward:input}:output}" +msgstr "" +"丟棄 %{src?%{dest?forward:input}:output}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:133 +msgid "" +"Assign DSCP classification %{set_dscp}" +"" +msgstr "" +"指定DSCP(區別服務代碼點)分類 " +"%{set_dscp}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:127 +msgid "" +"Assign conntrack helper " +"%{set_helper}" +msgstr "" +"指定連線追蹤助手%{set_helper}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:130 +msgid "" +"%{set_mark?Assign:XOR} firewall mark " +"%{set_mark?:%{set_xmark}}" +msgstr "" +"%{set_mark?Assign:XOR} 防火牆標記 " +"%{set_mark?:%{set_xmark}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:90 +msgid "Automatically rewrite source IP" +msgstr "自動重置 來源IP" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:124 +msgid "" +"Do not track %{src?%{dest?forward:input}:" +"output}" +msgstr "" +"勿追蹤 %{src?%{dest?forward:input}:" +"output}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:121 +msgid "" +"Reject %{src?%{dest?forward:input}:output}" +msgstr "" +"拒絕 %{src?%{dest?forward:input}:output}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:87 +msgid "" +"Statically rewrite to source %{snat_ip?IP " +"%{snat_ip}} %{snat_port?port %{snat_port}}" +msgstr "" +"靜態重寫 到來源 %{snat_ip?IP %{snat_ip}" +"} %{snat_port?port %{snat_port}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:306 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:305 +msgid "A rewrite IP must be specified!" +msgstr "必須指定重置IP!" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:292 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:291 +msgid "ACCEPT - Disable address rewriting" +msgstr "接受 - 禁用位址重置" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:224 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:225 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:411 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:204 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:287 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:223 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:224 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:410 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:203 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:286 +msgid "Action" +msgstr "操作" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:322 +msgid "" +"Additional raw iptables arguments to classify zone destination " +"traffic, e.g. -p tcp --dport 443 to only match outbound HTTPS " +"traffic." +msgstr "" +"允許原生 iptables 對區域目標流量進行分類的參數, 譬如... -p " +"tcp --dport 443 只針對相符輸出的HTTPS流量." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:312 +msgid "" +"Additional raw iptables arguments to classify zone source traffic, " +"e.g. -p tcp --sport 443 to only match inbound HTTPS traffic." +msgstr "" +"允許原生 iptables 參數對區域來源流量進行分類, 譬如... -p tcp " +"--sport 443 只針對相符輸入的HTTPS流量." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:107 +msgid "Address family, Internal IP address must match" +msgstr "族" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:135 +msgid "" +"Address family, source address, destination address, rewrite IP address must " +"match" +msgstr "位址族、來源位址、目的位址、重寫IP位址必須匹配" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:162 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:183 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:182 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:114 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:161 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:182 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:181 +msgid "Advanced Settings" +msgstr "進階設定" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:283 +msgid "Allow \"invalid\" traffic" +msgstr "允許「無效」流量" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:385 +msgid "Allow forward from source zones:" +msgstr "允許從來源區域轉發:" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:344 +msgid "Allow forward to destination zones:" +msgstr "允許轉發到目標區:" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:551 +msgid "Any" +msgstr "任何" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:479 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:495 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:352 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:368 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:478 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:494 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:351 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:367 +msgid "Any day" +msgstr "任一天" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:317 +msgid "" +"Apply a bitwise XOR of the given value and the existing mark value on " +"established connections. Format is value[/mask]. If a mask is specified then " +"those bits set in the mask are zeroed out." +msgstr "" +"在給定的連接上對給定值和現有標記值進行按位XOR。格式為value [/mask]。如果指定" +"了遮罩,則將遮罩中設置的那些位元清零。" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:264 +msgid "Apply the given DSCP class or value to established connections." +msgstr "啟用付予的DSCP(區別服務代碼點)來建立連線." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:439 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:438 +msgid "Assign the specified connection tracking helper to matched traffic." +msgstr "指定特定的連線追蹤幫手來匹配流量." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:286 +msgid "Automatic helper assignment" +msgstr "自動分派助手" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:286 +msgid "" +"Automatically assign conntrack helpers based on traffic protocol and port" +msgstr "根據流量和埠號自動分派conntrack" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:61 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:62 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:60 +msgid "Comment" +msgstr "註解" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:115 +msgid "Conntrack Settings" +msgstr "Conntrack設定" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:290 +msgid "Conntrack helpers" +msgstr "Conntrack助手" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/custom.js:16 +msgid "Contents have been saved." +msgstr "內容已儲存。" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:700 +msgid "Continue" +msgstr "繼續" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:204 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:203 +msgid "Counters" +msgstr "計數器" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:231 +msgid "Covered devices" +msgstr "已涵蓋裝置" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:183 +msgid "Covered networks" +msgstr "已涵蓋網路" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:236 +msgid "Covered subnets" +msgstr "已涵蓋子網路" + +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:62 +msgid "Custom Rules" +msgstr "自訂規則" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/custom.js:26 +msgid "" +"Custom rules allow you to execute arbitrary iptables commands which are not " +"otherwise covered by the firewall framework. The commands are executed after " +"each firewall restart, right after the default ruleset has been loaded." +msgstr "" +"自訂規則允許您執行不屬於防火牆框架的任意 iptables 指令。每次重啟防火牆時,在" +"預設的規則執行後這些指令將立即執行。" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:421 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:420 +msgid "DSCP classification" +msgstr "DSCP(區別服務代碼點)分類" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:263 +msgid "DSCP mark" +msgstr "DSCP(區別服務代碼點)標記" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:297 +msgid "DSCP mark required" +msgstr "DSCP(區別服務代碼點)必須標記" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:402 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:270 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:401 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:269 +msgid "Destination address" +msgstr "目標位址" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:404 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:278 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:403 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:277 +msgid "Destination port" +msgstr "目的通訊埠" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:396 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:395 +msgid "Destination zone" +msgstr "目標區域" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:269 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:268 +msgid "Device name" +msgstr "裝置名稱" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:283 +msgid "" +"Do not install extra rules to reject forwarded traffic with conntrack state " +"invalid. This may be required for complex asymmetric route setups." +msgstr "" +"不設定額外拒絕轉發conntrack狀態無效的流量規則。對於複雜的不對稱路由" +"設定可能是必需的。" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:59 +msgid "Drop invalid packets" +msgstr "丟棄無效封包" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:232 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:231 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:210 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:231 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:230 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:209 +msgid "Enable" +msgstr "啟用" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:306 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:305 +msgid "Enable NAT Loopback" +msgstr "啟用NAT環回" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:45 +msgid "Enable SYN-flood protection" +msgstr "啟用SYN洪水保護" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:296 +msgid "Enable logging on this zone" +msgstr "啟用此區域的日誌記錄" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:168 +msgid "" +"Enable network address and port translation IPv4 (NAT4 or NAPT4) for " +"outbound traffic on this zone. This is typically enabled on the wan " +"zone." +msgstr "" +"為此區域的IPv4出站流量開啟網路位址和端口轉換(NAT4或NAPT4)。 wan區域" +"通常開啟此功能。" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:243 +msgid "" +"Enable network address and port translation IPv6 (NAT6 or NAPT6) for " +"outbound traffic on this zone." +msgstr "為此區域的IPv6出站流量開啟網路位址和端口轉換(NAT6或NAPT6)。" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:211 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:210 +msgid "Enabled" +msgstr "啟用" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:205 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:204 +msgid "Enables packet and byte count tracking for the set." +msgstr "為該集合開啟封包和字節計數追蹤。" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:339 +msgid "Expecting: %s" +msgstr "請輸入:%s" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:290 +msgid "Explicitly choses allowed connection tracking helpers for zone traffic" +msgstr "針對區域流量明確選擇已允許的連接追蹤幫手" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:274 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:273 +msgid "External IP address" +msgstr "外部IP位址" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:279 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:278 +msgid "External port" +msgstr "外部埠號" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:349 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:470 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:342 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:348 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:469 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:341 +msgid "Extra arguments" +msgstr "額外引數" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:322 +msgid "Extra destination arguments" +msgstr "額外目標引數" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:116 +msgid "Extra iptables arguments" +msgstr "額外iptables引數" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:312 +msgid "Extra source arguments" +msgstr "額外來源引數" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:67 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:66 +msgid "Family" +msgstr "族" + +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:3 +msgid "Firewall" +msgstr "防火牆" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/custom.js:25 +msgid "Firewall - Custom Rules" +msgstr "防火牆 - 自訂規則" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:20 +msgid "Firewall - IP sets" +msgstr "防火牆 - IP 集合" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:172 +msgid "Firewall - NAT Rules" +msgstr "防火牆 - NAT規則" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:152 +msgid "Firewall - Port Forwards" +msgstr "防火牆 - 通訊埠轉發" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:173 +msgid "Firewall - Traffic Rules" +msgstr "防火牆 - 流量規則" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:38 +msgid "Firewall - Zone Settings" +msgstr "防火牆 - 區域設定" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:693 +msgid "Firewall configuration migration" +msgstr "防火牆設定移轉" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:82 +msgid "Flow offloading type" +msgstr "流量卸載類型" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:64 +msgid "Forward" +msgstr "轉發" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:34 +msgid "" +"Forwarded %{ipv6?%{ipv4?IPv4 and IPv6:IPv6}:" +"IPv4}%{proto?, protocol %{proto#%{next?, }%{item.name}}}%{mark?, mark %{mark.val}" +"}" +msgstr "" +"轉發 %{ipv6?%{ipv4?IPv4 and IPv6:IPv6}:" +"IPv4}%{proto?, 協定 %{proto#%{next?, }%{item.name}}}%{mark?, mark %{mark.val}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:485 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:358 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:484 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:357 +msgid "Friday" +msgstr "星期五" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:45 +msgid "" +"From %{src}%{src_device?, interface %{src_device}}%{src_ip?, IP " +"%{src_ip#%{next?, }%{item.ival}}}%{src_port?, port %{src_port#%{next?, }" +"%{item." +"ival}}}" +msgstr "" +"來自:%{src}%{src_device?,介面:%{src_device}}%{src_ip?,IP:" +"%{src_ip#%{next?, }%{item.ival}}}%{src_port?,埠:" +"%{src_port#%{next?, }%{item.ival}}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:64 +msgid "" +"From %{src}%{src_device?, interface %{src_device}}%{src_ip?, IP " +"%{src_ip#%{next?, }%{item.ival}}}%{src_port?, port %{src_port#%{next?, }" +"%{item." +"ival}}}%{src_mac?, MAC %{src_mac#%{next?, }%{item.ival}" +"}}" +msgstr "" +"來自:%{src}%{src_device?,介面:%{src_device}}%{src_ip?,IP:" +"%{src_ip#%{next?, }%{item.ival}}}%{src_port?,埠:port " +"%{src_port#%{next?, }%{item.ival}}}%{src_mac?,MAC:%{src_mac#%{next?, }" +"%{item.ival}}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:52 +msgid "" +"From %{src}%{src_ip?, IP %{src_ip#%{next?, }%{item.ival}}}%{src_port?, port %{src_port#%{next?, }%{item.ival}}}%{src_mac?, " +"MAC %{src_mac#%{next?, }%{item.ival}}}" +msgstr "" +"來自:%{src}%{src_ip?,IP:%{src_ip#%{next?, }%{item.ival}}}%{src_port?,埠:%{src_port#%{next?, }%{item.ival}}}%{src_mac?,MAC:" +"%{src_mac#%{next?, }%{item.ival}}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:161 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:182 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:181 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:41 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:113 +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:17 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:160 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:181 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:180 +msgid "General Settings" +msgstr "一般設定" + +#: applications/luci-app-firewall/root/usr/share/rpcd/acl.d/luci-app-firewall.json:3 +msgid "Grant access to firewall configuration" +msgstr "授予存取防火牆設定的權限" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:85 +msgid "Hardware based offloading for routing with/without NAT." +msgstr "基於硬體的路由卸載,有無NAT均可。" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:85 +msgid "Hardware flow offloading" +msgstr "硬體流量卸載" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:144 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:143 +msgid "IP (range)" +msgstr "IP (範圍)" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:32 +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:53 +msgid "IP Sets" +msgstr "IP 集合" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:152 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:151 +msgid "IPs/Networks" +msgstr "IP/網路" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:107 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:106 +msgid "IPs/Networks/MACs" +msgstr "IP/網路/MAC 位址" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:68 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:67 +msgid "IPv4" +msgstr "IPv4" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:191 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:280 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:219 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:256 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:190 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:279 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:218 +msgid "IPv4 and IPv6" +msgstr "IPv4和IPv6" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:192 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:281 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:220 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:257 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:191 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:280 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:219 +msgid "IPv4 only" +msgstr "僅IPv4" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:69 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:68 +msgid "IPv6" +msgstr "IPv6" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:242 +msgid "IPv6 Masquerading" +msgstr "NAT6" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:193 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:282 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:221 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:258 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:192 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:281 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:220 +msgid "IPv6 only" +msgstr "僅IPv6" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:252 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:251 +msgid "Inbound device" +msgstr "輸入設備" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:187 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:186 +msgid "Include File" +msgstr "包括文件" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:40 +msgid "" +"Incoming %{ipv6?%{ipv4?IPv4 and IPv6:IPv6}:" +"IPv4}%{proto?, protocol %{proto#%{next?, }%{item.types?%{item.name}ICMP " +"with types %{item.types#%{next?, }%{item}}:" +"%{item.name}}}}%{mark?, mark %{mark.val}}%{helper?, helper %{helper.inv?%{helper.val}:%{helper.val}}}" +msgstr "" +"傳入 %{ipv6?%{ipv4?IPv4 and IPv6:IPv6}:" +"IPv4}%{proto?, 協定 %{proto#%{next?, }%{item.types?%{item.name}ICMP " +"with types %{item.types#%{next?, }%{item}}:" +"%{item.name}}}}%{mark?, mark %{mark.val}}%{helper?, helper %{helper.inv?%{helper.val}:%{helper.val}}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:180 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:179 +msgid "Initial Hash Size" +msgstr "初始雜湊大小" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:62 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:151 +msgid "Input" +msgstr "入站資料" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:292 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:291 +msgid "Internal IP address" +msgstr "內部 IP 位址" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:297 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:296 +msgid "Internal port" +msgstr "內部埠" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:287 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:286 +msgid "Internal zone" +msgstr "內部區域" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:153 +msgid "Intra zone forward" +msgstr "區內轉發" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:305 +msgid "Invalid DSCP mark" +msgstr "不正確的差異服務的程式碼點 DSCP標記" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:373 +msgid "Invalid limit value" +msgstr "不正確的限制值" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:47 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:46 +msgid "Invalid set name" +msgstr "集合名無效" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:383 +msgid "Limit burst" +msgstr "限制爆潰" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:299 +msgid "Limit log messages" +msgstr "限制日誌資訊量" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:349 +msgid "Limit matching" +msgstr "限制相符" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:79 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:96 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:74 +msgid "" +"Limit matching to %{limit.num} packets per %{limit.unit}%{limit.burst? burst %{limit.burst}}" +msgstr "" +"限制相符到 %{limit.num} 封包數每 %{limit.unit}%{limit." +"burst? burst %{limit.burst}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:175 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:250 +msgid "Limited masquerading enabled" +msgstr "已啟用有限NAT" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:350 +msgid "Limits traffic matching to the specified rate." +msgstr "限制流量相符到指定速率." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:311 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:310 +msgid "Loopback source IP" +msgstr "回送來源IP" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:291 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:290 +msgid "MASQUERADE - Automatically rewrite to outbound interface IP" +msgstr "MASQUERADE偽裝 - 自動重置到輸出界面的IP" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:180 +msgid "MSS clamping" +msgstr "MSS 鉗制" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:167 +msgid "Masquerading" +msgstr "NAT" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:213 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:214 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:193 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:212 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:213 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:192 +msgid "Match" +msgstr "相符規則" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:263 +msgid "Match DSCP" +msgstr "相符 DSCP(區別服務代碼點)" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:293 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:292 +msgid "Match ICMP type" +msgstr "相符 ICMP 型別" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:249 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:248 +msgid "Match device" +msgstr "相符裝置" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:271 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:270 +msgid "Match forwarded traffic directed at the given IP address." +msgstr "相符轉發的流量指向給予的IP位址." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:279 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:278 +msgid "" +"Match forwarded traffic directed at the given destination port or port range." +msgstr "相符轉發的流量指向給予的目標埠或範圍埠." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:254 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:253 +msgid "Match forwarded traffic from this IP or range." +msgstr "從這個IP或範圍相符轉發的流量." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:262 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:261 +msgid "" +"Match forwarded traffic originating from the given source port or port range." +msgstr "相符轉發的流量源自給定的來源埠或範圍埠." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:326 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:446 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:325 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:445 +msgid "Match helper" +msgstr "相符助手" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:280 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:279 +msgid "" +"Match incoming traffic directed at the given destination port or port range " +"on this host" +msgstr "相符指向此主機上指定目標埠或目標埠範圍的入站流量" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:316 +msgid "Match mark" +msgstr "相符標記" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:326 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:446 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:325 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:445 +msgid "Match traffic using the specified connection tracking helper." +msgstr "相符流量使用特定的連線追蹤。" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:319 +msgid "Matches a specific firewall mark or a range of different marks." +msgstr "相符特定的FW防火牆標記或者不同的範圍標記." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:332 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:331 +msgid "Matches forwarded traffic using the specified outbound network device." +msgstr "相符正使用特定輸出網路設備的轉發流量." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:264 +msgid "Matches traffic carrying the specified DSCP marking." +msgstr "相符附帶特定之DSCP(區別服務代碼點)標記的流量." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:113 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:112 +msgid "Max Entries" +msgstr "最大條目數" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:172 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:171 +msgid "Max Length" +msgstr "最大長度" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:384 +msgid "" +"Maximum initial number of packets to match: this number gets recharged by " +"one every time the limit specified above is not reached, up to this number." +msgstr "" +"相符的最大初始封包數量; 每次未達到上述指定的限制時,此數量將逐一地充實,直到此" +"數量為止." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:481 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:354 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:480 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:353 +msgid "Monday" +msgstr "星期一" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:491 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:364 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:490 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:363 +msgid "Month Days" +msgstr "每月天數" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:175 +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:44 +msgid "NAT Rules" +msgstr "NAT規則" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:173 +msgid "" +"NAT rules allow fine grained control over the source IP to use for outbound " +"or forwarded traffic." +msgstr "NAT規則允許對來源IP進行精細控制以便用於輸出或是轉發流量." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:183 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:42 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:52 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:210 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:189 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:129 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:182 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:41 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:51 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:209 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:188 +msgid "Name" +msgstr "名稱" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:166 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:165 +msgid "Netmask" +msgstr "網路遮罩" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:83 +msgid "None" +msgstr "無" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:77 +msgid "Not fully compatible with QoS/SQM." +msgstr "與 QoS/SQM 不完全相容。" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:275 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:274 +msgid "Only match incoming traffic directed at the given IP address." +msgstr "僅相符指定目的IP位址的入站流量。" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:256 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:255 +msgid "Only match incoming traffic from these MACs." +msgstr "僅相符來自這些MAC的入站流量。" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:261 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:260 +msgid "Only match incoming traffic from this IP or range." +msgstr "僅相符來自此IP或IP範圍的入站流量。" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:266 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:265 +msgid "" +"Only match incoming traffic originating from the given source port or port " +"range on the client host" +msgstr "僅相符源自客戶端主機上給定來源埠或來源埠範圍的入站流量" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:253 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:331 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:252 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:330 +msgid "Outbound device" +msgstr "輸出設備" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:246 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:245 +msgid "Outbound zone" +msgstr "輸出區域" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:63 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:152 +msgid "Output" +msgstr "出站資料" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:75 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:74 +msgid "Packet Field Match" +msgstr "封包字段匹配" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:76 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:75 +msgid "" +"Packet fields to match upon.
Syntax: direction_datatype. e.g.: " +"src_port, dest_net.
Directions: src, dst. " +"Datatypes: ip, port, mac, net, set.
Direction prefixes are " +"optional.
*Note: datatype set is unsupported in fw4." +msgstr "" +"要進行匹配的封包字段。
語法:direction_datatype。如:" +"src_port, dest_net
方向:src, dst。數據類" +"型:ip, port, mac, net, set
方向首碼可選。
*注意:" +"datatype set 在fw4中不受支持。" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:350 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:471 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:343 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:349 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:470 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:342 +msgid "Passes additional arguments to iptables. Use with care!" +msgstr "傳遞附加引數到 iptables,小心使用!" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:309 +msgid "" +"Passing raw iptables arguments to source and destination traffic " +"classification rules allows to match packets based on other criteria than " +"interfaces or subnets. These options should be used with extreme care as " +"invalid values could render the firewall ruleset broken, completely exposing " +"all services." +msgstr "" +"透過將原始 iptables 參數傳遞給來源和目的流量分類規則,可以根據介面或子網路以" +"外的其他條件來相符封包. 這些選項應格外小心, 因為無效值可能會使防火牆規則集損" +"壞, 從而對外完全暴露所有服務." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:188 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:187 +msgid "Path to file of CIDRs, subnets, host IPs, etc.
" +msgstr "CIDRs、subnets、host IP 等文件的路徑。
" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:155 +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:26 +msgid "Port Forwards" +msgstr "埠轉發" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:153 +msgid "" +"Port forwarding allows remote computers on the Internet to connect to a " +"specific computer or service within the private LAN." +msgstr "通訊埠轉發允許Internet上的遠端電腦連線到內部網路中的特定電腦或服務。" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:158 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:157 +msgid "Port range" +msgstr "埠範圍" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:237 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:289 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:242 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:236 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:288 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:241 +msgid "Protocol" +msgstr "協定" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:298 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:297 +msgid "" +"Redirect matched incoming traffic to the given port on the internal host" +msgstr "重新導向相符的入站流量到內部主機給予的埠號" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:293 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:292 +msgid "Redirect matched incoming traffic to the specified internal host" +msgstr "重新導向相符的入站流量到指定的內部主機" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:122 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:121 +msgid "Refer To External Set" +msgstr "參考外部集合" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:320 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:319 +msgid "Reflection zones" +msgstr "回應區" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:85 +msgid "Requires hardware NAT support." +msgstr "需要硬體NAT支援。" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:272 +msgid "Restrict Masquerading to given destination subnets" +msgstr "限制NAT的目標子網路" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:261 +msgid "Restrict Masquerading to given source subnets" +msgstr "限制NAT的來源子網路" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:188 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:277 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:216 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:255 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:187 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:276 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:215 +msgid "Restrict to address family" +msgstr "限制到位址群" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:297 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:296 +msgid "Rewrite IP address" +msgstr "重置IP位址" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:298 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:297 +msgid "Rewrite matched traffic to the specified source IP address." +msgstr "重置已相符流量到特定的來源IP位址。" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:312 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:311 +msgid "Rewrite matched traffic to the specified source port or port range." +msgstr "重置已相符流量到特定的來源埠或範圍埠." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:311 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:310 +msgid "Rewrite port" +msgstr "重置埠號" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:76 +msgid "Routing/NAT Offloading" +msgstr "路由/NAT卸載" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:290 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:289 +msgid "SNAT - Rewrite to specific source IP or port" +msgstr "SNAT - 重置到特定的來源IP或埠" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:486 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:359 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:485 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:358 +msgid "Saturday" +msgstr "星期六" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:316 +msgid "Set mark" +msgstr "設定標記" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:318 +msgid "" +"Set the given mark value on established connections. Format is value[/mask]. " +"If a mask is specified then only those bits set in the mask are modified." +msgstr "" +"在建立的連接上設置給定的標記值. 格式為value [/ mask]. 如果指定了子網路遮罩," +"則僅修改子網路遮罩中設置的那些位元." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:84 +msgid "Software based offloading for routing/NAT." +msgstr "基於軟體的路由/NAT卸載。" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:84 +msgid "Software flow offloading" +msgstr "軟體式流量卸載" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:260 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:259 +msgid "Source IP address" +msgstr "來源IP位址" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:255 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:386 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:254 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:385 +msgid "Source MAC address" +msgstr "來源MAC位址" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:387 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:253 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:386 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:252 +msgid "Source address" +msgstr "來源位址" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:265 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:389 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:261 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:264 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:388 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:260 +msgid "Source port" +msgstr "來源埠" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:241 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:372 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:240 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:371 +msgid "Source zone" +msgstr "來源區域" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:270 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:269 +msgid "" +"Specifies whether to tie this traffic rule to a specific inbound or outbound " +"network device." +msgstr "指定是否將此流量規則綁定到特定的輸入或輸出的網路設備." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:311 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:310 +msgid "" +"Specifies whether to use the external or the internal IP address for " +"reflected traffic." +msgstr "指定是使用外部IP地址還是內部IP地址來映射流量." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:510 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:383 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:509 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:382 +msgid "Start Date (yyyy-mm-dd)" +msgstr "開始日期(西元年-月-日)" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:502 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:375 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:501 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:374 +msgid "Start Time (hh:mm:ss)" +msgstr "啟動時間 (小時.分鐘.秒)" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:514 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:387 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:513 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:386 +msgid "Stop Date (yyyy-mm-dd)" +msgstr "停止日期(西元年-月-日)" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:506 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:379 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:505 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:378 +msgid "Stop Time (hh:mm:ss)" +msgstr "停止時間 (小時.分鐘.秒)" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:130 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:129 +msgid "Storage Method" +msgstr "儲存方式" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:480 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:353 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:479 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:352 +msgid "Sunday" +msgstr "星期日" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:694 +msgid "" +"The existing firewall configuration needs to be changed for LuCI to function " +"properly." +msgstr "已存在的防火牆設定需要被變更以便 LuCI發揮正常功效." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:39 +msgid "" +"The firewall creates zones over your network interfaces to control network " +"traffic flow." +msgstr "防火牆透過在網路介面上建立區域來控制網路流量。" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:227 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:340 +msgid "" +"The options below control the forwarding policies between this zone (%s) and " +"other zones. Destination zones cover forwarded traffic " +"originating from %q. Source zones match forwarded " +"traffic from other zones targeted at %q. The forwarding " +"rule is unidirectional, e.g. a forward from lan to wan does " +"not imply a permission to forward from wan to lan as well." +msgstr "" +"以下選項可以控制區域(%s)和其它區域間的轉發規則;目標區域接收" +"源自%q 的轉發流量,來源區域相符來自其他區域的" +"目標為%q 的轉發流量。轉發規則的作用是單向的,例如:" +"一條允許從LAN到WAN的轉發規則並不隱含有允許相反方向從WAN到LAN的流量轉" +"發。" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:125 +msgid "" +"This section defines common properties of %q. The input and " +"output options set the default policies for traffic entering and " +"leaving this zone while the forward option describes the policy for " +"forwarded traffic between different networks within the zone. Covered " +"networks specifies which available networks are members of this zone." +msgstr "" +"本節定義%q的通用屬性,入站資料出站資料選項用於設定此區域" +"入站和出站流量的預設策略,轉發選項描述該區域內不同網路之間的流量轉發" +"策略。覆蓋網路指定從屬於這個區域的網路。" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:484 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:357 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:483 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:356 +msgid "Thursday" +msgstr "星期四" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:184 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:183 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:183 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:182 +msgid "Time Restrictions" +msgstr "時間限制" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:518 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:391 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:517 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:390 +msgid "Time in UTC" +msgstr "UTC 時間" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:244 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:243 +msgid "Time restrictions are enabled for this rule" +msgstr "對該規則啟用了時間限制" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:196 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:195 +msgid "Timeout" +msgstr "逾時" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:77 +msgid "" +"To %{dest}%{dest_device?, interface %{dest_device}}%{dest_ip?, IP " +"%{dest_ip#%{next?, }%{item.ival}
}}%{dest_port?, port %{dest_port#%{next?, }" +"%{item." +"ival}}}" +msgstr "" +"到:%{dest}%{dest_device?,介面:%{dest_device}}%{dest_ip?,IP:" +"%{dest_ip#%{next?, }%{item.ival}}}%{dest_port?,埠:" +"%{dest_port#%{next?, }%{item.ival}}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:55 +msgid "" +"To %{dest}%{dest_device?, via interface %{dest_device}}%{dest_ip?, IP %{dest_ip#%{next?, }%{item.ival}}}%{dest_port?, port " +"%{dest_port#%{next?, }%{item.ival}}}" +msgstr "" +"到:%{dest}%{dest_device?,透過介面:%{dest_device}}%{dest_ip?," +"IP:%{dest_ip#%{next?, }%{item.ival}}}%{dest_port?,埠:" +"%{dest_port#%{next?, }%{item.ival}}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:61 +msgid "" +"To %{dest}%{dest_ip?, IP %{dest_ip#%{next?, }%{item.ival}}}%{dest_port?, port %{dest_port#%{next?, }%{item.ival}}}" +msgstr "" +"到:%{dest}%{dest_ip?,IP:%{dest_ip#%{next?, }%{item.ival}}}%{dest_port?,埠:%{dest_port#%{next?, }%{item.ival}}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:439 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:438 +msgid "Tracking helper" +msgstr "追蹤小幫手" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:176 +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:35 +msgid "Traffic Rules" +msgstr "流量規則" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:174 +msgid "" +"Traffic rules define policies for packets travelling between different " +"zones, for example to reject traffic between certain hosts or to open WAN " +"ports on the router." +msgstr "通訊規則定義了不同區域間的資料包傳輸策略,例如:拒絕一些主機之間的通訊,開放" +"路由器WAN上的埠。" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:482 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:355 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:481 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:354 +msgid "Tuesday" +msgstr "星期二" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/custom.js:19 +msgid "Unable to save contents: %s" +msgstr "無法儲存內容:%s" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:197 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:196 +msgid "" +"Unit: seconds. Default 0 means the entry is added permanently " +"to the set.
Max: 2147483 seconds." +msgstr "" +"單位:秒。默認值0表示該條目被永久添加到該集合。
最大值:" +"2147483 秒。" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:341 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:461 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:340 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:460 +msgid "Unknown or not installed conntrack helper \"%s\"" +msgstr "未知或未安裝的連線跟蹤助手\"%s\"" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:186 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:190 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:185 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:189 +msgid "Unnamed NAT" +msgstr "未命名NAT" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:169 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:184 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:168 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:183 +msgid "Unnamed forward" +msgstr "未命名轉發" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:191 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:211 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:190 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:210 +msgid "Unnamed rule" +msgstr "未命名規則" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:57 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:56 +msgid "Unnamed set" +msgstr "未命名集合" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:130 +msgid "Unnamed zone" +msgstr "未命名區域" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:597 +msgid "Unrecognized protocol" +msgstr "無法識別的協定" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:695 +msgid "" +"Upon pressing \"Continue\", \"redirect\" sections with target \"SNAT\" will " +"be converted to \"nat\" sections and the firewall will be restarted to apply " +"the updated configuration." +msgstr "" +"一旦按下\"繼續\"後, 附帶目標為\" SNAT\"的\"重導向\"欄位將轉換為\" nat\"欄位," +"防火牆將重新啟動以套用更新的設定值." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:315 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:314 +msgid "Use external IP address" +msgstr "使用外部IP位址" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:314 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:313 +msgid "Use internal IP address" +msgstr "使用內部IP位址" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:247 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:378 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:322 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:246 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:377 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:321 +msgid "Use ipset" +msgstr "使用IP集" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:231 +msgid "" +"Use this option to classify zone traffic by raw, non-uci managed " +"network devices." +msgstr "使用此選項可以對原生、非uci管理的網路裝置分類區域流量。" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:236 +msgid "" +"Use this option to classify zone traffic by source or destination subnet " +"instead of networks or devices." +msgstr "使用此選項可以按來源或目的子網路(而不是網路或裝置)對區域流量進行分類。" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:331 +msgid "Valid firewall mark required" +msgstr "需要有效的防火牆標記" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:483 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:356 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:482 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:355 +msgid "Wednesday" +msgstr "星期三" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:475 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:348 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:474 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:347 +msgid "Week Days" +msgstr "每週日數" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:420 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:419 +msgid "XOR firewall mark" +msgstr "按位元互斥XOR防火牆標記" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:316 +msgid "XOR mark" +msgstr "按位元互斥XOR標記" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:28 +msgid "Your device does not run firewall4." +msgstr "你的設備沒有使用 firewall4。" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:26 +msgid "Your device runs firewall4." +msgstr "你的設備使用firewall4。" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:143 +msgid "Zone ⇒ Forwardings" +msgstr "區域 ⇒ 轉發" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:101 +msgid "Zones" +msgstr "區域" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:320 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:319 +msgid "" +"Zones from which reflection rules shall be created. If unset, only the " +"destination zone is used." +msgstr "創建回應規則的區域。若未設置,將僅使用目標區域。" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:415 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:70 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:159 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:414 +msgid "accept" +msgstr "接受" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:268 +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:463 +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:486 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:270 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:301 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:328 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:392 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:407 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:441 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:448 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:266 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:282 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:269 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:300 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:327 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:391 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:406 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:440 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:447 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:265 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:281 +msgid "any" +msgstr "任何" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:53 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:86 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:65 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:78 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:46 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:56 +msgid "any zone" +msgstr "所有區域" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:298 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:297 +msgid "any/all" +msgstr "任意/全部" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:419 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:418 +msgid "apply firewall mark" +msgstr "套用防火牆標記" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:418 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:417 +msgid "assign conntrack helper" +msgstr "指定連線跟蹤助手" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:194 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:222 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:193 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:221 +msgid "automatic" +msgstr "自動" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:131 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:130 +msgid "bitmap" +msgstr "bitmap" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:137 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:136 +msgid "bitmap is ipv4 only" +msgstr "bitmap僅支援 IPv4" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:72 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:89 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:67 +msgid "day" +msgstr "日" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:93 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:92 +msgid "dest_ip: Destination IP" +msgstr "dest_ip: 目標 IP" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:95 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:94 +msgid "dest_mac: Destination MAC addr" +msgstr "dest_mac: 目標 MAC 位址" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:96 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:95 +msgid "dest_net: Destination (sub)net" +msgstr "dest_net: 目標(子)網" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:94 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:93 +msgid "dest_port: Destination Port" +msgstr "dest_port:目標埠" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:98 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:97 +msgid "dest_set: Destination ipset*" +msgstr "dest_set: 目標 ip集合*" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:315 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:314 +msgid "do not rewrite" +msgstr "不重置" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:417 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:416 +msgid "don't track" +msgstr "不跟蹤" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:414 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:69 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:158 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:413 +msgid "drop" +msgstr "丟棄" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:21 +msgid "" +"firewall4 supports referencing and creating IP sets to simplify matching of " +"large address lists without the need to create one rule per item to match. " +"Port ranges in ipsets are unsupported by firewall4.
" +msgstr "" +"firewall4支援引用和創建IP集,這樣無需為每個條目創建一條規則進行匹配,達到簡化" +"大型位址列表匹配的目的。firewall4不支援IP集中的埠範圍。
" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:159 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:158 +msgid "fromport-toport" +msgstr "fromport-toport" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:132 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:131 +msgid "hash" +msgstr "雜湊" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:72 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:89 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:67 +msgid "hour" +msgstr "小時" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:81 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:80 +msgid "ip: IP addr" +msgstr "ip: IP 位址" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:153 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:152 +msgid "ip[/cidr]
" +msgstr "ip[/cidr]
" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:145 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:144 +msgid "ip[/cidr]
For use with Match datatypes: *_ip." +msgstr "ip[/cidr]
用於匹配資料類型:*_ip。" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:70 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:69 +msgid "ipv4" +msgstr "ipv4" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:133 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:132 +msgid "list" +msgstr "清單" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:83 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:82 +msgid "mac: MAC addr" +msgstr "mac: MAC 位址" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:108 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:107 +msgid "macaddr|ip[/cidr]
" +msgstr "macaddr|ip[/cidr]
" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:72 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:89 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:67 +msgid "minute" +msgstr "分鐘" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:84 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:83 +msgid "net: (sub)net" +msgstr "net:(子)網" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:82 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:81 +msgid "port: Port" +msgstr "port: 埠" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:416 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:68 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:157 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:415 +msgid "reject" +msgstr "拒絕" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:72 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:89 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:67 +msgid "second" +msgstr "秒" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:86 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:85 +msgid "set: ipset*" +msgstr "set: ip集合*" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:92 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:91 +msgid "src_Set: Source ipset*" +msgstr "src_Set: 源 ip集合*" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:87 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:86 +msgid "src_ip: Source IP" +msgstr "src_ip: 源 IP" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:89 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:88 +msgid "src_mac: Source MAC addr" +msgstr "src_mac: 源 MAC 位址" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:90 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:89 +msgid "src_net: Source (sub)net" +msgstr "src_net: 源(子)網" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:88 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:87 +msgid "src_port: Source Port" +msgstr "src_port: 源 埠" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:53 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:62 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:86 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:65 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:78 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:56 +msgid "this device" +msgstr "此裝置" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:124 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:226 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:339 +msgid "this new zone" +msgstr "新區域" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:354 +msgid "unlimited" +msgstr "無限" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:251 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:250 +msgid "unspecified" +msgstr "未規定" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:114 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:173 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:113 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:172 +msgid "up to 65536 entries." +msgstr "最多 65536 個條目。" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:339 +msgid "valid firewall mark" +msgstr "有效正確的防火牆標記" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:77 +msgid "Experimental feature. Not fully compatible with QoS/SQM." +msgstr "實驗性功能。與QoS/SQM不完全相容。" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:174 +msgid "" +"Traffic rules define policies for packets traveling between different zones, " +"for example to reject traffic between certain hosts or to open WAN ports on " +"the router." +msgstr "通訊規則定義了不同區域間的資料包傳輸策略,例如:拒絕一些主機之間的通訊,開放" +"路由器WAN上的埠。" + +#~ msgid "Software based offloading for routing/NAT" +#~ msgstr "軟體式的 路由/NAT 卸載" + +#~ msgid "" +#~ "Enable network address and port translation (NAT or NAPT) for outbound " +#~ "traffic on this zone. This is typically enabled on the wan zone." +#~ msgstr "" +#~ "為此區域上的出站流量啟用網路位址和連接埠轉換 (NAT 或 NAPT)。該選項在" +#~ "wan區域上通常處於啟用狀態。" + +#~ msgid "" +#~ "Forwarded IPv4%{proto?, protocol %{proto#%{next?, }%{item.name}}}%{mark?, mark %{mark." +#~ "val}}" +#~ msgstr "" +#~ "已轉發 IPv4%{proto?,協定:%{proto#%{next?, }%{item.name}}}%{mark?,標記:%{mark.val}" +#~ "}" + +#~ msgid "" +#~ "Incoming IPv4%{proto?, protocol %{proto#%{next?, }%{item.types?%{item.name}ICMP with types %{item.types#%{next?, }%{item}}:%{item.name}}}}%{mark?, mark %{mark.val}}%{helper?, helper %{helper.inv?%{helper.val}:%{helper.val}" +#~ "}}" +#~ msgstr "" +#~ "傳入 IPv4%{proto?,協定:%{proto#%{next?, }%{item.types?%{item.name}ICMP 包含類" +#~ "型:%{item.types#%{next?, }%{item}}:%{item." +#~ "name}}}}%{mark?,標記:%{mark.val}}%{helper?,幫手:%{helper.inv?%{helper." +#~ "val}:%{helper.val}}}" diff --git a/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json b/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json new file mode 100644 index 000000000..f024dcfe2 --- /dev/null +++ b/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json @@ -0,0 +1,72 @@ +{ + "admin/network/firewall": { + "title": "Firewall", + "order": 60, + "action": { + "type": "alias", + "path": "admin/network/firewall/zones" + }, + "depends": { + "acl": [ "luci-app-firewall" ], + "fs": { "/sbin/fw3": "executable" }, + "uci": { "firewall": true } + } + }, + + "admin/network/firewall/zones": { + "title": "General Settings", + "order": 10, + "action": { + "type": "view", + "path": "firewall/zones" + } + }, + + "admin/network/firewall/forwards": { + "title": "Port Forwards", + "order": 20, + "action": { + "type": "view", + "path": "firewall/forwards" + } + }, + + "admin/network/firewall/rules": { + "title": "Traffic Rules", + "order": 30, + "action": { + "type": "view", + "path": "firewall/rules" + } + }, + + "admin/network/firewall/snats": { + "title": "NAT Rules", + "order": 40, + "action": { + "type": "view", + "path": "firewall/snats" + } + }, + + "admin/network/firewall/ipsets": { + "title": "IP Sets", + "order": 45, + "action": { + "type": "view", + "path": "firewall/ipsets" + } + }, + + "admin/network/firewall/custom": { + "title": "Custom Rules", + "order": 50, + "action": { + "type": "view", + "path": "firewall/custom" + }, + "depends": { + "fs": { "/usr/share/fw3/helpers.conf": "file" } + } + } +} diff --git a/luci-app-firewall/root/usr/share/rpcd/acl.d/luci-app-firewall.json b/luci-app-firewall/root/usr/share/rpcd/acl.d/luci-app-firewall.json new file mode 100644 index 000000000..17d1fbab1 --- /dev/null +++ b/luci-app-firewall/root/usr/share/rpcd/acl.d/luci-app-firewall.json @@ -0,0 +1,24 @@ +{ + "luci-app-firewall": { + "description": "Grant access to firewall configuration", + "read": { + "file": { + "/etc/firewall.user": [ "read" ] + }, + "ubus": { + "file": [ "read" ], + "luci": [ "getConntrackHelpers" ] + }, + "uci": [ "firewall" ] + }, + "write": { + "file": { + "/etc/firewall.user": [ "write" ] + }, + "ubus": { + "file": [ "write" ] + }, + "uci": [ "firewall" ] + } + } +} diff --git a/luci-app-firewall/root/usr/share/ucitrack/luci-app-firewall.json b/luci-app-firewall/root/usr/share/ucitrack/luci-app-firewall.json new file mode 100644 index 000000000..4d1d9f919 --- /dev/null +++ b/luci-app-firewall/root/usr/share/ucitrack/luci-app-firewall.json @@ -0,0 +1,9 @@ +{ + "config": "firewall", + "init": "firewall", + "affects": [ + "luci-splash", + "qos", + "miniupnpd" + ] +} diff --git a/luci-app-snmpd/Makefile b/luci-app-glorytun-tcp/Makefile similarity index 57% rename from luci-app-snmpd/Makefile rename to luci-app-glorytun-tcp/Makefile index d9c583019..80d97c856 100644 --- a/luci-app-snmpd/Makefile +++ b/luci-app-glorytun-tcp/Makefile @@ -1,15 +1,16 @@ # -# Copyright (C) 2018-2019 Ycarus (Yannick Chabanois) +# Copyright (C) 2018-2020 Ycarus (Yannick Chabanois) # # include $(TOPDIR)/rules.mk -LUCI_TITLE:=LuCI SNMPD Interface -LUCI_DEPENDS:=+snmpd +LUCI_TITLE:=LuCI Interface to Glorytun TCP +LUCI_DEPENDS:=+glorytun PKG_LICENSE:=GPLv3 #include ../luci/luci.mk include $(TOPDIR)/feeds/luci/luci.mk + # call BuildPackage - OpenWrt buildroot signature diff --git a/luci-app-glorytun-tcp/htdocs/luci-static/resources/view/services/glorytun-tcp.js b/luci-app-glorytun-tcp/htdocs/luci-static/resources/view/services/glorytun-tcp.js new file mode 100644 index 000000000..d5e20158e --- /dev/null +++ b/luci-app-glorytun-tcp/htdocs/luci-static/resources/view/services/glorytun-tcp.js @@ -0,0 +1,84 @@ +'use strict'; +'require rpc'; +'require form'; +'require fs'; +'require uci'; +'require tools.widgets as widgets'; + +var callHostHints; + +return L.view.extend({ + callHostHints: rpc.declare({ + object: 'luci-rpc', + method: 'getHostHints', + expect: { '': {} } + }), + + load: function() { + return this.callHostHints(); + }, + + render: function(hosts) { + var m, s, o; + + m = new form.Map('glorytun', _('Glorytun TCP')); + + s = m.section(form.GridSection, 'glorytun', _('Instances')); + s.addremove = true; + s.anonymous = true; + s.nodescriptions = true; + + s.tab('general', _('General Settings')); + s.tab('advanced', _('Advanced Settings')); + + o = s.taboption('general', form.Flag, 'enable', _('Enabled')); + o.rmempty = false; + + o = s.taboption('general',form.Value, 'label', _('Label')); + o.rmempty = true; + + o = s.taboption('general', form.ListValue, 'mode', _('Mode')); + o.value('',_('Client')); + o.value('listener',_('Server')); + o.modalonly = true; + + o = s.taboption('general', form.Value, 'host', _('Host')); + o.rmempty = false; + + o = s.taboption('general', form.Value, 'port', _('Port')); + o.rmempty = false; + + o = s.taboption('general', form.Value, 'key', _('Key')); + o.rmempty = false; + o.modalonly = true; + + o = s.taboption('general', form.Value, 'dev', _('Interface name')); + o.rmempty = false; + o.modalonly = true; + + o = s.taboption('general', form.Value, 'localip', _('Local IP')); + o.datatype = 'or(ip4addr,ip6addr)'; + o.rmempty = false; + + o = s.taboption('general', form.Value, 'remoteip', _('Remote IP')); + o.datatype = 'or(ip4addr,ip6addr)'; + o.rmempty = false; + + o = s.taboption('advanced', form.Flag, 'mptcp', _('MPTCP')); + o.modalonly = true; + + o = s.taboption('advanced', form.Flag, 'chacha20', _('chacha'), _('Force fallback cipher')); + o.modalonly = true; + + o = s.taboption('advanced', form.Value, 'timeout', _('Timeout')); + o.default = '10000'; + o.rmempty = false; + o.modalonly = true; + + o = s.taboption('advanced', form.Flag, 'multiqueue', _('Multiqueue')); + o.rmempty = false; + o.modalonly = true; + + return m.render(); + } +}); diff --git a/luci-app-glorytun-tcp/po/fr/glorytun-tcp.po b/luci-app-glorytun-tcp/po/fr/glorytun-tcp.po new file mode 100644 index 000000000..977d4d7e7 --- /dev/null +++ b/luci-app-glorytun-tcp/po/fr/glorytun-tcp.po @@ -0,0 +1,96 @@ +msgid "" +msgstr "" +"PO-Revision-Date: 2022-02-19 07:53+0000\n" +"Last-Translator: Weblate Admin \n" +"Language-Team: French \n" +"Language: fr\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=n > 1;\n" +"X-Generator: Weblate 4.6.1\n" + +#: luci-app-glorytun-tcp/htdocs/luci-static/resources/view/services/glorytun-tcp.js:32 +msgid "Advanced Settings" +msgstr "Configuration avancée" + +#: luci-app-glorytun-tcp/htdocs/luci-static/resources/view/services/glorytun-tcp.js:41 +msgid "Client" +msgstr "Client" + +#: luci-app-glorytun-tcp/htdocs/luci-static/resources/view/services/glorytun-tcp.js:34 +msgid "Enabled" +msgstr "Activer" + +#: luci-app-glorytun-tcp/htdocs/luci-static/resources/view/services/glorytun-tcp.js:70 +msgid "Force fallback cipher" +msgstr "Forcer le chiffrement de secours" + +#: luci-app-glorytun-tcp/htdocs/luci-static/resources/view/services/glorytun-tcp.js:31 +msgid "General Settings" +msgstr "Paramètres généraux" + +#: luci-app-glorytun-tcp/htdocs/luci-static/resources/view/services/glorytun-tcp.js:24 +#: luci-app-glorytun-tcp/root/usr/share/luci/menu.d/luci-app-glorytun-tcp.json:3 +msgid "Glorytun TCP" +msgstr "Glorytun TCP" + +#: luci-app-glorytun-tcp/root/usr/share/rpcd/acl.d/luci-app-glorytun-tcp.json:3 +msgid "Grant access to glorytun TCP" +msgstr "Accorder l'accès à Glorytun TCP" + +#: luci-app-glorytun-tcp/htdocs/luci-static/resources/view/services/glorytun-tcp.js:45 +msgid "Host" +msgstr "Hôte" + +#: luci-app-glorytun-tcp/htdocs/luci-static/resources/view/services/glorytun-tcp.js:26 +msgid "Instances" +msgstr "Instances" + +#: luci-app-glorytun-tcp/htdocs/luci-static/resources/view/services/glorytun-tcp.js:55 +msgid "Interface name" +msgstr "Nom de l'interface" + +#: luci-app-glorytun-tcp/htdocs/luci-static/resources/view/services/glorytun-tcp.js:51 +msgid "Key" +msgstr "Clef" + +#: luci-app-glorytun-tcp/htdocs/luci-static/resources/view/services/glorytun-tcp.js:37 +msgid "Label" +msgstr "Étiquette" + +#: luci-app-glorytun-tcp/htdocs/luci-static/resources/view/services/glorytun-tcp.js:59 +msgid "Local IP" +msgstr "Adresse IP locale" + +#: luci-app-glorytun-tcp/htdocs/luci-static/resources/view/services/glorytun-tcp.js:67 +msgid "MPTCP" +msgstr "MPTCP" + +#: luci-app-glorytun-tcp/htdocs/luci-static/resources/view/services/glorytun-tcp.js:40 +msgid "Mode" +msgstr "Mode" + +#: luci-app-glorytun-tcp/htdocs/luci-static/resources/view/services/glorytun-tcp.js:78 +msgid "Multiqueue" +msgstr "Multiqueue" + +#: luci-app-glorytun-tcp/htdocs/luci-static/resources/view/services/glorytun-tcp.js:48 +msgid "Port" +msgstr "Port" + +#: luci-app-glorytun-tcp/htdocs/luci-static/resources/view/services/glorytun-tcp.js:63 +msgid "Remote IP" +msgstr "IP Distante" + +#: luci-app-glorytun-tcp/htdocs/luci-static/resources/view/services/glorytun-tcp.js:42 +msgid "Server" +msgstr "Serveur" + +#: luci-app-glorytun-tcp/htdocs/luci-static/resources/view/services/glorytun-tcp.js:73 +msgid "Timeout" +msgstr "Hors Délais" + +#: luci-app-glorytun-tcp/htdocs/luci-static/resources/view/services/glorytun-tcp.js:70 +msgid "chacha" +msgstr "Chacha" diff --git a/luci-app-glorytun-tcp/po/fr/glorytun-tcp.po~ b/luci-app-glorytun-tcp/po/fr/glorytun-tcp.po~ new file mode 100644 index 000000000..b8618b9f4 --- /dev/null +++ b/luci-app-glorytun-tcp/po/fr/glorytun-tcp.po~ @@ -0,0 +1,96 @@ +msgid "" +msgstr "" +"PO-Revision-Date: 2021-04-30 16:16+0000\n" +"Last-Translator: Weblate Admin \n" +"Language-Team: French \n" +"Language: fr\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=n > 1;\n" +"X-Generator: Weblate 4.5.2\n" + +#: luci-app-glorytun-tcp/htdocs/luci-static/resources/view/services/glorytun-tcp.js:32 +msgid "Advanced Settings" +msgstr "Configuration avancée" + +#: luci-app-glorytun-tcp/htdocs/luci-static/resources/view/services/glorytun-tcp.js:38 +msgid "Client" +msgstr "Client" + +#: luci-app-glorytun-tcp/htdocs/luci-static/resources/view/services/glorytun-tcp.js:34 +msgid "Enabled" +msgstr "Activer" + +#: luci-app-glorytun-tcp/htdocs/luci-static/resources/view/services/glorytun-tcp.js:68 +msgid "Force fallback cipher" +msgstr "Forcer le chiffrement de secours" + +#: luci-app-glorytun-tcp/htdocs/luci-static/resources/view/services/glorytun-tcp.js:31 +msgid "General Settings" +msgstr "Paramètres généraux" + +#: luci-app-glorytun-tcp/htdocs/luci-static/resources/view/services/glorytun-tcp.js:24 +#: luci-app-glorytun-tcp/root/usr/share/luci/menu.d/luci-app-glorytun-tcp.json:3 +msgid "Glorytun TCP" +msgstr "Glorytun TCP" + +#: luci-app-glorytun-tcp/root/usr/share/rpcd/acl.d/luci-app-glorytun-tcp.json:3 +msgid "Grant access to glorytun TCP" +msgstr "Accorder l'accès à Glorytun TCP" + +#: luci-app-glorytun-tcp/htdocs/luci-static/resources/view/services/glorytun-tcp.js:42 +msgid "Host" +msgstr "Hôte" + +#: luci-app-glorytun-tcp/htdocs/luci-static/resources/view/services/glorytun-tcp.js:26 +msgid "Instances" +msgstr "Instances" + +#: luci-app-glorytun-tcp/htdocs/luci-static/resources/view/services/glorytun-tcp.js:52 +msgid "Interface name" +msgstr "Nom de l'interface" + +#: luci-app-glorytun-tcp/htdocs/luci-static/resources/view/services/glorytun-tcp.js:48 +msgid "Key" +msgstr "Clef" + +#: luci-app-glorytun-tcp/htdocs/luci-static/resources/view/services/glorytun-tcp.js:82 +msgid "Label" +msgstr "Étiquette" + +#: luci-app-glorytun-tcp/htdocs/luci-static/resources/view/services/glorytun-tcp.js:56 +msgid "Local IP" +msgstr "Adresse IP locale" + +#: luci-app-glorytun-tcp/htdocs/luci-static/resources/view/services/glorytun-tcp.js:64 +msgid "MPTCP" +msgstr "MPTCP" + +#: luci-app-glorytun-tcp/htdocs/luci-static/resources/view/services/glorytun-tcp.js:37 +msgid "Mode" +msgstr "Mode" + +#: luci-app-glorytun-tcp/htdocs/luci-static/resources/view/services/glorytun-tcp.js:77 +msgid "Multiqueue" +msgstr "Multiqueue" + +#: luci-app-glorytun-tcp/htdocs/luci-static/resources/view/services/glorytun-tcp.js:45 +msgid "Port" +msgstr "Port" + +#: luci-app-glorytun-tcp/htdocs/luci-static/resources/view/services/glorytun-tcp.js:60 +msgid "Remote IP" +msgstr "IP Distante" + +#: luci-app-glorytun-tcp/htdocs/luci-static/resources/view/services/glorytun-tcp.js:39 +msgid "Server" +msgstr "Serveur" + +#: luci-app-glorytun-tcp/htdocs/luci-static/resources/view/services/glorytun-tcp.js:72 +msgid "Timeout" +msgstr "Temporisation" + +#: luci-app-glorytun-tcp/htdocs/luci-static/resources/view/services/glorytun-tcp.js:68 +msgid "chacha" +msgstr "Chacha" diff --git a/luci-app-glorytun-tcp/po/ru/glorytun-tcp.po b/luci-app-glorytun-tcp/po/ru/glorytun-tcp.po new file mode 100644 index 000000000..5996b38c4 --- /dev/null +++ b/luci-app-glorytun-tcp/po/ru/glorytun-tcp.po @@ -0,0 +1,97 @@ +msgid "" +msgstr "" +"PO-Revision-Date: 2021-06-16 10:51+0000\n" +"Last-Translator: Dmitry Galenko \n" +"Language-Team: Russian \n" +"Language: ru\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n" +"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" +"X-Generator: Weblate 4.6.1\n" + +#: luci-app-glorytun-tcp/htdocs/luci-static/resources/view/services/glorytun-tcp.js:32 +msgid "Advanced Settings" +msgstr "Дополнительные настройки" + +#: luci-app-glorytun-tcp/htdocs/luci-static/resources/view/services/glorytun-tcp.js:41 +msgid "Client" +msgstr "Клиент" + +#: luci-app-glorytun-tcp/htdocs/luci-static/resources/view/services/glorytun-tcp.js:34 +msgid "Enabled" +msgstr "Установлено" + +#: luci-app-glorytun-tcp/htdocs/luci-static/resources/view/services/glorytun-tcp.js:70 +msgid "Force fallback cipher" +msgstr "Принудительное резервное шифрование" + +#: luci-app-glorytun-tcp/htdocs/luci-static/resources/view/services/glorytun-tcp.js:31 +msgid "General Settings" +msgstr "Основные настройки" + +#: luci-app-glorytun-tcp/htdocs/luci-static/resources/view/services/glorytun-tcp.js:24 +#: luci-app-glorytun-tcp/root/usr/share/luci/menu.d/luci-app-glorytun-tcp.json:3 +msgid "Glorytun TCP" +msgstr "Glorytun TCP" + +#: luci-app-glorytun-tcp/root/usr/share/rpcd/acl.d/luci-app-glorytun-tcp.json:3 +msgid "Grant access to glorytun TCP" +msgstr "Полный доступ к glorytun TCP" + +#: luci-app-glorytun-tcp/htdocs/luci-static/resources/view/services/glorytun-tcp.js:45 +msgid "Host" +msgstr "Хост" + +#: luci-app-glorytun-tcp/htdocs/luci-static/resources/view/services/glorytun-tcp.js:26 +msgid "Instances" +msgstr "Экземпляры" + +#: luci-app-glorytun-tcp/htdocs/luci-static/resources/view/services/glorytun-tcp.js:55 +msgid "Interface name" +msgstr "Имя интерфейса" + +#: luci-app-glorytun-tcp/htdocs/luci-static/resources/view/services/glorytun-tcp.js:51 +msgid "Key" +msgstr "Ключ" + +#: luci-app-glorytun-tcp/htdocs/luci-static/resources/view/services/glorytun-tcp.js:37 +msgid "Label" +msgstr "Метка" + +#: luci-app-glorytun-tcp/htdocs/luci-static/resources/view/services/glorytun-tcp.js:59 +msgid "Local IP" +msgstr "Локальный IP" + +#: luci-app-glorytun-tcp/htdocs/luci-static/resources/view/services/glorytun-tcp.js:67 +msgid "MPTCP" +msgstr "MPTCP" + +#: luci-app-glorytun-tcp/htdocs/luci-static/resources/view/services/glorytun-tcp.js:40 +msgid "Mode" +msgstr "Режим" + +#: luci-app-glorytun-tcp/htdocs/luci-static/resources/view/services/glorytun-tcp.js:78 +msgid "Multiqueue" +msgstr "Мультиочередь" + +#: luci-app-glorytun-tcp/htdocs/luci-static/resources/view/services/glorytun-tcp.js:48 +msgid "Port" +msgstr "Порт" + +#: luci-app-glorytun-tcp/htdocs/luci-static/resources/view/services/glorytun-tcp.js:63 +msgid "Remote IP" +msgstr "Удаленный IP" + +#: luci-app-glorytun-tcp/htdocs/luci-static/resources/view/services/glorytun-tcp.js:42 +msgid "Server" +msgstr "Сервер" + +#: luci-app-glorytun-tcp/htdocs/luci-static/resources/view/services/glorytun-tcp.js:73 +msgid "Timeout" +msgstr "Таймаут" + +#: luci-app-glorytun-tcp/htdocs/luci-static/resources/view/services/glorytun-tcp.js:70 +msgid "chacha" +msgstr "Chacha" diff --git a/luci-app-glorytun-tcp/po/templates/glorytun-tcp.pot b/luci-app-glorytun-tcp/po/templates/glorytun-tcp.pot new file mode 100644 index 000000000..9cd0f6d60 --- /dev/null +++ b/luci-app-glorytun-tcp/po/templates/glorytun-tcp.pot @@ -0,0 +1,87 @@ +msgid "" +msgstr "Content-Type: text/plain; charset=UTF-8" + +#: luci-app-glorytun-tcp/htdocs/luci-static/resources/view/services/glorytun-tcp.js:32 +msgid "Advanced Settings" +msgstr "" + +#: luci-app-glorytun-tcp/htdocs/luci-static/resources/view/services/glorytun-tcp.js:41 +msgid "Client" +msgstr "" + +#: luci-app-glorytun-tcp/htdocs/luci-static/resources/view/services/glorytun-tcp.js:34 +msgid "Enabled" +msgstr "" + +#: luci-app-glorytun-tcp/htdocs/luci-static/resources/view/services/glorytun-tcp.js:70 +msgid "Force fallback cipher" +msgstr "" + +#: luci-app-glorytun-tcp/htdocs/luci-static/resources/view/services/glorytun-tcp.js:31 +msgid "General Settings" +msgstr "" + +#: luci-app-glorytun-tcp/htdocs/luci-static/resources/view/services/glorytun-tcp.js:24 +#: luci-app-glorytun-tcp/root/usr/share/luci/menu.d/luci-app-glorytun-tcp.json:3 +msgid "Glorytun TCP" +msgstr "" + +#: luci-app-glorytun-tcp/root/usr/share/rpcd/acl.d/luci-app-glorytun-tcp.json:3 +msgid "Grant access to glorytun TCP" +msgstr "" + +#: luci-app-glorytun-tcp/htdocs/luci-static/resources/view/services/glorytun-tcp.js:45 +msgid "Host" +msgstr "" + +#: luci-app-glorytun-tcp/htdocs/luci-static/resources/view/services/glorytun-tcp.js:26 +msgid "Instances" +msgstr "" + +#: luci-app-glorytun-tcp/htdocs/luci-static/resources/view/services/glorytun-tcp.js:55 +msgid "Interface name" +msgstr "" + +#: luci-app-glorytun-tcp/htdocs/luci-static/resources/view/services/glorytun-tcp.js:51 +msgid "Key" +msgstr "" + +#: luci-app-glorytun-tcp/htdocs/luci-static/resources/view/services/glorytun-tcp.js:37 +msgid "Label" +msgstr "" + +#: luci-app-glorytun-tcp/htdocs/luci-static/resources/view/services/glorytun-tcp.js:59 +msgid "Local IP" +msgstr "" + +#: luci-app-glorytun-tcp/htdocs/luci-static/resources/view/services/glorytun-tcp.js:67 +msgid "MPTCP" +msgstr "" + +#: luci-app-glorytun-tcp/htdocs/luci-static/resources/view/services/glorytun-tcp.js:40 +msgid "Mode" +msgstr "" + +#: luci-app-glorytun-tcp/htdocs/luci-static/resources/view/services/glorytun-tcp.js:78 +msgid "Multiqueue" +msgstr "" + +#: luci-app-glorytun-tcp/htdocs/luci-static/resources/view/services/glorytun-tcp.js:48 +msgid "Port" +msgstr "" + +#: luci-app-glorytun-tcp/htdocs/luci-static/resources/view/services/glorytun-tcp.js:63 +msgid "Remote IP" +msgstr "" + +#: luci-app-glorytun-tcp/htdocs/luci-static/resources/view/services/glorytun-tcp.js:42 +msgid "Server" +msgstr "" + +#: luci-app-glorytun-tcp/htdocs/luci-static/resources/view/services/glorytun-tcp.js:73 +msgid "Timeout" +msgstr "" + +#: luci-app-glorytun-tcp/htdocs/luci-static/resources/view/services/glorytun-tcp.js:70 +msgid "chacha" +msgstr "" diff --git a/luci-app-glorytun-tcp/po/zh_Hans/glorytun-tcp.po b/luci-app-glorytun-tcp/po/zh_Hans/glorytun-tcp.po new file mode 100644 index 000000000..522561c56 --- /dev/null +++ b/luci-app-glorytun-tcp/po/zh_Hans/glorytun-tcp.po @@ -0,0 +1,96 @@ +msgid "" +msgstr "" +"PO-Revision-Date: 2021-05-05 11:40+0000\n" +"Last-Translator: niergouge <1150108426@qq.com>\n" +"Language-Team: Chinese (Simplified) \n" +"Language: zh_Hans\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=1; plural=0;\n" +"X-Generator: Weblate 4.6.1\n" + +#: luci-app-glorytun-tcp/htdocs/luci-static/resources/view/services/glorytun-tcp.js:32 +msgid "Advanced Settings" +msgstr "高级设置" + +#: luci-app-glorytun-tcp/htdocs/luci-static/resources/view/services/glorytun-tcp.js:41 +msgid "Client" +msgstr "客户端" + +#: luci-app-glorytun-tcp/htdocs/luci-static/resources/view/services/glorytun-tcp.js:34 +msgid "Enabled" +msgstr "启用" + +#: luci-app-glorytun-tcp/htdocs/luci-static/resources/view/services/glorytun-tcp.js:70 +msgid "Force fallback cipher" +msgstr "强制回退密码" + +#: luci-app-glorytun-tcp/htdocs/luci-static/resources/view/services/glorytun-tcp.js:31 +msgid "General Settings" +msgstr "通用设置" + +#: luci-app-glorytun-tcp/htdocs/luci-static/resources/view/services/glorytun-tcp.js:24 +#: luci-app-glorytun-tcp/root/usr/share/luci/menu.d/luci-app-glorytun-tcp.json:3 +msgid "Glorytun TCP" +msgstr "glorytun TCP" + +#: luci-app-glorytun-tcp/root/usr/share/rpcd/acl.d/luci-app-glorytun-tcp.json:3 +msgid "Grant access to glorytun TCP" +msgstr "授予访问glorytun TCP的权限" + +#: luci-app-glorytun-tcp/htdocs/luci-static/resources/view/services/glorytun-tcp.js:45 +msgid "Host" +msgstr "主机" + +#: luci-app-glorytun-tcp/htdocs/luci-static/resources/view/services/glorytun-tcp.js:26 +msgid "Instances" +msgstr "实例" + +#: luci-app-glorytun-tcp/htdocs/luci-static/resources/view/services/glorytun-tcp.js:55 +msgid "Interface name" +msgstr "接口名称" + +#: luci-app-glorytun-tcp/htdocs/luci-static/resources/view/services/glorytun-tcp.js:51 +msgid "Key" +msgstr "秘钥" + +#: luci-app-glorytun-tcp/htdocs/luci-static/resources/view/services/glorytun-tcp.js:37 +msgid "Label" +msgstr "标签" + +#: luci-app-glorytun-tcp/htdocs/luci-static/resources/view/services/glorytun-tcp.js:59 +msgid "Local IP" +msgstr "本地IP" + +#: luci-app-glorytun-tcp/htdocs/luci-static/resources/view/services/glorytun-tcp.js:67 +msgid "MPTCP" +msgstr "MPTCP" + +#: luci-app-glorytun-tcp/htdocs/luci-static/resources/view/services/glorytun-tcp.js:40 +msgid "Mode" +msgstr "模式" + +#: luci-app-glorytun-tcp/htdocs/luci-static/resources/view/services/glorytun-tcp.js:78 +msgid "Multiqueue" +msgstr "多队列" + +#: luci-app-glorytun-tcp/htdocs/luci-static/resources/view/services/glorytun-tcp.js:48 +msgid "Port" +msgstr "端口" + +#: luci-app-glorytun-tcp/htdocs/luci-static/resources/view/services/glorytun-tcp.js:63 +msgid "Remote IP" +msgstr "远程IP" + +#: luci-app-glorytun-tcp/htdocs/luci-static/resources/view/services/glorytun-tcp.js:42 +msgid "Server" +msgstr "服务器" + +#: luci-app-glorytun-tcp/htdocs/luci-static/resources/view/services/glorytun-tcp.js:73 +msgid "Timeout" +msgstr "超时" + +#: luci-app-glorytun-tcp/htdocs/luci-static/resources/view/services/glorytun-tcp.js:70 +msgid "chacha" +msgstr "chacha密码" diff --git a/luci-app-glorytun-tcp/po/zh_Hans/glorytun-tcp.po~ b/luci-app-glorytun-tcp/po/zh_Hans/glorytun-tcp.po~ new file mode 100644 index 000000000..1db94cdb9 --- /dev/null +++ b/luci-app-glorytun-tcp/po/zh_Hans/glorytun-tcp.po~ @@ -0,0 +1,96 @@ +msgid "" +msgstr "" +"PO-Revision-Date: 2021-04-30 16:21+0000\n" +"Last-Translator: Weblate Admin \n" +"Language-Team: Chinese (Simplified) \n" +"Language: zh_Hans\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=1; plural=0;\n" +"X-Generator: Weblate 4.5.2\n" + +#: luci-app-glorytun-tcp/htdocs/luci-static/resources/view/services/glorytun-tcp.js:32 +msgid "Advanced Settings" +msgstr "高级设置" + +#: luci-app-glorytun-tcp/htdocs/luci-static/resources/view/services/glorytun-tcp.js:38 +msgid "Client" +msgstr "客户端" + +#: luci-app-glorytun-tcp/htdocs/luci-static/resources/view/services/glorytun-tcp.js:34 +msgid "Enabled" +msgstr "开启" + +#: luci-app-glorytun-tcp/htdocs/luci-static/resources/view/services/glorytun-tcp.js:68 +msgid "Force fallback cipher" +msgstr "强制回退密码" + +#: luci-app-glorytun-tcp/htdocs/luci-static/resources/view/services/glorytun-tcp.js:31 +msgid "General Settings" +msgstr "通用设置" + +#: luci-app-glorytun-tcp/htdocs/luci-static/resources/view/services/glorytun-tcp.js:24 +#: luci-app-glorytun-tcp/root/usr/share/luci/menu.d/luci-app-glorytun-tcp.json:3 +msgid "Glorytun TCP" +msgstr "glorytun TCP" + +#: luci-app-glorytun-tcp/root/usr/share/rpcd/acl.d/luci-app-glorytun-tcp.json:3 +msgid "Grant access to glorytun TCP" +msgstr "授予访问glorytun TCP的权限" + +#: luci-app-glorytun-tcp/htdocs/luci-static/resources/view/services/glorytun-tcp.js:42 +msgid "Host" +msgstr "主机" + +#: luci-app-glorytun-tcp/htdocs/luci-static/resources/view/services/glorytun-tcp.js:26 +msgid "Instances" +msgstr "实例" + +#: luci-app-glorytun-tcp/htdocs/luci-static/resources/view/services/glorytun-tcp.js:52 +msgid "Interface name" +msgstr "接口名称" + +#: luci-app-glorytun-tcp/htdocs/luci-static/resources/view/services/glorytun-tcp.js:48 +msgid "Key" +msgstr "秘钥" + +#: luci-app-glorytun-tcp/htdocs/luci-static/resources/view/services/glorytun-tcp.js:82 +msgid "Label" +msgstr "标签" + +#: luci-app-glorytun-tcp/htdocs/luci-static/resources/view/services/glorytun-tcp.js:56 +msgid "Local IP" +msgstr "本地IP" + +#: luci-app-glorytun-tcp/htdocs/luci-static/resources/view/services/glorytun-tcp.js:64 +msgid "MPTCP" +msgstr "聚合" + +#: luci-app-glorytun-tcp/htdocs/luci-static/resources/view/services/glorytun-tcp.js:37 +msgid "Mode" +msgstr "模式" + +#: luci-app-glorytun-tcp/htdocs/luci-static/resources/view/services/glorytun-tcp.js:77 +msgid "Multiqueue" +msgstr "多队列" + +#: luci-app-glorytun-tcp/htdocs/luci-static/resources/view/services/glorytun-tcp.js:45 +msgid "Port" +msgstr "端口" + +#: luci-app-glorytun-tcp/htdocs/luci-static/resources/view/services/glorytun-tcp.js:60 +msgid "Remote IP" +msgstr "远程IP" + +#: luci-app-glorytun-tcp/htdocs/luci-static/resources/view/services/glorytun-tcp.js:39 +msgid "Server" +msgstr "服务器" + +#: luci-app-glorytun-tcp/htdocs/luci-static/resources/view/services/glorytun-tcp.js:72 +msgid "Timeout" +msgstr "超时" + +#: luci-app-glorytun-tcp/htdocs/luci-static/resources/view/services/glorytun-tcp.js:68 +msgid "chacha" +msgstr "chacha密码" diff --git a/luci-app-glorytun/root/etc/hotplug.d/iface/30-glorytun b/luci-app-glorytun-tcp/root/etc/hotplug.d/iface/30-glorytun similarity index 100% rename from luci-app-glorytun/root/etc/hotplug.d/iface/30-glorytun rename to luci-app-glorytun-tcp/root/etc/hotplug.d/iface/30-glorytun diff --git a/luci-app-glorytun/root/etc/uci-defaults/1200-luci-glorytun b/luci-app-glorytun-tcp/root/etc/uci-defaults/1200-luci-glorytun similarity index 95% rename from luci-app-glorytun/root/etc/uci-defaults/1200-luci-glorytun rename to luci-app-glorytun-tcp/root/etc/uci-defaults/1200-luci-glorytun index 9d0f93d85..e78973fe0 100644 --- a/luci-app-glorytun/root/etc/uci-defaults/1200-luci-glorytun +++ b/luci-app-glorytun-tcp/root/etc/uci-defaults/1200-luci-glorytun @@ -15,7 +15,7 @@ if [ "$(uci -q get network.glorytun)" = "" ] && [ "$(uci -q get network.omrvpn)" uci -q batch <<-EOF >/dev/null delete network.glorytun set network.glorytun=interface - set network.glorytun.ifname=tun0 + set network.glorytun.device=tun0 set network.glorytun.proto=dhcp set network.glorytun.ip4table=vpn set network.glorytun.multipath=off @@ -48,6 +48,7 @@ if [ "$(uci -q show firewall | grep Allow-All-LAN-to-VPN)" = "" ]; then set firewall.@rule[-1].name='Allow-All-LAN-to-VPN' set firewall.@rule[-1].dest='vpn' set firewall.@rule[-1].src='lan' + set firewall.@rule[-1].proto='all' commit firewall EOF fi diff --git a/luci-app-glorytun-tcp/root/usr/share/luci/menu.d/luci-app-glorytun-tcp.json b/luci-app-glorytun-tcp/root/usr/share/luci/menu.d/luci-app-glorytun-tcp.json new file mode 100644 index 000000000..03e7dcf7a --- /dev/null +++ b/luci-app-glorytun-tcp/root/usr/share/luci/menu.d/luci-app-glorytun-tcp.json @@ -0,0 +1,13 @@ +{ + "admin/vpn/glorytun-tcp": { + "title": "Glorytun TCP", + "order": 60, + "action": { + "type": "view", + "path": "services/glorytun-tcp" + }, + "depends": { + "acl": [ "luci-app-glorytun-tcp" ] + } + } +} diff --git a/luci-app-glorytun-tcp/root/usr/share/rpcd/acl.d/luci-app-glorytun-tcp.json b/luci-app-glorytun-tcp/root/usr/share/rpcd/acl.d/luci-app-glorytun-tcp.json new file mode 100644 index 000000000..f4f288835 --- /dev/null +++ b/luci-app-glorytun-tcp/root/usr/share/rpcd/acl.d/luci-app-glorytun-tcp.json @@ -0,0 +1,11 @@ +{ + "luci-app-glorytun-tcp": { + "description": "Grant access to glorytun TCP", + "read": { + "uci": [ "glorytun" ] + }, + "write": { + "uci": [ "glorytun" ] + } + } +} \ No newline at end of file diff --git a/luci-app-glorytun-udp/Makefile b/luci-app-glorytun-udp/Makefile new file mode 100644 index 000000000..97608e0e7 --- /dev/null +++ b/luci-app-glorytun-udp/Makefile @@ -0,0 +1,16 @@ +# +# Copyright (C) 2018-2020 Ycarus (Yannick Chabanois) +# +# + +include $(TOPDIR)/rules.mk + +LUCI_TITLE:=LuCI Interface to Glorytun UDP +LUCI_DEPENDS:=+glorytun-udp + +PKG_LICENSE:=GPLv3 + +#include ../luci/luci.mk +include $(TOPDIR)/feeds/luci/luci.mk + +# call BuildPackage - OpenWrt buildroot signature diff --git a/luci-app-glorytun-udp/htdocs/luci-static/resources/view/services/glorytun-udp.js b/luci-app-glorytun-udp/htdocs/luci-static/resources/view/services/glorytun-udp.js new file mode 100644 index 000000000..b9e0681fb --- /dev/null +++ b/luci-app-glorytun-udp/htdocs/luci-static/resources/view/services/glorytun-udp.js @@ -0,0 +1,102 @@ +'use strict'; +'require rpc'; +'require poll'; +'require form'; +'require fs'; +'require uci'; +'require tools.widgets as widgets'; + +var callHostHints; + +var callServiceList = rpc.declare({ + object: 'service', + method: 'list', + params: [ 'name' ], + expect: { '': {} } +}); + +return L.view.extend({ + callHostHints: rpc.declare({ + object: 'luci-rpc', + method: 'getHostHints', + expect: { '': {} } + }), + + load: function() { + return this.callHostHints(); + }, + + render: function(hosts) { + var m, s, o; + + m = new form.Map('glorytun-udp', _('Glorytun UDP')); + + s = m.section(form.GridSection, 'glorytun-udp', _('Instances')); + s.addremove = true; + s.anonymous = true; + s.nodescriptions = true; + + s.tab('general', _('General Settings')); + s.tab('advanced', _('Advanced Settings')); + + o = s.taboption('general', form.Flag, 'enable', _('Enabled')); + o.rmempty = false; + + o = s.taboption('general',form.Value, 'label', _('Label')); + o.rmempty = true; + + o = s.taboption('general', form.ListValue, 'mode', _('Mode')); + o.value('to',_('Client')); + o.value('from',_('Server')); + o.modalonly = true; + + o = s.taboption('general', form.Value, 'host', _('Host')); + o.rmempty = false; + + o = s.taboption('general', form.Value, 'port', _('Port')); + o.rmempty = false; + + o = s.taboption('general', form.Value, 'key', _('Key')); + o.rmempty = false; + o.modalonly = true; + + o = s.taboption('general', form.Value, 'dev', _('Interface name')); + o.rmempty = false; + o.modalonly = true; + + o = s.taboption('general', form.Value, 'localip', _('Local IP')); + o.datatype = 'or(ip4addr,ip6addr)'; + o.rmempty = false; + + o = s.taboption('general', form.Value, 'remoteip', _('Remote IP')); + o.datatype = 'or(ip4addr,ip6addr)'; + o.rmempty = false; + + o = s.taboption('advanced', form.Flag, 'persist', _('Persist'), _('Keep the tunnel device after exiting')); + o.modalonly = true; + + o = s.taboption('advanced', form.Flag, 'chacha', _('chacha'), _('Force fallback cipher')); + o.modalonly = true; + + o = s.taboption('advanced', form.Value, 'kxtimeout', _('Key rotation timeout')); + o.default = '7d'; + o.rmempty = false; + o.modalonly = true; + + o = s.taboption('advanced', form.Value, 'timetolerance', _('Clock sync tolerance')); + o.default = '10m'; + o.rmempty = false; + o.modalonly = true; + + o = s.taboption('advanced', form.Value, 'keepalive', _('Keep alive timeout')); + o.default = '25s'; + o.rmempty = false; + o.modalonly = true; + + o = s.taboption('advanced', form.Flag, 'rateauto', _('Dynamic rate detection')); + o.rmempty = false; + o.modalonly = true; + + return m.render(); + } +}); diff --git a/luci-app-glorytun-udp/po/fr/glorytun-udp.po b/luci-app-glorytun-udp/po/fr/glorytun-udp.po new file mode 100644 index 000000000..cab674d18 --- /dev/null +++ b/luci-app-glorytun-udp/po/fr/glorytun-udp.po @@ -0,0 +1,108 @@ +msgid "" +msgstr "" +"PO-Revision-Date: 2021-04-30 16:16+0000\n" +"Last-Translator: Weblate Admin \n" +"Language-Team: French \n" +"Language: fr\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=n > 1;\n" +"X-Generator: Weblate 4.5.2\n" + +#: luci-app-glorytun-udp/htdocs/luci-static/resources/view/services/glorytun-udp.js:40 +msgid "Advanced Settings" +msgstr "Configuration avancée" + +#: luci-app-glorytun-udp/htdocs/luci-static/resources/view/services/glorytun-udp.js:49 +msgid "Client" +msgstr "Client" + +#: luci-app-glorytun-udp/htdocs/luci-static/resources/view/services/glorytun-udp.js:86 +msgid "Clock sync tolerance" +msgstr "Tolérance de synchronisation d'horloge" + +#: luci-app-glorytun-udp/htdocs/luci-static/resources/view/services/glorytun-udp.js:96 +msgid "Dynamic rate detection" +msgstr "Détection dynamique de la vitesse" + +#: luci-app-glorytun-udp/htdocs/luci-static/resources/view/services/glorytun-udp.js:42 +msgid "Enabled" +msgstr "Activer" + +#: luci-app-glorytun-udp/htdocs/luci-static/resources/view/services/glorytun-udp.js:78 +msgid "Force fallback cipher" +msgstr "Forcer le chiffrement de secours" + +#: luci-app-glorytun-udp/htdocs/luci-static/resources/view/services/glorytun-udp.js:39 +msgid "General Settings" +msgstr "Paramètres généraux" + +#: luci-app-glorytun-udp/htdocs/luci-static/resources/view/services/glorytun-udp.js:32 +#: luci-app-glorytun-udp/root/usr/share/luci/menu.d/luci-app-glorytun-udp.json:3 +msgid "Glorytun UDP" +msgstr "Glorytun UDP" + +#: luci-app-glorytun-udp/root/usr/share/rpcd/acl.d/luci-app-glorytun-udp.json:3 +msgid "Grant access to glorytun UDP" +msgstr "Accorder l'accès à Glorytun UDP" + +#: luci-app-glorytun-udp/htdocs/luci-static/resources/view/services/glorytun-udp.js:53 +msgid "Host" +msgstr "Hôte" + +#: luci-app-glorytun-udp/htdocs/luci-static/resources/view/services/glorytun-udp.js:34 +msgid "Instances" +msgstr "Instances" + +#: luci-app-glorytun-udp/htdocs/luci-static/resources/view/services/glorytun-udp.js:63 +msgid "Interface name" +msgstr "Nom de l'interface" + +#: luci-app-glorytun-udp/htdocs/luci-static/resources/view/services/glorytun-udp.js:91 +msgid "Keep alive timeout" +msgstr "Délai de maintien de la connexion (Keep Alive)" + +#: luci-app-glorytun-udp/htdocs/luci-static/resources/view/services/glorytun-udp.js:75 +msgid "Keep the tunnel device after exiting" +msgstr "Gardez le périphérique tunnel après avoir quitté" + +#: luci-app-glorytun-udp/htdocs/luci-static/resources/view/services/glorytun-udp.js:59 +msgid "Key" +msgstr "Clef" + +#: luci-app-glorytun-udp/htdocs/luci-static/resources/view/services/glorytun-udp.js:81 +msgid "Key rotation timeout" +msgstr "Délai de rotation des clés" + +#: luci-app-glorytun-udp/htdocs/luci-static/resources/view/services/glorytun-udp.js:45 +msgid "Label" +msgstr "Étiquette" + +#: luci-app-glorytun-udp/htdocs/luci-static/resources/view/services/glorytun-udp.js:67 +msgid "Local IP" +msgstr "Adresse IP locale" + +#: luci-app-glorytun-udp/htdocs/luci-static/resources/view/services/glorytun-udp.js:48 +msgid "Mode" +msgstr "Mode" + +#: luci-app-glorytun-udp/htdocs/luci-static/resources/view/services/glorytun-udp.js:75 +msgid "Persist" +msgstr "Persister" + +#: luci-app-glorytun-udp/htdocs/luci-static/resources/view/services/glorytun-udp.js:56 +msgid "Port" +msgstr "Port" + +#: luci-app-glorytun-udp/htdocs/luci-static/resources/view/services/glorytun-udp.js:71 +msgid "Remote IP" +msgstr "IP Distante" + +#: luci-app-glorytun-udp/htdocs/luci-static/resources/view/services/glorytun-udp.js:50 +msgid "Server" +msgstr "Serveur" + +#: luci-app-glorytun-udp/htdocs/luci-static/resources/view/services/glorytun-udp.js:78 +msgid "chacha" +msgstr "Chacha" diff --git a/luci-app-glorytun-udp/po/fr/glorytun-udp.po~ b/luci-app-glorytun-udp/po/fr/glorytun-udp.po~ new file mode 100644 index 000000000..6c7e564dc --- /dev/null +++ b/luci-app-glorytun-udp/po/fr/glorytun-udp.po~ @@ -0,0 +1,108 @@ +msgid "" +msgstr "" +"PO-Revision-Date: 2021-04-30 16:16+0000\n" +"Last-Translator: Weblate Admin \n" +"Language-Team: French \n" +"Language: fr\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=n > 1;\n" +"X-Generator: Weblate 4.5.2\n" + +#: luci-app-glorytun-udp/htdocs/luci-static/resources/view/services/glorytun-udp.js:40 +msgid "Advanced Settings" +msgstr "Configuration avancée" + +#: luci-app-glorytun-udp/htdocs/luci-static/resources/view/services/glorytun-udp.js:46 +msgid "Client" +msgstr "Client" + +#: luci-app-glorytun-udp/htdocs/luci-static/resources/view/services/glorytun-udp.js:85 +msgid "Clock sync tolerance" +msgstr "Tolérance de synchronisation d'horloge" + +#: luci-app-glorytun-udp/htdocs/luci-static/resources/view/services/glorytun-udp.js:95 +msgid "Dynamic rate detection" +msgstr "Détection dynamique de la vitesse" + +#: luci-app-glorytun-udp/htdocs/luci-static/resources/view/services/glorytun-udp.js:42 +msgid "Enabled" +msgstr "Activer" + +#: luci-app-glorytun-udp/htdocs/luci-static/resources/view/services/glorytun-udp.js:76 +msgid "Force fallback cipher" +msgstr "Forcer le chiffrement de secours" + +#: luci-app-glorytun-udp/htdocs/luci-static/resources/view/services/glorytun-udp.js:39 +msgid "General Settings" +msgstr "Paramètres généraux" + +#: luci-app-glorytun-udp/htdocs/luci-static/resources/view/services/glorytun-udp.js:32 +#: luci-app-glorytun-udp/root/usr/share/luci/menu.d/luci-app-glorytun-udp.json:3 +msgid "Glorytun UDP" +msgstr "Glorytun UDP" + +#: luci-app-glorytun-udp/root/usr/share/rpcd/acl.d/luci-app-glorytun-udp.json:3 +msgid "Grant access to glorytun UDP" +msgstr "Accorder l'accès à Glorytun UDP" + +#: luci-app-glorytun-udp/htdocs/luci-static/resources/view/services/glorytun-udp.js:50 +msgid "Host" +msgstr "Hôte" + +#: luci-app-glorytun-udp/htdocs/luci-static/resources/view/services/glorytun-udp.js:34 +msgid "Instances" +msgstr "Instances" + +#: luci-app-glorytun-udp/htdocs/luci-static/resources/view/services/glorytun-udp.js:60 +msgid "Interface name" +msgstr "Nom de l'interface" + +#: luci-app-glorytun-udp/htdocs/luci-static/resources/view/services/glorytun-udp.js:90 +msgid "Keep alive timeout" +msgstr "Délai de maintien de la connexion (Keep Alive)" + +#: luci-app-glorytun-udp/htdocs/luci-static/resources/view/services/glorytun-udp.js:72 +msgid "Keep the tunnel device after exiting" +msgstr "Gardez le périphérique tunnel après avoir quitté" + +#: luci-app-glorytun-udp/htdocs/luci-static/resources/view/services/glorytun-udp.js:56 +msgid "Key" +msgstr "Clef" + +#: luci-app-glorytun-udp/htdocs/luci-static/resources/view/services/glorytun-udp.js:80 +msgid "Key rotation timeout" +msgstr "Délai de rotation des clés" + +#: luci-app-glorytun-udp/htdocs/luci-static/resources/view/services/glorytun-udp.js:99 +msgid "Label" +msgstr "Étiquette" + +#: luci-app-glorytun-udp/htdocs/luci-static/resources/view/services/glorytun-udp.js:64 +msgid "Local IP" +msgstr "Adresse IP locale" + +#: luci-app-glorytun-udp/htdocs/luci-static/resources/view/services/glorytun-udp.js:45 +msgid "Mode" +msgstr "Mode" + +#: luci-app-glorytun-udp/htdocs/luci-static/resources/view/services/glorytun-udp.js:72 +msgid "Persist" +msgstr "Persister" + +#: luci-app-glorytun-udp/htdocs/luci-static/resources/view/services/glorytun-udp.js:53 +msgid "Port" +msgstr "Port" + +#: luci-app-glorytun-udp/htdocs/luci-static/resources/view/services/glorytun-udp.js:68 +msgid "Remote IP" +msgstr "IP Distante" + +#: luci-app-glorytun-udp/htdocs/luci-static/resources/view/services/glorytun-udp.js:47 +msgid "Server" +msgstr "Serveur" + +#: luci-app-glorytun-udp/htdocs/luci-static/resources/view/services/glorytun-udp.js:76 +msgid "chacha" +msgstr "Chacha" diff --git a/luci-app-glorytun-udp/po/ru/glorytun-udp.po b/luci-app-glorytun-udp/po/ru/glorytun-udp.po new file mode 100644 index 000000000..29e624040 --- /dev/null +++ b/luci-app-glorytun-udp/po/ru/glorytun-udp.po @@ -0,0 +1,109 @@ +msgid "" +msgstr "" +"PO-Revision-Date: 2021-06-16 10:51+0000\n" +"Last-Translator: Dmitry Galenko \n" +"Language-Team: Russian \n" +"Language: ru\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n" +"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" +"X-Generator: Weblate 4.6.1\n" + +#: luci-app-glorytun-udp/htdocs/luci-static/resources/view/services/glorytun-udp.js:40 +msgid "Advanced Settings" +msgstr "Дополнительные настройки" + +#: luci-app-glorytun-udp/htdocs/luci-static/resources/view/services/glorytun-udp.js:49 +msgid "Client" +msgstr "Клиент" + +#: luci-app-glorytun-udp/htdocs/luci-static/resources/view/services/glorytun-udp.js:86 +msgid "Clock sync tolerance" +msgstr "Допуск синхронизации часов" + +#: luci-app-glorytun-udp/htdocs/luci-static/resources/view/services/glorytun-udp.js:96 +msgid "Dynamic rate detection" +msgstr "Определение динамической скорости" + +#: luci-app-glorytun-udp/htdocs/luci-static/resources/view/services/glorytun-udp.js:42 +msgid "Enabled" +msgstr "Установлено" + +#: luci-app-glorytun-udp/htdocs/luci-static/resources/view/services/glorytun-udp.js:78 +msgid "Force fallback cipher" +msgstr "Принудительное резервное шифрование" + +#: luci-app-glorytun-udp/htdocs/luci-static/resources/view/services/glorytun-udp.js:39 +msgid "General Settings" +msgstr "Основные настройки" + +#: luci-app-glorytun-udp/htdocs/luci-static/resources/view/services/glorytun-udp.js:32 +#: luci-app-glorytun-udp/root/usr/share/luci/menu.d/luci-app-glorytun-udp.json:3 +msgid "Glorytun UDP" +msgstr "Glorytun UDP" + +#: luci-app-glorytun-udp/root/usr/share/rpcd/acl.d/luci-app-glorytun-udp.json:3 +msgid "Grant access to glorytun UDP" +msgstr "Полный доступ к glorytun UDP" + +#: luci-app-glorytun-udp/htdocs/luci-static/resources/view/services/glorytun-udp.js:53 +msgid "Host" +msgstr "Хост" + +#: luci-app-glorytun-udp/htdocs/luci-static/resources/view/services/glorytun-udp.js:34 +msgid "Instances" +msgstr "Экземпляры" + +#: luci-app-glorytun-udp/htdocs/luci-static/resources/view/services/glorytun-udp.js:63 +msgid "Interface name" +msgstr "Имя интерфейса" + +#: luci-app-glorytun-udp/htdocs/luci-static/resources/view/services/glorytun-udp.js:91 +msgid "Keep alive timeout" +msgstr "Таймаут активности" + +#: luci-app-glorytun-udp/htdocs/luci-static/resources/view/services/glorytun-udp.js:75 +msgid "Keep the tunnel device after exiting" +msgstr "Сохранить туннель после выхода" + +#: luci-app-glorytun-udp/htdocs/luci-static/resources/view/services/glorytun-udp.js:59 +msgid "Key" +msgstr "Ключ" + +#: luci-app-glorytun-udp/htdocs/luci-static/resources/view/services/glorytun-udp.js:81 +msgid "Key rotation timeout" +msgstr "Тайм-аут смены ключа" + +#: luci-app-glorytun-udp/htdocs/luci-static/resources/view/services/glorytun-udp.js:45 +msgid "Label" +msgstr "Метка" + +#: luci-app-glorytun-udp/htdocs/luci-static/resources/view/services/glorytun-udp.js:67 +msgid "Local IP" +msgstr "Локальный IP" + +#: luci-app-glorytun-udp/htdocs/luci-static/resources/view/services/glorytun-udp.js:48 +msgid "Mode" +msgstr "Режим" + +#: luci-app-glorytun-udp/htdocs/luci-static/resources/view/services/glorytun-udp.js:75 +msgid "Persist" +msgstr "Удерживать" + +#: luci-app-glorytun-udp/htdocs/luci-static/resources/view/services/glorytun-udp.js:56 +msgid "Port" +msgstr "Порт" + +#: luci-app-glorytun-udp/htdocs/luci-static/resources/view/services/glorytun-udp.js:71 +msgid "Remote IP" +msgstr "Удаленный IP" + +#: luci-app-glorytun-udp/htdocs/luci-static/resources/view/services/glorytun-udp.js:50 +msgid "Server" +msgstr "Сервер" + +#: luci-app-glorytun-udp/htdocs/luci-static/resources/view/services/glorytun-udp.js:78 +msgid "chacha" +msgstr "Chacha" diff --git a/luci-app-glorytun-udp/po/templates/glorytun-udp.pot b/luci-app-glorytun-udp/po/templates/glorytun-udp.pot new file mode 100644 index 000000000..c292fcace --- /dev/null +++ b/luci-app-glorytun-udp/po/templates/glorytun-udp.pot @@ -0,0 +1,99 @@ +msgid "" +msgstr "Content-Type: text/plain; charset=UTF-8" + +#: luci-app-glorytun-udp/htdocs/luci-static/resources/view/services/glorytun-udp.js:40 +msgid "Advanced Settings" +msgstr "" + +#: luci-app-glorytun-udp/htdocs/luci-static/resources/view/services/glorytun-udp.js:49 +msgid "Client" +msgstr "" + +#: luci-app-glorytun-udp/htdocs/luci-static/resources/view/services/glorytun-udp.js:86 +msgid "Clock sync tolerance" +msgstr "" + +#: luci-app-glorytun-udp/htdocs/luci-static/resources/view/services/glorytun-udp.js:96 +msgid "Dynamic rate detection" +msgstr "" + +#: luci-app-glorytun-udp/htdocs/luci-static/resources/view/services/glorytun-udp.js:42 +msgid "Enabled" +msgstr "" + +#: luci-app-glorytun-udp/htdocs/luci-static/resources/view/services/glorytun-udp.js:78 +msgid "Force fallback cipher" +msgstr "" + +#: luci-app-glorytun-udp/htdocs/luci-static/resources/view/services/glorytun-udp.js:39 +msgid "General Settings" +msgstr "" + +#: luci-app-glorytun-udp/htdocs/luci-static/resources/view/services/glorytun-udp.js:32 +#: luci-app-glorytun-udp/root/usr/share/luci/menu.d/luci-app-glorytun-udp.json:3 +msgid "Glorytun UDP" +msgstr "" + +#: luci-app-glorytun-udp/root/usr/share/rpcd/acl.d/luci-app-glorytun-udp.json:3 +msgid "Grant access to glorytun UDP" +msgstr "" + +#: luci-app-glorytun-udp/htdocs/luci-static/resources/view/services/glorytun-udp.js:53 +msgid "Host" +msgstr "" + +#: luci-app-glorytun-udp/htdocs/luci-static/resources/view/services/glorytun-udp.js:34 +msgid "Instances" +msgstr "" + +#: luci-app-glorytun-udp/htdocs/luci-static/resources/view/services/glorytun-udp.js:63 +msgid "Interface name" +msgstr "" + +#: luci-app-glorytun-udp/htdocs/luci-static/resources/view/services/glorytun-udp.js:91 +msgid "Keep alive timeout" +msgstr "" + +#: luci-app-glorytun-udp/htdocs/luci-static/resources/view/services/glorytun-udp.js:75 +msgid "Keep the tunnel device after exiting" +msgstr "" + +#: luci-app-glorytun-udp/htdocs/luci-static/resources/view/services/glorytun-udp.js:59 +msgid "Key" +msgstr "" + +#: luci-app-glorytun-udp/htdocs/luci-static/resources/view/services/glorytun-udp.js:81 +msgid "Key rotation timeout" +msgstr "" + +#: luci-app-glorytun-udp/htdocs/luci-static/resources/view/services/glorytun-udp.js:45 +msgid "Label" +msgstr "" + +#: luci-app-glorytun-udp/htdocs/luci-static/resources/view/services/glorytun-udp.js:67 +msgid "Local IP" +msgstr "" + +#: luci-app-glorytun-udp/htdocs/luci-static/resources/view/services/glorytun-udp.js:48 +msgid "Mode" +msgstr "" + +#: luci-app-glorytun-udp/htdocs/luci-static/resources/view/services/glorytun-udp.js:75 +msgid "Persist" +msgstr "" + +#: luci-app-glorytun-udp/htdocs/luci-static/resources/view/services/glorytun-udp.js:56 +msgid "Port" +msgstr "" + +#: luci-app-glorytun-udp/htdocs/luci-static/resources/view/services/glorytun-udp.js:71 +msgid "Remote IP" +msgstr "" + +#: luci-app-glorytun-udp/htdocs/luci-static/resources/view/services/glorytun-udp.js:50 +msgid "Server" +msgstr "" + +#: luci-app-glorytun-udp/htdocs/luci-static/resources/view/services/glorytun-udp.js:78 +msgid "chacha" +msgstr "" diff --git a/luci-app-glorytun-udp/po/zh_Hans/glorytun-udp.po b/luci-app-glorytun-udp/po/zh_Hans/glorytun-udp.po new file mode 100644 index 000000000..14e382bbf --- /dev/null +++ b/luci-app-glorytun-udp/po/zh_Hans/glorytun-udp.po @@ -0,0 +1,108 @@ +msgid "" +msgstr "" +"PO-Revision-Date: 2021-05-05 11:40+0000\n" +"Last-Translator: niergouge <1150108426@qq.com>\n" +"Language-Team: Chinese (Simplified) \n" +"Language: zh_Hans\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=1; plural=0;\n" +"X-Generator: Weblate 4.6.1\n" + +#: luci-app-glorytun-udp/htdocs/luci-static/resources/view/services/glorytun-udp.js:40 +msgid "Advanced Settings" +msgstr "高级设置" + +#: luci-app-glorytun-udp/htdocs/luci-static/resources/view/services/glorytun-udp.js:49 +msgid "Client" +msgstr "客户端" + +#: luci-app-glorytun-udp/htdocs/luci-static/resources/view/services/glorytun-udp.js:86 +msgid "Clock sync tolerance" +msgstr "时钟同步容限" + +#: luci-app-glorytun-udp/htdocs/luci-static/resources/view/services/glorytun-udp.js:96 +msgid "Dynamic rate detection" +msgstr "动态速率检测" + +#: luci-app-glorytun-udp/htdocs/luci-static/resources/view/services/glorytun-udp.js:42 +msgid "Enabled" +msgstr "启用" + +#: luci-app-glorytun-udp/htdocs/luci-static/resources/view/services/glorytun-udp.js:78 +msgid "Force fallback cipher" +msgstr "强制回退密码" + +#: luci-app-glorytun-udp/htdocs/luci-static/resources/view/services/glorytun-udp.js:39 +msgid "General Settings" +msgstr "通用设置" + +#: luci-app-glorytun-udp/htdocs/luci-static/resources/view/services/glorytun-udp.js:32 +#: luci-app-glorytun-udp/root/usr/share/luci/menu.d/luci-app-glorytun-udp.json:3 +msgid "Glorytun UDP" +msgstr "glorytun UDP" + +#: luci-app-glorytun-udp/root/usr/share/rpcd/acl.d/luci-app-glorytun-udp.json:3 +msgid "Grant access to glorytun UDP" +msgstr "授予访问glorytun UDP的权限" + +#: luci-app-glorytun-udp/htdocs/luci-static/resources/view/services/glorytun-udp.js:53 +msgid "Host" +msgstr "主机" + +#: luci-app-glorytun-udp/htdocs/luci-static/resources/view/services/glorytun-udp.js:34 +msgid "Instances" +msgstr "实例" + +#: luci-app-glorytun-udp/htdocs/luci-static/resources/view/services/glorytun-udp.js:63 +msgid "Interface name" +msgstr "接口名称" + +#: luci-app-glorytun-udp/htdocs/luci-static/resources/view/services/glorytun-udp.js:91 +msgid "Keep alive timeout" +msgstr "保持超时" + +#: luci-app-glorytun-udp/htdocs/luci-static/resources/view/services/glorytun-udp.js:75 +msgid "Keep the tunnel device after exiting" +msgstr "退出后保留隧道设备" + +#: luci-app-glorytun-udp/htdocs/luci-static/resources/view/services/glorytun-udp.js:59 +msgid "Key" +msgstr "秘钥" + +#: luci-app-glorytun-udp/htdocs/luci-static/resources/view/services/glorytun-udp.js:81 +msgid "Key rotation timeout" +msgstr "秘钥轮换超时" + +#: luci-app-glorytun-udp/htdocs/luci-static/resources/view/services/glorytun-udp.js:45 +msgid "Label" +msgstr "标签" + +#: luci-app-glorytun-udp/htdocs/luci-static/resources/view/services/glorytun-udp.js:67 +msgid "Local IP" +msgstr "本地IP" + +#: luci-app-glorytun-udp/htdocs/luci-static/resources/view/services/glorytun-udp.js:48 +msgid "Mode" +msgstr "模式" + +#: luci-app-glorytun-udp/htdocs/luci-static/resources/view/services/glorytun-udp.js:75 +msgid "Persist" +msgstr "保持" + +#: luci-app-glorytun-udp/htdocs/luci-static/resources/view/services/glorytun-udp.js:56 +msgid "Port" +msgstr "端口" + +#: luci-app-glorytun-udp/htdocs/luci-static/resources/view/services/glorytun-udp.js:71 +msgid "Remote IP" +msgstr "远程IP" + +#: luci-app-glorytun-udp/htdocs/luci-static/resources/view/services/glorytun-udp.js:50 +msgid "Server" +msgstr "服务器" + +#: luci-app-glorytun-udp/htdocs/luci-static/resources/view/services/glorytun-udp.js:78 +msgid "chacha" +msgstr "chacha密码" diff --git a/luci-app-glorytun-udp/po/zh_Hans/glorytun-udp.po~ b/luci-app-glorytun-udp/po/zh_Hans/glorytun-udp.po~ new file mode 100644 index 000000000..3491db1ab --- /dev/null +++ b/luci-app-glorytun-udp/po/zh_Hans/glorytun-udp.po~ @@ -0,0 +1,108 @@ +msgid "" +msgstr "" +"PO-Revision-Date: 2021-04-30 16:21+0000\n" +"Last-Translator: Weblate Admin \n" +"Language-Team: Chinese (Simplified) \n" +"Language: zh_Hans\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=1; plural=0;\n" +"X-Generator: Weblate 4.5.2\n" + +#: luci-app-glorytun-udp/htdocs/luci-static/resources/view/services/glorytun-udp.js:40 +msgid "Advanced Settings" +msgstr "高级设置" + +#: luci-app-glorytun-udp/htdocs/luci-static/resources/view/services/glorytun-udp.js:46 +msgid "Client" +msgstr "客户端" + +#: luci-app-glorytun-udp/htdocs/luci-static/resources/view/services/glorytun-udp.js:85 +msgid "Clock sync tolerance" +msgstr "时钟同步容限" + +#: luci-app-glorytun-udp/htdocs/luci-static/resources/view/services/glorytun-udp.js:95 +msgid "Dynamic rate detection" +msgstr "动态速率检测" + +#: luci-app-glorytun-udp/htdocs/luci-static/resources/view/services/glorytun-udp.js:42 +msgid "Enabled" +msgstr "开启" + +#: luci-app-glorytun-udp/htdocs/luci-static/resources/view/services/glorytun-udp.js:76 +msgid "Force fallback cipher" +msgstr "强制回退密码" + +#: luci-app-glorytun-udp/htdocs/luci-static/resources/view/services/glorytun-udp.js:39 +msgid "General Settings" +msgstr "通用设置" + +#: luci-app-glorytun-udp/htdocs/luci-static/resources/view/services/glorytun-udp.js:32 +#: luci-app-glorytun-udp/root/usr/share/luci/menu.d/luci-app-glorytun-udp.json:3 +msgid "Glorytun UDP" +msgstr "glorytun UDP" + +#: luci-app-glorytun-udp/root/usr/share/rpcd/acl.d/luci-app-glorytun-udp.json:3 +msgid "Grant access to glorytun UDP" +msgstr "授予访问glorytun UDP的权限" + +#: luci-app-glorytun-udp/htdocs/luci-static/resources/view/services/glorytun-udp.js:50 +msgid "Host" +msgstr "主机" + +#: luci-app-glorytun-udp/htdocs/luci-static/resources/view/services/glorytun-udp.js:34 +msgid "Instances" +msgstr "实例" + +#: luci-app-glorytun-udp/htdocs/luci-static/resources/view/services/glorytun-udp.js:60 +msgid "Interface name" +msgstr "接口名称" + +#: luci-app-glorytun-udp/htdocs/luci-static/resources/view/services/glorytun-udp.js:90 +msgid "Keep alive timeout" +msgstr "保持超时" + +#: luci-app-glorytun-udp/htdocs/luci-static/resources/view/services/glorytun-udp.js:72 +msgid "Keep the tunnel device after exiting" +msgstr "退出后保留隧道设备" + +#: luci-app-glorytun-udp/htdocs/luci-static/resources/view/services/glorytun-udp.js:56 +msgid "Key" +msgstr "秘钥" + +#: luci-app-glorytun-udp/htdocs/luci-static/resources/view/services/glorytun-udp.js:80 +msgid "Key rotation timeout" +msgstr "秘钥轮换超时" + +#: luci-app-glorytun-udp/htdocs/luci-static/resources/view/services/glorytun-udp.js:99 +msgid "Label" +msgstr "标签" + +#: luci-app-glorytun-udp/htdocs/luci-static/resources/view/services/glorytun-udp.js:64 +msgid "Local IP" +msgstr "本地IP" + +#: luci-app-glorytun-udp/htdocs/luci-static/resources/view/services/glorytun-udp.js:45 +msgid "Mode" +msgstr "模式" + +#: luci-app-glorytun-udp/htdocs/luci-static/resources/view/services/glorytun-udp.js:72 +msgid "Persist" +msgstr "保持" + +#: luci-app-glorytun-udp/htdocs/luci-static/resources/view/services/glorytun-udp.js:53 +msgid "Port" +msgstr "端口" + +#: luci-app-glorytun-udp/htdocs/luci-static/resources/view/services/glorytun-udp.js:68 +msgid "Remote IP" +msgstr "远程IP" + +#: luci-app-glorytun-udp/htdocs/luci-static/resources/view/services/glorytun-udp.js:47 +msgid "Server" +msgstr "服务器" + +#: luci-app-glorytun-udp/htdocs/luci-static/resources/view/services/glorytun-udp.js:76 +msgid "chacha" +msgstr "chacha密码" diff --git a/luci-app-glorytun-udp/root/etc/hotplug.d/iface/30-glorytun-udp b/luci-app-glorytun-udp/root/etc/hotplug.d/iface/30-glorytun-udp new file mode 100644 index 000000000..1ccf10b8c --- /dev/null +++ b/luci-app-glorytun-udp/root/etc/hotplug.d/iface/30-glorytun-udp @@ -0,0 +1,35 @@ +#!/bin/sh +# +# Load the glorytun config +# +# Author: Ycarus (Yannick Chabanois) +# Released under GPL 3 or later + +[ "$ACTION" = ifup -o "$ACTION" = ifupdate ] || exit 0 + +. /lib/functions.sh +. /lib/functions/network.sh + +set_default() { + local localip + local remoteip + local config="$1" + local iface + config_get enable "$config" enable + config_get iface "$config" dev + [ "$iface" = "$DEVICE" ] && [ "$enable" = "1" ] && { + config_get localip "$config" localip + config_get remoteip "$config" remoteip + config_get kxtimeout "$config" kxtimeout "7d" + config_get timetolerance "$config" timetolerance "10m" + config_get keepalive "$config" keepalive "25s" + [ "$remoteip" != "" ] && [ "$localip" != "" ] && ifconfig $DEVICE $localip pointopoint $remoteip up + while [ -z "$(glorytun-udp list | grep $iface)" ]; do + sleep 1 + done + glorytun-udp set dev $iface kxtimeout $kxtimeout timetolerance $timetolerance keepalive $keepalive + } +} + +config_load glorytun-udp +config_foreach set_default glorytun-udp diff --git a/luci-app-glorytun-udp/root/etc/uci-defaults/1201-luci-glorytun-udp b/luci-app-glorytun-udp/root/etc/uci-defaults/1201-luci-glorytun-udp new file mode 100644 index 000000000..ebe335318 --- /dev/null +++ b/luci-app-glorytun-udp/root/etc/uci-defaults/1201-luci-glorytun-udp @@ -0,0 +1,47 @@ +#!/bin/sh + +uci -q batch <<-EOF >/dev/null + delete glorytun-udp[-1] + add ucitrack glorytun-udp + set ucitrack.@glorytun-udp[-1].init=glorytun-udp + commit ucitrack +EOF + +if [ "$(uci -q get network.glorytun-udp)" = "" ] && [ "$(uci -q get network.omrvpn)" = "" ]; then + uci -q batch <<-EOF >/dev/null + delete network.glorytun-udp + set network.glorytun-udp=interface + set network.glorytun-udp.device=tun0 + set network.glorytun-udp.proto=dhcp + set network.glorytun-udp.ip4table=vpn + set network.glorytun-udp.multipath=off + set network.glorytun-udp.leasetime=12h + commit network + EOF +fi + +if [ "$(uci -q show firewall | grep glorytun-udp)" = "" ] && [ "$(uci -q get network.omrvpn)" = "" ]; then + uci -q batch <<-EOF >/dev/null + set firewall.zone_vpn=zone + set firewall.zone_vpn.name=vpn + set firewall.zone_vpn.network=glorytun-udp + set firewall.zone_vpn.masq=1 + set firewall.zone_vpn.input=REJECT + set firewall.zone_vpn.forward=ACCEPT + set firewall.zone_vpn.output=ACCEPT + commit firewall + EOF +fi +if [ "$(uci -q show firewall | grep Allow-All-LAN-to-VPN)" = "" ]; then + uci -q batch <<-EOF >/dev/null + add firewall rule + set firewall.@rule[-1].enabled='1' + set firewall.@rule[-1].target='ACCEPT' + set firewall.@rule[-1].name='Allow-All-LAN-to-VPN' + set firewall.@rule[-1].dest='vpn' + set firewall.@rule[-1].src='lan' + commit firewall + EOF +fi +rm -f /tmp/luci-indexcache +exit 0 diff --git a/luci-app-glorytun-udp/root/usr/share/luci/menu.d/luci-app-glorytun-udp.json b/luci-app-glorytun-udp/root/usr/share/luci/menu.d/luci-app-glorytun-udp.json new file mode 100644 index 000000000..b84551484 --- /dev/null +++ b/luci-app-glorytun-udp/root/usr/share/luci/menu.d/luci-app-glorytun-udp.json @@ -0,0 +1,13 @@ +{ + "admin/vpn/glorytun-udp": { + "title": "Glorytun UDP", + "order": 60, + "action": { + "type": "view", + "path": "services/glorytun-udp" + }, + "depends": { + "acl": [ "luci-app-glorytun-udp" ] + } + } +} diff --git a/luci-app-glorytun-udp/root/usr/share/rpcd/acl.d/luci-app-glorytun-udp.json b/luci-app-glorytun-udp/root/usr/share/rpcd/acl.d/luci-app-glorytun-udp.json new file mode 100644 index 000000000..3e24adb8e --- /dev/null +++ b/luci-app-glorytun-udp/root/usr/share/rpcd/acl.d/luci-app-glorytun-udp.json @@ -0,0 +1,11 @@ +{ + "luci-app-glorytun-udp": { + "description": "Grant access to glorytun UDP", + "read": { + "uci": [ "glorytun-udp" ] + }, + "write": { + "uci": [ "glorytun-udp" ] + } + } +} \ No newline at end of file diff --git a/luci-app-glorytun/Makefile b/luci-app-glorytun/Makefile deleted file mode 100644 index b582773b2..000000000 --- a/luci-app-glorytun/Makefile +++ /dev/null @@ -1,21 +0,0 @@ -# -# Copyright (C) 2008-2014 The LuCI Team -# Copyright (C) 2017-2019 Ycarus (Yannick Chabanois) -# -# This is based on OpenVPN LuCI Support. -# This is free software, licensed under the Apache License, Version 2.0 . -# - -include $(TOPDIR)/rules.mk - -LUCI_TITLE:=LuCI Support for Glorytun -LUCI_DEPENDS:=+glorytun +glorytun-udp -LUCI_PKGARCH:=all -PKG_LICENSE:=GPLv2 - -PKG_MAINTAINER:=Ycarus (Yannick Chabanois) - -#include ../luci/luci.mk -include $(TOPDIR)/feeds/luci/luci.mk - -# call BuildPackage - OpenWrt buildroot signature diff --git a/luci-app-glorytun/luasrc/controller/glorytun.lua b/luci-app-glorytun/luasrc/controller/glorytun.lua deleted file mode 100644 index c9917bb74..000000000 --- a/luci-app-glorytun/luasrc/controller/glorytun.lua +++ /dev/null @@ -1,14 +0,0 @@ --- Copyright 2018 - 2019 Ycarus (Yannick Chabanois) --- Licensed to the public under the Apache License 2.0. - -module("luci.controller.glorytun", package.seeall) - -function index() - if not nixio.fs.access("/etc/config/glorytun") then - return - end - --entry({"admin", "services", "glorytun"}, cbi("glorytun"), _("Glorytun") ) - --entry({"admin", "services", "glorytun", "settings"}, cbi("glorytun-settings"), nil ).leaf = true - entry({"admin", "vpn", "glorytun"}, cbi("glorytun"), _("Glorytun") ) - entry({"admin", "vpn", "glorytun", "settings"}, cbi("glorytun-settings"), nil ).leaf = true -end diff --git a/luci-app-glorytun/luasrc/model/cbi/glorytun-settings.lua b/luci-app-glorytun/luasrc/model/cbi/glorytun-settings.lua deleted file mode 100644 index aab2f460c..000000000 --- a/luci-app-glorytun/luasrc/model/cbi/glorytun-settings.lua +++ /dev/null @@ -1,83 +0,0 @@ --- Copyright 2018 Ycarus (Yannick Chabanois) --- Copyright 2008 Steven Barth --- Licensed to the public under the Apache License 2.0. - -require("luci.ip") -require("luci.model.uci") - - -local basicParams = { - -- - -- Widget, Name, Default(s), Description - -- - - { Flag,"enable",0, translate("Enable") }, - { Value,"port",65001, translate("TCP port # for both local and remote") }, - { Value,"dev","tun0", translate("Interface name") }, - { Value,"host","vpnserver.example.org", translate("Remote host name or ip address") }, - { Value,"localip","192.168.99.2", translate("Local tunnel ip address") }, - { Value,"remoteip","192.168.99.1", translate("Remote tunnel ip address") }, - { Value,"key","secretkey", translate("The secret key") }, - { ListValue,"proto",{ "tcp", "udp" }, translate("Protocol") }, - { Flag,"listener",0, translate("Server mode") }, - - { Value,"bind","", translate("Bind address") }, - --{ Value,"bind-backup","", translate("Bind backup") }, - { Value,"bindport",65002, translate("Bind port") }, - { Value,"mtu",1500, translate("MTU") }, - { Flag,"mtuauto",0, translate("MTU auto") }, - - { Flag,"mptcp",0, translate("MPTCP") }, - { Flag,"chacha20",0, translate("Use ChaCha20 stream cipher") } -} - - -local m = Map("glorytun") -local p = m:section( SimpleSection ) - -p.template = "glorytun/pageswitch" -p.mode = "settings" -p.instance = arg[1] - - -local s = m:section( NamedSection, arg[1], "glorytun" ) - -for _, option in ipairs(basicParams) do - local o = s:option( - option[1], option[2], - option[2], option[4] - ) - - o.optional = true - - if option[1] == DummyValue then - o.value = option[3] - else - if option[1] == DynamicList then - function o.cfgvalue(...) - local val = AbstractValue.cfgvalue(...) - return ( val and type(val) ~= "table" ) and { val } or val - end - end - - if type(option[3]) == "table" then - if o.optional then o:value("", "-- remove --") end - for _, v in ipairs(option[3]) do - v = tostring(v) - o:value(v) - end - o.default = tostring(option[3][1]) - else - o.default = tostring(option[3]) - end - end - - for i=5,#option do - if type(option[i]) == "table" then - o:depends(option[i]) - end - end -end - -return m - diff --git a/luci-app-glorytun/luasrc/model/cbi/glorytun.lua b/luci-app-glorytun/luasrc/model/cbi/glorytun.lua deleted file mode 100644 index 1fb1b829e..000000000 --- a/luci-app-glorytun/luasrc/model/cbi/glorytun.lua +++ /dev/null @@ -1,147 +0,0 @@ --- Copyright 2018 Ycarus (Yannick Chabanois) --- Copyright 2008 Steven Barth --- Licensed to the public under the Apache License 2.0. - -local fs = require "nixio.fs" -local sys = require "luci.sys" -local uci = require "luci.model.uci".cursor() -local testfullps = luci.sys.exec("ps --help 2>&1 | grep BusyBox") --check which ps do we have -local psstring = (string.len(testfullps)>0) and "ps w" or "ps axfw" --set command we use to get pid - -local m = Map("glorytun", translate("Glorytun")) -local s = m:section( TypedSection, "glorytun", translate("Glorytun instances"), translate("Below is a list of configured Glorytun instances and their current state") ) -s.template = "cbi/tblsection" -s.template_addremove = "glorytun/cbi-select-input-add" -s.addremove = true -s.add_select_options = { } -s.add_select_options[''] = '' -s.extedit = luci.dispatcher.build_url( - "admin", "vpn", "glorytun", "settings", "%s" -) - -uci:load("glorytun_recipes") -uci:foreach( "glorytun_recipes", "glorytun_recipe", - function(section) - s.add_select_options[section['.name']] = - section['_description'] or section['.name'] - end -) - -function s.getPID(section) -- Universal function which returns valid pid # or nil - local pid = sys.exec("%s | grep -w %s | grep glorytun | grep -v grep | awk '{print $1}'" % { psstring,section} ) - if pid and #pid > 0 and tonumber(pid) ~= nil then - return tonumber(pid) - else - return nil - end -end - -function s.parse(self, section) - local recipe = luci.http.formvalue( - luci.cbi.CREATE_PREFIX .. self.config .. "." .. - self.sectiontype .. ".select" - ) - - if recipe and not s.add_select_options[recipe] then - self.invalid_cts = true - else - TypedSection.parse( self, section ) - end -end - -function s.create(self, name) - local recipe = luci.http.formvalue( - luci.cbi.CREATE_PREFIX .. self.config .. "." .. - self.sectiontype .. ".select" - ) - name = luci.http.formvalue( - luci.cbi.CREATE_PREFIX .. self.config .. "." .. - self.sectiontype .. ".text" - ) - if #name > 3 and not name:match("[^a-zA-Z0-9_]") then - --uci:section( - -- "glorytun", "glorytun", name, - -- uci:get_all( "glorytun_recipes", recipe ) - --) - local recipe_data = uci:get_all( "glorytun_recipes", recipe ) - uci:set("glorytun", name,"glorytun") - local k, v - for k, v in pairs(recipe_data) do - uci:set("glorytun", name, k,v) - end - - uci:delete("glorytun", name, "_role") - uci:delete("glorytun", name, "_description") - uci:commit("glorytun") - uci:save("glorytun") - - luci.http.redirect( self.extedit:format(name) ) - elseif #name > 0 then - self.invalid_cts = true - end - - return 0 -end - - -s:option( Flag, "enable", translate("Enabled") ) - -local active = s:option( DummyValue, "_active", translate("Started") ) -function active.cfgvalue(self, section) - local pid = s.getPID(section) - if pid ~= nil then - return (sys.process.signal(pid, 0)) - and translatef("yes (%i)", pid) - or translate("no") - end - return translate("no") -end - -local updown = s:option( Button, "_updown", translate("Start/Stop") ) -updown._state = false -updown.redirect = luci.dispatcher.build_url( - "admin", "vpn", "glorytun" -) -function updown.cbid(self, section) - local pid = s.getPID(section) - self._state = pid ~= nil and sys.process.signal(pid, 0) - self.option = self._state and "stop" or "start" - return AbstractValue.cbid(self, section) -end -function updown.cfgvalue(self, section) - self.title = self._state and "stop" or "start" - self.inputstyle = self._state and "reset" or "reload" -end - -local port = s:option( DummyValue, "port", translate("Port") ) -function port.cfgvalue(self, section) - local val = AbstractValue.cfgvalue(self, section) - return val or "65001" -end -local dev = s:option( DummyValue, "dev", translate("Interface") ) -function dev.cfgvalue(self, section) - local val = AbstractValue.cfgvalue(self, section) - return val or "tun" -end -local proto = s:option( DummyValue, "proto", translate("Protocol") ) -function proto.cfgvalue(self, section) - local val = AbstractValue.cfgvalue(self, section) - return val or "tcp" -end - -function updown.write(self, section, value) - if self.option == "stop" then - local pid = s.getPID(section) - if pid ~= nil then - sys.process.signal(pid,15) - end - else - local type = proto.cfgvalue(self,section) - luci.sys.call("/etc/init.d/glorytun-udp start %s" % section) - luci.sys.call("/etc/init.d/glorytun start %s" % section) - end - luci.http.redirect( self.redirect ) -end - - -return m diff --git a/luci-app-glorytun/luasrc/view/glorytun/cbi-select-input-add.htm b/luci-app-glorytun/luasrc/view/glorytun/cbi-select-input-add.htm deleted file mode 100644 index 0166de778..000000000 --- a/luci-app-glorytun/luasrc/view/glorytun/cbi-select-input-add.htm +++ /dev/null @@ -1,11 +0,0 @@ -
- <% if self.invalid_cts then -%>
<% end %> - - - - <% if self.invalid_cts then %>
<%:Invalid%>
<% end %> -
diff --git a/luci-app-glorytun/luasrc/view/glorytun/pageswitch.htm b/luci-app-glorytun/luasrc/view/glorytun/pageswitch.htm deleted file mode 100644 index 652494e0c..000000000 --- a/luci-app-glorytun/luasrc/view/glorytun/pageswitch.htm +++ /dev/null @@ -1,13 +0,0 @@ -<%# - Copyright 2018 Ycarus (Yannick Chabanois) - Copyright 2008 Steven Barth - Copyright 2008 Jo-Philipp Wich - Licensed to the public under the Apache License 2.0. --%> - -
- - <%:Overview%> » - <%=luci.i18n.translatef("Instance \"%s\"", self.instance)%> - -
diff --git a/luci-app-glorytun/po/fr/glorytun.po b/luci-app-glorytun/po/fr/glorytun.po deleted file mode 100644 index 5477df925..000000000 --- a/luci-app-glorytun/po/fr/glorytun.po +++ /dev/null @@ -1,103 +0,0 @@ -msgid "" -msgstr "" -"Project-Id-Version: \n" -"POT-Creation-Date: \n" -"PO-Revision-Date: \n" -"Last-Translator: Ycarus \n" -"Language-Team: \n" -"Language: fr\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"X-Generator: Poedit 2.0.6\n" -"Plural-Forms: nplurals=2; plural=(n > 1);\n" - -msgid "Add" -msgstr "Ajouter" - -msgid "Below is a list of configured Glorytun instances and their current state" -msgstr "Ci-dessous une liste des instances Glorytun configurées et leur état actuel" - -msgid "Bind address" -msgstr "" - -msgid "Bind backup" -msgstr "" - -msgid "Bind port" -msgstr "Port de connexion" - -msgid "Enable" -msgstr "Active" - -msgid "Enabled" -msgstr "Activé" - -msgid "Glorytun" -msgstr "" - -msgid "Glorytun instances" -msgstr "Instances de Glorytun" - -msgid "Instance \"%s\"" -msgstr "" - -msgid "Interface" -msgstr "" - -msgid "Interface name" -msgstr "Nom de l'interface" - -msgid "Invalid" -msgstr "Invalide" - -msgid "Local tunnel ip address" -msgstr "Adresse IP locale du tunnel" - -msgid "MPTCP" -msgstr "" - -msgid "MTU" -msgstr "" - -msgid "MTU auto" -msgstr "" - -msgid "Overview" -msgstr "Aperçu" - -msgid "Port" -msgstr "Port" - -msgid "Protocol" -msgstr "Protocole" - -msgid "Remote host name or ip address" -msgstr "Nom de l'hôte distant ou adresse IP" - -msgid "Remote tunnel ip address" -msgstr "Adresse IP distance du tunnel" - -msgid "Server mode" -msgstr "Mode serveur" - -msgid "Start/Stop" -msgstr "Marche/Arrêt" - -msgid "Started" -msgstr "Démarré" - -msgid "TCP port # for both local and remote" -msgstr "Port TCP local et distant" - -msgid "The secret key" -msgstr "La clef secréte" - -msgid "Use ChaCha20 stream cipher" -msgstr "Utiliser le chiffrement ChaCha20" - -msgid "no" -msgstr "non" - -msgid "yes (%i)" -msgstr "oui (%i)" diff --git a/luci-app-glorytun/po/templates/glorytun.pot b/luci-app-glorytun/po/templates/glorytun.pot deleted file mode 100644 index 9c862bb47..000000000 --- a/luci-app-glorytun/po/templates/glorytun.pot +++ /dev/null @@ -1,93 +0,0 @@ -msgid "" -msgstr "Content-Type: text/plain; charset=UTF-8" - -msgid "Add" -msgstr "" - -msgid "" -"Below is a list of configured Glorytun instances and their current state" -msgstr "" - -msgid "Bind address" -msgstr "" - -msgid "Bind backup" -msgstr "" - -msgid "Bind port" -msgstr "" - -msgid "Enable" -msgstr "" - -msgid "Enabled" -msgstr "" - -msgid "Glorytun" -msgstr "" - -msgid "Glorytun instances" -msgstr "" - -msgid "Instance \"%s\"" -msgstr "" - -msgid "Interface" -msgstr "" - -msgid "Interface name" -msgstr "" - -msgid "Invalid" -msgstr "" - -msgid "Local tunnel ip address" -msgstr "" - -msgid "MPTCP" -msgstr "" - -msgid "MTU" -msgstr "" - -msgid "MTU auto" -msgstr "" - -msgid "Overview" -msgstr "" - -msgid "Port" -msgstr "" - -msgid "Protocol" -msgstr "" - -msgid "Remote host name or ip address" -msgstr "" - -msgid "Remote tunnel ip address" -msgstr "" - -msgid "Server mode" -msgstr "" - -msgid "Start/Stop" -msgstr "" - -msgid "Started" -msgstr "" - -msgid "TCP port # for both local and remote" -msgstr "" - -msgid "The secret key" -msgstr "" - -msgid "Use ChaCha20 stream cipher" -msgstr "" - -msgid "no" -msgstr "" - -msgid "yes (%i)" -msgstr "" diff --git a/luci-app-glorytun/root/etc/config/glorytun_recipes b/luci-app-glorytun/root/etc/config/glorytun_recipes deleted file mode 100644 index 693eb6da6..000000000 --- a/luci-app-glorytun/root/etc/config/glorytun_recipes +++ /dev/null @@ -1,50 +0,0 @@ -config glorytun_recipe servertcp - option _description "Simple TCP server configuration" - option _role "server" - option port "65001" - option dev "tun0" - option key "secretkey" - option listener "1" - option localip "192.168.99.1" - option remoteip "192.168.99.2" - option proto "tcp" - option enable "0" - -config glorytun_recipe clienttcp - option _description "Simple TCP client configuration" - option _role "client" - option port "65001" - option dev "tun0" - option host "vpnserver.example.org" - option key "secretkey" - option localip "192.168.99.2" - option remoteip "192.168.99.1" - option proto "tcp" - option enable "0" - -config glorytun_recipe serverudp - option _description "Simple UDP server configuration" - option _role "server" - option dev "tun0" - option bindport "65003" - option bind "192.168.99.1" - option key "secretkey" - option localip "192.168.99.1" - option remoteip "192.168.99.2" - option proto "udp" - option mtuauto "1" - option enable "0" - -config glorytun_recipe clientudp - option _description "Simple UDP client configuration" - option _role "client" - option port "65003" - option dev "tun0" - option host "vpnserver.example.org" - option key "secretkey" - option localip "192.168.99.2" - option remoteip "192.168.99.1" - option proto "udp" - option mtuauto "1" - option enable "0" - diff --git a/luci-app-iperf/luasrc/controller/iperf.lua b/luci-app-iperf/luasrc/controller/iperf.lua index e6cb2ec3a..8af54323d 100644 --- a/luci-app-iperf/luasrc/controller/iperf.lua +++ b/luci-app-iperf/luasrc/controller/iperf.lua @@ -26,7 +26,7 @@ function run_test(server,proto,mode,updown,omit,parallel,transmit,bitrate) if mode == "udp" then options = options .. " -u -b " .. bitrate end - if mode ~= "upload" then + if updown ~= "upload" then options = options .. " -R" end local ipv = "4" @@ -40,7 +40,7 @@ function run_test(server,proto,mode,updown,omit,parallel,transmit,bitrate) end local port = t[ math.random( #t ) ] if password ~= "" then - iperf = io.popen("omr-iperf -P %s -%s -O %s -t %s -J -Z %s" % {parallel,ipv,omit,transmit,options}) + iperf = io.popen("omr-iperf %s -P %s -%s -O %s -t %s -J -Z %s" % {server,parallel,ipv,omit,transmit,options}) else iperf = io.popen("iperf3 -c %s -P %s -%s -p %s -O %s -t %s -J -Z %s" % {ut.shellquote(addr),parallel,ipv,port,omit,transmit,options}) end diff --git a/luci-app-iperf/po/de/iperf.po b/luci-app-iperf/po/de/iperf.po new file mode 100644 index 000000000..53023734e --- /dev/null +++ b/luci-app-iperf/po/de/iperf.po @@ -0,0 +1,108 @@ +msgid "" +msgstr "" +"PO-Revision-Date: 2020-08-14 08:04+0000\n" +"Last-Translator: Andreas Dorfer \n" +"Language-Team: German \n" +"Language: de\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Generator: Weblate 4.0.4\n" + +#: luci-app-iperf/luasrc/view/iperf/test.htm:128 +msgid "0 for unlimited. Need to be limited for UDP test" +msgstr "" +"für 'unbegrenzt' den Wert '0' setzen. (Muss für UDP-Tests eingeschränkt " +"werden)" + +#: luci-app-iperf/luasrc/view/iperf/test.htm:48 +#: luci-app-iperf/luasrc/view/iperf/test.htm:88 +msgid "Bad address specified!" +msgstr "Ungültige Adresse!" + +#: luci-app-iperf/luasrc/view/iperf/test.htm:66 +#: luci-app-iperf/luasrc/view/iperf/test.htm:78 +#: luci-app-iperf/luasrc/view/iperf/test.htm:83 +#: luci-app-iperf/luasrc/view/iperf/test.htm:88 +msgid "Download" +msgstr "Downstream" + +#: luci-app-iperf/root/usr/share/rpcd/acl.d/luci-app-iperf.json:3 +msgid "Grant UCI access for luci-app-iperf" +msgstr "" + +#: luci-app-iperf/luasrc/view/iperf/test.htm:114 +msgid "Internet protocol" +msgstr "Internet-Protokoll" + +#: luci-app-iperf/luasrc/view/iperf/test.htm:26 +#: luci-app-iperf/luasrc/view/iperf/test.htm:66 +msgid "Loading" +msgstr "Wird geladen" + +#: luci-app-iperf/luasrc/view/iperf/test.htm:105 +msgid "Mode of operation" +msgstr "Betriebsart" + +#: luci-app-iperf/luasrc/view/iperf/test.htm:133 +msgid "Number of parallel client streams to run" +msgstr "Anzahl der parallel zu testenden Verbindungen" + +#: luci-app-iperf/luasrc/view/iperf/test.htm:139 +msgid "Omit the first n seconds" +msgstr "Die ersten n Sekunden nicht berücksichtigen" + +#: luci-app-iperf/luasrc/view/iperf/test.htm:151 +msgid "Server" +msgstr "Server" + +#: luci-app-iperf/luasrc/view/iperf/test.htm:165 +msgid "Server VPS IP is bypassed, so this will test only default route speed." +msgstr "" + +#: luci-app-iperf/luasrc/view/iperf/test.htm:102 +msgid "Settings" +msgstr "Einstellungen" + +#: luci-app-iperf/luasrc/view/iperf/test.htm:123 +msgid "Target bitrate (Mbits/s)" +msgstr "Angestrebte Bandbreite (MBit/s)" + +#: luci-app-iperf/luasrc/view/iperf/test.htm:169 +msgid "Test" +msgstr "Test" + +#: luci-app-iperf/luasrc/view/iperf/test.htm:100 +msgid "This iPerf interface is in bêta. No support for this." +msgstr "" +"Diesese Oberfläche für iPerf ist im Beta-Stadium und ohne offiziellen " +"Support." + +#: luci-app-iperf/luasrc/view/iperf/test.htm:145 +msgid "Time to transmit for (s)" +msgstr "Übertragungszeit in Sekunden" + +#: luci-app-iperf/luasrc/view/iperf/test.htm:26 +#: luci-app-iperf/luasrc/view/iperf/test.htm:38 +#: luci-app-iperf/luasrc/view/iperf/test.htm:43 +#: luci-app-iperf/luasrc/view/iperf/test.htm:48 +msgid "Upload" +msgstr "Upstream" + +#: luci-app-iperf/luasrc/view/iperf/test.htm:27 +#: luci-app-iperf/luasrc/view/iperf/test.htm:67 +msgid "Waiting for command to complete..." +msgstr "Warte auf Abschluss der Aufgaben" + +#: luci-app-iperf/luasrc/controller/iperf.lua:8 +#: luci-app-iperf/root/usr/share/luci/menu.d/luci-app-iperf.json:3 +msgid "iPerf" +msgstr "iPerf" + +#: luci-app-iperf/luasrc/view/iperf/test.htm:99 +msgid "iPerf speed tests" +msgstr "iPerf Geschwindigkeitstests" + +#~ msgid "iperf" +#~ msgstr "iperf" diff --git a/luci-app-iperf/po/de/iperf.po~ b/luci-app-iperf/po/de/iperf.po~ new file mode 100644 index 000000000..cace2be1b --- /dev/null +++ b/luci-app-iperf/po/de/iperf.po~ @@ -0,0 +1,100 @@ +msgid "" +msgstr "" +"PO-Revision-Date: 2020-08-14 08:04+0000\n" +"Last-Translator: Andreas Dorfer \n" +"Language-Team: German \n" +"Language: de\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Generator: Weblate 4.0.4\n" + +#: luci-app-iperf/luasrc/view/iperf/test.htm:128 +msgid "0 for unlimited. Need to be limited for UDP test" +msgstr "" +"für 'unbegrenzt' den Wert '0' setzen. (Muss für UDP-Tests eingeschränkt " +"werden)" + +#: luci-app-iperf/luasrc/view/iperf/test.htm:48 +#: luci-app-iperf/luasrc/view/iperf/test.htm:88 +msgid "Bad address specified!" +msgstr "Ungültige Adresse!" + +#: luci-app-iperf/luasrc/view/iperf/test.htm:66 +#: luci-app-iperf/luasrc/view/iperf/test.htm:78 +#: luci-app-iperf/luasrc/view/iperf/test.htm:83 +#: luci-app-iperf/luasrc/view/iperf/test.htm:88 +msgid "Download" +msgstr "Downstream" + +#: luci-app-iperf/luasrc/view/iperf/test.htm:114 +msgid "Internet protocol" +msgstr "Internet-Protokoll" + +#: luci-app-iperf/luasrc/view/iperf/test.htm:26 +#: luci-app-iperf/luasrc/view/iperf/test.htm:66 +msgid "Loading" +msgstr "Wird geladen" + +#: luci-app-iperf/luasrc/view/iperf/test.htm:105 +msgid "Mode of operation" +msgstr "Betriebsart" + +#: luci-app-iperf/luasrc/view/iperf/test.htm:133 +msgid "Number of parallel client streams to run" +msgstr "Anzahl der parallel zu testenden Verbindungen" + +#: luci-app-iperf/luasrc/view/iperf/test.htm:139 +msgid "Omit the first n seconds" +msgstr "Die ersten n Sekunden nicht berücksichtigen" + +#: luci-app-iperf/luasrc/view/iperf/test.htm:151 +msgid "Server" +msgstr "Server" + +#: luci-app-iperf/luasrc/view/iperf/test.htm:102 +msgid "Settings" +msgstr "Einstellungen" + +#: luci-app-iperf/luasrc/view/iperf/test.htm:123 +msgid "Target bitrate (Mbits/s)" +msgstr "Angestrebte Bandbreite (MBit/s)" + +#: luci-app-iperf/luasrc/view/iperf/test.htm:165 +msgid "Test" +msgstr "Test" + +#: luci-app-iperf/luasrc/view/iperf/test.htm:100 +msgid "This iPerf interface is in bêta. No support for this." +msgstr "" +"Diesese Oberfläche für iPerf ist im Beta-Stadium und ohne offiziellen " +"Support." + +#: luci-app-iperf/luasrc/view/iperf/test.htm:145 +msgid "Time to transmit for (s)" +msgstr "Übertragungszeit in Sekunden" + +#: luci-app-iperf/luasrc/view/iperf/test.htm:26 +#: luci-app-iperf/luasrc/view/iperf/test.htm:38 +#: luci-app-iperf/luasrc/view/iperf/test.htm:43 +#: luci-app-iperf/luasrc/view/iperf/test.htm:48 +msgid "Upload" +msgstr "Upstream" + +#: luci-app-iperf/luasrc/view/iperf/test.htm:27 +#: luci-app-iperf/luasrc/view/iperf/test.htm:67 +msgid "Waiting for command to complete..." +msgstr "Warte auf Abschluss der Aufgaben" + +#: luci-app-iperf/luasrc/controller/iperf.lua:8 +msgid "iPerf" +msgstr "iPerf" + +#: luci-app-iperf/luasrc/view/iperf/test.htm:99 +msgid "iPerf speed tests" +msgstr "iPerf Geschwindigkeitstests" + +#: luci-app-iperf/luasrc/controller/iperf.lua:7 +msgid "iperf" +msgstr "iperf" diff --git a/luci-app-iperf/po/fr/iperf.po b/luci-app-iperf/po/fr/iperf.po index c911e2fca..711692095 100644 --- a/luci-app-iperf/po/fr/iperf.po +++ b/luci-app-iperf/po/fr/iperf.po @@ -2,15 +2,16 @@ msgid "" msgstr "" "Project-Id-Version: \n" "POT-Creation-Date: \n" -"PO-Revision-Date: \n" -"Last-Translator: Ycarus \n" -"Language-Team: \n" +"PO-Revision-Date: 2022-02-19 07:53+0000\n" +"Last-Translator: Weblate Admin \n" +"Language-Team: French \n" "Language: fr\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Generator: Poedit 2.2.3\n" -"Plural-Forms: nplurals=2; plural=(n > 1);\n" +"Plural-Forms: nplurals=2; plural=n > 1;\n" +"X-Generator: Weblate 4.6.1\n" #: luci-app-iperf/luasrc/view/iperf/test.htm:128 msgid "0 for unlimited. Need to be limited for UDP test" @@ -28,6 +29,10 @@ msgstr "Adresse invalide !" msgid "Download" msgstr "Téléchargement" +#: luci-app-iperf/root/usr/share/rpcd/acl.d/luci-app-iperf.json:3 +msgid "Grant UCI access for luci-app-iperf" +msgstr "Accorder l'accès UCI pour luci-app-iperf" + #: luci-app-iperf/luasrc/view/iperf/test.htm:114 msgid "Internet protocol" msgstr "Protocole Internet" @@ -53,6 +58,12 @@ msgstr "Passe les n premières secondes" msgid "Server" msgstr "Serveur" +#: luci-app-iperf/luasrc/view/iperf/test.htm:165 +msgid "Server VPS IP is bypassed, so this will test only default route speed." +msgstr "" +"L'IP du serveur VPS est contournée, donc cela testera uniquement la vitesse " +"de route par défaut." + #: luci-app-iperf/luasrc/view/iperf/test.htm:102 msgid "Settings" msgstr "Paramètres" @@ -61,9 +72,9 @@ msgstr "Paramètres" msgid "Target bitrate (Mbits/s)" msgstr "Vitesse souhaitée (Mbits/s)" -#: luci-app-iperf/luasrc/view/iperf/test.htm:165 +#: luci-app-iperf/luasrc/view/iperf/test.htm:169 msgid "Test" -msgstr "Teste" +msgstr "Essai" #: luci-app-iperf/luasrc/view/iperf/test.htm:100 msgid "This iPerf interface is in bêta. No support for this." @@ -78,7 +89,7 @@ msgstr "Temps de transmission (s)" #: luci-app-iperf/luasrc/view/iperf/test.htm:43 #: luci-app-iperf/luasrc/view/iperf/test.htm:48 msgid "Upload" -msgstr "Envoie" +msgstr "Téléverser" #: luci-app-iperf/luasrc/view/iperf/test.htm:27 #: luci-app-iperf/luasrc/view/iperf/test.htm:67 @@ -86,13 +97,13 @@ msgid "Waiting for command to complete..." msgstr "En attente de la réponse de la commande..." #: luci-app-iperf/luasrc/controller/iperf.lua:8 +#: luci-app-iperf/root/usr/share/luci/menu.d/luci-app-iperf.json:3 msgid "iPerf" -msgstr "" +msgstr "iPerf" #: luci-app-iperf/luasrc/view/iperf/test.htm:99 msgid "iPerf speed tests" msgstr "Tests de vitesse iPerf" -#: luci-app-iperf/luasrc/controller/iperf.lua:7 -msgid "iperf" -msgstr "" +#~ msgid "iperf" +#~ msgstr "iperf" diff --git a/luci-app-iperf/po/fr/iperf.po~ b/luci-app-iperf/po/fr/iperf.po~ new file mode 100644 index 000000000..ab1afefd3 --- /dev/null +++ b/luci-app-iperf/po/fr/iperf.po~ @@ -0,0 +1,99 @@ +msgid "" +msgstr "" +"Project-Id-Version: \n" +"POT-Creation-Date: \n" +"PO-Revision-Date: 2020-09-30 08:50+0000\n" +"Last-Translator: Weblate Admin \n" +"Language-Team: French \n" +"Language: fr\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=n > 1;\n" +"X-Generator: Weblate 4.0.4\n" + +#: luci-app-iperf/luasrc/view/iperf/test.htm:128 +msgid "0 for unlimited. Need to be limited for UDP test" +msgstr "0 pour sans limite. Nécessite d'être limité pour les tests UDP." + +#: luci-app-iperf/luasrc/view/iperf/test.htm:48 +#: luci-app-iperf/luasrc/view/iperf/test.htm:88 +msgid "Bad address specified!" +msgstr "Adresse invalide !" + +#: luci-app-iperf/luasrc/view/iperf/test.htm:66 +#: luci-app-iperf/luasrc/view/iperf/test.htm:78 +#: luci-app-iperf/luasrc/view/iperf/test.htm:83 +#: luci-app-iperf/luasrc/view/iperf/test.htm:88 +msgid "Download" +msgstr "Téléchargement" + +#: luci-app-iperf/luasrc/view/iperf/test.htm:114 +msgid "Internet protocol" +msgstr "Protocole Internet" + +#: luci-app-iperf/luasrc/view/iperf/test.htm:26 +#: luci-app-iperf/luasrc/view/iperf/test.htm:66 +msgid "Loading" +msgstr "Chargement" + +#: luci-app-iperf/luasrc/view/iperf/test.htm:105 +msgid "Mode of operation" +msgstr "Mode de fonctionnement" + +#: luci-app-iperf/luasrc/view/iperf/test.htm:133 +msgid "Number of parallel client streams to run" +msgstr "Nombre de client en parallèle" + +#: luci-app-iperf/luasrc/view/iperf/test.htm:139 +msgid "Omit the first n seconds" +msgstr "Passe les n premières secondes" + +#: luci-app-iperf/luasrc/view/iperf/test.htm:151 +msgid "Server" +msgstr "Serveur" + +#: luci-app-iperf/luasrc/view/iperf/test.htm:102 +msgid "Settings" +msgstr "Paramètres" + +#: luci-app-iperf/luasrc/view/iperf/test.htm:123 +msgid "Target bitrate (Mbits/s)" +msgstr "Vitesse souhaitée (Mbits/s)" + +#: luci-app-iperf/luasrc/view/iperf/test.htm:165 +msgid "Test" +msgstr "Teste" + +#: luci-app-iperf/luasrc/view/iperf/test.htm:100 +msgid "This iPerf interface is in bêta. No support for this." +msgstr "Cette interface pour iPerf est en bêta. Pas de support pour ça." + +#: luci-app-iperf/luasrc/view/iperf/test.htm:145 +msgid "Time to transmit for (s)" +msgstr "Temps de transmission (s)" + +#: luci-app-iperf/luasrc/view/iperf/test.htm:26 +#: luci-app-iperf/luasrc/view/iperf/test.htm:38 +#: luci-app-iperf/luasrc/view/iperf/test.htm:43 +#: luci-app-iperf/luasrc/view/iperf/test.htm:48 +msgid "Upload" +msgstr "Envoie" + +#: luci-app-iperf/luasrc/view/iperf/test.htm:27 +#: luci-app-iperf/luasrc/view/iperf/test.htm:67 +msgid "Waiting for command to complete..." +msgstr "En attente de la réponse de la commande..." + +#: luci-app-iperf/luasrc/controller/iperf.lua:8 +msgid "iPerf" +msgstr "iPerf" + +#: luci-app-iperf/luasrc/view/iperf/test.htm:99 +msgid "iPerf speed tests" +msgstr "Tests de vitesse iPerf" + +#: luci-app-iperf/luasrc/controller/iperf.lua:7 +msgid "iperf" +msgstr "iperf" diff --git a/luci-app-iperf/po/it/iperf.po b/luci-app-iperf/po/it/iperf.po new file mode 100644 index 000000000..b8668f2bd --- /dev/null +++ b/luci-app-iperf/po/it/iperf.po @@ -0,0 +1,104 @@ +msgid "" +msgstr "" +"PO-Revision-Date: 2020-09-21 12:51+0000\n" +"Last-Translator: Weblate Admin \n" +"Language-Team: Italian \n" +"Language: it\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Generator: Weblate 4.0.4\n" + +#: luci-app-iperf/luasrc/view/iperf/test.htm:128 +msgid "0 for unlimited. Need to be limited for UDP test" +msgstr "0 per illimitato. Deve essere limitato per il test UDP" + +#: luci-app-iperf/luasrc/view/iperf/test.htm:48 +#: luci-app-iperf/luasrc/view/iperf/test.htm:88 +msgid "Bad address specified!" +msgstr "È stato specificato un indirizzo errato!" + +#: luci-app-iperf/luasrc/view/iperf/test.htm:66 +#: luci-app-iperf/luasrc/view/iperf/test.htm:78 +#: luci-app-iperf/luasrc/view/iperf/test.htm:83 +#: luci-app-iperf/luasrc/view/iperf/test.htm:88 +msgid "Download" +msgstr "Scarica" + +#: luci-app-iperf/root/usr/share/rpcd/acl.d/luci-app-iperf.json:3 +msgid "Grant UCI access for luci-app-iperf" +msgstr "" + +#: luci-app-iperf/luasrc/view/iperf/test.htm:114 +msgid "Internet protocol" +msgstr "Internet Protocol (Protocollo Internet)" + +#: luci-app-iperf/luasrc/view/iperf/test.htm:26 +#: luci-app-iperf/luasrc/view/iperf/test.htm:66 +msgid "Loading" +msgstr "Caricamento in corso" + +#: luci-app-iperf/luasrc/view/iperf/test.htm:105 +msgid "Mode of operation" +msgstr "Modalità di funzionamento" + +#: luci-app-iperf/luasrc/view/iperf/test.htm:133 +msgid "Number of parallel client streams to run" +msgstr "Numero di flussi client paralleli da eseguire" + +#: luci-app-iperf/luasrc/view/iperf/test.htm:139 +msgid "Omit the first n seconds" +msgstr "Ometti i primi n secondi" + +#: luci-app-iperf/luasrc/view/iperf/test.htm:151 +msgid "Server" +msgstr "Server" + +#: luci-app-iperf/luasrc/view/iperf/test.htm:165 +msgid "Server VPS IP is bypassed, so this will test only default route speed." +msgstr "" + +#: luci-app-iperf/luasrc/view/iperf/test.htm:102 +msgid "Settings" +msgstr "Impostazioni" + +#: luci-app-iperf/luasrc/view/iperf/test.htm:123 +msgid "Target bitrate (Mbits/s)" +msgstr "Bitrate desiderato (Mbits/s)" + +#: luci-app-iperf/luasrc/view/iperf/test.htm:169 +msgid "Test" +msgstr "Test" + +#: luci-app-iperf/luasrc/view/iperf/test.htm:100 +msgid "This iPerf interface is in bêta. No support for this." +msgstr "Questa interfaccia iPerf è in bêta." + +#: luci-app-iperf/luasrc/view/iperf/test.htm:145 +msgid "Time to transmit for (s)" +msgstr "È ora di trasmettere per (s)" + +#: luci-app-iperf/luasrc/view/iperf/test.htm:26 +#: luci-app-iperf/luasrc/view/iperf/test.htm:38 +#: luci-app-iperf/luasrc/view/iperf/test.htm:43 +#: luci-app-iperf/luasrc/view/iperf/test.htm:48 +msgid "Upload" +msgstr "Carica" + +#: luci-app-iperf/luasrc/view/iperf/test.htm:27 +#: luci-app-iperf/luasrc/view/iperf/test.htm:67 +msgid "Waiting for command to complete..." +msgstr "In attesa del completamento del comando ..." + +#: luci-app-iperf/luasrc/controller/iperf.lua:8 +#: luci-app-iperf/root/usr/share/luci/menu.d/luci-app-iperf.json:3 +msgid "iPerf" +msgstr "iPerf" + +#: luci-app-iperf/luasrc/view/iperf/test.htm:99 +msgid "iPerf speed tests" +msgstr "Prove di velocità iPerf" + +#~ msgid "iperf" +#~ msgstr "iPerf" diff --git a/luci-app-iperf/po/it/iperf.po~ b/luci-app-iperf/po/it/iperf.po~ new file mode 100644 index 000000000..55cef15bd --- /dev/null +++ b/luci-app-iperf/po/it/iperf.po~ @@ -0,0 +1,96 @@ +msgid "" +msgstr "" +"PO-Revision-Date: 2020-09-21 12:51+0000\n" +"Last-Translator: Weblate Admin \n" +"Language-Team: Italian \n" +"Language: it\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Generator: Weblate 4.0.4\n" + +#: luci-app-iperf/luasrc/view/iperf/test.htm:128 +msgid "0 for unlimited. Need to be limited for UDP test" +msgstr "0 per illimitato. Deve essere limitato per il test UDP" + +#: luci-app-iperf/luasrc/view/iperf/test.htm:48 +#: luci-app-iperf/luasrc/view/iperf/test.htm:88 +msgid "Bad address specified!" +msgstr "È stato specificato un indirizzo errato!" + +#: luci-app-iperf/luasrc/view/iperf/test.htm:66 +#: luci-app-iperf/luasrc/view/iperf/test.htm:78 +#: luci-app-iperf/luasrc/view/iperf/test.htm:83 +#: luci-app-iperf/luasrc/view/iperf/test.htm:88 +msgid "Download" +msgstr "Scarica" + +#: luci-app-iperf/luasrc/view/iperf/test.htm:114 +msgid "Internet protocol" +msgstr "Internet Protocol (Protocollo Internet)" + +#: luci-app-iperf/luasrc/view/iperf/test.htm:26 +#: luci-app-iperf/luasrc/view/iperf/test.htm:66 +msgid "Loading" +msgstr "Caricamento in corso" + +#: luci-app-iperf/luasrc/view/iperf/test.htm:105 +msgid "Mode of operation" +msgstr "Modalità di funzionamento" + +#: luci-app-iperf/luasrc/view/iperf/test.htm:133 +msgid "Number of parallel client streams to run" +msgstr "Numero di flussi client paralleli da eseguire" + +#: luci-app-iperf/luasrc/view/iperf/test.htm:139 +msgid "Omit the first n seconds" +msgstr "Ometti i primi n secondi" + +#: luci-app-iperf/luasrc/view/iperf/test.htm:151 +msgid "Server" +msgstr "Server" + +#: luci-app-iperf/luasrc/view/iperf/test.htm:102 +msgid "Settings" +msgstr "Impostazioni" + +#: luci-app-iperf/luasrc/view/iperf/test.htm:123 +msgid "Target bitrate (Mbits/s)" +msgstr "Bitrate desiderato (Mbits/s)" + +#: luci-app-iperf/luasrc/view/iperf/test.htm:165 +msgid "Test" +msgstr "Test" + +#: luci-app-iperf/luasrc/view/iperf/test.htm:100 +msgid "This iPerf interface is in bêta. No support for this." +msgstr "Questa interfaccia iPerf è in bêta." + +#: luci-app-iperf/luasrc/view/iperf/test.htm:145 +msgid "Time to transmit for (s)" +msgstr "È ora di trasmettere per (s)" + +#: luci-app-iperf/luasrc/view/iperf/test.htm:26 +#: luci-app-iperf/luasrc/view/iperf/test.htm:38 +#: luci-app-iperf/luasrc/view/iperf/test.htm:43 +#: luci-app-iperf/luasrc/view/iperf/test.htm:48 +msgid "Upload" +msgstr "Carica" + +#: luci-app-iperf/luasrc/view/iperf/test.htm:27 +#: luci-app-iperf/luasrc/view/iperf/test.htm:67 +msgid "Waiting for command to complete..." +msgstr "In attesa del completamento del comando ..." + +#: luci-app-iperf/luasrc/controller/iperf.lua:8 +msgid "iPerf" +msgstr "iPerf" + +#: luci-app-iperf/luasrc/view/iperf/test.htm:99 +msgid "iPerf speed tests" +msgstr "Prove di velocità iPerf" + +#: luci-app-iperf/luasrc/controller/iperf.lua:7 +msgid "iperf" +msgstr "iPerf" diff --git a/luci-app-iperf/po/oc/iperf.po b/luci-app-iperf/po/oc/iperf.po new file mode 100644 index 000000000..f5bc39dad --- /dev/null +++ b/luci-app-iperf/po/oc/iperf.po @@ -0,0 +1,104 @@ +msgid "" +msgstr "" +"PO-Revision-Date: 2020-08-21 20:21+0000\n" +"Last-Translator: Quentin PAGÈS \n" +"Language-Team: Occitan \n" +"Language: oc\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=n > 1;\n" +"X-Generator: Weblate 4.0.4\n" + +#: luci-app-iperf/luasrc/view/iperf/test.htm:128 +msgid "0 for unlimited. Need to be limited for UDP test" +msgstr "0 per cap de limit. Requerís un limit pels ensages UDP" + +#: luci-app-iperf/luasrc/view/iperf/test.htm:48 +#: luci-app-iperf/luasrc/view/iperf/test.htm:88 +msgid "Bad address specified!" +msgstr "Adreça invalida !" + +#: luci-app-iperf/luasrc/view/iperf/test.htm:66 +#: luci-app-iperf/luasrc/view/iperf/test.htm:78 +#: luci-app-iperf/luasrc/view/iperf/test.htm:83 +#: luci-app-iperf/luasrc/view/iperf/test.htm:88 +msgid "Download" +msgstr "Telecargament" + +#: luci-app-iperf/root/usr/share/rpcd/acl.d/luci-app-iperf.json:3 +msgid "Grant UCI access for luci-app-iperf" +msgstr "" + +#: luci-app-iperf/luasrc/view/iperf/test.htm:114 +msgid "Internet protocol" +msgstr "Protocòl Internet" + +#: luci-app-iperf/luasrc/view/iperf/test.htm:26 +#: luci-app-iperf/luasrc/view/iperf/test.htm:66 +msgid "Loading" +msgstr "Cargament" + +#: luci-app-iperf/luasrc/view/iperf/test.htm:105 +msgid "Mode of operation" +msgstr "Mòde de foncionament" + +#: luci-app-iperf/luasrc/view/iperf/test.htm:133 +msgid "Number of parallel client streams to run" +msgstr "Nombre de clients en parallèl" + +#: luci-app-iperf/luasrc/view/iperf/test.htm:139 +msgid "Omit the first n seconds" +msgstr "Sautar las primièras n segondas" + +#: luci-app-iperf/luasrc/view/iperf/test.htm:151 +msgid "Server" +msgstr "Servidor" + +#: luci-app-iperf/luasrc/view/iperf/test.htm:165 +msgid "Server VPS IP is bypassed, so this will test only default route speed." +msgstr "" + +#: luci-app-iperf/luasrc/view/iperf/test.htm:102 +msgid "Settings" +msgstr "Paramètres" + +#: luci-app-iperf/luasrc/view/iperf/test.htm:123 +msgid "Target bitrate (Mbits/s)" +msgstr "Velocitat desirada (Mbits/s)" + +#: luci-app-iperf/luasrc/view/iperf/test.htm:169 +msgid "Test" +msgstr "Pròva" + +#: luci-app-iperf/luasrc/view/iperf/test.htm:100 +msgid "This iPerf interface is in bêta. No support for this." +msgstr "Aquesta interfàcia per iPerf es en beta. Cap de support per aquò." + +#: luci-app-iperf/luasrc/view/iperf/test.htm:145 +msgid "Time to transmit for (s)" +msgstr "Temps de transmission (s)" + +#: luci-app-iperf/luasrc/view/iperf/test.htm:26 +#: luci-app-iperf/luasrc/view/iperf/test.htm:38 +#: luci-app-iperf/luasrc/view/iperf/test.htm:43 +#: luci-app-iperf/luasrc/view/iperf/test.htm:48 +msgid "Upload" +msgstr "Mandadís" + +#: luci-app-iperf/luasrc/view/iperf/test.htm:27 +#: luci-app-iperf/luasrc/view/iperf/test.htm:67 +msgid "Waiting for command to complete..." +msgstr "En espèra d’una responsa de la comanda..." + +#: luci-app-iperf/luasrc/controller/iperf.lua:8 +#: luci-app-iperf/root/usr/share/luci/menu.d/luci-app-iperf.json:3 +msgid "iPerf" +msgstr "iPerf" + +#: luci-app-iperf/luasrc/view/iperf/test.htm:99 +msgid "iPerf speed tests" +msgstr "Pròva de velocitat iPerf" + +#~ msgid "iperf" +#~ msgstr "iperf" diff --git a/luci-app-iperf/po/oc/iperf.po~ b/luci-app-iperf/po/oc/iperf.po~ new file mode 100644 index 000000000..598bb1a2f --- /dev/null +++ b/luci-app-iperf/po/oc/iperf.po~ @@ -0,0 +1,96 @@ +msgid "" +msgstr "" +"PO-Revision-Date: 2020-08-21 20:21+0000\n" +"Last-Translator: Quentin PAGÈS \n" +"Language-Team: Occitan \n" +"Language: oc\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=n > 1;\n" +"X-Generator: Weblate 4.0.4\n" + +#: luci-app-iperf/luasrc/view/iperf/test.htm:128 +msgid "0 for unlimited. Need to be limited for UDP test" +msgstr "0 per cap de limit. Requerís un limit pels ensages UDP" + +#: luci-app-iperf/luasrc/view/iperf/test.htm:48 +#: luci-app-iperf/luasrc/view/iperf/test.htm:88 +msgid "Bad address specified!" +msgstr "Adreça invalida !" + +#: luci-app-iperf/luasrc/view/iperf/test.htm:66 +#: luci-app-iperf/luasrc/view/iperf/test.htm:78 +#: luci-app-iperf/luasrc/view/iperf/test.htm:83 +#: luci-app-iperf/luasrc/view/iperf/test.htm:88 +msgid "Download" +msgstr "Telecargament" + +#: luci-app-iperf/luasrc/view/iperf/test.htm:114 +msgid "Internet protocol" +msgstr "Protocòl Internet" + +#: luci-app-iperf/luasrc/view/iperf/test.htm:26 +#: luci-app-iperf/luasrc/view/iperf/test.htm:66 +msgid "Loading" +msgstr "Cargament" + +#: luci-app-iperf/luasrc/view/iperf/test.htm:105 +msgid "Mode of operation" +msgstr "Mòde de foncionament" + +#: luci-app-iperf/luasrc/view/iperf/test.htm:133 +msgid "Number of parallel client streams to run" +msgstr "Nombre de clients en parallèl" + +#: luci-app-iperf/luasrc/view/iperf/test.htm:139 +msgid "Omit the first n seconds" +msgstr "Sautar las primièras n segondas" + +#: luci-app-iperf/luasrc/view/iperf/test.htm:151 +msgid "Server" +msgstr "Servidor" + +#: luci-app-iperf/luasrc/view/iperf/test.htm:102 +msgid "Settings" +msgstr "Paramètres" + +#: luci-app-iperf/luasrc/view/iperf/test.htm:123 +msgid "Target bitrate (Mbits/s)" +msgstr "Velocitat desirada (Mbits/s)" + +#: luci-app-iperf/luasrc/view/iperf/test.htm:165 +msgid "Test" +msgstr "Pròva" + +#: luci-app-iperf/luasrc/view/iperf/test.htm:100 +msgid "This iPerf interface is in bêta. No support for this." +msgstr "Aquesta interfàcia per iPerf es en beta. Cap de support per aquò." + +#: luci-app-iperf/luasrc/view/iperf/test.htm:145 +msgid "Time to transmit for (s)" +msgstr "Temps de transmission (s)" + +#: luci-app-iperf/luasrc/view/iperf/test.htm:26 +#: luci-app-iperf/luasrc/view/iperf/test.htm:38 +#: luci-app-iperf/luasrc/view/iperf/test.htm:43 +#: luci-app-iperf/luasrc/view/iperf/test.htm:48 +msgid "Upload" +msgstr "Mandadís" + +#: luci-app-iperf/luasrc/view/iperf/test.htm:27 +#: luci-app-iperf/luasrc/view/iperf/test.htm:67 +msgid "Waiting for command to complete..." +msgstr "En espèra d’una responsa de la comanda..." + +#: luci-app-iperf/luasrc/controller/iperf.lua:8 +msgid "iPerf" +msgstr "iPerf" + +#: luci-app-iperf/luasrc/view/iperf/test.htm:99 +msgid "iPerf speed tests" +msgstr "Pròva de velocitat iPerf" + +#: luci-app-iperf/luasrc/controller/iperf.lua:7 +msgid "iperf" +msgstr "iperf" diff --git a/luci-app-iperf/po/ru/iperf.po b/luci-app-iperf/po/ru/iperf.po new file mode 100644 index 000000000..402dfb655 --- /dev/null +++ b/luci-app-iperf/po/ru/iperf.po @@ -0,0 +1,104 @@ +msgid "" +msgstr "" +"PO-Revision-Date: 2021-06-16 10:51+0000\n" +"Last-Translator: Dmitry Galenko \n" +"Language-Team: Russian \n" +"Language: ru\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n" +"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" +"X-Generator: Weblate 4.6.1\n" + +#: luci-app-iperf/luasrc/view/iperf/test.htm:128 +msgid "0 for unlimited. Need to be limited for UDP test" +msgstr "0 - без ограничений. Для теста UDP число должно быть больше 0" + +#: luci-app-iperf/luasrc/view/iperf/test.htm:48 +#: luci-app-iperf/luasrc/view/iperf/test.htm:88 +msgid "Bad address specified!" +msgstr "Указан не правильный адрес!" + +#: luci-app-iperf/luasrc/view/iperf/test.htm:66 +#: luci-app-iperf/luasrc/view/iperf/test.htm:78 +#: luci-app-iperf/luasrc/view/iperf/test.htm:83 +#: luci-app-iperf/luasrc/view/iperf/test.htm:88 +msgid "Download" +msgstr "Получение" + +#: luci-app-iperf/root/usr/share/rpcd/acl.d/luci-app-iperf.json:3 +msgid "Grant UCI access for luci-app-iperf" +msgstr "Разрешить доступ к UCI для luci-app-iperf" + +#: luci-app-iperf/luasrc/view/iperf/test.htm:114 +msgid "Internet protocol" +msgstr "Интернет протокол" + +#: luci-app-iperf/luasrc/view/iperf/test.htm:26 +#: luci-app-iperf/luasrc/view/iperf/test.htm:66 +msgid "Loading" +msgstr "Загрузка" + +#: luci-app-iperf/luasrc/view/iperf/test.htm:105 +msgid "Mode of operation" +msgstr "Режим работы" + +#: luci-app-iperf/luasrc/view/iperf/test.htm:133 +msgid "Number of parallel client streams to run" +msgstr "Количество параллельных потоковых клиентов" + +#: luci-app-iperf/luasrc/view/iperf/test.htm:139 +msgid "Omit the first n seconds" +msgstr "Пропустить первые n секунд" + +#: luci-app-iperf/luasrc/view/iperf/test.htm:151 +msgid "Server" +msgstr "Сервер" + +#: luci-app-iperf/luasrc/view/iperf/test.htm:165 +msgid "Server VPS IP is bypassed, so this will test only default route speed." +msgstr "" +"Включен режим байпаса для IP VPS, будет проверена скорость только маршрута " +"по умолчанию." + +#: luci-app-iperf/luasrc/view/iperf/test.htm:102 +msgid "Settings" +msgstr "Настройки" + +#: luci-app-iperf/luasrc/view/iperf/test.htm:123 +msgid "Target bitrate (Mbits/s)" +msgstr "Целевой битрейт (Mbits/s)" + +#: luci-app-iperf/luasrc/view/iperf/test.htm:169 +msgid "Test" +msgstr "Тест" + +#: luci-app-iperf/luasrc/view/iperf/test.htm:100 +msgid "This iPerf interface is in bêta. No support for this." +msgstr "Этот iPerf interface в режиме beta. Недоступно." + +#: luci-app-iperf/luasrc/view/iperf/test.htm:145 +msgid "Time to transmit for (s)" +msgstr "Время передачи (s)" + +#: luci-app-iperf/luasrc/view/iperf/test.htm:26 +#: luci-app-iperf/luasrc/view/iperf/test.htm:38 +#: luci-app-iperf/luasrc/view/iperf/test.htm:43 +#: luci-app-iperf/luasrc/view/iperf/test.htm:48 +msgid "Upload" +msgstr "Отправка" + +#: luci-app-iperf/luasrc/view/iperf/test.htm:27 +#: luci-app-iperf/luasrc/view/iperf/test.htm:67 +msgid "Waiting for command to complete..." +msgstr "Ожидание завершения команды..." + +#: luci-app-iperf/luasrc/controller/iperf.lua:8 +#: luci-app-iperf/root/usr/share/luci/menu.d/luci-app-iperf.json:3 +msgid "iPerf" +msgstr "iPerf" + +#: luci-app-iperf/luasrc/view/iperf/test.htm:99 +msgid "iPerf speed tests" +msgstr "iPerf тест скорости" diff --git a/luci-app-iperf/po/templates/iperf.pot b/luci-app-iperf/po/templates/iperf.pot index 6635e7b7d..8f41376b1 100644 --- a/luci-app-iperf/po/templates/iperf.pot +++ b/luci-app-iperf/po/templates/iperf.pot @@ -17,6 +17,10 @@ msgstr "" msgid "Download" msgstr "" +#: luci-app-iperf/root/usr/share/rpcd/acl.d/luci-app-iperf.json:3 +msgid "Grant UCI access for luci-app-iperf" +msgstr "" + #: luci-app-iperf/luasrc/view/iperf/test.htm:114 msgid "Internet protocol" msgstr "" @@ -42,6 +46,10 @@ msgstr "" msgid "Server" msgstr "" +#: luci-app-iperf/luasrc/view/iperf/test.htm:165 +msgid "Server VPS IP is bypassed, so this will test only default route speed." +msgstr "" + #: luci-app-iperf/luasrc/view/iperf/test.htm:102 msgid "Settings" msgstr "" @@ -50,7 +58,7 @@ msgstr "" msgid "Target bitrate (Mbits/s)" msgstr "" -#: luci-app-iperf/luasrc/view/iperf/test.htm:165 +#: luci-app-iperf/luasrc/view/iperf/test.htm:169 msgid "Test" msgstr "" @@ -75,13 +83,10 @@ msgid "Waiting for command to complete..." msgstr "" #: luci-app-iperf/luasrc/controller/iperf.lua:8 +#: luci-app-iperf/root/usr/share/luci/menu.d/luci-app-iperf.json:3 msgid "iPerf" msgstr "" #: luci-app-iperf/luasrc/view/iperf/test.htm:99 msgid "iPerf speed tests" msgstr "" - -#: luci-app-iperf/luasrc/controller/iperf.lua:7 -msgid "iperf" -msgstr "" diff --git a/luci-app-iperf/po/zh_Hans/iperf.po b/luci-app-iperf/po/zh_Hans/iperf.po new file mode 100644 index 000000000..6ccea7a50 --- /dev/null +++ b/luci-app-iperf/po/zh_Hans/iperf.po @@ -0,0 +1,104 @@ +msgid "" +msgstr "" +"PO-Revision-Date: 2021-05-13 21:38+0000\n" +"Last-Translator: justbin <419989953@qq.com>\n" +"Language-Team: Chinese (Simplified) \n" +"Language: zh_Hans\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=1; plural=0;\n" +"X-Generator: Weblate 4.6.1\n" + +#: luci-app-iperf/luasrc/view/iperf/test.htm:128 +msgid "0 for unlimited. Need to be limited for UDP test" +msgstr "0代表无限.需要限制UDP测试" + +#: luci-app-iperf/luasrc/view/iperf/test.htm:48 +#: luci-app-iperf/luasrc/view/iperf/test.htm:88 +msgid "Bad address specified!" +msgstr "指定地址错误!" + +#: luci-app-iperf/luasrc/view/iperf/test.htm:66 +#: luci-app-iperf/luasrc/view/iperf/test.htm:78 +#: luci-app-iperf/luasrc/view/iperf/test.htm:83 +#: luci-app-iperf/luasrc/view/iperf/test.htm:88 +msgid "Download" +msgstr "下载" + +#: luci-app-iperf/root/usr/share/rpcd/acl.d/luci-app-iperf.json:3 +msgid "Grant UCI access for luci-app-iperf" +msgstr "授予luci-app-iperf UCI访问权限" + +#: luci-app-iperf/luasrc/view/iperf/test.htm:114 +msgid "Internet protocol" +msgstr "互联网协议" + +#: luci-app-iperf/luasrc/view/iperf/test.htm:26 +#: luci-app-iperf/luasrc/view/iperf/test.htm:66 +msgid "Loading" +msgstr "载入中" + +#: luci-app-iperf/luasrc/view/iperf/test.htm:105 +msgid "Mode of operation" +msgstr "操作模式" + +#: luci-app-iperf/luasrc/view/iperf/test.htm:133 +msgid "Number of parallel client streams to run" +msgstr "要运行的并行客户端流的数量" + +#: luci-app-iperf/luasrc/view/iperf/test.htm:139 +msgid "Omit the first n seconds" +msgstr "忽略前n秒" + +#: luci-app-iperf/luasrc/view/iperf/test.htm:151 +msgid "Server" +msgstr "服务器" + +#: luci-app-iperf/luasrc/view/iperf/test.htm:165 +msgid "Server VPS IP is bypassed, so this will test only default route speed." +msgstr "VPS IP被绕过,因此这将只测试默认的路由速度。" + +#: luci-app-iperf/luasrc/view/iperf/test.htm:102 +msgid "Settings" +msgstr "设置" + +#: luci-app-iperf/luasrc/view/iperf/test.htm:123 +msgid "Target bitrate (Mbits/s)" +msgstr "目标比特率(Mbits/s)" + +#: luci-app-iperf/luasrc/view/iperf/test.htm:169 +msgid "Test" +msgstr "测试" + +#: luci-app-iperf/luasrc/view/iperf/test.htm:100 +msgid "This iPerf interface is in bêta. No support for this." +msgstr "此iPerf界面位于测试中.对此不支持." + +#: luci-app-iperf/luasrc/view/iperf/test.htm:145 +msgid "Time to transmit for (s)" +msgstr "传输时间 (秒)" + +#: luci-app-iperf/luasrc/view/iperf/test.htm:26 +#: luci-app-iperf/luasrc/view/iperf/test.htm:38 +#: luci-app-iperf/luasrc/view/iperf/test.htm:43 +#: luci-app-iperf/luasrc/view/iperf/test.htm:48 +msgid "Upload" +msgstr "上传" + +#: luci-app-iperf/luasrc/view/iperf/test.htm:27 +#: luci-app-iperf/luasrc/view/iperf/test.htm:67 +msgid "Waiting for command to complete..." +msgstr "等待命令完成..." + +#: luci-app-iperf/luasrc/controller/iperf.lua:8 +#: luci-app-iperf/root/usr/share/luci/menu.d/luci-app-iperf.json:3 +msgid "iPerf" +msgstr "iPerf测速" + +#: luci-app-iperf/luasrc/view/iperf/test.htm:99 +msgid "iPerf speed tests" +msgstr "iPerf速度测试" + +#~ msgid "iperf" +#~ msgstr "iperf测速" diff --git a/luci-app-iperf/po/zh_Hans/iperf.po~ b/luci-app-iperf/po/zh_Hans/iperf.po~ new file mode 100644 index 000000000..63ea2e8b8 --- /dev/null +++ b/luci-app-iperf/po/zh_Hans/iperf.po~ @@ -0,0 +1,96 @@ +msgid "" +msgstr "" +"PO-Revision-Date: 2021-04-30 16:03+0000\n" +"Last-Translator: niergouge <1150108426@qq.com>\n" +"Language-Team: Chinese (Simplified) \n" +"Language: zh_Hans\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=1; plural=0;\n" +"X-Generator: Weblate 4.5.2\n" + +#: luci-app-iperf/luasrc/view/iperf/test.htm:128 +msgid "0 for unlimited. Need to be limited for UDP test" +msgstr "0代表无限.需要限制UDP测试" + +#: luci-app-iperf/luasrc/view/iperf/test.htm:48 +#: luci-app-iperf/luasrc/view/iperf/test.htm:88 +msgid "Bad address specified!" +msgstr "指定地址错误!" + +#: luci-app-iperf/luasrc/view/iperf/test.htm:66 +#: luci-app-iperf/luasrc/view/iperf/test.htm:78 +#: luci-app-iperf/luasrc/view/iperf/test.htm:83 +#: luci-app-iperf/luasrc/view/iperf/test.htm:88 +msgid "Download" +msgstr "下载" + +#: luci-app-iperf/luasrc/view/iperf/test.htm:114 +msgid "Internet protocol" +msgstr "互联网协议" + +#: luci-app-iperf/luasrc/view/iperf/test.htm:26 +#: luci-app-iperf/luasrc/view/iperf/test.htm:66 +msgid "Loading" +msgstr "载入中" + +#: luci-app-iperf/luasrc/view/iperf/test.htm:105 +msgid "Mode of operation" +msgstr "操作模式" + +#: luci-app-iperf/luasrc/view/iperf/test.htm:133 +msgid "Number of parallel client streams to run" +msgstr "要运行的并行客户端流的数量" + +#: luci-app-iperf/luasrc/view/iperf/test.htm:139 +msgid "Omit the first n seconds" +msgstr "忽略前n秒" + +#: luci-app-iperf/luasrc/view/iperf/test.htm:151 +msgid "Server" +msgstr "服务器" + +#: luci-app-iperf/luasrc/view/iperf/test.htm:102 +msgid "Settings" +msgstr "设置" + +#: luci-app-iperf/luasrc/view/iperf/test.htm:123 +msgid "Target bitrate (Mbits/s)" +msgstr "目标比特率(Mbits/s)" + +#: luci-app-iperf/luasrc/view/iperf/test.htm:165 +msgid "Test" +msgstr "测试" + +#: luci-app-iperf/luasrc/view/iperf/test.htm:100 +msgid "This iPerf interface is in bêta. No support for this." +msgstr "此iPerf界面位于测试中.对此不支持." + +#: luci-app-iperf/luasrc/view/iperf/test.htm:145 +msgid "Time to transmit for (s)" +msgstr "传输时间 (秒)" + +#: luci-app-iperf/luasrc/view/iperf/test.htm:26 +#: luci-app-iperf/luasrc/view/iperf/test.htm:38 +#: luci-app-iperf/luasrc/view/iperf/test.htm:43 +#: luci-app-iperf/luasrc/view/iperf/test.htm:48 +msgid "Upload" +msgstr "上传" + +#: luci-app-iperf/luasrc/view/iperf/test.htm:27 +#: luci-app-iperf/luasrc/view/iperf/test.htm:67 +msgid "Waiting for command to complete..." +msgstr "等待命令完成..." + +#: luci-app-iperf/luasrc/controller/iperf.lua:8 +msgid "iPerf" +msgstr "iPerf测速" + +#: luci-app-iperf/luasrc/view/iperf/test.htm:99 +msgid "iPerf speed tests" +msgstr "iPerf速度测试" + +#: luci-app-iperf/luasrc/controller/iperf.lua:7 +msgid "iperf" +msgstr "iperf测速" diff --git a/luci-app-iperf/root/etc/config/iperf b/luci-app-iperf/root/etc/config/iperf index 911c3a1e6..be4baabb4 100644 --- a/luci-app-iperf/root/etc/config/iperf +++ b/luci-app-iperf/root/etc/config/iperf @@ -94,3 +94,22 @@ config server 'he' option tcp '1' option udp '1' option location 'America' + +config server 'biznetnetworks' + option host 'iperf.biznetnetworks.com' + option ipv4 '1' + option ipv6 '1' + option ports '5201,5202,5203' + option tcp '1' + option udp '1' + option location 'Asia' + +config server 'milkywan' + option host 'speedtest.milkywan.fr' + option ipv4 '1' + option ipv6 '1' + option speed '10000' + option ports '9200,9201,9202,9203,9204,9205,9206,9207,9208,9209,9210,9211,9212,9213,9214,9215' + option tcp '1' + option udp '1' + option location 'Europe' diff --git a/luci-app-iperf/root/usr/share/luci/menu.d/luci-app-iperf.json b/luci-app-iperf/root/usr/share/luci/menu.d/luci-app-iperf.json new file mode 100644 index 000000000..dd6151ee0 --- /dev/null +++ b/luci-app-iperf/root/usr/share/luci/menu.d/luci-app-iperf.json @@ -0,0 +1,13 @@ +{ + "admin/services/iperf": { + "title": "iPerf", + "order": 10, + "action": { + "type": "template", + "path": "iperf/test" + }, + "depends": { + "acl": [ "luci-app-iperf" ] + } + } +} diff --git a/luci-app-iperf/root/usr/share/rpcd/acl.d/luci-app-iperf.json b/luci-app-iperf/root/usr/share/rpcd/acl.d/luci-app-iperf.json new file mode 100644 index 000000000..c85182859 --- /dev/null +++ b/luci-app-iperf/root/usr/share/rpcd/acl.d/luci-app-iperf.json @@ -0,0 +1,11 @@ +{ + "luci-app-iperf": { + "description": "Grant UCI access for luci-app-iperf", + "read": { + "uci": [ "iperf" ] + }, + "write": { + "uci": [ "iperf" ] + } + } +} \ No newline at end of file diff --git a/luci-app-macvlan/Makefile b/luci-app-macvlan/Makefile deleted file mode 100644 index 8414d239a..000000000 --- a/luci-app-macvlan/Makefile +++ /dev/null @@ -1,78 +0,0 @@ -# -# Copyright (C) 2017-2019 Chen Minqiang -# -# This is free software, licensed under the GNU General Public License v3. -# See /LICENSE for more information. -# - -include $(TOPDIR)/rules.mk - -PKG_NAME:=luci-app-macvlan -PKG_VERSION:=1.0.0 -PKG_RELEASE:=1 - -PKG_LICENSE:=GPLv3 -PKG_LICENSE_FILES:=LICENSE -PKG_MAINTAINER:=Chen Minqiang - -PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME) - -include $(INCLUDE_DIR)/package.mk - -define Package/luci-app-macvlan - CATEGORY:=OpenMPTCProuter - SUBMENU:=Macvlan - TITLE:=LuCI Support for macvlan - PKGARCH:=all - DEPENDS:=+kmod-macvlan +busybox +@BUSYBOX_CUSTOM +@BUSYBOX_CONFIG_VCONFIG -endef - -define Package/luci-app-macvlan/description - LuCI Support for macvlan. -endef - -define Build/Prepare - $(foreach po,$(wildcard ${CURDIR}/files/luci/i18n/*.po), \ - po2lmo $(po) $(PKG_BUILD_DIR)/$(patsubst %.po,%.lmo,$(notdir $(po)));) -endef - -define Build/Configure -endef - -define Build/Compile -endef - -define Package/luci-app-macvlan/postinst -#!/bin/sh -if [ -z "$${IPKG_INSTROOT}" ]; then - rm -rf /tmp/luci-indexcache /tmp/luci-modulecache -fi - -if [ -z "$$IPKG_INSTROOT" ]; then - ( . /etc/uci-defaults/40_luci-app-macvlan ) - rm -f /etc/uci-defaults/40_luci-app-macvlan -fi - -exit 0 -endef - -define Package/luci-app-macvlan/conffiles -/etc/config/macvlan -endef - -define Package/luci-app-macvlan/install - $(INSTALL_DIR) $(1)/usr/lib/lua/luci/i18n - $(INSTALL_DATA) $(PKG_BUILD_DIR)/macvlan.*.lmo $(1)/usr/lib/lua/luci/i18n/ - $(INSTALL_DIR) $(1)/usr/lib/lua/luci/controller - $(INSTALL_DATA) ./files/luci/controller/*.lua $(1)/usr/lib/lua/luci/controller/ - $(INSTALL_DIR) $(1)/usr/lib/lua/luci/model/cbi/macvlan - $(INSTALL_DATA) ./files/luci/model/cbi/macvlan/*.lua $(1)/usr/lib/lua/luci/model/cbi/macvlan/ - $(INSTALL_DIR) $(1)/etc/config - $(INSTALL_DATA) ./files/root/etc/config/macvlan $(1)/etc/config/macvlan - $(INSTALL_DIR) $(1)/etc/init.d - $(INSTALL_BIN) ./files/root/etc/init.d/macvlan $(1)/etc/init.d/macvlan - $(INSTALL_DIR) $(1)/etc/uci-defaults - $(INSTALL_DATA) ./files/root/etc/uci-defaults/40_luci-app-macvlan $(1)/etc/uci-defaults/40_luci-app-macvlan -endef - -$(eval $(call BuildPackage,luci-app-macvlan)) diff --git a/luci-app-macvlan/files/luci/controller/macvlan.lua b/luci-app-macvlan/files/luci/controller/macvlan.lua deleted file mode 100644 index 3207db1b8..000000000 --- a/luci-app-macvlan/files/luci/controller/macvlan.lua +++ /dev/null @@ -1,10 +0,0 @@ --- Copyright (C) 2019 X-WRT - -module("luci.controller.macvlan", package.seeall) - -function index() - local page - - page = entry({"admin", "network", "macvlan"}, cbi("macvlan/macvlan"), _("Macvlan")) - page.leaf = true -end diff --git a/luci-app-macvlan/files/luci/i18n/macvlan.zh-cn.po b/luci-app-macvlan/files/luci/i18n/macvlan.zh-cn.po deleted file mode 100644 index a06710760..000000000 --- a/luci-app-macvlan/files/luci/i18n/macvlan.zh-cn.po +++ /dev/null @@ -1,14 +0,0 @@ -msgid "" -msgstr "Content-Type: text/plain; charset=UTF-8\n" - -msgid "Macvlan" -msgstr "Macvlan" - -msgid "Macvlan Settings" -msgstr "Macvlan设置" - -msgid "Interface" -msgstr "网络接口" - -msgid "Index" -msgstr "序号" diff --git a/luci-app-macvlan/files/luci/model/cbi/macvlan/macvlan.lua b/luci-app-macvlan/files/luci/model/cbi/macvlan/macvlan.lua deleted file mode 100644 index 2bcba5f18..000000000 --- a/luci-app-macvlan/files/luci/model/cbi/macvlan/macvlan.lua +++ /dev/null @@ -1,22 +0,0 @@ --- Copyright (C) 2019 X-WRT - -local net = require "luci.model.network".init() -local ifaces = net:get_interfaces() or { net:get_interface() } - -m = Map("macvlan", translate("Macvlan"), translate("You can configure Macvlan virtual interfaces base on the real itnerface you want.")) - -s = m:section(TypedSection, "macvlan", translate("Macvlan Settings")) -s.addremove = true -s.anonymous = false -s.template = "cbi/tblsection" - -hn = s:option(Value, "ifname", translate("Interface")) -hn.rmempty = false - -for _, iface in ipairs(ifaces) do - if iface:type() ~= "macvlan" then - hn:value(iface:name(),"%s" % iface:name()) - end -end - -return m diff --git a/luci-app-macvlan/po/zh_Hans/macvlan.po b/luci-app-macvlan/po/zh_Hans/macvlan.po new file mode 100644 index 000000000..2b64c20fd --- /dev/null +++ b/luci-app-macvlan/po/zh_Hans/macvlan.po @@ -0,0 +1,26 @@ +msgid "" +msgstr "" +"Language: zh_Hans\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: luci-app-macvlan/root/usr/share/rpcd/acl.d/luci-app-macvlan.json:3 +msgid "Grant UCI access for luci-app-macvlan" +msgstr "" + +#: luci-app-macvlan/htdocs/luci-static/resources/view/network/macvlan.js:30 +msgid "Interface" +msgstr "" + +#: luci-app-macvlan/htdocs/luci-static/resources/view/network/macvlan.js:22 +msgid "Interfaces" +msgstr "" + +#: luci-app-macvlan/htdocs/luci-static/resources/view/network/macvlan.js:20 +#: luci-app-macvlan/root/usr/share/luci/menu.d/luci-app-macvlan.json:3 +msgid "Macvlan" +msgstr "" + +#: luci-app-macvlan/htdocs/luci-static/resources/view/network/macvlan.js:26 +msgid "Name" +msgstr "" diff --git a/luci-app-mail/po/de/mail.po b/luci-app-mail/po/de/mail.po new file mode 100644 index 000000000..2b7c7984e --- /dev/null +++ b/luci-app-mail/po/de/mail.po @@ -0,0 +1,64 @@ +msgid "" +msgstr "" +"PO-Revision-Date: 2020-08-14 08:04+0000\n" +"Last-Translator: Andreas Dorfer \n" +"Language-Team: German \n" +"Language: de\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Generator: Weblate 4.0.4\n" + +#: luci-app-mail/root/usr/share/luci/menu.d/luci-app-mail.json:3 +msgid "E-Mail" +msgstr "" + +#: luci-app-mail/luasrc/model/cbi/mail.lua:34 +msgid "From" +msgstr "Von" + +#: luci-app-mail/root/usr/share/rpcd/acl.d/luci-app-mail.json:3 +msgid "Grant UCI access for luci-app-mail" +msgstr "" + +#: luci-app-mail/luasrc/controller/mail.lua:4 +#: luci-app-mail/luasrc/model/cbi/mail.lua:4 +msgid "Mail settings" +msgstr "E-Mail-Einstellungen" + +#: luci-app-mail/luasrc/model/cbi/mail.lua:30 +msgid "Password" +msgstr "Schlüssel" + +#: luci-app-mail/luasrc/model/cbi/mail.lua:15 +msgid "Port" +msgstr "Port" + +#: luci-app-mail/luasrc/model/cbi/mail.lua:6 +msgid "SMTP" +msgstr "SMTP" + +#: luci-app-mail/luasrc/model/cbi/mail.lua:24 +msgid "STARTTLS" +msgstr "StartTLS" + +#: luci-app-mail/luasrc/model/cbi/mail.lua:10 +msgid "Server" +msgstr "Server" + +#: luci-app-mail/luasrc/model/cbi/mail.lua:4 +msgid "Set mail settings for services that need to send mails." +msgstr "Einstellungen für Dienste, die E-Mail versenden können sollen." + +#: luci-app-mail/luasrc/model/cbi/mail.lua:21 +msgid "TLS" +msgstr "TLS" + +#: luci-app-mail/luasrc/model/cbi/mail.lua:39 +msgid "To" +msgstr "An" + +#: luci-app-mail/luasrc/model/cbi/mail.lua:27 +msgid "Username" +msgstr "Benutzername" diff --git a/luci-app-mail/po/de/mail.po~ b/luci-app-mail/po/de/mail.po~ new file mode 100644 index 000000000..f04c4e7c4 --- /dev/null +++ b/luci-app-mail/po/de/mail.po~ @@ -0,0 +1,44 @@ +msgid "" +msgstr "" +"PO-Revision-Date: 2020-08-14 08:04+0000\n" +"Last-Translator: Andreas Dorfer \n" +"Language-Team: German \n" +"Language: de\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Generator: Weblate 4.0.4\n" + +msgid "From" +msgstr "Von" + +msgid "Mail settings" +msgstr "E-Mail-Einstellungen" + +msgid "Password" +msgstr "Schlüssel" + +msgid "Port" +msgstr "Port" + +msgid "SMTP" +msgstr "SMTP" + +msgid "STARTTLS" +msgstr "StartTLS" + +msgid "Server" +msgstr "Server" + +msgid "Set mail settings for services that need to send mails." +msgstr "Einstellungen für Dienste, die E-Mail versenden können sollen." + +msgid "TLS" +msgstr "TLS" + +msgid "To" +msgstr "An" + +msgid "Username" +msgstr "Benutzername" diff --git a/luci-app-mail/po/fr/mail.po b/luci-app-mail/po/fr/mail.po index 50d37096a..78f77d558 100644 --- a/luci-app-mail/po/fr/mail.po +++ b/luci-app-mail/po/fr/mail.po @@ -1,46 +1,69 @@ msgid "" msgstr "" -"Content-Type: text/plain; charset=UTF-8\n" "Project-Id-Version: \n" "POT-Creation-Date: \n" -"PO-Revision-Date: \n" -"Language-Team: \n" -"MIME-Version: 1.0\n" -"Content-Transfer-Encoding: 8bit\n" -"X-Generator: Poedit 2.1.1\n" -"Last-Translator: Ycarus \n" -"Plural-Forms: nplurals=2; plural=(n > 1);\n" +"PO-Revision-Date: 2021-05-31 18:51+0000\n" +"Last-Translator: Weblate Admin \n" +"Language-Team: French \n" "Language: fr\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=n > 1;\n" +"X-Generator: Weblate 4.6.1\n" +#: luci-app-mail/root/usr/share/luci/menu.d/luci-app-mail.json:3 +msgid "E-Mail" +msgstr "E-Mail" + +#: luci-app-mail/luasrc/model/cbi/mail.lua:34 msgid "From" msgstr "De" +#: luci-app-mail/root/usr/share/rpcd/acl.d/luci-app-mail.json:3 +msgid "Grant UCI access for luci-app-mail" +msgstr "Accorder l'accès UCI pour luci-app-mail" + +#: luci-app-mail/luasrc/controller/mail.lua:4 +#: luci-app-mail/luasrc/model/cbi/mail.lua:4 msgid "Mail settings" msgstr "Paramètres e-mail" +#: luci-app-mail/luasrc/model/cbi/mail.lua:30 msgid "Password" msgstr "Mot de passe" +#: luci-app-mail/luasrc/model/cbi/mail.lua:15 msgid "Port" msgstr "Port" +#: luci-app-mail/luasrc/model/cbi/mail.lua:6 msgid "SMTP" -msgstr "" +msgstr "SMTP" +#: luci-app-mail/luasrc/model/cbi/mail.lua:24 msgid "STARTTLS" -msgstr "" +msgstr "STARTTLS" +#: luci-app-mail/luasrc/model/cbi/mail.lua:10 msgid "Server" msgstr "Serveur" +#: luci-app-mail/luasrc/model/cbi/mail.lua:4 msgid "Set mail settings for services that need to send mails." msgstr "" +"Définissez les paramètres de messagerie pour les services qui doivent " +"envoyer des e-mails." +#: luci-app-mail/luasrc/model/cbi/mail.lua:21 msgid "TLS" -msgstr "" +msgstr "TLS" +#: luci-app-mail/luasrc/model/cbi/mail.lua:39 msgid "To" msgstr "À" +#: luci-app-mail/luasrc/model/cbi/mail.lua:27 msgid "Username" msgstr "Nom d'utilisateur" diff --git a/luci-app-mail/po/fr/mail.po~ b/luci-app-mail/po/fr/mail.po~ new file mode 100644 index 000000000..ed30dd37f --- /dev/null +++ b/luci-app-mail/po/fr/mail.po~ @@ -0,0 +1,49 @@ +msgid "" +msgstr "" +"Project-Id-Version: \n" +"POT-Creation-Date: \n" +"PO-Revision-Date: 2020-08-03 12:39+0000\n" +"Last-Translator: Weblate Admin \n" +"Language-Team: French \n" +"Language: fr\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=n > 1;\n" +"X-Generator: Weblate 4.0.4\n" + +msgid "From" +msgstr "De" + +msgid "Mail settings" +msgstr "Paramètres e-mail" + +msgid "Password" +msgstr "Mot de passe" + +msgid "Port" +msgstr "Port" + +msgid "SMTP" +msgstr "SMTP" + +msgid "STARTTLS" +msgstr "STARTTLS" + +msgid "Server" +msgstr "Serveur" + +msgid "Set mail settings for services that need to send mails." +msgstr "" +"Définissez les paramètres de messagerie pour les services qui doivent " +"envoyer des e-mails." + +msgid "TLS" +msgstr "TLS" + +msgid "To" +msgstr "À" + +msgid "Username" +msgstr "Nom d'utilisateur" diff --git a/luci-app-mail/po/it/mail.po b/luci-app-mail/po/it/mail.po new file mode 100644 index 000000000..684d94dc4 --- /dev/null +++ b/luci-app-mail/po/it/mail.po @@ -0,0 +1,64 @@ +msgid "" +msgstr "" +"PO-Revision-Date: 2020-12-01 10:49+0000\n" +"Last-Translator: Giuseppe Dipierro \n" +"Language-Team: Italian \n" +"Language: it\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Generator: Weblate 4.0.4\n" + +#: luci-app-mail/root/usr/share/luci/menu.d/luci-app-mail.json:3 +msgid "E-Mail" +msgstr "" + +#: luci-app-mail/luasrc/model/cbi/mail.lua:34 +msgid "From" +msgstr "Da" + +#: luci-app-mail/root/usr/share/rpcd/acl.d/luci-app-mail.json:3 +msgid "Grant UCI access for luci-app-mail" +msgstr "" + +#: luci-app-mail/luasrc/controller/mail.lua:4 +#: luci-app-mail/luasrc/model/cbi/mail.lua:4 +msgid "Mail settings" +msgstr "Configurazione mail" + +#: luci-app-mail/luasrc/model/cbi/mail.lua:30 +msgid "Password" +msgstr "Password" + +#: luci-app-mail/luasrc/model/cbi/mail.lua:15 +msgid "Port" +msgstr "Porta" + +#: luci-app-mail/luasrc/model/cbi/mail.lua:6 +msgid "SMTP" +msgstr "SMTP" + +#: luci-app-mail/luasrc/model/cbi/mail.lua:24 +msgid "STARTTLS" +msgstr "STARTTLS" + +#: luci-app-mail/luasrc/model/cbi/mail.lua:10 +msgid "Server" +msgstr "Server" + +#: luci-app-mail/luasrc/model/cbi/mail.lua:4 +msgid "Set mail settings for services that need to send mails." +msgstr "Configurazione del server mail da utilizzare per inviare alert." + +#: luci-app-mail/luasrc/model/cbi/mail.lua:21 +msgid "TLS" +msgstr "TLS" + +#: luci-app-mail/luasrc/model/cbi/mail.lua:39 +msgid "To" +msgstr "A" + +#: luci-app-mail/luasrc/model/cbi/mail.lua:27 +msgid "Username" +msgstr "Username" diff --git a/luci-app-mail/po/it/mail.po~ b/luci-app-mail/po/it/mail.po~ new file mode 100644 index 000000000..fd43053e7 --- /dev/null +++ b/luci-app-mail/po/it/mail.po~ @@ -0,0 +1,44 @@ +msgid "" +msgstr "" +"PO-Revision-Date: 2020-12-01 10:49+0000\n" +"Last-Translator: Giuseppe Dipierro \n" +"Language-Team: Italian \n" +"Language: it\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Generator: Weblate 4.0.4\n" + +msgid "From" +msgstr "Da" + +msgid "Mail settings" +msgstr "Configurazione mail" + +msgid "Password" +msgstr "Password" + +msgid "Port" +msgstr "Porta" + +msgid "SMTP" +msgstr "SMTP" + +msgid "STARTTLS" +msgstr "STARTTLS" + +msgid "Server" +msgstr "Server" + +msgid "Set mail settings for services that need to send mails." +msgstr "Configurazione del server mail da utilizzare per inviare alert." + +msgid "TLS" +msgstr "TLS" + +msgid "To" +msgstr "A" + +msgid "Username" +msgstr "Username" diff --git a/luci-app-mail/po/oc/mail.po b/luci-app-mail/po/oc/mail.po new file mode 100644 index 000000000..a822d14de --- /dev/null +++ b/luci-app-mail/po/oc/mail.po @@ -0,0 +1,66 @@ +msgid "" +msgstr "" +"PO-Revision-Date: 2020-08-21 20:21+0000\n" +"Last-Translator: Quentin PAGÈS \n" +"Language-Team: Occitan \n" +"Language: oc\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=n > 1;\n" +"X-Generator: Weblate 4.0.4\n" + +#: luci-app-mail/root/usr/share/luci/menu.d/luci-app-mail.json:3 +msgid "E-Mail" +msgstr "" + +#: luci-app-mail/luasrc/model/cbi/mail.lua:34 +msgid "From" +msgstr "De" + +#: luci-app-mail/root/usr/share/rpcd/acl.d/luci-app-mail.json:3 +msgid "Grant UCI access for luci-app-mail" +msgstr "" + +#: luci-app-mail/luasrc/controller/mail.lua:4 +#: luci-app-mail/luasrc/model/cbi/mail.lua:4 +msgid "Mail settings" +msgstr "Paramètres e-mail" + +#: luci-app-mail/luasrc/model/cbi/mail.lua:30 +msgid "Password" +msgstr "Senhal" + +#: luci-app-mail/luasrc/model/cbi/mail.lua:15 +msgid "Port" +msgstr "Pòrt" + +#: luci-app-mail/luasrc/model/cbi/mail.lua:6 +msgid "SMTP" +msgstr "SMTP" + +#: luci-app-mail/luasrc/model/cbi/mail.lua:24 +msgid "STARTTLS" +msgstr "STARTTLS" + +#: luci-app-mail/luasrc/model/cbi/mail.lua:10 +msgid "Server" +msgstr "Servidor" + +#: luci-app-mail/luasrc/model/cbi/mail.lua:4 +msgid "Set mail settings for services that need to send mails." +msgstr "" +"Definissètz los paramètres de messatjariá pels servicis que devon enviar d’e-" +"mails." + +#: luci-app-mail/luasrc/model/cbi/mail.lua:21 +msgid "TLS" +msgstr "TLS" + +#: luci-app-mail/luasrc/model/cbi/mail.lua:39 +msgid "To" +msgstr "A" + +#: luci-app-mail/luasrc/model/cbi/mail.lua:27 +msgid "Username" +msgstr "Nom d'utilizaire" diff --git a/luci-app-mail/po/oc/mail.po~ b/luci-app-mail/po/oc/mail.po~ new file mode 100644 index 000000000..ce93d0ed8 --- /dev/null +++ b/luci-app-mail/po/oc/mail.po~ @@ -0,0 +1,46 @@ +msgid "" +msgstr "" +"PO-Revision-Date: 2020-08-21 20:21+0000\n" +"Last-Translator: Quentin PAGÈS \n" +"Language-Team: Occitan \n" +"Language: oc\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=n > 1;\n" +"X-Generator: Weblate 4.0.4\n" + +msgid "From" +msgstr "De" + +msgid "Mail settings" +msgstr "Paramètres e-mail" + +msgid "Password" +msgstr "Senhal" + +msgid "Port" +msgstr "Pòrt" + +msgid "SMTP" +msgstr "SMTP" + +msgid "STARTTLS" +msgstr "STARTTLS" + +msgid "Server" +msgstr "Servidor" + +msgid "Set mail settings for services that need to send mails." +msgstr "" +"Definissètz los paramètres de messatjariá pels servicis que devon enviar d’e-" +"mails." + +msgid "TLS" +msgstr "TLS" + +msgid "To" +msgstr "A" + +msgid "Username" +msgstr "Nom d'utilizaire" diff --git a/luci-app-mail/po/ru/mail.po b/luci-app-mail/po/ru/mail.po new file mode 100644 index 000000000..55fcead70 --- /dev/null +++ b/luci-app-mail/po/ru/mail.po @@ -0,0 +1,65 @@ +msgid "" +msgstr "" +"PO-Revision-Date: 2021-05-13 21:38+0000\n" +"Last-Translator: Aleksandr Serdyukov \n" +"Language-Team: Russian \n" +"Language: ru\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n" +"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" +"X-Generator: Weblate 4.6.1\n" + +#: luci-app-mail/root/usr/share/luci/menu.d/luci-app-mail.json:3 +msgid "E-Mail" +msgstr "E-Mail" + +#: luci-app-mail/luasrc/model/cbi/mail.lua:34 +msgid "From" +msgstr "От" + +#: luci-app-mail/root/usr/share/rpcd/acl.d/luci-app-mail.json:3 +msgid "Grant UCI access for luci-app-mail" +msgstr "Полный UCI доступ для luci-app-mail" + +#: luci-app-mail/luasrc/controller/mail.lua:4 +#: luci-app-mail/luasrc/model/cbi/mail.lua:4 +msgid "Mail settings" +msgstr "Настройки почты" + +#: luci-app-mail/luasrc/model/cbi/mail.lua:30 +msgid "Password" +msgstr "Пароль" + +#: luci-app-mail/luasrc/model/cbi/mail.lua:15 +msgid "Port" +msgstr "Порт" + +#: luci-app-mail/luasrc/model/cbi/mail.lua:6 +msgid "SMTP" +msgstr "SMTP" + +#: luci-app-mail/luasrc/model/cbi/mail.lua:24 +msgid "STARTTLS" +msgstr "STARTTLS" + +#: luci-app-mail/luasrc/model/cbi/mail.lua:10 +msgid "Server" +msgstr "Сервер" + +#: luci-app-mail/luasrc/model/cbi/mail.lua:4 +msgid "Set mail settings for services that need to send mails." +msgstr "Выбор настроек почты для сервисов, которым нужно отправлять почту." + +#: luci-app-mail/luasrc/model/cbi/mail.lua:21 +msgid "TLS" +msgstr "TLS" + +#: luci-app-mail/luasrc/model/cbi/mail.lua:39 +msgid "To" +msgstr "Кому" + +#: luci-app-mail/luasrc/model/cbi/mail.lua:27 +msgid "Username" +msgstr "Имя пользователя" diff --git a/luci-app-mail/po/templates/mail.pot b/luci-app-mail/po/templates/mail.pot index a2eeddf5c..9abad09a1 100644 --- a/luci-app-mail/po/templates/mail.pot +++ b/luci-app-mail/po/templates/mail.pot @@ -1,35 +1,55 @@ msgid "" msgstr "Content-Type: text/plain; charset=UTF-8" +#: luci-app-mail/root/usr/share/luci/menu.d/luci-app-mail.json:3 +msgid "E-Mail" +msgstr "" + +#: luci-app-mail/luasrc/model/cbi/mail.lua:34 msgid "From" msgstr "" +#: luci-app-mail/root/usr/share/rpcd/acl.d/luci-app-mail.json:3 +msgid "Grant UCI access for luci-app-mail" +msgstr "" + +#: luci-app-mail/luasrc/controller/mail.lua:4 +#: luci-app-mail/luasrc/model/cbi/mail.lua:4 msgid "Mail settings" msgstr "" +#: luci-app-mail/luasrc/model/cbi/mail.lua:30 msgid "Password" msgstr "" +#: luci-app-mail/luasrc/model/cbi/mail.lua:15 msgid "Port" msgstr "" +#: luci-app-mail/luasrc/model/cbi/mail.lua:6 msgid "SMTP" msgstr "" +#: luci-app-mail/luasrc/model/cbi/mail.lua:24 msgid "STARTTLS" msgstr "" +#: luci-app-mail/luasrc/model/cbi/mail.lua:10 msgid "Server" msgstr "" +#: luci-app-mail/luasrc/model/cbi/mail.lua:4 msgid "Set mail settings for services that need to send mails." msgstr "" +#: luci-app-mail/luasrc/model/cbi/mail.lua:21 msgid "TLS" msgstr "" +#: luci-app-mail/luasrc/model/cbi/mail.lua:39 msgid "To" msgstr "" +#: luci-app-mail/luasrc/model/cbi/mail.lua:27 msgid "Username" msgstr "" diff --git a/luci-app-mail/po/zh_Hans/mail.po b/luci-app-mail/po/zh_Hans/mail.po new file mode 100644 index 000000000..f857e08b7 --- /dev/null +++ b/luci-app-mail/po/zh_Hans/mail.po @@ -0,0 +1,64 @@ +msgid "" +msgstr "" +"PO-Revision-Date: 2021-05-13 21:38+0000\n" +"Last-Translator: justbin <419989953@qq.com>\n" +"Language-Team: Chinese (Simplified) \n" +"Language: zh_Hans\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=1; plural=0;\n" +"X-Generator: Weblate 4.6.1\n" + +#: luci-app-mail/root/usr/share/luci/menu.d/luci-app-mail.json:3 +msgid "E-Mail" +msgstr "电子邮件" + +#: luci-app-mail/luasrc/model/cbi/mail.lua:34 +msgid "From" +msgstr "来自" + +#: luci-app-mail/root/usr/share/rpcd/acl.d/luci-app-mail.json:3 +msgid "Grant UCI access for luci-app-mail" +msgstr "授予luci-app-iperf UCI访问权限" + +#: luci-app-mail/luasrc/controller/mail.lua:4 +#: luci-app-mail/luasrc/model/cbi/mail.lua:4 +msgid "Mail settings" +msgstr "邮件设置" + +#: luci-app-mail/luasrc/model/cbi/mail.lua:30 +msgid "Password" +msgstr "密码" + +#: luci-app-mail/luasrc/model/cbi/mail.lua:15 +msgid "Port" +msgstr "端口" + +#: luci-app-mail/luasrc/model/cbi/mail.lua:6 +msgid "SMTP" +msgstr "SMTP设置" + +#: luci-app-mail/luasrc/model/cbi/mail.lua:24 +msgid "STARTTLS" +msgstr "STARTTLS设置" + +#: luci-app-mail/luasrc/model/cbi/mail.lua:10 +msgid "Server" +msgstr "服务器" + +#: luci-app-mail/luasrc/model/cbi/mail.lua:4 +msgid "Set mail settings for services that need to send mails." +msgstr "为需要发送邮件的服务设置邮件设置." + +#: luci-app-mail/luasrc/model/cbi/mail.lua:21 +msgid "TLS" +msgstr "证书" + +#: luci-app-mail/luasrc/model/cbi/mail.lua:39 +msgid "To" +msgstr "发送到" + +#: luci-app-mail/luasrc/model/cbi/mail.lua:27 +msgid "Username" +msgstr "账号" diff --git a/luci-app-mail/po/zh_Hans/mail.po~ b/luci-app-mail/po/zh_Hans/mail.po~ new file mode 100644 index 000000000..1c3a57e2f --- /dev/null +++ b/luci-app-mail/po/zh_Hans/mail.po~ @@ -0,0 +1,44 @@ +msgid "" +msgstr "" +"PO-Revision-Date: 2020-12-04 16:02+0000\n" +"Last-Translator: antrouter \n" +"Language-Team: Chinese (Simplified) \n" +"Language: zh_Hans\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=1; plural=0;\n" +"X-Generator: Weblate 4.0.4\n" + +msgid "From" +msgstr "来自" + +msgid "Mail settings" +msgstr "邮件设置" + +msgid "Password" +msgstr "密码" + +msgid "Port" +msgstr "端口" + +msgid "SMTP" +msgstr "SMTP设置" + +msgid "STARTTLS" +msgstr "STARTTLS设置" + +msgid "Server" +msgstr "服务器" + +msgid "Set mail settings for services that need to send mails." +msgstr "为需要发送邮件的服务设置邮件设置." + +msgid "TLS" +msgstr "证书" + +msgid "To" +msgstr "发送到" + +msgid "Username" +msgstr "账号" diff --git a/luci-app-mail/root/usr/share/luci/menu.d/luci-app-mail.json b/luci-app-mail/root/usr/share/luci/menu.d/luci-app-mail.json new file mode 100644 index 000000000..6098e0a26 --- /dev/null +++ b/luci-app-mail/root/usr/share/luci/menu.d/luci-app-mail.json @@ -0,0 +1,13 @@ +{ + "admin/services/mail": { + "title": "E-Mail", + "order": 90, + "action": { + "type": "cbi", + "path": "mail" + }, + "depends": { + "acl": [ "luci-app-mail" ] + } + } +} diff --git a/luci-app-mail/root/usr/share/rpcd/acl.d/luci-app-mail.json b/luci-app-mail/root/usr/share/rpcd/acl.d/luci-app-mail.json new file mode 100644 index 000000000..719eead98 --- /dev/null +++ b/luci-app-mail/root/usr/share/rpcd/acl.d/luci-app-mail.json @@ -0,0 +1,11 @@ +{ + "luci-app-mail": { + "description": "Grant UCI access for luci-app-mail", + "read": { + "uci": [ "mail" ] + }, + "write": { + "uci": [ "mail" ] + } + } +} \ No newline at end of file diff --git a/luci-app-mlvpn/Makefile b/luci-app-mlvpn/Makefile index 33548c8e9..77a8ceb24 100644 --- a/luci-app-mlvpn/Makefile +++ b/luci-app-mlvpn/Makefile @@ -1,11 +1,11 @@ # -# Copyright (C) 2018-2019 Ycarus (Yannick Chabanois) +# Copyright (C) 2018-2020 Ycarus (Yannick Chabanois) # # include $(TOPDIR)/rules.mk -LUCI_TITLE:=LuCI Support for MLVPN +LUCI_TITLE:=LuCI Interface to MLVPN LUCI_DEPENDS:=+mlvpn PKG_LICENSE:=GPLv3 diff --git a/luci-app-mlvpn/htdocs/luci-static/resources/view/services/mlvpn.js b/luci-app-mlvpn/htdocs/luci-static/resources/view/services/mlvpn.js new file mode 100644 index 000000000..f8bbc58c5 --- /dev/null +++ b/luci-app-mlvpn/htdocs/luci-static/resources/view/services/mlvpn.js @@ -0,0 +1,93 @@ +'use strict'; +'require rpc'; +'require form'; +'require fs'; +'require uci'; +'require tools.widgets as widgets'; + +var callHostHints; + +return L.view.extend({ + callHostHints: rpc.declare({ + object: 'luci-rpc', + method: 'getHostHints', + expect: { '': {} } + }), + + load: function() { + return this.callHostHints(); + }, + + render: function(hosts) { + var m, s, o; + + m = new form.Map('mlvpn', _('MLVPN')); + + s = m.section(form.GridSection, 'mlvpn', _('Instances')); + s.addremove = true; + s.anonymous = true; + s.nodescriptions = true; + + s.tab('general', _('General Settings')); + s.tab('advanced', _('Advanced Settings')); + + o = s.taboption('general', form.Flag, 'enable', _('Enabled')); + o.default = o.enabled; + + o = s.taboption('general',form.Value, 'label', _('Label')); + o.rmempty = true; + + o = s.taboption('general', form.ListValue, 'mode', _('Mode')); + o.value('client',_('Client')); + o.value('server',_('Server')); + o.modalonly = true; + + o = s.taboption('general', form.Value, 'host', _('Host')); + o.rmempty = false; + + o = s.taboption('general', form.Value, 'firstport', _('First Port')); + o.default = "65201"; + o.datatype = "port"; + o.rmempty = false; + + o = s.taboption('general', form.Value, 'password', _('Password')); + o.rmempty = false; + o.modalonly = true; + + o = s.taboption('general', form.Value, 'interface_name', _('Interface name')); + o.default = "mlvpn0"; + o.placeholder = "mlvpn0"; + o.rmempty = false; + o.modalonly = true; + + o = s.taboption('advanced', form.Value, 'timeout', _('Timeout (s)')); + o.default = '30'; + o.datatype = "uinteger"; + o.rmempty = false; + o.modalonly = true; + + o = s.taboption('advanced', form.Value, 'reorder_buffer_size', _('Reorder buffer size')); + o.default = '128'; + o.datatype = "uinteger"; + o.rmempty = false; + o.modalonly = true; + + o = s.taboption('advanced', form.Flag, 'cleartext_data', _('Disable encryption')); + o.default = o.disabled; + o.rmempty = false; + + o = s.taboption('advanced', form.Value, 'loss_tolerance', _('Loss tolerance')); + o.default = '50'; + o.datatype = "uinteger"; + o.rmempty = false; + o.modalonly = true; + + o = s.taboption('advanced', form.Value, 'latency_tolerance', _('Latency tolerance')); + o.default = '300'; + o.datatype = "uinteger"; + o.rmempty = false; + o.modalonly = true; + + return m.render(); + } +}); diff --git a/luci-app-mlvpn/luasrc/controller/mlvpn.lua b/luci-app-mlvpn/luasrc/controller/mlvpn.lua deleted file mode 100644 index 154222265..000000000 --- a/luci-app-mlvpn/luasrc/controller/mlvpn.lua +++ /dev/null @@ -1,7 +0,0 @@ -module("luci.controller.mlvpn", package.seeall) - -function index() - --entry({"admin", "openmptcprouter", "mlvpn"}, cbi("mlvpn"), _("MLVPN")) - --entry({"admin", "services", "mlvpn"}, cbi("mlvpn"), _("MLVPN")) - entry({"admin", "vpn", "mlvpn"}, cbi("mlvpn"), _("MLVPN")) -end diff --git a/luci-app-mlvpn/luasrc/model/cbi/mlvpn.lua b/luci-app-mlvpn/luasrc/model/cbi/mlvpn.lua deleted file mode 100644 index eaef23d7e..000000000 --- a/luci-app-mlvpn/luasrc/model/cbi/mlvpn.lua +++ /dev/null @@ -1,77 +0,0 @@ -local net = require "luci.model.network".init() -local sys = require "luci.sys" -local ifaces = sys.net:devices() -local m, s, o - -m = Map("mlvpn", translate("MLVPN")) - -s = m:section(TypedSection, "mlvpn", translate("Settings")) -s.anonymous = true -s.addremove = false - -o = s:option(Flag, "enable", translate("Enable")) -o.rmempty = false - -o = s:option(Value, "timeout", translate("Timeout (s)")) -o.placeholder = "30" -o.default = "30" -o.datatype = "uinteger" -o.rmempty = false - -o = s:option(Value, "reorder_buffer_size", translate("Reorder buffer size")) -o.placeholder = "64" -o.default = "64" -o.datatype = "uinteger" -o.rmempty = false - -o = s:option(Value, "loss_tolerance", translate("Loss tolerance")) -o.placeholder = "50" -o.default = "50" -o.datatype = "uinteger" -o.rmempty = false - -o = s:option(Value, "host", translate("Remote host")) -o.placeholder = "128.128.128.128" -o.default = "128.128.128.128" -o.datatype = "host" -o.rmempty = false - -o = s:option(Value, "firstport", translate("First remote port"),translate("Interface will increase port used beginning with this")) -o.default = "65201" -o.datatype = "port" -o.rmempty = false - -o = s:option(Value, "password", translate("Password")) -o.password = true -o.rmempty = false - - -o = s:option(Value, "interface_name", translate("Interface name")) -o.placeholder = "mlvpn0" -o.default = "mlvpn0" -o.rmempty = false - ---o = s:option(Value, "mode", translate("Mode")) ---o:value("client") ---o:value("server") ---o.default = "client" ---o.rmempty = false - - ---s = m:section(TypedSection, "interface", translate("Interfaces")) ---s.template_addremove = "mlvpn/cbi-select-add" ---s.addremove = true ---s.add_select_options = { } ---s.add_select_options[''] = '' ---for _, iface in ipairs(ifaces) do --- if not (iface == "lo" or iface:match("^ifb.*")) then --- s.add_select_options[iface] = iface --- end ---end - ---o = s:option(Value, "port", translate("Remote/Bind port")) ---o.placeholder = "65201" ---o.default = "65201" ---o.datatype = "port" - -return m diff --git a/luci-app-mlvpn/luasrc/view/mlvpn/cbi-select-add.htm b/luci-app-mlvpn/luasrc/view/mlvpn/cbi-select-add.htm deleted file mode 100644 index 9ee30d310..000000000 --- a/luci-app-mlvpn/luasrc/view/mlvpn/cbi-select-add.htm +++ /dev/null @@ -1,10 +0,0 @@ -
- <% if self.invalid_cts then -%>
<% end %> - - - <% if self.invalid_cts then %>
<%:Invalid%>
<% end %> -
diff --git a/luci-app-mlvpn/po/fr/mlvpn.po b/luci-app-mlvpn/po/fr/mlvpn.po index 36e5e89ab..97c7d305e 100644 --- a/luci-app-mlvpn/po/fr/mlvpn.po +++ b/luci-app-mlvpn/po/fr/mlvpn.po @@ -1,61 +1,84 @@ msgid "" msgstr "" -"Content-Type: text/plain; charset=UTF-8\n" -"Project-Id-Version: \n" -"POT-Creation-Date: \n" -"PO-Revision-Date: \n" -"Language-Team: \n" -"MIME-Version: 1.0\n" -"Content-Transfer-Encoding: 8bit\n" -"X-Generator: Poedit 2.0.6\n" -"Last-Translator: Ycarus \n" -"Plural-Forms: nplurals=2; plural=(n > 1);\n" +"PO-Revision-Date: 2022-02-19 07:53+0000\n" +"Last-Translator: Weblate Admin \n" +"Language-Team: French \n" "Language: fr\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=n > 1;\n" +"X-Generator: Weblate 4.6.1\n" -msgid "Add" -msgstr "Ajouter" +#: luci-app-mlvpn/htdocs/luci-static/resources/view/services/mlvpn.js:32 +msgid "Advanced Settings" +msgstr "Configuration avancée" -msgid "Enable" -msgstr "Activé" +#: luci-app-mlvpn/htdocs/luci-static/resources/view/services/mlvpn.js:41 +msgid "Client" +msgstr "Client" -msgid "First remote port" -msgstr "Premier port distant" +#: luci-app-mlvpn/htdocs/luci-static/resources/view/services/mlvpn.js:75 +msgid "Disable encryption" +msgstr "Désactiver le chiffrement" +#: luci-app-mlvpn/htdocs/luci-static/resources/view/services/mlvpn.js:34 +msgid "Enabled" +msgstr "Activer" + +#: luci-app-mlvpn/htdocs/luci-static/resources/view/services/mlvpn.js:48 +msgid "First Port" +msgstr "Premier port" + +#: luci-app-mlvpn/htdocs/luci-static/resources/view/services/mlvpn.js:31 +msgid "General Settings" +msgstr "Paramètres généraux" + +#: luci-app-mlvpn/root/usr/share/rpcd/acl.d/luci-app-mlvpn.json:3 +msgid "Grant UCI access for luci-app-mlvpn" +msgstr "Accorder l'accès UCI pour luci-app-mlvpn" + +#: luci-app-mlvpn/htdocs/luci-static/resources/view/services/mlvpn.js:45 +msgid "Host" +msgstr "Hôte" + +#: luci-app-mlvpn/htdocs/luci-static/resources/view/services/mlvpn.js:26 +msgid "Instances" +msgstr "Instances" + +#: luci-app-mlvpn/htdocs/luci-static/resources/view/services/mlvpn.js:57 msgid "Interface name" msgstr "Nom de l'interface" -msgid "Interface will increase port used beginning with this" -msgstr "" - -msgid "Interfaces" -msgstr "Interfaces" - -msgid "Invalid" -msgstr "Invalide" +#: luci-app-mlvpn/htdocs/luci-static/resources/view/services/mlvpn.js:37 +msgid "Label" +msgstr "Étiquette" +#: luci-app-mlvpn/htdocs/luci-static/resources/view/services/mlvpn.js:79 msgid "Loss tolerance" -msgstr "" +msgstr "Tolérance aux pertes" +#: luci-app-mlvpn/htdocs/luci-static/resources/view/services/mlvpn.js:24 +#: luci-app-mlvpn/root/usr/share/luci/menu.d/luci-app-mlvpn.json:3 msgid "MLVPN" -msgstr "" +msgstr "MLVPN" +#: luci-app-mlvpn/htdocs/luci-static/resources/view/services/mlvpn.js:40 msgid "Mode" -msgstr "" +msgstr "Mode" +#: luci-app-mlvpn/htdocs/luci-static/resources/view/services/mlvpn.js:53 msgid "Password" msgstr "Mot de passe" -msgid "Remote host" -msgstr "Nom de l'hôte distant ou adresse IP" - -msgid "Remote/Bind port" -msgstr "Port de connexion distant" - +#: luci-app-mlvpn/htdocs/luci-static/resources/view/services/mlvpn.js:69 msgid "Reorder buffer size" -msgstr "" +msgstr "Taille du tampon de réordonnancement" -msgid "Settings" -msgstr "Paramètres" +#: luci-app-mlvpn/htdocs/luci-static/resources/view/services/mlvpn.js:42 +msgid "Server" +msgstr "Serveur" +#: luci-app-mlvpn/htdocs/luci-static/resources/view/services/mlvpn.js:63 msgid "Timeout (s)" msgstr "Délais d'attente (s)" diff --git a/luci-app-mlvpn/po/fr/mlvpn.po~ b/luci-app-mlvpn/po/fr/mlvpn.po~ new file mode 100644 index 000000000..b8f466284 --- /dev/null +++ b/luci-app-mlvpn/po/fr/mlvpn.po~ @@ -0,0 +1,80 @@ +msgid "" +msgstr "" +"PO-Revision-Date: 2021-04-30 16:16+0000\n" +"Last-Translator: Weblate Admin \n" +"Language-Team: French \n" +"Language: fr\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=n > 1;\n" +"X-Generator: Weblate 4.5.2\n" + +#: luci-app-mlvpn/htdocs/luci-static/resources/view/services/mlvpn.js:32 +msgid "Advanced Settings" +msgstr "Configuration avancée" + +#: luci-app-mlvpn/htdocs/luci-static/resources/view/services/mlvpn.js:38 +msgid "Client" +msgstr "Client" + +#: luci-app-mlvpn/htdocs/luci-static/resources/view/services/mlvpn.js:34 +msgid "Enabled" +msgstr "Activer" + +#: luci-app-mlvpn/htdocs/luci-static/resources/view/services/mlvpn.js:45 +msgid "First Port" +msgstr "Premier port" + +#: luci-app-mlvpn/htdocs/luci-static/resources/view/services/mlvpn.js:31 +msgid "General Settings" +msgstr "Paramètres généraux" + +#: luci-app-mlvpn/root/usr/share/rpcd/acl.d/luci-app-mlvpn.json:3 +msgid "Grant UCI access for luci-app-mlvpn" +msgstr "Accorder l'accès UCI pour luci-app-mlvpn" + +#: luci-app-mlvpn/htdocs/luci-static/resources/view/services/mlvpn.js:42 +msgid "Host" +msgstr "Hôte" + +#: luci-app-mlvpn/htdocs/luci-static/resources/view/services/mlvpn.js:26 +msgid "Instances" +msgstr "Instances" + +#: luci-app-mlvpn/htdocs/luci-static/resources/view/services/mlvpn.js:54 +msgid "Interface name" +msgstr "Nom de l'interface" + +#: luci-app-mlvpn/htdocs/luci-static/resources/view/services/mlvpn.js:78 +msgid "Label" +msgstr "Étiquette" + +#: luci-app-mlvpn/htdocs/luci-static/resources/view/services/mlvpn.js:72 +msgid "Loss tolerance" +msgstr "Tolérance aux pertes" + +#: luci-app-mlvpn/htdocs/luci-static/resources/view/services/mlvpn.js:24 +#: luci-app-mlvpn/root/usr/share/luci/menu.d/luci-app-mlvpn.json:3 +msgid "MLVPN" +msgstr "MLVPN" + +#: luci-app-mlvpn/htdocs/luci-static/resources/view/services/mlvpn.js:37 +msgid "Mode" +msgstr "Mode" + +#: luci-app-mlvpn/htdocs/luci-static/resources/view/services/mlvpn.js:50 +msgid "Password" +msgstr "Mot de passe" + +#: luci-app-mlvpn/htdocs/luci-static/resources/view/services/mlvpn.js:66 +msgid "Reorder buffer size" +msgstr "Taille du tampon de réordonnancement" + +#: luci-app-mlvpn/htdocs/luci-static/resources/view/services/mlvpn.js:39 +msgid "Server" +msgstr "Serveur" + +#: luci-app-mlvpn/htdocs/luci-static/resources/view/services/mlvpn.js:60 +msgid "Timeout (s)" +msgstr "Délais d'attente (s)" diff --git a/luci-app-mlvpn/po/ru/mlvpn.po b/luci-app-mlvpn/po/ru/mlvpn.po new file mode 100644 index 000000000..de9e4cd8c --- /dev/null +++ b/luci-app-mlvpn/po/ru/mlvpn.po @@ -0,0 +1,85 @@ +msgid "" +msgstr "" +"PO-Revision-Date: 2021-05-13 21:38+0000\n" +"Last-Translator: Aleksandr Serdyukov \n" +"Language-Team: Russian \n" +"Language: ru\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n" +"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" +"X-Generator: Weblate 4.6.1\n" + +#: luci-app-mlvpn/htdocs/luci-static/resources/view/services/mlvpn.js:32 +msgid "Advanced Settings" +msgstr "Дополнительные настройки" + +#: luci-app-mlvpn/htdocs/luci-static/resources/view/services/mlvpn.js:41 +msgid "Client" +msgstr "Клиент" + +#: luci-app-mlvpn/htdocs/luci-static/resources/view/services/mlvpn.js:75 +msgid "Disable encryption" +msgstr "Отключить шифрование" + +#: luci-app-mlvpn/htdocs/luci-static/resources/view/services/mlvpn.js:34 +msgid "Enabled" +msgstr "Установлено" + +#: luci-app-mlvpn/htdocs/luci-static/resources/view/services/mlvpn.js:48 +msgid "First Port" +msgstr "Первый порт" + +#: luci-app-mlvpn/htdocs/luci-static/resources/view/services/mlvpn.js:31 +msgid "General Settings" +msgstr "Основные настройки" + +#: luci-app-mlvpn/root/usr/share/rpcd/acl.d/luci-app-mlvpn.json:3 +msgid "Grant UCI access for luci-app-mlvpn" +msgstr "Полный UCI доступ для luci-app-mlvpn" + +#: luci-app-mlvpn/htdocs/luci-static/resources/view/services/mlvpn.js:45 +msgid "Host" +msgstr "Хост" + +#: luci-app-mlvpn/htdocs/luci-static/resources/view/services/mlvpn.js:26 +msgid "Instances" +msgstr "Экземпляры" + +#: luci-app-mlvpn/htdocs/luci-static/resources/view/services/mlvpn.js:57 +msgid "Interface name" +msgstr "Имя интерфейса" + +#: luci-app-mlvpn/htdocs/luci-static/resources/view/services/mlvpn.js:37 +msgid "Label" +msgstr "Метка" + +#: luci-app-mlvpn/htdocs/luci-static/resources/view/services/mlvpn.js:79 +msgid "Loss tolerance" +msgstr "Терпимость к потерям" + +#: luci-app-mlvpn/htdocs/luci-static/resources/view/services/mlvpn.js:24 +#: luci-app-mlvpn/root/usr/share/luci/menu.d/luci-app-mlvpn.json:3 +msgid "MLVPN" +msgstr "MLVPN" + +#: luci-app-mlvpn/htdocs/luci-static/resources/view/services/mlvpn.js:40 +msgid "Mode" +msgstr "Режим" + +#: luci-app-mlvpn/htdocs/luci-static/resources/view/services/mlvpn.js:53 +msgid "Password" +msgstr "Пароль" + +#: luci-app-mlvpn/htdocs/luci-static/resources/view/services/mlvpn.js:69 +msgid "Reorder buffer size" +msgstr "Изменить размер буфера" + +#: luci-app-mlvpn/htdocs/luci-static/resources/view/services/mlvpn.js:42 +msgid "Server" +msgstr "Сервер" + +#: luci-app-mlvpn/htdocs/luci-static/resources/view/services/mlvpn.js:63 +msgid "Timeout (s)" +msgstr "Тайм- аут (s)" diff --git a/luci-app-mlvpn/po/templates/mlvpn.pot b/luci-app-mlvpn/po/templates/mlvpn.pot index 0eecd2f65..2f1fe9c73 100644 --- a/luci-app-mlvpn/po/templates/mlvpn.pot +++ b/luci-app-mlvpn/po/templates/mlvpn.pot @@ -1,50 +1,75 @@ msgid "" msgstr "Content-Type: text/plain; charset=UTF-8" -msgid "Add" +#: luci-app-mlvpn/htdocs/luci-static/resources/view/services/mlvpn.js:32 +msgid "Advanced Settings" msgstr "" -msgid "Enable" +#: luci-app-mlvpn/htdocs/luci-static/resources/view/services/mlvpn.js:41 +msgid "Client" msgstr "" -msgid "First remote port" +#: luci-app-mlvpn/htdocs/luci-static/resources/view/services/mlvpn.js:75 +msgid "Disable encryption" msgstr "" +#: luci-app-mlvpn/htdocs/luci-static/resources/view/services/mlvpn.js:34 +msgid "Enabled" +msgstr "" + +#: luci-app-mlvpn/htdocs/luci-static/resources/view/services/mlvpn.js:48 +msgid "First Port" +msgstr "" + +#: luci-app-mlvpn/htdocs/luci-static/resources/view/services/mlvpn.js:31 +msgid "General Settings" +msgstr "" + +#: luci-app-mlvpn/root/usr/share/rpcd/acl.d/luci-app-mlvpn.json:3 +msgid "Grant UCI access for luci-app-mlvpn" +msgstr "" + +#: luci-app-mlvpn/htdocs/luci-static/resources/view/services/mlvpn.js:45 +msgid "Host" +msgstr "" + +#: luci-app-mlvpn/htdocs/luci-static/resources/view/services/mlvpn.js:26 +msgid "Instances" +msgstr "" + +#: luci-app-mlvpn/htdocs/luci-static/resources/view/services/mlvpn.js:57 msgid "Interface name" msgstr "" -msgid "Interface will increase port used beginning with this" -msgstr "" - -msgid "Interfaces" -msgstr "" - -msgid "Invalid" +#: luci-app-mlvpn/htdocs/luci-static/resources/view/services/mlvpn.js:37 +msgid "Label" msgstr "" +#: luci-app-mlvpn/htdocs/luci-static/resources/view/services/mlvpn.js:79 msgid "Loss tolerance" msgstr "" +#: luci-app-mlvpn/htdocs/luci-static/resources/view/services/mlvpn.js:24 +#: luci-app-mlvpn/root/usr/share/luci/menu.d/luci-app-mlvpn.json:3 msgid "MLVPN" msgstr "" +#: luci-app-mlvpn/htdocs/luci-static/resources/view/services/mlvpn.js:40 msgid "Mode" msgstr "" +#: luci-app-mlvpn/htdocs/luci-static/resources/view/services/mlvpn.js:53 msgid "Password" msgstr "" -msgid "Remote host" -msgstr "" - -msgid "Remote/Bind port" -msgstr "" - +#: luci-app-mlvpn/htdocs/luci-static/resources/view/services/mlvpn.js:69 msgid "Reorder buffer size" msgstr "" -msgid "Settings" +#: luci-app-mlvpn/htdocs/luci-static/resources/view/services/mlvpn.js:42 +msgid "Server" msgstr "" +#: luci-app-mlvpn/htdocs/luci-static/resources/view/services/mlvpn.js:63 msgid "Timeout (s)" msgstr "" diff --git a/luci-app-mlvpn/po/zh_Hans/mlvpn.po b/luci-app-mlvpn/po/zh_Hans/mlvpn.po new file mode 100644 index 000000000..806a7ec76 --- /dev/null +++ b/luci-app-mlvpn/po/zh_Hans/mlvpn.po @@ -0,0 +1,84 @@ +msgid "" +msgstr "" +"PO-Revision-Date: 2021-05-13 21:38+0000\n" +"Last-Translator: justbin <419989953@qq.com>\n" +"Language-Team: Chinese (Simplified) \n" +"Language: zh_Hans\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=1; plural=0;\n" +"X-Generator: Weblate 4.6.1\n" + +#: luci-app-mlvpn/htdocs/luci-static/resources/view/services/mlvpn.js:32 +msgid "Advanced Settings" +msgstr "高级设置" + +#: luci-app-mlvpn/htdocs/luci-static/resources/view/services/mlvpn.js:41 +msgid "Client" +msgstr "客户端" + +#: luci-app-mlvpn/htdocs/luci-static/resources/view/services/mlvpn.js:75 +msgid "Disable encryption" +msgstr "禁用加密" + +#: luci-app-mlvpn/htdocs/luci-static/resources/view/services/mlvpn.js:34 +msgid "Enabled" +msgstr "启用" + +#: luci-app-mlvpn/htdocs/luci-static/resources/view/services/mlvpn.js:48 +msgid "First Port" +msgstr "第一端口" + +#: luci-app-mlvpn/htdocs/luci-static/resources/view/services/mlvpn.js:31 +msgid "General Settings" +msgstr "通用设置" + +#: luci-app-mlvpn/root/usr/share/rpcd/acl.d/luci-app-mlvpn.json:3 +msgid "Grant UCI access for luci-app-mlvpn" +msgstr "授予UCI访问luci-app-mlvpn的权限" + +#: luci-app-mlvpn/htdocs/luci-static/resources/view/services/mlvpn.js:45 +msgid "Host" +msgstr "主机" + +#: luci-app-mlvpn/htdocs/luci-static/resources/view/services/mlvpn.js:26 +msgid "Instances" +msgstr "实例" + +#: luci-app-mlvpn/htdocs/luci-static/resources/view/services/mlvpn.js:57 +msgid "Interface name" +msgstr "接口名称" + +#: luci-app-mlvpn/htdocs/luci-static/resources/view/services/mlvpn.js:37 +msgid "Label" +msgstr "标签" + +#: luci-app-mlvpn/htdocs/luci-static/resources/view/services/mlvpn.js:79 +msgid "Loss tolerance" +msgstr "损失容忍" + +#: luci-app-mlvpn/htdocs/luci-static/resources/view/services/mlvpn.js:24 +#: luci-app-mlvpn/root/usr/share/luci/menu.d/luci-app-mlvpn.json:3 +msgid "MLVPN" +msgstr "mlvpn" + +#: luci-app-mlvpn/htdocs/luci-static/resources/view/services/mlvpn.js:40 +msgid "Mode" +msgstr "模式" + +#: luci-app-mlvpn/htdocs/luci-static/resources/view/services/mlvpn.js:53 +msgid "Password" +msgstr "密码" + +#: luci-app-mlvpn/htdocs/luci-static/resources/view/services/mlvpn.js:69 +msgid "Reorder buffer size" +msgstr "重新排序缓冲区大小" + +#: luci-app-mlvpn/htdocs/luci-static/resources/view/services/mlvpn.js:42 +msgid "Server" +msgstr "服务器" + +#: luci-app-mlvpn/htdocs/luci-static/resources/view/services/mlvpn.js:63 +msgid "Timeout (s)" +msgstr "超时(秒)" diff --git a/luci-app-mlvpn/po/zh_Hans/mlvpn.po~ b/luci-app-mlvpn/po/zh_Hans/mlvpn.po~ new file mode 100644 index 000000000..868ff2e57 --- /dev/null +++ b/luci-app-mlvpn/po/zh_Hans/mlvpn.po~ @@ -0,0 +1,80 @@ +msgid "" +msgstr "" +"PO-Revision-Date: 2020-12-04 16:03+0000\n" +"Last-Translator: antrouter \n" +"Language-Team: Chinese (Simplified) \n" +"Language: zh_Hans\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=1; plural=0;\n" +"X-Generator: Weblate 4.0.4\n" + +#: luci-app-mlvpn/htdocs/luci-static/resources/view/services/mlvpn.js:32 +msgid "Advanced Settings" +msgstr "高级设置" + +#: luci-app-mlvpn/htdocs/luci-static/resources/view/services/mlvpn.js:38 +msgid "Client" +msgstr "客户端" + +#: luci-app-mlvpn/htdocs/luci-static/resources/view/services/mlvpn.js:34 +msgid "Enabled" +msgstr "开启" + +#: luci-app-mlvpn/htdocs/luci-static/resources/view/services/mlvpn.js:45 +msgid "First Port" +msgstr "第一端口" + +#: luci-app-mlvpn/htdocs/luci-static/resources/view/services/mlvpn.js:31 +msgid "General Settings" +msgstr "通用设置" + +#: luci-app-mlvpn/root/usr/share/rpcd/acl.d/luci-app-mlvpn.json:3 +msgid "Grant UCI access for luci-app-mlvpn" +msgstr "授予UCI访问luci-app-mlvpn的权限" + +#: luci-app-mlvpn/htdocs/luci-static/resources/view/services/mlvpn.js:42 +msgid "Host" +msgstr "主机" + +#: luci-app-mlvpn/htdocs/luci-static/resources/view/services/mlvpn.js:26 +msgid "Instances" +msgstr "实例" + +#: luci-app-mlvpn/htdocs/luci-static/resources/view/services/mlvpn.js:54 +msgid "Interface name" +msgstr "接口名称" + +#: luci-app-mlvpn/htdocs/luci-static/resources/view/services/mlvpn.js:78 +msgid "Label" +msgstr "标签" + +#: luci-app-mlvpn/htdocs/luci-static/resources/view/services/mlvpn.js:72 +msgid "Loss tolerance" +msgstr "损失容忍" + +#: luci-app-mlvpn/htdocs/luci-static/resources/view/services/mlvpn.js:24 +#: luci-app-mlvpn/root/usr/share/luci/menu.d/luci-app-mlvpn.json:3 +msgid "MLVPN" +msgstr "mlvpn" + +#: luci-app-mlvpn/htdocs/luci-static/resources/view/services/mlvpn.js:37 +msgid "Mode" +msgstr "模式" + +#: luci-app-mlvpn/htdocs/luci-static/resources/view/services/mlvpn.js:50 +msgid "Password" +msgstr "密码" + +#: luci-app-mlvpn/htdocs/luci-static/resources/view/services/mlvpn.js:66 +msgid "Reorder buffer size" +msgstr "重新排序缓冲区大小" + +#: luci-app-mlvpn/htdocs/luci-static/resources/view/services/mlvpn.js:39 +msgid "Server" +msgstr "服务器" + +#: luci-app-mlvpn/htdocs/luci-static/resources/view/services/mlvpn.js:60 +msgid "Timeout (s)" +msgstr "超时(s)" diff --git a/luci-app-mlvpn/root/usr/share/luci/menu.d/luci-app-mlvpn.json b/luci-app-mlvpn/root/usr/share/luci/menu.d/luci-app-mlvpn.json new file mode 100644 index 000000000..90afc4494 --- /dev/null +++ b/luci-app-mlvpn/root/usr/share/luci/menu.d/luci-app-mlvpn.json @@ -0,0 +1,13 @@ +{ + "admin/vpn/mlvpn": { + "title": "MLVPN", + "order": 30, + "action": { + "type": "view", + "path": "services/mlvpn" + }, + "depends": { + "acl": [ "luci-app-mlvpn" ] + } + } +} diff --git a/luci-app-mlvpn/root/usr/share/rpcd/acl.d/luci-app-mlvpn.json b/luci-app-mlvpn/root/usr/share/rpcd/acl.d/luci-app-mlvpn.json new file mode 100644 index 000000000..e1727a866 --- /dev/null +++ b/luci-app-mlvpn/root/usr/share/rpcd/acl.d/luci-app-mlvpn.json @@ -0,0 +1,11 @@ +{ + "luci-app-mlvpn": { + "description": "Grant UCI access for luci-app-mlvpn", + "read": { + "uci": [ "mlvpn" ] + }, + "write": { + "uci": [ "mlvpn" ] + } + } +} \ No newline at end of file diff --git a/luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp.js b/luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp.js new file mode 100644 index 000000000..80a7a5fcc --- /dev/null +++ b/luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp.js @@ -0,0 +1,241 @@ +'use strict'; +'require rpc'; +'require form'; +'require fs'; +'require uci'; +'require tools.widgets as widgets'; + +/* + * Copyright (C) 2024 Ycarus (Yannick Chabanois) for OpenMPTCProuter + * This is free software, licensed under the GNU General Public License v3. + * See /LICENSE for more information + */ + +var callSystemBoard = rpc.declare({ + object: 'system', + method: 'board' +}); + + +return L.view.extend({ + load: function() { + return Promise.all([ + L.resolveDefault(callSystemBoard(), {}) + ]); + }, + + render: function(res) { + var m, s, o; + var boardinfo = res[0]; + + m = new form.Map('network', _('MPTCP'),_('Networks MPTCP settings.')); + + s = m.section(form.TypedSection, 'globals'); + + o = s.option(form.ListValue, 'multipath', _('Multipath TCP')); + o.value("enable", _("enable")); + o.value("disable", _("disable")); + o.readonly = true; + + o = s.option(form.ListValue, "mptcp_checksum", _("Multipath TCP checksum")); + o.value(1, _("enable")); + o.value(0, _("disable")); + + if (boardinfo.kernel.substring(1,4) != "5.15" && boardinfo.kernel.substring(1,1) != "6") { + o = s.option(form.ListValue, "mptcp_debug", _("Multipath Debug")); + o.value(1, _("enable")); + o.value(0, _("disable")); + } + + o = s.option(form.ListValue, "mptcp_path_manager", _("Multipath TCP path-manager"), _("Default is fullmesh")); + o.value("default", _("default")); + o.value("fullmesh", "fullmesh"); + + if (parseFloat(boardinfo.kernel.substring(0,4)) < 6) { + o.value("ndiffports", "ndiffports"); + o.value("binder", "binder"); + o.value("netlink", _("Netlink")); + } + + o = s.option(form.ListValue, "mptcp_scheduler", _("Multipath TCP scheduler"), _('BPF schedulers (not available on all platforms):') + '
' + + _('bpf_burst => same as the default scheduler') + '
' + + _('bpf_red => sends all packets redundantly on all available subflows') + '
' + + _('bpf_first => always picks the first subflow to send data') + '
' + + _('bpf_rr => always picks the next available subflow to send data (round-robin)') + + ); + o.value("default", _("default")); + if (parseFloat(boardinfo.kernel.substring(0,4)) < 6) { + o.value("roundrobin", "round-robin"); + o.value("redundant", "redundant"); + o.value("blest", "BLEST"); + o.value("ecf", "ECF"); + } + + if (parseFloat(boardinfo.kernel.substring(0,3)) > 6) { + o.load = function(section_id) { + return L.resolveDefault(fs.list('/usr/share/bpf/scheduler'), []).then(L.bind(function(entries) { + for (var i = 0; i < entries.length; i++) + if (entries[i].type == 'file' && entries[i].name.match(/\.o$/)) + this.value(entries[i].name); + return this.super('load', [section_id]); + }, this)); + }; + // bpf_burst => same as the default scheduler + // bpf_red => sends all packets redundantly on all available subflows + // bpf_first => always picks the first subflow to send data + // bpf_rr => always picks the next available subflow to send data (round-robin) + } + + if (parseFloat(boardinfo.kernel.substring(0,4)) < 6) { + o = s.option(form.Value, "mptcp_syn_retries", _("Multipath TCP SYN retries")); + o.datatype = "uinteger"; + o.rmempty = false; + } + + if (parseFloat(boardinfo.kernel.substring(0,4)) < 6) { + o = s.option(form.ListValue, "mptcp_version", _("Multipath TCP version")); + o.value(0, _("0")); + o.value(1, _("1")); + o.default = 0; + } + + o = s.option(form.ListValue, "congestion", _("Congestion Control"),_("Default is cubic")); + o.load = function(section_id) { + return fs.exec_direct('/sbin/sysctl', ['-n', 'net.ipv4.tcp_available_congestion_control']).then(L.bind(function(entries) { + var congestioncontrol = entries.toString().split(' '); + for (var d in congestioncontrol) { + this.value(congestioncontrol[d]); + }; + return this.super('load', [section_id]); + }, this)); + }; + + if (parseFloat(boardinfo.kernel.substring(0,4)) >= 6) { + if (boardinfo.kernel.substring(0,1) == "6") { + // Only available since 5.19 + o = s.option(form.ListValue, "mptcp_pm_type", _("Path Manager type")); + o.value(0, _("In-kernel path manager")); + o.value(1, _("Userspace path manager")); + o.default = 0; + } + + o = s.option(form.ListValue, "mptcp_disable_initial_config", _("Initial MPTCP configuration")); + o.depends("mptcp_pm_type","1"); + o.value("0", _("enable")); + o.value("1", _("disable")); + o.default = "0"; + + o = s.option(form.ListValue, "mptcp_force_multipath", _("Force Multipath configuration")); + o.depends("mptcp_pm_type","1"); + o.value("1", _("enable")); + o.value("0", _("disable")); + o.default = "1"; + + o = s.option(form.ListValue, "mptcpd_enable", _("Enable MPTCPd")); + o.depends("mptcp_pm_type","1"); + o.value("enable", _("enable")); + o.value("disable", _("disable")); + o.default = "disable"; + + o = s.option(form.DynamicList, "mptcpd_path_manager", _("MPTCPd path managers")); + o.load = function(section_id) { + return L.resolveDefault(fs.list('/usr/lib/mptcpd'), []).then(L.bind(function(entries) { + for (var i = 0; i < entries.length; i++) + if (entries[i].type == 'file' && entries[i].name.match(/\.so$/)) + this.value(entries[i].name); + return this.super('load', [section_id]); + }, this)); + }; + o.depends("mptcp_pm_type","1"); + + o = s.option(form.DynamicList, "mptcpd_plugins", _("MPTCPd plugins")); + o.load = function(section_id) { + return L.resolveDefault(fs.list('/usr/lib/mptcpd'), []).then(L.bind(function(entries) { + for (var i = 0; i < entries.length; i++) + if (entries[i].type == 'file' && entries[i].name.match(/\.so$/)) + this.value(entries[i].name); + return this.super('load', [section_id]); + }, this)); + }; + o.depends("mptcp_pm_type","1"); + + o = s.option(form.DynamicList, "mptcpd_addr_flags", _("MPTCPd Address annoucement flags")); + o.value("subflow","subflow"); + o.value("signal","signal"); + o.value("backup","backup"); + o.value("fullmesh","fullmesh"); + o.depends("mptcp_pm_type","1"); + + o = s.option(form.DynamicList, "mptcpd_notify_flags", _("MPTCPd Address notification flags")); + o.value("existing","existing"); + o.value("skip_link_local","skip_link_local"); + o.value("skip_loopback","skip_loopback"); + o.depends("mptcp_pm_type","1"); + + o = s.option(form.Value, "mptcp_subflows", _("Max subflows"),_("specifies the maximum number of additional subflows allowed for each MPTCP connection")); + o.datatype = "uinteger"; + o.rmempty = false; + o.default = 3; + + o = s.option(form.Value, "mptcp_stale_loss_cnt", _("Retranmission intervals"),_("The number of MPTCP-level retransmission intervals with no traffic and pending outstanding data on a given subflow required to declare it stale. A low stale_loss_cnt value allows for fast active-backup switch-over, an high value maximize links utilization on edge scenarios e.g. lossy link with high BER or peer pausing the data processing.")); + o.datatype = "uinteger"; + o.rmempty = false; + o.default = 4; + + o = s.option(form.Value, "mptcp_add_addr_accepted", _("Max add address"),_("specifies the maximum number of ADD_ADDR (add address) suboptions accepted for each MPTCP connection")); + o.datatype = "uinteger"; + o.rmempty = false; + o.default = 1; + + o = s.option(form.Value, "mptcp_add_addr_timeout", _("Control message timeout"),_("Set the timeout after which an ADD_ADDR (add address) control message will be resent to an MPTCP peer that has not acknowledged a previous ADD_ADDR message.")); + o.datatype = "uinteger"; + o.rmempty = false; + o.default = 120; + } else { + o = s.option(form.Value, "mptcp_fullmesh_num_subflows", _("Fullmesh subflows for each pair of IP addresses")); + o.datatype = "uinteger"; + o.rmempty = false; + o.default = 1; + //o.depends("mptcp_path_manager","fullmesh") + + o = s.option(form.ListValue, "mptcp_fullmesh_create_on_err", _("Re-create fullmesh subflows after a timeout")); + o.value(1, _("enable")); + o.value(0, _("disable")); + //o.depends("mptcp_path_manager","fullmesh"); + + o = s.option(form.Value, "mptcp_ndiffports_num_subflows", _("ndiffports subflows number")); + o.datatype = "uinteger"; + o.rmempty = false; + o.default = 1; + //o.depends("mptcp_path_manager","ndiffports") + + o = s.option(form.ListValue, "mptcp_rr_cwnd_limited", _("Fill the congestion window on all subflows for round robin")); + o.value("Y", _("enable")); + o.value("N", _("disable")); + o.default = "Y"; + //o.depends("mptcp_scheduler","roundrobin") + + o = s.option(form.Value, "mptcp_rr_num_segments", _("Consecutive segments that should be sent for round robin")); + o.datatype = "uinteger"; + o.rmempty = false; + o.default = 1; + //o.depends("mptcp_scheduler","roundrobin") + } + + s = m.section(form.TypedSection, "interface", _("Interfaces Settings")); + s.filter = function(section) { + return (!section.match("^oip.*") && !section.match("^lo.*") && section != "omrvpn" && section != "omr6in4"); + } + + o = s.option(form.ListValue, "multipath", _("Multipath TCP"), _("One interface must be set as master")); + o.value("on", _("enabled")); + o.value("off", _("disabled")); + o.value("master", _("master")); + o.value("backup", _("backup")); + //o.value("handover", _("handover")); + o.default = "off"; + + return m.render(); + } +}); \ No newline at end of file diff --git a/luci-app-mptcp/luasrc/controller/mptcp.lua b/luci-app-mptcp/luasrc/controller/mptcp.lua index df33186e4..b4c42b3ae 100644 --- a/luci-app-mptcp/luasrc/controller/mptcp.lua +++ b/luci-app-mptcp/luasrc/controller/mptcp.lua @@ -1,22 +1,32 @@ -- Copyright 2008 Steven Barth -- Copyright 2011 Jo-Philipp Wich --- Copyright 2018 Ycarus (Yannick Chabanois) +-- Copyright 2018-2023 Ycarus (Yannick Chabanois) -- Licensed to the public under the Apache License 2.0. module("luci.controller.mptcp", package.seeall) + function index() + local uname = nixio.uname() entry({"admin", "network", "mptcp"}, alias("admin", "network", "mptcp", "settings"), _("MPTCP")) - entry({"admin", "network", "mptcp", "settings"}, cbi("mptcp"), _("Settings"),2).leaf = true + if uname ~= nil and uname.release:sub(1,1) == "5" then + entry({"admin", "network", "mptcp", "settings"}, cbi("mptcp"), _("Settings"),2).leaf = true + else + entry({"admin", "network", "mptcp", "settings"}, view("mptcp/mptcp"), _("Settings"),2).leaf = true + end entry({"admin", "network", "mptcp", "bandwidth"}, template("mptcp/multipath"), _("Bandwidth"), 3).leaf = true entry({"admin", "network", "mptcp", "multipath_bandwidth"}, call("multipath_bandwidth")).leaf = true entry({"admin", "network", "mptcp", "interface_bandwidth"}, call("interface_bandwidth")).leaf = true - entry({"admin", "network", "mptcp", "mptcp_check"}, template("mptcp/mptcp_check"), _("MPTCP Support Check"), 4).leaf = true + if uname ~= nil and uname.release:sub(1,1) == "5" then + entry({"admin", "network", "mptcp", "mptcp_check"}, template("mptcp/mptcp_check"), _("MPTCP Support Check"), 4).leaf = true + end entry({"admin", "network", "mptcp", "mptcp_check_trace"}, post("mptcp_check_trace")).leaf = true entry({"admin", "network", "mptcp", "mptcp_fullmesh"}, template("mptcp/mptcp_fullmesh"), _("MPTCP Fullmesh"), 5).leaf = true entry({"admin", "network", "mptcp", "mptcp_fullmesh_data"}, post("mptcp_fullmesh_data")).leaf = true entry({"admin", "network", "mptcp", "mptcp_connections"}, template("mptcp/mptcp_connections"), _("Established connections"), 6).leaf = true entry({"admin", "network", "mptcp", "mptcp_connections_data"}, post("mptcp_connections_data")).leaf = true + entry({"admin", "network", "mptcp", "mptcp_monitor"}, template("mptcp/mptcp_monitor"), _("MPTCP monitoring"), 6).leaf = true + entry({"admin", "network", "mptcp", "mptcp_monitor_data"}, post("mptcp_monitor_data")).leaf = true end function interface_bandwidth(iface) @@ -34,15 +44,37 @@ function interface_bandwidth(iface) end end + +function string.split(input, delimiter) + input = tostring(input) + delimiter = tostring(delimiter) + if (delimiter=='') then return false end + local pos,arr = 0, {} + -- for each divider found + for st,sp in function() return string.find(input, delimiter, pos, true) end do + table.insert(arr, string.sub(input, pos, st - 1)) + pos = sp + 1 + end + table.insert(arr, string.sub(input, pos)) + return arr +end + function multipath_bandwidth() local result = { }; local uci = luci.model.uci.cursor() + local res={ }; + local str=""; + local tmpstr=""; uci:foreach("network", "interface", function(s) local intname = s[".name"] + local label = s["label"] local dev = get_device(intname) if dev == "" then - dev = get_device(s["ifname"]) + dev = get_device(s["device"]) + if dev == "" then + dev = get_device(s["ifname"]) + end end local multipath = s["multipath"] or "" if dev ~= "lo" and dev ~= "" then @@ -56,14 +88,81 @@ function multipath_bandwidth() local bwc = luci.sys.exec("luci-bwc -i %q 2>/dev/null" % dev) or "" if bwc ~= nil then --result[dev] = "[" .. string.gsub(bwc, '[\r\n]', '') .. "]" - result[intname] = "[" .. string.gsub(bwc, '[\r\n]', '') .. "]" + if label ~= nil then + result[intname .. " (" .. label .. ")" ] = "[" .. string.gsub(bwc, '[\r\n]', '') .. "]" + else + result[intname] = "[" .. string.gsub(bwc, '[\r\n]', '') .. "]" + end else - result[dev] = "[]" + if label ~= nil then + result[intname .. " (" .. label .. ")" ] = "[]" + else + result[intname] = "[]" + end end end end end) + res["total"]={ }; + for i=1,60 do + res["total"][i]={} + for j=1,5 do + res["total"][i][j]=0 + end + end + + for key,value in pairs(result) do + res[key]={} + value=(string.gsub(value, "^%[%[", "")) + value=(string.gsub(value, "%]%]", "")) + local temp1 = string.split(value, "],") + if temp1[2] ~= nil then + res[key][1]=temp1[1] + for i=2,60 do + res[key][i]={} + if temp1[i] ~= nil then + res[key][i]=(string.gsub(temp1[i], "%[", " ")) + end + end + for i=1,60 do + res[key][i] = string.split(res[key][i], ",") + for j=1,5 do + res[key][i][j]= tonumber(res[key][i][j]) + res["total"][i][j]= tonumber(res["total"][i][j]) + if j ==1 then + if res[key][i][j] ~= nil and res[key][i][j] > 0 then + res["total"][i][j] = res[key][i][j] + else + res["total"][i][j] = 0 + end + else + if res[key][i][j] ~= nil and res[key][i][j] > 0 then + res["total"][i][j] = res["total"][i][j] + res[key][i][j] + end + end + end + end + end + end + for i=1,60 do + for j=1,5 do + if "number"== type(res["total"][i][j]) then + res["total"][i][j]= tostring(res["total"][i][j]) + end + end + end + for i=1,60 do + if i == 60 then + tmpstr = "["..table.concat(res["total"][i], ",") + else + tmpstr = "["..table.concat(res["total"][i], ",").."]," + end + str = str..tmpstr + end + str = "["..str.."]]" + result["total"]=str + luci.http.prepare_content("application/json") luci.http.write_json(result) end @@ -115,11 +214,26 @@ function mptcp_fullmesh_data() return end +function mptcp_monitor_data() + luci.http.prepare_content("text/plain") + local fullmesh + fullmesh = io.popen("multipath -m") + if fullmesh:read() ~= nil then + while true do + local ln = fullmesh:read("*l") + if not ln then break end + luci.http.write(ln) + luci.http.write("\n") + end + end + return +end + function mptcp_connections_data() luci.http.prepare_content("text/plain") local connections connections = io.popen("multipath -c") - if connections then + if connections:read() ~= nil then while true do local ln = connections:read("*l") if not ln then break end diff --git a/luci-app-mptcp/luasrc/model/cbi/mptcp.lua b/luci-app-mptcp/luasrc/model/cbi/mptcp.lua index 7c0084327..dea854e80 100644 --- a/luci-app-mptcp/luasrc/model/cbi/mptcp.lua +++ b/luci-app-mptcp/luasrc/model/cbi/mptcp.lua @@ -4,63 +4,197 @@ local ifaces = sys.net:devices() local m, s, o local uname = nixio.uname() -m = Map("network", translate("MPTCP"), translate("Networks MPTCP settings. Visit http://multipath-tcp.org/pmwiki.php/Users/ConfigureMPTCP for help.")) +m = Map("network", translate("MPTCP"), translate("Networks MPTCP settings.")) local unameinfo = nixio.uname() or { } s = m:section(TypedSection, "globals") -local mtcpg = s:option(ListValue, "multipath", translate("Multipath TCP")) -mtcpg:value("enable", translate("enable")) -mtcpg:value("disable", translate("disable")) -local mtcpck = s:option(ListValue, "mptcp_checksum", translate("Multipath TCP checksum")) -mtcpck:value(1, translate("enable")) -mtcpck:value(0, translate("disable")) -local mtcpck = s:option(ListValue, "mptcp_debug", translate("Multipath Debug")) -mtcpck:value(1, translate("enable")) -mtcpck:value(0, translate("disable")) -local mtcppm = s:option(ListValue, "mptcp_path_manager", translate("Multipath TCP path-manager")) -mtcppm:value("default", translate("default")) -mtcppm:value("fullmesh", translate("fullmesh")) -mtcppm:value("ndiffports", translate("ndiffports")) -mtcppm:value("binder", translate("binder")) -if uname.release:sub(1,4) == "4.19" then - mtcppm:value("netlink", translate("Netlink")) -end -local mtcpsch = s:option(ListValue, "mptcp_scheduler", translate("Multipath TCP scheduler")) -mtcpsch:value("default", translate("default")) -mtcpsch:value("roundrobin", translate("round-robin")) -mtcpsch:value("redundant", translate("redundant")) -if uname.release:sub(1,4) == "4.19" then - mtcpsch:value("blest", translate("BLEST")) - mtcpsch:value("ecf", translate("ECF")) -end -local mtcpsyn = s:option(Value, "mptcp_syn_retries", translate("Multipath TCP SYN retries")) -mtcpsyn.datatype = "uinteger" -mtcpsyn.rmempty = false -local congestion = s:option(ListValue, "congestion", translate("Congestion Control"),translate("Default is bbr")) -local availablecong = sys.exec("sysctl net.ipv4.tcp_available_congestion_control | awk -F'= ' '{print $NF}'") -for cong in string.gmatch(availablecong, "[^%s]+") do - congestion:value(cong, translate(cong)) -end -local mtcpfm_subflows = s:option(Value, "mptcp_fullmesh_num_subflows", translate("Fullmesh subflows for each pair of IP addresses")) -mtcpfm_subflows.datatype = "uinteger" -mtcpfm_subflows.rmempty = false -local mtcpfm_createonerr = s:option(ListValue, "mptcp_fullmesh_create_on_err", translate("Re-create fullmesh subflows after a timeout")) -mtcpfm_createonerr:value(1, translate("enable")) -mtcpfm_createonerr:value(0, translate("disable")) +o = s:option(ListValue, "multipath", translate("Multipath TCP")) +o:value("enable", translate("enable")) +o:value("disable", translate("disable")) +o = s:option(ListValue, "mptcp_checksum", translate("Multipath TCP checksum")) +o:value(1, translate("enable")) +o:value(0, translate("disable")) -local mtcpnd_subflows = s:option(Value, "mptcp_ndiffports_num_subflows", translate("ndiffports subflows number")) -mtcpnd_subflows.datatype = "uinteger" -mtcpnd_subflows.rmempty = false +if uname.release:sub(1,4) ~= "5.15" and uname.release:sub(1,1) ~= "6" then + o = s:option(ListValue, "mptcp_debug", translate("Multipath Debug")) + o:value(1, translate("enable")) + o:value(0, translate("disable")) +end + +o = s:option(ListValue, "mptcp_path_manager", translate("Multipath TCP path-manager"), translate("Default is fullmesh")) +o:value("default", translate("default")) +o:value("fullmesh", "fullmesh") +--if tonumber(uname.release:sub(1,4)) <= 5.15 then +if uname.release:sub(1,4) ~= "5.15" and uname.release:sub(1,1) ~= "6" then + o:value("ndiffports", "ndiffports") + o:value("binder", "binder") + if uname.release:sub(1,4) ~= "4.14" then + o:value("netlink", translate("Netlink")) + end +end +o = s:option(ListValue, "mptcp_scheduler", translate("Multipath TCP scheduler")) +o:value("default", translate("default")) +-- if tonumber(uname.release:sub(1,4)) <= 5.15 then +if uname.release:sub(1,4) ~= "5.15" and uname.release:sub(1,1) ~= "6" then + o:value("roundrobin", "round-robin") + o:value("redundant", "redundant") + if uname.release:sub(1,4) ~= "4.14" then + o:value("blest", "BLEST") + o:value("ecf", "ECF") + end +end +if uname.release:sub(1,3) == "6.6" then + for dir in io.popen([[cd /usr/share/bpf/scheduler && ls -1 *.o | sed -e 's/.o//g' -e 's/mptcp_//g']]):lines() do + o:value(dir, dir) + end + -- bpf_burst => same as the default scheduler + -- bpf_red => sends all packets redundantly on all available subflows + -- bpf_first => always picks the first subflow to send data + -- bpf_rr => always picks the next available subflow to send data (round-robin) +end + +-- if tonumber(uname.release:sub(1,4)) <= 5.15 then +if uname.release:sub(1,4) ~= "5.15" and uname.release:sub(1,1) ~= "6" then + o = s:option(Value, "mptcp_syn_retries", translate("Multipath TCP SYN retries")) + o.datatype = "uinteger" + o.rmempty = false +end +-- if tonumber(uname.release:sub(1,4)) <= 5.15 then +if uname.release:sub(1,4) ~= "5.15" and uname.release:sub(1,1) ~= "6" then + o = s:option(ListValue, "mptcp_version", translate("Multipath TCP version")) + o:value(0, translate("0")) + o:value(1, translate("1")) + o.default = 0 +end +o = s:option(ListValue, "congestion", translate("Congestion Control"),translate("Default is bbr")) +local availablecong = sys.exec("sysctl -n net.ipv4.tcp_available_congestion_control | xargs -n1 | sort | xargs") +for cong in string.gmatch(availablecong, "[^%s]+") do + if cong == "bbr" and string.match(availablecong, "bbr1") then + o:value(cong, "bbr3") + else + o:value(cong, cong) + end +end + +-- if tonumber(uname.release:sub(1,4)) >= 5.15 then +if uname.release:sub(1,4) == "5.15" or uname.release:sub(1,1) == "6" then + if uname.release:sub(1,1) == "6" then + -- Only available since 5.19 + o = s:option(ListValue, "mptcp_pm_type", translate("Path Manager type")) + o:value(0, translate("In-kernel path manager")) + o:value(1, translate("Userspace path manager")) + o.default = 0 + end + + o = s:option(ListValue, "mptcp_disable_initial_config", translate("Initial MPTCP configuration")) + o:depends("mptcp_pm_type",1) + o:value("0", translate("enable")) + o:value("1", translate("disable")) + o.default = "0" + + o = s:option(ListValue, "mptcp_force_multipath", translate("Force Multipath configuration")) + o:depends("mptcp_pm_type",1) + o:value("1", translate("enable")) + o:value("0", translate("disable")) + o.default = "1" + + o = s:option(ListValue, "mptcpd_enable", translate("Enable MPTCPd")) + o:depends("mptcp_pm_type",1) + o:value("enable", translate("enable")) + o:value("disable", translate("disable")) + o.default = "disable" + + o = s:option(DynamicList, "mptcpd_path_manager", translate("MPTCPd path managers")) + for dir in io.popen([[cd /usr/lib/mptcpd && ls -1 *.so | sed 's/.so//g']]):lines() do + o:value(dir, dir) + end + o:depends("mptcp_pm_type",1) + + o = s:option(DynamicList, "mptcpd_plugins", translate("MPTCPd plugins")) + for dir in io.popen([[cd /usr/lib/mptcpd && ls -1 *.so | sed 's/.so//g']]):lines() do + o:value(dir, dir) + end + o:depends("mptcp_pm_type",1) + + o = s:option(DynamicList, "mptcpd_addr_flags", translate("MPTCPd Address annoucement flags")) + o:value("subflow","subflow") + o:value("signal","signal") + o:value("backup","backup") + o:value("fullmesh","fullmesh") + o:depends("mptcp_pm_type",1) + + o = s:option(DynamicList, "mptcpd_notify_flags", translate("MPTCPd Address notification flags")) + o:value("existing","existing") + o:value("skip_link_local","skip_link_local") + o:value("skip_loopback","skip_loopback") + o:depends("mptcp_pm_type",1) + + o = s:option(Value, "mptcp_subflows", translate("Max subflows"),translate("specifies the maximum number of additional subflows allowed for each MPTCP connection")) + o.datatype = "uinteger" + o.rmempty = false + o.default = 3 + + o = s:option(Value, "mptcp_stale_loss_cnt", translate("Retranmission intervals"),translate("The number of MPTCP-level retransmission intervals with no traffic and pending outstanding data on a given subflow required to declare it stale. A low stale_loss_cnt value allows for fast active-backup switch-over, an high value maximize links utilization on edge scenarios e.g. lossy link with high BER or peer pausing the data processing.")) + o.datatype = "uinteger" + o.rmempty = false + o.default = 4 + + o = s:option(Value, "mptcp_add_addr_accepted", translate("Max add address"),translate("specifies the maximum number of ADD_ADDR (add address) suboptions accepted for each MPTCP connection")) + o.datatype = "uinteger" + o.rmempty = false + o.default = 1 + + o = s:option(Value, "mptcp_add_addr_timeout", translate("Control message timeout"),translate("Set the timeout after which an ADD_ADDR (add address) control message will be resent to an MPTCP peer that has not acknowledged a previous ADD_ADDR message.")) + o.datatype = "uinteger" + o.rmempty = false + o.default = 120 + +else + o = s:option(Value, "mptcp_fullmesh_num_subflows", translate("Fullmesh subflows for each pair of IP addresses")) + o.datatype = "uinteger" + o.rmempty = false + o.default = 1 + --o:depends("mptcp_path_manager","fullmesh") + + o = s:option(ListValue, "mptcp_fullmesh_create_on_err", translate("Re-create fullmesh subflows after a timeout")) + o:value(1, translate("enable")) + o:value(0, translate("disable")) + --o:depends("mptcp_path_manager","fullmesh") + + o = s:option(Value, "mptcp_ndiffports_num_subflows", translate("ndiffports subflows number")) + o.datatype = "uinteger" + o.rmempty = false + o.default = 1 + --o:depends("mptcp_path_manager","ndiffports") + + o = s:option(ListValue, "mptcp_rr_cwnd_limited", translate("Fill the congestion window on all subflows for round robin")) + o:value("Y", translate("enable")) + o:value("N", translate("disable")) + o.default = "Y" + --o:depends("mptcp_scheduler","roundrobin") + + o = s:option(Value, "mptcp_rr_num_segments", translate("Consecutive segments that should be sent for round robin")) + o.datatype = "uinteger" + o.rmempty = false + o.default = 1 + --o:depends("mptcp_scheduler","roundrobin") +end s = m:section(TypedSection, "interface", translate("Interfaces Settings")) -mptcp = s:option(ListValue, "multipath", translate("Multipath TCP"), translate("One interface must be set as master")) -mptcp:value("on", translate("enabled")) -mptcp:value("off", translate("disabled")) -mptcp:value("master", translate("master")) -mptcp:value("backup", translate("backup")) -mptcp:value("handover", translate("handover")) -mptcp.default = "off" +function s.filter(self, section) + return not section:match("^oip.*") and not section:match("^lo.*") and section ~= "omrvpn" and section ~= "omr6in4" +end +o = s:option(ListValue, "multipath", translate("Multipath TCP"), translate("One interface must be set as master")) +o:value("on", translate("enabled")) +o:value("off", translate("disabled")) +o:value("master", translate("master")) +o:value("backup", translate("backup")) +--o:value("handover", translate("handover")) +o.default = "off" +function m.on_after_apply(self,map) + sys.call('/etc/init.d/mptcp reload') +end return m diff --git a/luci-app-mptcp/luasrc/view/mptcp/mptcp_check.htm b/luci-app-mptcp/luasrc/view/mptcp/mptcp_check.htm index 3df062637..7cd2a7645 100644 --- a/luci-app-mptcp/luasrc/view/mptcp/mptcp_check.htm +++ b/luci-app-mptcp/luasrc/view/mptcp/mptcp_check.htm @@ -69,5 +69,7 @@
+
+ <%:If you get "TCPOptionMPTCPCapable [...] Sender's Key" at the end, then MPTCP is supported. If there is a "-TCPOptionMPTCPCapable", then it's blocked.%>
<%+footer%> diff --git a/luci-app-mptcp/luasrc/view/mptcp/mptcp_monitor.htm b/luci-app-mptcp/luasrc/view/mptcp/mptcp_monitor.htm new file mode 100644 index 000000000..ec4eb5606 --- /dev/null +++ b/luci-app-mptcp/luasrc/view/mptcp/mptcp_monitor.htm @@ -0,0 +1,42 @@ +<%+header%> + + + + +<% if stderr and #stderr > 0 then %>
<%=pcdata(stderr)%>
<% end %> +
+ + +
+<%+footer%> diff --git a/luci-app-mptcp/luasrc/view/mptcp/multipath.htm b/luci-app-mptcp/luasrc/view/mptcp/multipath.htm index ed08ca03a..01abf6a7f 100644 --- a/luci-app-mptcp/luasrc/view/mptcp/multipath.htm +++ b/luci-app-mptcp/luasrc/view/mptcp/multipath.htm @@ -3,9 +3,9 @@ -- Copyright 2015 OVH (OverTheBox@ovh.net) -- Simon Lelievre (simon.lelievre@corp.ovh.com) -- Sebastien Duponcheel (sebastien.duponcheel@ovh.net) --- Copyright 2018 Ycarus - Yannick Chabanois (ycarus@zugaina.org) +-- Copyright 2018-2020 Ycarus - Yannick Chabanois (ycarus@zugaina.org) for OpenMPTCProuter -- --- This file is part of OverTheBox for OpenWrt. +-- Part of this file come from OverTheBox for OpenWrt. -- -- OverTheBox is free software: you can redistribute it and/or modify -- it under the terms of the GNU General Public License as published by @@ -45,30 +45,35 @@ end local curifname = luci.http.formvalue("dev") or "all" + local bandwidthtotalurl = "admin/network/mptcp/multipath_bandwidth" + local bandwidthintfurl = "admin/network/mptcp/interface_bandwidth" + -%> <%+header%> - - + +

<%:Realtime Traffic%>

@@ -773,22 +894,26 @@
    <% for _, dev in ipairs(devices) do local ifname = get_device(dev) - %> - -
  • "><%=pcdata(dev)%>
  • + local label = uci:get("network",dev,"label") + if label ~= nil then + %> +
  • "><%=label%>
  • + <% else %> +
  • "><%=pcdata(dev)%>
  • + <% end %> <% end %>
<% if curifname == "all" then %> <%:Download:%> - +
-
<%:Upload:%> - +
-
@@ -796,7 +921,7 @@ <% else %> - +
-

diff --git a/luci-app-mptcp/po/de/mptcp.po b/luci-app-mptcp/po/de/mptcp.po new file mode 100644 index 000000000..a67d0bbce --- /dev/null +++ b/luci-app-mptcp/po/de/mptcp.po @@ -0,0 +1,349 @@ +msgid "" +msgstr "" +"PO-Revision-Date: 2020-10-05 12:39+0000\n" +"Last-Translator: Weblate Admin \n" +"Language-Team: German \n" +"Language: de\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Generator: Weblate 4.0.4\n" + +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:775 +msgid "(%d minute window, %d second interval)" +msgstr "(Fenster von %d Minuten, %d Sekunden Intervall)" + +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:241 +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:242 +msgid "(%d minutes window, %d seconds interval)" +msgstr "(Fenster %d Minunten, %d Sekunden Intervall)" + +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:315 +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:318 +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:373 +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:932 +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:942 +msgid "Average:" +msgstr "Durchschnitt:" + +#: luci-app-mptcp/luasrc/controller/mptcp.lua:11 +msgid "Bandwidth" +msgstr "Bandbreite" + +#: luci-app-mptcp/luasrc/view/mptcp/mptcp_check.htm:43 +msgid "Check if MPTCP between interface and server is working." +msgstr "" +"Prüfung auf transparenten Transport von MPTCP-Paketen zwischen Anschluss und " +"Server." + +#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:52 +msgid "Congestion Control" +msgstr "Überlauf-Steuerung" + +#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:97 +msgid "Consecutive segments that should be sent for round robin" +msgstr "" + +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:311 +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:314 +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:369 +msgid "Current:" +msgstr "derzeit:" + +#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:52 +#, fuzzy +msgid "Default is cubic" +msgstr "Voreinstellung ist 'bbr'" + +#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:21 +#, fuzzy +msgid "Default is fullmesh" +msgstr "Voreinstellung ist 'bbr'" + +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:908 +msgid "Download:" +msgstr "Downstream:" + +#: luci-app-mptcp/luasrc/view/mptcp/mptcp_check.htm:31 +#: luci-app-mptcp/luasrc/view/mptcp/mptcp_connections.htm:31 +#: luci-app-mptcp/luasrc/view/mptcp/mptcp_fullmesh.htm:31 +#: luci-app-mptcp/luasrc/view/mptcp/mptcp_monitor.htm:24 +msgid "Error" +msgstr "Fehler" + +#: luci-app-mptcp/luasrc/controller/mptcp.lua:18 +msgid "Established connections" +msgstr "aufgebaute Verbindungen" + +#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:91 +msgid "Fill the congestion window on all subflows for round robin" +msgstr "" + +#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:74 +msgid "Fullmesh subflows for each pair of IP addresses" +msgstr "" +"Datenströme im vollvermaschter Betrieb für die jeweiligen Gegegenstellen-" +"Paare" + +#: luci-app-mptcp/root/usr/share/rpcd/acl.d/luci-app-mptcp.json:3 +msgid "Grant UCI access for luci-app-mptcp" +msgstr "" + +#: luci-app-mptcp/luasrc/view/mptcp/mptcp_check.htm:73 +msgid "" +"If you get \"TCPOptionMPTCPCapable [...] Sender's Key\" at the end, then " +"MPTCP is supported. If there is a \"-TCPOptionMPTCPCapable\", then it's " +"blocked." +msgstr "" + +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:929 +msgid "Inbound:" +msgstr "Ankommend:" + +#: luci-app-mptcp/luasrc/view/mptcp/mptcp_check.htm:48 +msgid "Interface" +msgstr "Schnittstelle" + +#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:104 +msgid "Interfaces Settings" +msgstr "Anschluss-Einstellungen" + +#: luci-app-mptcp/luasrc/view/mptcp/mptcp_check.htm:21 +#: luci-app-mptcp/luasrc/view/mptcp/mptcp_connections.htm:21 +#: luci-app-mptcp/luasrc/view/mptcp/mptcp_fullmesh.htm:21 +#: luci-app-mptcp/luasrc/view/mptcp/mptcp_monitor.htm:14 +msgid "Loading" +msgstr "Wird geladen" + +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:93 +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:686 +msgid "MB/s" +msgstr "MByte/s" + +#: luci-app-mptcp/luasrc/controller/mptcp.lua:9 +#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:7 +#: luci-app-mptcp/root/usr/share/luci/menu.d/luci-app-mptcp.json:3 +msgid "MPTCP" +msgstr "MPTCP" + +#: luci-app-mptcp/luasrc/controller/mptcp.lua:16 +msgid "MPTCP Fullmesh" +msgstr "MPTCP Vollvermaschung" + +#: luci-app-mptcp/luasrc/controller/mptcp.lua:14 +#: luci-app-mptcp/luasrc/view/mptcp/mptcp_check.htm:42 +msgid "MPTCP Support Check" +msgstr "Prüfung auf Transparenz für MPTCP" + +#: luci-app-mptcp/luasrc/controller/mptcp.lua:20 +msgid "MPTCP monitoring" +msgstr "" + +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:102 +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:695 +msgid "Mbit/s" +msgstr "MBit/s" + +#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:18 +msgid "Multipath Debug" +msgstr "Mehrfachausbreitungspfad-Analyse" + +#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:12 +#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:108 +msgid "Multipath TCP" +msgstr "Multipath-TCP" + +#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:42 +msgid "Multipath TCP SYN retries" +msgstr "Multipath TCP SYN Wiederholungen" + +#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:15 +msgid "Multipath TCP checksum" +msgstr "Multipath TCP Prüfummen" + +#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:21 +msgid "Multipath TCP path-manager" +msgstr "Multipath TCP Pfadkontrolle" + +#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:31 +msgid "Multipath TCP scheduler" +msgstr "Multpath TCP Priorisierungskontrolle" + +#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:47 +#, fuzzy +#| msgid "Multipath TCP" +msgid "Multipath TCP version" +msgstr "Multipath-TCP" + +#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:28 +msgid "Netlink" +msgstr "Netlink-Layer" + +#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:7 +msgid "" +"Networks MPTCP settings. Visit http://multipath-tcp.org/pmwiki.php/Users/" +"ConfigureMPTCP for help." +msgstr "" +"Netzwerk-MPTCP Einstellungen. Dokumentation auf http://multipath-tcp.org/pmwiki.php/" +"Users/ConfigureMPTCP (english)." + +#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:108 +msgid "One interface must be set as master" +msgstr "Ein Anschluss muss als 'primär' defininiert werden." + +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:939 +msgid "Outbound:" +msgstr "Abgehend:" + +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:319 +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:322 +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:377 +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:935 +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:945 +msgid "Peak:" +msgstr "Spitze:" + +#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:80 +msgid "Re-create fullmesh subflows after a timeout" +msgstr "Wiederverbindungs-Wartezeit der Vollvermaschungs-Verbindungen" + +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:891 +msgid "Realtime Traffic" +msgstr "Echtzeit-Daten" + +#: luci-app-mptcp/luasrc/controller/mptcp.lua:10 +#: luci-app-mptcp/luasrc/view/mptcp/mptcp_check.htm:45 +msgid "Settings" +msgstr "Einstellungen" + +#: luci-app-mptcp/luasrc/view/mptcp/mptcp_check.htm:65 +msgid "Test" +msgstr "Test" + +#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:69 +msgid "" +"The number of MPTCP-level retransmission intervals with no traffic and " +"pending outstanding data on a given subflow required to declare it stale" +msgstr "" + +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:914 +msgid "Upload:" +msgstr "Upstream:" + +#: luci-app-mptcp/luasrc/view/mptcp/mptcp_check.htm:21 +#: luci-app-mptcp/luasrc/view/mptcp/mptcp_connections.htm:21 +#: luci-app-mptcp/luasrc/view/mptcp/mptcp_fullmesh.htm:21 +#: luci-app-mptcp/luasrc/view/mptcp/mptcp_monitor.htm:14 +msgid "Waiting for command to complete..." +msgstr "Warte auf Abschluss der Aufgaben" + +#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:112 +msgid "backup" +msgstr "Sicherung" + +#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:22 +#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:32 +msgid "default" +msgstr "Voreinstellung" + +#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:14 +#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:17 +#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:20 +#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:82 +#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:93 +msgid "disable" +msgstr "ausschalten" + +#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:110 +msgid "disabled" +msgstr "aus" + +#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:13 +#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:16 +#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:19 +#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:81 +#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:92 +msgid "enable" +msgstr "anschalten" + +#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:109 +msgid "enabled" +msgstr "an" + +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:88 +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:314 +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:318 +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:322 +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:372 +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:376 +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:380 +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:681 +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:930 +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:933 +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:936 +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:940 +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:943 +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:946 +msgid "kB/s" +msgstr "kBytes/s" + +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:97 +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:314 +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:318 +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:322 +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:372 +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:376 +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:380 +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:690 +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:930 +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:933 +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:936 +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:940 +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:943 +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:946 +msgid "kbit/s" +msgstr "kBit/s" + +#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:111 +msgid "master" +msgstr "primär" + +#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:85 +msgid "ndiffports subflows number" +msgstr "ndiff-Ports Verbindungs-Nummer" + +#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:64 +msgid "" +"specifies the maximum number of ADD_ADDR suboptions accepted for each MPTCP " +"connection" +msgstr "" + +#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:59 +msgid "" +"specifies the maximum number of additional subflows allowed for each MPTCP " +"connection" +msgstr "" + +#~ msgid "BLEST" +#~ msgstr "Blockierungsvorhersage-Betrieb" + +#~ msgid "binder" +#~ msgstr "Bindung" + +#~ msgid "fullmesh" +#~ msgstr "Vollvermaschung" + +#~ msgid "handover" +#~ msgstr "Übergabe" + +#~ msgid "ndiffports" +#~ msgstr "ndiff-Ports" + +#~ msgid "redundant" +#~ msgstr "redundant" + +#~ msgid "round-robin" +#~ msgstr "Rundlauf-Verfahren" diff --git a/luci-app-mptcp/po/de/mptcp.po~ b/luci-app-mptcp/po/de/mptcp.po~ new file mode 100644 index 000000000..dd585adf2 --- /dev/null +++ b/luci-app-mptcp/po/de/mptcp.po~ @@ -0,0 +1,327 @@ +msgid "" +msgstr "" +"PO-Revision-Date: 2020-10-05 12:39+0000\n" +"Last-Translator: Weblate Admin \n" +"Language-Team: German \n" +"Language: de\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Generator: Weblate 4.0.4\n" + +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:775 +msgid "(%d minute window, %d second interval)" +msgstr "(Fenster von %d Minuten, %d Sekunden Intervall)" + +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:241 +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:242 +msgid "(%d minutes window, %d seconds interval)" +msgstr "(Fenster %d Minunten, %d Sekunden Intervall)" + +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:315 +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:318 +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:373 +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:932 +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:942 +msgid "Average:" +msgstr "Durchschnitt:" + +#: luci-app-mptcp/luasrc/controller/mptcp.lua:11 +msgid "Bandwidth" +msgstr "Bandbreite" + +#: luci-app-mptcp/luasrc/view/mptcp/mptcp_check.htm:43 +msgid "Check if MPTCP between interface and server is working." +msgstr "" +"Prüfung auf transparenten Transport von MPTCP-Paketen zwischen Anschluss und " +"Server." + +#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:40 +msgid "Congestion Control" +msgstr "Überlauf-Steuerung" + +#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:69 +msgid "Consecutive segments that should be sent for round robin" +msgstr "" + +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:311 +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:314 +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:369 +msgid "Current:" +msgstr "derzeit:" + +#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:40 +#, fuzzy +#| msgid "Default is bbr" +msgid "Default is cubic" +msgstr "Voreinstellung ist 'bbr'" + +#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:21 +#, fuzzy +#| msgid "Default is bbr" +msgid "Default is fullmesh" +msgstr "Voreinstellung ist 'bbr'" + +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:908 +msgid "Download:" +msgstr "Downstream:" + +#: luci-app-mptcp/luasrc/view/mptcp/mptcp_check.htm:31 +#: luci-app-mptcp/luasrc/view/mptcp/mptcp_connections.htm:31 +#: luci-app-mptcp/luasrc/view/mptcp/mptcp_fullmesh.htm:31 +#: luci-app-mptcp/luasrc/view/mptcp/mptcp_monitor.htm:24 +msgid "Error" +msgstr "Fehler" + +#: luci-app-mptcp/luasrc/controller/mptcp.lua:18 +msgid "Established connections" +msgstr "aufgebaute Verbindungen" + +#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:63 +msgid "Fill the congestion window on all subflows for round robin" +msgstr "" + +#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:46 +msgid "Fullmesh subflows for each pair of IP addresses" +msgstr "" +"Datenströme im vollvermaschter Betrieb für die jeweiligen Gegegenstellen-" +"Paare" + +#: luci-app-mptcp/root/usr/share/rpcd/acl.d/luci-app-mptcp.json:3 +msgid "Grant UCI access for luci-app-mptcp" +msgstr "" + +#: luci-app-mptcp/luasrc/view/mptcp/mptcp_check.htm:73 +msgid "" +"If you get \"TCPOptionMPTCPCapable [...] Sender's Key\" at the end, then " +"MPTCP is supported. If there is a \"-TCPOptionMPTCPCapable\", then it's " +"blocked." +msgstr "" + +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:929 +msgid "Inbound:" +msgstr "Ankommend:" + +#: luci-app-mptcp/luasrc/view/mptcp/mptcp_check.htm:48 +msgid "Interface" +msgstr "Schnittstelle" + +#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:75 +msgid "Interfaces Settings" +msgstr "Anschluss-Einstellungen" + +#: luci-app-mptcp/luasrc/view/mptcp/mptcp_check.htm:21 +#: luci-app-mptcp/luasrc/view/mptcp/mptcp_connections.htm:21 +#: luci-app-mptcp/luasrc/view/mptcp/mptcp_fullmesh.htm:21 +#: luci-app-mptcp/luasrc/view/mptcp/mptcp_monitor.htm:14 +msgid "Loading" +msgstr "Wird geladen" + +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:93 +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:686 +msgid "MB/s" +msgstr "MByte/s" + +#: luci-app-mptcp/luasrc/controller/mptcp.lua:9 +#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:7 +#: luci-app-mptcp/root/usr/share/luci/menu.d/luci-app-mptcp.json:3 +msgid "MPTCP" +msgstr "MPTCP" + +#: luci-app-mptcp/luasrc/controller/mptcp.lua:16 +msgid "MPTCP Fullmesh" +msgstr "MPTCP Vollvermaschung" + +#: luci-app-mptcp/luasrc/controller/mptcp.lua:14 +#: luci-app-mptcp/luasrc/view/mptcp/mptcp_check.htm:42 +msgid "MPTCP Support Check" +msgstr "Prüfung auf Transparenz für MPTCP" + +#: luci-app-mptcp/luasrc/controller/mptcp.lua:20 +msgid "MPTCP monitoring" +msgstr "" + +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:102 +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:695 +msgid "Mbit/s" +msgstr "MBit/s" + +#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:18 +msgid "Multipath Debug" +msgstr "Mehrfachausbreitungspfad-Analyse" + +#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:12 +#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:76 +msgid "Multipath TCP" +msgstr "Multipath-TCP" + +#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:37 +msgid "Multipath TCP SYN retries" +msgstr "Multipath TCP SYN Wiederholungen" + +#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:15 +msgid "Multipath TCP checksum" +msgstr "Multipath TCP Prüfummen" + +#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:21 +msgid "Multipath TCP path-manager" +msgstr "Multipath TCP Pfadkontrolle" + +#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:29 +msgid "Multipath TCP scheduler" +msgstr "Multpath TCP Priorisierungskontrolle" + +#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:27 +msgid "Netlink" +msgstr "Netlink-Layer" + +#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:7 +msgid "" +"Networks MPTCP settings. Visit http://multipath-tcp.org/pmwiki.php/Users/" +"ConfigureMPTCP for help." +msgstr "" +"Netzwerk-MPTCP Einstellungen. Dokumentation auf http://multipath-tcp.org/pmwiki.php/" +"Users/ConfigureMPTCP (english)." + +#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:76 +msgid "One interface must be set as master" +msgstr "Ein Anschluss muss als 'primär' defininiert werden." + +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:939 +msgid "Outbound:" +msgstr "Abgehend:" + +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:319 +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:322 +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:377 +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:935 +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:945 +msgid "Peak:" +msgstr "Spitze:" + +#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:52 +msgid "Re-create fullmesh subflows after a timeout" +msgstr "Wiederverbindungs-Wartezeit der Vollvermaschungs-Verbindungen" + +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:891 +msgid "Realtime Traffic" +msgstr "Echtzeit-Daten" + +#: luci-app-mptcp/luasrc/controller/mptcp.lua:10 +#: luci-app-mptcp/luasrc/view/mptcp/mptcp_check.htm:45 +msgid "Settings" +msgstr "Einstellungen" + +#: luci-app-mptcp/luasrc/view/mptcp/mptcp_check.htm:65 +msgid "Test" +msgstr "Test" + +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:914 +msgid "Upload:" +msgstr "Upstream:" + +#: luci-app-mptcp/luasrc/view/mptcp/mptcp_check.htm:21 +#: luci-app-mptcp/luasrc/view/mptcp/mptcp_connections.htm:21 +#: luci-app-mptcp/luasrc/view/mptcp/mptcp_fullmesh.htm:21 +#: luci-app-mptcp/luasrc/view/mptcp/mptcp_monitor.htm:14 +msgid "Waiting for command to complete..." +msgstr "Warte auf Abschluss der Aufgaben" + +#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:80 +msgid "backup" +msgstr "Sicherung" + +#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:22 +#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:30 +msgid "default" +msgstr "Voreinstellung" + +#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:14 +#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:17 +#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:20 +#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:54 +#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:65 +msgid "disable" +msgstr "ausschalten" + +#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:78 +msgid "disabled" +msgstr "aus" + +#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:13 +#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:16 +#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:19 +#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:53 +#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:64 +msgid "enable" +msgstr "anschalten" + +#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:77 +msgid "enabled" +msgstr "an" + +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:88 +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:314 +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:318 +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:322 +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:372 +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:376 +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:380 +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:681 +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:930 +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:933 +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:936 +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:940 +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:943 +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:946 +msgid "kB/s" +msgstr "kBytes/s" + +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:97 +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:314 +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:318 +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:322 +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:372 +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:376 +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:380 +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:690 +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:930 +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:933 +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:936 +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:940 +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:943 +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:946 +msgid "kbit/s" +msgstr "kBit/s" + +#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:79 +msgid "master" +msgstr "primär" + +#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:57 +msgid "ndiffports subflows number" +msgstr "ndiff-Ports Verbindungs-Nummer" + +#~ msgid "BLEST" +#~ msgstr "Blockierungsvorhersage-Betrieb" + +#~ msgid "binder" +#~ msgstr "Bindung" + +#~ msgid "fullmesh" +#~ msgstr "Vollvermaschung" + +#~ msgid "handover" +#~ msgstr "Übergabe" + +#~ msgid "ndiffports" +#~ msgstr "ndiff-Ports" + +#~ msgid "redundant" +#~ msgstr "redundant" + +#~ msgid "round-robin" +#~ msgstr "Rundlauf-Verfahren" diff --git a/luci-app-mptcp/po/fr/mptcp.po b/luci-app-mptcp/po/fr/mptcp.po index 678e92549..b47876f87 100644 --- a/luci-app-mptcp/po/fr/mptcp.po +++ b/luci-app-mptcp/po/fr/mptcp.po @@ -2,144 +2,350 @@ msgid "" msgstr "" "Project-Id-Version: \n" "POT-Creation-Date: \n" -"PO-Revision-Date: \n" -"Last-Translator: Ycarus \n" -"Language-Team: \n" +"PO-Revision-Date: 2022-08-10 18:51+0000\n" +"Last-Translator: Weblate Admin \n" +"Language-Team: French \n" "Language: fr\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Generator: Poedit 2.0.6\n" -"Plural-Forms: nplurals=2; plural=(n > 1);\n" +"Plural-Forms: nplurals=2; plural=n > 1;\n" +"X-Generator: Weblate 4.10.1\n" +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:775 msgid "(%d minute window, %d second interval)" -msgstr "" +msgstr "(fenêtre de %d minute, intervalle de %d seconde)" +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:241 +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:242 msgid "(%d minutes window, %d seconds interval)" -msgstr "" +msgstr "(fenêtre de %d minutes, intervalle de %d secondes)" +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:315 +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:318 +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:373 +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:932 +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:942 msgid "Average:" msgstr "Moyenne :" +#: luci-app-mptcp/luasrc/controller/mptcp.lua:11 msgid "Bandwidth" msgstr "Bande passante" -msgid "Congestion Control" -msgstr "" +#: luci-app-mptcp/luasrc/view/mptcp/mptcp_check.htm:43 +msgid "Check if MPTCP between interface and server is working." +msgstr "Vérifiez si MPTCP entre l'interface et le serveur fonctionne." +#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:52 +msgid "Congestion Control" +msgstr "Contrôle de la congestion" + +#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:97 +msgid "Consecutive segments that should be sent for round robin" +msgstr "Segments consécutifs à envoyer pour round robin" + +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:311 +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:314 +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:369 msgid "Current:" msgstr "Actuellement :" +#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:52 +msgid "Default is cubic" +msgstr "La valeur par défaut est cubic" + +#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:21 +msgid "Default is fullmesh" +msgstr "La valeur par défaut est fullmesh" + +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:908 msgid "Download:" msgstr "Téléchargement :" -msgid "Fullmesh subflows for each pair of IP addresses" -msgstr "" +#: luci-app-mptcp/luasrc/view/mptcp/mptcp_check.htm:31 +#: luci-app-mptcp/luasrc/view/mptcp/mptcp_connections.htm:31 +#: luci-app-mptcp/luasrc/view/mptcp/mptcp_fullmesh.htm:31 +#: luci-app-mptcp/luasrc/view/mptcp/mptcp_monitor.htm:24 +msgid "Error" +msgstr "Erreur" +#: luci-app-mptcp/luasrc/controller/mptcp.lua:18 +msgid "Established connections" +msgstr "Connexions établies" + +#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:91 +msgid "Fill the congestion window on all subflows for round robin" +msgstr "" +"Remplir la fenêtre de congestion de tous les sous-flux pour round robin" + +#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:74 +msgid "Fullmesh subflows for each pair of IP addresses" +msgstr "Sous-flux Fullmesh pour chaque paire d'adresses IP" + +#: luci-app-mptcp/root/usr/share/rpcd/acl.d/luci-app-mptcp.json:3 +msgid "Grant UCI access for luci-app-mptcp" +msgstr "Accorder l'accès UCI pour luci-app-mlvpn" + +#: luci-app-mptcp/luasrc/view/mptcp/mptcp_check.htm:73 +msgid "" +"If you get \"TCPOptionMPTCPCapable [...] Sender's Key\" at the end, then " +"MPTCP is supported. If there is a \"-TCPOptionMPTCPCapable\", then it's " +"blocked." +msgstr "" +"Si vous obtenez «TCPOptionMPTCPCapable [...] Sender's Key» à la fin, alors " +"MPTCP est pris en charge. Si il y a \"-TCPOptionMPTCPCapable\", alors il est " +"bloqué." + +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:929 msgid "Inbound:" msgstr "Entrant :" +#: luci-app-mptcp/luasrc/view/mptcp/mptcp_check.htm:48 +msgid "Interface" +msgstr "Interface" + +#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:104 msgid "Interfaces Settings" msgstr "Paramètres des interfaces" +#: luci-app-mptcp/luasrc/view/mptcp/mptcp_check.htm:21 +#: luci-app-mptcp/luasrc/view/mptcp/mptcp_connections.htm:21 +#: luci-app-mptcp/luasrc/view/mptcp/mptcp_fullmesh.htm:21 +#: luci-app-mptcp/luasrc/view/mptcp/mptcp_monitor.htm:14 +msgid "Loading" +msgstr "Chargement" + +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:93 +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:686 msgid "MB/s" msgstr "Mo/s" +#: luci-app-mptcp/luasrc/controller/mptcp.lua:9 +#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:7 +#: luci-app-mptcp/root/usr/share/luci/menu.d/luci-app-mptcp.json:3 msgid "MPTCP" -msgstr "" +msgstr "MPTCP" +#: luci-app-mptcp/luasrc/controller/mptcp.lua:16 +msgid "MPTCP Fullmesh" +msgstr "MPTCP Fullmesh" + +#: luci-app-mptcp/luasrc/controller/mptcp.lua:14 +#: luci-app-mptcp/luasrc/view/mptcp/mptcp_check.htm:42 +msgid "MPTCP Support Check" +msgstr "Vérification du support MPTCP" + +#: luci-app-mptcp/luasrc/controller/mptcp.lua:20 +msgid "MPTCP monitoring" +msgstr "Surveillance MPTCP" + +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:102 +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:695 msgid "Mbit/s" -msgstr "" +msgstr "Mbit/s" +#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:18 +msgid "Multipath Debug" +msgstr "Débogage multipath" + +#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:12 +#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:108 msgid "Multipath TCP" -msgstr "" +msgstr "Multipath TCP" +#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:42 msgid "Multipath TCP SYN retries" -msgstr "" +msgstr "Tentatives Multipath TCP SYN" +#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:15 msgid "Multipath TCP checksum" -msgstr "" +msgstr "Somme de contrôle Multipath TCP" +#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:21 msgid "Multipath TCP path-manager" -msgstr "" +msgstr "Gestionnaire de chemins Multipath TCP" +#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:31 msgid "Multipath TCP scheduler" -msgstr "" +msgstr "Planificateur Multipath TCP" +#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:47 +msgid "Multipath TCP version" +msgstr "Version de Multipath TCP" + +#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:28 +msgid "Netlink" +msgstr "Netlink" + +#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:7 msgid "" "Networks MPTCP settings. Visit http://multipath-tcp.org/pmwiki.php/Users/" "ConfigureMPTCP for help." msgstr "" +"Paramètres réseaux MPTCP. Visiter http://multipath-tcp.org/pmwiki.php/Users/" +"ConfigureMPTCP pour de l'aide." +#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:108 msgid "One interface must be set as master" msgstr "Une interface doit être configuré en temps que maître" +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:939 msgid "Outbound:" msgstr "Sortant :" +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:319 +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:322 +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:377 +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:935 +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:945 msgid "Peak:" msgstr "Pointe :" +#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:80 msgid "Re-create fullmesh subflows after a timeout" -msgstr "" +msgstr "Recréer les sous-flux fullmesh après le délai d'expiration" +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:891 msgid "Realtime Traffic" msgstr "Trafic temps réel" +#: luci-app-mptcp/luasrc/controller/mptcp.lua:10 +#: luci-app-mptcp/luasrc/view/mptcp/mptcp_check.htm:45 msgid "Settings" msgstr "Paramètres" +#: luci-app-mptcp/luasrc/view/mptcp/mptcp_check.htm:65 +msgid "Test" +msgstr "Essai" + +#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:69 +msgid "" +"The number of MPTCP-level retransmission intervals with no traffic and " +"pending outstanding data on a given subflow required to declare it stale" +msgstr "" +"Le nombre d'intervalles de retransmission au niveau de MPTCP sans trafic et " +"en attente de données sur un sous-flux requis pour le déclarer obsolète" + +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:914 msgid "Upload:" msgstr "Envoie :" +#: luci-app-mptcp/luasrc/view/mptcp/mptcp_check.htm:21 +#: luci-app-mptcp/luasrc/view/mptcp/mptcp_connections.htm:21 +#: luci-app-mptcp/luasrc/view/mptcp/mptcp_fullmesh.htm:21 +#: luci-app-mptcp/luasrc/view/mptcp/mptcp_monitor.htm:14 +msgid "Waiting for command to complete..." +msgstr "En attente de la réponse de la commande..." + +#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:112 msgid "backup" -msgstr "" - -msgid "binder" -msgstr "" +msgstr "remplaçant" +#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:22 +#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:32 msgid "default" msgstr "Défaut" +#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:14 +#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:17 +#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:20 +#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:82 +#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:93 msgid "disable" msgstr "Désactive" +#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:110 msgid "disabled" msgstr "Désactivé" +#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:13 +#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:16 +#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:19 +#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:81 +#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:92 msgid "enable" msgstr "Active" +#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:109 msgid "enabled" msgstr "Activé" -msgid "fullmesh" -msgstr "" - -msgid "handover" -msgstr "" - +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:88 +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:314 +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:318 +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:322 +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:372 +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:376 +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:380 +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:681 +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:930 +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:933 +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:936 +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:940 +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:943 +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:946 msgid "kB/s" -msgstr "" +msgstr "Ko/s" +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:97 +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:314 +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:318 +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:322 +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:372 +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:376 +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:380 +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:690 +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:930 +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:933 +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:936 +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:940 +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:943 +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:946 msgid "kbit/s" -msgstr "" +msgstr "kbit/s" +#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:111 msgid "master" msgstr "maître" -msgid "ndiffports" -msgstr "" - +#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:85 msgid "ndiffports subflows number" -msgstr "" +msgstr "Nombre de sous-flux ndiffports" -msgid "redundant" +#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:64 +msgid "" +"specifies the maximum number of ADD_ADDR suboptions accepted for each MPTCP " +"connection" msgstr "" +"spécifie le nombre maximum de sous-options ADD_ADDR acceptées pour chaque " +"connexion MPTCP" -msgid "round-robin" +#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:59 +msgid "" +"specifies the maximum number of additional subflows allowed for each MPTCP " +"connection" msgstr "" +"spécifie le nombre maximum de sous-flux ADD_ADDR acceptées pour chaque " +"connexion MPTCP" + +#~ msgid "binder" +#~ msgstr "lier" + +#~ msgid "handover" +#~ msgstr "relais" + +#~ msgid "ndiffports" +#~ msgstr "ndiffports" + +#~ msgid "redundant" +#~ msgstr "redondant" + +#~ msgid "round-robin" +#~ msgstr "à tour de rôle" #~ msgid "Networks MPTCP settings" #~ msgstr "Paramètres réseaux MPTCP" diff --git a/luci-app-mptcp/po/it/mptcp.po b/luci-app-mptcp/po/it/mptcp.po new file mode 100644 index 000000000..78e5a223e --- /dev/null +++ b/luci-app-mptcp/po/it/mptcp.po @@ -0,0 +1,339 @@ +msgid "" +msgstr "" +"PO-Revision-Date: 2020-12-01 10:49+0000\n" +"Last-Translator: Giuseppe Dipierro \n" +"Language-Team: Italian \n" +"Language: it\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Generator: Weblate 4.0.4\n" + +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:775 +msgid "(%d minute window, %d second interval)" +msgstr "(finestra di% d minuti, intervallo di% d secondi)" + +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:241 +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:242 +msgid "(%d minutes window, %d seconds interval)" +msgstr "(finestra di% d minuti, intervallo di% d secondi)" + +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:315 +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:318 +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:373 +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:932 +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:942 +msgid "Average:" +msgstr "Media:" + +#: luci-app-mptcp/luasrc/controller/mptcp.lua:11 +msgid "Bandwidth" +msgstr "Larghezza banda" + +#: luci-app-mptcp/luasrc/view/mptcp/mptcp_check.htm:43 +msgid "Check if MPTCP between interface and server is working." +msgstr "Controlla se MPTCP tra l'interfaccia e il server funziona." + +#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:52 +msgid "Congestion Control" +msgstr "Controllo della congestione" + +#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:97 +msgid "Consecutive segments that should be sent for round robin" +msgstr "" + +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:311 +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:314 +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:369 +msgid "Current:" +msgstr "Corrente:" + +#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:52 +#, fuzzy +msgid "Default is cubic" +msgstr "L'impostazione predefinita è bbr" + +#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:21 +#, fuzzy +msgid "Default is fullmesh" +msgstr "L'impostazione predefinita è bbr" + +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:908 +msgid "Download:" +msgstr "Scarica:" + +#: luci-app-mptcp/luasrc/view/mptcp/mptcp_check.htm:31 +#: luci-app-mptcp/luasrc/view/mptcp/mptcp_connections.htm:31 +#: luci-app-mptcp/luasrc/view/mptcp/mptcp_fullmesh.htm:31 +#: luci-app-mptcp/luasrc/view/mptcp/mptcp_monitor.htm:24 +msgid "Error" +msgstr "Errore" + +#: luci-app-mptcp/luasrc/controller/mptcp.lua:18 +msgid "Established connections" +msgstr "Connessioni stabilite" + +#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:91 +msgid "Fill the congestion window on all subflows for round robin" +msgstr "" + +#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:74 +msgid "Fullmesh subflows for each pair of IP addresses" +msgstr "Flussi secondari fullmesh per ogni coppia di indirizzi IP" + +#: luci-app-mptcp/root/usr/share/rpcd/acl.d/luci-app-mptcp.json:3 +msgid "Grant UCI access for luci-app-mptcp" +msgstr "Concedi l'accesso UCI per luci-app-mptcp" + +#: luci-app-mptcp/luasrc/view/mptcp/mptcp_check.htm:73 +msgid "" +"If you get \"TCPOptionMPTCPCapable [...] Sender's Key\" at the end, then " +"MPTCP is supported. If there is a \"-TCPOptionMPTCPCapable\", then it's " +"blocked." +msgstr "" + +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:929 +msgid "Inbound:" +msgstr "In entrata:" + +#: luci-app-mptcp/luasrc/view/mptcp/mptcp_check.htm:48 +msgid "Interface" +msgstr "Interfaccia" + +#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:104 +msgid "Interfaces Settings" +msgstr "Impostazioni delle interfacce" + +#: luci-app-mptcp/luasrc/view/mptcp/mptcp_check.htm:21 +#: luci-app-mptcp/luasrc/view/mptcp/mptcp_connections.htm:21 +#: luci-app-mptcp/luasrc/view/mptcp/mptcp_fullmesh.htm:21 +#: luci-app-mptcp/luasrc/view/mptcp/mptcp_monitor.htm:14 +msgid "Loading" +msgstr "Caricamento in corso" + +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:93 +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:686 +msgid "MB/s" +msgstr "MB/s" + +#: luci-app-mptcp/luasrc/controller/mptcp.lua:9 +#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:7 +#: luci-app-mptcp/root/usr/share/luci/menu.d/luci-app-mptcp.json:3 +msgid "MPTCP" +msgstr "MPTCP" + +#: luci-app-mptcp/luasrc/controller/mptcp.lua:16 +msgid "MPTCP Fullmesh" +msgstr "MPTCP Fullmesh" + +#: luci-app-mptcp/luasrc/controller/mptcp.lua:14 +#: luci-app-mptcp/luasrc/view/mptcp/mptcp_check.htm:42 +msgid "MPTCP Support Check" +msgstr "Verifica supporto MPTCP" + +#: luci-app-mptcp/luasrc/controller/mptcp.lua:20 +msgid "MPTCP monitoring" +msgstr "" + +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:102 +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:695 +msgid "Mbit/s" +msgstr "Mbit/s" + +#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:18 +msgid "Multipath Debug" +msgstr "Debug multipath" + +#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:12 +#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:108 +msgid "Multipath TCP" +msgstr "Multipath TCP" + +#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:42 +msgid "Multipath TCP SYN retries" +msgstr "Multipath TCP SYN riprova" + +#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:15 +msgid "Multipath TCP checksum" +msgstr "Multipath TCP checksum" + +#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:21 +msgid "Multipath TCP path-manager" +msgstr "Multipath TCP path-manager" + +#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:31 +msgid "Multipath TCP scheduler" +msgstr "Multipath TCP scheduler" + +#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:47 +#, fuzzy +#| msgid "Multipath TCP" +msgid "Multipath TCP version" +msgstr "Multipath TCP" + +#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:28 +msgid "Netlink" +msgstr "Netlink" + +#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:7 +msgid "" +"Networks MPTCP settings. Visit http://multipath-tcp.org/pmwiki.php/Users/" +"ConfigureMPTCP for help." +msgstr "" + +#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:108 +msgid "One interface must be set as master" +msgstr "Un'interfaccia deve essere impostata come master" + +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:939 +msgid "Outbound:" +msgstr "Upload:" + +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:319 +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:322 +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:377 +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:935 +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:945 +msgid "Peak:" +msgstr "Picco:" + +#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:80 +msgid "Re-create fullmesh subflows after a timeout" +msgstr "Ricrea i flussi secondari fullmesh dopo un timeout" + +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:891 +msgid "Realtime Traffic" +msgstr "Traffico in tempo reale" + +#: luci-app-mptcp/luasrc/controller/mptcp.lua:10 +#: luci-app-mptcp/luasrc/view/mptcp/mptcp_check.htm:45 +msgid "Settings" +msgstr "Impostazioni" + +#: luci-app-mptcp/luasrc/view/mptcp/mptcp_check.htm:65 +msgid "Test" +msgstr "Test" + +#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:69 +msgid "" +"The number of MPTCP-level retransmission intervals with no traffic and " +"pending outstanding data on a given subflow required to declare it stale" +msgstr "" + +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:914 +msgid "Upload:" +msgstr "Upload:" + +#: luci-app-mptcp/luasrc/view/mptcp/mptcp_check.htm:21 +#: luci-app-mptcp/luasrc/view/mptcp/mptcp_connections.htm:21 +#: luci-app-mptcp/luasrc/view/mptcp/mptcp_fullmesh.htm:21 +#: luci-app-mptcp/luasrc/view/mptcp/mptcp_monitor.htm:14 +msgid "Waiting for command to complete..." +msgstr "In attesa del completamento del comando ..." + +#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:112 +msgid "backup" +msgstr "backup" + +#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:22 +#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:32 +msgid "default" +msgstr "predefinito" + +#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:14 +#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:17 +#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:20 +#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:82 +#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:93 +msgid "disable" +msgstr "disabilita" + +#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:110 +msgid "disabled" +msgstr "disabilitato" + +#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:13 +#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:16 +#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:19 +#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:81 +#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:92 +msgid "enable" +msgstr "Attivare" + +#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:109 +msgid "enabled" +msgstr "Abilitato" + +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:88 +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:314 +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:318 +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:322 +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:372 +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:376 +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:380 +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:681 +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:930 +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:933 +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:936 +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:940 +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:943 +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:946 +msgid "kB/s" +msgstr "kB/s" + +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:97 +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:314 +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:318 +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:322 +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:372 +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:376 +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:380 +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:690 +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:930 +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:933 +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:936 +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:940 +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:943 +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:946 +msgid "kbit/s" +msgstr "kbit/s" + +#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:111 +msgid "master" +msgstr "Principale" + +#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:85 +msgid "ndiffports subflows number" +msgstr "ndiffports subflows number" + +#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:64 +msgid "" +"specifies the maximum number of ADD_ADDR suboptions accepted for each MPTCP " +"connection" +msgstr "" + +#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:59 +msgid "" +"specifies the maximum number of additional subflows allowed for each MPTCP " +"connection" +msgstr "" + +#~ msgid "BLEST" +#~ msgstr "BLEST" + +#~ msgid "ECF" +#~ msgstr "ECF" + +#~ msgid "fullmesh" +#~ msgstr "fullmesh" + +#~ msgid "ndiffports" +#~ msgstr "ndiffports" + +#~ msgid "redundant" +#~ msgstr "ridondante" + +#~ msgid "round-robin" +#~ msgstr "round-robin" diff --git a/luci-app-mptcp/po/it/mptcp.po~ b/luci-app-mptcp/po/it/mptcp.po~ new file mode 100644 index 000000000..a9bc32b78 --- /dev/null +++ b/luci-app-mptcp/po/it/mptcp.po~ @@ -0,0 +1,317 @@ +msgid "" +msgstr "" +"PO-Revision-Date: 2020-12-01 10:49+0000\n" +"Last-Translator: Giuseppe Dipierro \n" +"Language-Team: Italian \n" +"Language: it\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Generator: Weblate 4.0.4\n" + +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:775 +msgid "(%d minute window, %d second interval)" +msgstr "(finestra di% d minuti, intervallo di% d secondi)" + +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:241 +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:242 +msgid "(%d minutes window, %d seconds interval)" +msgstr "(finestra di% d minuti, intervallo di% d secondi)" + +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:315 +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:318 +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:373 +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:932 +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:942 +msgid "Average:" +msgstr "Media:" + +#: luci-app-mptcp/luasrc/controller/mptcp.lua:11 +msgid "Bandwidth" +msgstr "Larghezza banda" + +#: luci-app-mptcp/luasrc/view/mptcp/mptcp_check.htm:43 +msgid "Check if MPTCP between interface and server is working." +msgstr "Controlla se MPTCP tra l'interfaccia e il server funziona." + +#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:40 +msgid "Congestion Control" +msgstr "Controllo della congestione" + +#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:69 +msgid "Consecutive segments that should be sent for round robin" +msgstr "" + +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:311 +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:314 +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:369 +msgid "Current:" +msgstr "Corrente:" + +#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:40 +#, fuzzy +#| msgid "Default is bbr" +msgid "Default is cubic" +msgstr "L'impostazione predefinita è bbr" + +#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:21 +#, fuzzy +#| msgid "Default is bbr" +msgid "Default is fullmesh" +msgstr "L'impostazione predefinita è bbr" + +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:908 +msgid "Download:" +msgstr "Scarica:" + +#: luci-app-mptcp/luasrc/view/mptcp/mptcp_check.htm:31 +#: luci-app-mptcp/luasrc/view/mptcp/mptcp_connections.htm:31 +#: luci-app-mptcp/luasrc/view/mptcp/mptcp_fullmesh.htm:31 +#: luci-app-mptcp/luasrc/view/mptcp/mptcp_monitor.htm:24 +msgid "Error" +msgstr "Errore" + +#: luci-app-mptcp/luasrc/controller/mptcp.lua:18 +msgid "Established connections" +msgstr "Connessioni stabilite" + +#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:63 +msgid "Fill the congestion window on all subflows for round robin" +msgstr "" + +#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:46 +msgid "Fullmesh subflows for each pair of IP addresses" +msgstr "Flussi secondari fullmesh per ogni coppia di indirizzi IP" + +#: luci-app-mptcp/root/usr/share/rpcd/acl.d/luci-app-mptcp.json:3 +msgid "Grant UCI access for luci-app-mptcp" +msgstr "Concedi l'accesso UCI per luci-app-mptcp" + +#: luci-app-mptcp/luasrc/view/mptcp/mptcp_check.htm:73 +msgid "" +"If you get \"TCPOptionMPTCPCapable [...] Sender's Key\" at the end, then " +"MPTCP is supported. If there is a \"-TCPOptionMPTCPCapable\", then it's " +"blocked." +msgstr "" + +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:929 +msgid "Inbound:" +msgstr "In entrata:" + +#: luci-app-mptcp/luasrc/view/mptcp/mptcp_check.htm:48 +msgid "Interface" +msgstr "Interfaccia" + +#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:75 +msgid "Interfaces Settings" +msgstr "Impostazioni delle interfacce" + +#: luci-app-mptcp/luasrc/view/mptcp/mptcp_check.htm:21 +#: luci-app-mptcp/luasrc/view/mptcp/mptcp_connections.htm:21 +#: luci-app-mptcp/luasrc/view/mptcp/mptcp_fullmesh.htm:21 +#: luci-app-mptcp/luasrc/view/mptcp/mptcp_monitor.htm:14 +msgid "Loading" +msgstr "Caricamento in corso" + +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:93 +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:686 +msgid "MB/s" +msgstr "MB/s" + +#: luci-app-mptcp/luasrc/controller/mptcp.lua:9 +#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:7 +#: luci-app-mptcp/root/usr/share/luci/menu.d/luci-app-mptcp.json:3 +msgid "MPTCP" +msgstr "MPTCP" + +#: luci-app-mptcp/luasrc/controller/mptcp.lua:16 +msgid "MPTCP Fullmesh" +msgstr "MPTCP Fullmesh" + +#: luci-app-mptcp/luasrc/controller/mptcp.lua:14 +#: luci-app-mptcp/luasrc/view/mptcp/mptcp_check.htm:42 +msgid "MPTCP Support Check" +msgstr "Verifica supporto MPTCP" + +#: luci-app-mptcp/luasrc/controller/mptcp.lua:20 +msgid "MPTCP monitoring" +msgstr "" + +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:102 +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:695 +msgid "Mbit/s" +msgstr "Mbit/s" + +#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:18 +msgid "Multipath Debug" +msgstr "Debug multipath" + +#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:12 +#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:76 +msgid "Multipath TCP" +msgstr "Multipath TCP" + +#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:37 +msgid "Multipath TCP SYN retries" +msgstr "Multipath TCP SYN riprova" + +#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:15 +msgid "Multipath TCP checksum" +msgstr "Multipath TCP checksum" + +#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:21 +msgid "Multipath TCP path-manager" +msgstr "Multipath TCP path-manager" + +#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:29 +msgid "Multipath TCP scheduler" +msgstr "Multipath TCP scheduler" + +#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:27 +msgid "Netlink" +msgstr "Netlink" + +#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:7 +msgid "" +"Networks MPTCP settings. Visit http://multipath-tcp.org/pmwiki.php/Users/" +"ConfigureMPTCP for help." +msgstr "" + +#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:76 +msgid "One interface must be set as master" +msgstr "Un'interfaccia deve essere impostata come master" + +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:939 +msgid "Outbound:" +msgstr "Upload:" + +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:319 +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:322 +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:377 +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:935 +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:945 +msgid "Peak:" +msgstr "Picco:" + +#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:52 +msgid "Re-create fullmesh subflows after a timeout" +msgstr "Ricrea i flussi secondari fullmesh dopo un timeout" + +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:891 +msgid "Realtime Traffic" +msgstr "Traffico in tempo reale" + +#: luci-app-mptcp/luasrc/controller/mptcp.lua:10 +#: luci-app-mptcp/luasrc/view/mptcp/mptcp_check.htm:45 +msgid "Settings" +msgstr "Impostazioni" + +#: luci-app-mptcp/luasrc/view/mptcp/mptcp_check.htm:65 +msgid "Test" +msgstr "Test" + +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:914 +msgid "Upload:" +msgstr "Upload:" + +#: luci-app-mptcp/luasrc/view/mptcp/mptcp_check.htm:21 +#: luci-app-mptcp/luasrc/view/mptcp/mptcp_connections.htm:21 +#: luci-app-mptcp/luasrc/view/mptcp/mptcp_fullmesh.htm:21 +#: luci-app-mptcp/luasrc/view/mptcp/mptcp_monitor.htm:14 +msgid "Waiting for command to complete..." +msgstr "In attesa del completamento del comando ..." + +#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:80 +msgid "backup" +msgstr "backup" + +#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:22 +#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:30 +msgid "default" +msgstr "predefinito" + +#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:14 +#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:17 +#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:20 +#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:54 +#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:65 +msgid "disable" +msgstr "disabilita" + +#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:78 +msgid "disabled" +msgstr "disabilitato" + +#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:13 +#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:16 +#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:19 +#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:53 +#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:64 +msgid "enable" +msgstr "Attivare" + +#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:77 +msgid "enabled" +msgstr "Abilitato" + +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:88 +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:314 +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:318 +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:322 +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:372 +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:376 +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:380 +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:681 +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:930 +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:933 +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:936 +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:940 +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:943 +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:946 +msgid "kB/s" +msgstr "kB/s" + +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:97 +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:314 +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:318 +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:322 +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:372 +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:376 +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:380 +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:690 +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:930 +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:933 +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:936 +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:940 +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:943 +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:946 +msgid "kbit/s" +msgstr "kbit/s" + +#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:79 +msgid "master" +msgstr "Principale" + +#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:57 +msgid "ndiffports subflows number" +msgstr "ndiffports subflows number" + +#~ msgid "BLEST" +#~ msgstr "BLEST" + +#~ msgid "ECF" +#~ msgstr "ECF" + +#~ msgid "fullmesh" +#~ msgstr "fullmesh" + +#~ msgid "ndiffports" +#~ msgstr "ndiffports" + +#~ msgid "redundant" +#~ msgstr "ridondante" + +#~ msgid "round-robin" +#~ msgstr "round-robin" diff --git a/luci-app-mptcp/po/oc/mptcp.po b/luci-app-mptcp/po/oc/mptcp.po new file mode 100644 index 000000000..f9bd5bda5 --- /dev/null +++ b/luci-app-mptcp/po/oc/mptcp.po @@ -0,0 +1,346 @@ +msgid "" +msgstr "" +"PO-Revision-Date: 2020-10-19 09:37+0000\n" +"Last-Translator: Quentin PAGÈS \n" +"Language-Team: Occitan \n" +"Language: oc\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=n > 1;\n" +"X-Generator: Weblate 4.0.4\n" + +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:775 +msgid "(%d minute window, %d second interval)" +msgstr "(fenèstra de %d minuta,interval de %d segonda)" + +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:241 +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:242 +msgid "(%d minutes window, %d seconds interval)" +msgstr "(fenèstra de %d minutas,interval de %d segondas)" + +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:315 +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:318 +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:373 +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:932 +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:942 +msgid "Average:" +msgstr "Mejana :" + +#: luci-app-mptcp/luasrc/controller/mptcp.lua:11 +msgid "Bandwidth" +msgstr "Benda passanta" + +#: luci-app-mptcp/luasrc/view/mptcp/mptcp_check.htm:43 +msgid "Check if MPTCP between interface and server is working." +msgstr "Verificar se MPTCP entre l‘interfàcia e lo servidor fonciona." + +#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:52 +msgid "Congestion Control" +msgstr "Contraròtle de congestion" + +#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:97 +msgid "Consecutive segments that should be sent for round robin" +msgstr "" + +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:311 +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:314 +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:369 +msgid "Current:" +msgstr "Actualament :" + +#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:52 +#, fuzzy +msgid "Default is cubic" +msgstr "Per defaut bbr" + +#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:21 +#, fuzzy +msgid "Default is fullmesh" +msgstr "Per defaut bbr" + +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:908 +msgid "Download:" +msgstr "Telecargament :" + +#: luci-app-mptcp/luasrc/view/mptcp/mptcp_check.htm:31 +#: luci-app-mptcp/luasrc/view/mptcp/mptcp_connections.htm:31 +#: luci-app-mptcp/luasrc/view/mptcp/mptcp_fullmesh.htm:31 +#: luci-app-mptcp/luasrc/view/mptcp/mptcp_monitor.htm:24 +msgid "Error" +msgstr "Error" + +#: luci-app-mptcp/luasrc/controller/mptcp.lua:18 +msgid "Established connections" +msgstr "Connexions establidas" + +#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:91 +msgid "Fill the congestion window on all subflows for round robin" +msgstr "" + +#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:74 +msgid "Fullmesh subflows for each pair of IP addresses" +msgstr "Jos flux Fullmesh per cada parelh d’adreças IP" + +#: luci-app-mptcp/root/usr/share/rpcd/acl.d/luci-app-mptcp.json:3 +msgid "Grant UCI access for luci-app-mptcp" +msgstr "" + +#: luci-app-mptcp/luasrc/view/mptcp/mptcp_check.htm:73 +msgid "" +"If you get \"TCPOptionMPTCPCapable [...] Sender's Key\" at the end, then " +"MPTCP is supported. If there is a \"-TCPOptionMPTCPCapable\", then it's " +"blocked." +msgstr "" + +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:929 +msgid "Inbound:" +msgstr "Dintrant :" + +#: luci-app-mptcp/luasrc/view/mptcp/mptcp_check.htm:48 +msgid "Interface" +msgstr "Interfàcia" + +#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:104 +msgid "Interfaces Settings" +msgstr "Paramètres de las interfàcias" + +#: luci-app-mptcp/luasrc/view/mptcp/mptcp_check.htm:21 +#: luci-app-mptcp/luasrc/view/mptcp/mptcp_connections.htm:21 +#: luci-app-mptcp/luasrc/view/mptcp/mptcp_fullmesh.htm:21 +#: luci-app-mptcp/luasrc/view/mptcp/mptcp_monitor.htm:14 +msgid "Loading" +msgstr "Cargament" + +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:93 +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:686 +msgid "MB/s" +msgstr "Mo/s" + +#: luci-app-mptcp/luasrc/controller/mptcp.lua:9 +#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:7 +#: luci-app-mptcp/root/usr/share/luci/menu.d/luci-app-mptcp.json:3 +msgid "MPTCP" +msgstr "MPTCP" + +#: luci-app-mptcp/luasrc/controller/mptcp.lua:16 +msgid "MPTCP Fullmesh" +msgstr "MPTCP Fullmesh" + +#: luci-app-mptcp/luasrc/controller/mptcp.lua:14 +#: luci-app-mptcp/luasrc/view/mptcp/mptcp_check.htm:42 +msgid "MPTCP Support Check" +msgstr "" + +#: luci-app-mptcp/luasrc/controller/mptcp.lua:20 +msgid "MPTCP monitoring" +msgstr "" + +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:102 +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:695 +msgid "Mbit/s" +msgstr "Mbit/s" + +#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:18 +msgid "Multipath Debug" +msgstr "Desbugatge multipath" + +#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:12 +#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:108 +msgid "Multipath TCP" +msgstr "Multipath TCP" + +#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:42 +msgid "Multipath TCP SYN retries" +msgstr "Ensages Multipath TCP SYN" + +#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:15 +msgid "Multipath TCP checksum" +msgstr "Sòma de contraròtle Multipath TCP" + +#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:21 +msgid "Multipath TCP path-manager" +msgstr "Gestionari dels camins Multipath TCP" + +#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:31 +msgid "Multipath TCP scheduler" +msgstr "Planificator Multipath TCP" + +#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:47 +#, fuzzy +#| msgid "Multipath TCP" +msgid "Multipath TCP version" +msgstr "Multipath TCP" + +#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:28 +msgid "Netlink" +msgstr "Ligam ret" + +#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:7 +msgid "" +"Networks MPTCP settings. Visit http://multipath-tcp.org/pmwiki.php/Users/" +"ConfigureMPTCP for help." +msgstr "" +"Paramètres ret MPTCP. Consulatz http://multipath-tcp.org/pmwiki.php/Users/" +"ConfigureMPTCP per d’ajuda." + +#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:108 +msgid "One interface must be set as master" +msgstr "Una interfàcia deu èsser configurada coma principala" + +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:939 +msgid "Outbound:" +msgstr "Sortent :" + +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:319 +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:322 +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:377 +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:935 +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:945 +msgid "Peak:" +msgstr "Punta :" + +#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:80 +msgid "Re-create fullmesh subflows after a timeout" +msgstr "Tornar crear los jos-flus fullmesh aprèp lo relambi d’expiracion" + +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:891 +msgid "Realtime Traffic" +msgstr "Trafic dirèct" + +#: luci-app-mptcp/luasrc/controller/mptcp.lua:10 +#: luci-app-mptcp/luasrc/view/mptcp/mptcp_check.htm:45 +msgid "Settings" +msgstr "Paramètres" + +#: luci-app-mptcp/luasrc/view/mptcp/mptcp_check.htm:65 +msgid "Test" +msgstr "Pròva" + +#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:69 +msgid "" +"The number of MPTCP-level retransmission intervals with no traffic and " +"pending outstanding data on a given subflow required to declare it stale" +msgstr "" + +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:914 +msgid "Upload:" +msgstr "Mandadís :" + +#: luci-app-mptcp/luasrc/view/mptcp/mptcp_check.htm:21 +#: luci-app-mptcp/luasrc/view/mptcp/mptcp_connections.htm:21 +#: luci-app-mptcp/luasrc/view/mptcp/mptcp_fullmesh.htm:21 +#: luci-app-mptcp/luasrc/view/mptcp/mptcp_monitor.htm:14 +msgid "Waiting for command to complete..." +msgstr "En espèra d’una responsa de la comanda..." + +#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:112 +msgid "backup" +msgstr "subordinat" + +#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:22 +#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:32 +msgid "default" +msgstr "Defaut" + +#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:14 +#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:17 +#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:20 +#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:82 +#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:93 +msgid "disable" +msgstr "desactivar" + +#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:110 +msgid "disabled" +msgstr "desactivat" + +#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:13 +#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:16 +#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:19 +#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:81 +#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:92 +msgid "enable" +msgstr "Activar" + +#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:109 +msgid "enabled" +msgstr "Activat" + +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:88 +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:314 +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:318 +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:322 +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:372 +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:376 +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:380 +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:681 +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:930 +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:933 +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:936 +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:940 +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:943 +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:946 +msgid "kB/s" +msgstr "kB/s" + +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:97 +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:314 +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:318 +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:322 +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:372 +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:376 +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:380 +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:690 +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:930 +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:933 +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:936 +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:940 +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:943 +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:946 +msgid "kbit/s" +msgstr "kbit/s" + +#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:111 +msgid "master" +msgstr "màger" + +#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:85 +msgid "ndiffports subflows number" +msgstr "Nombre de jos-flux ndiffports" + +#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:64 +msgid "" +"specifies the maximum number of ADD_ADDR suboptions accepted for each MPTCP " +"connection" +msgstr "" + +#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:59 +msgid "" +"specifies the maximum number of additional subflows allowed for each MPTCP " +"connection" +msgstr "" + +#, fuzzy +#~ msgid "BLEST" +#~ msgstr "BLEST" + +#~ msgid "binder" +#~ msgstr "associar" + +#~ msgid "fullmesh" +#~ msgstr "fullmesh" + +#~ msgid "handover" +#~ msgstr "relai" + +#~ msgid "ndiffports" +#~ msgstr "ndiffports" + +#~ msgid "redundant" +#~ msgstr "redondant" + +#~ msgid "round-robin" +#~ msgstr "cadun son torn" diff --git a/luci-app-mptcp/po/oc/mptcp.po~ b/luci-app-mptcp/po/oc/mptcp.po~ new file mode 100644 index 000000000..2ebb121a6 --- /dev/null +++ b/luci-app-mptcp/po/oc/mptcp.po~ @@ -0,0 +1,324 @@ +msgid "" +msgstr "" +"PO-Revision-Date: 2020-10-19 09:37+0000\n" +"Last-Translator: Quentin PAGÈS \n" +"Language-Team: Occitan \n" +"Language: oc\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=n > 1;\n" +"X-Generator: Weblate 4.0.4\n" + +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:775 +msgid "(%d minute window, %d second interval)" +msgstr "(fenèstra de %d minuta,interval de %d segonda)" + +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:241 +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:242 +msgid "(%d minutes window, %d seconds interval)" +msgstr "(fenèstra de %d minutas,interval de %d segondas)" + +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:315 +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:318 +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:373 +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:932 +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:942 +msgid "Average:" +msgstr "Mejana :" + +#: luci-app-mptcp/luasrc/controller/mptcp.lua:11 +msgid "Bandwidth" +msgstr "Benda passanta" + +#: luci-app-mptcp/luasrc/view/mptcp/mptcp_check.htm:43 +msgid "Check if MPTCP between interface and server is working." +msgstr "Verificar se MPTCP entre l‘interfàcia e lo servidor fonciona." + +#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:40 +msgid "Congestion Control" +msgstr "Contraròtle de congestion" + +#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:69 +msgid "Consecutive segments that should be sent for round robin" +msgstr "" + +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:311 +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:314 +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:369 +msgid "Current:" +msgstr "Actualament :" + +#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:40 +#, fuzzy +#| msgid "Default is bbr" +msgid "Default is cubic" +msgstr "Per defaut bbr" + +#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:21 +#, fuzzy +#| msgid "Default is bbr" +msgid "Default is fullmesh" +msgstr "Per defaut bbr" + +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:908 +msgid "Download:" +msgstr "Telecargament :" + +#: luci-app-mptcp/luasrc/view/mptcp/mptcp_check.htm:31 +#: luci-app-mptcp/luasrc/view/mptcp/mptcp_connections.htm:31 +#: luci-app-mptcp/luasrc/view/mptcp/mptcp_fullmesh.htm:31 +#: luci-app-mptcp/luasrc/view/mptcp/mptcp_monitor.htm:24 +msgid "Error" +msgstr "Error" + +#: luci-app-mptcp/luasrc/controller/mptcp.lua:18 +msgid "Established connections" +msgstr "Connexions establidas" + +#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:63 +msgid "Fill the congestion window on all subflows for round robin" +msgstr "" + +#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:46 +msgid "Fullmesh subflows for each pair of IP addresses" +msgstr "Jos flux Fullmesh per cada parelh d’adreças IP" + +#: luci-app-mptcp/root/usr/share/rpcd/acl.d/luci-app-mptcp.json:3 +msgid "Grant UCI access for luci-app-mptcp" +msgstr "" + +#: luci-app-mptcp/luasrc/view/mptcp/mptcp_check.htm:73 +msgid "" +"If you get \"TCPOptionMPTCPCapable [...] Sender's Key\" at the end, then " +"MPTCP is supported. If there is a \"-TCPOptionMPTCPCapable\", then it's " +"blocked." +msgstr "" + +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:929 +msgid "Inbound:" +msgstr "Dintrant :" + +#: luci-app-mptcp/luasrc/view/mptcp/mptcp_check.htm:48 +msgid "Interface" +msgstr "Interfàcia" + +#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:75 +msgid "Interfaces Settings" +msgstr "Paramètres de las interfàcias" + +#: luci-app-mptcp/luasrc/view/mptcp/mptcp_check.htm:21 +#: luci-app-mptcp/luasrc/view/mptcp/mptcp_connections.htm:21 +#: luci-app-mptcp/luasrc/view/mptcp/mptcp_fullmesh.htm:21 +#: luci-app-mptcp/luasrc/view/mptcp/mptcp_monitor.htm:14 +msgid "Loading" +msgstr "Cargament" + +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:93 +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:686 +msgid "MB/s" +msgstr "Mo/s" + +#: luci-app-mptcp/luasrc/controller/mptcp.lua:9 +#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:7 +#: luci-app-mptcp/root/usr/share/luci/menu.d/luci-app-mptcp.json:3 +msgid "MPTCP" +msgstr "MPTCP" + +#: luci-app-mptcp/luasrc/controller/mptcp.lua:16 +msgid "MPTCP Fullmesh" +msgstr "MPTCP Fullmesh" + +#: luci-app-mptcp/luasrc/controller/mptcp.lua:14 +#: luci-app-mptcp/luasrc/view/mptcp/mptcp_check.htm:42 +msgid "MPTCP Support Check" +msgstr "" + +#: luci-app-mptcp/luasrc/controller/mptcp.lua:20 +msgid "MPTCP monitoring" +msgstr "" + +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:102 +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:695 +msgid "Mbit/s" +msgstr "Mbit/s" + +#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:18 +msgid "Multipath Debug" +msgstr "Desbugatge multipath" + +#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:12 +#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:76 +msgid "Multipath TCP" +msgstr "Multipath TCP" + +#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:37 +msgid "Multipath TCP SYN retries" +msgstr "Ensages Multipath TCP SYN" + +#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:15 +msgid "Multipath TCP checksum" +msgstr "Sòma de contraròtle Multipath TCP" + +#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:21 +msgid "Multipath TCP path-manager" +msgstr "Gestionari dels camins Multipath TCP" + +#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:29 +msgid "Multipath TCP scheduler" +msgstr "Planificator Multipath TCP" + +#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:27 +msgid "Netlink" +msgstr "Ligam ret" + +#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:7 +msgid "" +"Networks MPTCP settings. Visit http://multipath-tcp.org/pmwiki.php/Users/" +"ConfigureMPTCP for help." +msgstr "" +"Paramètres ret MPTCP. Consulatz http://multipath-tcp.org/pmwiki.php/Users/" +"ConfigureMPTCP per d’ajuda." + +#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:76 +msgid "One interface must be set as master" +msgstr "Una interfàcia deu èsser configurada coma principala" + +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:939 +msgid "Outbound:" +msgstr "Sortent :" + +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:319 +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:322 +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:377 +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:935 +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:945 +msgid "Peak:" +msgstr "Punta :" + +#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:52 +msgid "Re-create fullmesh subflows after a timeout" +msgstr "Tornar crear los jos-flus fullmesh aprèp lo relambi d’expiracion" + +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:891 +msgid "Realtime Traffic" +msgstr "Trafic dirèct" + +#: luci-app-mptcp/luasrc/controller/mptcp.lua:10 +#: luci-app-mptcp/luasrc/view/mptcp/mptcp_check.htm:45 +msgid "Settings" +msgstr "Paramètres" + +#: luci-app-mptcp/luasrc/view/mptcp/mptcp_check.htm:65 +msgid "Test" +msgstr "Pròva" + +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:914 +msgid "Upload:" +msgstr "Mandadís :" + +#: luci-app-mptcp/luasrc/view/mptcp/mptcp_check.htm:21 +#: luci-app-mptcp/luasrc/view/mptcp/mptcp_connections.htm:21 +#: luci-app-mptcp/luasrc/view/mptcp/mptcp_fullmesh.htm:21 +#: luci-app-mptcp/luasrc/view/mptcp/mptcp_monitor.htm:14 +msgid "Waiting for command to complete..." +msgstr "En espèra d’una responsa de la comanda..." + +#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:80 +msgid "backup" +msgstr "subordinat" + +#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:22 +#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:30 +msgid "default" +msgstr "Defaut" + +#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:14 +#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:17 +#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:20 +#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:54 +#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:65 +msgid "disable" +msgstr "desactivar" + +#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:78 +msgid "disabled" +msgstr "desactivat" + +#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:13 +#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:16 +#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:19 +#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:53 +#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:64 +msgid "enable" +msgstr "Activar" + +#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:77 +msgid "enabled" +msgstr "Activat" + +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:88 +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:314 +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:318 +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:322 +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:372 +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:376 +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:380 +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:681 +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:930 +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:933 +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:936 +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:940 +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:943 +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:946 +msgid "kB/s" +msgstr "kB/s" + +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:97 +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:314 +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:318 +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:322 +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:372 +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:376 +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:380 +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:690 +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:930 +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:933 +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:936 +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:940 +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:943 +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:946 +msgid "kbit/s" +msgstr "kbit/s" + +#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:79 +msgid "master" +msgstr "màger" + +#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:57 +msgid "ndiffports subflows number" +msgstr "Nombre de jos-flux ndiffports" + +#, fuzzy +#~ msgid "BLEST" +#~ msgstr "BLEST" + +#~ msgid "binder" +#~ msgstr "associar" + +#~ msgid "fullmesh" +#~ msgstr "fullmesh" + +#~ msgid "handover" +#~ msgstr "relai" + +#~ msgid "ndiffports" +#~ msgstr "ndiffports" + +#~ msgid "redundant" +#~ msgstr "redondant" + +#~ msgid "round-robin" +#~ msgstr "cadun son torn" diff --git a/luci-app-mptcp/po/ru/mptcp.po b/luci-app-mptcp/po/ru/mptcp.po new file mode 100644 index 000000000..bdd6ac158 --- /dev/null +++ b/luci-app-mptcp/po/ru/mptcp.po @@ -0,0 +1,325 @@ +msgid "" +msgstr "" +"PO-Revision-Date: 2021-06-16 10:51+0000\n" +"Last-Translator: Dmitry Galenko \n" +"Language-Team: Russian \n" +"Language: ru\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n" +"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" +"X-Generator: Weblate 4.6.1\n" + +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:775 +msgid "(%d minute window, %d second interval)" +msgstr "(% d минутное окно,% d секундный интервал)" + +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:241 +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:242 +msgid "(%d minutes window, %d seconds interval)" +msgstr "(% d минутное окно,% d секундный интервал)" + +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:315 +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:318 +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:373 +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:932 +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:942 +msgid "Average:" +msgstr "Среднее:" + +#: luci-app-mptcp/luasrc/controller/mptcp.lua:11 +msgid "Bandwidth" +msgstr "Пропускная способность" + +#: luci-app-mptcp/luasrc/view/mptcp/mptcp_check.htm:43 +msgid "Check if MPTCP between interface and server is working." +msgstr "Проверьте, работает ли MPTCP между интерфейсом и сервером." + +#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:52 +msgid "Congestion Control" +msgstr "Контроль перегрузки" + +#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:97 +msgid "Consecutive segments that should be sent for round robin" +msgstr "Последовательные сегменты, которые следует отправлять для round-robin" + +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:311 +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:314 +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:369 +msgid "Current:" +msgstr "Текущая:" + +#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:52 +msgid "Default is cubic" +msgstr "По умолчанию кубический" + +#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:21 +msgid "Default is fullmesh" +msgstr "По умолчанию - fullmesh" + +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:908 +msgid "Download:" +msgstr "Загрузка:" + +#: luci-app-mptcp/luasrc/view/mptcp/mptcp_check.htm:31 +#: luci-app-mptcp/luasrc/view/mptcp/mptcp_connections.htm:31 +#: luci-app-mptcp/luasrc/view/mptcp/mptcp_fullmesh.htm:31 +#: luci-app-mptcp/luasrc/view/mptcp/mptcp_monitor.htm:24 +msgid "Error" +msgstr "Ошибка" + +#: luci-app-mptcp/luasrc/controller/mptcp.lua:18 +msgid "Established connections" +msgstr "Установленные соединения" + +#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:91 +msgid "Fill the congestion window on all subflows for round robin" +msgstr "Заполнение окна перегрузки для всех подпотоков для round-robin" + +#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:74 +msgid "Fullmesh subflows for each pair of IP addresses" +msgstr "Подпотоки Fullmesh для каждой пары IP-адресов" + +#: luci-app-mptcp/root/usr/share/rpcd/acl.d/luci-app-mptcp.json:3 +msgid "Grant UCI access for luci-app-mptcp" +msgstr "Предоставить доступ UCI для luci-app-mptcp" + +#: luci-app-mptcp/luasrc/view/mptcp/mptcp_check.htm:73 +msgid "" +"If you get \"TCPOptionMPTCPCapable [...] Sender's Key\" at the end, then " +"MPTCP is supported. If there is a \"-TCPOptionMPTCPCapable\", then it's " +"blocked." +msgstr "" +"Если в конце вы получите «TCPOptionMPTCPCapable [...] Sender's Key», то " +"MPTCP поддерживается. Если \"-TCPOptionMPTCPCapable\", то MPTCP заблокирован." + +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:929 +msgid "Inbound:" +msgstr "Входящий:" + +#: luci-app-mptcp/luasrc/view/mptcp/mptcp_check.htm:48 +msgid "Interface" +msgstr "Интерфейс" + +#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:104 +msgid "Interfaces Settings" +msgstr "Настройки интерфейсов" + +#: luci-app-mptcp/luasrc/view/mptcp/mptcp_check.htm:21 +#: luci-app-mptcp/luasrc/view/mptcp/mptcp_connections.htm:21 +#: luci-app-mptcp/luasrc/view/mptcp/mptcp_fullmesh.htm:21 +#: luci-app-mptcp/luasrc/view/mptcp/mptcp_monitor.htm:14 +msgid "Loading" +msgstr "Загрузка" + +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:93 +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:686 +msgid "MB/s" +msgstr "MB/s" + +#: luci-app-mptcp/luasrc/controller/mptcp.lua:9 +#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:7 +#: luci-app-mptcp/root/usr/share/luci/menu.d/luci-app-mptcp.json:3 +msgid "MPTCP" +msgstr "MPTCP" + +#: luci-app-mptcp/luasrc/controller/mptcp.lua:16 +msgid "MPTCP Fullmesh" +msgstr "MPTCP Fullmesh" + +#: luci-app-mptcp/luasrc/controller/mptcp.lua:14 +#: luci-app-mptcp/luasrc/view/mptcp/mptcp_check.htm:42 +msgid "MPTCP Support Check" +msgstr "Проверка поддержки MPTCP" + +#: luci-app-mptcp/luasrc/controller/mptcp.lua:20 +msgid "MPTCP monitoring" +msgstr "Мониторинг MPTCP" + +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:102 +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:695 +msgid "Mbit/s" +msgstr "Mbit/s" + +#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:18 +msgid "Multipath Debug" +msgstr "Многоуровневая отладка" + +#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:12 +#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:108 +msgid "Multipath TCP" +msgstr "Многопоточный TCP" + +#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:42 +msgid "Multipath TCP SYN retries" +msgstr "Попытки многопоточной TCP SYN" + +#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:15 +msgid "Multipath TCP checksum" +msgstr "Контрольная сумма многопоточного TCP" + +#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:21 +msgid "Multipath TCP path-manager" +msgstr "Многопоточный TCP менеджер" + +#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:31 +msgid "Multipath TCP scheduler" +msgstr "Планировщик многопоточного TCP" + +#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:47 +#, fuzzy +#| msgid "Multipath TCP" +msgid "Multipath TCP version" +msgstr "Многопоточный TCP" + +#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:28 +msgid "Netlink" +msgstr "Netlink" + +#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:7 +msgid "" +"Networks MPTCP settings. Visit http://multipath-tcp.org/pmwiki.php/Users/" +"ConfigureMPTCP for help." +msgstr "" +"Настройки сети MPTCP. Посетите http://multipath-tcp.org/pmwiki.php/Users/" +"ConfigureMPTCP для справки." + +#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:108 +msgid "One interface must be set as master" +msgstr "Один интерфейс должен быть установлен как главный" + +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:939 +msgid "Outbound:" +msgstr "Отправка:" + +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:319 +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:322 +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:377 +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:935 +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:945 +msgid "Peak:" +msgstr "Пиковое значение:" + +#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:80 +msgid "Re-create fullmesh subflows after a timeout" +msgstr "Повторно создать подпотоки fullmesh после тайм-аута" + +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:891 +msgid "Realtime Traffic" +msgstr "Трафик в реальном времени" + +#: luci-app-mptcp/luasrc/controller/mptcp.lua:10 +#: luci-app-mptcp/luasrc/view/mptcp/mptcp_check.htm:45 +msgid "Settings" +msgstr "Настройки" + +#: luci-app-mptcp/luasrc/view/mptcp/mptcp_check.htm:65 +msgid "Test" +msgstr "Тест" + +#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:69 +msgid "" +"The number of MPTCP-level retransmission intervals with no traffic and " +"pending outstanding data on a given subflow required to declare it stale" +msgstr "" + +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:914 +msgid "Upload:" +msgstr "Отправка:" + +#: luci-app-mptcp/luasrc/view/mptcp/mptcp_check.htm:21 +#: luci-app-mptcp/luasrc/view/mptcp/mptcp_connections.htm:21 +#: luci-app-mptcp/luasrc/view/mptcp/mptcp_fullmesh.htm:21 +#: luci-app-mptcp/luasrc/view/mptcp/mptcp_monitor.htm:14 +msgid "Waiting for command to complete..." +msgstr "Ожидание завершения команды..." + +#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:112 +msgid "backup" +msgstr "Резервирование" + +#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:22 +#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:32 +msgid "default" +msgstr "По умолчанию" + +#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:14 +#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:17 +#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:20 +#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:82 +#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:93 +msgid "disable" +msgstr "отключить" + +#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:110 +msgid "disabled" +msgstr "отключить" + +#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:13 +#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:16 +#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:19 +#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:81 +#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:92 +msgid "enable" +msgstr "включить" + +#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:109 +msgid "enabled" +msgstr "Установлено" + +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:88 +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:314 +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:318 +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:322 +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:372 +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:376 +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:380 +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:681 +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:930 +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:933 +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:936 +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:940 +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:943 +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:946 +msgid "kB/s" +msgstr "kB/s" + +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:97 +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:314 +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:318 +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:322 +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:372 +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:376 +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:380 +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:690 +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:930 +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:933 +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:936 +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:940 +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:943 +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:946 +msgid "kbit/s" +msgstr "kbit/s" + +#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:111 +msgid "master" +msgstr "мастер" + +#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:85 +msgid "ndiffports subflows number" +msgstr "количество подпотоков ndiffports" + +#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:64 +msgid "" +"specifies the maximum number of ADD_ADDR suboptions accepted for each MPTCP " +"connection" +msgstr "" + +#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:59 +msgid "" +"specifies the maximum number of additional subflows allowed for each MPTCP " +"connection" +msgstr "" diff --git a/luci-app-mptcp/po/templates/mptcp.pot b/luci-app-mptcp/po/templates/mptcp.pot index 274a8d12b..dfecf162a 100644 --- a/luci-app-mptcp/po/templates/mptcp.pot +++ b/luci-app-mptcp/po/templates/mptcp.pot @@ -1,27 +1,23 @@ msgid "" msgstr "Content-Type: text/plain; charset=UTF-8" -#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:652 +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:775 msgid "(%d minute window, %d second interval)" msgstr "" -#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:227 -#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:228 +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:241 +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:242 msgid "(%d minutes window, %d seconds interval)" msgstr "" -#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:284 -#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:287 -#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:323 -#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:796 -#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:806 +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:315 +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:318 +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:373 +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:932 +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:942 msgid "Average:" msgstr "" -#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:34 -msgid "BLEST" -msgstr "" - #: luci-app-mptcp/luasrc/controller/mptcp.lua:11 msgid "Bandwidth" msgstr "" @@ -30,27 +26,36 @@ msgstr "" msgid "Check if MPTCP between interface and server is working." msgstr "" -#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:39 +#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:52 msgid "Congestion Control" msgstr "" -#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:280 -#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:283 -#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:319 +#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:97 +msgid "Consecutive segments that should be sent for round robin" +msgstr "" + +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:311 +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:314 +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:369 msgid "Current:" msgstr "" -#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:39 -msgid "Default is bbr" +#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:52 +msgid "Default is cubic" msgstr "" -#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:772 +#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:21 +msgid "Default is fullmesh" +msgstr "" + +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:908 msgid "Download:" msgstr "" #: luci-app-mptcp/luasrc/view/mptcp/mptcp_check.htm:31 #: luci-app-mptcp/luasrc/view/mptcp/mptcp_connections.htm:31 #: luci-app-mptcp/luasrc/view/mptcp/mptcp_fullmesh.htm:31 +#: luci-app-mptcp/luasrc/view/mptcp/mptcp_monitor.htm:24 msgid "Error" msgstr "" @@ -58,11 +63,26 @@ msgstr "" msgid "Established connections" msgstr "" -#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:44 +#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:91 +msgid "Fill the congestion window on all subflows for round robin" +msgstr "" + +#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:74 msgid "Fullmesh subflows for each pair of IP addresses" msgstr "" -#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:793 +#: luci-app-mptcp/root/usr/share/rpcd/acl.d/luci-app-mptcp.json:3 +msgid "Grant UCI access for luci-app-mptcp" +msgstr "" + +#: luci-app-mptcp/luasrc/view/mptcp/mptcp_check.htm:73 +msgid "" +"If you get \"TCPOptionMPTCPCapable [...] Sender's Key\" at the end, then " +"MPTCP is supported. If there is a \"-TCPOptionMPTCPCapable\", then it's " +"blocked." +msgstr "" + +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:929 msgid "Inbound:" msgstr "" @@ -70,23 +90,25 @@ msgstr "" msgid "Interface" msgstr "" -#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:55 +#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:104 msgid "Interfaces Settings" msgstr "" #: luci-app-mptcp/luasrc/view/mptcp/mptcp_check.htm:21 #: luci-app-mptcp/luasrc/view/mptcp/mptcp_connections.htm:21 #: luci-app-mptcp/luasrc/view/mptcp/mptcp_fullmesh.htm:21 +#: luci-app-mptcp/luasrc/view/mptcp/mptcp_monitor.htm:14 msgid "Loading" msgstr "" -#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:79 -#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:563 +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:93 +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:686 msgid "MB/s" msgstr "" #: luci-app-mptcp/luasrc/controller/mptcp.lua:9 #: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:7 +#: luci-app-mptcp/root/usr/share/luci/menu.d/luci-app-mptcp.json:3 msgid "MPTCP" msgstr "" @@ -99,8 +121,12 @@ msgstr "" msgid "MPTCP Support Check" msgstr "" -#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:88 -#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:572 +#: luci-app-mptcp/luasrc/controller/mptcp.lua:20 +msgid "MPTCP monitoring" +msgstr "" + +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:102 +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:695 msgid "Mbit/s" msgstr "" @@ -109,11 +135,11 @@ msgid "Multipath Debug" msgstr "" #: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:12 -#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:56 +#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:108 msgid "Multipath TCP" msgstr "" -#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:36 +#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:42 msgid "Multipath TCP SYN retries" msgstr "" @@ -125,11 +151,15 @@ msgstr "" msgid "Multipath TCP path-manager" msgstr "" -#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:29 +#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:31 msgid "Multipath TCP scheduler" msgstr "" -#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:27 +#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:47 +msgid "Multipath TCP version" +msgstr "" + +#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:28 msgid "Netlink" msgstr "" @@ -140,27 +170,27 @@ msgid "" "ConfigureMPTCP for help." msgstr "" -#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:56 +#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:108 msgid "One interface must be set as master" msgstr "" -#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:803 +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:939 msgid "Outbound:" msgstr "" -#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:288 -#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:291 -#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:327 -#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:799 -#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:809 +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:319 +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:322 +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:377 +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:935 +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:945 msgid "Peak:" msgstr "" -#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:47 +#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:80 msgid "Re-create fullmesh subflows after a timeout" msgstr "" -#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:762 +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:891 msgid "Realtime Traffic" msgstr "" @@ -173,109 +203,106 @@ msgstr "" msgid "Test" msgstr "" -#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:778 +#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:69 +msgid "" +"The number of MPTCP-level retransmission intervals with no traffic and " +"pending outstanding data on a given subflow required to declare it stale" +msgstr "" + +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:914 msgid "Upload:" msgstr "" #: luci-app-mptcp/luasrc/view/mptcp/mptcp_check.htm:21 #: luci-app-mptcp/luasrc/view/mptcp/mptcp_connections.htm:21 #: luci-app-mptcp/luasrc/view/mptcp/mptcp_fullmesh.htm:21 +#: luci-app-mptcp/luasrc/view/mptcp/mptcp_monitor.htm:14 msgid "Waiting for command to complete..." msgstr "" -#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:60 +#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:112 msgid "backup" msgstr "" -#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:25 -msgid "binder" -msgstr "" - #: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:22 -#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:30 +#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:32 msgid "default" msgstr "" #: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:14 #: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:17 #: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:20 -#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:49 +#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:82 +#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:93 msgid "disable" msgstr "" -#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:58 +#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:110 msgid "disabled" msgstr "" #: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:13 #: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:16 #: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:19 -#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:48 +#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:81 +#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:92 msgid "enable" msgstr "" -#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:57 +#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:109 msgid "enabled" msgstr "" -#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:23 -msgid "fullmesh" -msgstr "" - -#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:61 -msgid "handover" -msgstr "" - -#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:74 -#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:283 -#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:287 -#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:291 +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:88 +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:314 +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:318 #: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:322 -#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:326 -#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:330 -#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:558 -#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:794 -#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:797 -#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:800 -#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:804 -#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:807 -#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:810 +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:372 +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:376 +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:380 +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:681 +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:930 +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:933 +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:936 +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:940 +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:943 +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:946 msgid "kB/s" msgstr "" -#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:83 -#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:283 -#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:287 -#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:291 +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:97 +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:314 +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:318 #: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:322 -#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:326 -#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:330 -#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:567 -#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:794 -#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:797 -#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:800 -#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:804 -#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:807 -#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:810 +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:372 +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:376 +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:380 +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:690 +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:930 +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:933 +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:936 +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:940 +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:943 +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:946 msgid "kbit/s" msgstr "" -#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:59 +#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:111 msgid "master" msgstr "" -#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:24 -msgid "ndiffports" -msgstr "" - -#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:51 +#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:85 msgid "ndiffports subflows number" msgstr "" -#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:32 -msgid "redundant" +#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:64 +msgid "" +"specifies the maximum number of ADD_ADDR suboptions accepted for each MPTCP " +"connection" msgstr "" -#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:31 -msgid "round-robin" +#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:59 +msgid "" +"specifies the maximum number of additional subflows allowed for each MPTCP " +"connection" msgstr "" diff --git a/luci-app-mptcp/po/zh_Hans/mptcp.po b/luci-app-mptcp/po/zh_Hans/mptcp.po new file mode 100644 index 000000000..36a27a977 --- /dev/null +++ b/luci-app-mptcp/po/zh_Hans/mptcp.po @@ -0,0 +1,342 @@ +msgid "" +msgstr "" +"PO-Revision-Date: 2022-08-12 19:29+0000\n" +"Last-Translator: Weblate Admin \n" +"Language-Team: Chinese (Simplified) \n" +"Language: zh_Hans\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=1; plural=0;\n" +"X-Generator: Weblate 4.10.1\n" + +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:775 +msgid "(%d minute window, %d second interval)" +msgstr "(%d 分钟刷新, %d 秒钟刷新)" + +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:241 +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:242 +msgid "(%d minutes window, %d seconds interval)" +msgstr "(%d 分钟间隔, %d 秒钟刷新)" + +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:315 +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:318 +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:373 +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:932 +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:942 +msgid "Average:" +msgstr "平均:" + +#: luci-app-mptcp/luasrc/controller/mptcp.lua:11 +msgid "Bandwidth" +msgstr "带宽" + +#: luci-app-mptcp/luasrc/view/mptcp/mptcp_check.htm:43 +msgid "Check if MPTCP between interface and server is working." +msgstr "检查接口和服务器之间的MPTCP是否正常工作." + +#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:52 +msgid "Congestion Control" +msgstr "阻塞控制" + +#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:97 +msgid "Consecutive segments that should be sent for round robin" +msgstr "连续轮播应发送的连续段" + +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:311 +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:314 +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:369 +msgid "Current:" +msgstr "实时:" + +#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:52 +msgid "Default is cubic" +msgstr "默认设置 cubic" + +#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:21 +msgid "Default is fullmesh" +msgstr "默认设置fullmesh" + +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:908 +msgid "Download:" +msgstr "下载:" + +#: luci-app-mptcp/luasrc/view/mptcp/mptcp_check.htm:31 +#: luci-app-mptcp/luasrc/view/mptcp/mptcp_connections.htm:31 +#: luci-app-mptcp/luasrc/view/mptcp/mptcp_fullmesh.htm:31 +#: luci-app-mptcp/luasrc/view/mptcp/mptcp_monitor.htm:24 +msgid "Error" +msgstr "错误" + +#: luci-app-mptcp/luasrc/controller/mptcp.lua:18 +msgid "Established connections" +msgstr "建立的连接" + +#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:91 +msgid "Fill the congestion window on all subflows for round robin" +msgstr "在循环的所有子流上填充拥塞窗口" + +#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:74 +msgid "Fullmesh subflows for each pair of IP addresses" +msgstr "每对IP地址的全网格子流" + +#: luci-app-mptcp/root/usr/share/rpcd/acl.d/luci-app-mptcp.json:3 +msgid "Grant UCI access for luci-app-mptcp" +msgstr "授予UCI访问luci-app-mptcp的权限" + +#: luci-app-mptcp/luasrc/view/mptcp/mptcp_check.htm:73 +msgid "" +"If you get \"TCPOptionMPTCPCapable [...] Sender's Key\" at the end, then " +"MPTCP is supported. If there is a \"-TCPOptionMPTCPCapable\", then it's " +"blocked." +msgstr "如果您在末尾获得“TCPOptionMPTCPCapable [...] Sender 's Key” ,则支持MPTCP" + +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:929 +msgid "Inbound:" +msgstr "入站:" + +#: luci-app-mptcp/luasrc/view/mptcp/mptcp_check.htm:48 +msgid "Interface" +msgstr "接口" + +#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:104 +msgid "Interfaces Settings" +msgstr "网卡设置" + +#: luci-app-mptcp/luasrc/view/mptcp/mptcp_check.htm:21 +#: luci-app-mptcp/luasrc/view/mptcp/mptcp_connections.htm:21 +#: luci-app-mptcp/luasrc/view/mptcp/mptcp_fullmesh.htm:21 +#: luci-app-mptcp/luasrc/view/mptcp/mptcp_monitor.htm:14 +msgid "Loading" +msgstr "载入中" + +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:93 +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:686 +msgid "MB/s" +msgstr "MB/s" + +#: luci-app-mptcp/luasrc/controller/mptcp.lua:9 +#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:7 +#: luci-app-mptcp/root/usr/share/luci/menu.d/luci-app-mptcp.json:3 +msgid "MPTCP" +msgstr "MPTCP" + +#: luci-app-mptcp/luasrc/controller/mptcp.lua:16 +msgid "MPTCP Fullmesh" +msgstr "设置MPTCP全网" + +#: luci-app-mptcp/luasrc/controller/mptcp.lua:14 +#: luci-app-mptcp/luasrc/view/mptcp/mptcp_check.htm:42 +msgid "MPTCP Support Check" +msgstr "MPTCP支持检查" + +#: luci-app-mptcp/luasrc/controller/mptcp.lua:20 +msgid "MPTCP monitoring" +msgstr "MPTCP监控" + +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:102 +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:695 +msgid "Mbit/s" +msgstr "Mbit/s" + +#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:18 +msgid "Multipath Debug" +msgstr "Multipath 调试" + +#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:12 +#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:108 +msgid "Multipath TCP" +msgstr "多路径TCP" + +#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:42 +msgid "Multipath TCP SYN retries" +msgstr "多路径 TCP SYN 重试" + +#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:15 +msgid "Multipath TCP checksum" +msgstr "多路径TCP校验和" + +#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:21 +msgid "Multipath TCP path-manager" +msgstr "多路径TCP路径管理器" + +#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:31 +msgid "Multipath TCP scheduler" +msgstr "多路径TCP调度程序" + +#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:47 +#, fuzzy +msgid "Multipath TCP version" +msgstr "多路径TCP" + +#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:28 +msgid "Netlink" +msgstr "网络链接" + +#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:7 +msgid "" +"Networks MPTCP settings. Visit http://multipath-tcp.org/pmwiki.php/Users/" +"ConfigureMPTCP for help." +msgstr "" +"网络MPTCP设置. 访问http://multipath-tcp.org/pmwiki.php/Users/ConfigureMPTCP4 获取更多的支持." + +#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:108 +msgid "One interface must be set as master" +msgstr "必须设置一个网卡为主接口" + +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:939 +msgid "Outbound:" +msgstr "出站:" + +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:319 +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:322 +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:377 +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:935 +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:945 +msgid "Peak:" +msgstr "峰值:" + +#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:80 +msgid "Re-create fullmesh subflows after a timeout" +msgstr "超时后重新创建全网格子流" + +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:891 +msgid "Realtime Traffic" +msgstr "实时流量" + +#: luci-app-mptcp/luasrc/controller/mptcp.lua:10 +#: luci-app-mptcp/luasrc/view/mptcp/mptcp_check.htm:45 +msgid "Settings" +msgstr "设置" + +#: luci-app-mptcp/luasrc/view/mptcp/mptcp_check.htm:65 +msgid "Test" +msgstr "测试" + +#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:69 +msgid "" +"The number of MPTCP-level retransmission intervals with no traffic and " +"pending outstanding data on a given subflow required to declare it stale" +msgstr "" + +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:914 +msgid "Upload:" +msgstr "上传:" + +#: luci-app-mptcp/luasrc/view/mptcp/mptcp_check.htm:21 +#: luci-app-mptcp/luasrc/view/mptcp/mptcp_connections.htm:21 +#: luci-app-mptcp/luasrc/view/mptcp/mptcp_fullmesh.htm:21 +#: luci-app-mptcp/luasrc/view/mptcp/mptcp_monitor.htm:14 +msgid "Waiting for command to complete..." +msgstr "等待命令完成..." + +#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:112 +msgid "backup" +msgstr "备份" + +#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:22 +#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:32 +msgid "default" +msgstr "默认" + +#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:14 +#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:17 +#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:20 +#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:82 +#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:93 +msgid "disable" +msgstr "禁用" + +#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:110 +msgid "disabled" +msgstr "禁用" + +#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:13 +#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:16 +#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:19 +#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:81 +#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:92 +msgid "enable" +msgstr "启用" + +#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:109 +msgid "enabled" +msgstr "启用" + +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:88 +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:314 +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:318 +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:322 +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:372 +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:376 +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:380 +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:681 +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:930 +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:933 +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:936 +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:940 +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:943 +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:946 +msgid "kB/s" +msgstr "kB/秒" + +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:97 +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:314 +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:318 +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:322 +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:372 +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:376 +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:380 +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:690 +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:930 +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:933 +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:936 +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:940 +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:943 +#: luci-app-mptcp/luasrc/view/mptcp/multipath.htm:946 +msgid "kbit/s" +msgstr "kbit/秒" + +#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:111 +msgid "master" +msgstr "主" + +#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:85 +msgid "ndiffports subflows number" +msgstr "ndiffports子流数" + +#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:64 +msgid "" +"specifies the maximum number of ADD_ADDR suboptions accepted for each MPTCP " +"connection" +msgstr "" + +#: luci-app-mptcp/luasrc/model/cbi/mptcp.lua:59 +msgid "" +"specifies the maximum number of additional subflows allowed for each MPTCP " +"connection" +msgstr "" + +#~ msgid "BLEST" +#~ msgstr "最好的" + +#~ msgid "binder" +#~ msgstr "设置binder" + +#~ msgid "fullmesh" +#~ msgstr "全网" + +#~ msgid "handover" +#~ msgstr "移除" + +#~ msgid "ndiffports" +#~ msgstr "设置ndiffports" + +#~ msgid "redundant" +#~ msgstr "冗余" + +#~ msgid "round-robin" +#~ msgstr "轮询" diff --git a/luci-app-mptcp/root/usr/share/luci/menu.d/luci-app-mptcp.json b/luci-app-mptcp/root/usr/share/luci/menu.d/luci-app-mptcp.json new file mode 100644 index 000000000..a3e457424 --- /dev/null +++ b/luci-app-mptcp/root/usr/share/luci/menu.d/luci-app-mptcp.json @@ -0,0 +1,13 @@ +{ + "admin/network/mptcp": { + "title": "MPTCP", + "order": 10, + "action": { + "type": "cbi", + "path": "mptcp" + }, + "depends": { + "acl": [ "luci-app-mptcp" ] + } + } +} diff --git a/luci-app-mptcp/root/usr/share/rpcd/acl.d/luci-app-mptcp.json b/luci-app-mptcp/root/usr/share/rpcd/acl.d/luci-app-mptcp.json new file mode 100644 index 000000000..eaf813e8c --- /dev/null +++ b/luci-app-mptcp/root/usr/share/rpcd/acl.d/luci-app-mptcp.json @@ -0,0 +1,20 @@ +{ + "luci-app-mptcp": { + "description": "Grant UCI access for luci-app-mptcp", + "read": { + "uci": [ "openmptcprouter", "network" ], + "file": { + "/usr/lib/mptcpd": [ "list" ], + "/usr/share/bpf/scheduler": [ "list" ], + "/sbin/sysctl -n net.ipv4.tcp_available_congestion_control": [ "exec" ] + }, + "ubus": { + "file": [ "list", "exec" ], + "system": [ "board" ] + } + }, + "write": { + "uci": [ "openmptcprouter", "network" ] + } + } +} \ No newline at end of file diff --git a/luci-app-nginx-ha/root/usr/share/luci/menu.d/luci-app-nginx-ha.json b/luci-app-nginx-ha/root/usr/share/luci/menu.d/luci-app-nginx-ha.json new file mode 100644 index 000000000..b62a8ab35 --- /dev/null +++ b/luci-app-nginx-ha/root/usr/share/luci/menu.d/luci-app-nginx-ha.json @@ -0,0 +1,13 @@ +{ + "admin/services/nginx-ha": { + "title": "Nginx High Availability", + "order": 80, + "action": { + "type": "cbi", + "path": "nginx-ha" + }, + "depends": { + "acl": [ "luci-app-nginx-ha" ] + } + } +} diff --git a/luci-app-nginx-ha/root/usr/share/rpcd/acl.d/luci-app-nginx-ha.json b/luci-app-nginx-ha/root/usr/share/rpcd/acl.d/luci-app-nginx-ha.json new file mode 100644 index 000000000..b6cab190e --- /dev/null +++ b/luci-app-nginx-ha/root/usr/share/rpcd/acl.d/luci-app-nginx-ha.json @@ -0,0 +1,11 @@ +{ + "luci-app-nginx-ha": { + "description": "Grant UCI access for luci-app-nginx-ha", + "read": { + "uci": [ "nginx-ha" ] + }, + "write": { + "uci": [ "nginx-ha" ] + } + } +} \ No newline at end of file diff --git a/luci-app-omr-bypass/Makefile b/luci-app-omr-bypass/Makefile index cbce20358..1ceb86669 100644 --- a/luci-app-omr-bypass/Makefile +++ b/luci-app-omr-bypass/Makefile @@ -6,7 +6,13 @@ include $(TOPDIR)/rules.mk LUCI_TITLE:=LuCI Interface to bypass domains -LUCI_DEPENDS:=+dnsmasq-full +shadowsocks-libev-ss-rules +iptables-mod-ndpi +iptables-mod-extra +kmod-ipt-ndpi +iptables +#LUCI_DEPENDS:=+dnsmasq-full +shadowsocks-libev-ss-rules +(LINUX_5_4||LINUX_5_15||TARGET_x86_64):iptables-mod-ndpi +iptables-mod-extra +(LINUX_5_4||LINUX_5_15||TARGET_x86_64):kmod-ipt-ndpi +iptables +LUCI_DEPENDS:=+LINUX_5_4:omr-bypass +!LINUX_5_4:omr-bypass-nft +#ifneq ($(CONFIG_TARGET_ramips),y) +# #LUCI_DEPENDS+=+(LINUX_5_4||LINUX_5_15):iptables-mod-ndpi +(LINUX_5_4||LINUX_5_15):kmod-ipt-ndpi +# LUCI_DEPENDS+=+iptables-mod-ndpi +kmod-ipt-ndpi +#endif + PKG_LICENSE:=GPLv3 diff --git a/luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js b/luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js new file mode 100644 index 000000000..08955491c --- /dev/null +++ b/luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js @@ -0,0 +1,302 @@ +'use strict'; +'require rpc'; +'require form'; +'require fs'; +'require uci'; +'require tools.widgets as widgets'; + +var callHostHints; + +return L.view.extend({ + callHostHints: rpc.declare({ + object: 'luci-rpc', + method: 'getHostHints', + expect: { '': {} } + }), + + load: function() { + return Promise.all([ + L.resolveDefault(fs.stat('/proc/net/xt_ndpi/proto'), null), + this.callHostHints(), + L.resolveDefault(fs.read_direct('/proc/net/xt_ndpi/proto'), ''), + L.resolveDefault(fs.read_direct('/proc/net/xt_ndpi/host_proto'), ''), + fs.read_direct('/usr/share/omr-bypass/omr-bypass-proto.lst') + ]); + }, + + render: function(testhosts) { + var m, s, o, hosts; + hosts = testhosts[1]; + + m = new form.Map('omr-bypass', _('OMR-Bypass'),_('OpenMPTCProuter IP must be used as DNS.')); + + /* + s = m.section(form.TypedSection, 'global', _('Global settings')); + s.addremove = false; + s.anonymous = true; + + o = s.option(form.Flag, 'noipv6', _('Disable IPv6 AAAA DNS results for bypassed domains')); + o.default = o.disabled; + o.optional = true; + */ + + s = m.section(form.GridSection, 'domains', _('Domains')); + s.addremove = true; + s.anonymous = true; + s.nodescriptions = true; + + o = s.option(form.Flag, 'enabled', _('Enabled')); + o.default = o.enabled; + + o = s.option(form.Value, 'name', _('Domain')); + o.rmempty = false; + + o = s.option(form.Flag, 'vpn', _('VPN on server'),_('Bypass using VPN configured on server.')); + o.modalonly = true + + o = s.option(widgets.DeviceSelect, 'interface', _('Output interface'),_('When none selected, MPTCP master interface is used.')); + o.noaliases = true; + o.noinactive = true; + o.nocreate = true; + o.depends('vpn', '0'); + + o = s.option(form.Value, 'note', _('Note')); + o.rmempty = true; + + o = s.option(form.ListValue, 'family', _('Restrict to address family')); + o.value('ipv4ipv6', _('IPv4 and IPv6')); + o.value('ipv4', _('IPv4 only')); + o.value('ipv6', _('IPv6 only')); + o.default = 'ipv4ipv6'; + o.modalonly = true + + o = s.option(form.Flag, 'noipv6', _('Disable AAAA IPv6 DNS')); + o.default = o.enabled; + o.modalonly = true + + s = m.section(form.GridSection, 'ips', _('IPs and Networks')); + s.addremove = true; + s.anonymous = true; + s.nodescriptions = true; + + o = s.option(form.Flag, 'enabled', _('Enabled')); + o.default = o.enabled; + + o = s.option(form.Value, 'ip', _('IP')); + o.rmempty = false; + + o = s.option(form.Flag, 'vpn', _('VPN on server'),_('Bypass using VPN configured on server.')); + o.modalonly = true + + o = s.option(widgets.DeviceSelect, 'interface', _('Output interface'),_('When none selected, MPTCP master interface is used.')); + o.noaliases = true; + o.noinactive = true; + o.nocreate = true; + o.depends('vpn', '0'); + + o = s.option(form.Value, 'note', _('Note')); + o.rmempty = true; + + s = m.section(form.GridSection, 'dest_port', _('Ports destination')); + s.addremove = true; + s.anonymous = true; + s.nodescriptions = true; + + o = s.option(form.Flag, 'enabled', _('Enabled')); + o.default = o.enabled; + + o = s.option(form.Value, 'dport', _('port')); + o.rmempty = false; + + o = s.option(form.ListValue, 'proto', _('protocol')); + o.default = 'tcp'; + o.rmempty = false; + o.value('tcp'); + o.value('udp'); + o.value('icmp'); + + o = s.option(widgets.DeviceSelect, 'interface', _('Output interface'),_('When none selected, MPTCP master interface is used.')); + o.noaliases = true; + o.noinactive = true; + o.nocreate = true; + + o = s.option(form.Value, 'note', _('Note')); + o.rmempty = true; + + s = m.section(form.GridSection, 'src_port', _('Ports source')); + s.addremove = true; + s.anonymous = true; + s.nodescriptions = true; + + o = s.option(form.Flag, 'enabled', _('Enabled')); + o.default = o.enabled; + + o = s.option(form.Value, 'sport', _('port')); + o.rmempty = false; + + o = s.option(form.ListValue, 'proto', _('protocol')); + o.default = 'tcp'; + o.rmempty = false; + o.value('tcp'); + o.value('udp'); + o.value('icmp'); + + o = s.option(widgets.DeviceSelect, 'interface', _('Output interface'),_('When none selected, MPTCP master interface is used.')); + o.noaliases = true; + o.noinactive = true; + o.nocreate = true; + + o = s.option(form.Value, 'note', _('Note')); + o.rmempty = true; + + s = m.section(form.GridSection, 'macs', _('MAC-Address')); + s.addremove = true; + s.anonymous = true; + s.nodescriptions = true; + + o = s.option(form.Flag, 'enabled', _('Enabled')); + o.default = o.enabled; + + o = s.option(form.Value, 'mac', _('source MAC-Address')); + o.datatype = 'list(unique(macaddr))'; + o.rmempty = false; + Object.keys(hosts).forEach(function(mac) { + var hint = hosts[mac].name || hosts[mac].ipv4; + o.value(mac, hint ? '%s (%s)'.format(mac, hint) : mac); + }); + + o = s.option(widgets.DeviceSelect, 'interface', _('Output interface'),_('When none selected, MPTCP master interface is used.')); + o.noaliases = true; + o.noinactive = true; + o.nocreate = true; + + o = s.option(form.Value, 'note', _('Note')); + o.rmempty = true; + + s = m.section(form.GridSection, 'lan_ip', _('Source lan IP address or network')); + s.addremove = true; + s.anonymous = true; + s.nodescriptions = true; + + o = s.option(form.Flag, 'enabled', _('Enabled')); + o.default = o.enabled; + + o = s.option(form.Value, 'ip', _('IP Address')); + o.datatype = 'or(ip4addr,ip6addr)'; + o.rmempty = false; + Object.keys(hosts).forEach(function(mac) { + if (hosts[mac].ipv4) { + var hint = hosts[mac].name; + o.value(hosts[mac].ipv4, hint ? '%s (%s)'.format(hosts[mac].ipv4, hint) : hosts[mac].ipv4); + } + }); + + o = s.option(widgets.DeviceSelect, 'interface', _('Output interface'),_('When none selected, MPTCP master interface is used.')); + o.noaliases = true; + o.noinactive = true; + o.nocreate = true; + + o = s.option(form.Value, 'note', _('Note')); + o.rmempty = true; + + s = m.section(form.GridSection, 'asns', _('ASN')); + s.addremove = true; + s.anonymous = true; + s.nodescriptions = true; + + o = s.option(form.Flag, 'enabled', _('Enabled')); + o.default = o.enabled; + + o = s.option(form.Value, 'asn', _('ASN')); + o.rmempty = false; + + o = s.option(form.Flag, 'vpn', _('VPN on server'),_('Bypass using VPN configured on server.')); + o.modalonly = true + + o = s.option(widgets.DeviceSelect, 'interface', _('Output interface'),_('When none selected, MPTCP master interface is used.')); + o.noaliases = true; + o.noinactive = true; + o.nocreate = true; + o.depends('vpn', '0'); + + o = s.option(form.Value, 'note', _('Note')); + o.rmempty = true; + + s = m.section(form.GridSection, 'dpis', _('Protocols and services')); + s.addremove = true; + s.anonymous = true; + s.nodescriptions = true; + + o = s.option(form.Flag, 'enabled', _('Enabled')); + o.default = o.enabled; + + o = s.option(form.ListValue, 'proto', _('Protocol/Service')); + o.rmempty = false; + o.load = function(section_id) { + var proto = testhosts[2].split(/\n/), + host = testhosts[3].split(/\n/), + protofile = testhosts[4].split(/\n/), + name = []; + if (proto.length > 2) { + for (var i = 0; i < proto.length; i++) { + var m = proto[i].split(/\s+/); + if (m && m[0] != "#id" && m[1] != "disabled") + name.push(m[2]); + } + } + if (host.length > 2) { + for (var i = 0; i < host.length; i++) { + var m = host[i].split(/:/); + if (m && m[0] != "#Proto") + name.push(m[0].toLowerCase()); + } + } + if (proto.length == 1 && host.length == 1) { + for (var i = 0; i < protofile.length; i++) { + var m = protofile[i]; + name.push(m); + } + } + if (host.length > 2) { + name = Array.from(new Set(name)).sort(function (a, b) { return a.toLowerCase().localeCompare(b.toLowerCase())}).reduce(function(a, b){ if (a.slice(-1)[0] !== b) a.push(b);return a;},[]); + } + for (var i = 0; i < name.length; i++) { + this.value(name[i]); + } + return this.super('load', [section_id]); + + }; + + o = s.option(form.Flag, 'vpn', _('VPN on server'),_('Bypass using VPN configured on server.')); + o.modalonly = true + + o = s.option(widgets.DeviceSelect, 'interface', _('Output interface'),_('When none selected, MPTCP master interface is used (or an other interface if master is down).')); + o.noaliases = true; + o.noinactive = true; + o.nocreate = true; + o.depends('vpn', '0'); + + o = s.option(form.Value, 'note', _('Note')); + o.rmempty = true; + + o = s.option(form.ListValue, 'family', _('Restrict to address family')); + o.value('ipv4ipv6', _('IPv4 and IPv6')); + o.value('ipv4', _('IPv4 only')); + o.value('ipv6', _('IPv6 only')); + o.default = 'ipv4ipv6'; + o.modalonly = true + + o = s.option(form.Flag, 'noipv6', _('Disable AAAA IPv6 DNS')); + o.default = true; + o.modalonly = true + + if (testhosts[0]) { + o = s.option(form.Flag, 'ndpi', _('Enable ndpi')); + o.default = o.enabled; + o.modalonly = true + o.depends('vpn', '0'); + } + + return m.render(); + } +}); diff --git a/luci-app-omr-bypass/luasrc/controller/omr-bypass.lua b/luci-app-omr-bypass/luasrc/controller/omr-bypass.lua deleted file mode 100644 index 46ba4fabf..000000000 --- a/luci-app-omr-bypass/luasrc/controller/omr-bypass.lua +++ /dev/null @@ -1,9 +0,0 @@ -local ucic = luci.model.uci.cursor() -local dt = require "luci.cbi.datatypes" -module("luci.controller.omr-bypass", package.seeall) - -function index() - entry({"admin", "services", "omr-bypass"}, alias("admin", "services", "omr-bypass", "index"), _("OMR-Bypass")) - --entry({"admin", "services", "omr-bypass", "index"}, template("omr-bypass/bypass")) - entry({"admin", "services", "omr-bypass", "index"}, cbi("omr-bypass")) -end diff --git a/luci-app-omr-bypass/luasrc/model/cbi/omr-bypass.lua b/luci-app-omr-bypass/luasrc/model/cbi/omr-bypass.lua deleted file mode 100644 index b819c39b1..000000000 --- a/luci-app-omr-bypass/luasrc/model/cbi/omr-bypass.lua +++ /dev/null @@ -1,169 +0,0 @@ --- Copyright 2018-2019 Ycarus (Yannick Chabanois) --- Licensed to the public under the Apache License 2.0. - -local ipc = require "luci.ip" -local sys = require "luci.sys" -local net = require "luci.model.network".init() -local ifaces = net:get_interfaces() or { net:get_interface() } - -m = Map("omr-bypass", translate("Bypass"), translate("Here you can bypass ShadowSocks and VPN. If you set Interface to Default this use any working interface.")) - -s = m:section(TypedSection, "domains", translate("Domains")) -s.addremove = true -s.anonymous = true -s.template = "cbi/tblsection" - -hn = s:option(Value, "name", translate("Domain")) -hn.datatype = "hostname" -hn.optional = false -hn.rmempty = true - -ifd = s:option(ListValue, "interface", translate("Interface")) -ifd.rmempty = true - -dn = s:option(Value,"note",translate("Note")) - -s = m:section(TypedSection, "ips", translate("IPs and Networks")) -s.addremove = true -s.anonymous = true -s.template = "cbi/tblsection" - -ip = s:option(Value, "ip", translate("IP")) -ip.datatype = "ipaddr" -ip.rmempty = true -ip.optional = false - -ifi = s:option(ListValue, "interface", translate("Interface")) -ifi.rmempty = true - -inn = s:option(Value,"note",translate("Note")) - - -s = m:section(TypedSection, "dest_port", translate("Ports destination")) -s.addremove = true -s.anonymous = true -s.template = "cbi/tblsection" - -dp = s:option(Value, "dport", translate("port")) -dp.rmempty = true -dp.optional = false - -proto = s:option(ListValue, "proto", translate("Protocol")) -proto:value("all",translate("ALL")) -proto:value("tcp","TCP") -proto:value("udp","UDP") -proto:value("icmp","ICMP") -proto.rmempty = true -proto.optional = false - -ifdp = s:option(ListValue, "interface", translate("Interface")) -ifdp.rmempty = true - -dpn = s:option(Value,"note",translate("Note")) - -s = m:section(TypedSection, "macs", translate("MAC-Address")) -s.addremove = true -s.anonymous = true -s.template = "cbi/tblsection" - -mac = s:option(Value, "mac", translate("Source MAC-Address")) -mac.datatype = "list(macaddr)" -mac.rmempty = true -mac.optional = false - -sys.net.host_hints(function(m, v4, v6, name) - if m then - mac:value(m, "%s (%s)" %{m, name or v4 or v6}) - end -end) - -ifm = s:option(ListValue, "interface", translate("Interface")) -ifm.rmempty = true - -macn = s:option(Value,"note",translate("Note")) - -s = m:section(TypedSection, "lan_ip", translate("Source lan IP address or network")) -s.addremove = true -s.anonymous = true -s.template = "cbi/tblsection" - -ip = s:option(Value, "ip", translate("IP Address")) -ip.datatype = "ipaddr" -ip.rmempty = true -ip.optional = false - -ifl = s:option(ListValue, "interface", translate("Interface")) -ifl.rmempty = true - -lanipn = s:option(Value,"note",translate("Note")) - -s = m:section(TypedSection, "asns", translate("ASN")) -s.addremove = true -s.anonymous = true -s.template = "cbi/tblsection" - -asn = s:option(Value, "asn", translate("ASN")) -asn.rmempty = true -asn.optional = false - -ifa = s:option(ListValue, "interface", translate("Interface")) -ifa.rmempty = true - -asnn = s:option(Value,"note",translate("Note")) - -s = m:section(TypedSection, "dpis", translate("Protocols and services")) -s.addremove = true -s.anonymous = true -s.template = "cbi/tblsection" - -dpi = s:option(ListValue, "proto", translate("Protocol/Service")) -dpi.rmempty = true -dpi.optional = false -local xt_ndpi_available = nixio.fs.access("/proc/net/xt_ndpi/proto") -if xt_ndpi_available then - local protos = {} - for l in io.lines("/proc/net/xt_ndpi/proto") do - local a,b,c,d = l:match('(%w+) (%w+)') - if b ~= "2" and not string.match(b,"custom") then - table.insert(protos,b) - end - end - table.sort(protos, function(a, b) return a:upper() < b:upper() end) - for _,b in ipairs(protos) do - dpi:value(b,"%s" % tostring(b)) - end -end - -ifp = s:option(ListValue, "interface", translate("Interface")) -ifp.rmempty = true - -psn = s:option(Value,"note",translate("Note")) - - -ifd.default = "all" -ifi.default = "all" -ifp.default = "all" -ifm.default = "all" -ifl.default = "all" -ifa.default = "all" -ifdp.default = "all" -ifd:value("all",translate("Default")) -ifi:value("all",translate("Default")) -ifp:value("all",translate("Default")) -ifm:value("all",translate("Default")) -ifl:value("all",translate("Default")) -ifa:value("all",translate("Default")) -ifdp:value("all",translate("Default")) -for _, iface in ipairs(ifaces) do - if iface:is_up() then - ifd:value(iface:name(),"%s" % iface:name()) - ifi:value(iface:name(),"%s" % iface:name()) - ifp:value(iface:name(),"%s" % iface:name()) - ifm:value(iface:name(),"%s" % iface:name()) - ifl:value(iface:name(),"%s" % iface:name()) - ifa:value(iface:name(),"%s" % iface:name()) - ifdp:value(iface:name(),"%s" % iface:name()) - end -end - -return m diff --git a/luci-app-omr-bypass/po/de/omr-bypass.po b/luci-app-omr-bypass/po/de/omr-bypass.po new file mode 100644 index 000000000..ae3c0f8dd --- /dev/null +++ b/luci-app-omr-bypass/po/de/omr-bypass.po @@ -0,0 +1,162 @@ +msgid "" +msgstr "" +"PO-Revision-Date: 2020-10-05 12:39+0000\n" +"Last-Translator: Weblate Admin \n" +"Language-Team: German \n" +"Language: de\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Generator: Weblate 4.0.4\n" + +#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:166 +#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:174 +msgid "ASN" +msgstr "ASN" + +#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:34 +msgid "Domain" +msgstr "Domain" + +#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:26 +msgid "Domains" +msgstr "Domains" + +#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:31 +#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:50 +#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:69 +#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:95 +#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:121 +#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:145 +#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:171 +#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:190 +msgid "Enabled" +msgstr "" + +#: luci-app-omr-bypass/root/usr/share/rpcd/acl.d/luci-app-omr-bypass.json:3 +msgid "Grant access to ndpi resources" +msgstr "" + +#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:53 +msgid "IP" +msgstr "IP" + +#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:148 +msgid "IP Address" +msgstr "IP Adresse" + +#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:45 +msgid "IPs and Networks" +msgstr "IPs und Netzwerke" + +#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:37 +#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:56 +#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:82 +#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:108 +#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:132 +#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:158 +#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:177 +#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:221 +msgid "Interface" +msgstr "Schnittstelle" + +#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:116 +#, fuzzy +msgid "MAC-Address" +msgstr "Quell-MAC-Adresse" + +#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:42 +#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:61 +#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:87 +#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:113 +#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:137 +#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:163 +#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:182 +#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:226 +msgid "Note" +msgstr "Bemerkung" + +#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:24 +#: luci-app-omr-bypass/root/usr/share/luci/menu.d/luci-app-omr-bypass.json:3 +msgid "OMR-Bypass" +msgstr "OMR-Ausnahmeregel" + +#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:24 +msgid "OpenMPTCProuter IP must be used as DNS." +msgstr "" + +#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:64 +msgid "Ports destination" +msgstr "Ziel-Port" + +#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:90 +msgid "Ports source" +msgstr "" + +#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:193 +msgid "Protocol/Service" +msgstr "Protokoll/Dienst" + +#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:185 +msgid "Protocols and services" +msgstr "Protokolle und Dienste" + +#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:140 +msgid "Source lan IP address or network" +msgstr "LAN-IP oder CIDR-Netzwerk der Quelleadresse" + +#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:221 +msgid "" +"When none selected, MPTCP master interface is used (or an other interface if " +"master is down)." +msgstr "" + +#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:37 +#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:56 +#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:82 +#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:108 +#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:132 +#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:158 +#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:177 +msgid "When none selected, MPTCP master interface is used." +msgstr "" + +#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:72 +#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:98 +msgid "port" +msgstr "Port" + +#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:75 +#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:101 +#, fuzzy +msgid "protocol" +msgstr "Protokoll" + +#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:124 +#, fuzzy +msgid "source MAC-Address" +msgstr "Quell-MAC-Adresse" + +#~ msgid "MAC-Address" +#~ msgstr "MAC-Addresse" + +#~ msgid "ASN" +#~ msgstr "ASN" + +#~ msgid "ALL" +#~ msgstr "ALLE" + +#~ msgid "Bypass" +#~ msgstr "Ausnahmeregel" + +#~ msgid "Default" +#~ msgstr "Voreinstellung" + +#~ msgid "" +#~ "Here you can bypass ShadowSocks and VPN. If you set Interface to Default " +#~ "this use any working interface." +#~ msgstr "" +#~ "Her können Ausnahmen für ShadowSocks und VPN eingetragen werden. Wird als " +#~ "Schnittstelle 'Voreinstellung' gewählt, wird eine beliebige gerade " +#~ "funktionsfähige gewählt (Load Balancing)." diff --git a/luci-app-omr-bypass/po/de/omr-bypass.po~ b/luci-app-omr-bypass/po/de/omr-bypass.po~ new file mode 100644 index 000000000..188cfb056 --- /dev/null +++ b/luci-app-omr-bypass/po/de/omr-bypass.po~ @@ -0,0 +1,165 @@ +msgid "" +msgstr "" +"PO-Revision-Date: 2020-10-05 12:39+0000\n" +"Last-Translator: Weblate Admin \n" +"Language-Team: German \n" +"Language: de\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Generator: Weblate 4.0.4\n" + +#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:166 +#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:174 +msgid "ASN" +msgstr "ASN" + +#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:34 +msgid "Domain" +msgstr "Domain" + +#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:26 +msgid "Domains" +msgstr "Domains" + +#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:31 +#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:50 +#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:69 +#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:95 +#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:121 +#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:145 +#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:171 +#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:190 +msgid "Enabled" +msgstr "" + +#: luci-app-omr-bypass/root/usr/share/rpcd/acl.d/luci-app-omr-bypass.json:3 +msgid "Grant access to ndpi resources" +msgstr "" + +#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:53 +msgid "IP" +msgstr "IP" + +#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:148 +msgid "IP Address" +msgstr "IP Adresse" + +#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:45 +msgid "IPs and Networks" +msgstr "IPs und Netzwerke" + +#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:37 +#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:56 +#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:82 +#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:108 +#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:132 +#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:158 +#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:177 +#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:221 +msgid "Interface" +msgstr "Schnittstelle" + +#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:116 +#, fuzzy +#| msgid "Source MAC-Address" +msgid "MAC-Address" +msgstr "Quell-MAC-Adresse" + +#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:42 +#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:61 +#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:87 +#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:113 +#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:137 +#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:163 +#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:182 +#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:226 +msgid "Note" +msgstr "Bemerkung" + +#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:24 +#: luci-app-omr-bypass/root/usr/share/luci/menu.d/luci-app-omr-bypass.json:3 +msgid "OMR-Bypass" +msgstr "OMR-Ausnahmeregel" + +#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:24 +msgid "OpenMPTCProuter IP must be used as DNS." +msgstr "" + +#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:64 +msgid "Ports destination" +msgstr "Ziel-Port" + +#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:90 +msgid "Ports source" +msgstr "" + +#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:193 +msgid "Protocol/Service" +msgstr "Protokoll/Dienst" + +#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:185 +msgid "Protocols and services" +msgstr "Protokolle und Dienste" + +#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:140 +msgid "Source lan IP address or network" +msgstr "LAN-IP oder CIDR-Netzwerk der Quelleadresse" + +#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:221 +msgid "" +"When none selected, MPTCP master interface is used (or an other interface if " +"master is down)." +msgstr "" + +#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:37 +#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:56 +#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:82 +#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:108 +#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:132 +#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:158 +#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:177 +msgid "When none selected, MPTCP master interface is used." +msgstr "" + +#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:72 +#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:98 +msgid "port" +msgstr "Port" + +#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:75 +#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:101 +#, fuzzy +#| msgid "Protocol" +msgid "protocol" +msgstr "Protokoll" + +#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:124 +#, fuzzy +#| msgid "Source MAC-Address" +msgid "source MAC-Address" +msgstr "Quell-MAC-Adresse" + +#~ msgid "MAC-Address" +#~ msgstr "MAC-Addresse" + +#~ msgid "ASN" +#~ msgstr "ASN" + +#~ msgid "ALL" +#~ msgstr "ALLE" + +#~ msgid "Bypass" +#~ msgstr "Ausnahmeregel" + +#~ msgid "Default" +#~ msgstr "Voreinstellung" + +#~ msgid "" +#~ "Here you can bypass ShadowSocks and VPN. If you set Interface to Default " +#~ "this use any working interface." +#~ msgstr "" +#~ "Her können Ausnahmen für ShadowSocks und VPN eingetragen werden. Wird als " +#~ "Schnittstelle 'Voreinstellung' gewählt, wird eine beliebige gerade " +#~ "funktionsfähige gewählt (Load Balancing)." diff --git a/luci-app-omr-bypass/po/fr/omr-bypass.po b/luci-app-omr-bypass/po/fr/omr-bypass.po index 75bd498f0..0e9543bdf 100644 --- a/luci-app-omr-bypass/po/fr/omr-bypass.po +++ b/luci-app-omr-bypass/po/fr/omr-bypass.po @@ -2,126 +2,169 @@ msgid "" msgstr "" "Project-Id-Version: \n" "POT-Creation-Date: \n" -"PO-Revision-Date: \n" -"Last-Translator: Ycarus \n" -"Language-Team: \n" +"PO-Revision-Date: 2022-02-19 07:53+0000\n" +"Last-Translator: Weblate Admin \n" +"Language-Team: French \n" "Language: fr\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Generator: Poedit 2.2.3\n" -"Plural-Forms: nplurals=2; plural=(n > 1);\n" +"Plural-Forms: nplurals=2; plural=n > 1;\n" +"X-Generator: Weblate 4.6.1\n" -#: luci-app-omr-bypass/luasrc/model/cbi/omr-bypass.lua:64 -msgid "MAC-Address" -msgstr "Adresse MAC" - -#: luci-app-omr-bypass/luasrc/model/cbi/omr-bypass.lua:100 -msgid "ASN" -msgstr "" - -#: luci-app-omr-bypass/luasrc/model/cbi/omr-bypass.lua:52 -msgid "ALL" -msgstr "TOUT" - -#: luci-app-omr-bypass/luasrc/model/cbi/omr-bypass.lua:105 +#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:166 +#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:174 msgid "ASN" -msgstr "" +msgstr "ASN" -#: luci-app-omr-bypass/luasrc/model/cbi/omr-bypass.lua:9 -msgid "Bypass" -msgstr "Contourne" - -#: luci-app-omr-bypass/luasrc/model/cbi/omr-bypass.lua:150 -#: luci-app-omr-bypass/luasrc/model/cbi/omr-bypass.lua:151 -#: luci-app-omr-bypass/luasrc/model/cbi/omr-bypass.lua:152 -#: luci-app-omr-bypass/luasrc/model/cbi/omr-bypass.lua:153 -#: luci-app-omr-bypass/luasrc/model/cbi/omr-bypass.lua:154 -#: luci-app-omr-bypass/luasrc/model/cbi/omr-bypass.lua:155 -#: luci-app-omr-bypass/luasrc/model/cbi/omr-bypass.lua:156 -msgid "Default" -msgstr "Défaut" - -#: luci-app-omr-bypass/luasrc/model/cbi/omr-bypass.lua:16 +#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:34 msgid "Domain" msgstr "Domaine" -#: luci-app-omr-bypass/luasrc/model/cbi/omr-bypass.lua:11 +#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:26 msgid "Domains" msgstr "Domaines" -#: luci-app-omr-bypass/luasrc/model/cbi/omr-bypass.lua:9 -msgid "" -"Here you can bypass ShadowSocks and VPN. If you set Interface to Default " -"this use any working interface." -msgstr "" -"Ici vous pouvez contouner Shadowsocks et le VPN. Si vous mettez l'interface " -"à défaut, ça utilisera n'importe qu'elle interface fonctionnant." +#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:31 +#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:50 +#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:69 +#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:95 +#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:121 +#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:145 +#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:171 +#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:190 +msgid "Enabled" +msgstr "Activer" -#: luci-app-omr-bypass/luasrc/model/cbi/omr-bypass.lua:31 +#: luci-app-omr-bypass/root/usr/share/rpcd/acl.d/luci-app-omr-bypass.json:3 +msgid "Grant access to ndpi resources" +msgstr "Accorder l'accès aux ressources ndpi" + +#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:53 msgid "IP" -msgstr "" +msgstr "IP" -#: luci-app-omr-bypass/luasrc/model/cbi/omr-bypass.lua:90 +#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:148 msgid "IP Address" msgstr "Adresse IP" -#: luci-app-omr-bypass/luasrc/model/cbi/omr-bypass.lua:26 +#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:45 msgid "IPs and Networks" msgstr "IPs et réseaux" -#: luci-app-omr-bypass/luasrc/model/cbi/omr-bypass.lua:21 -#: luci-app-omr-bypass/luasrc/model/cbi/omr-bypass.lua:36 -#: luci-app-omr-bypass/luasrc/model/cbi/omr-bypass.lua:59 -#: luci-app-omr-bypass/luasrc/model/cbi/omr-bypass.lua:80 -#: luci-app-omr-bypass/luasrc/model/cbi/omr-bypass.lua:95 -#: luci-app-omr-bypass/luasrc/model/cbi/omr-bypass.lua:109 -#: luci-app-omr-bypass/luasrc/model/cbi/omr-bypass.lua:137 +#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:37 +#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:56 +#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:82 +#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:108 +#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:132 +#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:158 +#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:177 +#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:221 msgid "Interface" -msgstr "" +msgstr "Interface" -#: luci-app-omr-bypass/luasrc/model/cbi/omr-bypass.lua:24 -#: luci-app-omr-bypass/luasrc/model/cbi/omr-bypass.lua:39 -#: luci-app-omr-bypass/luasrc/model/cbi/omr-bypass.lua:62 -#: luci-app-omr-bypass/luasrc/model/cbi/omr-bypass.lua:83 -#: luci-app-omr-bypass/luasrc/model/cbi/omr-bypass.lua:98 -#: luci-app-omr-bypass/luasrc/model/cbi/omr-bypass.lua:112 -#: luci-app-omr-bypass/luasrc/model/cbi/omr-bypass.lua:140 +#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:116 +msgid "MAC-Address" +msgstr "Adresse MAC" + +#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:42 +#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:61 +#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:87 +#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:113 +#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:137 +#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:163 +#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:182 +#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:226 msgid "Note" msgstr "Note" -#: luci-app-omr-bypass/luasrc/controller/omr-bypass.lua:6 +#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:24 +#: luci-app-omr-bypass/root/usr/share/luci/menu.d/luci-app-omr-bypass.json:3 msgid "OMR-Bypass" -msgstr "" +msgstr "OMR-Bypass" -#: luci-app-omr-bypass/luasrc/model/cbi/omr-bypass.lua:42 +#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:24 +msgid "OpenMPTCProuter IP must be used as DNS." +msgstr "L'IP d'OpenMPTCProuter doit être utilisée comme DNS." + +#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:64 msgid "Ports destination" msgstr "Ports de destination" -#: luci-app-omr-bypass/luasrc/model/cbi/omr-bypass.lua:51 -msgid "Protocol" -msgstr "Protocole" +#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:90 +msgid "Ports source" +msgstr "Ports source" -#: luci-app-omr-bypass/luasrc/model/cbi/omr-bypass.lua:119 +#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:193 msgid "Protocol/Service" msgstr "Protocole/Service" -#: luci-app-omr-bypass/luasrc/model/cbi/omr-bypass.lua:114 +#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:185 msgid "Protocols and services" msgstr "Protocoles et services" -#: luci-app-omr-bypass/luasrc/model/cbi/omr-bypass.lua:69 -msgid "Source MAC-Address" -msgstr "Adresse MAC source" - -#: luci-app-omr-bypass/luasrc/model/cbi/omr-bypass.lua:85 +#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:140 msgid "Source lan IP address or network" msgstr "Adresse IP source ou réseau" -#: luci-app-omr-bypass/luasrc/model/cbi/omr-bypass.lua:47 +#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:221 +msgid "" +"When none selected, MPTCP master interface is used (or an other interface if " +"master is down)." +msgstr "" +"Lorsqu'aucune interface est sélectionnée, l'interface maître MPTCP est " +"utilisée (ou une autre interface si le maître est arrêté)." + +#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:37 +#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:56 +#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:82 +#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:108 +#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:132 +#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:158 +#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:177 +msgid "When none selected, MPTCP master interface is used." +msgstr "" +"Lorsqu'aucune interface est sélectionnée, l'interface maître MPTCP est " +"utilisée." + +#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:72 +#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:98 msgid "port" msgstr "port" +#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:75 +#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:101 +msgid "protocol" +msgstr "protocole" + +#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:124 +msgid "source MAC-Address" +msgstr "Adresse MAC source" + +#~ msgid "MAC-Address" +#~ msgstr "Adresse MAC" + +#~ msgid "ASN" +#~ msgstr "ASN" + +#~ msgid "ALL" +#~ msgstr "TOUT" + +#~ msgid "Bypass" +#~ msgstr "Contourne" + +#~ msgid "Default" +#~ msgstr "Défaut" + +#~ msgid "" +#~ "Here you can bypass ShadowSocks and VPN. If you set Interface to Default " +#~ "this use any working interface." +#~ msgstr "" +#~ "Ici vous pouvez contouner Shadowsocks et le VPN. Si vous mettez " +#~ "l'interface à défaut, ça utilisera n'importe qu'elle interface " +#~ "fonctionnant." + #~ msgid "Add" #~ msgstr "Ajouter" @@ -134,9 +177,6 @@ msgstr "port" #~ msgid "Domains, ips or networks" #~ msgstr "Domaines, IPs et réseaux" -#~ msgid "MAC-Address" -#~ msgstr "Adresse MAC" - #~ msgid "Output interface" #~ msgstr "Interface de sortie" diff --git a/luci-app-omr-bypass/po/it/omr-bypass.po b/luci-app-omr-bypass/po/it/omr-bypass.po new file mode 100644 index 000000000..203394eec --- /dev/null +++ b/luci-app-omr-bypass/po/it/omr-bypass.po @@ -0,0 +1,141 @@ +msgid "" +msgstr "" +"PO-Revision-Date: 2022-02-21 21:14+0000\n" +"Last-Translator: Deleted User \n" +"Language-Team: Italian \n" +"Language: it\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Generator: Weblate 4.10.1\n" + +#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:166 +#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:174 +msgid "ASN" +msgstr "ASN" + +#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:34 +msgid "Domain" +msgstr "Dominio" + +#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:26 +msgid "Domains" +msgstr "Domini" + +#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:31 +#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:50 +#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:69 +#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:95 +#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:121 +#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:145 +#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:171 +#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:190 +msgid "Enabled" +msgstr "Abilitato" + +#: luci-app-omr-bypass/root/usr/share/rpcd/acl.d/luci-app-omr-bypass.json:3 +msgid "Grant access to ndpi resources" +msgstr "Concedi l'accesso alle risorse ndpi" + +#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:53 +msgid "IP" +msgstr "IP" + +#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:148 +msgid "IP Address" +msgstr "Indirizzo IP" + +#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:45 +msgid "IPs and Networks" +msgstr "IP e reti" + +#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:37 +#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:56 +#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:82 +#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:108 +#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:132 +#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:158 +#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:177 +#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:221 +msgid "Interface" +msgstr "Interfaccia" + +#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:116 +msgid "MAC-Address" +msgstr "Indirizzo MAC" + +#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:42 +#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:61 +#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:87 +#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:113 +#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:137 +#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:163 +#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:182 +#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:226 +msgid "Note" +msgstr "Nota" + +#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:24 +#: luci-app-omr-bypass/root/usr/share/luci/menu.d/luci-app-omr-bypass.json:3 +msgid "OMR-Bypass" +msgstr "OMR-Bypass" + +#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:24 +msgid "OpenMPTCProuter IP must be used as DNS." +msgstr "L'IP di OpenMPTCProuter deve essere utilizzato come DNS." + +#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:64 +msgid "Ports destination" +msgstr "Destinazione dei porti" + +#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:90 +msgid "Ports source" +msgstr "Origine delle porte" + +#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:193 +msgid "Protocol/Service" +msgstr "Protocollo / servizio" + +#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:185 +msgid "Protocols and services" +msgstr "Protocolli e servizi" + +#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:140 +msgid "Source lan IP address or network" +msgstr "Indirizzo IP lan di origine o rete" + +#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:221 +#, fuzzy +msgid "" +"When none selected, MPTCP master interface is used (or an other interface if " +"master is down)." +msgstr "" +"Quando non è selezionato nessuno, viene utilizzata l'interfaccia master " +"MPTCP." + +#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:37 +#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:56 +#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:82 +#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:108 +#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:132 +#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:158 +#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:177 +msgid "When none selected, MPTCP master interface is used." +msgstr "" +"Quando non è selezionato nessuno, viene utilizzata l'interfaccia master " +"MPTCP." + +#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:72 +#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:98 +msgid "port" +msgstr "Porta" + +#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:75 +#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:101 +msgid "protocol" +msgstr "Protocollo" + +#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:124 +msgid "source MAC-Address" +msgstr "indirizzo MAC di origine" diff --git a/luci-app-omr-bypass/po/it/omr-bypass.po~ b/luci-app-omr-bypass/po/it/omr-bypass.po~ new file mode 100644 index 000000000..c7e10446a --- /dev/null +++ b/luci-app-omr-bypass/po/it/omr-bypass.po~ @@ -0,0 +1,142 @@ +msgid "" +msgstr "" +"PO-Revision-Date: 2020-10-02 08:44+0000\n" +"Last-Translator: Weblate Admin \n" +"Language-Team: Italian \n" +"Language: it\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Generator: Weblate 4.0.4\n" + +#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:166 +#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:174 +msgid "ASN" +msgstr "ASN" + +#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:34 +msgid "Domain" +msgstr "Dominio" + +#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:26 +msgid "Domains" +msgstr "Domini" + +#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:31 +#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:50 +#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:69 +#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:95 +#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:121 +#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:145 +#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:171 +#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:190 +msgid "Enabled" +msgstr "" + +#: luci-app-omr-bypass/root/usr/share/rpcd/acl.d/luci-app-omr-bypass.json:3 +msgid "Grant access to ndpi resources" +msgstr "Concedi l'accesso alle risorse ndpi" + +#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:53 +msgid "IP" +msgstr "IP" + +#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:148 +msgid "IP Address" +msgstr "Indirizzo IP" + +#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:45 +msgid "IPs and Networks" +msgstr "IP e reti" + +#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:37 +#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:56 +#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:82 +#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:108 +#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:132 +#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:158 +#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:177 +#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:221 +msgid "Interface" +msgstr "Interfaccia" + +#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:116 +msgid "MAC-Address" +msgstr "Indirizzo MAC" + +#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:42 +#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:61 +#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:87 +#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:113 +#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:137 +#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:163 +#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:182 +#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:226 +msgid "Note" +msgstr "Nota" + +#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:24 +#: luci-app-omr-bypass/root/usr/share/luci/menu.d/luci-app-omr-bypass.json:3 +msgid "OMR-Bypass" +msgstr "OMR-Bypass" + +#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:24 +msgid "OpenMPTCProuter IP must be used as DNS." +msgstr "L'IP di OpenMPTCProuter deve essere utilizzato come DNS." + +#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:64 +msgid "Ports destination" +msgstr "Destinazione dei porti" + +#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:90 +msgid "Ports source" +msgstr "Origine delle porte" + +#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:193 +msgid "Protocol/Service" +msgstr "Protocollo / servizio" + +#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:185 +msgid "Protocols and services" +msgstr "Protocolli e servizi" + +#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:140 +msgid "Source lan IP address or network" +msgstr "Indirizzo IP lan di origine o rete" + +#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:221 +#, fuzzy +#| msgid "When none selected, MPTCP master interface is used." +msgid "" +"When none selected, MPTCP master interface is used (or an other interface if " +"master is down)." +msgstr "" +"Quando non è selezionato nessuno, viene utilizzata l'interfaccia master " +"MPTCP." + +#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:37 +#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:56 +#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:82 +#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:108 +#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:132 +#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:158 +#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:177 +msgid "When none selected, MPTCP master interface is used." +msgstr "" +"Quando non è selezionato nessuno, viene utilizzata l'interfaccia master " +"MPTCP." + +#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:72 +#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:98 +msgid "port" +msgstr "Porta" + +#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:75 +#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:101 +msgid "protocol" +msgstr "Protocollo" + +#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:124 +msgid "source MAC-Address" +msgstr "indirizzo MAC di origine" diff --git a/luci-app-omr-bypass/po/oc/omr-bypass.po b/luci-app-omr-bypass/po/oc/omr-bypass.po new file mode 100644 index 000000000..d2583d441 --- /dev/null +++ b/luci-app-omr-bypass/po/oc/omr-bypass.po @@ -0,0 +1,137 @@ +msgid "" +msgstr "" +"PO-Revision-Date: 2020-08-18 18:16+0000\n" +"Last-Translator: Quentin PAGÈS \n" +"Language-Team: Occitan \n" +"Language: oc\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=n > 1;\n" +"X-Generator: Weblate 4.0.4\n" + +#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:166 +#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:174 +msgid "ASN" +msgstr "ASN" + +#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:34 +msgid "Domain" +msgstr "Domeni" + +#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:26 +msgid "Domains" +msgstr "Domenis" + +#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:31 +#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:50 +#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:69 +#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:95 +#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:121 +#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:145 +#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:171 +#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:190 +msgid "Enabled" +msgstr "" + +#: luci-app-omr-bypass/root/usr/share/rpcd/acl.d/luci-app-omr-bypass.json:3 +msgid "Grant access to ndpi resources" +msgstr "Acordar l'accès a las ressorsas ndpi" + +#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:53 +msgid "IP" +msgstr "IP" + +#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:148 +msgid "IP Address" +msgstr "Adreça IP" + +#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:45 +msgid "IPs and Networks" +msgstr "IPs e rets" + +#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:37 +#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:56 +#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:82 +#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:108 +#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:132 +#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:158 +#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:177 +#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:221 +msgid "Interface" +msgstr "Interfàcia" + +#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:116 +msgid "MAC-Address" +msgstr "Adreça MAC" + +#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:42 +#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:61 +#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:87 +#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:113 +#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:137 +#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:163 +#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:182 +#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:226 +msgid "Note" +msgstr "Nòta" + +#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:24 +#: luci-app-omr-bypass/root/usr/share/luci/menu.d/luci-app-omr-bypass.json:3 +msgid "OMR-Bypass" +msgstr "OMR-Bypass" + +#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:24 +msgid "OpenMPTCProuter IP must be used as DNS." +msgstr "L'IP d'OpznMPTCProuter deu èsser coma lo DNS." + +#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:64 +msgid "Ports destination" +msgstr "Pòrts de destinacion" + +#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:90 +msgid "Ports source" +msgstr "Pòrts fonts" + +#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:193 +msgid "Protocol/Service" +msgstr "Protocòl/Servici" + +#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:185 +msgid "Protocols and services" +msgstr "Protocòls e servicis" + +#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:140 +msgid "Source lan IP address or network" +msgstr "Adreça IP font o rer" + +#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:221 +#, fuzzy +msgid "" +"When none selected, MPTCP master interface is used (or an other interface if " +"master is down)." +msgstr "Quand res es pas seleccionat, l'interfàcia MPTCP màger es utilizada." + +#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:37 +#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:56 +#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:82 +#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:108 +#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:132 +#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:158 +#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:177 +msgid "When none selected, MPTCP master interface is used." +msgstr "Quand res es pas seleccionat, l'interfàcia MPTCP màger es utilizada." + +#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:72 +#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:98 +msgid "port" +msgstr "pòrt" + +#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:75 +#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:101 +msgid "protocol" +msgstr "protocòl" + +#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:124 +msgid "source MAC-Address" +msgstr "Adreça MAC font" diff --git a/luci-app-omr-bypass/po/oc/omr-bypass.po~ b/luci-app-omr-bypass/po/oc/omr-bypass.po~ new file mode 100644 index 000000000..27f06969c --- /dev/null +++ b/luci-app-omr-bypass/po/oc/omr-bypass.po~ @@ -0,0 +1,138 @@ +msgid "" +msgstr "" +"PO-Revision-Date: 2020-08-18 18:16+0000\n" +"Last-Translator: Quentin PAGÈS \n" +"Language-Team: Occitan \n" +"Language: oc\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=n > 1;\n" +"X-Generator: Weblate 4.0.4\n" + +#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:166 +#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:174 +msgid "ASN" +msgstr "ASN" + +#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:34 +msgid "Domain" +msgstr "Domeni" + +#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:26 +msgid "Domains" +msgstr "Domenis" + +#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:31 +#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:50 +#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:69 +#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:95 +#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:121 +#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:145 +#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:171 +#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:190 +msgid "Enabled" +msgstr "" + +#: luci-app-omr-bypass/root/usr/share/rpcd/acl.d/luci-app-omr-bypass.json:3 +msgid "Grant access to ndpi resources" +msgstr "Acordar l'accès a las ressorsas ndpi" + +#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:53 +msgid "IP" +msgstr "IP" + +#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:148 +msgid "IP Address" +msgstr "Adreça IP" + +#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:45 +msgid "IPs and Networks" +msgstr "IPs e rets" + +#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:37 +#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:56 +#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:82 +#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:108 +#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:132 +#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:158 +#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:177 +#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:221 +msgid "Interface" +msgstr "Interfàcia" + +#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:116 +msgid "MAC-Address" +msgstr "Adreça MAC" + +#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:42 +#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:61 +#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:87 +#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:113 +#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:137 +#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:163 +#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:182 +#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:226 +msgid "Note" +msgstr "Nòta" + +#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:24 +#: luci-app-omr-bypass/root/usr/share/luci/menu.d/luci-app-omr-bypass.json:3 +msgid "OMR-Bypass" +msgstr "OMR-Bypass" + +#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:24 +msgid "OpenMPTCProuter IP must be used as DNS." +msgstr "L'IP d'OpznMPTCProuter deu èsser coma lo DNS." + +#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:64 +msgid "Ports destination" +msgstr "Pòrts de destinacion" + +#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:90 +msgid "Ports source" +msgstr "Pòrts fonts" + +#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:193 +msgid "Protocol/Service" +msgstr "Protocòl/Servici" + +#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:185 +msgid "Protocols and services" +msgstr "Protocòls e servicis" + +#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:140 +msgid "Source lan IP address or network" +msgstr "Adreça IP font o rer" + +#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:221 +#, fuzzy +#| msgid "When none selected, MPTCP master interface is used." +msgid "" +"When none selected, MPTCP master interface is used (or an other interface if " +"master is down)." +msgstr "Quand res es pas seleccionat, l'interfàcia MPTCP màger es utilizada." + +#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:37 +#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:56 +#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:82 +#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:108 +#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:132 +#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:158 +#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:177 +msgid "When none selected, MPTCP master interface is used." +msgstr "Quand res es pas seleccionat, l'interfàcia MPTCP màger es utilizada." + +#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:72 +#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:98 +msgid "port" +msgstr "pòrt" + +#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:75 +#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:101 +msgid "protocol" +msgstr "protocòl" + +#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:124 +msgid "source MAC-Address" +msgstr "Adreça MAC font" diff --git a/luci-app-omr-bypass/po/ru/omr-bypass.po b/luci-app-omr-bypass/po/ru/omr-bypass.po new file mode 100644 index 000000000..7b6f43c6f --- /dev/null +++ b/luci-app-omr-bypass/po/ru/omr-bypass.po @@ -0,0 +1,139 @@ +msgid "" +msgstr "" +"PO-Revision-Date: 2021-06-16 10:51+0000\n" +"Last-Translator: Dmitry Galenko \n" +"Language-Team: Russian \n" +"Language: ru\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n" +"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" +"X-Generator: Weblate 4.6.1\n" + +#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:166 +#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:174 +msgid "ASN" +msgstr "ASN" + +#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:34 +msgid "Domain" +msgstr "Домен" + +#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:26 +msgid "Domains" +msgstr "Домены" + +#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:31 +#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:50 +#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:69 +#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:95 +#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:121 +#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:145 +#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:171 +#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:190 +msgid "Enabled" +msgstr "Установлено" + +#: luci-app-omr-bypass/root/usr/share/rpcd/acl.d/luci-app-omr-bypass.json:3 +msgid "Grant access to ndpi resources" +msgstr "Полный доступ к ресурсам ndpi" + +#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:53 +msgid "IP" +msgstr "IP" + +#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:148 +msgid "IP Address" +msgstr "IP-адрес" + +#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:45 +msgid "IPs and Networks" +msgstr "IP-адреса и сети" + +#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:37 +#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:56 +#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:82 +#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:108 +#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:132 +#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:158 +#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:177 +#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:221 +msgid "Interface" +msgstr "Интерфейс" + +#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:116 +msgid "MAC-Address" +msgstr "MAC-адрес" + +#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:42 +#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:61 +#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:87 +#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:113 +#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:137 +#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:163 +#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:182 +#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:226 +msgid "Note" +msgstr "Примечание" + +#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:24 +#: luci-app-omr-bypass/root/usr/share/luci/menu.d/luci-app-omr-bypass.json:3 +msgid "OMR-Bypass" +msgstr "OMR байпас" + +#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:24 +msgid "OpenMPTCProuter IP must be used as DNS." +msgstr "IP OpenMPTCProuter должен использоваться в качестве DNS." + +#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:64 +msgid "Ports destination" +msgstr "Порты назначения" + +#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:90 +msgid "Ports source" +msgstr "Порты источника" + +#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:193 +msgid "Protocol/Service" +msgstr "Протокол / Сервис" + +#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:185 +msgid "Protocols and services" +msgstr "Протоколы и сервисы" + +#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:140 +msgid "Source lan IP address or network" +msgstr "Исходный IP-адрес LAN или сеть" + +#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:221 +msgid "" +"When none selected, MPTCP master interface is used (or an other interface if " +"master is down)." +msgstr "" +"Если ничего не выбрано, используется главный интерфейс MPTCP (или другой " +"интерфейс, если мастер не работает)." + +#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:37 +#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:56 +#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:82 +#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:108 +#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:132 +#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:158 +#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:177 +msgid "When none selected, MPTCP master interface is used." +msgstr "Если ничего не выбрано, используется главный интерфейс MPTCP." + +#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:72 +#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:98 +msgid "port" +msgstr "Порт" + +#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:75 +#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:101 +msgid "protocol" +msgstr "протокол" + +#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:124 +msgid "source MAC-Address" +msgstr "MAC-адрес источника" diff --git a/luci-app-omr-bypass/po/templates/omr-bypass.pot b/luci-app-omr-bypass/po/templates/omr-bypass.pot index c4126fb6f..be4fd1dec 100644 --- a/luci-app-omr-bypass/po/templates/omr-bypass.pot +++ b/luci-app-omr-bypass/po/templates/omr-bypass.pot @@ -1,110 +1,127 @@ msgid "" msgstr "Content-Type: text/plain; charset=UTF-8" -#: luci-app-omr-bypass/luasrc/model/cbi/omr-bypass.lua:64 -msgid "MAC-Address" -msgstr "" - -#: luci-app-omr-bypass/luasrc/model/cbi/omr-bypass.lua:100 -msgid "ASN" -msgstr "" - -#: luci-app-omr-bypass/luasrc/model/cbi/omr-bypass.lua:52 -msgid "ALL" -msgstr "" - -#: luci-app-omr-bypass/luasrc/model/cbi/omr-bypass.lua:105 +#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:166 +#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:174 msgid "ASN" msgstr "" -#: luci-app-omr-bypass/luasrc/model/cbi/omr-bypass.lua:9 -msgid "Bypass" -msgstr "" - -#: luci-app-omr-bypass/luasrc/model/cbi/omr-bypass.lua:150 -#: luci-app-omr-bypass/luasrc/model/cbi/omr-bypass.lua:151 -#: luci-app-omr-bypass/luasrc/model/cbi/omr-bypass.lua:152 -#: luci-app-omr-bypass/luasrc/model/cbi/omr-bypass.lua:153 -#: luci-app-omr-bypass/luasrc/model/cbi/omr-bypass.lua:154 -#: luci-app-omr-bypass/luasrc/model/cbi/omr-bypass.lua:155 -#: luci-app-omr-bypass/luasrc/model/cbi/omr-bypass.lua:156 -msgid "Default" -msgstr "" - -#: luci-app-omr-bypass/luasrc/model/cbi/omr-bypass.lua:16 +#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:34 msgid "Domain" msgstr "" -#: luci-app-omr-bypass/luasrc/model/cbi/omr-bypass.lua:11 +#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:26 msgid "Domains" msgstr "" -#: luci-app-omr-bypass/luasrc/model/cbi/omr-bypass.lua:9 -msgid "" -"Here you can bypass ShadowSocks and VPN. If you set Interface to Default " -"this use any working interface." +#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:31 +#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:50 +#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:69 +#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:95 +#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:121 +#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:145 +#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:171 +#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:190 +msgid "Enabled" msgstr "" -#: luci-app-omr-bypass/luasrc/model/cbi/omr-bypass.lua:31 +#: luci-app-omr-bypass/root/usr/share/rpcd/acl.d/luci-app-omr-bypass.json:3 +msgid "Grant access to ndpi resources" +msgstr "" + +#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:53 msgid "IP" msgstr "" -#: luci-app-omr-bypass/luasrc/model/cbi/omr-bypass.lua:90 +#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:148 msgid "IP Address" msgstr "" -#: luci-app-omr-bypass/luasrc/model/cbi/omr-bypass.lua:26 +#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:45 msgid "IPs and Networks" msgstr "" -#: luci-app-omr-bypass/luasrc/model/cbi/omr-bypass.lua:21 -#: luci-app-omr-bypass/luasrc/model/cbi/omr-bypass.lua:36 -#: luci-app-omr-bypass/luasrc/model/cbi/omr-bypass.lua:59 -#: luci-app-omr-bypass/luasrc/model/cbi/omr-bypass.lua:80 -#: luci-app-omr-bypass/luasrc/model/cbi/omr-bypass.lua:95 -#: luci-app-omr-bypass/luasrc/model/cbi/omr-bypass.lua:109 -#: luci-app-omr-bypass/luasrc/model/cbi/omr-bypass.lua:137 +#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:37 +#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:56 +#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:82 +#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:108 +#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:132 +#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:158 +#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:177 +#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:221 msgid "Interface" msgstr "" -#: luci-app-omr-bypass/luasrc/model/cbi/omr-bypass.lua:24 -#: luci-app-omr-bypass/luasrc/model/cbi/omr-bypass.lua:39 -#: luci-app-omr-bypass/luasrc/model/cbi/omr-bypass.lua:62 -#: luci-app-omr-bypass/luasrc/model/cbi/omr-bypass.lua:83 -#: luci-app-omr-bypass/luasrc/model/cbi/omr-bypass.lua:98 -#: luci-app-omr-bypass/luasrc/model/cbi/omr-bypass.lua:112 -#: luci-app-omr-bypass/luasrc/model/cbi/omr-bypass.lua:140 +#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:116 +msgid "MAC-Address" +msgstr "" + +#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:42 +#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:61 +#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:87 +#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:113 +#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:137 +#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:163 +#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:182 +#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:226 msgid "Note" msgstr "" -#: luci-app-omr-bypass/luasrc/controller/omr-bypass.lua:6 +#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:24 +#: luci-app-omr-bypass/root/usr/share/luci/menu.d/luci-app-omr-bypass.json:3 msgid "OMR-Bypass" msgstr "" -#: luci-app-omr-bypass/luasrc/model/cbi/omr-bypass.lua:42 +#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:24 +msgid "OpenMPTCProuter IP must be used as DNS." +msgstr "" + +#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:64 msgid "Ports destination" msgstr "" -#: luci-app-omr-bypass/luasrc/model/cbi/omr-bypass.lua:51 -msgid "Protocol" +#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:90 +msgid "Ports source" msgstr "" -#: luci-app-omr-bypass/luasrc/model/cbi/omr-bypass.lua:119 +#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:193 msgid "Protocol/Service" msgstr "" -#: luci-app-omr-bypass/luasrc/model/cbi/omr-bypass.lua:114 +#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:185 msgid "Protocols and services" msgstr "" -#: luci-app-omr-bypass/luasrc/model/cbi/omr-bypass.lua:69 -msgid "Source MAC-Address" -msgstr "" - -#: luci-app-omr-bypass/luasrc/model/cbi/omr-bypass.lua:85 +#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:140 msgid "Source lan IP address or network" msgstr "" -#: luci-app-omr-bypass/luasrc/model/cbi/omr-bypass.lua:47 +#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:221 +msgid "" +"When none selected, MPTCP master interface is used (or an other interface if " +"master is down)." +msgstr "" + +#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:37 +#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:56 +#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:82 +#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:108 +#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:132 +#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:158 +#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:177 +msgid "When none selected, MPTCP master interface is used." +msgstr "" + +#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:72 +#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:98 msgid "port" msgstr "" + +#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:75 +#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:101 +msgid "protocol" +msgstr "" + +#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:124 +msgid "source MAC-Address" +msgstr "" diff --git a/luci-app-omr-bypass/po/zh_Hans/omr-bypass.po b/luci-app-omr-bypass/po/zh_Hans/omr-bypass.po new file mode 100644 index 000000000..66a55bb21 --- /dev/null +++ b/luci-app-omr-bypass/po/zh_Hans/omr-bypass.po @@ -0,0 +1,136 @@ +msgid "" +msgstr "" +"PO-Revision-Date: 2021-05-05 11:40+0000\n" +"Last-Translator: niergouge <1150108426@qq.com>\n" +"Language-Team: Chinese (Simplified) \n" +"Language: zh_Hans\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=1; plural=0;\n" +"X-Generator: Weblate 4.6.1\n" + +#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:166 +#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:174 +msgid "ASN" +msgstr "ASN" + +#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:34 +msgid "Domain" +msgstr "域" + +#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:26 +msgid "Domains" +msgstr "域名" + +#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:31 +#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:50 +#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:69 +#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:95 +#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:121 +#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:145 +#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:171 +#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:190 +msgid "Enabled" +msgstr "启用" + +#: luci-app-omr-bypass/root/usr/share/rpcd/acl.d/luci-app-omr-bypass.json:3 +msgid "Grant access to ndpi resources" +msgstr "授予对ndpi资源的访问权限" + +#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:53 +msgid "IP" +msgstr "IP" + +#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:148 +msgid "IP Address" +msgstr "IP地址" + +#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:45 +msgid "IPs and Networks" +msgstr "IP和网络" + +#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:37 +#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:56 +#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:82 +#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:108 +#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:132 +#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:158 +#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:177 +#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:221 +msgid "Interface" +msgstr "接口" + +#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:116 +msgid "MAC-Address" +msgstr "MAC地址" + +#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:42 +#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:61 +#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:87 +#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:113 +#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:137 +#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:163 +#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:182 +#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:226 +msgid "Note" +msgstr "请注意" + +#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:24 +#: luci-app-omr-bypass/root/usr/share/luci/menu.d/luci-app-omr-bypass.json:3 +msgid "OMR-Bypass" +msgstr "绕过聚合路由" + +#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:24 +msgid "OpenMPTCProuter IP must be used as DNS." +msgstr "OpenMPTCProuter IP必须作为DNS。" + +#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:64 +msgid "Ports destination" +msgstr "目的端口" + +#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:90 +msgid "Ports source" +msgstr "源端口" + +#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:193 +msgid "Protocol/Service" +msgstr "协议/服务" + +#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:185 +msgid "Protocols and services" +msgstr "协议和服务" + +#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:140 +msgid "Source lan IP address or network" +msgstr "源局域网IP地址或网络" + +#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:221 +msgid "" +"When none selected, MPTCP master interface is used (or an other interface if " +"master is down)." +msgstr "当未选中时,使用MPTCP主接口(如果主接口下线,则使用其他接口)。" + +#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:37 +#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:56 +#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:82 +#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:108 +#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:132 +#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:158 +#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:177 +msgid "When none selected, MPTCP master interface is used." +msgstr "当不选中时,使用MPTCP主接口。" + +#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:72 +#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:98 +msgid "port" +msgstr "端口" + +#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:75 +#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:101 +msgid "protocol" +msgstr "协议" + +#: luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js:124 +msgid "source MAC-Address" +msgstr "源MAC地址" diff --git a/luci-app-omr-bypass/root/etc/firewall.omr-bypass b/luci-app-omr-bypass/root/etc/firewall.omr-bypass deleted file mode 100644 index fe65adb2f..000000000 --- a/luci-app-omr-bypass/root/etc/firewall.omr-bypass +++ /dev/null @@ -1,2 +0,0 @@ -#!/bin/sh -/etc/init.d/omr-bypass reload_rules diff --git a/luci-app-omr-bypass/root/etc/init.d/omr-bypass b/luci-app-omr-bypass/root/etc/init.d/omr-bypass deleted file mode 100755 index bd99749b4..000000000 --- a/luci-app-omr-bypass/root/etc/init.d/omr-bypass +++ /dev/null @@ -1,509 +0,0 @@ -#!/bin/sh /etc/rc.common -# Copyright (C) 2018 Ycarus (Yannick Chabanois) - -START=99 -STOP=10 -USE_PROCD=1 -EXTRA_COMMANDS="reload_rules bypass_asn" - -. /usr/lib/unbound/iptools.sh - -_add_proto() { - protoname=$1 - if [ "$(dd if=/proc/net/xt_ndpi/proto bs=4096 2> /dev/null | grep $protoname)" = "" ]; then - echo "add_custom $protoname" >/proc/net/xt_ndpi/proto - fi - hosts="$( uci -q get omr-bypass.$protoname.url )" - for url in $hosts; do - echo "$protoname:$url" >/proc/net/xt_ndpi/host_proto - done - ip="$( uci -q get omr-bypass.$protoname.ip )" - for ip in $ips; do - echo "$protoname:$ip" >/proc/net/xt_ndpi/ip_proto - done -} - -_bypass_ip() { - local ip=$1 - local type=$2 - [ -z "$type" ] && type="all" - valid_ip4=$( valid_subnet4 $ip) - valid_ip6=$( valid_subnet6 $ip) - if [ "$valid_ip4" = "ok" ]; then - ipset -q add omr_dst_bypass_$type $ip - elif [ "$valid_ip6" = "ok" ]; then - ipset -q add omr6_dst_bypass_$type $ip - fi -} - -_bypass_domains() { - local domain - local intf - config_get domain $1 name - config_get intf $1 interface - _bypass_domain $domain $intf -} - -_bypass_domain() { - local domain=$1 - local intf=$2 - - [ -z "$intf" ] && intf="all" - if [ -n "$domain" ]; then - domain=$(echo $domain | sed 's:^\.::') - #logger -t "omr-bypass" "Get IPs of $domain..." - if [ -z $RELOAD ]; then - resolve=$(dig a +timeout=1 +nocmd +noall +answer $domain | awk '{print $5}') - for ip in $resolve; do - _bypass_ip $ip $intf - done - resolve=$(dig aaaa +timeout=1 +nocmd +noall +answer $domain | awk '{print $5}') - for ip in $resolve; do - _bypass_ip $ip $intf - done - fi - if [ "$(uci -q get dhcp.@dnsmasq[0].ipset | grep /$domain/)" = "" ]; then - uci -q add_list dhcp.@dnsmasq[0].ipset="/$domain/omr_dst_bypass_$intf,omr6_dst_bypass_$intf" - else - dnsmasqipset=$(uci -q get dhcp.@dnsmasq[0].ipset | sed 's/ /\n/g') - for dnsipset in $dnsmasqipset; do - if [ "$(echo $dnsipset | cut -d/ -f2)" = "$domain" ]; then - uci -q del_list dhcp.@dnsmasq[0].ipset=$dnsipset - uci -q add_list dhcp.@dnsmasq[0].ipset="$dnsipset,omr_dst_bypass_$intf,omr6_dst_bypass_$intf" - fi - done - fi - #logger -t "omr-bypass" "Get IPs of $domain... Done" - fi -} - -_bypass_mac() { - local mac - local intf - config_get mac $1 mac - config_get intf $1 interface - local intfid="$(uci -q get omr-bypass.$intf.id)" - - [ -z "$intf" ] && intf="all" - [ -z "$mac" ] && return - if [ "$intf" = "all" ]; then - iptables-restore -w --wait=60 --noflush <<-EOF - *mangle - -A omr-bypass -m mac --mac-source $mac -j MARK --set-mark 0x539 - COMMIT - EOF - ip6tables-restore -w --wait=60 --noflush <<-EOF - *mangle - -A omr-bypass6 -m mac --mac-source $mac -j MARK --set-mark 0x6539 - COMMIT - EOF - else - iptables-restore -w --wait=60 --noflush <<-EOF - *mangle - -A omr-bypass -m mac --mac-source $mac -j MARK --set-mark 0x539$intfid - COMMIT - EOF - ip6tables-restore -w --wait=60 --noflush <<-EOF - *mangle - -A omr-bypass6 -m mac --mac-source $mac -j MARK --set-mark 0x6539$intfid - COMMIT - EOF - fi -} - -_bypass_lan_ip() { - local ip - local intf - config_get ip $1 ip - config_get intf $1 interface - local intfid="$(uci -q get omr-bypass.$intf.id)" - - [ -z "$intf" ] && intf="all" - [ -z "$ip" ] && return - valid_ip4=$(valid_subnet4 $ip) - valid_ip6=$(valid_subnet6 $ip) - if [ "$intf" = "all" ]; then - if [ "$valid_ip4" = "ok" ]; then - iptables-restore -w --wait=60 --noflush <<-EOF - *mangle - -A omr-bypass -s $ip -j MARK --set-mark 0x539 - COMMIT - EOF - elif [ "$valid_ip6" = "ok" ]; then - ip6tables-restore -w --wait=60 --noflush <<-EOF - *mangle - -A omr-bypass6 -s $ip -j MARK --set-mark 0x6539 - COMMIT - EOF - fi - else - if [ "$valid_ip4" = "ok" ]; then - iptables-restore -w --wait=60 --noflush <<-EOF - *mangle - -A omr-bypass -s $ip -j MARK --set-mark 0x539$intfid - COMMIT - EOF - elif [ "$valid_ip6" = "ok" ]; then - ip6tables-restore -w --wait=60 --noflush <<-EOF - *mangle - -A omr-bypass6 -s $ip -j MARK --set-mark 0x6539$intfid - COMMIT - EOF - fi - fi -} - -_bypass_dest_port() { - local intf - config_get dport $1 dport - config_get proto $1 proto - config_get intf $1 interface - local intfid="$(uci -q get omr-bypass.$intf.id)" - - [ -z "$intf" ] && intf="all" - [ -z "$dport" ] && return - [ -z "$proto" ] && return - if [ "$intf" = "all" ]; then - iptables-restore -w --wait=60 --noflush <<-EOF - *mangle - -A omr-bypass --protocol $proto --destination-port $dport -j MARK --set-mark 0x539 - COMMIT - EOF - ip6tables-restore -w --wait=60 --noflush <<-EOF - *mangle - -A omr-bypass6 --protocol $proto --destination-port $dport -j MARK --set-mark 0x6539 - COMMIT - EOF - else - iptables-restore -w --wait=60 --noflush <<-EOF - *mangle - -A omr-bypass --protocol $proto --destination-port $dport -j MARK --set-mark 0x539$intfid - COMMIT - EOF - ip6tables-restore -w --wait=60 --noflush <<-EOF - *mangle - -A omr-bypass6 --protocol $proto --destination-port $dport -j MARK --set-mark 0x6539$intfid - COMMIT - EOF - fi -} - -_bypass_proto() { - local proto - local intf - config_get proto $1 proto - config_get intf $1 interface - local intfid="$(uci -q get omr-bypass.$intf.id)" - - [ -z "$intf" ] && intf="all" - [ -z "$proto" ] && return - if [ "$intf" = "all" ]; then - iptables-restore -w --wait=60 --noflush <<-EOF - *mangle - -A omr-bypass-dpi -m ndpi --proto $proto -j MARK --set-mark 0x539 - COMMIT - EOF - ip6tables-restore -w --wait=60 --noflush <<-EOF - *mangle - -A omr-bypass6-dpi -m ndpi --proto $proto -j MARK --set-mark 0x6539 - COMMIT - EOF - else - iptables-restore -w --wait=60 --noflush <<-EOF - *mangle - -A omr-bypass-dpi -m ndpi --proto $proto -j MARK --set-mark 0x539$intfid - COMMIT - EOF - ip6tables-restore -w --wait=60 --noflush <<-EOF - *mangle - -A omr-bypass6-dpi -m ndpi --proto $proto -j MARK --set-mark 0x6539$intfid - COMMIT - EOF - fi - # Use dnsmasq ipset to bypass domains of the proto - local domains - domains="$(cat /proc/net/xt_ndpi/host_proto | grep $proto: | sed -e "s/$proto://" -e 's/*//' -e 's/,/ /g')" - if [ -n "$domains" ]; then - for domain in $domains; do - if [ -n "$domain" ] && [ "$(uci -q show omr-bypass | grep $domain)" = "" ]; then - _bypass_domain $domain $intf - fi - done - fi -} - -_intf_rule() { - local intf - config_get intf $1 ifname - [ -z "$intf" ] && intf=$(ifstatus "$1" | jsonfilter -q -e '@["l3_device"]') - #count=$((count+1)) - config_get count $1 metric - local mode - #config_get mode $1 multipath "off" - #[ "$mode" = "off" ] && return - [ -z "$count" ] && return - [ -z "$intf" ] && return - [ "$(echo $1 | grep _dev)" != "" ] && return - [ -z "$RELOAD" ] || [ "$(ipset --list | grep omr_dst_bypass_$intf)" = "" ] && { - unset RELOAD - ipset -q flush omr_dst_bypass_$intf > /dev/null 2>&1 - ipset -q flush omr6_dst_bypass_$intf > /dev/null 2>&1 - ipset -q --exist restore <<-EOF - create omr_dst_bypass_$intf hash:net hashsize 64 - create omr6_dst_bypass_$intf hash:net family inet6 hashsize 64 - EOF - if [ "$(uci -q get openmptcprouter.settings.uci_rules)" = "1" ]; then - uci -q batch <<-EOF >/dev/null - delete network.${1}_fw_rule=rule - set network.${1}_fw_rule=rule - set network.${1}_fw_rule.priority=1 - set network.${1}_fw_rule.mark=0x539${count} - set network.${1}_fw_rule.lookup=${count} - delete network.${1}_fw_rule6=rule6 - set network.${1}_fw_rule6=rule6 - set network.${1}_fw_rule6.priority=1 - set network.${1}_fw_rule6.mark=0x6539${count} - set network.${1}_fw_rule6.lookup=${count} - commit network - EOF - else - ip rule add prio 1 fwmark 0x539$count lookup $count pref 1 > /dev/null 2>&1 - ip -6 rule add prio 1 fwmark 0x6539$count lookup 6$count > /dev/null 2>&1 - fi - } - if [ "$(iptables --wait=40 -t mangle -L -n | grep omr_dst_bypass_$intf)" = "" ]; then - iptables-restore -w --wait=60 --noflush <<-EOF - *mangle - -I omr-bypass 1 -m set --match-set omr_dst_bypass_$intf dst -j MARK --set-mark 0x539$count - COMMIT - EOF - fi - if [ "$(iptables --wait=40 -t nat -L -n | grep ss_rules_pre_src)" != "" ] && [ "$(iptables --wait=40 -t nat -L -n | grep omr_dst_bypass_$intf)" = "" ]; then - iptables-restore -w --wait=60 --noflush <<-EOF - *nat - -I ss_rules_dst 1 -m set --match-set omr_dst_bypass_$intf dst -j RETURN - -I ss_rules_local_out 1 -m set --match-set omr_dst_bypass_$intf dst -j RETURN - -I ss_rules_local_out 2 -m mark --mark 0x539$count -j RETURN - -I ss_rules_pre_src 1 -m set --match-set omr_dst_bypass_$intf dst -j MARK --set-mark 0x539$count - -I ss_rules_pre_src 2 -m mark --mark 0x539$count -j RETURN - COMMIT - EOF - fi - if [ "$(ip6tables --wait=40 -t mangle -L | grep omr6_dst_bypass_$intf)" = "" ]; then - ip6tables-restore -w --wait=60 --noflush <<-EOF - *mangle - -I omr-bypass6 1 -m set --match-set omr6_dst_bypass_$intf dst -j MARK --set-mark 0x6539$count - COMMIT - EOF - fi - if [ "$(ip6tables --wait=40 -t nat -L | grep ss_rules6_pre_src)" != "" ] && [ "$(ip6tables --wait=40 -t nat -L | grep omr6_dst_bypass_$intf)" = "" ]; then - ip6tables-restore -w --wait=60 --noflush <<-EOF - *nat - -I ss_rules6_dst 1 -m set --match-set omr6_dst_bypass_$intf dst -j RETURN - -I ss_rules6_local_out 1 -m set --match-set omr6_dst_bypass_$intf dst -j RETURN - -I ss_rules6_local_out 2 -m mark --mark 0x6539$count -j RETURN - -I ss_rules6_pre_src 1 -m set --match-set omr6_dst_bypass_$intf dst -j MARK --set-mark 0x6539$count - -I ss_rules6_pre_src 2 -m mark --mark 0x6539$count -j RETURN - COMMIT - EOF - fi - uci -q set omr-bypass.$intf=interface - uci -q set omr-bypass.$intf.id=$count -} - -_bypass_ip_set() { - local ip - local interface - config_get ip $1 ip - config_get interface $1 interface - _bypass_ip $ip $interface -} - -_bypass_asn() { - local asn - local interface - config_get asn $1 asn - config_get interface $1 interface - local asnips - asnips=`curl --max-time 4 -s -k https://stat.ripe.net/data/announced-prefixes/data.json?resource=${asn} | jsonfilter -q -e '@.data.prefixes.*.prefix'` - for ip in $asnips; do - _bypass_ip $ip $interface - done - -} - -bypass_asn() { - config_load omr-bypass - config_foreach _bypass_asn asns -} - -_bypass_omr_server() { - local ip - config_get ip $1 ip - _bypass_ip $ip -} - -boot() { - BOOT=1 - start "$@" -} - -start_service() { - #local count - logger -t "omr-bypass" "Starting OMR-ByPass..." - config_load omr-bypass - config_foreach _add_proto proto - - [ -n "$RELOAD" ] && [ "$(ipset --list | grep omr_dst_bypass_all)" = "" ] && { - unset RELOAD - } - [ -z "$RELOAD" ] && { - ipset -q flush omr_dst_bypass_all > /dev/null 2>&1 - ipset -q flush omr6_dst_bypass_all > /dev/null 2>&1 - ipset -q --exist restore <<-EOF - create omr_dst_bypass_all hash:net hashsize 64 - create omr6_dst_bypass_all hash:net family inet6 hashsize 64 - EOF - } - iptables-save --counters | grep -v omr-bypass | iptables-restore -w --counters - iptables-restore -w --wait=60 --noflush <<-EOF - *mangle - :omr-bypass - - -I PREROUTING 1 -m addrtype ! --dst-type LOCAL -j omr-bypass - COMMIT - EOF - ip6tables-save --counters | grep -v omr-bypass6 | ip6tables-restore -w --counters - ip6tables-restore -w --wait=60 --noflush <<-EOF - *mangle - :omr-bypass6 - - -I PREROUTING 1 -m addrtype ! --dst-type LOCAL -j omr-bypass6 - COMMIT - EOF - - config_load network - config_foreach _intf_rule interface - local ndpi_rules="" - config_load openmptcprouter - config_foreach _bypass_omr_server server - config_load omr-bypass - config_foreach _bypass_ip_set ips - config_foreach _bypass_mac macs - config_foreach _bypass_lan_ip lan_ip - config_foreach _bypass_dest_port dest_port - config_foreach _bypass_asn asns - dnsmasqipset=$(uci -q get dhcp.@dnsmasq[0].ipset | sed 's/ /\n/g' | grep -v dst_bypass) - uci -q delete dhcp.@dnsmasq[0].ipset - if [ -n "$dnsmasqipset" ]; then - for dnsipset in $dnsmasqipset; do - ipsets="" - allipsets=$(echo $dnsipset | cut -d/ -f3 | sed 's/,/\n/g') - for ipset in $allipsets; do - [ "$(echo $ipset | grep -v dst_bypass)" != "" ] && { - [ "$ipsets" != "" ] && ipsets="$ipsets,$ipset" - [ "$ipsets" = "" ] && ipsets="$ipset" - } - done - if [ "$ipsets" != "" ]; then - resultipset="/$(echo $dnsipset | cut -d/ -f2)/$ipsets" - uci -q add_list dhcp.@dnsmasq[0].ipset=$resultipset - fi - done - fi - config_foreach _bypass_domains domains - uci -q commit dhcp - - ip rule add prio 1 fwmark 0x539 lookup 991337 > /dev/null 2>&1 - ip -6 rule add prio 1 fwmark 0x6539 lookup 6991337 > /dev/null 2>&1 - - if [ "$(iptables --wait=40 -t mangle -L -n | grep 'match-set omr_dst_bypass_all dst MARK set')" = "" ]; then - iptables-restore -w --wait=60 --noflush <<-EOF - *mangle - -A omr-bypass -m set --match-set omr_dst_bypass_all dst -j MARK --set-mark 0x539 - COMMIT - EOF - fi - if [ "$(iptables --wait=40 -t nat -L -n | grep ss_rules_pre_src)" != "" ] && [ "$(iptables --wait=40 -t nat -L -n | grep omr_dst_bypass_all)" = "" ]; then - iptables-restore -w --wait=60 --noflush <<-EOF - *nat - -I ss_rules_dst 1 -m set --match-set omr_dst_bypass_all dst -j RETURN - -I ss_rules_local_out 1 -m set --match-set omr_dst_bypass_all dst -j RETURN - -I ss_rules_local_out 2 -m mark --mark 0x539 -j RETURN - -I ss_rules_pre_src 1 -m set --match-set omr_dst_bypass_all dst -j MARK --set-mark 0x539 - -I ss_rules_pre_src 2 -m mark --mark 0x539 -j RETURN - COMMIT - EOF - fi - if [ "$(ip6tables --wait=40 -t mangle -L | grep 'match-set omr6_dst_bypass_all dst MARK set')" = "" ]; then - ip6tables-restore --wait=60 --noflush <<-EOF - *mangle - -A omr-bypass6 -m set --match-set omr6_dst_bypass_all dst -j MARK --set-mark 0x6539 - COMMIT - EOF - fi - if [ "$(ip6tables --wait=40 -t nat -L | grep ss_rules6_pre_src)" != "" ] && [ "$(ip6tables --wait=40 -t nat -L | grep omr6_dst_bypass_all)" = "" ]; then - ip6tables-restore --wait=60 --noflush <<-EOF - *nat - -I ss_rules6_dst 1 -m set --match-set omr6_dst_bypass_all dst -j RETURN - -I ss_rules6_local_out 1 -m set --match-set omr6_dst_bypass_all dst -j RETURN - -I ss_rules6_local_out 2 -m mark --mark 0x6539 -j RETURN - -I ss_rules6_pre_src 1 -m set --match-set omr6_dst_bypass_all dst -j MARK --set-mark 0x6539 - -I ss_rules6_pre_src 2 -m mark --mark 0x6539 -j RETURN - COMMIT - EOF - fi - - iptables-save --counters | grep -v omr-bypass-dpi | iptables-restore -w --counters - iptables-restore -w --wait=60 --noflush <<-EOF - *mangle - :omr-bypass-dpi - - -A PREROUTING -m addrtype ! --dst-type LOCAL -j omr-bypass-dpi - -A POSTROUTING -m addrtype --dst-type LOCAL -j omr-bypass-dpi - COMMIT - EOF - ip6tables-save --counters | grep -v omr-bypass6-dpi | ip6tables-restore --counters - ip6tables-restore --wait=60 --noflush <<-EOF - *mangle - :omr-bypass6-dpi - - -A PREROUTING -m addrtype ! --dst-type LOCAL -j omr-bypass6-dpi - -A POSTROUTING -m addrtype --dst-type LOCAL -j omr-bypass6-dpi - COMMIT - EOF - config_load omr-bypass - config_foreach _bypass_proto dpis - - [ -z "$RELOAD" ] && { - logger -t "omr-bypass" "Restart dnsmasq..." - /etc/init.d/dnsmasq restart - } - [ -n "$RELOAD" ] && { - logger -t "omr-bypass" "Reload dnsmasq..." - /etc/init.d/dnsmasq reload - } - logger -t "omr-bypass" "OMR-ByPass is running" -} - -stop_service() { - iptables-save --counters | grep -v omr-bypass | iptables-restore -w --counters - iptables-save --counters | grep -v omr_dst | iptables-restore -w --counters - ip6tables-save --counters | grep -v omr-bypass6 | ip6tables-restore -w --counters - ip6tables-save --counters | grep -v omr6_dst | ip6tables-restore -w --counters - for setname in $(ipset -n list | grep "omr_"); do - ipset destroy "$setname" 2>/dev/null || true - done -} - -service_triggers() { - PROCD_RELOAD_DELAY=1000 - procd_add_reload_trigger omr-bypass - procd_add_raw_trigger "interface.*" 2000 /etc/init.d/omr-bypass restart -} - -reload_service() { - start -} - -reload_rules() { - [ "$( ipset -n list | grep omr_ )" = "" ] && return 0 - RELOAD=1 - start -} diff --git a/luci-app-omr-bypass/root/etc/uci-defaults/41_omr-bypass b/luci-app-omr-bypass/root/etc/uci-defaults/41_omr-bypass deleted file mode 100755 index 37f45bce8..000000000 --- a/luci-app-omr-bypass/root/etc/uci-defaults/41_omr-bypass +++ /dev/null @@ -1,89 +0,0 @@ -#!/bin/sh - -uci -q batch <<-EOF >/dev/null - delete ucitrack.@omr-bypass[-1] - add ucitrack omr-bypass - set ucitrack.@omr-bypass[-1].init=omr-bypass - commit ucitrack -EOF - -if [ -n "$(uci -q get omr-bypass.dpi)" ]; then - proto=$(uci -q get omr-bypass.dpi.proto) - [ -n "$proto" ] && { - for pro in $proto; do - uci -q batch <<-EOF >/dev/null - set omr-bypass.dpi[-1]=dpi - set omr-bypass.dpi[-1].proto=$pro - set omr-bypass.dpi[-1].interface=all - EOF - done - uci -q commit omr-bypass - } -fi - -if [ -n "$(uci -q get omr-bypass.ips)" ]; then - ips=$(uci -q get omr-bypass.ips.ip) - [ -n "$ips" ] && { - for ip in $ips; do - uci -q batch <<-EOF >/dev/null - set omr-bypass.ips[-1]=ips - set omr-bypass.ips[-1].ip=$ip - set omr-bypass.ips[-1].interface=all - EOF - done - uci -q commit omr-bypass - } -fi - -if [ -n "$(uci -q get dhcp.dnsmasq[0].ipset)" ]; then - domains="$(uci -q get dhcp.dnsmasq[0].ipset | sed -e 's:/::' -e 's:/ss_rules_dst_bypass_all::' -e 's:/: :g')" - [ -n "$domains" ] && { - for domain in $domains; do - uci -q batch <<-EOF >/dev/null - set omr-bypass.domains[-1]=domains - set omr-bypass.domains[-1].name=$domain - set omr-bypass.domains[-1].interface=all - EOF - done - uci -q commit omr-bypass - } -fi - -if [ "$(uci -q get ucitrack.@shadowsocks-libev[-1].affects | grep omr-bypass)" != "" ]; then - uci -q batch <<-EOF >/dev/null - del_list ucitrack.@shadowsocks-libev[-1].affects=omr-bypass - EOF -fi - -if [ "$(uci -q get firewall.omr-bypass)" = "" ]; then - uci -q batch <<-EOF >/dev/null - set firewall.omr-bypass=include - set firewall.omr-bypass.path=/etc/firewall.omr-bypass - set firewall.omr-bypass.reload=1 - commit firewall - EOF -fi - -if [ "$(uci -q get omr-bypass.m6replay)" = "" ]; then - uci -q batch <<-EOF >/dev/null - set omr-bypass.m6replay=proto - add_list omr-bypass.m6replay.url='m6web.fr' - add_list omr-bypass.m6replay.url='6play.fr' - add_list omr-bypass.m6replay.url='6cloud.fr' - commit omr-bypass - EOF -fi -if [ "$(uci -q get omr-bypass.lesnumeriques)" = "" ]; then - uci -q batch <<-EOF >/dev/null - set omr-bypass.lesnumeriques=proto - add_list omr-bypass.lesnumeriques.url='lesnumeriques.com' - add_list omr-bypass.lesnumeriques.url='botscorner.com' - add_list omr-bypass.lesnumeriques.url='app.botscorner.com' - commit omr-bypass - EOF -fi -if [ ! -f /etc/crontabs/root ] || [ "$(cat /etc/crontabs/root | grep bypass)" = "" ]; then - echo "0 2 * * * /etc/init.d/omr-bypass bypass_asn" >> /etc/crontabs/root -fi -rm -f /tmp/luci-indexcache -exit 0 diff --git a/luci-app-omr-bypass/root/usr/share/luci/menu.d/luci-app-omr-bypass.json b/luci-app-omr-bypass/root/usr/share/luci/menu.d/luci-app-omr-bypass.json new file mode 100644 index 000000000..24cc23af3 --- /dev/null +++ b/luci-app-omr-bypass/root/usr/share/luci/menu.d/luci-app-omr-bypass.json @@ -0,0 +1,13 @@ +{ + "admin/services/omr-bypass": { + "title": "OMR-Bypass", + "order": 60, + "action": { + "type": "view", + "path": "services/omr-bypass" + }, + "depends": { + "acl": [ "luci-app-omr-bypass" ] + } + } +} diff --git a/luci-app-omr-bypass/root/usr/share/rpcd/acl.d/luci-app-omr-bypass.json b/luci-app-omr-bypass/root/usr/share/rpcd/acl.d/luci-app-omr-bypass.json new file mode 100644 index 000000000..0c8727a42 --- /dev/null +++ b/luci-app-omr-bypass/root/usr/share/rpcd/acl.d/luci-app-omr-bypass.json @@ -0,0 +1,19 @@ +{ + "luci-app-omr-bypass": { + "description": "Grant access to ndpi resources", + "read": { + "file": { + "/proc/net/xt_ndpi/proto": [ "read" ], + "/proc/net/xt_ndpi/host_proto": [ "read" ], + "/usr/share/omr-bypass/omr-bypass-proto.lst": [ "read" ] + }, + "ubus": { + "luci-rpc": [ "getHostHints" ] + }, + "uci": [ "omr-bypass" ] + }, + "write": { + "uci": [ "omr-bypass" ] + } + } +} \ No newline at end of file diff --git a/luci-app-omr-dscp/Makefile b/luci-app-omr-dscp/Makefile index 152e91cf0..b099678d6 100644 --- a/luci-app-omr-dscp/Makefile +++ b/luci-app-omr-dscp/Makefile @@ -6,7 +6,7 @@ include $(TOPDIR)/rules.mk LUCI_TITLE:=LuCI Interface to DSCP - +LUCI_DEPENDS:=+LINUX_5_4:omr-dscp +!LINUX_5_4:omr-dscp-nft PKG_LICENSE:=GPLv3 #include ../luci/luci.mk diff --git a/luci-app-omr-dscp/po/de/omr-dscp.po b/luci-app-omr-dscp/po/de/omr-dscp.po new file mode 100644 index 000000000..be6e36aa2 --- /dev/null +++ b/luci-app-omr-dscp/po/de/omr-dscp.po @@ -0,0 +1,175 @@ +msgid "" +msgstr "" +"PO-Revision-Date: 2020-08-14 08:04+0000\n" +"Last-Translator: Andreas Dorfer \n" +"Language-Team: German \n" +"Language: de\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Generator: Weblate 4.0.4\n" + +#: luci-app-omr-dscp/luasrc/model/cbi/dscp-domains.lua:21 +#: luci-app-omr-dscp/luasrc/model/cbi/dscp.lua:73 +msgid "CS0 - Normal/Best Effort" +msgstr "CS0 - normal/best effort" + +#: luci-app-omr-dscp/luasrc/model/cbi/dscp-domains.lua:22 +#: luci-app-omr-dscp/luasrc/model/cbi/dscp.lua:74 +msgid "CS1 - Low priority" +msgstr "CS - Niedrige Priorität" + +#: luci-app-omr-dscp/luasrc/model/cbi/dscp-domains.lua:23 +#: luci-app-omr-dscp/luasrc/model/cbi/dscp.lua:75 +msgid "CS2 - High priority" +msgstr "CS2 - Hohe Priorität" + +#: luci-app-omr-dscp/luasrc/model/cbi/dscp-domains.lua:24 +#: luci-app-omr-dscp/luasrc/model/cbi/dscp.lua:76 +msgid "CS3 - SIP" +msgstr "CS3 - SIP/VoIP" + +#: luci-app-omr-dscp/luasrc/model/cbi/dscp-domains.lua:25 +#: luci-app-omr-dscp/luasrc/model/cbi/dscp.lua:77 +msgid "CS4 - Real-Time Interactive" +msgstr "" + +#: luci-app-omr-dscp/luasrc/model/cbi/dscp.lua:78 +msgid "CS5 - Broadcast Video" +msgstr "" + +#: luci-app-omr-dscp/luasrc/model/cbi/dscp-domains.lua:26 +msgid "CS5 - Broadcast video" +msgstr "" + +#: luci-app-omr-dscp/luasrc/model/cbi/dscp-domains.lua:27 +#: luci-app-omr-dscp/luasrc/model/cbi/dscp.lua:79 +msgid "CS6 - Network routing" +msgstr "CS6 - Netzwerk-Transportschicht" + +#: luci-app-omr-dscp/luasrc/model/cbi/dscp-domains.lua:28 +#: luci-app-omr-dscp/luasrc/model/cbi/dscp.lua:80 +msgid "CS7 - Latency sensitive" +msgstr "" + +#: luci-app-omr-dscp/luasrc/model/cbi/dscp-domains.lua:20 +#: luci-app-omr-dscp/luasrc/model/cbi/dscp.lua:72 +msgid "Class" +msgstr "Klasse" + +#: luci-app-omr-dscp/luasrc/model/cbi/dscp.lua:16 +msgid "Classification Rules" +msgstr "Klassifizierungs-Regeln" + +#: luci-app-omr-dscp/luasrc/model/cbi/dscp-domains.lua:31 +#: luci-app-omr-dscp/luasrc/model/cbi/dscp.lua:83 +msgid "Comment" +msgstr "Kommentar" + +#: luci-app-omr-dscp/luasrc/controller/omr-dscp.lua:6 +msgid "DSCP" +msgstr "DSCP" + +#: luci-app-omr-dscp/luasrc/controller/omr-dscp.lua:7 +msgid "DSCP Domains" +msgstr "DSCP-Domains" + +#: luci-app-omr-dscp/luasrc/model/cbi/dscp-domains.lua:8 +msgid "DSCP by domain" +msgstr "DSCP pro Domain" + +#: luci-app-omr-dscp/luasrc/model/cbi/dscp.lua:58 +msgid "Destination host" +msgstr "Ziel-Hostsystem" + +#: luci-app-omr-dscp/luasrc/model/cbi/dscp.lua:64 +msgid "Destination ports" +msgstr "Ziel-Port" + +#: luci-app-omr-dscp/luasrc/model/cbi/dscp.lua:11 +msgid "Differentiated services" +msgstr "Differenzierte Dienste" + +#: luci-app-omr-dscp/luasrc/model/cbi/dscp.lua:29 +msgid "Direction" +msgstr "Richtung" + +#: luci-app-omr-dscp/luasrc/model/cbi/dscp-domains.lua:15 +msgid "Domain" +msgstr "Domain" + +#: luci-app-omr-dscp/luasrc/model/cbi/dscp-domains.lua:10 +msgid "Domains" +msgstr "Domains" + +#: luci-app-omr-dscp/luasrc/model/cbi/dscp.lua:81 +msgid "EF - Voice" +msgstr "EF - Sprachübertragung" + +#: luci-app-omr-dscp/luasrc/model/cbi/dscp-domains.lua:29 +msgid "EF Voice" +msgstr "EF Sprachübertragung" + +#: luci-app-omr-dscp/root/usr/share/rpcd/acl.d/luci-app-omr-dscp.json:3 +msgid "Grant UCI access for luci-app-dscp" +msgstr "" + +#: luci-app-omr-dscp/luasrc/controller/omr-dscp.lua:4 +#: luci-app-omr-dscp/root/usr/share/luci/menu.d/luci-app-omr-dscp.json:3 +msgid "OMR-DSCP" +msgstr "OMR-DSCP" + +#: luci-app-omr-dscp/luasrc/model/cbi/dscp.lua:36 +msgid "Protocol" +msgstr "Protokoll" + +#: luci-app-omr-dscp/luasrc/model/cbi/dscp-domains.lua:8 +msgid "Set DSCP by domains." +msgstr "DSCP domainspezifizisch einstellen" + +#: luci-app-omr-dscp/luasrc/model/cbi/dscp.lua:47 +msgid "Source host" +msgstr "Quell-Hostsystem" + +#: luci-app-omr-dscp/luasrc/model/cbi/dscp.lua:52 +msgid "Source ports" +msgstr "Quell-Ports" + +#: luci-app-omr-dscp/luasrc/model/cbi/dscp.lua:12 +msgid "" +"Traffic may be classified by many different parameters, such as source " +"address, destination address or traffic type and assigned to a specific " +"traffic class." +msgstr "" +"Nutzdaten können nach verschiedenen Kriterien klassifiziert werden. Z.B. " +"nach Quell- oder Zieladresse, nach Daten-Typ oder speziell zugeordneter " +"Verkehrsklasse." + +#: luci-app-omr-dscp/luasrc/model/cbi/dscp.lua:49 +#: luci-app-omr-dscp/luasrc/model/cbi/dscp.lua:54 +#: luci-app-omr-dscp/luasrc/model/cbi/dscp.lua:60 +#: luci-app-omr-dscp/luasrc/model/cbi/dscp.lua:66 +msgid "all" +msgstr "alle" + +#: luci-app-omr-dscp/luasrc/model/cbi/dscp.lua:34 +msgid "both" +msgstr "beide" + +#: luci-app-omr-dscp/luasrc/model/cbi/dscp.lua:33 +msgid "download" +msgstr "Downstream" + +#: luci-app-omr-dscp/luasrc/model/cbi/dscp.lua:32 +msgid "upload" +msgstr "Upstream" + +#~ msgid "CS4 - Streaming video" +#~ msgstr "CS4 - Video-Streaming" + +#~ msgid "CS5" +#~ msgstr "CS5" + +#~ msgid "CS7" +#~ msgstr "CS7" diff --git a/luci-app-omr-dscp/po/de/omr-dscp.po~ b/luci-app-omr-dscp/po/de/omr-dscp.po~ new file mode 100644 index 000000000..9efa17a88 --- /dev/null +++ b/luci-app-omr-dscp/po/de/omr-dscp.po~ @@ -0,0 +1,158 @@ +msgid "" +msgstr "" +"PO-Revision-Date: 2020-08-14 08:04+0000\n" +"Last-Translator: Andreas Dorfer \n" +"Language-Team: German \n" +"Language: de\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Generator: Weblate 4.0.4\n" + +#: luci-app-omr-dscp/luasrc/model/cbi/dscp-domains.lua:21 +#: luci-app-omr-dscp/luasrc/model/cbi/dscp.lua:72 +msgid "CS0 - Normal/Best Effort" +msgstr "CS0 - normal/best effort" + +#: luci-app-omr-dscp/luasrc/model/cbi/dscp-domains.lua:22 +#: luci-app-omr-dscp/luasrc/model/cbi/dscp.lua:73 +msgid "CS1 - Low priority" +msgstr "CS - Niedrige Priorität" + +#: luci-app-omr-dscp/luasrc/model/cbi/dscp-domains.lua:23 +#: luci-app-omr-dscp/luasrc/model/cbi/dscp.lua:74 +msgid "CS2 - High priority" +msgstr "CS2 - Hohe Priorität" + +#: luci-app-omr-dscp/luasrc/model/cbi/dscp-domains.lua:24 +#: luci-app-omr-dscp/luasrc/model/cbi/dscp.lua:75 +msgid "CS3 - SIP" +msgstr "CS3 - SIP/VoIP" + +#: luci-app-omr-dscp/luasrc/model/cbi/dscp-domains.lua:25 +#: luci-app-omr-dscp/luasrc/model/cbi/dscp.lua:76 +msgid "CS4 - Streaming video" +msgstr "CS4 - Video-Streaming" + +#: luci-app-omr-dscp/luasrc/model/cbi/dscp-domains.lua:26 +#: luci-app-omr-dscp/luasrc/model/cbi/dscp.lua:77 +msgid "CS5" +msgstr "CS5" + +#: luci-app-omr-dscp/luasrc/model/cbi/dscp-domains.lua:27 +#: luci-app-omr-dscp/luasrc/model/cbi/dscp.lua:78 +msgid "CS6 - Network routing" +msgstr "CS6 - Netzwerk-Transportschicht" + +#: luci-app-omr-dscp/luasrc/model/cbi/dscp-domains.lua:28 +#: luci-app-omr-dscp/luasrc/model/cbi/dscp.lua:79 +msgid "CS7" +msgstr "CS7" + +#: luci-app-omr-dscp/luasrc/model/cbi/dscp-domains.lua:20 +#: luci-app-omr-dscp/luasrc/model/cbi/dscp.lua:71 +msgid "Class" +msgstr "Klasse" + +#: luci-app-omr-dscp/luasrc/model/cbi/dscp.lua:15 +msgid "Classification Rules" +msgstr "Klassifizierungs-Regeln" + +#: luci-app-omr-dscp/luasrc/model/cbi/dscp-domains.lua:31 +#: luci-app-omr-dscp/luasrc/model/cbi/dscp.lua:82 +msgid "Comment" +msgstr "Kommentar" + +#: luci-app-omr-dscp/luasrc/controller/omr-dscp.lua:6 +msgid "DSCP" +msgstr "DSCP" + +#: luci-app-omr-dscp/luasrc/controller/omr-dscp.lua:7 +msgid "DSCP Domains" +msgstr "DSCP-Domains" + +#: luci-app-omr-dscp/luasrc/model/cbi/dscp-domains.lua:8 +msgid "DSCP by domain" +msgstr "DSCP pro Domain" + +#: luci-app-omr-dscp/luasrc/model/cbi/dscp.lua:57 +msgid "Destination host" +msgstr "Ziel-Hostsystem" + +#: luci-app-omr-dscp/luasrc/model/cbi/dscp.lua:63 +msgid "Destination ports" +msgstr "Ziel-Port" + +#: luci-app-omr-dscp/luasrc/model/cbi/dscp.lua:10 +msgid "Differentiated services" +msgstr "Differenzierte Dienste" + +#: luci-app-omr-dscp/luasrc/model/cbi/dscp.lua:28 +msgid "Direction" +msgstr "Richtung" + +#: luci-app-omr-dscp/luasrc/model/cbi/dscp-domains.lua:15 +msgid "Domain" +msgstr "Domain" + +#: luci-app-omr-dscp/luasrc/model/cbi/dscp-domains.lua:10 +msgid "Domains" +msgstr "Domains" + +#: luci-app-omr-dscp/luasrc/model/cbi/dscp.lua:80 +msgid "EF - Voice" +msgstr "EF - Sprachübertragung" + +#: luci-app-omr-dscp/luasrc/model/cbi/dscp-domains.lua:29 +msgid "EF Voice" +msgstr "EF Sprachübertragung" + +#: luci-app-omr-dscp/luasrc/controller/omr-dscp.lua:4 +msgid "OMR-DSCP" +msgstr "OMR-DSCP" + +#: luci-app-omr-dscp/luasrc/model/cbi/dscp.lua:35 +msgid "Protocol" +msgstr "Protokoll" + +#: luci-app-omr-dscp/luasrc/model/cbi/dscp-domains.lua:8 +msgid "Set DSCP by domains." +msgstr "DSCP domainspezifizisch einstellen" + +#: luci-app-omr-dscp/luasrc/model/cbi/dscp.lua:46 +msgid "Source host" +msgstr "Quell-Hostsystem" + +#: luci-app-omr-dscp/luasrc/model/cbi/dscp.lua:51 +msgid "Source ports" +msgstr "Quell-Ports" + +#: luci-app-omr-dscp/luasrc/model/cbi/dscp.lua:11 +msgid "" +"Traffic may be classified by many different parameters, such as source " +"address, destination address or traffic type and assigned to a specific " +"traffic class." +msgstr "" +"Nutzdaten können nach verschiedenen Kriterien klassifiziert werden. Z.B. " +"nach Quell- oder Zieladresse, nach Daten-Typ oder speziell zugeordneter " +"Verkehrsklasse." + +#: luci-app-omr-dscp/luasrc/model/cbi/dscp.lua:48 +#: luci-app-omr-dscp/luasrc/model/cbi/dscp.lua:53 +#: luci-app-omr-dscp/luasrc/model/cbi/dscp.lua:59 +#: luci-app-omr-dscp/luasrc/model/cbi/dscp.lua:65 +msgid "all" +msgstr "alle" + +#: luci-app-omr-dscp/luasrc/model/cbi/dscp.lua:33 +msgid "both" +msgstr "beide" + +#: luci-app-omr-dscp/luasrc/model/cbi/dscp.lua:32 +msgid "download" +msgstr "Downstream" + +#: luci-app-omr-dscp/luasrc/model/cbi/dscp.lua:31 +msgid "upload" +msgstr "Upstream" diff --git a/luci-app-omr-dscp/po/fr/omr-dscp.po b/luci-app-omr-dscp/po/fr/omr-dscp.po index 7806c9a41..a7389d8f3 100644 --- a/luci-app-omr-dscp/po/fr/omr-dscp.po +++ b/luci-app-omr-dscp/po/fr/omr-dscp.po @@ -1,74 +1,78 @@ msgid "" msgstr "" -"Content-Type: text/plain; charset=UTF-8\n" "Project-Id-Version: \n" "POT-Creation-Date: \n" -"PO-Revision-Date: \n" -"Language-Team: \n" -"MIME-Version: 1.0\n" -"Content-Transfer-Encoding: 8bit\n" -"X-Generator: Poedit 2.2.3\n" -"Last-Translator: Ycarus \n" -"Plural-Forms: nplurals=2; plural=(n > 1);\n" +"PO-Revision-Date: 2022-02-19 07:53+0000\n" +"Last-Translator: Weblate Admin \n" +"Language-Team: French \n" "Language: fr\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=n > 1;\n" +"X-Generator: Weblate 4.6.1\n" #: luci-app-omr-dscp/luasrc/model/cbi/dscp-domains.lua:21 -#: luci-app-omr-dscp/luasrc/model/cbi/dscp.lua:72 +#: luci-app-omr-dscp/luasrc/model/cbi/dscp.lua:73 msgid "CS0 - Normal/Best Effort" -msgstr "" +msgstr "CS0 - Effort normal / optimal" #: luci-app-omr-dscp/luasrc/model/cbi/dscp-domains.lua:22 -#: luci-app-omr-dscp/luasrc/model/cbi/dscp.lua:73 +#: luci-app-omr-dscp/luasrc/model/cbi/dscp.lua:74 msgid "CS1 - Low priority" -msgstr "" +msgstr "CS1 - Faible priorité" #: luci-app-omr-dscp/luasrc/model/cbi/dscp-domains.lua:23 -#: luci-app-omr-dscp/luasrc/model/cbi/dscp.lua:74 +#: luci-app-omr-dscp/luasrc/model/cbi/dscp.lua:75 msgid "CS2 - High priority" -msgstr "" +msgstr "CS2 - Haute priorité" #: luci-app-omr-dscp/luasrc/model/cbi/dscp-domains.lua:24 -#: luci-app-omr-dscp/luasrc/model/cbi/dscp.lua:75 +#: luci-app-omr-dscp/luasrc/model/cbi/dscp.lua:76 msgid "CS3 - SIP" -msgstr "" +msgstr "CS3 - SIP" #: luci-app-omr-dscp/luasrc/model/cbi/dscp-domains.lua:25 -#: luci-app-omr-dscp/luasrc/model/cbi/dscp.lua:76 -msgid "CS4 - Streaming video" -msgstr "" +#: luci-app-omr-dscp/luasrc/model/cbi/dscp.lua:77 +msgid "CS4 - Real-Time Interactive" +msgstr "CS4 - Temps réel interactif" + +#: luci-app-omr-dscp/luasrc/model/cbi/dscp.lua:78 +msgid "CS5 - Broadcast Video" +msgstr "CS5 - Diffusion vidéo" #: luci-app-omr-dscp/luasrc/model/cbi/dscp-domains.lua:26 -#: luci-app-omr-dscp/luasrc/model/cbi/dscp.lua:77 -msgid "CS5" -msgstr "" +msgid "CS5 - Broadcast video" +msgstr "CS5 - Diffusion vidéo" #: luci-app-omr-dscp/luasrc/model/cbi/dscp-domains.lua:27 -#: luci-app-omr-dscp/luasrc/model/cbi/dscp.lua:78 +#: luci-app-omr-dscp/luasrc/model/cbi/dscp.lua:79 msgid "CS6 - Network routing" -msgstr "" +msgstr "CS6 - Routage réseau" #: luci-app-omr-dscp/luasrc/model/cbi/dscp-domains.lua:28 -#: luci-app-omr-dscp/luasrc/model/cbi/dscp.lua:79 -msgid "CS7" -msgstr "" +#: luci-app-omr-dscp/luasrc/model/cbi/dscp.lua:80 +msgid "CS7 - Latency sensitive" +msgstr "CS7 - Sensible à la latence" #: luci-app-omr-dscp/luasrc/model/cbi/dscp-domains.lua:20 -#: luci-app-omr-dscp/luasrc/model/cbi/dscp.lua:71 +#: luci-app-omr-dscp/luasrc/model/cbi/dscp.lua:72 msgid "Class" msgstr "Classe" -#: luci-app-omr-dscp/luasrc/model/cbi/dscp.lua:15 +#: luci-app-omr-dscp/luasrc/model/cbi/dscp.lua:16 msgid "Classification Rules" msgstr "Règles de classification" #: luci-app-omr-dscp/luasrc/model/cbi/dscp-domains.lua:31 -#: luci-app-omr-dscp/luasrc/model/cbi/dscp.lua:82 +#: luci-app-omr-dscp/luasrc/model/cbi/dscp.lua:83 msgid "Comment" msgstr "Commentaire" #: luci-app-omr-dscp/luasrc/controller/omr-dscp.lua:6 msgid "DSCP" -msgstr "" +msgstr "DSCP" #: luci-app-omr-dscp/luasrc/controller/omr-dscp.lua:7 msgid "DSCP Domains" @@ -78,21 +82,21 @@ msgstr "DSCP Domaines" msgid "DSCP by domain" msgstr "DSCP par domaine" -#: luci-app-omr-dscp/luasrc/model/cbi/dscp.lua:57 +#: luci-app-omr-dscp/luasrc/model/cbi/dscp.lua:58 msgid "Destination host" msgstr "Hôte de destination" -#: luci-app-omr-dscp/luasrc/model/cbi/dscp.lua:63 +#: luci-app-omr-dscp/luasrc/model/cbi/dscp.lua:64 msgid "Destination ports" msgstr "Ports de destination" -#: luci-app-omr-dscp/luasrc/model/cbi/dscp.lua:10 +#: luci-app-omr-dscp/luasrc/model/cbi/dscp.lua:11 msgid "Differentiated services" -msgstr "" +msgstr "Services différenciés" -#: luci-app-omr-dscp/luasrc/model/cbi/dscp.lua:28 +#: luci-app-omr-dscp/luasrc/model/cbi/dscp.lua:29 msgid "Direction" -msgstr "" +msgstr "Direction" #: luci-app-omr-dscp/luasrc/model/cbi/dscp-domains.lua:15 msgid "Domain" @@ -102,19 +106,24 @@ msgstr "Domaine" msgid "Domains" msgstr "Domaines" -#: luci-app-omr-dscp/luasrc/model/cbi/dscp.lua:80 +#: luci-app-omr-dscp/luasrc/model/cbi/dscp.lua:81 msgid "EF - Voice" -msgstr "" +msgstr "EF - Voix" #: luci-app-omr-dscp/luasrc/model/cbi/dscp-domains.lua:29 msgid "EF Voice" -msgstr "" +msgstr "EF - Voix" + +#: luci-app-omr-dscp/root/usr/share/rpcd/acl.d/luci-app-omr-dscp.json:3 +msgid "Grant UCI access for luci-app-dscp" +msgstr "Permettre l'accès pour luci-app-dscp" #: luci-app-omr-dscp/luasrc/controller/omr-dscp.lua:4 +#: luci-app-omr-dscp/root/usr/share/luci/menu.d/luci-app-omr-dscp.json:3 msgid "OMR-DSCP" -msgstr "" +msgstr "OMR-DSCP" -#: luci-app-omr-dscp/luasrc/model/cbi/dscp.lua:35 +#: luci-app-omr-dscp/luasrc/model/cbi/dscp.lua:36 msgid "Protocol" msgstr "Protocole" @@ -122,36 +131,48 @@ msgstr "Protocole" msgid "Set DSCP by domains." msgstr "Configurer DSCP par domaine" -#: luci-app-omr-dscp/luasrc/model/cbi/dscp.lua:46 +#: luci-app-omr-dscp/luasrc/model/cbi/dscp.lua:47 msgid "Source host" msgstr "Hôte source" -#: luci-app-omr-dscp/luasrc/model/cbi/dscp.lua:51 +#: luci-app-omr-dscp/luasrc/model/cbi/dscp.lua:52 msgid "Source ports" msgstr "Ports source" -#: luci-app-omr-dscp/luasrc/model/cbi/dscp.lua:11 +#: luci-app-omr-dscp/luasrc/model/cbi/dscp.lua:12 msgid "" "Traffic may be classified by many different parameters, such as source " "address, destination address or traffic type and assigned to a specific " "traffic class." msgstr "" +"Le trafic peut être classé selon de nombreux paramètres différents, tels que " +"l'adresse source, l'adresse de destination ou le type de trafic et attribué " +"à une classe de trafic spécifique." -#: luci-app-omr-dscp/luasrc/model/cbi/dscp.lua:48 -#: luci-app-omr-dscp/luasrc/model/cbi/dscp.lua:53 -#: luci-app-omr-dscp/luasrc/model/cbi/dscp.lua:59 -#: luci-app-omr-dscp/luasrc/model/cbi/dscp.lua:65 +#: luci-app-omr-dscp/luasrc/model/cbi/dscp.lua:49 +#: luci-app-omr-dscp/luasrc/model/cbi/dscp.lua:54 +#: luci-app-omr-dscp/luasrc/model/cbi/dscp.lua:60 +#: luci-app-omr-dscp/luasrc/model/cbi/dscp.lua:66 msgid "all" msgstr "Tous" -#: luci-app-omr-dscp/luasrc/model/cbi/dscp.lua:33 +#: luci-app-omr-dscp/luasrc/model/cbi/dscp.lua:34 msgid "both" msgstr "Les deux" -#: luci-app-omr-dscp/luasrc/model/cbi/dscp.lua:32 +#: luci-app-omr-dscp/luasrc/model/cbi/dscp.lua:33 msgid "download" msgstr "Téléchargement" -#: luci-app-omr-dscp/luasrc/model/cbi/dscp.lua:31 +#: luci-app-omr-dscp/luasrc/model/cbi/dscp.lua:32 msgid "upload" msgstr "Envoie" + +#~ msgid "CS4 - Streaming video" +#~ msgstr "CS4 - Vidéo en streaming" + +#~ msgid "CS5" +#~ msgstr "CS5" + +#~ msgid "CS7" +#~ msgstr "CS7" diff --git a/luci-app-omr-dscp/po/fr/omr-dscp.po~ b/luci-app-omr-dscp/po/fr/omr-dscp.po~ new file mode 100644 index 000000000..96fc1bf68 --- /dev/null +++ b/luci-app-omr-dscp/po/fr/omr-dscp.po~ @@ -0,0 +1,161 @@ +msgid "" +msgstr "" +"Project-Id-Version: \n" +"POT-Creation-Date: \n" +"PO-Revision-Date: 2021-03-31 15:07+0000\n" +"Last-Translator: Weblate Admin \n" +"Language-Team: French \n" +"Language: fr\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=n > 1;\n" +"X-Generator: Weblate 4.5.2\n" + +#: luci-app-omr-dscp/luasrc/model/cbi/dscp-domains.lua:21 +#: luci-app-omr-dscp/luasrc/model/cbi/dscp.lua:72 +msgid "CS0 - Normal/Best Effort" +msgstr "CS0 - Effort normal / optimal" + +#: luci-app-omr-dscp/luasrc/model/cbi/dscp-domains.lua:22 +#: luci-app-omr-dscp/luasrc/model/cbi/dscp.lua:73 +msgid "CS1 - Low priority" +msgstr "CS1 - Faible priorité" + +#: luci-app-omr-dscp/luasrc/model/cbi/dscp-domains.lua:23 +#: luci-app-omr-dscp/luasrc/model/cbi/dscp.lua:74 +msgid "CS2 - High priority" +msgstr "CS2 - Haute priorité" + +#: luci-app-omr-dscp/luasrc/model/cbi/dscp-domains.lua:24 +#: luci-app-omr-dscp/luasrc/model/cbi/dscp.lua:75 +msgid "CS3 - SIP" +msgstr "CS3 - SIP" + +#: luci-app-omr-dscp/luasrc/model/cbi/dscp-domains.lua:25 +#: luci-app-omr-dscp/luasrc/model/cbi/dscp.lua:76 +msgid "CS4 - Streaming video" +msgstr "CS4 - Vidéo en streaming" + +#: luci-app-omr-dscp/luasrc/model/cbi/dscp-domains.lua:26 +#: luci-app-omr-dscp/luasrc/model/cbi/dscp.lua:77 +msgid "CS5" +msgstr "CS5" + +#: luci-app-omr-dscp/luasrc/model/cbi/dscp-domains.lua:27 +#: luci-app-omr-dscp/luasrc/model/cbi/dscp.lua:78 +msgid "CS6 - Network routing" +msgstr "CS6 - Routage réseau" + +#: luci-app-omr-dscp/luasrc/model/cbi/dscp-domains.lua:28 +#: luci-app-omr-dscp/luasrc/model/cbi/dscp.lua:79 +msgid "CS7" +msgstr "CS7" + +#: luci-app-omr-dscp/luasrc/model/cbi/dscp-domains.lua:20 +#: luci-app-omr-dscp/luasrc/model/cbi/dscp.lua:71 +msgid "Class" +msgstr "Classe" + +#: luci-app-omr-dscp/luasrc/model/cbi/dscp.lua:15 +msgid "Classification Rules" +msgstr "Règles de classification" + +#: luci-app-omr-dscp/luasrc/model/cbi/dscp-domains.lua:31 +#: luci-app-omr-dscp/luasrc/model/cbi/dscp.lua:82 +msgid "Comment" +msgstr "Commentaire" + +#: luci-app-omr-dscp/luasrc/controller/omr-dscp.lua:6 +msgid "DSCP" +msgstr "DSCP" + +#: luci-app-omr-dscp/luasrc/controller/omr-dscp.lua:7 +msgid "DSCP Domains" +msgstr "DSCP Domaines" + +#: luci-app-omr-dscp/luasrc/model/cbi/dscp-domains.lua:8 +msgid "DSCP by domain" +msgstr "DSCP par domaine" + +#: luci-app-omr-dscp/luasrc/model/cbi/dscp.lua:57 +msgid "Destination host" +msgstr "Hôte de destination" + +#: luci-app-omr-dscp/luasrc/model/cbi/dscp.lua:63 +msgid "Destination ports" +msgstr "Ports de destination" + +#: luci-app-omr-dscp/luasrc/model/cbi/dscp.lua:10 +msgid "Differentiated services" +msgstr "Services différenciés" + +#: luci-app-omr-dscp/luasrc/model/cbi/dscp.lua:28 +msgid "Direction" +msgstr "Direction" + +#: luci-app-omr-dscp/luasrc/model/cbi/dscp-domains.lua:15 +msgid "Domain" +msgstr "Domaine" + +#: luci-app-omr-dscp/luasrc/model/cbi/dscp-domains.lua:10 +msgid "Domains" +msgstr "Domaines" + +#: luci-app-omr-dscp/luasrc/model/cbi/dscp.lua:80 +msgid "EF - Voice" +msgstr "EF - Voix" + +#: luci-app-omr-dscp/luasrc/model/cbi/dscp-domains.lua:29 +msgid "EF Voice" +msgstr "EF - Voix" + +#: luci-app-omr-dscp/luasrc/controller/omr-dscp.lua:4 +msgid "OMR-DSCP" +msgstr "OMR-DSCP" + +#: luci-app-omr-dscp/luasrc/model/cbi/dscp.lua:35 +msgid "Protocol" +msgstr "Protocole" + +#: luci-app-omr-dscp/luasrc/model/cbi/dscp-domains.lua:8 +msgid "Set DSCP by domains." +msgstr "Configurer DSCP par domaine" + +#: luci-app-omr-dscp/luasrc/model/cbi/dscp.lua:46 +msgid "Source host" +msgstr "Hôte source" + +#: luci-app-omr-dscp/luasrc/model/cbi/dscp.lua:51 +msgid "Source ports" +msgstr "Ports source" + +#: luci-app-omr-dscp/luasrc/model/cbi/dscp.lua:11 +msgid "" +"Traffic may be classified by many different parameters, such as source " +"address, destination address or traffic type and assigned to a specific " +"traffic class." +msgstr "" +"Le trafic peut être classé selon de nombreux paramètres différents, tels que " +"l'adresse source, l'adresse de destination ou le type de trafic et attribué " +"à une classe de trafic spécifique." + +#: luci-app-omr-dscp/luasrc/model/cbi/dscp.lua:48 +#: luci-app-omr-dscp/luasrc/model/cbi/dscp.lua:53 +#: luci-app-omr-dscp/luasrc/model/cbi/dscp.lua:59 +#: luci-app-omr-dscp/luasrc/model/cbi/dscp.lua:65 +msgid "all" +msgstr "Tous" + +#: luci-app-omr-dscp/luasrc/model/cbi/dscp.lua:33 +msgid "both" +msgstr "Les deux" + +#: luci-app-omr-dscp/luasrc/model/cbi/dscp.lua:32 +msgid "download" +msgstr "Téléchargement" + +#: luci-app-omr-dscp/luasrc/model/cbi/dscp.lua:31 +msgid "upload" +msgstr "Envoie" diff --git a/luci-app-omr-dscp/po/it/omr-dscp.po b/luci-app-omr-dscp/po/it/omr-dscp.po new file mode 100644 index 000000000..2ea86eaf8 --- /dev/null +++ b/luci-app-omr-dscp/po/it/omr-dscp.po @@ -0,0 +1,172 @@ +msgid "" +msgstr "" +"PO-Revision-Date: 2022-02-21 21:14+0000\n" +"Last-Translator: Deleted User \n" +"Language-Team: Italian \n" +"Language: it\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Generator: Weblate 4.10.1\n" + +#: luci-app-omr-dscp/luasrc/model/cbi/dscp-domains.lua:21 +#: luci-app-omr-dscp/luasrc/model/cbi/dscp.lua:73 +msgid "CS0 - Normal/Best Effort" +msgstr "CS0 - Normale / Miglior sforzo" + +#: luci-app-omr-dscp/luasrc/model/cbi/dscp-domains.lua:22 +#: luci-app-omr-dscp/luasrc/model/cbi/dscp.lua:74 +msgid "CS1 - Low priority" +msgstr "CS1 - Priorità bassa" + +#: luci-app-omr-dscp/luasrc/model/cbi/dscp-domains.lua:23 +#: luci-app-omr-dscp/luasrc/model/cbi/dscp.lua:75 +msgid "CS2 - High priority" +msgstr "CS2 - Alta priorità" + +#: luci-app-omr-dscp/luasrc/model/cbi/dscp-domains.lua:24 +#: luci-app-omr-dscp/luasrc/model/cbi/dscp.lua:76 +msgid "CS3 - SIP" +msgstr "CS3 - SIP" + +#: luci-app-omr-dscp/luasrc/model/cbi/dscp-domains.lua:25 +#: luci-app-omr-dscp/luasrc/model/cbi/dscp.lua:77 +msgid "CS4 - Real-Time Interactive" +msgstr "" + +#: luci-app-omr-dscp/luasrc/model/cbi/dscp.lua:78 +msgid "CS5 - Broadcast Video" +msgstr "" + +#: luci-app-omr-dscp/luasrc/model/cbi/dscp-domains.lua:26 +msgid "CS5 - Broadcast video" +msgstr "" + +#: luci-app-omr-dscp/luasrc/model/cbi/dscp-domains.lua:27 +#: luci-app-omr-dscp/luasrc/model/cbi/dscp.lua:79 +msgid "CS6 - Network routing" +msgstr "CS6 - Routing di rete" + +#: luci-app-omr-dscp/luasrc/model/cbi/dscp-domains.lua:28 +#: luci-app-omr-dscp/luasrc/model/cbi/dscp.lua:80 +msgid "CS7 - Latency sensitive" +msgstr "" + +#: luci-app-omr-dscp/luasrc/model/cbi/dscp-domains.lua:20 +#: luci-app-omr-dscp/luasrc/model/cbi/dscp.lua:72 +msgid "Class" +msgstr "Classe" + +#: luci-app-omr-dscp/luasrc/model/cbi/dscp.lua:16 +msgid "Classification Rules" +msgstr "Regole di classificazione" + +#: luci-app-omr-dscp/luasrc/model/cbi/dscp-domains.lua:31 +#: luci-app-omr-dscp/luasrc/model/cbi/dscp.lua:83 +msgid "Comment" +msgstr "Commenti" + +#: luci-app-omr-dscp/luasrc/controller/omr-dscp.lua:6 +msgid "DSCP" +msgstr "" + +#: luci-app-omr-dscp/luasrc/controller/omr-dscp.lua:7 +msgid "DSCP Domains" +msgstr "Domini DSCP" + +#: luci-app-omr-dscp/luasrc/model/cbi/dscp-domains.lua:8 +msgid "DSCP by domain" +msgstr "DSCP per dominio" + +#: luci-app-omr-dscp/luasrc/model/cbi/dscp.lua:58 +msgid "Destination host" +msgstr "Host di destinazione" + +#: luci-app-omr-dscp/luasrc/model/cbi/dscp.lua:64 +msgid "Destination ports" +msgstr "Porte di destinazione" + +#: luci-app-omr-dscp/luasrc/model/cbi/dscp.lua:11 +msgid "Differentiated services" +msgstr "Servizi differenziati" + +#: luci-app-omr-dscp/luasrc/model/cbi/dscp.lua:29 +msgid "Direction" +msgstr "Direzione" + +#: luci-app-omr-dscp/luasrc/model/cbi/dscp-domains.lua:15 +msgid "Domain" +msgstr "Dominio" + +#: luci-app-omr-dscp/luasrc/model/cbi/dscp-domains.lua:10 +msgid "Domains" +msgstr "Domini" + +#: luci-app-omr-dscp/luasrc/model/cbi/dscp.lua:81 +msgid "EF - Voice" +msgstr "EF - Voce" + +#: luci-app-omr-dscp/luasrc/model/cbi/dscp-domains.lua:29 +msgid "EF Voice" +msgstr "EF - Voce" + +#: luci-app-omr-dscp/root/usr/share/rpcd/acl.d/luci-app-omr-dscp.json:3 +msgid "Grant UCI access for luci-app-dscp" +msgstr "" + +#: luci-app-omr-dscp/luasrc/controller/omr-dscp.lua:4 +#: luci-app-omr-dscp/root/usr/share/luci/menu.d/luci-app-omr-dscp.json:3 +msgid "OMR-DSCP" +msgstr "" + +#: luci-app-omr-dscp/luasrc/model/cbi/dscp.lua:36 +msgid "Protocol" +msgstr "Protocollo" + +#: luci-app-omr-dscp/luasrc/model/cbi/dscp-domains.lua:8 +msgid "Set DSCP by domains." +msgstr "Imposta DSCP per domini." + +#: luci-app-omr-dscp/luasrc/model/cbi/dscp.lua:47 +msgid "Source host" +msgstr "Host di origine" + +#: luci-app-omr-dscp/luasrc/model/cbi/dscp.lua:52 +msgid "Source ports" +msgstr "Porte di origine" + +#: luci-app-omr-dscp/luasrc/model/cbi/dscp.lua:12 +msgid "" +"Traffic may be classified by many different parameters, such as source " +"address, destination address or traffic type and assigned to a specific " +"traffic class." +msgstr "" +"Il traffico può essere classificato in base a molti parametri diversi, come " +"indirizzo di origine, indirizzo di destinazione o tipo di traffico e " +"assegnato a una classe di traffico specifica." + +#: luci-app-omr-dscp/luasrc/model/cbi/dscp.lua:49 +#: luci-app-omr-dscp/luasrc/model/cbi/dscp.lua:54 +#: luci-app-omr-dscp/luasrc/model/cbi/dscp.lua:60 +#: luci-app-omr-dscp/luasrc/model/cbi/dscp.lua:66 +msgid "all" +msgstr "tutti" + +#: luci-app-omr-dscp/luasrc/model/cbi/dscp.lua:34 +msgid "both" +msgstr "entrambi" + +#: luci-app-omr-dscp/luasrc/model/cbi/dscp.lua:33 +msgid "download" +msgstr "Scarica" + +#: luci-app-omr-dscp/luasrc/model/cbi/dscp.lua:32 +msgid "upload" +msgstr "Carica" + +#~ msgid "CS4 - Streaming video" +#~ msgstr "CS4 - Streaming video" + +#~ msgid "CS5" +#~ msgstr "CS5" diff --git a/luci-app-omr-dscp/po/it/omr-dscp.po~ b/luci-app-omr-dscp/po/it/omr-dscp.po~ new file mode 100644 index 000000000..f6a098de2 --- /dev/null +++ b/luci-app-omr-dscp/po/it/omr-dscp.po~ @@ -0,0 +1,158 @@ +msgid "" +msgstr "" +"PO-Revision-Date: 2020-09-21 12:51+0000\n" +"Last-Translator: Weblate Admin \n" +"Language-Team: Italian \n" +"Language: it\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Generator: Weblate 4.0.4\n" + +#: luci-app-omr-dscp/luasrc/model/cbi/dscp-domains.lua:21 +#: luci-app-omr-dscp/luasrc/model/cbi/dscp.lua:72 +msgid "CS0 - Normal/Best Effort" +msgstr "CS0 - Normale / Miglior sforzo" + +#: luci-app-omr-dscp/luasrc/model/cbi/dscp-domains.lua:22 +#: luci-app-omr-dscp/luasrc/model/cbi/dscp.lua:73 +msgid "CS1 - Low priority" +msgstr "CS1 - Priorità bassa" + +#: luci-app-omr-dscp/luasrc/model/cbi/dscp-domains.lua:23 +#: luci-app-omr-dscp/luasrc/model/cbi/dscp.lua:74 +msgid "CS2 - High priority" +msgstr "CS2 - Alta priorità" + +#: luci-app-omr-dscp/luasrc/model/cbi/dscp-domains.lua:24 +#: luci-app-omr-dscp/luasrc/model/cbi/dscp.lua:75 +msgid "CS3 - SIP" +msgstr "CS3 - SIP" + +#: luci-app-omr-dscp/luasrc/model/cbi/dscp-domains.lua:25 +#: luci-app-omr-dscp/luasrc/model/cbi/dscp.lua:76 +msgid "CS4 - Streaming video" +msgstr "CS4 - Streaming video" + +#: luci-app-omr-dscp/luasrc/model/cbi/dscp-domains.lua:26 +#: luci-app-omr-dscp/luasrc/model/cbi/dscp.lua:77 +msgid "CS5" +msgstr "CS5" + +#: luci-app-omr-dscp/luasrc/model/cbi/dscp-domains.lua:27 +#: luci-app-omr-dscp/luasrc/model/cbi/dscp.lua:78 +msgid "CS6 - Network routing" +msgstr "CS6 - Routing di rete" + +#: luci-app-omr-dscp/luasrc/model/cbi/dscp-domains.lua:28 +#: luci-app-omr-dscp/luasrc/model/cbi/dscp.lua:79 +msgid "CS7" +msgstr "" + +#: luci-app-omr-dscp/luasrc/model/cbi/dscp-domains.lua:20 +#: luci-app-omr-dscp/luasrc/model/cbi/dscp.lua:71 +msgid "Class" +msgstr "Classe" + +#: luci-app-omr-dscp/luasrc/model/cbi/dscp.lua:15 +msgid "Classification Rules" +msgstr "Regole di classificazione" + +#: luci-app-omr-dscp/luasrc/model/cbi/dscp-domains.lua:31 +#: luci-app-omr-dscp/luasrc/model/cbi/dscp.lua:82 +msgid "Comment" +msgstr "Commenti" + +#: luci-app-omr-dscp/luasrc/controller/omr-dscp.lua:6 +msgid "DSCP" +msgstr "" + +#: luci-app-omr-dscp/luasrc/controller/omr-dscp.lua:7 +msgid "DSCP Domains" +msgstr "Domini DSCP" + +#: luci-app-omr-dscp/luasrc/model/cbi/dscp-domains.lua:8 +msgid "DSCP by domain" +msgstr "DSCP per dominio" + +#: luci-app-omr-dscp/luasrc/model/cbi/dscp.lua:57 +msgid "Destination host" +msgstr "Host di destinazione" + +#: luci-app-omr-dscp/luasrc/model/cbi/dscp.lua:63 +msgid "Destination ports" +msgstr "Porte di destinazione" + +#: luci-app-omr-dscp/luasrc/model/cbi/dscp.lua:10 +msgid "Differentiated services" +msgstr "Servizi differenziati" + +#: luci-app-omr-dscp/luasrc/model/cbi/dscp.lua:28 +msgid "Direction" +msgstr "" + +#: luci-app-omr-dscp/luasrc/model/cbi/dscp-domains.lua:15 +msgid "Domain" +msgstr "Dominio" + +#: luci-app-omr-dscp/luasrc/model/cbi/dscp-domains.lua:10 +msgid "Domains" +msgstr "Domini" + +#: luci-app-omr-dscp/luasrc/model/cbi/dscp.lua:80 +msgid "EF - Voice" +msgstr "EF - Voce" + +#: luci-app-omr-dscp/luasrc/model/cbi/dscp-domains.lua:29 +msgid "EF Voice" +msgstr "EF - Voce" + +#: luci-app-omr-dscp/luasrc/controller/omr-dscp.lua:4 +msgid "OMR-DSCP" +msgstr "" + +#: luci-app-omr-dscp/luasrc/model/cbi/dscp.lua:35 +msgid "Protocol" +msgstr "Protocollo" + +#: luci-app-omr-dscp/luasrc/model/cbi/dscp-domains.lua:8 +msgid "Set DSCP by domains." +msgstr "Imposta DSCP per domini." + +#: luci-app-omr-dscp/luasrc/model/cbi/dscp.lua:46 +msgid "Source host" +msgstr "Host di origine" + +#: luci-app-omr-dscp/luasrc/model/cbi/dscp.lua:51 +msgid "Source ports" +msgstr "Porte di origine" + +#: luci-app-omr-dscp/luasrc/model/cbi/dscp.lua:11 +msgid "" +"Traffic may be classified by many different parameters, such as source " +"address, destination address or traffic type and assigned to a specific " +"traffic class." +msgstr "" +"Il traffico può essere classificato in base a molti parametri diversi, come " +"indirizzo di origine, indirizzo di destinazione o tipo di traffico e " +"assegnato a una classe di traffico specifica." + +#: luci-app-omr-dscp/luasrc/model/cbi/dscp.lua:48 +#: luci-app-omr-dscp/luasrc/model/cbi/dscp.lua:53 +#: luci-app-omr-dscp/luasrc/model/cbi/dscp.lua:59 +#: luci-app-omr-dscp/luasrc/model/cbi/dscp.lua:65 +msgid "all" +msgstr "tutti" + +#: luci-app-omr-dscp/luasrc/model/cbi/dscp.lua:33 +msgid "both" +msgstr "entrambi" + +#: luci-app-omr-dscp/luasrc/model/cbi/dscp.lua:32 +msgid "download" +msgstr "Scarica" + +#: luci-app-omr-dscp/luasrc/model/cbi/dscp.lua:31 +msgid "upload" +msgstr "Carica" diff --git a/luci-app-omr-dscp/po/oc/omr-dscp.po b/luci-app-omr-dscp/po/oc/omr-dscp.po new file mode 100644 index 000000000..c585dd98a --- /dev/null +++ b/luci-app-omr-dscp/po/oc/omr-dscp.po @@ -0,0 +1,175 @@ +msgid "" +msgstr "" +"PO-Revision-Date: 2020-08-31 17:15+0000\n" +"Last-Translator: Quentin PAGÈS \n" +"Language-Team: Occitan \n" +"Language: oc\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=n > 1;\n" +"X-Generator: Weblate 4.0.4\n" + +#: luci-app-omr-dscp/luasrc/model/cbi/dscp-domains.lua:21 +#: luci-app-omr-dscp/luasrc/model/cbi/dscp.lua:73 +msgid "CS0 - Normal/Best Effort" +msgstr "CS0 - Esfòrç normal / optimal" + +#: luci-app-omr-dscp/luasrc/model/cbi/dscp-domains.lua:22 +#: luci-app-omr-dscp/luasrc/model/cbi/dscp.lua:74 +msgid "CS1 - Low priority" +msgstr "CS1 - Prioritat febla" + +#: luci-app-omr-dscp/luasrc/model/cbi/dscp-domains.lua:23 +#: luci-app-omr-dscp/luasrc/model/cbi/dscp.lua:75 +msgid "CS2 - High priority" +msgstr "CS2 - Prioritat nauta" + +#: luci-app-omr-dscp/luasrc/model/cbi/dscp-domains.lua:24 +#: luci-app-omr-dscp/luasrc/model/cbi/dscp.lua:76 +msgid "CS3 - SIP" +msgstr "CS3 - SIP" + +#: luci-app-omr-dscp/luasrc/model/cbi/dscp-domains.lua:25 +#: luci-app-omr-dscp/luasrc/model/cbi/dscp.lua:77 +msgid "CS4 - Real-Time Interactive" +msgstr "" + +#: luci-app-omr-dscp/luasrc/model/cbi/dscp.lua:78 +msgid "CS5 - Broadcast Video" +msgstr "" + +#: luci-app-omr-dscp/luasrc/model/cbi/dscp-domains.lua:26 +msgid "CS5 - Broadcast video" +msgstr "" + +#: luci-app-omr-dscp/luasrc/model/cbi/dscp-domains.lua:27 +#: luci-app-omr-dscp/luasrc/model/cbi/dscp.lua:79 +msgid "CS6 - Network routing" +msgstr "CS6 - Partiment ret" + +#: luci-app-omr-dscp/luasrc/model/cbi/dscp-domains.lua:28 +#: luci-app-omr-dscp/luasrc/model/cbi/dscp.lua:80 +msgid "CS7 - Latency sensitive" +msgstr "" + +#: luci-app-omr-dscp/luasrc/model/cbi/dscp-domains.lua:20 +#: luci-app-omr-dscp/luasrc/model/cbi/dscp.lua:72 +msgid "Class" +msgstr "Classa" + +#: luci-app-omr-dscp/luasrc/model/cbi/dscp.lua:16 +msgid "Classification Rules" +msgstr "Règlas de classificacion" + +#: luci-app-omr-dscp/luasrc/model/cbi/dscp-domains.lua:31 +#: luci-app-omr-dscp/luasrc/model/cbi/dscp.lua:83 +msgid "Comment" +msgstr "Comentari" + +#: luci-app-omr-dscp/luasrc/controller/omr-dscp.lua:6 +msgid "DSCP" +msgstr "DSCP" + +#: luci-app-omr-dscp/luasrc/controller/omr-dscp.lua:7 +msgid "DSCP Domains" +msgstr "DSCP Domenis" + +#: luci-app-omr-dscp/luasrc/model/cbi/dscp-domains.lua:8 +msgid "DSCP by domain" +msgstr "DSCP per domeni" + +#: luci-app-omr-dscp/luasrc/model/cbi/dscp.lua:58 +msgid "Destination host" +msgstr "Òste de destinacion" + +#: luci-app-omr-dscp/luasrc/model/cbi/dscp.lua:64 +msgid "Destination ports" +msgstr "Pòrts de destinacion" + +#: luci-app-omr-dscp/luasrc/model/cbi/dscp.lua:11 +msgid "Differentiated services" +msgstr "Servicis diferenciats" + +#: luci-app-omr-dscp/luasrc/model/cbi/dscp.lua:29 +msgid "Direction" +msgstr "Direccion" + +#: luci-app-omr-dscp/luasrc/model/cbi/dscp-domains.lua:15 +msgid "Domain" +msgstr "Domeni" + +#: luci-app-omr-dscp/luasrc/model/cbi/dscp-domains.lua:10 +msgid "Domains" +msgstr "Domenis" + +#: luci-app-omr-dscp/luasrc/model/cbi/dscp.lua:81 +msgid "EF - Voice" +msgstr "EF - Votz" + +#: luci-app-omr-dscp/luasrc/model/cbi/dscp-domains.lua:29 +msgid "EF Voice" +msgstr "EF - Votz" + +#: luci-app-omr-dscp/root/usr/share/rpcd/acl.d/luci-app-omr-dscp.json:3 +msgid "Grant UCI access for luci-app-dscp" +msgstr "" + +#: luci-app-omr-dscp/luasrc/controller/omr-dscp.lua:4 +#: luci-app-omr-dscp/root/usr/share/luci/menu.d/luci-app-omr-dscp.json:3 +msgid "OMR-DSCP" +msgstr "OMR-DSCP" + +#: luci-app-omr-dscp/luasrc/model/cbi/dscp.lua:36 +msgid "Protocol" +msgstr "Protocòl" + +#: luci-app-omr-dscp/luasrc/model/cbi/dscp-domains.lua:8 +msgid "Set DSCP by domains." +msgstr "Configurar DSCP per domeni." + +#: luci-app-omr-dscp/luasrc/model/cbi/dscp.lua:47 +msgid "Source host" +msgstr "Òste font" + +#: luci-app-omr-dscp/luasrc/model/cbi/dscp.lua:52 +msgid "Source ports" +msgstr "Pòrts fonts" + +#: luci-app-omr-dscp/luasrc/model/cbi/dscp.lua:12 +msgid "" +"Traffic may be classified by many different parameters, such as source " +"address, destination address or traffic type and assigned to a specific " +"traffic class." +msgstr "" +"Lo trafic pòt èsser classat segon mantuns paramètres diferents, coma " +"l’adreça font, l’adreça de destinacion o lo tipe de trafic e atribuit a una " +"classa de trafic especifica." + +#: luci-app-omr-dscp/luasrc/model/cbi/dscp.lua:49 +#: luci-app-omr-dscp/luasrc/model/cbi/dscp.lua:54 +#: luci-app-omr-dscp/luasrc/model/cbi/dscp.lua:60 +#: luci-app-omr-dscp/luasrc/model/cbi/dscp.lua:66 +msgid "all" +msgstr "totes" + +#: luci-app-omr-dscp/luasrc/model/cbi/dscp.lua:34 +msgid "both" +msgstr "Los dos" + +#: luci-app-omr-dscp/luasrc/model/cbi/dscp.lua:33 +msgid "download" +msgstr "Telecargament" + +#: luci-app-omr-dscp/luasrc/model/cbi/dscp.lua:32 +msgid "upload" +msgstr "Mandadís" + +#~ msgid "CS4 - Streaming video" +#~ msgstr "CS4 - Difusion vidèo" + +#~ msgid "CS5" +#~ msgstr "CS5" + +#~ msgid "CS7" +#~ msgstr "CS7" diff --git a/luci-app-omr-dscp/po/oc/omr-dscp.po~ b/luci-app-omr-dscp/po/oc/omr-dscp.po~ new file mode 100644 index 000000000..ed3a33083 --- /dev/null +++ b/luci-app-omr-dscp/po/oc/omr-dscp.po~ @@ -0,0 +1,158 @@ +msgid "" +msgstr "" +"PO-Revision-Date: 2020-08-31 17:15+0000\n" +"Last-Translator: Quentin PAGÈS \n" +"Language-Team: Occitan \n" +"Language: oc\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=n > 1;\n" +"X-Generator: Weblate 4.0.4\n" + +#: luci-app-omr-dscp/luasrc/model/cbi/dscp-domains.lua:21 +#: luci-app-omr-dscp/luasrc/model/cbi/dscp.lua:72 +msgid "CS0 - Normal/Best Effort" +msgstr "CS0 - Esfòrç normal / optimal" + +#: luci-app-omr-dscp/luasrc/model/cbi/dscp-domains.lua:22 +#: luci-app-omr-dscp/luasrc/model/cbi/dscp.lua:73 +msgid "CS1 - Low priority" +msgstr "CS1 - Prioritat febla" + +#: luci-app-omr-dscp/luasrc/model/cbi/dscp-domains.lua:23 +#: luci-app-omr-dscp/luasrc/model/cbi/dscp.lua:74 +msgid "CS2 - High priority" +msgstr "CS2 - Prioritat nauta" + +#: luci-app-omr-dscp/luasrc/model/cbi/dscp-domains.lua:24 +#: luci-app-omr-dscp/luasrc/model/cbi/dscp.lua:75 +msgid "CS3 - SIP" +msgstr "CS3 - SIP" + +#: luci-app-omr-dscp/luasrc/model/cbi/dscp-domains.lua:25 +#: luci-app-omr-dscp/luasrc/model/cbi/dscp.lua:76 +msgid "CS4 - Streaming video" +msgstr "CS4 - Difusion vidèo" + +#: luci-app-omr-dscp/luasrc/model/cbi/dscp-domains.lua:26 +#: luci-app-omr-dscp/luasrc/model/cbi/dscp.lua:77 +msgid "CS5" +msgstr "CS5" + +#: luci-app-omr-dscp/luasrc/model/cbi/dscp-domains.lua:27 +#: luci-app-omr-dscp/luasrc/model/cbi/dscp.lua:78 +msgid "CS6 - Network routing" +msgstr "CS6 - Partiment ret" + +#: luci-app-omr-dscp/luasrc/model/cbi/dscp-domains.lua:28 +#: luci-app-omr-dscp/luasrc/model/cbi/dscp.lua:79 +msgid "CS7" +msgstr "CS7" + +#: luci-app-omr-dscp/luasrc/model/cbi/dscp-domains.lua:20 +#: luci-app-omr-dscp/luasrc/model/cbi/dscp.lua:71 +msgid "Class" +msgstr "Classa" + +#: luci-app-omr-dscp/luasrc/model/cbi/dscp.lua:15 +msgid "Classification Rules" +msgstr "Règlas de classificacion" + +#: luci-app-omr-dscp/luasrc/model/cbi/dscp-domains.lua:31 +#: luci-app-omr-dscp/luasrc/model/cbi/dscp.lua:82 +msgid "Comment" +msgstr "Comentari" + +#: luci-app-omr-dscp/luasrc/controller/omr-dscp.lua:6 +msgid "DSCP" +msgstr "DSCP" + +#: luci-app-omr-dscp/luasrc/controller/omr-dscp.lua:7 +msgid "DSCP Domains" +msgstr "DSCP Domenis" + +#: luci-app-omr-dscp/luasrc/model/cbi/dscp-domains.lua:8 +msgid "DSCP by domain" +msgstr "DSCP per domeni" + +#: luci-app-omr-dscp/luasrc/model/cbi/dscp.lua:57 +msgid "Destination host" +msgstr "Òste de destinacion" + +#: luci-app-omr-dscp/luasrc/model/cbi/dscp.lua:63 +msgid "Destination ports" +msgstr "Pòrts de destinacion" + +#: luci-app-omr-dscp/luasrc/model/cbi/dscp.lua:10 +msgid "Differentiated services" +msgstr "Servicis diferenciats" + +#: luci-app-omr-dscp/luasrc/model/cbi/dscp.lua:28 +msgid "Direction" +msgstr "Direccion" + +#: luci-app-omr-dscp/luasrc/model/cbi/dscp-domains.lua:15 +msgid "Domain" +msgstr "Domeni" + +#: luci-app-omr-dscp/luasrc/model/cbi/dscp-domains.lua:10 +msgid "Domains" +msgstr "Domenis" + +#: luci-app-omr-dscp/luasrc/model/cbi/dscp.lua:80 +msgid "EF - Voice" +msgstr "EF - Votz" + +#: luci-app-omr-dscp/luasrc/model/cbi/dscp-domains.lua:29 +msgid "EF Voice" +msgstr "EF - Votz" + +#: luci-app-omr-dscp/luasrc/controller/omr-dscp.lua:4 +msgid "OMR-DSCP" +msgstr "OMR-DSCP" + +#: luci-app-omr-dscp/luasrc/model/cbi/dscp.lua:35 +msgid "Protocol" +msgstr "Protocòl" + +#: luci-app-omr-dscp/luasrc/model/cbi/dscp-domains.lua:8 +msgid "Set DSCP by domains." +msgstr "Configurar DSCP per domeni." + +#: luci-app-omr-dscp/luasrc/model/cbi/dscp.lua:46 +msgid "Source host" +msgstr "Òste font" + +#: luci-app-omr-dscp/luasrc/model/cbi/dscp.lua:51 +msgid "Source ports" +msgstr "Pòrts fonts" + +#: luci-app-omr-dscp/luasrc/model/cbi/dscp.lua:11 +msgid "" +"Traffic may be classified by many different parameters, such as source " +"address, destination address or traffic type and assigned to a specific " +"traffic class." +msgstr "" +"Lo trafic pòt èsser classat segon mantuns paramètres diferents, coma " +"l’adreça font, l’adreça de destinacion o lo tipe de trafic e atribuit a una " +"classa de trafic especifica." + +#: luci-app-omr-dscp/luasrc/model/cbi/dscp.lua:48 +#: luci-app-omr-dscp/luasrc/model/cbi/dscp.lua:53 +#: luci-app-omr-dscp/luasrc/model/cbi/dscp.lua:59 +#: luci-app-omr-dscp/luasrc/model/cbi/dscp.lua:65 +msgid "all" +msgstr "totes" + +#: luci-app-omr-dscp/luasrc/model/cbi/dscp.lua:33 +msgid "both" +msgstr "Los dos" + +#: luci-app-omr-dscp/luasrc/model/cbi/dscp.lua:32 +msgid "download" +msgstr "Telecargament" + +#: luci-app-omr-dscp/luasrc/model/cbi/dscp.lua:31 +msgid "upload" +msgstr "Mandadís" diff --git a/luci-app-omr-dscp/po/templates/omr-dscp.pot b/luci-app-omr-dscp/po/templates/omr-dscp.pot index 91981b0ab..cc022398e 100644 --- a/luci-app-omr-dscp/po/templates/omr-dscp.pot +++ b/luci-app-omr-dscp/po/templates/omr-dscp.pot @@ -2,56 +2,59 @@ msgid "" msgstr "Content-Type: text/plain; charset=UTF-8" #: luci-app-omr-dscp/luasrc/model/cbi/dscp-domains.lua:21 -#: luci-app-omr-dscp/luasrc/model/cbi/dscp.lua:72 +#: luci-app-omr-dscp/luasrc/model/cbi/dscp.lua:73 msgid "CS0 - Normal/Best Effort" msgstr "" #: luci-app-omr-dscp/luasrc/model/cbi/dscp-domains.lua:22 -#: luci-app-omr-dscp/luasrc/model/cbi/dscp.lua:73 +#: luci-app-omr-dscp/luasrc/model/cbi/dscp.lua:74 msgid "CS1 - Low priority" msgstr "" #: luci-app-omr-dscp/luasrc/model/cbi/dscp-domains.lua:23 -#: luci-app-omr-dscp/luasrc/model/cbi/dscp.lua:74 +#: luci-app-omr-dscp/luasrc/model/cbi/dscp.lua:75 msgid "CS2 - High priority" msgstr "" #: luci-app-omr-dscp/luasrc/model/cbi/dscp-domains.lua:24 -#: luci-app-omr-dscp/luasrc/model/cbi/dscp.lua:75 +#: luci-app-omr-dscp/luasrc/model/cbi/dscp.lua:76 msgid "CS3 - SIP" msgstr "" #: luci-app-omr-dscp/luasrc/model/cbi/dscp-domains.lua:25 -#: luci-app-omr-dscp/luasrc/model/cbi/dscp.lua:76 -msgid "CS4 - Streaming video" +#: luci-app-omr-dscp/luasrc/model/cbi/dscp.lua:77 +msgid "CS4 - Real-Time Interactive" +msgstr "" + +#: luci-app-omr-dscp/luasrc/model/cbi/dscp.lua:78 +msgid "CS5 - Broadcast Video" msgstr "" #: luci-app-omr-dscp/luasrc/model/cbi/dscp-domains.lua:26 -#: luci-app-omr-dscp/luasrc/model/cbi/dscp.lua:77 -msgid "CS5" +msgid "CS5 - Broadcast video" msgstr "" #: luci-app-omr-dscp/luasrc/model/cbi/dscp-domains.lua:27 -#: luci-app-omr-dscp/luasrc/model/cbi/dscp.lua:78 +#: luci-app-omr-dscp/luasrc/model/cbi/dscp.lua:79 msgid "CS6 - Network routing" msgstr "" #: luci-app-omr-dscp/luasrc/model/cbi/dscp-domains.lua:28 -#: luci-app-omr-dscp/luasrc/model/cbi/dscp.lua:79 -msgid "CS7" +#: luci-app-omr-dscp/luasrc/model/cbi/dscp.lua:80 +msgid "CS7 - Latency sensitive" msgstr "" #: luci-app-omr-dscp/luasrc/model/cbi/dscp-domains.lua:20 -#: luci-app-omr-dscp/luasrc/model/cbi/dscp.lua:71 +#: luci-app-omr-dscp/luasrc/model/cbi/dscp.lua:72 msgid "Class" msgstr "" -#: luci-app-omr-dscp/luasrc/model/cbi/dscp.lua:15 +#: luci-app-omr-dscp/luasrc/model/cbi/dscp.lua:16 msgid "Classification Rules" msgstr "" #: luci-app-omr-dscp/luasrc/model/cbi/dscp-domains.lua:31 -#: luci-app-omr-dscp/luasrc/model/cbi/dscp.lua:82 +#: luci-app-omr-dscp/luasrc/model/cbi/dscp.lua:83 msgid "Comment" msgstr "" @@ -67,19 +70,19 @@ msgstr "" msgid "DSCP by domain" msgstr "" -#: luci-app-omr-dscp/luasrc/model/cbi/dscp.lua:57 +#: luci-app-omr-dscp/luasrc/model/cbi/dscp.lua:58 msgid "Destination host" msgstr "" -#: luci-app-omr-dscp/luasrc/model/cbi/dscp.lua:63 +#: luci-app-omr-dscp/luasrc/model/cbi/dscp.lua:64 msgid "Destination ports" msgstr "" -#: luci-app-omr-dscp/luasrc/model/cbi/dscp.lua:10 +#: luci-app-omr-dscp/luasrc/model/cbi/dscp.lua:11 msgid "Differentiated services" msgstr "" -#: luci-app-omr-dscp/luasrc/model/cbi/dscp.lua:28 +#: luci-app-omr-dscp/luasrc/model/cbi/dscp.lua:29 msgid "Direction" msgstr "" @@ -91,7 +94,7 @@ msgstr "" msgid "Domains" msgstr "" -#: luci-app-omr-dscp/luasrc/model/cbi/dscp.lua:80 +#: luci-app-omr-dscp/luasrc/model/cbi/dscp.lua:81 msgid "EF - Voice" msgstr "" @@ -99,11 +102,16 @@ msgstr "" msgid "EF Voice" msgstr "" +#: luci-app-omr-dscp/root/usr/share/rpcd/acl.d/luci-app-omr-dscp.json:3 +msgid "Grant UCI access for luci-app-dscp" +msgstr "" + #: luci-app-omr-dscp/luasrc/controller/omr-dscp.lua:4 +#: luci-app-omr-dscp/root/usr/share/luci/menu.d/luci-app-omr-dscp.json:3 msgid "OMR-DSCP" msgstr "" -#: luci-app-omr-dscp/luasrc/model/cbi/dscp.lua:35 +#: luci-app-omr-dscp/luasrc/model/cbi/dscp.lua:36 msgid "Protocol" msgstr "" @@ -111,36 +119,36 @@ msgstr "" msgid "Set DSCP by domains." msgstr "" -#: luci-app-omr-dscp/luasrc/model/cbi/dscp.lua:46 +#: luci-app-omr-dscp/luasrc/model/cbi/dscp.lua:47 msgid "Source host" msgstr "" -#: luci-app-omr-dscp/luasrc/model/cbi/dscp.lua:51 +#: luci-app-omr-dscp/luasrc/model/cbi/dscp.lua:52 msgid "Source ports" msgstr "" -#: luci-app-omr-dscp/luasrc/model/cbi/dscp.lua:11 +#: luci-app-omr-dscp/luasrc/model/cbi/dscp.lua:12 msgid "" "Traffic may be classified by many different parameters, such as source " "address, destination address or traffic type and assigned to a specific " "traffic class." msgstr "" -#: luci-app-omr-dscp/luasrc/model/cbi/dscp.lua:48 -#: luci-app-omr-dscp/luasrc/model/cbi/dscp.lua:53 -#: luci-app-omr-dscp/luasrc/model/cbi/dscp.lua:59 -#: luci-app-omr-dscp/luasrc/model/cbi/dscp.lua:65 +#: luci-app-omr-dscp/luasrc/model/cbi/dscp.lua:49 +#: luci-app-omr-dscp/luasrc/model/cbi/dscp.lua:54 +#: luci-app-omr-dscp/luasrc/model/cbi/dscp.lua:60 +#: luci-app-omr-dscp/luasrc/model/cbi/dscp.lua:66 msgid "all" msgstr "" -#: luci-app-omr-dscp/luasrc/model/cbi/dscp.lua:33 +#: luci-app-omr-dscp/luasrc/model/cbi/dscp.lua:34 msgid "both" msgstr "" -#: luci-app-omr-dscp/luasrc/model/cbi/dscp.lua:32 +#: luci-app-omr-dscp/luasrc/model/cbi/dscp.lua:33 msgid "download" msgstr "" -#: luci-app-omr-dscp/luasrc/model/cbi/dscp.lua:31 +#: luci-app-omr-dscp/luasrc/model/cbi/dscp.lua:32 msgid "upload" msgstr "" diff --git a/luci-app-omr-dscp/po/zh_Hans/omr-dscp.po b/luci-app-omr-dscp/po/zh_Hans/omr-dscp.po new file mode 100644 index 000000000..cecea8c87 --- /dev/null +++ b/luci-app-omr-dscp/po/zh_Hans/omr-dscp.po @@ -0,0 +1,174 @@ +msgid "" +msgstr "" +"PO-Revision-Date: 2021-05-13 21:38+0000\n" +"Last-Translator: justbin <419989953@qq.com>\n" +"Language-Team: Chinese (Simplified) \n" +"Language: zh_Hans\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=1; plural=0;\n" +"X-Generator: Weblate 4.6.1\n" + +#: luci-app-omr-dscp/luasrc/model/cbi/dscp-domains.lua:21 +#: luci-app-omr-dscp/luasrc/model/cbi/dscp.lua:73 +msgid "CS0 - Normal/Best Effort" +msgstr "CS0 - 正常/尽量" + +#: luci-app-omr-dscp/luasrc/model/cbi/dscp-domains.lua:22 +#: luci-app-omr-dscp/luasrc/model/cbi/dscp.lua:74 +msgid "CS1 - Low priority" +msgstr "CS1 - 低优先级" + +#: luci-app-omr-dscp/luasrc/model/cbi/dscp-domains.lua:23 +#: luci-app-omr-dscp/luasrc/model/cbi/dscp.lua:75 +msgid "CS2 - High priority" +msgstr "CS2 - 高优先级" + +#: luci-app-omr-dscp/luasrc/model/cbi/dscp-domains.lua:24 +#: luci-app-omr-dscp/luasrc/model/cbi/dscp.lua:76 +msgid "CS3 - SIP" +msgstr "CS3 - SIP" + +#: luci-app-omr-dscp/luasrc/model/cbi/dscp-domains.lua:25 +#: luci-app-omr-dscp/luasrc/model/cbi/dscp.lua:77 +msgid "CS4 - Real-Time Interactive" +msgstr "CS4 - 实时交互" + +#: luci-app-omr-dscp/luasrc/model/cbi/dscp.lua:78 +msgid "CS5 - Broadcast Video" +msgstr "CS5 - 视频广播" + +#: luci-app-omr-dscp/luasrc/model/cbi/dscp-domains.lua:26 +msgid "CS5 - Broadcast video" +msgstr "CS5 - 视频广播" + +#: luci-app-omr-dscp/luasrc/model/cbi/dscp-domains.lua:27 +#: luci-app-omr-dscp/luasrc/model/cbi/dscp.lua:79 +msgid "CS6 - Network routing" +msgstr "CS6-网络路由" + +#: luci-app-omr-dscp/luasrc/model/cbi/dscp-domains.lua:28 +#: luci-app-omr-dscp/luasrc/model/cbi/dscp.lua:80 +msgid "CS7 - Latency sensitive" +msgstr "CS7 - 时延敏感" + +#: luci-app-omr-dscp/luasrc/model/cbi/dscp-domains.lua:20 +#: luci-app-omr-dscp/luasrc/model/cbi/dscp.lua:72 +msgid "Class" +msgstr "类" + +#: luci-app-omr-dscp/luasrc/model/cbi/dscp.lua:16 +msgid "Classification Rules" +msgstr "分类规则" + +#: luci-app-omr-dscp/luasrc/model/cbi/dscp-domains.lua:31 +#: luci-app-omr-dscp/luasrc/model/cbi/dscp.lua:83 +msgid "Comment" +msgstr "注释" + +#: luci-app-omr-dscp/luasrc/controller/omr-dscp.lua:6 +msgid "DSCP" +msgstr "DSCP" + +#: luci-app-omr-dscp/luasrc/controller/omr-dscp.lua:7 +msgid "DSCP Domains" +msgstr "DSCP域" + +#: luci-app-omr-dscp/luasrc/model/cbi/dscp-domains.lua:8 +msgid "DSCP by domain" +msgstr "DSCP按域名" + +#: luci-app-omr-dscp/luasrc/model/cbi/dscp.lua:58 +msgid "Destination host" +msgstr "目标主机" + +#: luci-app-omr-dscp/luasrc/model/cbi/dscp.lua:64 +msgid "Destination ports" +msgstr "目的端口" + +#: luci-app-omr-dscp/luasrc/model/cbi/dscp.lua:11 +msgid "Differentiated services" +msgstr "差异化服务" + +#: luci-app-omr-dscp/luasrc/model/cbi/dscp.lua:29 +msgid "Direction" +msgstr "目的" + +#: luci-app-omr-dscp/luasrc/model/cbi/dscp-domains.lua:15 +msgid "Domain" +msgstr "域" + +#: luci-app-omr-dscp/luasrc/model/cbi/dscp-domains.lua:10 +msgid "Domains" +msgstr "域名" + +#: luci-app-omr-dscp/luasrc/model/cbi/dscp.lua:81 +msgid "EF - Voice" +msgstr "EF-语音" + +#: luci-app-omr-dscp/luasrc/model/cbi/dscp-domains.lua:29 +msgid "EF Voice" +msgstr "EF 语音" + +#: luci-app-omr-dscp/root/usr/share/rpcd/acl.d/luci-app-omr-dscp.json:3 +msgid "Grant UCI access for luci-app-dscp" +msgstr "授予luci-app-dscp UCI访问权限" + +#: luci-app-omr-dscp/luasrc/controller/omr-dscp.lua:4 +#: luci-app-omr-dscp/root/usr/share/luci/menu.d/luci-app-omr-dscp.json:3 +msgid "OMR-DSCP" +msgstr "OMR-DSCP" + +#: luci-app-omr-dscp/luasrc/model/cbi/dscp.lua:36 +msgid "Protocol" +msgstr "协议" + +#: luci-app-omr-dscp/luasrc/model/cbi/dscp-domains.lua:8 +msgid "Set DSCP by domains." +msgstr "按域设置DSCP." + +#: luci-app-omr-dscp/luasrc/model/cbi/dscp.lua:47 +msgid "Source host" +msgstr "源主机" + +#: luci-app-omr-dscp/luasrc/model/cbi/dscp.lua:52 +msgid "Source ports" +msgstr "源端口" + +#: luci-app-omr-dscp/luasrc/model/cbi/dscp.lua:12 +msgid "" +"Traffic may be classified by many different parameters, such as source " +"address, destination address or traffic type and assigned to a specific " +"traffic class." +msgstr "" +"可以通过许多不同的参数(例如源地址,目标地址或流量类型)对流量进行分类,并将" +"其分配给特定的流量类别." + +#: luci-app-omr-dscp/luasrc/model/cbi/dscp.lua:49 +#: luci-app-omr-dscp/luasrc/model/cbi/dscp.lua:54 +#: luci-app-omr-dscp/luasrc/model/cbi/dscp.lua:60 +#: luci-app-omr-dscp/luasrc/model/cbi/dscp.lua:66 +msgid "all" +msgstr "所有" + +#: luci-app-omr-dscp/luasrc/model/cbi/dscp.lua:34 +msgid "both" +msgstr "都" + +#: luci-app-omr-dscp/luasrc/model/cbi/dscp.lua:33 +msgid "download" +msgstr "下载" + +#: luci-app-omr-dscp/luasrc/model/cbi/dscp.lua:32 +msgid "upload" +msgstr "上传" + +#~ msgid "CS4 - Streaming video" +#~ msgstr "CS4 - 视频流" + +#~ msgid "CS5" +#~ msgstr "CS5" + +#~ msgid "CS7" +#~ msgstr "CS7" diff --git a/luci-app-omr-dscp/po/zh_Hans/omr-dscp.po~ b/luci-app-omr-dscp/po/zh_Hans/omr-dscp.po~ new file mode 100644 index 000000000..0a2da9832 --- /dev/null +++ b/luci-app-omr-dscp/po/zh_Hans/omr-dscp.po~ @@ -0,0 +1,157 @@ +msgid "" +msgstr "" +"PO-Revision-Date: 2020-06-11 16:36+0000\n" +"Last-Translator: antrouter \n" +"Language-Team: Chinese (Simplified) \n" +"Language: zh_Hans\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=1; plural=0;\n" +"X-Generator: Weblate 4.0.4\n" + +#: luci-app-omr-dscp/luasrc/model/cbi/dscp-domains.lua:21 +#: luci-app-omr-dscp/luasrc/model/cbi/dscp.lua:72 +msgid "CS0 - Normal/Best Effort" +msgstr "CS0 - 正常/尽量" + +#: luci-app-omr-dscp/luasrc/model/cbi/dscp-domains.lua:22 +#: luci-app-omr-dscp/luasrc/model/cbi/dscp.lua:73 +msgid "CS1 - Low priority" +msgstr "CS1 - 低优先级" + +#: luci-app-omr-dscp/luasrc/model/cbi/dscp-domains.lua:23 +#: luci-app-omr-dscp/luasrc/model/cbi/dscp.lua:74 +msgid "CS2 - High priority" +msgstr "CS2 - 高优先级" + +#: luci-app-omr-dscp/luasrc/model/cbi/dscp-domains.lua:24 +#: luci-app-omr-dscp/luasrc/model/cbi/dscp.lua:75 +msgid "CS3 - SIP" +msgstr "CS3 - SIP" + +#: luci-app-omr-dscp/luasrc/model/cbi/dscp-domains.lua:25 +#: luci-app-omr-dscp/luasrc/model/cbi/dscp.lua:76 +msgid "CS4 - Streaming video" +msgstr "CS4 - 视频流" + +#: luci-app-omr-dscp/luasrc/model/cbi/dscp-domains.lua:26 +#: luci-app-omr-dscp/luasrc/model/cbi/dscp.lua:77 +msgid "CS5" +msgstr "CS5" + +#: luci-app-omr-dscp/luasrc/model/cbi/dscp-domains.lua:27 +#: luci-app-omr-dscp/luasrc/model/cbi/dscp.lua:78 +msgid "CS6 - Network routing" +msgstr "CS6-网络路由" + +#: luci-app-omr-dscp/luasrc/model/cbi/dscp-domains.lua:28 +#: luci-app-omr-dscp/luasrc/model/cbi/dscp.lua:79 +msgid "CS7" +msgstr "CS7" + +#: luci-app-omr-dscp/luasrc/model/cbi/dscp-domains.lua:20 +#: luci-app-omr-dscp/luasrc/model/cbi/dscp.lua:71 +msgid "Class" +msgstr "类" + +#: luci-app-omr-dscp/luasrc/model/cbi/dscp.lua:15 +msgid "Classification Rules" +msgstr "分类规则" + +#: luci-app-omr-dscp/luasrc/model/cbi/dscp-domains.lua:31 +#: luci-app-omr-dscp/luasrc/model/cbi/dscp.lua:82 +msgid "Comment" +msgstr "注释" + +#: luci-app-omr-dscp/luasrc/controller/omr-dscp.lua:6 +msgid "DSCP" +msgstr "DSCP" + +#: luci-app-omr-dscp/luasrc/controller/omr-dscp.lua:7 +msgid "DSCP Domains" +msgstr "DSCP域" + +#: luci-app-omr-dscp/luasrc/model/cbi/dscp-domains.lua:8 +msgid "DSCP by domain" +msgstr "DSCP按域名" + +#: luci-app-omr-dscp/luasrc/model/cbi/dscp.lua:57 +msgid "Destination host" +msgstr "目标主机" + +#: luci-app-omr-dscp/luasrc/model/cbi/dscp.lua:63 +msgid "Destination ports" +msgstr "目的端口" + +#: luci-app-omr-dscp/luasrc/model/cbi/dscp.lua:10 +msgid "Differentiated services" +msgstr "差异化服务" + +#: luci-app-omr-dscp/luasrc/model/cbi/dscp.lua:28 +msgid "Direction" +msgstr "目的" + +#: luci-app-omr-dscp/luasrc/model/cbi/dscp-domains.lua:15 +msgid "Domain" +msgstr "域名" + +#: luci-app-omr-dscp/luasrc/model/cbi/dscp-domains.lua:10 +msgid "Domains" +msgstr "域" + +#: luci-app-omr-dscp/luasrc/model/cbi/dscp.lua:80 +msgid "EF - Voice" +msgstr "EF-语音" + +#: luci-app-omr-dscp/luasrc/model/cbi/dscp-domains.lua:29 +msgid "EF Voice" +msgstr "EF 语音" + +#: luci-app-omr-dscp/luasrc/controller/omr-dscp.lua:4 +msgid "OMR-DSCP" +msgstr "OMR-DSCP" + +#: luci-app-omr-dscp/luasrc/model/cbi/dscp.lua:35 +msgid "Protocol" +msgstr "协议" + +#: luci-app-omr-dscp/luasrc/model/cbi/dscp-domains.lua:8 +msgid "Set DSCP by domains." +msgstr "按域设置DSCP." + +#: luci-app-omr-dscp/luasrc/model/cbi/dscp.lua:46 +msgid "Source host" +msgstr "源主机" + +#: luci-app-omr-dscp/luasrc/model/cbi/dscp.lua:51 +msgid "Source ports" +msgstr "源端口" + +#: luci-app-omr-dscp/luasrc/model/cbi/dscp.lua:11 +msgid "" +"Traffic may be classified by many different parameters, such as source " +"address, destination address or traffic type and assigned to a specific " +"traffic class." +msgstr "" +"可以通过许多不同的参数(例如源地址,目标地址或流量类型)对流量进行分类,并将" +"其分配给特定的流量类别." + +#: luci-app-omr-dscp/luasrc/model/cbi/dscp.lua:48 +#: luci-app-omr-dscp/luasrc/model/cbi/dscp.lua:53 +#: luci-app-omr-dscp/luasrc/model/cbi/dscp.lua:59 +#: luci-app-omr-dscp/luasrc/model/cbi/dscp.lua:65 +msgid "all" +msgstr "所有" + +#: luci-app-omr-dscp/luasrc/model/cbi/dscp.lua:33 +msgid "both" +msgstr "都" + +#: luci-app-omr-dscp/luasrc/model/cbi/dscp.lua:32 +msgid "download" +msgstr "下载" + +#: luci-app-omr-dscp/luasrc/model/cbi/dscp.lua:31 +msgid "upload" +msgstr "上传" diff --git a/luci-app-omr-dscp/root/usr/share/luci/menu.d/luci-app-omr-dscp.json b/luci-app-omr-dscp/root/usr/share/luci/menu.d/luci-app-omr-dscp.json new file mode 100644 index 000000000..bd3fe3960 --- /dev/null +++ b/luci-app-omr-dscp/root/usr/share/luci/menu.d/luci-app-omr-dscp.json @@ -0,0 +1,13 @@ +{ + "admin/network/omr-dscp": { + "title": "OMR-DSCP", + "order": 80, + "action": { + "type": "cbi", + "path": "dscp" + }, + "depends": { + "acl": [ "luci-app-omr-dscp" ] + } + } +} diff --git a/luci-app-omr-dscp/root/usr/share/rpcd/acl.d/luci-app-omr-dscp.json b/luci-app-omr-dscp/root/usr/share/rpcd/acl.d/luci-app-omr-dscp.json new file mode 100644 index 000000000..ec318e6ee --- /dev/null +++ b/luci-app-omr-dscp/root/usr/share/rpcd/acl.d/luci-app-omr-dscp.json @@ -0,0 +1,11 @@ +{ + "luci-app-omr-dscp": { + "description": "Grant UCI access for luci-app-dscp", + "read": { + "uci": [ "dscp" ] + }, + "write": { + "uci": [ "dscp" ] + } + } +} \ No newline at end of file diff --git a/luci-app-omr-quota/luasrc/view/omr-quota/cbi-select-add.htm b/luci-app-omr-quota/luasrc/view/omr-quota/cbi-select-add.htm index 9ee30d310..97ee647d2 100644 --- a/luci-app-omr-quota/luasrc/view/omr-quota/cbi-select-add.htm +++ b/luci-app-omr-quota/luasrc/view/omr-quota/cbi-select-add.htm @@ -2,7 +2,7 @@ <% if self.invalid_cts then -%>
<% end %> diff --git a/luci-app-omr-quota/po/de/omr-quota.po b/luci-app-omr-quota/po/de/omr-quota.po new file mode 100644 index 000000000..842f61f5e --- /dev/null +++ b/luci-app-omr-quota/po/de/omr-quota.po @@ -0,0 +1,62 @@ +msgid "" +msgstr "" +"PO-Revision-Date: 2020-10-05 12:39+0000\n" +"Last-Translator: Weblate Admin \n" +"Language-Team: German \n" +"Language: de\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Generator: Weblate 4.0.4\n" + +#: luci-app-omr-quota/luasrc/view/omr-quota/cbi-select-add.htm:8 +msgid "Add" +msgstr "Hinzufügen" + +#: luci-app-omr-quota/luasrc/model/cbi/quota/quota.lua:21 +msgid "Enable" +msgstr "Aktivieren" + +#: luci-app-omr-quota/root/usr/share/rpcd/acl.d/luci-app-omr-quota.json:3 +msgid "Grant UCI access for luci-app-omr-quota" +msgstr "" + +#: luci-app-omr-quota/luasrc/model/cbi/quota/quota.lua:10 +msgid "Interfaces" +msgstr "Anschlüsse" + +#: luci-app-omr-quota/luasrc/model/cbi/quota/quota.lua:33 +msgid "Interval between check (s)" +msgstr "Abstand zwischen den Überfprüfungen (in Sekunden)" + +#: luci-app-omr-quota/luasrc/view/omr-quota/cbi-select-add.htm:9 +msgid "Invalid" +msgstr "Ungültig" + +#: luci-app-omr-quota/luasrc/model/cbi/quota/quota.lua:8 +msgid "Monthly Quota" +msgstr "Monatliches Maximalvolumen" + +#: luci-app-omr-quota/luasrc/controller/quota.lua:11 +#: luci-app-omr-quota/root/usr/share/luci/menu.d/luci-app-omr-quota.json:3 +msgid "Quota" +msgstr "Quota" + +#: luci-app-omr-quota/luasrc/model/cbi/quota/quota.lua:27 +msgid "RX quota (kbit)" +msgstr "Empfangsvolumen-Grenze (in kBytes)" + +#: luci-app-omr-quota/luasrc/model/cbi/quota/quota.lua:8 +msgid "Set monthly quota, when quota is reached interface state is set to down" +msgstr "" +"Das monatliche maximale Übertragungsvolumen bei dessen Erreichen der " +"Anschluss nicht weiter genutzt wird." + +#: luci-app-omr-quota/luasrc/model/cbi/quota/quota.lua:24 +msgid "TX quota (kbit)" +msgstr "Sendevolumen-Grenze (in kBytes)" + +#: luci-app-omr-quota/luasrc/model/cbi/quota/quota.lua:30 +msgid "TX+RX quota (kbit)" +msgstr "Gesamtvolumen-Grenze (Rx+Tx in kBytes)" diff --git a/luci-app-omr-quota/po/de/omr-quota.po~ b/luci-app-omr-quota/po/de/omr-quota.po~ new file mode 100644 index 000000000..0c553322d --- /dev/null +++ b/luci-app-omr-quota/po/de/omr-quota.po~ @@ -0,0 +1,57 @@ +msgid "" +msgstr "" +"PO-Revision-Date: 2020-10-05 12:39+0000\n" +"Last-Translator: Weblate Admin \n" +"Language-Team: German \n" +"Language: de\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Generator: Weblate 4.0.4\n" + +#: luci-app-omr-quota/luasrc/view/omr-quota/cbi-select-add.htm:8 +msgid "Add" +msgstr "Hinzufügen" + +#: luci-app-omr-quota/luasrc/model/cbi/quota/quota.lua:21 +msgid "Enable" +msgstr "Aktivieren" + +#: luci-app-omr-quota/luasrc/model/cbi/quota/quota.lua:10 +msgid "Interfaces" +msgstr "Anschlüsse" + +#: luci-app-omr-quota/luasrc/model/cbi/quota/quota.lua:33 +msgid "Interval between check (s)" +msgstr "Abstand zwischen den Überfprüfungen (in Sekunden)" + +#: luci-app-omr-quota/luasrc/view/omr-quota/cbi-select-add.htm:9 +msgid "Invalid" +msgstr "Ungültig" + +#: luci-app-omr-quota/luasrc/model/cbi/quota/quota.lua:8 +msgid "Monthly Quota" +msgstr "Monatliches Maximalvolumen" + +#: luci-app-omr-quota/luasrc/controller/quota.lua:11 +msgid "Quota" +msgstr "Quota" + +#: luci-app-omr-quota/luasrc/model/cbi/quota/quota.lua:27 +msgid "RX quota (kbit)" +msgstr "Empfangsvolumen-Grenze (in kBytes)" + +#: luci-app-omr-quota/luasrc/model/cbi/quota/quota.lua:8 +msgid "Set monthly quota, when quota is reached interface state is set to down" +msgstr "" +"Das monatliche maximale Übertragungsvolumen bei dessen Erreichen der " +"Anschluss nicht weiter genutzt wird." + +#: luci-app-omr-quota/luasrc/model/cbi/quota/quota.lua:24 +msgid "TX quota (kbit)" +msgstr "Sendevolumen-Grenze (in kBytes)" + +#: luci-app-omr-quota/luasrc/model/cbi/quota/quota.lua:30 +msgid "TX+RX quota (kbit)" +msgstr "Gesamtvolumen-Grenze (Rx+Tx in kBytes)" diff --git a/luci-app-omr-quota/po/fr/omr-quota.po b/luci-app-omr-quota/po/fr/omr-quota.po index 533d9c553..e67782587 100644 --- a/luci-app-omr-quota/po/fr/omr-quota.po +++ b/luci-app-omr-quota/po/fr/omr-quota.po @@ -2,15 +2,16 @@ msgid "" msgstr "" "Project-Id-Version: \n" "POT-Creation-Date: \n" -"PO-Revision-Date: \n" -"Last-Translator: Ycarus \n" -"Language-Team: \n" +"PO-Revision-Date: 2022-02-19 07:53+0000\n" +"Last-Translator: Weblate Admin \n" +"Language-Team: French \n" "Language: fr\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Generator: Poedit 2.2.3\n" -"Plural-Forms: nplurals=2; plural=(n > 1);\n" +"Plural-Forms: nplurals=2; plural=n > 1;\n" +"X-Generator: Weblate 4.6.1\n" #: luci-app-omr-quota/luasrc/view/omr-quota/cbi-select-add.htm:8 msgid "Add" @@ -18,7 +19,11 @@ msgstr "Ajouter" #: luci-app-omr-quota/luasrc/model/cbi/quota/quota.lua:21 msgid "Enable" -msgstr "Activé" +msgstr "Activer" + +#: luci-app-omr-quota/root/usr/share/rpcd/acl.d/luci-app-omr-quota.json:3 +msgid "Grant UCI access for luci-app-omr-quota" +msgstr "Permettre l'accès à luci-app-omr-quota" #: luci-app-omr-quota/luasrc/model/cbi/quota/quota.lua:10 msgid "Interfaces" @@ -37,24 +42,28 @@ msgid "Monthly Quota" msgstr "Quota mensuel" #: luci-app-omr-quota/luasrc/controller/quota.lua:11 +#: luci-app-omr-quota/root/usr/share/luci/menu.d/luci-app-omr-quota.json:3 msgid "Quota" -msgstr "" +msgstr "Quota" #: luci-app-omr-quota/luasrc/model/cbi/quota/quota.lua:27 msgid "RX quota (kbit)" -msgstr "" +msgstr "Quota de réception (RX en kbit)" #: luci-app-omr-quota/luasrc/model/cbi/quota/quota.lua:8 msgid "Set monthly quota, when quota is reached interface state is set to down" -msgstr "Configurer le quota menseul, quand le quota est atteint l'interface est désactivée" +msgstr "" +"Configurer le quota mensuel, quand le quota est atteint l'interface est " +"désactivée" #: luci-app-omr-quota/luasrc/model/cbi/quota/quota.lua:24 msgid "TX quota (kbit)" -msgstr "" +msgstr "Quota de transmission (TX en kbit)" #: luci-app-omr-quota/luasrc/model/cbi/quota/quota.lua:30 msgid "TX+RX quota (kbit)" -msgstr "" +msgstr "Quota de transmission+réception (TX+RX en kbit)" #~ msgid "Set quota, when quota is reached interface state is set to down" -#~ msgstr "Configurer le quota, quand le quota est atteint l'interface est désactivée" +#~ msgstr "" +#~ "Configurer le quota, quand le quota est atteint l'interface est désactivée" diff --git a/luci-app-omr-quota/po/fr/omr-quota.po~ b/luci-app-omr-quota/po/fr/omr-quota.po~ new file mode 100644 index 000000000..d61b27717 --- /dev/null +++ b/luci-app-omr-quota/po/fr/omr-quota.po~ @@ -0,0 +1,64 @@ +msgid "" +msgstr "" +"Project-Id-Version: \n" +"POT-Creation-Date: \n" +"PO-Revision-Date: 2021-04-30 16:16+0000\n" +"Last-Translator: Weblate Admin \n" +"Language-Team: French \n" +"Language: fr\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=n > 1;\n" +"X-Generator: Weblate 4.5.2\n" + +#: luci-app-omr-quota/luasrc/view/omr-quota/cbi-select-add.htm:8 +msgid "Add" +msgstr "Ajouter" + +#: luci-app-omr-quota/luasrc/model/cbi/quota/quota.lua:21 +msgid "Enable" +msgstr "Activer" + +#: luci-app-omr-quota/luasrc/model/cbi/quota/quota.lua:10 +msgid "Interfaces" +msgstr "Interfaces" + +#: luci-app-omr-quota/luasrc/model/cbi/quota/quota.lua:33 +msgid "Interval between check (s)" +msgstr "Intervalle entre les essais (s)" + +#: luci-app-omr-quota/luasrc/view/omr-quota/cbi-select-add.htm:9 +msgid "Invalid" +msgstr "Invalide" + +#: luci-app-omr-quota/luasrc/model/cbi/quota/quota.lua:8 +msgid "Monthly Quota" +msgstr "Quota mensuel" + +#: luci-app-omr-quota/luasrc/controller/quota.lua:11 +msgid "Quota" +msgstr "Quota" + +#: luci-app-omr-quota/luasrc/model/cbi/quota/quota.lua:27 +msgid "RX quota (kbit)" +msgstr "Quota de réception (RX en kbit)" + +#: luci-app-omr-quota/luasrc/model/cbi/quota/quota.lua:8 +msgid "Set monthly quota, when quota is reached interface state is set to down" +msgstr "" +"Configurer le quota mensuel, quand le quota est atteint l'interface est " +"désactivée" + +#: luci-app-omr-quota/luasrc/model/cbi/quota/quota.lua:24 +msgid "TX quota (kbit)" +msgstr "Quota de transmission (TX en kbit)" + +#: luci-app-omr-quota/luasrc/model/cbi/quota/quota.lua:30 +msgid "TX+RX quota (kbit)" +msgstr "Quota de transmission+réception (TX+RX en kbit)" + +#~ msgid "Set quota, when quota is reached interface state is set to down" +#~ msgstr "" +#~ "Configurer le quota, quand le quota est atteint l'interface est désactivée" diff --git a/luci-app-omr-quota/po/it/omr-quota.po b/luci-app-omr-quota/po/it/omr-quota.po new file mode 100644 index 000000000..be100e360 --- /dev/null +++ b/luci-app-omr-quota/po/it/omr-quota.po @@ -0,0 +1,62 @@ +msgid "" +msgstr "" +"PO-Revision-Date: 2022-02-20 20:24+0000\n" +"Last-Translator: tiziano \n" +"Language-Team: Italian \n" +"Language: it\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Generator: Weblate 4.10.1\n" + +#: luci-app-omr-quota/luasrc/view/omr-quota/cbi-select-add.htm:8 +msgid "Add" +msgstr "Aggiungi" + +#: luci-app-omr-quota/luasrc/model/cbi/quota/quota.lua:21 +msgid "Enable" +msgstr "Attivare" + +#: luci-app-omr-quota/root/usr/share/rpcd/acl.d/luci-app-omr-quota.json:3 +msgid "Grant UCI access for luci-app-omr-quota" +msgstr "" + +#: luci-app-omr-quota/luasrc/model/cbi/quota/quota.lua:10 +msgid "Interfaces" +msgstr "Interfacce" + +#: luci-app-omr-quota/luasrc/model/cbi/quota/quota.lua:33 +msgid "Interval between check (s)" +msgstr "Intervallo tra i controlli (s)" + +#: luci-app-omr-quota/luasrc/view/omr-quota/cbi-select-add.htm:9 +msgid "Invalid" +msgstr "Non valido" + +#: luci-app-omr-quota/luasrc/model/cbi/quota/quota.lua:8 +msgid "Monthly Quota" +msgstr "Quota mensile" + +#: luci-app-omr-quota/luasrc/controller/quota.lua:11 +#: luci-app-omr-quota/root/usr/share/luci/menu.d/luci-app-omr-quota.json:3 +msgid "Quota" +msgstr "" + +#: luci-app-omr-quota/luasrc/model/cbi/quota/quota.lua:27 +msgid "RX quota (kbit)" +msgstr "" + +#: luci-app-omr-quota/luasrc/model/cbi/quota/quota.lua:8 +msgid "Set monthly quota, when quota is reached interface state is set to down" +msgstr "" +"Imposta la quota mensile, quando viene raggiunta la quota, lo stato " +"dell'interfaccia è impostato su inattivo" + +#: luci-app-omr-quota/luasrc/model/cbi/quota/quota.lua:24 +msgid "TX quota (kbit)" +msgstr "" + +#: luci-app-omr-quota/luasrc/model/cbi/quota/quota.lua:30 +msgid "TX+RX quota (kbit)" +msgstr "" diff --git a/luci-app-omr-quota/po/it/omr-quota.po~ b/luci-app-omr-quota/po/it/omr-quota.po~ new file mode 100644 index 000000000..41412af9e --- /dev/null +++ b/luci-app-omr-quota/po/it/omr-quota.po~ @@ -0,0 +1,57 @@ +msgid "" +msgstr "" +"PO-Revision-Date: 2020-09-21 12:51+0000\n" +"Last-Translator: Weblate Admin \n" +"Language-Team: Italian \n" +"Language: it\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Generator: Weblate 4.0.4\n" + +#: luci-app-omr-quota/luasrc/view/omr-quota/cbi-select-add.htm:8 +msgid "Add" +msgstr "Aggiungi" + +#: luci-app-omr-quota/luasrc/model/cbi/quota/quota.lua:21 +msgid "Enable" +msgstr "Attivare" + +#: luci-app-omr-quota/luasrc/model/cbi/quota/quota.lua:10 +msgid "Interfaces" +msgstr "Interfaccia" + +#: luci-app-omr-quota/luasrc/model/cbi/quota/quota.lua:33 +msgid "Interval between check (s)" +msgstr "Intervallo tra i controlli (s)" + +#: luci-app-omr-quota/luasrc/view/omr-quota/cbi-select-add.htm:9 +msgid "Invalid" +msgstr "Non valido" + +#: luci-app-omr-quota/luasrc/model/cbi/quota/quota.lua:8 +msgid "Monthly Quota" +msgstr "Quota mensile" + +#: luci-app-omr-quota/luasrc/controller/quota.lua:11 +msgid "Quota" +msgstr "" + +#: luci-app-omr-quota/luasrc/model/cbi/quota/quota.lua:27 +msgid "RX quota (kbit)" +msgstr "" + +#: luci-app-omr-quota/luasrc/model/cbi/quota/quota.lua:8 +msgid "Set monthly quota, when quota is reached interface state is set to down" +msgstr "" +"Imposta la quota mensile, quando viene raggiunta la quota, lo stato " +"dell'interfaccia è impostato su inattivo" + +#: luci-app-omr-quota/luasrc/model/cbi/quota/quota.lua:24 +msgid "TX quota (kbit)" +msgstr "" + +#: luci-app-omr-quota/luasrc/model/cbi/quota/quota.lua:30 +msgid "TX+RX quota (kbit)" +msgstr "" diff --git a/luci-app-omr-quota/po/oc/omr-quota.po b/luci-app-omr-quota/po/oc/omr-quota.po new file mode 100644 index 000000000..dc0cc96e4 --- /dev/null +++ b/luci-app-omr-quota/po/oc/omr-quota.po @@ -0,0 +1,61 @@ +msgid "" +msgstr "" +"PO-Revision-Date: 2020-08-21 20:21+0000\n" +"Last-Translator: Quentin PAGÈS \n" +"Language-Team: Occitan \n" +"Language: oc\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=n > 1;\n" +"X-Generator: Weblate 4.0.4\n" + +#: luci-app-omr-quota/luasrc/view/omr-quota/cbi-select-add.htm:8 +msgid "Add" +msgstr "Ajustar" + +#: luci-app-omr-quota/luasrc/model/cbi/quota/quota.lua:21 +msgid "Enable" +msgstr "Activat" + +#: luci-app-omr-quota/root/usr/share/rpcd/acl.d/luci-app-omr-quota.json:3 +msgid "Grant UCI access for luci-app-omr-quota" +msgstr "" + +#: luci-app-omr-quota/luasrc/model/cbi/quota/quota.lua:10 +msgid "Interfaces" +msgstr "Interfàcias" + +#: luci-app-omr-quota/luasrc/model/cbi/quota/quota.lua:33 +msgid "Interval between check (s)" +msgstr "Interval entre las verificacions (s)" + +#: luci-app-omr-quota/luasrc/view/omr-quota/cbi-select-add.htm:9 +msgid "Invalid" +msgstr "Invalid" + +#: luci-app-omr-quota/luasrc/model/cbi/quota/quota.lua:8 +msgid "Monthly Quota" +msgstr "Quòta mesadièra" + +#: luci-app-omr-quota/luasrc/controller/quota.lua:11 +#: luci-app-omr-quota/root/usr/share/luci/menu.d/luci-app-omr-quota.json:3 +msgid "Quota" +msgstr "Quòta" + +#: luci-app-omr-quota/luasrc/model/cbi/quota/quota.lua:27 +msgid "RX quota (kbit)" +msgstr "RX quòta (kbit)" + +#: luci-app-omr-quota/luasrc/model/cbi/quota/quota.lua:8 +msgid "Set monthly quota, when quota is reached interface state is set to down" +msgstr "" +"Definir la quòta mesadièra, quand es atenguda l'interfàcia es desactivada" + +#: luci-app-omr-quota/luasrc/model/cbi/quota/quota.lua:24 +msgid "TX quota (kbit)" +msgstr "TX quòta (kbit)" + +#: luci-app-omr-quota/luasrc/model/cbi/quota/quota.lua:30 +msgid "TX+RX quota (kbit)" +msgstr "TX+RX quòta (kbit)" diff --git a/luci-app-omr-quota/po/oc/omr-quota.po~ b/luci-app-omr-quota/po/oc/omr-quota.po~ new file mode 100644 index 000000000..87f906d16 --- /dev/null +++ b/luci-app-omr-quota/po/oc/omr-quota.po~ @@ -0,0 +1,56 @@ +msgid "" +msgstr "" +"PO-Revision-Date: 2020-08-21 20:21+0000\n" +"Last-Translator: Quentin PAGÈS \n" +"Language-Team: Occitan \n" +"Language: oc\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=n > 1;\n" +"X-Generator: Weblate 4.0.4\n" + +#: luci-app-omr-quota/luasrc/view/omr-quota/cbi-select-add.htm:8 +msgid "Add" +msgstr "Ajustar" + +#: luci-app-omr-quota/luasrc/model/cbi/quota/quota.lua:21 +msgid "Enable" +msgstr "Activat" + +#: luci-app-omr-quota/luasrc/model/cbi/quota/quota.lua:10 +msgid "Interfaces" +msgstr "Interfàcias" + +#: luci-app-omr-quota/luasrc/model/cbi/quota/quota.lua:33 +msgid "Interval between check (s)" +msgstr "Interval entre las verificacions (s)" + +#: luci-app-omr-quota/luasrc/view/omr-quota/cbi-select-add.htm:9 +msgid "Invalid" +msgstr "Invalid" + +#: luci-app-omr-quota/luasrc/model/cbi/quota/quota.lua:8 +msgid "Monthly Quota" +msgstr "Quòta mesadièra" + +#: luci-app-omr-quota/luasrc/controller/quota.lua:11 +msgid "Quota" +msgstr "Quòta" + +#: luci-app-omr-quota/luasrc/model/cbi/quota/quota.lua:27 +msgid "RX quota (kbit)" +msgstr "RX quòta (kbit)" + +#: luci-app-omr-quota/luasrc/model/cbi/quota/quota.lua:8 +msgid "Set monthly quota, when quota is reached interface state is set to down" +msgstr "" +"Definir la quòta mesadièra, quand es atenguda l'interfàcia es desactivada" + +#: luci-app-omr-quota/luasrc/model/cbi/quota/quota.lua:24 +msgid "TX quota (kbit)" +msgstr "TX quòta (kbit)" + +#: luci-app-omr-quota/luasrc/model/cbi/quota/quota.lua:30 +msgid "TX+RX quota (kbit)" +msgstr "TX+RX quòta (kbit)" diff --git a/luci-app-omr-quota/po/ru/omr-quota.po b/luci-app-omr-quota/po/ru/omr-quota.po new file mode 100644 index 000000000..2d9591607 --- /dev/null +++ b/luci-app-omr-quota/po/ru/omr-quota.po @@ -0,0 +1,62 @@ +msgid "" +msgstr "" +"PO-Revision-Date: 2021-06-16 10:51+0000\n" +"Last-Translator: Dmitry Galenko \n" +"Language-Team: Russian \n" +"Language: ru\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n" +"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" +"X-Generator: Weblate 4.6.1\n" + +#: luci-app-omr-quota/luasrc/view/omr-quota/cbi-select-add.htm:8 +msgid "Add" +msgstr "Добавить" + +#: luci-app-omr-quota/luasrc/model/cbi/quota/quota.lua:21 +msgid "Enable" +msgstr "Включено" + +#: luci-app-omr-quota/root/usr/share/rpcd/acl.d/luci-app-omr-quota.json:3 +msgid "Grant UCI access for luci-app-omr-quota" +msgstr "Разрешить доступ к UCI для luci-app-omr-quota" + +#: luci-app-omr-quota/luasrc/model/cbi/quota/quota.lua:10 +msgid "Interfaces" +msgstr "Интерфейсы" + +#: luci-app-omr-quota/luasrc/model/cbi/quota/quota.lua:33 +msgid "Interval between check (s)" +msgstr "Интервал между проверками (сек.)" + +#: luci-app-omr-quota/luasrc/view/omr-quota/cbi-select-add.htm:9 +msgid "Invalid" +msgstr "Неправильный" + +#: luci-app-omr-quota/luasrc/model/cbi/quota/quota.lua:8 +msgid "Monthly Quota" +msgstr "Месячная квота" + +#: luci-app-omr-quota/luasrc/controller/quota.lua:11 +#: luci-app-omr-quota/root/usr/share/luci/menu.d/luci-app-omr-quota.json:3 +msgid "Quota" +msgstr "Квота" + +#: luci-app-omr-quota/luasrc/model/cbi/quota/quota.lua:27 +msgid "RX quota (kbit)" +msgstr "Ограничение на прием (kbit)" + +#: luci-app-omr-quota/luasrc/model/cbi/quota/quota.lua:8 +msgid "Set monthly quota, when quota is reached interface state is set to down" +msgstr "" +"Установить ежемесячную квоту, при достижении квоты интерфейс отключается" + +#: luci-app-omr-quota/luasrc/model/cbi/quota/quota.lua:24 +msgid "TX quota (kbit)" +msgstr "Ограничение на отправку (kbit)" + +#: luci-app-omr-quota/luasrc/model/cbi/quota/quota.lua:30 +msgid "TX+RX quota (kbit)" +msgstr "Общее размер квоты (отправка и прием в kbit)" diff --git a/luci-app-omr-quota/po/templates/omr-quota.pot b/luci-app-omr-quota/po/templates/omr-quota.pot index 15235cd19..da48e9212 100644 --- a/luci-app-omr-quota/po/templates/omr-quota.pot +++ b/luci-app-omr-quota/po/templates/omr-quota.pot @@ -9,6 +9,10 @@ msgstr "" msgid "Enable" msgstr "" +#: luci-app-omr-quota/root/usr/share/rpcd/acl.d/luci-app-omr-quota.json:3 +msgid "Grant UCI access for luci-app-omr-quota" +msgstr "" + #: luci-app-omr-quota/luasrc/model/cbi/quota/quota.lua:10 msgid "Interfaces" msgstr "" @@ -26,6 +30,7 @@ msgid "Monthly Quota" msgstr "" #: luci-app-omr-quota/luasrc/controller/quota.lua:11 +#: luci-app-omr-quota/root/usr/share/luci/menu.d/luci-app-omr-quota.json:3 msgid "Quota" msgstr "" diff --git a/luci-app-omr-quota/po/zh_Hans/omr-quota.po b/luci-app-omr-quota/po/zh_Hans/omr-quota.po new file mode 100644 index 000000000..f3157f768 --- /dev/null +++ b/luci-app-omr-quota/po/zh_Hans/omr-quota.po @@ -0,0 +1,60 @@ +msgid "" +msgstr "" +"PO-Revision-Date: 2021-05-13 21:38+0000\n" +"Last-Translator: justbin <419989953@qq.com>\n" +"Language-Team: Chinese (Simplified) \n" +"Language: zh_Hans\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=1; plural=0;\n" +"X-Generator: Weblate 4.6.1\n" + +#: luci-app-omr-quota/luasrc/view/omr-quota/cbi-select-add.htm:8 +msgid "Add" +msgstr "添加" + +#: luci-app-omr-quota/luasrc/model/cbi/quota/quota.lua:21 +msgid "Enable" +msgstr "启用" + +#: luci-app-omr-quota/root/usr/share/rpcd/acl.d/luci-app-omr-quota.json:3 +msgid "Grant UCI access for luci-app-omr-quota" +msgstr "授予luci-app-omr-quota UCI访问权限" + +#: luci-app-omr-quota/luasrc/model/cbi/quota/quota.lua:10 +msgid "Interfaces" +msgstr "接口" + +#: luci-app-omr-quota/luasrc/model/cbi/quota/quota.lua:33 +msgid "Interval between check (s)" +msgstr "两次检查间隔 (秒)" + +#: luci-app-omr-quota/luasrc/view/omr-quota/cbi-select-add.htm:9 +msgid "Invalid" +msgstr "无效的" + +#: luci-app-omr-quota/luasrc/model/cbi/quota/quota.lua:8 +msgid "Monthly Quota" +msgstr "每月配额" + +#: luci-app-omr-quota/luasrc/controller/quota.lua:11 +#: luci-app-omr-quota/root/usr/share/luci/menu.d/luci-app-omr-quota.json:3 +msgid "Quota" +msgstr "配额" + +#: luci-app-omr-quota/luasrc/model/cbi/quota/quota.lua:27 +msgid "RX quota (kbit)" +msgstr "接收配额 (kbit)" + +#: luci-app-omr-quota/luasrc/model/cbi/quota/quota.lua:8 +msgid "Set monthly quota, when quota is reached interface state is set to down" +msgstr "设置每月配额,达到配额后将接口状态设置为关闭" + +#: luci-app-omr-quota/luasrc/model/cbi/quota/quota.lua:24 +msgid "TX quota (kbit)" +msgstr "发送配额 (kbit)" + +#: luci-app-omr-quota/luasrc/model/cbi/quota/quota.lua:30 +msgid "TX+RX quota (kbit)" +msgstr "发送+接收配额 (kbit)" diff --git a/luci-app-omr-quota/po/zh_Hans/omr-quota.po~ b/luci-app-omr-quota/po/zh_Hans/omr-quota.po~ new file mode 100644 index 000000000..b896c0b3e --- /dev/null +++ b/luci-app-omr-quota/po/zh_Hans/omr-quota.po~ @@ -0,0 +1,55 @@ +msgid "" +msgstr "" +"PO-Revision-Date: 2020-06-11 16:36+0000\n" +"Last-Translator: antrouter \n" +"Language-Team: Chinese (Simplified) \n" +"Language: zh_Hans\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=1; plural=0;\n" +"X-Generator: Weblate 4.0.4\n" + +#: luci-app-omr-quota/luasrc/view/omr-quota/cbi-select-add.htm:8 +msgid "Add" +msgstr "添加" + +#: luci-app-omr-quota/luasrc/model/cbi/quota/quota.lua:21 +msgid "Enable" +msgstr "开启" + +#: luci-app-omr-quota/luasrc/model/cbi/quota/quota.lua:10 +msgid "Interfaces" +msgstr "网卡" + +#: luci-app-omr-quota/luasrc/model/cbi/quota/quota.lua:33 +msgid "Interval between check (s)" +msgstr "两次检查间隔 (秒)" + +#: luci-app-omr-quota/luasrc/view/omr-quota/cbi-select-add.htm:9 +msgid "Invalid" +msgstr "无效" + +#: luci-app-omr-quota/luasrc/model/cbi/quota/quota.lua:8 +msgid "Monthly Quota" +msgstr "每月配额" + +#: luci-app-omr-quota/luasrc/controller/quota.lua:11 +msgid "Quota" +msgstr "配额" + +#: luci-app-omr-quota/luasrc/model/cbi/quota/quota.lua:27 +msgid "RX quota (kbit)" +msgstr "接收配额 (kbit)" + +#: luci-app-omr-quota/luasrc/model/cbi/quota/quota.lua:8 +msgid "Set monthly quota, when quota is reached interface state is set to down" +msgstr "设置每月配额,达到配额后将接口状态设置为关闭" + +#: luci-app-omr-quota/luasrc/model/cbi/quota/quota.lua:24 +msgid "TX quota (kbit)" +msgstr "发送配额 (kbit)" + +#: luci-app-omr-quota/luasrc/model/cbi/quota/quota.lua:30 +msgid "TX+RX quota (kbit)" +msgstr "发送+接收配额 (kbit)" diff --git a/luci-app-omr-quota/root/usr/share/luci/menu.d/luci-app-omr-quota.json b/luci-app-omr-quota/root/usr/share/luci/menu.d/luci-app-omr-quota.json new file mode 100644 index 000000000..73ac0e6f4 --- /dev/null +++ b/luci-app-omr-quota/root/usr/share/luci/menu.d/luci-app-omr-quota.json @@ -0,0 +1,13 @@ +{ + "admin/network/quota": { + "title": "Quota", + "order": 90, + "action": { + "type": "cbi", + "path": "quota/quota" + }, + "depends": { + "acl": [ "luci-app-omr-quota" ] + } + } +} diff --git a/luci-app-omr-quota/root/usr/share/rpcd/acl.d/luci-app-omr-quota.json b/luci-app-omr-quota/root/usr/share/rpcd/acl.d/luci-app-omr-quota.json new file mode 100644 index 000000000..1fb134623 --- /dev/null +++ b/luci-app-omr-quota/root/usr/share/rpcd/acl.d/luci-app-omr-quota.json @@ -0,0 +1,11 @@ +{ + "luci-app-omr-quota": { + "description": "Grant UCI access for luci-app-omr-quota", + "read": { + "uci": [ "omr-quota" ] + }, + "write": { + "uci": [ "omr-quota" ] + } + } +} \ No newline at end of file diff --git a/luci-app-omr-tracker/Makefile b/luci-app-omr-tracker/Makefile index 410d1994a..03bf7e30e 100644 --- a/luci-app-omr-tracker/Makefile +++ b/luci-app-omr-tracker/Makefile @@ -1,5 +1,5 @@ # -# Copyright (C) 2018-2019 Ycarus (Yannick Chabanois) +# Copyright (C) 2018-2023 Ycarus (Yannick Chabanois) # # diff --git a/luci-app-omr-tracker/htdocs/luci-static/resources/view/omr-tracker/network/interface.js b/luci-app-omr-tracker/htdocs/luci-static/resources/view/omr-tracker/network/interface.js new file mode 100644 index 000000000..2a0f428a3 --- /dev/null +++ b/luci-app-omr-tracker/htdocs/luci-static/resources/view/omr-tracker/network/interface.js @@ -0,0 +1,305 @@ +'use strict'; +'require form'; +'require fs'; +'require view'; +'require uci'; + +var cfgtypes = ['defaults','interface']; + +return view.extend({ + load: function() { + return Promise.all([ + L.resolveDefault(fs.stat('/usr/bin/httping'), {}), + L.resolveDefault(fs.stat('/usr/bin/dig'), {}), +// L.resolveDefault(fs.stat('/usr/bin/nping'), {}), +// L.resolveDefault(fs.stat('/usr/bin/arping'), {}), + uci.load('network') + ]); + }, + + render: function (stats) { + var m, s, o; + + m = new form.Map('omr-tracker', _('OMR-Tracker - Interfaces'), + _('Names must match the interface name found in /etc/config/network.') + '
' + + _('Names may contain characters A-Z, a-z, 0-9, _ and no spaces-')); + + //s = m.section(form.GridSection, 'defaults'); + s = m.section(form.GridSection); + s.addremove = true; + s.anonymous = false; + s.nodescriptions = true; + s.cfgsections = function() { + return this.map.data.sections(this.map.config) + .filter(function(s) { return cfgtypes.indexOf(s['.type']) !== -1; }) + .map(function(s) { return s['.name']; }); + }; + + s.handleAdd = function(ev) { + this.sectiontype = 'interface'; + var promise = form.GridSection.prototype.handleAdd.apply(this, arguments); + this.sectiontype = undefined; + return promise; + }; + + o = s.option(form.Flag, 'enabled', _('Enabled')); + o.default = false; + + o = s.option(form.ListValue, 'initial_state', _('Initial state'), + _('Expect interface state on up event')); + o.default = 'online'; + o.value('online', _('Online')); + o.value('offline', _('Offline')); + o.modalonly = true; + + o = s.option(form.ListValue, 'family', _('Internet Protocol')); + o.default = 'ipv4'; + o.value('ipv4', _('IPv4')); + o.value('ipv6', _('IPv6')); + o.value('ipv4ipv6', _('IPv4 & IPv6')); + o.modalonly = true; + + o = s.option(form.DynamicList, 'hosts', _('Tracking hostname or IP address'), + _('This hostname or IP address will be pinged to determine if the link is up or down. Leave blank to use defaults settings.')); + //o.datatype = 'hosts'; + o.modalonly = true; + o.rmempty = false; + + o = s.option(form.DynamicList, 'hosts6', _('Tracking hostname or IP address for IPv6'), + _('This hostname or IP address will be pinged to determine if the link is up or down. Leave blank to use defaults settings.')); + //o.datatype = 'hosts'; + o.modalonly = true; + o.depends('family', 'ipv4ipv6'); + o.depends('family', 'ipv6'); + o.rmempty = false; + + o = s.option(form.ListValue, 'type', _('Tracking method'),_('Always ping gateway, then test connection by ping, httping or dns. None mode only ping gateway.')); + o.default = 'ping'; + o.value('none'); + o.value('ping'); + if (stats[0].type === 'file') { + o.value('httping'); + } + if (stats[1].type === 'file') { + o.value('dns'); + } + /* + if (stats[2].type === 'file') { + o.value('nping-tcp'); + o.value('nping-udp'); + o.value('nping-icmp'); + o.value('nping-arp'); + } + if (stats[3].type === 'file') { + o.value('arping'); + } + */ + o = s.option(form.Flag, 'server_http_test', _('Server http test'), + _('Check if connection work with http by sending a request to server API')); + o.rmempty = false; + o.modalonly = true; + + o = s.option(form.Flag, 'server_test', _('Server test'), + _('Check if connection work by sending a ping or http request to server over all interfaces, failed if only current interface is not able to.')); + o.rmempty = false; + o.modalonly = true; + + o = s.option(form.Flag, 'mail_alert', _('Mail alert'), + _('Send a mail when connection status change. You need to configure e-mail settings here.')); + o.rmempty = false; + o.modalonly = true; + + /* + o = s.option(form.Flag, 'httping_ssl', _('Enable ssl tracking'), + _('Enables https tracking on ssl port 443')); + o.depends('type', 'httping'); + o.rmempty = false; + o.modalonly = true; + */ + /* + o = s.option(form.Value, 'reliability', _('Tracking reliability'), + _('Acceptable values: 1-100. This many Tracking IP addresses must respond for the link to be deemed up')); + o.datatype = 'range(1, 100)'; + o.default = '1'; + */ + + o = s.option(form.ListValue, 'count', _('Ping count')); + o.default = '1'; + o.value('1'); + o.value('2'); + o.value('3'); + o.value('4'); + o.value('5'); + o.modalonly = true; + + o = s.option(form.Value, 'size', _('Ping size')); + o.default = '56'; + o.depends('type', 'ping'); + o.value('8'); + o.value('24'); + o.value('56'); + o.value('120'); + o.value('248'); + o.value('504'); + o.value('1016'); + o.value('1472'); + o.value('2040'); + o.datatype = 'range(1, 65507)'; + o.modalonly = true; + + o =s.option(form.Value, 'max_ttl', _('Max TTL')); + o.default = '60'; + o.depends('type', 'ping'); + o.value('10'); + o.value('20'); + o.value('30'); + o.value('40'); + o.value('50'); + o.value('60'); + o.value('70'); + o.datatype = 'range(1, 255)'; + o.modalonly = true; + + o = s.option(form.Flag, 'check_quality', _('Check link quality')); + o.depends('type', 'ping'); + o.default = false; + o.modalonly = true; + + o = s.option(form.Value, 'failure_latency', _('Failure latency [ms]')); + o.depends('check_quality', '1'); + o.default = '1000'; + o.value('25'); + o.value('50'); + o.value('75'); + o.value('100'); + o.value('150'); + o.value('200'); + o.value('250'); + o.value('300'); + o.modalonly = true; + + o = s.option(form.Value, 'failure_loss', _('Failure packet loss [%]')); + o.depends('check_quality', '1'); + o.default = '40'; + o.value('2'); + o.value('5'); + o.value('10'); + o.value('20'); + o.value('25'); + o.modalonly = true; + + o = s.option(form.Value, 'recovery_latency', _('Recovery latency [ms]')); + o.depends('check_quality', '1'); + o.default = '500'; + o.value('25'); + o.value('50'); + o.value('75'); + o.value('100'); + o.value('150'); + o.value('200'); + o.value('250'); + o.value('300'); + o.modalonly = true; + + o = s.option(form.Value, 'recovery_loss', _('Recovery packet loss [%]')); + o.depends('check_quality', '1'); + o.default = '10'; + o.value('2'); + o.value('5'); + o.value('10'); + o.value('20'); + o.value('25'); + o.modalonly = true; + + o = s.option(form.Value, "timeout", _("Ping timeout")); + o.default = '4'; + o.value('1', _('%d second').format('1')); + for (var i = 2; i <= 10; i++) + o.value(String(i), _('%d seconds').format(i)); + o.rmempty = false; + o.modalonly = true; + + o = s.option(form.Value, 'interval', _('Ping interval')); + o.default = '10'; + o.value('1', _('%d second').format('1')); + o.value('3', _('%d seconds').format('3')); + o.value('5', _('%d seconds').format('5')); + o.value('10', _('%d seconds').format('10')); + o.value('20', _('%d seconds').format('20')); + o.value('30', _('%d seconds').format('30')); + o.value('60', _('%d minute').format('1')); + o.value('300', _('%d minutes').format('5')); + o.value('600', _('%d minutes').format('10')); + o.value('900', _('%d minutes').format('15')); + o.value('1800', _('%d minutes').format('30')); + o.value('3600', _('%d hour').format('1')); + o.modalonly = true; + o.rmempty = false; + + o = s.option(form.Value, 'failure_interval', _('Failure interval'), + _('Ping interval during failure detection')); + o.default = '5'; + o.value('1', _('%d second').format('1')); + o.value('3', _('%d seconds').format('3')); + o.value('5', _('%d seconds').format('5')); + o.value('10', _('%d seconds').format('10')); + o.value('20', _('%d seconds').format('20')); + o.value('30', _('%d seconds').format('30')); + o.value('60', _('%d minute').format('1')); + o.value('300', _('%d minutes').format('5')); + o.value('600', _('%d minutes').format('10')); + o.value('900', _('%d minutes').format('15')); + o.value('1800', _('%d minutes').format('30')); + o.value('3600', _('%d hour').format('1')); + o.modalonly = true; + + o = s.option(form.Flag, 'keep_failure_interval', _('Keep failure interval'), + _('Keep ping failure interval during failure state')); + o.default = false; + o.modalonly = true; + + o = s.option(form.ListValue, 'tries', _('Interface down'), + _('Interface will be deemed down after this many failed ping tests')); + o.default = '5'; + o.value('1'); + o.value('2'); + o.value('3'); + o.value('4'); + o.value('5'); + o.value('6'); + o.value('7'); + o.value('8'); + o.value('9'); + o.value('10'); + + o = s.option(form.ListValue, 'tries_up', _('Interface up'), + _('Downed interface will be deemed up after this many successful ping tests')); + o.default = "5"; + o.value('1'); + o.value('2'); + o.value('3'); + o.value('4'); + o.value('5'); + o.value('6'); + o.value('7'); + o.value('8'); + o.value('9'); + o.value('10'); + + o = s.option(form.Flag, 'restart_down', _('Restart if down'), + _('Restart interface if detected as down.')); + o.rmempty = false; + o.modalonly = true; + + + /* + o = s.option(form.DynamicList, 'flush_conntrack', _('Flush conntrack table'), + _('Flush global firewall conntrack table on interface events')); + o.value('ifup', _('ifup (netifd)')); + o.value('ifdown', _('ifdown (netifd)')); + o.modalonly = true; + */ + + return m.render(); + } +}) diff --git a/luci-app-omr-tracker/htdocs/luci-static/resources/view/omr-tracker/network/proxy.js b/luci-app-omr-tracker/htdocs/luci-static/resources/view/omr-tracker/network/proxy.js new file mode 100644 index 000000000..0a4b80e86 --- /dev/null +++ b/luci-app-omr-tracker/htdocs/luci-static/resources/view/omr-tracker/network/proxy.js @@ -0,0 +1,186 @@ +'use strict'; +'require form'; +'require fs'; +'require view'; +'require uci'; + +var cfgtypes = ['proxy']; + +return view.extend({ + load: function() { + return Promise.all([ + L.resolveDefault(fs.stat('/usr/bin/httping'), {}), + L.resolveDefault(fs.stat('/usr/bin/dig'), {}), +// L.resolveDefault(fs.stat('/usr/bin/nping'), {}), +// L.resolveDefault(fs.stat('/usr/bin/arping'), {}), + uci.load('network') + ]); + }, + + render: function (stats) { + var m, s, o; + + m = new form.Map('omr-tracker', _('OMR-Tracker - Proxy'), + _('Detect if proxy is down and stop redirection over it.')); + + //s = m.section(form.GridSection, 'defaults'); + s = m.section(form.GridSection); + //s.addremove = true; + s.anonymous = false; + s.nodescriptions = true; + s.cfgsections = function() { + return this.map.data.sections(this.map.config) + .filter(function(s) { return cfgtypes.indexOf(s['.type']) !== -1; }) + .map(function(s) { return s['.name']; }); + }; + + o = s.option(form.Flag, 'enabled', _('Enabled')); + o.default = false; + + o = s.option(form.ListValue, 'initial_state', _('Initial state'), + _('Expect interface state on up event')); + o.default = 'online'; + o.value('online', _('Online')); + o.value('offline', _('Offline')); + o.modalonly = true; + + o = s.option(form.ListValue, 'family', _('Internet Protocol')); + o.default = 'ipv4ipv6'; + //o.value('ipv4', _('IPv4')); + //o.value('ipv6', _('IPv6')); + o.value('ipv4ipv6', _('IPv4 & IPv6')); + o.modalonly = true; + + o = s.option(form.DynamicList, 'hosts', _('Tracking hostname or IP address'), + _('This hostname or IP address will be pinged to determine if the link is up or down. Leave blank to assume interface is always online')); + o.datatype = 'hosts'; + o.modalonly = true; + + o = s.option(form.DynamicList, 'hosts6', _('Tracking hostname or IP address for IPv6'), + _('This hostname or IP address will be pinged to determine if the link is up or down. Leave blank to assume interface is always online')); + o.datatype = 'hosts'; + o.modalonly = true; + o.depends('family', 'ipv4ipv6'); + o.depends('family', 'ipv6'); + + /* + o = s.option(form.Flag, 'httping_ssl', _('Enable ssl tracking'), + _('Enables https tracking on ssl port 443')); + o.depends('track_method', 'httping'); + o.rmempty = false; + o.modalonly = true; + */ + + o = s.option(form.Flag, 'mail_alert', _('Mail alert'), + _('Send a mail when connection status change. You need to configure e-mail settings here.')); + o.rmempty = false; + o.modalonly = true; + + +/* + o = s.option(form.Value, 'reliability', _('Tracking reliability'), + _('Acceptable values: 1-100. This many Tracking IP addresses must respond for the link to be deemed up')); + o.datatype = 'range(1, 100)'; + o.default = '1'; +*/ + o = s.option(form.ListValue, 'tries', _('Test count')); + o.default = '1'; + o.value('1'); + o.value('2'); + o.value('3'); + o.value('4'); + o.value('5'); + o.modalonly = true; + + o = s.option(form.ListValue, "timeout", _("Test timeout")); + o.default = '4'; + o.value('1', _('%d second').format('1')); + for (var i = 2; i <= 10; i++) + o.value(String(i), _('%d seconds').format(i)); + o.modalonly = true; + + o = s.option(form.ListValue, 'interval', _('Test interval')); + o.default = '10'; + o.value('1', _('%d second').format('1')); + o.value('3', _('%d seconds').format('3')); + o.value('5', _('%d seconds').format('5')); + o.value('10', _('%d seconds').format('10')); + o.value('20', _('%d seconds').format('20')); + o.value('30', _('%d seconds').format('30')); + o.value('60', _('%d minute').format('1')); + o.value('300', _('%d minutes').format('5')); + o.value('600', _('%d minutes').format('10')); + o.value('900', _('%d minutes').format('15')); + o.value('1800', _('%d minutes').format('30')); + o.value('3600', _('%d hour').format('1')); +/* + o = s.option(form.Value, 'failure_interval', _('Failure interval'), + _('Ping interval during failure detection')); + o.default = '5'; + o.value('1', _('%d second').format('1')); + o.value('3', _('%d seconds').format('3')); + o.value('5', _('%d seconds').format('5')); + o.value('10', _('%d seconds').format('10')); + o.value('20', _('%d seconds').format('20')); + o.value('30', _('%d seconds').format('30')); + o.value('60', _('%d minute').format('1')); + o.value('300', _('%d minutes').format('5')); + o.value('600', _('%d minutes').format('10')); + o.value('900', _('%d minutes').format('15')); + o.value('1800', _('%d minutes').format('30')); + o.value('3600', _('%d hour').format('1')); + o.modalonly = true; + + o = s.option(form.Flag, 'keep_failure_interval', _('Keep failure interval'), + _('Keep ping failure interval during failure state')); + o.default = false; + o.modalonly = true; + + o = s.option(form.Value, 'recovery_interval', _('Recovery interval'), + _('Ping interval during failure recovering')); + o.default = '5'; + o.value('1', _('%d second').format('1')); + o.value('3', _('%d seconds').format('3')); + o.value('5', _('%d seconds').format('5')); + o.value('10', _('%d seconds').format('10')); + o.value('20', _('%d seconds').format('20')); + o.value('30', _('%d seconds').format('30')); + o.value('60', _('%d minute').format('1')); + o.value('300', _('%d minutes').format('5')); + o.value('600', _('%d minutes').format('10')); + o.value('900', _('%d minutes').format('15')); + o.value('1800', _('%d minutes').format('30')); + o.value('3600', _('%d hour').format('1')); + o.modalonly = true; + + o = s.option(form.ListValue, 'tries', _('Proxy down'), + _('Proxy will be deemed down after this many failed tests')); + o.default = '5'; + o.value('1'); + o.value('2'); + o.value('3'); + o.value('4'); + o.value('5'); + o.value('6'); + o.value('7'); + o.value('8'); + o.value('9'); + o.value('10'); + + o = s.option(form.ListValue, 'tries_up', _('Interface up'), + _('Downed interface will be deemed up after this many successful ping tests')); + o.default = "5"; + o.value('1'); + o.value('2'); + o.value('3'); + o.value('4'); + o.value('5'); + o.value('6'); + o.value('7'); + o.value('8'); + o.value('9'); + o.value('10'); +*/ + return m.render(); + } +}) diff --git a/luci-app-omr-tracker/htdocs/luci-static/resources/view/omr-tracker/network/server.js b/luci-app-omr-tracker/htdocs/luci-static/resources/view/omr-tracker/network/server.js new file mode 100644 index 000000000..841095f28 --- /dev/null +++ b/luci-app-omr-tracker/htdocs/luci-static/resources/view/omr-tracker/network/server.js @@ -0,0 +1,216 @@ +'use strict'; +'require form'; +'require fs'; +'require view'; +'require uci'; + +var cfgtypes = ['server']; + +return view.extend({ + load: function() { + return Promise.all([ + L.resolveDefault(fs.stat('/usr/bin/httping'), {}), + L.resolveDefault(fs.stat('/usr/bin/dig'), {}), +// L.resolveDefault(fs.stat('/usr/bin/nping'), {}), +// L.resolveDefault(fs.stat('/usr/bin/arping'), {}), + uci.load('network') + ]); + }, + + render: function (stats) { + var m, s, o; + + m = new form.Map('omr-tracker', _('OMR-Tracker - Server'), + _('Detect if server is down and use defined backup server in this case.')); + + //s = m.section(form.GridSection, 'defaults'); + s = m.section(form.GridSection); + //s.addremove = true; + s.anonymous = false; + s.nodescriptions = true; + s.cfgsections = function() { + return this.map.data.sections(this.map.config) + .filter(function(s) { return cfgtypes.indexOf(s['.type']) !== -1; }) + .map(function(s) { return s['.name']; }); + }; + + o = s.option(form.Flag, 'enabled', _('Enabled')); + o.default = false; + + o = s.option(form.ListValue, 'initial_state', _('Initial state'), + _('Expect interface state on up event')); + o.default = 'online'; + o.value('online', _('Online')); + o.value('offline', _('Offline')); + o.modalonly = true; + + o = s.option(form.ListValue, 'type', _('Tracking method'),_('Check if VPS api answer or/and ping server IPs.')); + o.default = 'apiping'; + o.value('apiping',_('API & Ping')); + o.value('api',_('API')); + o.value('ping',_('Ping')); + o.value('none',_('None')); + + o = s.option(form.Flag, 'mail_alert', _('Mail alert'), + _('Send a mail when connection status change. You need to configure e-mail settings here.')); + o.rmempty = false; + o.modalonly = true; +/* + o = s.option(form.Value, 'reliability', _('Tracking reliability'), + _('Acceptable values: 1-100. This many Tracking IP addresses must respond for the link to be deemed up')); + o.datatype = 'range(1, 100)'; + o.default = '1'; +*/ + o = s.option(form.ListValue, 'tries', _('Test count')); + o.default = '1'; + o.value('1'); + o.value('2'); + o.value('3'); + o.value('4'); + o.value('5'); + o.modalonly = true; + + o = s.option(form.Flag, 'check_quality', _('Check link quality')); + o.depends('type', 'ping'); + o.depends('type', 'apiping'); + o.default = false; + o.modalonly = true; + + o = s.option(form.Value, 'failure_latency', _('Failure latency [ms]')); + o.depends('check_quality', '1'); + o.default = '1000'; + o.value('25'); + o.value('50'); + o.value('75'); + o.value('100'); + o.value('150'); + o.value('200'); + o.value('250'); + o.value('300'); + o.modalonly = true; + + o = s.option(form.Value, 'failure_loss', _('Failure packet loss [%]')); + o.depends('check_quality', '1'); + o.default = '40'; + o.value('2'); + o.value('5'); + o.value('10'); + o.value('20'); + o.value('25'); + o.modalonly = true; + + o = s.option(form.Value, 'recovery_latency', _('Recovery latency [ms]')); + o.depends('check_quality', '1'); + o.default = '500'; + o.value('25'); + o.value('50'); + o.value('75'); + o.value('100'); + o.value('150'); + o.value('200'); + o.value('250'); + o.value('300'); + o.modalonly = true; + + o = s.option(form.Value, 'recovery_loss', _('Recovery packet loss [%]')); + o.depends('check_quality', '1'); + o.default = '10'; + o.value('2'); + o.value('5'); + o.value('10'); + o.value('20'); + o.value('25'); + o.modalonly = true; + + o = s.option(form.ListValue, "timeout", _("Test timeout")); + o.default = '4'; + o.value('1', _('%d second').format('1')); + for (var i = 2; i <= 10; i++) + o.value(String(i), _('%d seconds').format(i)); + o.modalonly = true; + + o = s.option(form.ListValue, 'interval', _('Test interval')); + o.default = '10'; + o.value('1', _('%d second').format('1')); + o.value('3', _('%d seconds').format('3')); + o.value('5', _('%d seconds').format('5')); + o.value('10', _('%d seconds').format('10')); + o.value('20', _('%d seconds').format('20')); + o.value('30', _('%d seconds').format('30')); + o.value('60', _('%d minute').format('1')); + o.value('300', _('%d minutes').format('5')); + o.value('600', _('%d minutes').format('10')); + o.value('900', _('%d minutes').format('15')); + o.value('1800', _('%d minutes').format('30')); + o.value('3600', _('%d hour').format('1')); +/* + o = s.option(form.Value, 'failure_interval', _('Failure interval'), + _('Ping interval during failure detection')); + o.default = '5'; + o.value('1', _('%d second').format('1')); + o.value('3', _('%d seconds').format('3')); + o.value('5', _('%d seconds').format('5')); + o.value('10', _('%d seconds').format('10')); + o.value('20', _('%d seconds').format('20')); + o.value('30', _('%d seconds').format('30')); + o.value('60', _('%d minute').format('1')); + o.value('300', _('%d minutes').format('5')); + o.value('600', _('%d minutes').format('10')); + o.value('900', _('%d minutes').format('15')); + o.value('1800', _('%d minutes').format('30')); + o.value('3600', _('%d hour').format('1')); + o.modalonly = true; + + o = s.option(form.Flag, 'keep_failure_interval', _('Keep failure interval'), + _('Keep ping failure interval during failure state')); + o.default = false; + o.modalonly = true; + + o = s.option(form.Value, 'recovery_interval', _('Recovery interval'), + _('Ping interval during failure recovering')); + o.default = '5'; + o.value('1', _('%d second').format('1')); + o.value('3', _('%d seconds').format('3')); + o.value('5', _('%d seconds').format('5')); + o.value('10', _('%d seconds').format('10')); + o.value('20', _('%d seconds').format('20')); + o.value('30', _('%d seconds').format('30')); + o.value('60', _('%d minute').format('1')); + o.value('300', _('%d minutes').format('5')); + o.value('600', _('%d minutes').format('10')); + o.value('900', _('%d minutes').format('15')); + o.value('1800', _('%d minutes').format('30')); + o.value('3600', _('%d hour').format('1')); + o.modalonly = true; + + o = s.option(form.ListValue, 'down', _('Interface down'), + _('Interface will be deemed down after this many failed ping tests')); + o.default = '5'; + o.value('1'); + o.value('2'); + o.value('3'); + o.value('4'); + o.value('5'); + o.value('6'); + o.value('7'); + o.value('8'); + o.value('9'); + o.value('10'); + + o = s.option(form.ListValue, 'up', _('Interface up'), + _('Downed interface will be deemed up after this many successful ping tests')); + o.default = "5"; + o.value('1'); + o.value('2'); + o.value('3'); + o.value('4'); + o.value('5'); + o.value('6'); + o.value('7'); + o.value('8'); + o.value('9'); + o.value('10'); +*/ + return m.render(); + } +}) diff --git a/luci-app-omr-tracker/luasrc/controller/omr-tracker.lua b/luci-app-omr-tracker/luasrc/controller/omr-tracker.lua deleted file mode 100644 index a4fcb23e7..000000000 --- a/luci-app-omr-tracker/luasrc/controller/omr-tracker.lua +++ /dev/null @@ -1,6 +0,0 @@ -module("luci.controller.omr-tracker", package.seeall) - -function index() - --entry({"admin", "openmptcprouter", "omr-tracker"}, cbi("omr-tracker"), _("OMR-Tracker")) - entry({"admin", "services", "omr-tracker"}, cbi("omr-tracker"), _("OMR-Tracker")) -end diff --git a/luci-app-omr-tracker/luasrc/model/cbi/omr-tracker.lua b/luci-app-omr-tracker/luasrc/model/cbi/omr-tracker.lua deleted file mode 100644 index 99dd33fde..000000000 --- a/luci-app-omr-tracker/luasrc/model/cbi/omr-tracker.lua +++ /dev/null @@ -1,138 +0,0 @@ -local net = require "luci.model.network".init() -local sys = require "luci.sys" -local m, s, o - -m = Map("omr-tracker", translate("OMR-Tracker")) - -s = m:section(TypedSection, "shadowsocks", translate("ShadowSocks tracker Settings"), translate("Detect if ShadowSocks is down and stop traffic redirection over it.")) -s.anonymous = true -s.addremove = false - -local sdata = m:get('shadowsocks') -if not sdata then - m:set('shadowsocks', nil, 'shadowsocks') - m:set('shadowsocks', 'enabled', "1") -end - -o = s:option(Flag, "enabled", translate("Enable"), translate("When tracker is disabled, connection failover is also disabled")) -o.rmempty = false - -o = s:option(Value, "timeout", translate("Timeout (s)")) -o.placeholder = "1" -o.default = "1" -o.datatype = "range(1, 100)" -o.rmempty = false - -o = s:option(Value, "tries", translate("Tries")) -o.placeholder = "4" -o.default = "4" -o.datatype = "range(1, 10)" -o.rmempty = false - -o = s:option(Value, "interval", translate("Retry interval (s)")) -o.placeholder = "2" -o.default = "2" -o.datatype = "range(1, 100)" -o.rmempty = false - -o = s:option(DynamicList, "hosts", translate("Hosts"), translate("IPs or domains must be available over http")) -o.placeholder = "bing.com" -o.default = { "bing.com", "google.com" } -o.rmempty = false - - -s = m:section(TypedSection, "defaults", translate("Defaults Settings"), translate("OMR-Tracker detect when a connection is down and execute needed scripts")) -s.anonymous = true - -o = s:option(Flag, "enabled", translate("Enable"), translate("When tracker is disabled, connection failover is also disabled")) -o.rmempty = false - -o = s:option(Value, "timeout", translate("Timeout (s)")) -o.placeholder = "1" -o.default = "1" -o.datatype = "range(1, 100)" -o.rmempty = false - -o = s:option(Value, "tries", translate("Tries")) -o.placeholder = "4" -o.default = "4" -o.datatype = "range(1, 10)" -o.rmempty = false - -o = s:option(Value, "interval", translate("Retry interval (s)")) -o.placeholder = "2" -o.default = "2" -o.datatype = "range(1, 100)" -o.rmempty = false - -o = s:option(ListValue, "type", translate("Type"), translate("Always ping gateway, then test connection by ping, httping or dns. None mode only ping gateway.")) -o:value("ping","ping") -o:value("httping","httping") -o:value("dns","dns") -o:value("none","none") - -o = s:option(Flag, "mail_alert", translate("Mail alert"), translate("Send a mail when connection state change")) -o.optional = false -o.rmempty = false -o.default = false -o.disabled = 0 -o.enabled = 1 - -o = s:option(DynamicList, "hosts", translate("Hosts"),translate("Must be IPs and not domains")) -o.placeholder = "4.2.2.1" -o.default = { "4.2.2.1", "8.8.8.8" } -o.rmempty = false - -s = m:section(TypedSection, "interface", translate("Interfaces")) -s.template_addremove = "omr-tracker/cbi-select-add" -s.addremove = true -s.add_select_options = { } -s.add_select_options[''] = '' -for _, iface in ipairs(net:get_networks()) do - if not (iface:name() == "loopback") then - s.add_select_options[iface:name()] = iface:name() - end -end - -o = s:option(Flag, "enabled", translate("Enable")) -o.rmempty = false - -o = s:option(Value, "timeout", translate("Timeout (s)")) -o.placeholder = "1" -o.default = "1" -o.datatype = "range(1, 100)" -o.rmempty = false - -o = s:option(Value, "tries", translate("Tries")) -o.placeholder = "4" -o.default = "4" -o.datatype = "range(1, 10)" -o.rmempty = false - -o = s:option(Value, "interval", translate("Retry interval (s)")) -o.placeholder = "2" -o.default = "2" -o.datatype = "range(1, 100)" -o.rmempty = false - -o = s:option(ListValue, "type", translate("Type"), translate("Always ping gateway, then test connection by ping, httping or dns. None mode only ping gateway.")) -o:value("ping","ping") -o:value("httping","httping") -o:value("dns","dns") -o:value("none","none") - -o = s:option(Flag, "mail_alert", translate("Mail alert"), translate("Send a mail when connection status change. You need to configure e-mail settings
here.")) -o.optional = false -o.rmempty = false -o.default = false -o.disabled = 0 -o.enabled = 1 - - -o = s:option(DynamicList, "hosts", translate("Hosts")) -o.placeholder = "4.2.2.1" -o.default = { "4.2.2.1", "8.8.8.8" } -o.rmempty = false - - -return m diff --git a/luci-app-omr-tracker/luasrc/view/omr-tracker/cbi-select-add.htm b/luci-app-omr-tracker/luasrc/view/omr-tracker/cbi-select-add.htm deleted file mode 100644 index 9ee30d310..000000000 --- a/luci-app-omr-tracker/luasrc/view/omr-tracker/cbi-select-add.htm +++ /dev/null @@ -1,10 +0,0 @@ -
- <% if self.invalid_cts then -%>
<% end %> - - - <% if self.invalid_cts then %>
<%:Invalid%>
<% end %> -
diff --git a/luci-app-omr-tracker/po/de/omr-tracker.po b/luci-app-omr-tracker/po/de/omr-tracker.po new file mode 100644 index 000000000..5a60906e0 --- /dev/null +++ b/luci-app-omr-tracker/po/de/omr-tracker.po @@ -0,0 +1,175 @@ +msgid "" +msgstr "" +"PO-Revision-Date: 2020-08-14 08:04+0000\n" +"Last-Translator: Andreas Dorfer \n" +"Language-Team: German \n" +"Language: de\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Generator: Weblate 4.0.4\n" + +#: luci-app-omr-tracker/luasrc/view/omr-tracker/cbi-select-add.htm:8 +msgid "Add" +msgstr "" + +#: luci-app-omr-tracker/luasrc/model/cbi/omr-tracker.lua:117 +#: luci-app-omr-tracker/luasrc/model/cbi/omr-tracker.lua:192 +#, fuzzy +msgid "" +"Always ping gateway, then test connection by ping, httping or dns. None mode " +"only ping gateway." +msgstr "" +"Die Auswahl 'immer' prüft den Server auf ping und dann alle Anschlüsse auf " +"Ping und DNS-Verfügbarkeit. 'nie' führt nur Server-Pings durch." + +#: luci-app-omr-tracker/luasrc/model/cbi/omr-tracker.lua:123 +#: luci-app-omr-tracker/luasrc/model/cbi/omr-tracker.lua:198 +msgid "Check if connection work with http by sending a request to server" +msgstr "" + +#: luci-app-omr-tracker/luasrc/model/cbi/omr-tracker.lua:87 +msgid "Defaults Settings" +msgstr "Werkseinstellungen" + +#: luci-app-omr-tracker/luasrc/model/cbi/omr-tracker.lua:7 +msgid "Detect if Proxy is down and stop traffic redirection over it." +msgstr "" + +#: luci-app-omr-tracker/luasrc/model/cbi/omr-tracker.lua:50 +msgid "Detect if Server is down and use defined backup server in this case." +msgstr "" + +#: luci-app-omr-tracker/luasrc/model/cbi/omr-tracker.lua:17 +#: luci-app-omr-tracker/luasrc/model/cbi/omr-tracker.lua:60 +#: luci-app-omr-tracker/luasrc/model/cbi/omr-tracker.lua:90 +#: luci-app-omr-tracker/luasrc/model/cbi/omr-tracker.lua:165 +msgid "Enable" +msgstr "" + +#: luci-app-omr-tracker/root/usr/share/rpcd/acl.d/luci-app-omr-tracker.json:3 +msgid "Grant UCI access for luci-app-omr-tracker" +msgstr "" + +#: luci-app-omr-tracker/luasrc/model/cbi/omr-tracker.lua:44 +#: luci-app-omr-tracker/luasrc/model/cbi/omr-tracker.lua:144 +#: luci-app-omr-tracker/luasrc/model/cbi/omr-tracker.lua:219 +msgid "Hosts" +msgstr "Hostsysteme" + +#: luci-app-omr-tracker/luasrc/model/cbi/omr-tracker.lua:149 +#: luci-app-omr-tracker/luasrc/model/cbi/omr-tracker.lua:224 +msgid "Hosts IPv6" +msgstr "" + +#: luci-app-omr-tracker/luasrc/model/cbi/omr-tracker.lua:44 +msgid "IPs or domains must be available over http" +msgstr "" + +#: luci-app-omr-tracker/luasrc/model/cbi/omr-tracker.lua:154 +msgid "Interfaces" +msgstr "" + +#: luci-app-omr-tracker/luasrc/view/omr-tracker/cbi-select-add.htm:9 +msgid "Invalid" +msgstr "" + +#: luci-app-omr-tracker/luasrc/model/cbi/omr-tracker.lua:130 +#: luci-app-omr-tracker/luasrc/model/cbi/omr-tracker.lua:205 +msgid "Mail alert" +msgstr "" + +#: luci-app-omr-tracker/luasrc/model/cbi/omr-tracker.lua:144 +#: luci-app-omr-tracker/luasrc/model/cbi/omr-tracker.lua:149 +#: luci-app-omr-tracker/luasrc/model/cbi/omr-tracker.lua:219 +#: luci-app-omr-tracker/luasrc/model/cbi/omr-tracker.lua:224 +msgid "Must be IPs and not domains" +msgstr "" + +#: luci-app-omr-tracker/luasrc/controller/omr-tracker.lua:5 +#: luci-app-omr-tracker/luasrc/model/cbi/omr-tracker.lua:5 +#: luci-app-omr-tracker/root/usr/share/luci/menu.d/luci-app-omr-tracker.json:3 +msgid "OMR-Tracker" +msgstr "OMR-Tracker" + +#: luci-app-omr-tracker/luasrc/model/cbi/omr-tracker.lua:87 +#, fuzzy +msgid "" +"OMR-Tracker create needed routes and detect when a connection is down or up" +msgstr "Der OMR_Tracker erkennt Störungen an Anschlüssen." + +#: luci-app-omr-tracker/luasrc/model/cbi/omr-tracker.lua:7 +msgid "Proxy tracker Settings" +msgstr "" + +#: luci-app-omr-tracker/luasrc/model/cbi/omr-tracker.lua:137 +#: luci-app-omr-tracker/luasrc/model/cbi/omr-tracker.lua:212 +msgid "Restart if down" +msgstr "" + +#: luci-app-omr-tracker/luasrc/model/cbi/omr-tracker.lua:137 +#: luci-app-omr-tracker/luasrc/model/cbi/omr-tracker.lua:212 +msgid "Restart interface if detected as down" +msgstr "" + +#: luci-app-omr-tracker/luasrc/model/cbi/omr-tracker.lua:32 +#: luci-app-omr-tracker/luasrc/model/cbi/omr-tracker.lua:75 +#: luci-app-omr-tracker/luasrc/model/cbi/omr-tracker.lua:105 +#: luci-app-omr-tracker/luasrc/model/cbi/omr-tracker.lua:180 +msgid "Retry interval (s)" +msgstr "Wiederhol-Abstand (in Sekunden)" + +#: luci-app-omr-tracker/luasrc/model/cbi/omr-tracker.lua:130 +msgid "Send a mail when connection state change" +msgstr "" + +#: luci-app-omr-tracker/luasrc/model/cbi/omr-tracker.lua:205 +msgid "" +"Send a mail when connection status change. You need to configure e-mail " +"settings here." +msgstr "" + +#: luci-app-omr-tracker/luasrc/model/cbi/omr-tracker.lua:123 +#: luci-app-omr-tracker/luasrc/model/cbi/omr-tracker.lua:198 +msgid "Server http test" +msgstr "" + +#: luci-app-omr-tracker/luasrc/model/cbi/omr-tracker.lua:50 +msgid "Server tracker Settings" +msgstr "" + +#: luci-app-omr-tracker/luasrc/model/cbi/omr-tracker.lua:20 +#: luci-app-omr-tracker/luasrc/model/cbi/omr-tracker.lua:63 +#: luci-app-omr-tracker/luasrc/model/cbi/omr-tracker.lua:93 +#: luci-app-omr-tracker/luasrc/model/cbi/omr-tracker.lua:168 +msgid "Timeout (s)" +msgstr "Wartezeit (in Sekunden)" + +#: luci-app-omr-tracker/luasrc/model/cbi/omr-tracker.lua:26 +#: luci-app-omr-tracker/luasrc/model/cbi/omr-tracker.lua:69 +#: luci-app-omr-tracker/luasrc/model/cbi/omr-tracker.lua:99 +#: luci-app-omr-tracker/luasrc/model/cbi/omr-tracker.lua:174 +msgid "Tries" +msgstr "Versuche" + +#: luci-app-omr-tracker/luasrc/model/cbi/omr-tracker.lua:117 +#: luci-app-omr-tracker/luasrc/model/cbi/omr-tracker.lua:192 +msgid "Type" +msgstr "Typ" + +#: luci-app-omr-tracker/luasrc/model/cbi/omr-tracker.lua:38 +#: luci-app-omr-tracker/luasrc/model/cbi/omr-tracker.lua:81 +#: luci-app-omr-tracker/luasrc/model/cbi/omr-tracker.lua:111 +#: luci-app-omr-tracker/luasrc/model/cbi/omr-tracker.lua:186 +msgid "Wait after a failed test (s)" +msgstr "" + +#: luci-app-omr-tracker/luasrc/model/cbi/omr-tracker.lua:17 +#: luci-app-omr-tracker/luasrc/model/cbi/omr-tracker.lua:90 +msgid "When tracker is disabled, connection failover is also disabled" +msgstr "" + +#: luci-app-omr-tracker/luasrc/model/cbi/omr-tracker.lua:60 +msgid "When tracker is disabled, server failover is also disabled" +msgstr "" diff --git a/luci-app-omr-tracker/po/de/omr-tracker.po~ b/luci-app-omr-tracker/po/de/omr-tracker.po~ new file mode 100644 index 000000000..41b194360 --- /dev/null +++ b/luci-app-omr-tracker/po/de/omr-tracker.po~ @@ -0,0 +1,151 @@ +msgid "" +msgstr "" +"PO-Revision-Date: 2020-08-14 08:04+0000\n" +"Last-Translator: Andreas Dorfer \n" +"Language-Team: German \n" +"Language: de\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Generator: Weblate 4.0.4\n" + +#: luci-app-omr-tracker/luasrc/view/omr-tracker/cbi-select-add.htm:8 +msgid "Add" +msgstr "" + +#: luci-app-omr-tracker/luasrc/model/cbi/omr-tracker.lua:117 +#: luci-app-omr-tracker/luasrc/model/cbi/omr-tracker.lua:173 +#, fuzzy +#| msgid "" +#| "Always ping gateway, then test connection by ping or dns. None mode only " +#| "ping gateway." +msgid "" +"Always ping gateway, then test connection by ping, httping or dns. None mode " +"only ping gateway." +msgstr "" +"Die Auswahl 'immer' prüft den Server auf ping und dann alle Anschlüsse auf " +"Ping und DNS-Verfügbarkeit. 'nie' führt nur Server-Pings durch." + +#: luci-app-omr-tracker/luasrc/model/cbi/omr-tracker.lua:87 +msgid "Defaults Settings" +msgstr "Werkseinstellungen" + +#: luci-app-omr-tracker/luasrc/model/cbi/omr-tracker.lua:7 +msgid "Detect if Proxy is down and stop traffic redirection over it." +msgstr "" + +#: luci-app-omr-tracker/luasrc/model/cbi/omr-tracker.lua:50 +msgid "Detect if Server is down and use defined backup server in this case." +msgstr "" + +#: luci-app-omr-tracker/luasrc/model/cbi/omr-tracker.lua:17 +#: luci-app-omr-tracker/luasrc/model/cbi/omr-tracker.lua:60 +#: luci-app-omr-tracker/luasrc/model/cbi/omr-tracker.lua:90 +#: luci-app-omr-tracker/luasrc/model/cbi/omr-tracker.lua:146 +msgid "Enable" +msgstr "" + +#: luci-app-omr-tracker/root/usr/share/rpcd/acl.d/luci-app-omr-tracker.json:3 +msgid "Grant UCI access for luci-app-omr-tracker" +msgstr "" + +#: luci-app-omr-tracker/luasrc/model/cbi/omr-tracker.lua:44 +#: luci-app-omr-tracker/luasrc/model/cbi/omr-tracker.lua:130 +#: luci-app-omr-tracker/luasrc/model/cbi/omr-tracker.lua:187 +msgid "Hosts" +msgstr "Hostsysteme" + +#: luci-app-omr-tracker/luasrc/model/cbi/omr-tracker.lua:44 +msgid "IPs or domains must be available over http" +msgstr "" + +#: luci-app-omr-tracker/luasrc/model/cbi/omr-tracker.lua:135 +msgid "Interfaces" +msgstr "" + +#: luci-app-omr-tracker/luasrc/view/omr-tracker/cbi-select-add.htm:9 +msgid "Invalid" +msgstr "" + +#: luci-app-omr-tracker/luasrc/model/cbi/omr-tracker.lua:123 +#: luci-app-omr-tracker/luasrc/model/cbi/omr-tracker.lua:179 +msgid "Mail alert" +msgstr "" + +#: luci-app-omr-tracker/luasrc/model/cbi/omr-tracker.lua:130 +msgid "Must be IPs and not domains" +msgstr "" + +#: luci-app-omr-tracker/luasrc/controller/omr-tracker.lua:5 +#: luci-app-omr-tracker/luasrc/model/cbi/omr-tracker.lua:5 +#: luci-app-omr-tracker/root/usr/share/luci/menu.d/luci-app-omr-tracker.json:3 +msgid "OMR-Tracker" +msgstr "OMR-Tracker" + +#: luci-app-omr-tracker/luasrc/model/cbi/omr-tracker.lua:87 +#, fuzzy +#| msgid "OMR-Tracker detect when a connection is down" +msgid "" +"OMR-Tracker create needed routes and detect when a connection is down or up" +msgstr "Der OMR_Tracker erkennt Störungen an Anschlüssen." + +#: luci-app-omr-tracker/luasrc/model/cbi/omr-tracker.lua:7 +msgid "Proxy tracker Settings" +msgstr "" + +#: luci-app-omr-tracker/luasrc/model/cbi/omr-tracker.lua:32 +#: luci-app-omr-tracker/luasrc/model/cbi/omr-tracker.lua:75 +#: luci-app-omr-tracker/luasrc/model/cbi/omr-tracker.lua:105 +#: luci-app-omr-tracker/luasrc/model/cbi/omr-tracker.lua:161 +msgid "Retry interval (s)" +msgstr "Wiederhol-Abstand (in Sekunden)" + +#: luci-app-omr-tracker/luasrc/model/cbi/omr-tracker.lua:123 +msgid "Send a mail when connection state change" +msgstr "" + +#: luci-app-omr-tracker/luasrc/model/cbi/omr-tracker.lua:179 +msgid "" +"Send a mail when connection status change. You need to configure e-mail " +"settings here." +msgstr "" + +#: luci-app-omr-tracker/luasrc/model/cbi/omr-tracker.lua:50 +msgid "Server tracker Settings" +msgstr "" + +#: luci-app-omr-tracker/luasrc/model/cbi/omr-tracker.lua:20 +#: luci-app-omr-tracker/luasrc/model/cbi/omr-tracker.lua:63 +#: luci-app-omr-tracker/luasrc/model/cbi/omr-tracker.lua:93 +#: luci-app-omr-tracker/luasrc/model/cbi/omr-tracker.lua:149 +msgid "Timeout (s)" +msgstr "Wartezeit (in Sekunden)" + +#: luci-app-omr-tracker/luasrc/model/cbi/omr-tracker.lua:26 +#: luci-app-omr-tracker/luasrc/model/cbi/omr-tracker.lua:69 +#: luci-app-omr-tracker/luasrc/model/cbi/omr-tracker.lua:99 +#: luci-app-omr-tracker/luasrc/model/cbi/omr-tracker.lua:155 +msgid "Tries" +msgstr "Versuche" + +#: luci-app-omr-tracker/luasrc/model/cbi/omr-tracker.lua:117 +#: luci-app-omr-tracker/luasrc/model/cbi/omr-tracker.lua:173 +msgid "Type" +msgstr "Typ" + +#: luci-app-omr-tracker/luasrc/model/cbi/omr-tracker.lua:38 +#: luci-app-omr-tracker/luasrc/model/cbi/omr-tracker.lua:81 +#: luci-app-omr-tracker/luasrc/model/cbi/omr-tracker.lua:111 +#: luci-app-omr-tracker/luasrc/model/cbi/omr-tracker.lua:167 +msgid "Wait after a failed test (s)" +msgstr "" + +#: luci-app-omr-tracker/luasrc/model/cbi/omr-tracker.lua:17 +#: luci-app-omr-tracker/luasrc/model/cbi/omr-tracker.lua:90 +msgid "When tracker is disabled, connection failover is also disabled" +msgstr "" + +#: luci-app-omr-tracker/luasrc/model/cbi/omr-tracker.lua:60 +msgid "When tracker is disabled, server failover is also disabled" +msgstr "" diff --git a/luci-app-omr-tracker/po/fr/omr-tracker.po b/luci-app-omr-tracker/po/fr/omr-tracker.po index 9ff2772b6..16d168881 100644 --- a/luci-app-omr-tracker/po/fr/omr-tracker.po +++ b/luci-app-omr-tracker/po/fr/omr-tracker.po @@ -1,44 +1,189 @@ msgid "" msgstr "" -"Content-Type: text/plain; charset=UTF-8\n" "Project-Id-Version: \n" "POT-Creation-Date: \n" -"PO-Revision-Date: \n" -"Language-Team: \n" -"MIME-Version: 1.0\n" -"Content-Transfer-Encoding: 8bit\n" -"X-Generator: Poedit 2.0.6\n" -"Last-Translator: Ycarus \n" -"Plural-Forms: nplurals=2; plural=(n > 1);\n" +"PO-Revision-Date: 2021-05-17 17:36+0000\n" +"Last-Translator: Weblate Admin \n" +"Language-Team: French \n" "Language: fr\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=n > 1;\n" +"X-Generator: Weblate 4.6.1\n" +#: luci-app-omr-tracker/luasrc/view/omr-tracker/cbi-select-add.htm:8 +msgid "Add" +msgstr "Ajouter" + +#: luci-app-omr-tracker/luasrc/model/cbi/omr-tracker.lua:117 +#: luci-app-omr-tracker/luasrc/model/cbi/omr-tracker.lua:192 msgid "" -"Always ping gateway, then test connection by ping or dns. None mode only " -"ping gateway." +"Always ping gateway, then test connection by ping, httping or dns. None mode " +"only ping gateway." msgstr "" -"Ping toujours la passerelle, puis teste la connexion par ping ou DNS. Le " -"mode \"none\" ping uniquement la passerelle." +"Ping toujours la passerelle, puis teste la connexion par ping, httping ou " +"DNS. Le mode \"none\" ping uniquement la passerelle." +#: luci-app-omr-tracker/luasrc/model/cbi/omr-tracker.lua:123 +#: luci-app-omr-tracker/luasrc/model/cbi/omr-tracker.lua:198 +msgid "Check if connection work with http by sending a request to server" +msgstr "" +"Vérifiez si la connexion fonctionne avec http en envoyant une demande au " +"serveur" + +#: luci-app-omr-tracker/luasrc/model/cbi/omr-tracker.lua:87 msgid "Defaults Settings" msgstr "Paramètres par défaut" +#: luci-app-omr-tracker/luasrc/model/cbi/omr-tracker.lua:7 +msgid "Detect if Proxy is down and stop traffic redirection over it." +msgstr "" +"Détectez si le proxy est en panne et arrêtez la redirection du trafic dessus." + +#: luci-app-omr-tracker/luasrc/model/cbi/omr-tracker.lua:50 +msgid "Detect if Server is down and use defined backup server in this case." +msgstr "" +"Détectez si le serveur est en panne et utilisez le serveur de sauvegarde " +"défini dans ce cas." + +#: luci-app-omr-tracker/luasrc/model/cbi/omr-tracker.lua:17 +#: luci-app-omr-tracker/luasrc/model/cbi/omr-tracker.lua:60 +#: luci-app-omr-tracker/luasrc/model/cbi/omr-tracker.lua:90 +#: luci-app-omr-tracker/luasrc/model/cbi/omr-tracker.lua:165 +msgid "Enable" +msgstr "Activer" + +#: luci-app-omr-tracker/root/usr/share/rpcd/acl.d/luci-app-omr-tracker.json:3 +msgid "Grant UCI access for luci-app-omr-tracker" +msgstr "Accorder l'accès UCI pour luci-app-tracker" + +#: luci-app-omr-tracker/luasrc/model/cbi/omr-tracker.lua:44 +#: luci-app-omr-tracker/luasrc/model/cbi/omr-tracker.lua:144 +#: luci-app-omr-tracker/luasrc/model/cbi/omr-tracker.lua:219 msgid "Hosts" msgstr "Hôtes" +#: luci-app-omr-tracker/luasrc/model/cbi/omr-tracker.lua:149 +#: luci-app-omr-tracker/luasrc/model/cbi/omr-tracker.lua:224 +msgid "Hosts IPv6" +msgstr "Hôtes IPv6" + +#: luci-app-omr-tracker/luasrc/model/cbi/omr-tracker.lua:44 +msgid "IPs or domains must be available over http" +msgstr "Les adresses IP ou les domaines doivent être disponibles via http" + +#: luci-app-omr-tracker/luasrc/model/cbi/omr-tracker.lua:154 +msgid "Interfaces" +msgstr "Interfaces" + +#: luci-app-omr-tracker/luasrc/view/omr-tracker/cbi-select-add.htm:9 +msgid "Invalid" +msgstr "Invalide" + +#: luci-app-omr-tracker/luasrc/model/cbi/omr-tracker.lua:130 +#: luci-app-omr-tracker/luasrc/model/cbi/omr-tracker.lua:205 +msgid "Mail alert" +msgstr "Alerte mail" + +#: luci-app-omr-tracker/luasrc/model/cbi/omr-tracker.lua:144 +#: luci-app-omr-tracker/luasrc/model/cbi/omr-tracker.lua:149 +#: luci-app-omr-tracker/luasrc/model/cbi/omr-tracker.lua:219 +#: luci-app-omr-tracker/luasrc/model/cbi/omr-tracker.lua:224 +msgid "Must be IPs and not domains" +msgstr "Doit être des adresses IP et non des domaines" + +#: luci-app-omr-tracker/luasrc/controller/omr-tracker.lua:5 +#: luci-app-omr-tracker/luasrc/model/cbi/omr-tracker.lua:5 +#: luci-app-omr-tracker/root/usr/share/luci/menu.d/luci-app-omr-tracker.json:3 msgid "OMR-Tracker" +msgstr "OMR-Tracker" + +#: luci-app-omr-tracker/luasrc/model/cbi/omr-tracker.lua:87 +msgid "" +"OMR-Tracker create needed routes and detect when a connection is down or up" msgstr "" +"OMR-Tracker crée les routes nécessaires et détecte lorsqu'une connexion est " +"en panne" -msgid "OMR-Tracker detect when a connection is down" -msgstr "OMR-Tracker détecte quand une connexion ne fonctionne plus" +#: luci-app-omr-tracker/luasrc/model/cbi/omr-tracker.lua:7 +msgid "Proxy tracker Settings" +msgstr "Paramètres de suivi du proxy" +#: luci-app-omr-tracker/luasrc/model/cbi/omr-tracker.lua:137 +#: luci-app-omr-tracker/luasrc/model/cbi/omr-tracker.lua:212 +msgid "Restart if down" +msgstr "Redémarrer si en panne" + +#: luci-app-omr-tracker/luasrc/model/cbi/omr-tracker.lua:137 +#: luci-app-omr-tracker/luasrc/model/cbi/omr-tracker.lua:212 +msgid "Restart interface if detected as down" +msgstr "Redémarrez l'interface si elle est détectée comme étant en panne" + +#: luci-app-omr-tracker/luasrc/model/cbi/omr-tracker.lua:32 +#: luci-app-omr-tracker/luasrc/model/cbi/omr-tracker.lua:75 +#: luci-app-omr-tracker/luasrc/model/cbi/omr-tracker.lua:105 +#: luci-app-omr-tracker/luasrc/model/cbi/omr-tracker.lua:180 msgid "Retry interval (s)" msgstr "Intervalle entre les essais (s)" +#: luci-app-omr-tracker/luasrc/model/cbi/omr-tracker.lua:130 +msgid "Send a mail when connection state change" +msgstr "Envoyer un e-mail lorsque l'état de la connexion change" + +#: luci-app-omr-tracker/luasrc/model/cbi/omr-tracker.lua:205 +msgid "" +"Send a mail when connection status change. You need to configure e-mail " +"settings here." +msgstr "" +"Envoyer un mail lorsque l'état de la connexion change. Vous devez configurer " +"les paramètres e-mail ici." + +#: luci-app-omr-tracker/luasrc/model/cbi/omr-tracker.lua:123 +#: luci-app-omr-tracker/luasrc/model/cbi/omr-tracker.lua:198 +msgid "Server http test" +msgstr "Test http du serveur" + +#: luci-app-omr-tracker/luasrc/model/cbi/omr-tracker.lua:50 +msgid "Server tracker Settings" +msgstr "Paramètres de suivi du serveur" + +#: luci-app-omr-tracker/luasrc/model/cbi/omr-tracker.lua:20 +#: luci-app-omr-tracker/luasrc/model/cbi/omr-tracker.lua:63 +#: luci-app-omr-tracker/luasrc/model/cbi/omr-tracker.lua:93 +#: luci-app-omr-tracker/luasrc/model/cbi/omr-tracker.lua:168 msgid "Timeout (s)" msgstr "Délais d'attente (s)" +#: luci-app-omr-tracker/luasrc/model/cbi/omr-tracker.lua:26 +#: luci-app-omr-tracker/luasrc/model/cbi/omr-tracker.lua:69 +#: luci-app-omr-tracker/luasrc/model/cbi/omr-tracker.lua:99 +#: luci-app-omr-tracker/luasrc/model/cbi/omr-tracker.lua:174 msgid "Tries" msgstr "Essais" +#: luci-app-omr-tracker/luasrc/model/cbi/omr-tracker.lua:117 +#: luci-app-omr-tracker/luasrc/model/cbi/omr-tracker.lua:192 msgid "Type" +msgstr "Type" + +#: luci-app-omr-tracker/luasrc/model/cbi/omr-tracker.lua:38 +#: luci-app-omr-tracker/luasrc/model/cbi/omr-tracker.lua:81 +#: luci-app-omr-tracker/luasrc/model/cbi/omr-tracker.lua:111 +#: luci-app-omr-tracker/luasrc/model/cbi/omr-tracker.lua:186 +msgid "Wait after a failed test (s)" +msgstr "Attendre après un test échoué (s)" + +#: luci-app-omr-tracker/luasrc/model/cbi/omr-tracker.lua:17 +#: luci-app-omr-tracker/luasrc/model/cbi/omr-tracker.lua:90 +msgid "When tracker is disabled, connection failover is also disabled" msgstr "" +"Lorsque le tracker est désactivé, le basculement de connexion est également " +"désactivé" + +#: luci-app-omr-tracker/luasrc/model/cbi/omr-tracker.lua:60 +msgid "When tracker is disabled, server failover is also disabled" +msgstr "" +"Lorsque le tracker est désactivé, le basculement du serveur est également " +"désactivé" diff --git a/luci-app-omr-tracker/po/fr/omr-tracker.po~ b/luci-app-omr-tracker/po/fr/omr-tracker.po~ new file mode 100644 index 000000000..7cb6f825e --- /dev/null +++ b/luci-app-omr-tracker/po/fr/omr-tracker.po~ @@ -0,0 +1,159 @@ +msgid "" +msgstr "" +"Project-Id-Version: \n" +"POT-Creation-Date: \n" +"PO-Revision-Date: 2021-04-30 16:16+0000\n" +"Last-Translator: Weblate Admin \n" +"Language-Team: French \n" +"Language: fr\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=n > 1;\n" +"X-Generator: Weblate 4.5.2\n" + +#: luci-app-omr-tracker/luasrc/view/omr-tracker/cbi-select-add.htm:8 +msgid "Add" +msgstr "Ajouter" + +#: luci-app-omr-tracker/luasrc/model/cbi/omr-tracker.lua:117 +#: luci-app-omr-tracker/luasrc/model/cbi/omr-tracker.lua:173 +msgid "" +"Always ping gateway, then test connection by ping, httping or dns. None mode " +"only ping gateway." +msgstr "" +"Ping toujours la passerelle, puis teste la connexion par ping, httping ou " +"DNS. Le mode \"none\" ping uniquement la passerelle." + +#: luci-app-omr-tracker/luasrc/model/cbi/omr-tracker.lua:87 +msgid "Defaults Settings" +msgstr "Paramètres par défaut" + +#: luci-app-omr-tracker/luasrc/model/cbi/omr-tracker.lua:7 +msgid "Detect if Proxy is down and stop traffic redirection over it." +msgstr "" +"Détectez si le proxy est en panne et arrêtez la redirection du trafic dessus." + +#: luci-app-omr-tracker/luasrc/model/cbi/omr-tracker.lua:50 +msgid "Detect if Server is down and use defined backup server in this case." +msgstr "" +"Détectez si le serveur est en panne et utilisez le serveur de sauvegarde " +"défini dans ce cas." + +#: luci-app-omr-tracker/luasrc/model/cbi/omr-tracker.lua:17 +#: luci-app-omr-tracker/luasrc/model/cbi/omr-tracker.lua:60 +#: luci-app-omr-tracker/luasrc/model/cbi/omr-tracker.lua:90 +#: luci-app-omr-tracker/luasrc/model/cbi/omr-tracker.lua:146 +msgid "Enable" +msgstr "Activer" + +#: luci-app-omr-tracker/root/usr/share/rpcd/acl.d/luci-app-omr-tracker.json:3 +msgid "Grant UCI access for luci-app-omr-tracker" +msgstr "Accorder l'accès UCI pour luci-app-tracker" + +#: luci-app-omr-tracker/luasrc/model/cbi/omr-tracker.lua:44 +#: luci-app-omr-tracker/luasrc/model/cbi/omr-tracker.lua:130 +#: luci-app-omr-tracker/luasrc/model/cbi/omr-tracker.lua:187 +msgid "Hosts" +msgstr "Hôtes" + +#: luci-app-omr-tracker/luasrc/model/cbi/omr-tracker.lua:44 +msgid "IPs or domains must be available over http" +msgstr "Les adresses IP ou les domaines doivent être disponibles via http" + +#: luci-app-omr-tracker/luasrc/model/cbi/omr-tracker.lua:135 +msgid "Interfaces" +msgstr "Interfaces" + +#: luci-app-omr-tracker/luasrc/view/omr-tracker/cbi-select-add.htm:9 +msgid "Invalid" +msgstr "Invalide" + +#: luci-app-omr-tracker/luasrc/model/cbi/omr-tracker.lua:123 +#: luci-app-omr-tracker/luasrc/model/cbi/omr-tracker.lua:179 +msgid "Mail alert" +msgstr "Alerte mail" + +#: luci-app-omr-tracker/luasrc/model/cbi/omr-tracker.lua:130 +msgid "Must be IPs and not domains" +msgstr "Doit être des adresses IP et non des domaines" + +#: luci-app-omr-tracker/luasrc/controller/omr-tracker.lua:5 +#: luci-app-omr-tracker/luasrc/model/cbi/omr-tracker.lua:5 +#: luci-app-omr-tracker/root/usr/share/luci/menu.d/luci-app-omr-tracker.json:3 +msgid "OMR-Tracker" +msgstr "OMR-Tracker" + +#: luci-app-omr-tracker/luasrc/model/cbi/omr-tracker.lua:87 +msgid "" +"OMR-Tracker create needed routes and detect when a connection is down or up" +msgstr "" +"OMR-Tracker crée les routes nécessaires et détecte lorsqu'une connexion est " +"en panne" + +#: luci-app-omr-tracker/luasrc/model/cbi/omr-tracker.lua:7 +msgid "Proxy tracker Settings" +msgstr "Paramètres de suivi du proxy" + +#: luci-app-omr-tracker/luasrc/model/cbi/omr-tracker.lua:32 +#: luci-app-omr-tracker/luasrc/model/cbi/omr-tracker.lua:75 +#: luci-app-omr-tracker/luasrc/model/cbi/omr-tracker.lua:105 +#: luci-app-omr-tracker/luasrc/model/cbi/omr-tracker.lua:161 +msgid "Retry interval (s)" +msgstr "Intervalle entre les essais (s)" + +#: luci-app-omr-tracker/luasrc/model/cbi/omr-tracker.lua:123 +msgid "Send a mail when connection state change" +msgstr "Envoyer un e-mail lorsque l'état de la connexion change" + +#: luci-app-omr-tracker/luasrc/model/cbi/omr-tracker.lua:179 +msgid "" +"Send a mail when connection status change. You need to configure e-mail " +"settings here." +msgstr "" +"Envoyer un mail lorsque l'état de la connexion change. Vous devez configurer " +"les paramètres e-mail ici." + +#: luci-app-omr-tracker/luasrc/model/cbi/omr-tracker.lua:50 +msgid "Server tracker Settings" +msgstr "Paramètres de suivi du serveur" + +#: luci-app-omr-tracker/luasrc/model/cbi/omr-tracker.lua:20 +#: luci-app-omr-tracker/luasrc/model/cbi/omr-tracker.lua:63 +#: luci-app-omr-tracker/luasrc/model/cbi/omr-tracker.lua:93 +#: luci-app-omr-tracker/luasrc/model/cbi/omr-tracker.lua:149 +msgid "Timeout (s)" +msgstr "Délais d'attente (s)" + +#: luci-app-omr-tracker/luasrc/model/cbi/omr-tracker.lua:26 +#: luci-app-omr-tracker/luasrc/model/cbi/omr-tracker.lua:69 +#: luci-app-omr-tracker/luasrc/model/cbi/omr-tracker.lua:99 +#: luci-app-omr-tracker/luasrc/model/cbi/omr-tracker.lua:155 +msgid "Tries" +msgstr "Essais" + +#: luci-app-omr-tracker/luasrc/model/cbi/omr-tracker.lua:117 +#: luci-app-omr-tracker/luasrc/model/cbi/omr-tracker.lua:173 +msgid "Type" +msgstr "Type" + +#: luci-app-omr-tracker/luasrc/model/cbi/omr-tracker.lua:38 +#: luci-app-omr-tracker/luasrc/model/cbi/omr-tracker.lua:81 +#: luci-app-omr-tracker/luasrc/model/cbi/omr-tracker.lua:111 +#: luci-app-omr-tracker/luasrc/model/cbi/omr-tracker.lua:167 +msgid "Wait after a failed test (s)" +msgstr "Attendre après un test échoué (s)" + +#: luci-app-omr-tracker/luasrc/model/cbi/omr-tracker.lua:17 +#: luci-app-omr-tracker/luasrc/model/cbi/omr-tracker.lua:90 +msgid "When tracker is disabled, connection failover is also disabled" +msgstr "" +"Lorsque le tracker est désactivé, le basculement de connexion est également " +"désactivé" + +#: luci-app-omr-tracker/luasrc/model/cbi/omr-tracker.lua:60 +msgid "When tracker is disabled, server failover is also disabled" +msgstr "" +"Lorsque le tracker est désactivé, le basculement du serveur est également " +"désactivé" diff --git a/luci-app-omr-tracker/po/it/omr-tracker.po b/luci-app-omr-tracker/po/it/omr-tracker.po new file mode 100644 index 000000000..337631a7f --- /dev/null +++ b/luci-app-omr-tracker/po/it/omr-tracker.po @@ -0,0 +1,175 @@ +msgid "" +msgstr "" +"PO-Revision-Date: 2022-02-20 20:24+0000\n" +"Last-Translator: tiziano \n" +"Language-Team: Italian \n" +"Language: it\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Generator: Weblate 4.10.1\n" + +#: luci-app-omr-tracker/luasrc/view/omr-tracker/cbi-select-add.htm:8 +msgid "Add" +msgstr "Aggiungi" + +#: luci-app-omr-tracker/luasrc/model/cbi/omr-tracker.lua:117 +#: luci-app-omr-tracker/luasrc/model/cbi/omr-tracker.lua:192 +#, fuzzy +msgid "" +"Always ping gateway, then test connection by ping, httping or dns. None mode " +"only ping gateway." +msgstr "" +"Esegui sempre il ping del gateway, quindi verifica la connessione tramite " +"ping o DNS." + +#: luci-app-omr-tracker/luasrc/model/cbi/omr-tracker.lua:123 +#: luci-app-omr-tracker/luasrc/model/cbi/omr-tracker.lua:198 +msgid "Check if connection work with http by sending a request to server" +msgstr "" + +#: luci-app-omr-tracker/luasrc/model/cbi/omr-tracker.lua:87 +msgid "Defaults Settings" +msgstr "Impostazioni predefinite" + +#: luci-app-omr-tracker/luasrc/model/cbi/omr-tracker.lua:7 +msgid "Detect if Proxy is down and stop traffic redirection over it." +msgstr "" + +#: luci-app-omr-tracker/luasrc/model/cbi/omr-tracker.lua:50 +msgid "Detect if Server is down and use defined backup server in this case." +msgstr "" + +#: luci-app-omr-tracker/luasrc/model/cbi/omr-tracker.lua:17 +#: luci-app-omr-tracker/luasrc/model/cbi/omr-tracker.lua:60 +#: luci-app-omr-tracker/luasrc/model/cbi/omr-tracker.lua:90 +#: luci-app-omr-tracker/luasrc/model/cbi/omr-tracker.lua:165 +msgid "Enable" +msgstr "" + +#: luci-app-omr-tracker/root/usr/share/rpcd/acl.d/luci-app-omr-tracker.json:3 +msgid "Grant UCI access for luci-app-omr-tracker" +msgstr "" + +#: luci-app-omr-tracker/luasrc/model/cbi/omr-tracker.lua:44 +#: luci-app-omr-tracker/luasrc/model/cbi/omr-tracker.lua:144 +#: luci-app-omr-tracker/luasrc/model/cbi/omr-tracker.lua:219 +msgid "Hosts" +msgstr "" + +#: luci-app-omr-tracker/luasrc/model/cbi/omr-tracker.lua:149 +#: luci-app-omr-tracker/luasrc/model/cbi/omr-tracker.lua:224 +msgid "Hosts IPv6" +msgstr "" + +#: luci-app-omr-tracker/luasrc/model/cbi/omr-tracker.lua:44 +msgid "IPs or domains must be available over http" +msgstr "" + +#: luci-app-omr-tracker/luasrc/model/cbi/omr-tracker.lua:154 +msgid "Interfaces" +msgstr "Interfacce" + +#: luci-app-omr-tracker/luasrc/view/omr-tracker/cbi-select-add.htm:9 +msgid "Invalid" +msgstr "" + +#: luci-app-omr-tracker/luasrc/model/cbi/omr-tracker.lua:130 +#: luci-app-omr-tracker/luasrc/model/cbi/omr-tracker.lua:205 +msgid "Mail alert" +msgstr "" + +#: luci-app-omr-tracker/luasrc/model/cbi/omr-tracker.lua:144 +#: luci-app-omr-tracker/luasrc/model/cbi/omr-tracker.lua:149 +#: luci-app-omr-tracker/luasrc/model/cbi/omr-tracker.lua:219 +#: luci-app-omr-tracker/luasrc/model/cbi/omr-tracker.lua:224 +msgid "Must be IPs and not domains" +msgstr "" + +#: luci-app-omr-tracker/luasrc/controller/omr-tracker.lua:5 +#: luci-app-omr-tracker/luasrc/model/cbi/omr-tracker.lua:5 +#: luci-app-omr-tracker/root/usr/share/luci/menu.d/luci-app-omr-tracker.json:3 +msgid "OMR-Tracker" +msgstr "" + +#: luci-app-omr-tracker/luasrc/model/cbi/omr-tracker.lua:87 +#, fuzzy +msgid "" +"OMR-Tracker create needed routes and detect when a connection is down or up" +msgstr "OMR-Tracker rileva quando una connessione è interrotta" + +#: luci-app-omr-tracker/luasrc/model/cbi/omr-tracker.lua:7 +msgid "Proxy tracker Settings" +msgstr "" + +#: luci-app-omr-tracker/luasrc/model/cbi/omr-tracker.lua:137 +#: luci-app-omr-tracker/luasrc/model/cbi/omr-tracker.lua:212 +msgid "Restart if down" +msgstr "" + +#: luci-app-omr-tracker/luasrc/model/cbi/omr-tracker.lua:137 +#: luci-app-omr-tracker/luasrc/model/cbi/omr-tracker.lua:212 +msgid "Restart interface if detected as down" +msgstr "" + +#: luci-app-omr-tracker/luasrc/model/cbi/omr-tracker.lua:32 +#: luci-app-omr-tracker/luasrc/model/cbi/omr-tracker.lua:75 +#: luci-app-omr-tracker/luasrc/model/cbi/omr-tracker.lua:105 +#: luci-app-omr-tracker/luasrc/model/cbi/omr-tracker.lua:180 +msgid "Retry interval (s)" +msgstr "Intervallo di ripetizione (s)" + +#: luci-app-omr-tracker/luasrc/model/cbi/omr-tracker.lua:130 +msgid "Send a mail when connection state change" +msgstr "" + +#: luci-app-omr-tracker/luasrc/model/cbi/omr-tracker.lua:205 +msgid "" +"Send a mail when connection status change. You need to configure e-mail " +"settings here." +msgstr "" + +#: luci-app-omr-tracker/luasrc/model/cbi/omr-tracker.lua:123 +#: luci-app-omr-tracker/luasrc/model/cbi/omr-tracker.lua:198 +msgid "Server http test" +msgstr "" + +#: luci-app-omr-tracker/luasrc/model/cbi/omr-tracker.lua:50 +msgid "Server tracker Settings" +msgstr "" + +#: luci-app-omr-tracker/luasrc/model/cbi/omr-tracker.lua:20 +#: luci-app-omr-tracker/luasrc/model/cbi/omr-tracker.lua:63 +#: luci-app-omr-tracker/luasrc/model/cbi/omr-tracker.lua:93 +#: luci-app-omr-tracker/luasrc/model/cbi/omr-tracker.lua:168 +msgid "Timeout (s)" +msgstr "" + +#: luci-app-omr-tracker/luasrc/model/cbi/omr-tracker.lua:26 +#: luci-app-omr-tracker/luasrc/model/cbi/omr-tracker.lua:69 +#: luci-app-omr-tracker/luasrc/model/cbi/omr-tracker.lua:99 +#: luci-app-omr-tracker/luasrc/model/cbi/omr-tracker.lua:174 +msgid "Tries" +msgstr "Tentativi" + +#: luci-app-omr-tracker/luasrc/model/cbi/omr-tracker.lua:117 +#: luci-app-omr-tracker/luasrc/model/cbi/omr-tracker.lua:192 +msgid "Type" +msgstr "Tipo" + +#: luci-app-omr-tracker/luasrc/model/cbi/omr-tracker.lua:38 +#: luci-app-omr-tracker/luasrc/model/cbi/omr-tracker.lua:81 +#: luci-app-omr-tracker/luasrc/model/cbi/omr-tracker.lua:111 +#: luci-app-omr-tracker/luasrc/model/cbi/omr-tracker.lua:186 +msgid "Wait after a failed test (s)" +msgstr "" + +#: luci-app-omr-tracker/luasrc/model/cbi/omr-tracker.lua:17 +#: luci-app-omr-tracker/luasrc/model/cbi/omr-tracker.lua:90 +msgid "When tracker is disabled, connection failover is also disabled" +msgstr "" + +#: luci-app-omr-tracker/luasrc/model/cbi/omr-tracker.lua:60 +msgid "When tracker is disabled, server failover is also disabled" +msgstr "" diff --git a/luci-app-omr-tracker/po/it/omr-tracker.po~ b/luci-app-omr-tracker/po/it/omr-tracker.po~ new file mode 100644 index 000000000..61ebe850d --- /dev/null +++ b/luci-app-omr-tracker/po/it/omr-tracker.po~ @@ -0,0 +1,151 @@ +msgid "" +msgstr "" +"PO-Revision-Date: 2020-09-21 12:51+0000\n" +"Last-Translator: Weblate Admin \n" +"Language-Team: Italian \n" +"Language: it\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Generator: Weblate 4.0.4\n" + +#: luci-app-omr-tracker/luasrc/view/omr-tracker/cbi-select-add.htm:8 +msgid "Add" +msgstr "" + +#: luci-app-omr-tracker/luasrc/model/cbi/omr-tracker.lua:117 +#: luci-app-omr-tracker/luasrc/model/cbi/omr-tracker.lua:173 +#, fuzzy +#| msgid "" +#| "Always ping gateway, then test connection by ping or dns. None mode only " +#| "ping gateway." +msgid "" +"Always ping gateway, then test connection by ping, httping or dns. None mode " +"only ping gateway." +msgstr "" +"Esegui sempre il ping del gateway, quindi verifica la connessione tramite " +"ping o DNS." + +#: luci-app-omr-tracker/luasrc/model/cbi/omr-tracker.lua:87 +msgid "Defaults Settings" +msgstr "Impostazioni predefinite" + +#: luci-app-omr-tracker/luasrc/model/cbi/omr-tracker.lua:7 +msgid "Detect if Proxy is down and stop traffic redirection over it." +msgstr "" + +#: luci-app-omr-tracker/luasrc/model/cbi/omr-tracker.lua:50 +msgid "Detect if Server is down and use defined backup server in this case." +msgstr "" + +#: luci-app-omr-tracker/luasrc/model/cbi/omr-tracker.lua:17 +#: luci-app-omr-tracker/luasrc/model/cbi/omr-tracker.lua:60 +#: luci-app-omr-tracker/luasrc/model/cbi/omr-tracker.lua:90 +#: luci-app-omr-tracker/luasrc/model/cbi/omr-tracker.lua:146 +msgid "Enable" +msgstr "" + +#: luci-app-omr-tracker/root/usr/share/rpcd/acl.d/luci-app-omr-tracker.json:3 +msgid "Grant UCI access for luci-app-omr-tracker" +msgstr "" + +#: luci-app-omr-tracker/luasrc/model/cbi/omr-tracker.lua:44 +#: luci-app-omr-tracker/luasrc/model/cbi/omr-tracker.lua:130 +#: luci-app-omr-tracker/luasrc/model/cbi/omr-tracker.lua:187 +msgid "Hosts" +msgstr "" + +#: luci-app-omr-tracker/luasrc/model/cbi/omr-tracker.lua:44 +msgid "IPs or domains must be available over http" +msgstr "" + +#: luci-app-omr-tracker/luasrc/model/cbi/omr-tracker.lua:135 +msgid "Interfaces" +msgstr "" + +#: luci-app-omr-tracker/luasrc/view/omr-tracker/cbi-select-add.htm:9 +msgid "Invalid" +msgstr "" + +#: luci-app-omr-tracker/luasrc/model/cbi/omr-tracker.lua:123 +#: luci-app-omr-tracker/luasrc/model/cbi/omr-tracker.lua:179 +msgid "Mail alert" +msgstr "" + +#: luci-app-omr-tracker/luasrc/model/cbi/omr-tracker.lua:130 +msgid "Must be IPs and not domains" +msgstr "" + +#: luci-app-omr-tracker/luasrc/controller/omr-tracker.lua:5 +#: luci-app-omr-tracker/luasrc/model/cbi/omr-tracker.lua:5 +#: luci-app-omr-tracker/root/usr/share/luci/menu.d/luci-app-omr-tracker.json:3 +msgid "OMR-Tracker" +msgstr "" + +#: luci-app-omr-tracker/luasrc/model/cbi/omr-tracker.lua:87 +#, fuzzy +#| msgid "OMR-Tracker detect when a connection is down" +msgid "" +"OMR-Tracker create needed routes and detect when a connection is down or up" +msgstr "OMR-Tracker rileva quando una connessione è interrotta" + +#: luci-app-omr-tracker/luasrc/model/cbi/omr-tracker.lua:7 +msgid "Proxy tracker Settings" +msgstr "" + +#: luci-app-omr-tracker/luasrc/model/cbi/omr-tracker.lua:32 +#: luci-app-omr-tracker/luasrc/model/cbi/omr-tracker.lua:75 +#: luci-app-omr-tracker/luasrc/model/cbi/omr-tracker.lua:105 +#: luci-app-omr-tracker/luasrc/model/cbi/omr-tracker.lua:161 +msgid "Retry interval (s)" +msgstr "Intervallo di ripetizione (s)" + +#: luci-app-omr-tracker/luasrc/model/cbi/omr-tracker.lua:123 +msgid "Send a mail when connection state change" +msgstr "" + +#: luci-app-omr-tracker/luasrc/model/cbi/omr-tracker.lua:179 +msgid "" +"Send a mail when connection status change. You need to configure e-mail " +"settings here." +msgstr "" + +#: luci-app-omr-tracker/luasrc/model/cbi/omr-tracker.lua:50 +msgid "Server tracker Settings" +msgstr "" + +#: luci-app-omr-tracker/luasrc/model/cbi/omr-tracker.lua:20 +#: luci-app-omr-tracker/luasrc/model/cbi/omr-tracker.lua:63 +#: luci-app-omr-tracker/luasrc/model/cbi/omr-tracker.lua:93 +#: luci-app-omr-tracker/luasrc/model/cbi/omr-tracker.lua:149 +msgid "Timeout (s)" +msgstr "" + +#: luci-app-omr-tracker/luasrc/model/cbi/omr-tracker.lua:26 +#: luci-app-omr-tracker/luasrc/model/cbi/omr-tracker.lua:69 +#: luci-app-omr-tracker/luasrc/model/cbi/omr-tracker.lua:99 +#: luci-app-omr-tracker/luasrc/model/cbi/omr-tracker.lua:155 +msgid "Tries" +msgstr "Tentativi" + +#: luci-app-omr-tracker/luasrc/model/cbi/omr-tracker.lua:117 +#: luci-app-omr-tracker/luasrc/model/cbi/omr-tracker.lua:173 +msgid "Type" +msgstr "Tipo" + +#: luci-app-omr-tracker/luasrc/model/cbi/omr-tracker.lua:38 +#: luci-app-omr-tracker/luasrc/model/cbi/omr-tracker.lua:81 +#: luci-app-omr-tracker/luasrc/model/cbi/omr-tracker.lua:111 +#: luci-app-omr-tracker/luasrc/model/cbi/omr-tracker.lua:167 +msgid "Wait after a failed test (s)" +msgstr "" + +#: luci-app-omr-tracker/luasrc/model/cbi/omr-tracker.lua:17 +#: luci-app-omr-tracker/luasrc/model/cbi/omr-tracker.lua:90 +msgid "When tracker is disabled, connection failover is also disabled" +msgstr "" + +#: luci-app-omr-tracker/luasrc/model/cbi/omr-tracker.lua:60 +msgid "When tracker is disabled, server failover is also disabled" +msgstr "" diff --git a/luci-app-omr-tracker/po/oc/omr-tracker.po b/luci-app-omr-tracker/po/oc/omr-tracker.po new file mode 100644 index 000000000..0ed531bb0 --- /dev/null +++ b/luci-app-omr-tracker/po/oc/omr-tracker.po @@ -0,0 +1,175 @@ +msgid "" +msgstr "" +"PO-Revision-Date: 2020-08-18 17:37+0000\n" +"Last-Translator: Quentin PAGÈS \n" +"Language-Team: Occitan \n" +"Language: oc\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=n > 1;\n" +"X-Generator: Weblate 4.0.4\n" + +#: luci-app-omr-tracker/luasrc/view/omr-tracker/cbi-select-add.htm:8 +msgid "Add" +msgstr "" + +#: luci-app-omr-tracker/luasrc/model/cbi/omr-tracker.lua:117 +#: luci-app-omr-tracker/luasrc/model/cbi/omr-tracker.lua:192 +#, fuzzy +msgid "" +"Always ping gateway, then test connection by ping, httping or dns. None mode " +"only ping gateway." +msgstr "" +"Totjorn enviar un ping a la palanca puèi la connexion via ping o DNS. Lo " +"mòde \"none\" ping sonque la palanca." + +#: luci-app-omr-tracker/luasrc/model/cbi/omr-tracker.lua:123 +#: luci-app-omr-tracker/luasrc/model/cbi/omr-tracker.lua:198 +msgid "Check if connection work with http by sending a request to server" +msgstr "" + +#: luci-app-omr-tracker/luasrc/model/cbi/omr-tracker.lua:87 +msgid "Defaults Settings" +msgstr "Paramètres per defaut" + +#: luci-app-omr-tracker/luasrc/model/cbi/omr-tracker.lua:7 +msgid "Detect if Proxy is down and stop traffic redirection over it." +msgstr "" + +#: luci-app-omr-tracker/luasrc/model/cbi/omr-tracker.lua:50 +msgid "Detect if Server is down and use defined backup server in this case." +msgstr "" + +#: luci-app-omr-tracker/luasrc/model/cbi/omr-tracker.lua:17 +#: luci-app-omr-tracker/luasrc/model/cbi/omr-tracker.lua:60 +#: luci-app-omr-tracker/luasrc/model/cbi/omr-tracker.lua:90 +#: luci-app-omr-tracker/luasrc/model/cbi/omr-tracker.lua:165 +msgid "Enable" +msgstr "" + +#: luci-app-omr-tracker/root/usr/share/rpcd/acl.d/luci-app-omr-tracker.json:3 +msgid "Grant UCI access for luci-app-omr-tracker" +msgstr "" + +#: luci-app-omr-tracker/luasrc/model/cbi/omr-tracker.lua:44 +#: luci-app-omr-tracker/luasrc/model/cbi/omr-tracker.lua:144 +#: luci-app-omr-tracker/luasrc/model/cbi/omr-tracker.lua:219 +msgid "Hosts" +msgstr "Òstes" + +#: luci-app-omr-tracker/luasrc/model/cbi/omr-tracker.lua:149 +#: luci-app-omr-tracker/luasrc/model/cbi/omr-tracker.lua:224 +msgid "Hosts IPv6" +msgstr "" + +#: luci-app-omr-tracker/luasrc/model/cbi/omr-tracker.lua:44 +msgid "IPs or domains must be available over http" +msgstr "" + +#: luci-app-omr-tracker/luasrc/model/cbi/omr-tracker.lua:154 +msgid "Interfaces" +msgstr "" + +#: luci-app-omr-tracker/luasrc/view/omr-tracker/cbi-select-add.htm:9 +msgid "Invalid" +msgstr "" + +#: luci-app-omr-tracker/luasrc/model/cbi/omr-tracker.lua:130 +#: luci-app-omr-tracker/luasrc/model/cbi/omr-tracker.lua:205 +msgid "Mail alert" +msgstr "" + +#: luci-app-omr-tracker/luasrc/model/cbi/omr-tracker.lua:144 +#: luci-app-omr-tracker/luasrc/model/cbi/omr-tracker.lua:149 +#: luci-app-omr-tracker/luasrc/model/cbi/omr-tracker.lua:219 +#: luci-app-omr-tracker/luasrc/model/cbi/omr-tracker.lua:224 +msgid "Must be IPs and not domains" +msgstr "" + +#: luci-app-omr-tracker/luasrc/controller/omr-tracker.lua:5 +#: luci-app-omr-tracker/luasrc/model/cbi/omr-tracker.lua:5 +#: luci-app-omr-tracker/root/usr/share/luci/menu.d/luci-app-omr-tracker.json:3 +msgid "OMR-Tracker" +msgstr "OMR-Tracker" + +#: luci-app-omr-tracker/luasrc/model/cbi/omr-tracker.lua:87 +#, fuzzy +msgid "" +"OMR-Tracker create needed routes and detect when a connection is down or up" +msgstr "OMR-Tracker detècta quand una connexion fonciona pas mai" + +#: luci-app-omr-tracker/luasrc/model/cbi/omr-tracker.lua:7 +msgid "Proxy tracker Settings" +msgstr "" + +#: luci-app-omr-tracker/luasrc/model/cbi/omr-tracker.lua:137 +#: luci-app-omr-tracker/luasrc/model/cbi/omr-tracker.lua:212 +msgid "Restart if down" +msgstr "" + +#: luci-app-omr-tracker/luasrc/model/cbi/omr-tracker.lua:137 +#: luci-app-omr-tracker/luasrc/model/cbi/omr-tracker.lua:212 +msgid "Restart interface if detected as down" +msgstr "" + +#: luci-app-omr-tracker/luasrc/model/cbi/omr-tracker.lua:32 +#: luci-app-omr-tracker/luasrc/model/cbi/omr-tracker.lua:75 +#: luci-app-omr-tracker/luasrc/model/cbi/omr-tracker.lua:105 +#: luci-app-omr-tracker/luasrc/model/cbi/omr-tracker.lua:180 +msgid "Retry interval (s)" +msgstr "Interval entre ensages" + +#: luci-app-omr-tracker/luasrc/model/cbi/omr-tracker.lua:130 +msgid "Send a mail when connection state change" +msgstr "" + +#: luci-app-omr-tracker/luasrc/model/cbi/omr-tracker.lua:205 +msgid "" +"Send a mail when connection status change. You need to configure e-mail " +"settings here." +msgstr "" + +#: luci-app-omr-tracker/luasrc/model/cbi/omr-tracker.lua:123 +#: luci-app-omr-tracker/luasrc/model/cbi/omr-tracker.lua:198 +msgid "Server http test" +msgstr "" + +#: luci-app-omr-tracker/luasrc/model/cbi/omr-tracker.lua:50 +msgid "Server tracker Settings" +msgstr "" + +#: luci-app-omr-tracker/luasrc/model/cbi/omr-tracker.lua:20 +#: luci-app-omr-tracker/luasrc/model/cbi/omr-tracker.lua:63 +#: luci-app-omr-tracker/luasrc/model/cbi/omr-tracker.lua:93 +#: luci-app-omr-tracker/luasrc/model/cbi/omr-tracker.lua:168 +msgid "Timeout (s)" +msgstr "Relambi d'espèra (s)" + +#: luci-app-omr-tracker/luasrc/model/cbi/omr-tracker.lua:26 +#: luci-app-omr-tracker/luasrc/model/cbi/omr-tracker.lua:69 +#: luci-app-omr-tracker/luasrc/model/cbi/omr-tracker.lua:99 +#: luci-app-omr-tracker/luasrc/model/cbi/omr-tracker.lua:174 +msgid "Tries" +msgstr "Ensages" + +#: luci-app-omr-tracker/luasrc/model/cbi/omr-tracker.lua:117 +#: luci-app-omr-tracker/luasrc/model/cbi/omr-tracker.lua:192 +msgid "Type" +msgstr "Tipe" + +#: luci-app-omr-tracker/luasrc/model/cbi/omr-tracker.lua:38 +#: luci-app-omr-tracker/luasrc/model/cbi/omr-tracker.lua:81 +#: luci-app-omr-tracker/luasrc/model/cbi/omr-tracker.lua:111 +#: luci-app-omr-tracker/luasrc/model/cbi/omr-tracker.lua:186 +msgid "Wait after a failed test (s)" +msgstr "" + +#: luci-app-omr-tracker/luasrc/model/cbi/omr-tracker.lua:17 +#: luci-app-omr-tracker/luasrc/model/cbi/omr-tracker.lua:90 +msgid "When tracker is disabled, connection failover is also disabled" +msgstr "" + +#: luci-app-omr-tracker/luasrc/model/cbi/omr-tracker.lua:60 +msgid "When tracker is disabled, server failover is also disabled" +msgstr "" diff --git a/luci-app-omr-tracker/po/oc/omr-tracker.po~ b/luci-app-omr-tracker/po/oc/omr-tracker.po~ new file mode 100644 index 000000000..6e2159871 --- /dev/null +++ b/luci-app-omr-tracker/po/oc/omr-tracker.po~ @@ -0,0 +1,151 @@ +msgid "" +msgstr "" +"PO-Revision-Date: 2020-08-18 17:37+0000\n" +"Last-Translator: Quentin PAGÈS \n" +"Language-Team: Occitan \n" +"Language: oc\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=n > 1;\n" +"X-Generator: Weblate 4.0.4\n" + +#: luci-app-omr-tracker/luasrc/view/omr-tracker/cbi-select-add.htm:8 +msgid "Add" +msgstr "" + +#: luci-app-omr-tracker/luasrc/model/cbi/omr-tracker.lua:117 +#: luci-app-omr-tracker/luasrc/model/cbi/omr-tracker.lua:173 +#, fuzzy +#| msgid "" +#| "Always ping gateway, then test connection by ping or dns. None mode only " +#| "ping gateway." +msgid "" +"Always ping gateway, then test connection by ping, httping or dns. None mode " +"only ping gateway." +msgstr "" +"Totjorn enviar un ping a la palanca puèi la connexion via ping o DNS. Lo " +"mòde \"none\" ping sonque la palanca." + +#: luci-app-omr-tracker/luasrc/model/cbi/omr-tracker.lua:87 +msgid "Defaults Settings" +msgstr "Paramètres per defaut" + +#: luci-app-omr-tracker/luasrc/model/cbi/omr-tracker.lua:7 +msgid "Detect if Proxy is down and stop traffic redirection over it." +msgstr "" + +#: luci-app-omr-tracker/luasrc/model/cbi/omr-tracker.lua:50 +msgid "Detect if Server is down and use defined backup server in this case." +msgstr "" + +#: luci-app-omr-tracker/luasrc/model/cbi/omr-tracker.lua:17 +#: luci-app-omr-tracker/luasrc/model/cbi/omr-tracker.lua:60 +#: luci-app-omr-tracker/luasrc/model/cbi/omr-tracker.lua:90 +#: luci-app-omr-tracker/luasrc/model/cbi/omr-tracker.lua:146 +msgid "Enable" +msgstr "" + +#: luci-app-omr-tracker/root/usr/share/rpcd/acl.d/luci-app-omr-tracker.json:3 +msgid "Grant UCI access for luci-app-omr-tracker" +msgstr "" + +#: luci-app-omr-tracker/luasrc/model/cbi/omr-tracker.lua:44 +#: luci-app-omr-tracker/luasrc/model/cbi/omr-tracker.lua:130 +#: luci-app-omr-tracker/luasrc/model/cbi/omr-tracker.lua:187 +msgid "Hosts" +msgstr "Òstes" + +#: luci-app-omr-tracker/luasrc/model/cbi/omr-tracker.lua:44 +msgid "IPs or domains must be available over http" +msgstr "" + +#: luci-app-omr-tracker/luasrc/model/cbi/omr-tracker.lua:135 +msgid "Interfaces" +msgstr "" + +#: luci-app-omr-tracker/luasrc/view/omr-tracker/cbi-select-add.htm:9 +msgid "Invalid" +msgstr "" + +#: luci-app-omr-tracker/luasrc/model/cbi/omr-tracker.lua:123 +#: luci-app-omr-tracker/luasrc/model/cbi/omr-tracker.lua:179 +msgid "Mail alert" +msgstr "" + +#: luci-app-omr-tracker/luasrc/model/cbi/omr-tracker.lua:130 +msgid "Must be IPs and not domains" +msgstr "" + +#: luci-app-omr-tracker/luasrc/controller/omr-tracker.lua:5 +#: luci-app-omr-tracker/luasrc/model/cbi/omr-tracker.lua:5 +#: luci-app-omr-tracker/root/usr/share/luci/menu.d/luci-app-omr-tracker.json:3 +msgid "OMR-Tracker" +msgstr "OMR-Tracker" + +#: luci-app-omr-tracker/luasrc/model/cbi/omr-tracker.lua:87 +#, fuzzy +#| msgid "OMR-Tracker detect when a connection is down" +msgid "" +"OMR-Tracker create needed routes and detect when a connection is down or up" +msgstr "OMR-Tracker detècta quand una connexion fonciona pas mai" + +#: luci-app-omr-tracker/luasrc/model/cbi/omr-tracker.lua:7 +msgid "Proxy tracker Settings" +msgstr "" + +#: luci-app-omr-tracker/luasrc/model/cbi/omr-tracker.lua:32 +#: luci-app-omr-tracker/luasrc/model/cbi/omr-tracker.lua:75 +#: luci-app-omr-tracker/luasrc/model/cbi/omr-tracker.lua:105 +#: luci-app-omr-tracker/luasrc/model/cbi/omr-tracker.lua:161 +msgid "Retry interval (s)" +msgstr "Interval entre ensages" + +#: luci-app-omr-tracker/luasrc/model/cbi/omr-tracker.lua:123 +msgid "Send a mail when connection state change" +msgstr "" + +#: luci-app-omr-tracker/luasrc/model/cbi/omr-tracker.lua:179 +msgid "" +"Send a mail when connection status change. You need to configure e-mail " +"settings here." +msgstr "" + +#: luci-app-omr-tracker/luasrc/model/cbi/omr-tracker.lua:50 +msgid "Server tracker Settings" +msgstr "" + +#: luci-app-omr-tracker/luasrc/model/cbi/omr-tracker.lua:20 +#: luci-app-omr-tracker/luasrc/model/cbi/omr-tracker.lua:63 +#: luci-app-omr-tracker/luasrc/model/cbi/omr-tracker.lua:93 +#: luci-app-omr-tracker/luasrc/model/cbi/omr-tracker.lua:149 +msgid "Timeout (s)" +msgstr "Relambi d'espèra (s)" + +#: luci-app-omr-tracker/luasrc/model/cbi/omr-tracker.lua:26 +#: luci-app-omr-tracker/luasrc/model/cbi/omr-tracker.lua:69 +#: luci-app-omr-tracker/luasrc/model/cbi/omr-tracker.lua:99 +#: luci-app-omr-tracker/luasrc/model/cbi/omr-tracker.lua:155 +msgid "Tries" +msgstr "Ensages" + +#: luci-app-omr-tracker/luasrc/model/cbi/omr-tracker.lua:117 +#: luci-app-omr-tracker/luasrc/model/cbi/omr-tracker.lua:173 +msgid "Type" +msgstr "Tipe" + +#: luci-app-omr-tracker/luasrc/model/cbi/omr-tracker.lua:38 +#: luci-app-omr-tracker/luasrc/model/cbi/omr-tracker.lua:81 +#: luci-app-omr-tracker/luasrc/model/cbi/omr-tracker.lua:111 +#: luci-app-omr-tracker/luasrc/model/cbi/omr-tracker.lua:167 +msgid "Wait after a failed test (s)" +msgstr "" + +#: luci-app-omr-tracker/luasrc/model/cbi/omr-tracker.lua:17 +#: luci-app-omr-tracker/luasrc/model/cbi/omr-tracker.lua:90 +msgid "When tracker is disabled, connection failover is also disabled" +msgstr "" + +#: luci-app-omr-tracker/luasrc/model/cbi/omr-tracker.lua:60 +msgid "When tracker is disabled, server failover is also disabled" +msgstr "" diff --git a/luci-app-omr-tracker/po/templates/omr-tracker.pot b/luci-app-omr-tracker/po/templates/omr-tracker.pot index 49e4ca635..4cdce9be1 100644 --- a/luci-app-omr-tracker/po/templates/omr-tracker.pot +++ b/luci-app-omr-tracker/po/templates/omr-tracker.pot @@ -1,31 +1,162 @@ msgid "" msgstr "Content-Type: text/plain; charset=UTF-8" -msgid "" -"Always ping gateway, then test connection by ping or dns. None mode only " -"ping gateway." +#: luci-app-omr-tracker/luasrc/view/omr-tracker/cbi-select-add.htm:8 +msgid "Add" msgstr "" +#: luci-app-omr-tracker/luasrc/model/cbi/omr-tracker.lua:117 +#: luci-app-omr-tracker/luasrc/model/cbi/omr-tracker.lua:192 +msgid "" +"Always ping gateway, then test connection by ping, httping or dns. None mode " +"only ping gateway." +msgstr "" + +#: luci-app-omr-tracker/luasrc/model/cbi/omr-tracker.lua:123 +#: luci-app-omr-tracker/luasrc/model/cbi/omr-tracker.lua:198 +msgid "Check if connection work with http by sending a request to server" +msgstr "" + +#: luci-app-omr-tracker/luasrc/model/cbi/omr-tracker.lua:87 msgid "Defaults Settings" msgstr "" +#: luci-app-omr-tracker/luasrc/model/cbi/omr-tracker.lua:7 +msgid "Detect if Proxy is down and stop traffic redirection over it." +msgstr "" + +#: luci-app-omr-tracker/luasrc/model/cbi/omr-tracker.lua:50 +msgid "Detect if Server is down and use defined backup server in this case." +msgstr "" + +#: luci-app-omr-tracker/luasrc/model/cbi/omr-tracker.lua:17 +#: luci-app-omr-tracker/luasrc/model/cbi/omr-tracker.lua:60 +#: luci-app-omr-tracker/luasrc/model/cbi/omr-tracker.lua:90 +#: luci-app-omr-tracker/luasrc/model/cbi/omr-tracker.lua:165 +msgid "Enable" +msgstr "" + +#: luci-app-omr-tracker/root/usr/share/rpcd/acl.d/luci-app-omr-tracker.json:3 +msgid "Grant UCI access for luci-app-omr-tracker" +msgstr "" + +#: luci-app-omr-tracker/luasrc/model/cbi/omr-tracker.lua:44 +#: luci-app-omr-tracker/luasrc/model/cbi/omr-tracker.lua:144 +#: luci-app-omr-tracker/luasrc/model/cbi/omr-tracker.lua:219 msgid "Hosts" msgstr "" +#: luci-app-omr-tracker/luasrc/model/cbi/omr-tracker.lua:149 +#: luci-app-omr-tracker/luasrc/model/cbi/omr-tracker.lua:224 +msgid "Hosts IPv6" +msgstr "" + +#: luci-app-omr-tracker/luasrc/model/cbi/omr-tracker.lua:44 +msgid "IPs or domains must be available over http" +msgstr "" + +#: luci-app-omr-tracker/luasrc/model/cbi/omr-tracker.lua:154 +msgid "Interfaces" +msgstr "" + +#: luci-app-omr-tracker/luasrc/view/omr-tracker/cbi-select-add.htm:9 +msgid "Invalid" +msgstr "" + +#: luci-app-omr-tracker/luasrc/model/cbi/omr-tracker.lua:130 +#: luci-app-omr-tracker/luasrc/model/cbi/omr-tracker.lua:205 +msgid "Mail alert" +msgstr "" + +#: luci-app-omr-tracker/luasrc/model/cbi/omr-tracker.lua:144 +#: luci-app-omr-tracker/luasrc/model/cbi/omr-tracker.lua:149 +#: luci-app-omr-tracker/luasrc/model/cbi/omr-tracker.lua:219 +#: luci-app-omr-tracker/luasrc/model/cbi/omr-tracker.lua:224 +msgid "Must be IPs and not domains" +msgstr "" + +#: luci-app-omr-tracker/luasrc/controller/omr-tracker.lua:5 +#: luci-app-omr-tracker/luasrc/model/cbi/omr-tracker.lua:5 +#: luci-app-omr-tracker/root/usr/share/luci/menu.d/luci-app-omr-tracker.json:3 msgid "OMR-Tracker" msgstr "" -msgid "OMR-Tracker detect when a connection is down" +#: luci-app-omr-tracker/luasrc/model/cbi/omr-tracker.lua:87 +msgid "" +"OMR-Tracker create needed routes and detect when a connection is down or up" msgstr "" +#: luci-app-omr-tracker/luasrc/model/cbi/omr-tracker.lua:7 +msgid "Proxy tracker Settings" +msgstr "" + +#: luci-app-omr-tracker/luasrc/model/cbi/omr-tracker.lua:137 +#: luci-app-omr-tracker/luasrc/model/cbi/omr-tracker.lua:212 +msgid "Restart if down" +msgstr "" + +#: luci-app-omr-tracker/luasrc/model/cbi/omr-tracker.lua:137 +#: luci-app-omr-tracker/luasrc/model/cbi/omr-tracker.lua:212 +msgid "Restart interface if detected as down" +msgstr "" + +#: luci-app-omr-tracker/luasrc/model/cbi/omr-tracker.lua:32 +#: luci-app-omr-tracker/luasrc/model/cbi/omr-tracker.lua:75 +#: luci-app-omr-tracker/luasrc/model/cbi/omr-tracker.lua:105 +#: luci-app-omr-tracker/luasrc/model/cbi/omr-tracker.lua:180 msgid "Retry interval (s)" msgstr "" +#: luci-app-omr-tracker/luasrc/model/cbi/omr-tracker.lua:130 +msgid "Send a mail when connection state change" +msgstr "" + +#: luci-app-omr-tracker/luasrc/model/cbi/omr-tracker.lua:205 +msgid "" +"Send a mail when connection status change. You need to configure e-mail " +"settings here." +msgstr "" + +#: luci-app-omr-tracker/luasrc/model/cbi/omr-tracker.lua:123 +#: luci-app-omr-tracker/luasrc/model/cbi/omr-tracker.lua:198 +msgid "Server http test" +msgstr "" + +#: luci-app-omr-tracker/luasrc/model/cbi/omr-tracker.lua:50 +msgid "Server tracker Settings" +msgstr "" + +#: luci-app-omr-tracker/luasrc/model/cbi/omr-tracker.lua:20 +#: luci-app-omr-tracker/luasrc/model/cbi/omr-tracker.lua:63 +#: luci-app-omr-tracker/luasrc/model/cbi/omr-tracker.lua:93 +#: luci-app-omr-tracker/luasrc/model/cbi/omr-tracker.lua:168 msgid "Timeout (s)" msgstr "" +#: luci-app-omr-tracker/luasrc/model/cbi/omr-tracker.lua:26 +#: luci-app-omr-tracker/luasrc/model/cbi/omr-tracker.lua:69 +#: luci-app-omr-tracker/luasrc/model/cbi/omr-tracker.lua:99 +#: luci-app-omr-tracker/luasrc/model/cbi/omr-tracker.lua:174 msgid "Tries" msgstr "" +#: luci-app-omr-tracker/luasrc/model/cbi/omr-tracker.lua:117 +#: luci-app-omr-tracker/luasrc/model/cbi/omr-tracker.lua:192 msgid "Type" msgstr "" + +#: luci-app-omr-tracker/luasrc/model/cbi/omr-tracker.lua:38 +#: luci-app-omr-tracker/luasrc/model/cbi/omr-tracker.lua:81 +#: luci-app-omr-tracker/luasrc/model/cbi/omr-tracker.lua:111 +#: luci-app-omr-tracker/luasrc/model/cbi/omr-tracker.lua:186 +msgid "Wait after a failed test (s)" +msgstr "" + +#: luci-app-omr-tracker/luasrc/model/cbi/omr-tracker.lua:17 +#: luci-app-omr-tracker/luasrc/model/cbi/omr-tracker.lua:90 +msgid "When tracker is disabled, connection failover is also disabled" +msgstr "" + +#: luci-app-omr-tracker/luasrc/model/cbi/omr-tracker.lua:60 +msgid "When tracker is disabled, server failover is also disabled" +msgstr "" diff --git a/luci-app-omr-tracker/po/zh_Hans/omr-tracker.po b/luci-app-omr-tracker/po/zh_Hans/omr-tracker.po new file mode 100644 index 000000000..43d1ab8dc --- /dev/null +++ b/luci-app-omr-tracker/po/zh_Hans/omr-tracker.po @@ -0,0 +1,173 @@ +msgid "" +msgstr "" +"PO-Revision-Date: 2021-05-13 21:38+0000\n" +"Last-Translator: justbin <419989953@qq.com>\n" +"Language-Team: Chinese (Simplified) \n" +"Language: zh_Hans\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=1; plural=0;\n" +"X-Generator: Weblate 4.6.1\n" + +#: luci-app-omr-tracker/luasrc/view/omr-tracker/cbi-select-add.htm:8 +msgid "Add" +msgstr "添加" + +#: luci-app-omr-tracker/luasrc/model/cbi/omr-tracker.lua:117 +#: luci-app-omr-tracker/luasrc/model/cbi/omr-tracker.lua:192 +msgid "" +"Always ping gateway, then test connection by ping, httping or dns. None mode " +"only ping gateway." +msgstr "总是ping网关,然后通过ping, http或dns测试连接。无模式仅ping网关。" + +#: luci-app-omr-tracker/luasrc/model/cbi/omr-tracker.lua:123 +#: luci-app-omr-tracker/luasrc/model/cbi/omr-tracker.lua:198 +msgid "Check if connection work with http by sending a request to server" +msgstr "通过向服务器发送请求,检查连接是否与http工作" + +#: luci-app-omr-tracker/luasrc/model/cbi/omr-tracker.lua:87 +msgid "Defaults Settings" +msgstr "默认设置" + +#: luci-app-omr-tracker/luasrc/model/cbi/omr-tracker.lua:7 +msgid "Detect if Proxy is down and stop traffic redirection over it." +msgstr "检测代理是否关闭并停止通过它的流量重定向。" + +#: luci-app-omr-tracker/luasrc/model/cbi/omr-tracker.lua:50 +msgid "Detect if Server is down and use defined backup server in this case." +msgstr "检测服务器是否关闭,并在这种情况下使用定义的备份服务器。" + +#: luci-app-omr-tracker/luasrc/model/cbi/omr-tracker.lua:17 +#: luci-app-omr-tracker/luasrc/model/cbi/omr-tracker.lua:60 +#: luci-app-omr-tracker/luasrc/model/cbi/omr-tracker.lua:90 +#: luci-app-omr-tracker/luasrc/model/cbi/omr-tracker.lua:165 +msgid "Enable" +msgstr "启用" + +#: luci-app-omr-tracker/root/usr/share/rpcd/acl.d/luci-app-omr-tracker.json:3 +msgid "Grant UCI access for luci-app-omr-tracker" +msgstr "授权UCI访问聚合跟踪器" + +#: luci-app-omr-tracker/luasrc/model/cbi/omr-tracker.lua:44 +#: luci-app-omr-tracker/luasrc/model/cbi/omr-tracker.lua:144 +#: luci-app-omr-tracker/luasrc/model/cbi/omr-tracker.lua:219 +msgid "Hosts" +msgstr "主机" + +#: luci-app-omr-tracker/luasrc/model/cbi/omr-tracker.lua:149 +#: luci-app-omr-tracker/luasrc/model/cbi/omr-tracker.lua:224 +msgid "Hosts IPv6" +msgstr "IPv6 主机" + +#: luci-app-omr-tracker/luasrc/model/cbi/omr-tracker.lua:44 +msgid "IPs or domains must be available over http" +msgstr "ip或域必须在http上可用" + +#: luci-app-omr-tracker/luasrc/model/cbi/omr-tracker.lua:154 +msgid "Interfaces" +msgstr "接口" + +#: luci-app-omr-tracker/luasrc/view/omr-tracker/cbi-select-add.htm:9 +msgid "Invalid" +msgstr "无效的" + +#: luci-app-omr-tracker/luasrc/model/cbi/omr-tracker.lua:130 +#: luci-app-omr-tracker/luasrc/model/cbi/omr-tracker.lua:205 +msgid "Mail alert" +msgstr "邮件提醒" + +#: luci-app-omr-tracker/luasrc/model/cbi/omr-tracker.lua:144 +#: luci-app-omr-tracker/luasrc/model/cbi/omr-tracker.lua:149 +#: luci-app-omr-tracker/luasrc/model/cbi/omr-tracker.lua:219 +#: luci-app-omr-tracker/luasrc/model/cbi/omr-tracker.lua:224 +msgid "Must be IPs and not domains" +msgstr "必须是ip而不是域" + +#: luci-app-omr-tracker/luasrc/controller/omr-tracker.lua:5 +#: luci-app-omr-tracker/luasrc/model/cbi/omr-tracker.lua:5 +#: luci-app-omr-tracker/root/usr/share/luci/menu.d/luci-app-omr-tracker.json:3 +msgid "OMR-Tracker" +msgstr "聚合跟踪器" + +#: luci-app-omr-tracker/luasrc/model/cbi/omr-tracker.lua:87 +msgid "" +"OMR-Tracker create needed routes and detect when a connection is down or up" +msgstr "聚合跟踪器创建所需的路径,并检测连接何时断开或接通" + +#: luci-app-omr-tracker/luasrc/model/cbi/omr-tracker.lua:7 +msgid "Proxy tracker Settings" +msgstr "代理跟踪设置" + +#: luci-app-omr-tracker/luasrc/model/cbi/omr-tracker.lua:137 +#: luci-app-omr-tracker/luasrc/model/cbi/omr-tracker.lua:212 +msgid "Restart if down" +msgstr "如果关闭,重新启动" + +#: luci-app-omr-tracker/luasrc/model/cbi/omr-tracker.lua:137 +#: luci-app-omr-tracker/luasrc/model/cbi/omr-tracker.lua:212 +msgid "Restart interface if detected as down" +msgstr "如果检测到接口关闭,重新启动接口" + +#: luci-app-omr-tracker/luasrc/model/cbi/omr-tracker.lua:32 +#: luci-app-omr-tracker/luasrc/model/cbi/omr-tracker.lua:75 +#: luci-app-omr-tracker/luasrc/model/cbi/omr-tracker.lua:105 +#: luci-app-omr-tracker/luasrc/model/cbi/omr-tracker.lua:180 +msgid "Retry interval (s)" +msgstr "重试时间间隔(秒)" + +#: luci-app-omr-tracker/luasrc/model/cbi/omr-tracker.lua:130 +msgid "Send a mail when connection state change" +msgstr "当连接状态改变时发送邮件" + +#: luci-app-omr-tracker/luasrc/model/cbi/omr-tracker.lua:205 +msgid "" +"Send a mail when connection status change. You need to configure e-mail " +"settings here." +msgstr "" +"当连接状态发生变化时发送邮件。你需要配置电子邮件设置这里。" + +#: luci-app-omr-tracker/luasrc/model/cbi/omr-tracker.lua:123 +#: luci-app-omr-tracker/luasrc/model/cbi/omr-tracker.lua:198 +msgid "Server http test" +msgstr "服务器http测试" + +#: luci-app-omr-tracker/luasrc/model/cbi/omr-tracker.lua:50 +msgid "Server tracker Settings" +msgstr "服务器跟踪设置" + +#: luci-app-omr-tracker/luasrc/model/cbi/omr-tracker.lua:20 +#: luci-app-omr-tracker/luasrc/model/cbi/omr-tracker.lua:63 +#: luci-app-omr-tracker/luasrc/model/cbi/omr-tracker.lua:93 +#: luci-app-omr-tracker/luasrc/model/cbi/omr-tracker.lua:168 +msgid "Timeout (s)" +msgstr "超时(秒)" + +#: luci-app-omr-tracker/luasrc/model/cbi/omr-tracker.lua:26 +#: luci-app-omr-tracker/luasrc/model/cbi/omr-tracker.lua:69 +#: luci-app-omr-tracker/luasrc/model/cbi/omr-tracker.lua:99 +#: luci-app-omr-tracker/luasrc/model/cbi/omr-tracker.lua:174 +msgid "Tries" +msgstr "尝试" + +#: luci-app-omr-tracker/luasrc/model/cbi/omr-tracker.lua:117 +#: luci-app-omr-tracker/luasrc/model/cbi/omr-tracker.lua:192 +msgid "Type" +msgstr "类型" + +#: luci-app-omr-tracker/luasrc/model/cbi/omr-tracker.lua:38 +#: luci-app-omr-tracker/luasrc/model/cbi/omr-tracker.lua:81 +#: luci-app-omr-tracker/luasrc/model/cbi/omr-tracker.lua:111 +#: luci-app-omr-tracker/luasrc/model/cbi/omr-tracker.lua:186 +msgid "Wait after a failed test (s)" +msgstr "在测试失败后等待(秒)" + +#: luci-app-omr-tracker/luasrc/model/cbi/omr-tracker.lua:17 +#: luci-app-omr-tracker/luasrc/model/cbi/omr-tracker.lua:90 +msgid "When tracker is disabled, connection failover is also disabled" +msgstr "禁用跟踪器时,也禁用连接故障转移" + +#: luci-app-omr-tracker/luasrc/model/cbi/omr-tracker.lua:60 +msgid "When tracker is disabled, server failover is also disabled" +msgstr "禁用跟踪器时,也禁用服务器故障转移" diff --git a/luci-app-omr-tracker/root/usr/share/luci/menu.d/luci-app-omr-tracker.json b/luci-app-omr-tracker/root/usr/share/luci/menu.d/luci-app-omr-tracker.json new file mode 100644 index 000000000..fbe9e0b6c --- /dev/null +++ b/luci-app-omr-tracker/root/usr/share/luci/menu.d/luci-app-omr-tracker.json @@ -0,0 +1,36 @@ +{ + "admin/services/omr-tracker": { + "title": "OMR-Tracker Manager", + "order": 60, + "action": { + "type": "firstchild" + }, + "depends": { + "acl": [ "luci-app-omr-tracker" ] + } + }, + "admin/services/omr-tracker/interface": { + "title": "Interface", + "order": 10, + "action": { + "type": "view", + "path": "omr-tracker/network/interface" + } + }, + "admin/services/omr-tracker/proxy": { + "title": "Proxy", + "order": 20, + "action": { + "type": "view", + "path": "omr-tracker/network/proxy" + } + }, + "admin/services/omr-tracker/server": { + "title": "Server", + "order": 30, + "action": { + "type": "view", + "path": "omr-tracker/network/server" + } + } +} diff --git a/luci-app-omr-tracker/root/usr/share/rpcd/acl.d/luci-app-omr-tracker.json b/luci-app-omr-tracker/root/usr/share/rpcd/acl.d/luci-app-omr-tracker.json new file mode 100644 index 000000000..31a2a4b62 --- /dev/null +++ b/luci-app-omr-tracker/root/usr/share/rpcd/acl.d/luci-app-omr-tracker.json @@ -0,0 +1,17 @@ +{ + "luci-app-omr-tracker": { + "description": "Grant UCI access for luci-app-omr-tracker", + "read": { + "uci": [ "omr-tracker" ], + "file": { + "/usr/bin/httping": [ "list" ], + "/usr/bin/dig": [ "list" ], + "/usr/bin/nping": [ "list" ], + "/usr/bin/arping": [ "list" ] + } + }, + "write": { + "uci": [ "omr-tracker" ] + } + } +} \ No newline at end of file diff --git a/luci-app-openmptcprouter/Makefile b/luci-app-openmptcprouter/Makefile index ae4cb6eea..38a5aab6a 100644 --- a/luci-app-openmptcprouter/Makefile +++ b/luci-app-openmptcprouter/Makefile @@ -6,7 +6,7 @@ include $(TOPDIR)/rules.mk LUCI_TITLE:=LuCI Support for OpenMPTCProuter -LUCI_DEPENDS:=+luci-lib-json +rdisc6 +curl +bind-dig +tracebox +LUCI_DEPENDS:=+luci-lib-json +openmptcprouter-api PKG_LICENSE:=GPLv3 #include ../luci/luci.mk diff --git a/luci-app-openmptcprouter/htdocs/luci-static/resources/openmptcprouter.png b/luci-app-openmptcprouter/htdocs/luci-static/resources/openmptcprouter.png new file mode 100644 index 000000000..f4683f2c5 Binary files /dev/null and b/luci-app-openmptcprouter/htdocs/luci-static/resources/openmptcprouter.png differ diff --git a/luci-app-openmptcprouter/htdocs/luci-static/resources/openmptcprouter/css/wanstatus.css b/luci-app-openmptcprouter/htdocs/luci-static/resources/openmptcprouter/css/wanstatus.css index 461c9090f..b4a8d7a02 100644 --- a/luci-app-openmptcprouter/htdocs/luci-static/resources/openmptcprouter/css/wanstatus.css +++ b/luci-app-openmptcprouter/htdocs/luci-static/resources/openmptcprouter/css/wanstatus.css @@ -1,6 +1,6 @@ .container { /* container for entire page. fixes bootstrap theme's ridiculously small page width */ - max-width: 1044px; + max-width: 1500px; } #interface_field { padding: 12px 20px 20px 20px; @@ -31,12 +31,9 @@ text-align: center; } /* Mwan3 ligthed CSS */ -.container { - /* container for entire page. fixes bootstrap theme's ridiculously small page width */ - max-width: 1044px; -} #interface_field { padding: 0px; + max-width: 1200px; } #interface_field td { padding: 0px; @@ -71,7 +68,7 @@ ul { -moz-transition: all 0.5s; } .tree ul ul { - padding-left: 85px; + padding-left: 5px; position: relative; } .tree > ul > li:first-child { @@ -96,7 +93,7 @@ ul { width: 85px; height: 50%; float: left; - z-index: -10; + /*z-index: -10;*/ /* position: absolute; top: 0; @@ -152,7 +149,7 @@ right connector from last child*/ top: 50%; left: 0; border-top: 2px solid black; - width: 85px; + width: 7px; height: 100%; } .tree li a { @@ -194,7 +191,7 @@ right connector from last child*/ border-left: 2px solid black; border-bottom: none; width: 2px; - height: 30px; + height: 20em; z-index: -10; } .remote-from-lease a { @@ -212,16 +209,18 @@ right connector from last child*/ width: 85px; height: 0; } -.tree ul li#networkRootNode:not(:first-child) td::before { +.tree ul li#networkRootNode:not(:first-child) tr.spaceline td { content: ''; position: absolute; - top: 0; + /*top: 0; + top: 75px;*/ border-left: 2px solid black; border-bottom: none; width: 2px; - height: 50%; - left: 200px; - z-index: -10; + /*height: 50%;*/ + height: 55px; + left: 240px; + /* z-index: -10;*/ } /*Time for some hover effects*/ /*We will apply the hover effect the the lineage of the element also*/ @@ -241,11 +240,11 @@ Thanks :)*/ .network-node { position: relative; background-color: #f3f3f3; - padding: 12px; - width: 400px; - max-width: 400px; + padding: 8px; + width: 480px; + max-width: 480px; box-sizing: border-box; - height: 170px; + min-height: 170px; } .network-node .equipment-icon { position: relative; @@ -280,7 +279,7 @@ Thanks :)*/ .network-node .info { position: relative; float: right; - width: 250px; + width: 330px; text-align: left; font-size: 12px; color: #757575; @@ -291,6 +290,13 @@ Thanks :)*/ font-weight: 700; color: #333333; } + +.network-node .info .title i { + font-weight: lighter; + font-size: 0.8em; + text-transform: uppercase; +} + .network-node .info .status-message { display: block; } @@ -310,14 +316,19 @@ Thanks :)*/ width:5px; border-right:2px dotted black; height:70px; - padding-right: 195px; + padding-right: 240px; } #omr { - height: 190px; + min-height: 190px; } #omr-vps { - height: 160px; + min-height: 160px; } .space { height: 55px; -} \ No newline at end of file +} +.spaceline { + height: 55px; + z-index: -10; + position: relative; +} diff --git a/luci-app-openmptcprouter/htdocs/luci-static/resources/overthebox.png b/luci-app-openmptcprouter/htdocs/luci-static/resources/overthebox.png deleted file mode 100644 index 7b578c01f..000000000 Binary files a/luci-app-openmptcprouter/htdocs/luci-static/resources/overthebox.png and /dev/null differ diff --git a/luci-app-openmptcprouter/htdocs/luci-static/resources/view/system/led-trigger/proxy.js b/luci-app-openmptcprouter/htdocs/luci-static/resources/view/system/led-trigger/proxy.js new file mode 100644 index 000000000..d7b9300b6 --- /dev/null +++ b/luci-app-openmptcprouter/htdocs/luci-static/resources/view/system/led-trigger/proxy.js @@ -0,0 +1,18 @@ +'use strict'; +'require baseclass'; +'require form'; + +return baseclass.extend({ + trigger: _('Proxy status (service: proxy)'), + kernel: false, + addFormOptions: function(s){ + var o; + + o = s.option(form.ListValue, 'proxy_status', _('Proxy Status')); + o.rmempty = true; + o.modalonly = true; + o.value('up', _('Up')); + o.value('down', _('Down')); + o.depends('trigger','proxy'); + } +}); diff --git a/luci-app-openmptcprouter/htdocs/luci-static/resources/view/system/led-trigger/vpn.js b/luci-app-openmptcprouter/htdocs/luci-static/resources/view/system/led-trigger/vpn.js new file mode 100644 index 000000000..85f28a8a2 --- /dev/null +++ b/luci-app-openmptcprouter/htdocs/luci-static/resources/view/system/led-trigger/vpn.js @@ -0,0 +1,18 @@ +'use strict'; +'require baseclass'; +'require form'; + +return baseclass.extend({ + trigger: _('VPN status (service: vpn)'), + kernel: false, + addFormOptions: function(s){ + var o; + + o = s.option(form.ListValue, 'vpn_status', _('VPN Status')); + o.rmempty = true; + o.modalonly = true; + o.value('up', _('Up')); + o.value('down', _('Down')); + o.depends('trigger','vpn'); + } +}); diff --git a/luci-app-openmptcprouter/luasrc/controller/openmptcprouter.lua b/luci-app-openmptcprouter/luasrc/controller/openmptcprouter.lua index 43bdefb2b..2c7713fa3 100644 --- a/luci-app-openmptcprouter/luasrc/controller/openmptcprouter.lua +++ b/luci-app-openmptcprouter/luasrc/controller/openmptcprouter.lua @@ -8,26 +8,29 @@ local ipc = require "luci.ip" module("luci.controller.openmptcprouter", package.seeall) function index() --- entry({"admin", "openmptcprouter"}, firstchild(), _("OpenMPTCProuter"), 19).index = true --- entry({"admin", "openmptcprouter", "wizard"}, template("openmptcprouter/wizard"), _("Wizard"), 1).leaf = true --- entry({"admin", "openmptcprouter", "wizard_add"}, post("wizard_add")).leaf = true - entry({"admin", "system", "openmptcprouter"}, alias("admin", "system", "openmptcprouter", "wizard"), _("OpenMPTCProuter"), 1) - entry({"admin", "system", "openmptcprouter", "wizard"}, template("openmptcprouter/wizard"), _("Settings Wizard"), 1) - entry({"admin", "system", "openmptcprouter", "wizard_add"}, post("wizard_add")) - entry({"admin", "system", "openmptcprouter", "status"}, template("openmptcprouter/wanstatus"), _("Status"), 2).leaf = true - entry({"admin", "system", "openmptcprouter", "interfaces_status"}, call("interfaces_status")).leaf = true - entry({"admin", "system", "openmptcprouter", "settings"}, template("openmptcprouter/settings"), _("Advanced Settings"), 3).leaf = true - entry({"admin", "system", "openmptcprouter", "settings_add"}, post("settings_add")) - entry({"admin", "system", "openmptcprouter", "update_vps"}, post("update_vps")) - entry({"admin", "system", "openmptcprouter", "backup"}, template("openmptcprouter/backup"), _("Backup on server"), 3).leaf = true - entry({"admin", "system", "openmptcprouter", "backupgr"}, post("backupgr")) - entry({"admin", "system", "openmptcprouter", "debug"}, template("openmptcprouter/debug"), _("Show all settings"), 5).leaf = true + local ucic = luci.model.uci.cursor() + menuentry = ucic:get("openmptcprouter","settings","menu") or "OpenMPTCProuter" + entry({"admin", "system", menuentry:lower()}, alias("admin", "system", menuentry:lower(), "wizard"), _(menuentry), 1) + entry({"admin", "system", menuentry:lower(), "wizard"}, template("openmptcprouter/wizard"), _("Settings Wizard"), 1) + entry({"admin", "system", menuentry:lower(), "wizard_add"}, post("wizard_add")) + entry({"admin", "system", menuentry:lower(), "status"}, template("openmptcprouter/wanstatus"), _("Status"), 2).leaf = true + entry({"admin", "system", menuentry:lower(), "interfaces_status"}, call("interfaces_status")).leaf = true + entry({"admin", "system", menuentry:lower(), "settings"}, template("openmptcprouter/settings"), _("Advanced Settings"), 3).leaf = true + entry({"admin", "system", menuentry:lower(), "settings_add"}, post("settings_add")) + entry({"admin", "system", menuentry:lower(), "update_vps"}, post("update_vps")) + entry({"admin", "system", menuentry:lower(), "backup"}, template("openmptcprouter/backup"), _("Backup on server"), 3).leaf = true + entry({"admin", "system", menuentry:lower(), "backupgr"}, post("backupgr")) + entry({"admin", "system", menuentry:lower(), "debug"}, template("openmptcprouter/debug"), _("Show all settings"), 5).leaf = true end function interface_from_device(dev) for _, iface in ipairs(net:get_networks()) do local ifacen = iface:name() - local ifacename = ucic:get("network",ifacen,"ifname") + local ifacename = "" + ifacename = ucic:get("network",ifacen,"device") + if ifacename == "" then + ifacename = ucic:get("network",ifacen,"ifname") + end if ifacename == dev then return ifacen end @@ -35,14 +38,34 @@ function interface_from_device(dev) return "" end +function uci_device_from_interface(intf) + intfname = ucic:get("network",intf,"device") + deviceuci = "" + ucic:foreach("network", "device", function(s) + if intfname == ucic:get("network",s[".name"],"name") then + deviceuci = s[".name"] + end + end) + return deviceuci +end + function wizard_add() local gostatus = true + + -- Force WAN zone firewall members to be a list + local fwwan = sys.exec("uci -q get firewall.zone_wan.network") + luci.sys.call("uci -q delete firewall.zone_wan.network") + for interface in fwwan:gmatch("%S+") do + luci.sys.call("uci -q add_list firewall.zone_wan.network=" .. interface) + end + ucic:save("firewall") + -- Add new server local add_server = luci.http.formvalue("add_server") or "" local add_server_name = luci.http.formvalue("add_server_name") or "" if add_server ~= "" and add_server_name ~= "" then ucic:set("openmptcprouter",add_server_name:gsub("[^%w_]+","_"),"server") - ucic:set("openmptcprouter",add_server_name:gsub("[^%w_]+","_"),"user","openmptcprouter") + ucic:set("openmptcprouter",add_server_name:gsub("[^%w_]+","_"),"username","openmptcprouter") gostatus = false end @@ -67,11 +90,14 @@ function wizard_add() ucic:foreach("openmptcprouter", "server", function(s) local servername = s[".name"] nbserver = nbserver + 1 - server_ip = ucic:get("openmptcprouter",servername,"ip") + server_ips = ucic:get_list("openmptcprouter",servername,"ip") + server_ip = server_ips[1] end) if nbserver == 1 and server_ip ~= "" and server_ip ~= nil then ucic:set("shadowsocks-libev","sss0","server",server_ip) + ucic:set("shadowsocks-rust","sss0","server",server_ip) ucic:set("glorytun","vpn","host",server_ip) + ucic:set("glorytun-udp","vpn","host",server_ip) ucic:set("dsvpn","vpn","host",server_ip) ucic:set("mlvpn","general","host",server_ip) ucic:set("ubond","general","host",server_ip) @@ -93,7 +119,9 @@ function wizard_add() ucic:foreach("network", "interface", function(s) local sectionname = s[".name"] if sectionname:match("^wan(%d+)$") then - i = i + 1 + if i <= tonumber(string.match(sectionname, '%d+')) then + i = tonumber(string.match(sectionname, '%d+')) + 1 + end end if ucic:get("network",sectionname,"multipath") == "master" then multipath_master = true @@ -101,7 +129,10 @@ function wizard_add() end) local defif = "eth0" if add_interface_ifname == "" then - local defif1 = ucic:get("network","wan1_dev","ifname") or "" + local defif1 = ucic:get("network","wan1_dev","device") or "" + if defif1 == "" then + defif1 = ucic:get("network","wan1_dev","ifname") or "" + end if defif1 ~= "" then defif = defif1 end @@ -114,18 +145,30 @@ function wizard_add() if ointf ~= "" then if ucic:get("network",ointf,"type") == "" then ucic:set("network",ointf,"type","macvlan") + ucic:set("network",ointf,"device",ointf) + ucic:set("network",ointf .. "_dev","device") + ucic:set("network",ointf .. "_dev","type","macvlan") + ucic:set("network",ointf .. "_dev","mode","vepa") + ucic:set("network",ointf .. "_dev","ifname",defif) + ucic:set("network",ointf .. "_dev","name",ointf) end wanif = "wan" .. i end ucic:set("network","wan" .. i,"interface") - ucic:set("network","wan" .. i,"ifname",defif) + ucic:set("network","wan" .. i,"device",defif) ucic:set("network","wan" .. i,"proto","static") ucic:set("openmptcprouter","wan" .. i,"interface") if ointf ~= "" then ucic:set("network","wan" .. i,"type","macvlan") - ucic:set("macvlan","wan" .. i,"macvlan") - ucic:set("macvlan","wan" .. i,"ifname",defif) + ucic:set("network","wan" .. i,"device","wan" .. i) + ucic:set("network","wan" .. i,"masterintf",defif) + ucic:set("network","wan" .. i .. "_dev","device") + ucic:set("network","wan" .. i .. "_dev","type","macvlan") + ucic:set("network","wan" .. i .. "_dev","mode","vepa") + ucic:set("network","wan" .. i .. "_dev","ifname",defif) + ucic:set("network","wan" .. i .. "_dev","name","wan" .. i) + ucic:set("network","wan" .. i .. "_dev","txqueuelen","1000") end ucic:set("network","wan" .. i,"ip4table","wan") if multipath_master then @@ -137,8 +180,6 @@ function wizard_add() end ucic:set("network","wan" .. i,"defaultroute","0") ucic:reorder("network","wan" .. i, i + 2) - ucic:save("macvlan") - ucic:commit("macvlan") ucic:save("network") ucic:commit("network") ucic:save("openmptcprouter") @@ -158,15 +199,17 @@ function wizard_add() else ucic:set("sqm","wan" .. i,"interface",defif) end - ucic:set("sqm","wan" .. i,"qdisc","fq_codel") - ucic:set("sqm","wan" .. i,"script","simple.qos") + ucic:set("sqm","wan" .. i,"qdisc","cake") + ucic:set("sqm","wan" .. i,"script","piece_of_cake.qos") ucic:set("sqm","wan" .. i,"qdisc_advanced","0") ucic:set("sqm","wan" .. i,"linklayer","none") - ucic:set("sqm","wan" .. i,"enabled","0") + ucic:set("sqm","wan" .. i,"enabled","1") ucic:set("sqm","wan" .. i,"debug_logging","0") ucic:set("sqm","wan" .. i,"verbosity","5") ucic:set("sqm","wan" .. i,"download","0") ucic:set("sqm","wan" .. i,"upload","0") + ucic:set("sqm","wan" .. i,"iqdisc_opts","autorate-ingress dual-dsthost") + ucic:set("sqm","wan" .. i,"eqdisc_opts","dual-srchost") ucic:save("sqm") ucic:commit("sqm") @@ -174,10 +217,11 @@ function wizard_add() luci.sys.call("uci -q commit vnstat") -- Dirty way to add new interface to firewall... - luci.sys.call("uci -q add_list firewall.@zone[1].network=wan" .. i) + luci.sys.call("uci -q add_list firewall.zone_wan.network=wan" .. i) luci.sys.call("uci -q commit firewall") luci.sys.call("/etc/init.d/macvlan restart >/dev/null 2>/dev/null") + luci.sys.call("/etc/init.d/vnstat restart >/dev/null 2>/dev/null") gostatus = false end @@ -185,9 +229,14 @@ function wizard_add() local delete_intf = luci.http.formvaluetable("delete") or "" if delete_intf ~= "" then for intf, _ in pairs(delete_intf) do - local defif = ucic:get("network",intf,"ifname") + local defif = ucic:get("network",intf,"ifname") or "" + if defif == "" then + defif = ucic:get("network",intf,"ifname") + end ucic:delete("network",intf) - ucic:delete("network",intf .. "_dev") + if ucic:get("network",intf .. "_dev") ~= "" then + ucic:delete("network",intf .. "_dev") + end ucic:save("network") ucic:commit("network") ucic:delete("sqm",intf) @@ -196,30 +245,178 @@ function wizard_add() ucic:delete("qos",intf) ucic:save("qos") ucic:commit("qos") + ucic:delete("openmptcprouter",intf) + ucic:save("openmptcprouter") + ucic:commit("openmptcprouter") if defif ~= nil and defif ~= "" then luci.sys.call("uci -q del_list vnstat.@vnstat[-1].interface=" .. defif) end luci.sys.call("uci -q commit vnstat") - luci.sys.call("uci -q del_list firewall.@zone[1].network=" .. intf) + luci.sys.call("uci -q del_list firewall.zone_wan.network=" .. intf) luci.sys.call("uci -q commit firewall") gostatus = false end end + -- Enable/disable IPv6 + local disableipv6 = luci.http.formvalue("enableipv6") or "1" + ucic:set("openmptcprouter","settings","disable_ipv6",disableipv6) + + -- Set interfaces settings + local downloadmax = 0 + local uploadmax = 0 local interfaces = luci.http.formvaluetable("intf") for intf, _ in pairs(interfaces) do + local label = luci.http.formvalue("cbid.network.%s.label" % intf) or "" local proto = luci.http.formvalue("cbid.network.%s.proto" % intf) or "static" + local typeintf = luci.http.formvalue("cbid.network.%s.type" % intf) or "" + local masterintf = luci.http.formvalue("cbid.network.%s.masterintf" % intf) or "" + local ifname = luci.http.formvalue("cbid.network.%s.intf" % intf) or "" + local vlan = luci.http.formvalue("cbid.network.%s.vlan" % intf) or "" + local device_ncm = luci.http.formvalue("cbid.network.%s.device.ncm" % intf) or "" + local device_qmi = luci.http.formvalue("cbid.network.%s.device.qmi" % intf) or "" + local device_modemmanager = luci.http.formvalue("cbid.network.%s.device.modemmanager" % intf) or "" local ipaddr = luci.http.formvalue("cbid.network.%s.ipaddr" % intf) or "" + local ip6addr = luci.http.formvalue("cbid.network.%s.ip6addr" % intf) or "" local netmask = luci.http.formvalue("cbid.network.%s.netmask" % intf) or "" local gateway = luci.http.formvalue("cbid.network.%s.gateway" % intf) or "" + local ip6gw = luci.http.formvalue("cbid.network.%s.ip6gw" % intf) or "" + local ipv6 = luci.http.formvalue("cbid.network.%s.ipv6" % intf) or "0" + local apn = luci.http.formvalue("cbid.network.%s.apn" % intf) or "" + local pincode = luci.http.formvalue("cbid.network.%s.pincode" % intf) or "" + local delay = luci.http.formvalue("cbid.network.%s.delay" % intf) or "" + local username = luci.http.formvalue("cbid.network.%s.username" % intf) or "" + local password = luci.http.formvalue("cbid.network.%s.password" % intf) or "" + local auth = luci.http.formvalue("cbid.network.%s.auth" % intf) or "" + local mode = luci.http.formvalue("cbid.network.%s.mode" % intf) or "" local sqmenabled = luci.http.formvalue("cbid.sqm.%s.enabled" % intf) or "0" + local sqmautorate = luci.http.formvalue("cbid.sqm.%s.autorate" % intf) or "0" + local qosenabled = luci.http.formvalue("cbid.qos.%s.enabled" % intf) or "0" + local multipath = luci.http.formvalue("cbid.network.%s.multipath" % intf) or "on" + local lan = luci.http.formvalue("cbid.network.%s.lan" % intf) or "0" + local ttl = luci.http.formvalue("cbid.network.%s.ttl" % intf) or "" + if typeintf ~= "" then + if typeintf == "normal" then + typeintf = "" + end + ucic:set("network",intf,"type",typeintf) + end + if vlan ~= "" then + ifname = ifname .. '.' .. vlan + end + if typeintf == "macvlan" and masterintf ~= "" then + ucic:set("network",intf,"type","macvlan") + ucic:set("network",intf .. "_dev","device") + ucic:set("network",intf .. "_dev","type","macvlan") + ucic:set("network",intf .. "_dev","ifname",masterintf) + ucic:set("network",intf .. "_dev","mode","vepa") + ucic:set("network",intf .. "_dev","name",intf) + ucic:set("network",intf,"device",intf) + ucic:set("network",intf,"masterintf",masterintf) + elseif typeintf == "" and ifname ~= "" and (proto == "static" or proto == "dhcp" or proto == "dhcpv6") then + ucic:set("network",intf,"device",ifname) + if uci_device_from_interface(intf) == "" then + ucic:set("network",intf .. "_dev","device") + ucic:set("network",intf .. "_dev","name",ifname) + end + elseif typeintf == "" and device ~= "" and proto == "ncm" then + ucic:set("network",intf,"device",device_ncm) + if uci_device_from_interface(intf) == "" then + ucic:set("network",intf .. "_dev","device") + ucic:set("network",intf .. "_dev","name",device_ncm) + end + elseif typeintf == "" and device ~= "" and proto == "qmi" then + ucic:set("network",intf,"device",device_qmi) + if uci_device_from_interface(intf) == "" then + ucic:set("network",intf .. "_dev","device") + ucic:set("network",intf .. "_dev","name",device_qmi) + end + elseif typeintf == "" and device ~= "" and proto == "modemmanager" then + ucic:set("network",intf,"device",device_manager) + if uci_device_from_interface(intf) == "" then + ucic:set("network",intf .. "_dev","device") + ucic:set("network",intf .. "_dev","name",device_manager) + end + elseif typeintf == "" and ifname ~= "" and proto == "static" then + ucic:set("network",intf,"device",ifname) + if uci_device_from_interface(intf) == "" then + ucic:set("network",intf .. "_dev","device") + ucic:set("network",intf .. "_dev","name",ifname) + end + end + if typeintf ~= "macvlan" then + if ucic:get("network",intf .. "_dev","type") == "macvlan" then + ucic:delete("network",intf .. "_dev","type") + ucic:delete("network",intf .. "_dev","mode") + ucic:delete("network",intf .. "_dev","ifname") + ucic:delete("network",intf .. "_dev","macaddr") + end + ucic:delete("network",intf,"masterintf") + end + if proto == "pppoe" then + ucic:set("network",intf,"pppd_options","persist maxfail 0") + end if proto ~= "other" then ucic:set("network",intf,"proto",proto) end - ucic:set("network",intf,"ipaddr",ipaddr) - ucic:set("network",intf,"netmask",netmask) - ucic:set("network",intf,"gateway",gateway) + + uci_device = uci_device_from_interface(intf) + if uci_device == "" then + uci_device = intf .. "_dev" + ucic:set("network",uci_device,"device") + end + ucic:set("network",uci_device,"ttl",ttl) + + ucic:set("network",intf,"apn",apn) + ucic:set("network",intf,"pincode",pincode) + ucic:set("network",intf,"delay",delay) + ucic:set("network",intf,"username",username) + ucic:set("network",intf,"password",password) + ucic:set("network",intf,"auth",auth) + ucic:set("network",intf,"mode",mode) + ucic:set("network",intf,"label",label) + ucic:set("network",intf,"ipv6",ipv6) + if lan == "1" then + ucic:set("network",intf,"multipath","off") + else + ucic:set("network",intf,"multipath",multipath) + ucic:set("openmptcprouter",intf,"multipath",multipath) + end + ucic:set("network",intf,"defaultroute",0) + ucic:set("network",intf,"peerdns",0) + ucic:set("network",intf,"delegate",0) + if ipaddr ~= "" then + ucic:set("network",intf,"ipaddr",ipaddr:gsub("%s+", "")) + ucic:set("network",intf,"netmask",netmask:gsub("%s+", "")) + ucic:set("network",intf,"gateway",gateway:gsub("%s+", "")) + else + ucic:set("network",intf,"ipaddr","") + ucic:set("network",intf,"netmask","") + ucic:set("network",intf,"gateway","") + end + if ip6addr ~= "" then + ucic:set("network",intf,"ip6addr",ip6addr:gsub("%s+", "")) + ucic:set("network",intf,"ip6gw",ip6gw:gsub("%s+", "")) + ucic:set("network",intf,"ipv6","1") + elseif proto ~= "static" and proto ~= "dhcp" and disableipv6 ~= "1" then + ucic:set("network",intf,"ip6addr","") + ucic:set("network",intf,"ip6gw","") + ucic:set("network",intf,"ipv6","1") + else + ucic:set("network",intf,"ip6addr","") + ucic:set("network",intf,"ip6gw","") + ucic:set("network",intf,"ipv6","0") + end + + if proto == "dhcpv6" then + ucic:set("network",intf,"reqaddress","try") + ucic:set("network",intf,"reqprefix","no") + ucic:set("network",intf,"iface_map","0") + ucic:set("network",intf,"iface_dslite","0") + ucic:set("network",intf,"iface_464xlate","0") + ucic:set("network",intf,"ipv6","1") + end ucic:delete("openmptcprouter",intf,"lc") ucic:save("openmptcprouter") @@ -230,8 +427,10 @@ function wizard_add() local downloadspeed = luci.http.formvalue("cbid.sqm.%s.download" % intf) or "0" local uploadspeed = luci.http.formvalue("cbid.sqm.%s.upload" % intf) or "0" + local testspeed = luci.http.formvalue("cbid.sqm.%s.testspeed" % intf) or "0" - if not ucic:get("qos",intf) ~= "" then + local qos_settings = ucic:get("qos",intf) or "" + if qos_settings == "" then ucic:set("qos",intf,"interface") ucic:set("qos",intf,"classgroup","Default") ucic:set("qos",intf,"enabled","0") @@ -239,44 +438,85 @@ function wizard_add() ucic:set("qos",intf,"download","100000") end - if not ucic:get("sqm",intf) ~= "" then + local sqm_settings = ucic:get("sqm",intf) or "" + if sqm_settings == "" then local defif = get_device(intf) if defif == "" then - defif = ucic:get("network",intf,"ifname") or "" + defif = ucic:get("network",intf,"device") or "" + if defif == "" then + defif = ucic:get("network",intf,"ifname") or "" + end end ucic:set("sqm",intf,"queue") ucic:set("sqm",intf,"interface",defif) - ucic:set("sqm",intf,"qdisc","fq_codel") - ucic:set("sqm",intf,"script","simple.qos") + ucic:set("sqm",intf,"qdisc","cake") + ucic:set("sqm",intf,"script","piece_of_cake.qos") ucic:set("sqm",intf,"qdisc_advanced","0") - ucic:set("sqm",intf,"linklayer","none") + ucic:set("sqm",intf,"linklayer","atm") + ucic:set("sqm",intf,"overhead","44") ucic:set("sqm",intf,"enabled","0") ucic:set("sqm",intf,"debug_logging","0") ucic:set("sqm",intf,"verbosity","5") ucic:set("sqm",intf,"download","0") ucic:set("sqm",intf,"upload","0") + ucic:set("sqm",intf,"iqdisc_opts","autorate-ingress") + --ucic:set("sqm",intf,"iqdisc_opts","autorate-ingress dual-dsthost") + --ucic:set("sqm",intf,"eqdisc_opts","dual-srchost") + end + ucic:set("sqm",intf,"autorate",sqmautorate) + + if sqmautorate == "1" then + ucic:set("sqm",intf,"qdisc","cake") + ucic:set("sqm",intf,"script","piece_of_cake.qos") + end + ucic:set("openmptcprouter",intf,"testspeed",testspeed) + if testspeed == "1" then + ucic:delete("openmptcprouter",intf,"testspeed_lc") + end + if downloadspeed ~= "0" and downloadspeed ~= "" then + if sqmautorate == "1" and (ucic:get("network",intf,"downloadspeed") ~= downloadspeed or ucic:get("sqm",intf,"max_download") == "" or ucic:get("sqm",intf,"download") == "0") then + ucic:set("sqm",intf,"download",math.ceil(downloadspeed*65/100)) + ucic:set("sqm",intf,"min_download",math.ceil(downloadspeed*10/100)) + ucic:set("sqm",intf,"max_download",downloadspeed) + elseif sqmautorate ~= "1" then + ucic:set("sqm",intf,"download",math.ceil(downloadspeed*95/100)) + end + ucic:set("network",intf,"downloadspeed",downloadspeed) + ucic:set("qos",intf,"download",math.ceil(downloadspeed*95/100)) + downloadmax = downloadmax + tonumber(downloadspeed) + else + ucic:delete("network",intf,"downloadspeed") + ucic:set("sqm",intf,"download","0") + ucic:set("qos",intf,"download","0") + end + if uploadspeed ~= "0" and uploadspeed ~= "" then + if sqmautorate == "1" and (ucic:get("network",intf,"uploadspeed") ~= uploadspeed or ucic:get("sqm",intf,"max_upload") == "" or ucic:get("sqm",intf,"upload") == "0") then + ucic:set("sqm",intf,"upload",math.ceil(uploadspeed*65/100)) + ucic:set("sqm",intf,"min_upload",math.ceil(uploadspeed*10/100)) + ucic:set("sqm",intf,"max_upload",uploadspeed) + elseif sqmautorate ~= "1" then + ucic:set("sqm",intf,"upload",math.ceil(uploadspeed*95/100)) + end + ucic:set("network",intf,"uploadspeed",uploadspeed) + ucic:set("qos",intf,"upload",math.ceil(uploadspeed*95/100)) + uploadmax = uploadmax + tonumber(uploadspeed) + else + ucic:delete("network",intf,"uploadspeed") + ucic:set("sqm",intf,"upload","0") + ucic:set("qos",intf,"upload","0") end - if downloadspeed ~= "0" and uploadspeed ~= "0" and downloadspeed ~= "" and uploadspeed ~= "" then - ucic:set("network",intf,"downloadspeed",downloadspeed) - ucic:set("network",intf,"uploadspeed",uploadspeed) - ucic:set("sqm",intf,"download",math.ceil(downloadspeed*95/100)) - ucic:set("sqm",intf,"upload",math.ceil(uploadspeed*95/100)) - ucic:set("qos",intf,"download",math.ceil(downloadspeed*95/100)) - ucic:set("qos",intf,"upload",math.ceil(uploadspeed*95/100)) - else - ucic:set("sqm",intf,"download","0") - ucic:set("sqm",intf,"upload","0") - ucic:set("sqm",intf,"enabled","0") - ucic:set("qos",intf,"download","0") - ucic:set("qos",intf,"upload","0") - ucic:set("qos",intf,"enabled","0") - end if sqmenabled == "1" then + ucic:set("sqm",intf,"iqdisc_opts","autorate-ingress") + --ucic:set("sqm",intf,"iqdisc_opts","autorate-ingress dual-dsthost") + --ucic:set("sqm",intf,"eqdisc_opts","dual-srchost") ucic:set("sqm",intf,"enabled","1") + else + ucic:set("sqm",intf,"enabled","0") + end + if qosenabled == "1" then ucic:set("qos",intf,"enabled","1") else - ucic:set("sqm",intf,"enabled","0") ucic:set("qos",intf,"enabled","0") end end @@ -293,11 +533,10 @@ function wizard_add() ucic:save("network") ucic:commit("network") - -- Enable/disable IPv6 - local disableipv6 = luci.http.formvalue("enableipv6") or "1" - ucic:set("openmptcprouter","settings","disable_ipv6",disableipv6) --local ut = require "luci.util" --local result = ut.ubus("openmptcprouter", "set_ipv6_state", { disable_ipv6 = disableipv6 }) + local ula = luci.http.formvalue("ula") or "" + ucic:set("network","globals","ula_prefix",ula) -- Get VPN set by default local default_vpn = luci.http.formvalue("default_vpn") or "glorytun_tcp" @@ -313,7 +552,7 @@ function wizard_add() vpn_intf = "mlvpn0" ucic:set("network","omrvpn","proto","dhcp") elseif default_vpn == "ubond" then - vpn_port = 65201 + vpn_port = 65251 vpn_intf = "ubond0" ucic:set("network","omrvpn","proto","dhcp") elseif default_vpn == "dsvpn" then @@ -324,9 +563,28 @@ function wizard_add() vpn_port = 65301 vpn_intf = "tun0" ucic:set("network","omrvpn","proto","dhcp") + elseif default_vpn == "openvpn_bonding" then + vpn_intf = "bonding-omrvpn" + ucic:set("network","omrvpn","proto","bonding") end + --if downloadmax ~= 0 and uploadmax ~= 0 then + -- ucic:set("sqm","omrvpn","enabled","1") + -- ucic:set("sqm","omrvpn","max_download",downloadmax) + -- ucic:set("sqm","omrvpn","max_upload",uploadmax) + -- ucic:set("sqm","omrvpn","download",math.ceil(downloadmax*50/100)) + -- ucic:set("sqm","omrvpn","min_download",math.ceil(downloadmax*8/100)) + -- ucic:set("sqm","omrvpn","upload",math.ceil(uploadmax*50/100)) + -- ucic:set("sqm","omrvpn","min_upload",math.ceil(uploadmax*8/100)) + --else + -- ucic:set("sqm","omrvpn","enabled","0") + --end + + ucic:set("sqm","omrvpn","enabled","0") + ucic:set("sqm","omrvpn","download","0") + ucic:set("sqm","omrvpn","upload","0") + if vpn_intf ~= "" then - ucic:set("network","omrvpn","ifname",vpn_intf) + ucic:set("network","omrvpn","device",vpn_intf) ucic:set("sqm","omrvpn","interface",vpn_intf) ucic:save("network") ucic:commit("network") @@ -334,36 +592,207 @@ function wizard_add() ucic:commit("sqm") end + local force_retrieve = luci.http.formvalue("forceretrieve") or "" -- Retrieve all server settings local serversnb = 0 + local disablednb = 0 local servers = luci.http.formvaluetable("server") for server, _ in pairs(servers) do - local server_ip = luci.http.formvalue("%s.server_ip" % server) or "" + local serverips = luci.http.formvaluetable("%s.serverip" % server) or {} + local aserverips = {} + for _, ip in pairs(serverips) do + if ip ~= "" and ip ~= nil then + table.insert(aserverips,ip) + end + end + if disableipv6 == "1" then + if table.getn(aserverips) == 2 then + table.remove(aserverips, 2) + end + end + local master = luci.http.formvalue("master") or "" -- OpenMPTCProuter VPS local openmptcprouter_vps_key = luci.http.formvalue("%s.openmptcprouter_vps_key" % server) or "" local openmptcprouter_vps_username = luci.http.formvalue("%s.openmptcprouter_vps_username" % server) or "" - ucic:set("openmptcprouter",server,"server") - ucic:set("openmptcprouter",server,"username",openmptcprouter_vps_username) - ucic:set("openmptcprouter",server,"password",openmptcprouter_vps_key) + local openmptcprouter_vps_disabled = luci.http.formvalue("%s.openmptcprouter_vps_disabled" % server) or "" if master == server or (master == "" and serversnb == 0) then - ucic:set("openmptcprouter",server,"get_config","1") + if ucic:get("openmptcprouter",server,"password") == "" or ucic:get("openmptcprouter",server,"password") ~= openmptcprouter_vps_key or ucic:get("openmptcprouter",server,"username") ~= openmptcprouter_vps_username or force_retrieve ~= "" then + ucic:set("openmptcprouter",server,"get_config","1") + end ucic:set("openmptcprouter",server,"master","1") + ucic:set("openmptcprouter",server,"current","1") ucic:set("openmptcprouter",server,"backup","0") + ucic:set("xray","omrout","s_shadowsocks_email",openmptcprouter_vps_username:gsub("%s+", "")) else ucic:set("openmptcprouter",server,"get_config","0") ucic:set("openmptcprouter",server,"master","0") + ucic:set("openmptcprouter",server,"current","0") ucic:set("openmptcprouter",server,"backup","1") end - ucic:set("openmptcprouter",server,"ip",server_ip) - ucic:set("openmptcprouter",server,"port","65500") - ucic:save("openmptcprouter") - if server_ip ~= "" then + if openmptcprouter_vps_disabled == "1" then + disablednb = disablednb + 1 + end + if next(aserverips) ~= nil then serversnb = serversnb + 1 end + ucic:set("openmptcprouter",server,"server") + ucic:set("openmptcprouter",server,"username",openmptcprouter_vps_username:gsub("%s+", "")) + ucic:set("openmptcprouter",server,"password",openmptcprouter_vps_key:gsub("%s+", "")) + ucic:set("openmptcprouter",server,"disabled",openmptcprouter_vps_disabled) + if ucic:get_list("openmptcprouter",server,"ip") ~= aserverips then + ucic:set_list("openmptcprouter",server,"ip",aserverips) + if ucic:get("openmptcprouter",server,"master") == "1" then + ucic:set("openmptcprouter",server,"get_config","1") + end + end + ucic:set("openmptcprouter",server,"port","65500") + ucic:set("openmptcprouter",server,"set_firewall","1") + ucic:delete("openmptcprouter",server,"detected_ss_ipv4") + ucic:delete("openmptcprouter",server,"detected_ss_ipv6") + ucic:delete("openmptcprouter",server,"detected_public_ipv4") + ucic:delete("openmptcprouter",server,"detected_public_ipv6") + ucic:save("openmptcprouter") end + -- Get VPN used for MPTCP over VPN + local mptcpovervpn_vpn = luci.http.formvalue("mptcpovervpn_vpn") or "wireguard" + ucic:set("openmptcprouter","settings","mptcpovervpn",mptcpovervpn_vpn) + ucic:save("openmptcprouter") + + -- Get Country + local country = luci.http.formvalue("country") or "world" + ucic:set("openmptcprouter","settings","country",country) + ucic:save("openmptcprouter") + + -- Get DNS64 + local dns64 = luci.http.formvalue("dns64") or "0" + ucic:set("openmptcprouter","settings","dns64",dns64) + ucic:save("openmptcprouter") + if dns64 == "1" then + ucic:set("unbound","ub_main","dns64","1") + ucic:set("unbound","ub_main","validator","0") + else + ucic:set("unbound","ub_main","dns64","0") + + end + ucic:save("unbound") + ucic:commit("unbound") + + -- Get Proxy set by default + local default_proxy = luci.http.formvalue("default_proxy") or "shadowsocks-rust" + if default_proxy == "shadowsocks" and serversnb > 0 and serversnb > disablednb then + --ucic:set("shadowsocks-libev","sss0","disabled","0") + ucic:set("v2ray","main","enabled","0") + ucic:set("xray","main","enabled","0") + ucic:foreach("shadowsocks-libev", "server", function(s) + local sectionname = s[".name"] + if sectionname:match("^sss.*") and ucic:get("shadowsocks-libev",sectionname,"server") ~= "" then + ucic:set("shadowsocks-libev",sectionname,"disabled","0") + end + end) + ucic:foreach("shadowsocks-rust", "server", function(s) + local sectionname = s[".name"] + ucic:set("shadowsocks-rust",sectionname,"disabled","1") + end) + elseif default_proxy == "shadowsocks-rust" and serversnb > 0 and serversnb > disablednb then + --ucic:set("shadowsocks-libev","sss0","disabled","0") + ucic:set("v2ray","main","enabled","0") + ucic:set("xray","main","enabled","0") + ucic:foreach("shadowsocks-rust", "server", function(s) + local sectionname = s[".name"] + if sectionname:match("^sss.*") and ucic:get("shadowsocks-rust",sectionname,"server") ~= "" then + ucic:set("shadowsocks-rust",sectionname,"disabled","0") + end + end) + ucic:foreach("shadowsocks-libev", "server", function(s) + local sectionname = s[".name"] + ucic:set("shadowsocks-libev",sectionname,"disabled","1") + end) + elseif (default_proxy == "v2ray" or default_proxy == "v2ray-vmess" or default_proxy == "v2ray-trojan" or default_proxy == "v2ray-socks") and serversnb > 0 and serversnb > disablednb then + --ucic:set("shadowsocks-libev","sss0","disabled","1") + ucic:set("xray","main","enabled","0") + ucic:set("v2ray","main","enabled","1") + if default_proxy == "v2ray" then + ucic:set("v2ray","omrout","protocol","vless") + elseif default_proxy == "v2ray-vmess" then + ucic:set("v2ray","omrout","protocol","vmess") + elseif default_proxy == "v2ray-trojan" then + ucic:set("v2ray","omrout","protocol","trojan") + elseif default_proxy == "v2ray-socks" then + ucic:set("v2ray","omrout","protocol","socks") + end + ucic:foreach("shadowsocks-libev", "server", function(s) + local sectionname = s[".name"] + ucic:set("shadowsocks-libev",sectionname,"disabled","1") + end) + ucic:foreach("shadowsocks-rust", "server", function(s) + local sectionname = s[".name"] + ucic:set("shadowsocks-rust",sectionname,"disabled","1") + end) + elseif (default_proxy == "xray" or default_proxy == "xray-vless-reality" or default_proxy == "xray-vmess" or default_proxy == "xray-trojan" or default_proxy == "xray-shadowsocks" or default_proxy == "xray-socks") and serversnb > 0 and serversnb > disablednb then + --ucic:set("shadowsocks-libev","sss0","disabled","1") + ucic:set("v2ray","main","enabled","0") + ucic:set("xray","main","enabled","1") + if default_proxy == "xray" then + ucic:set("xray","omrout","protocol","vless") + elseif default_proxy == "xray-vless-reality" then + ucic:set("xray","omrout","protocol","vless-reality") + elseif default_proxy == "xray-vmess" then + ucic:set("xray","omrout","protocol","vmess") + elseif default_proxy == "xray-trojan" then + ucic:set("xray","omrout","protocol","trojan") + elseif default_proxy == "xray-socks" then + ucic:set("xray","omrout","protocol","socks") + elseif default_proxy == "xray-shadowsocks" then + ucic:set("xray","omrout","protocol","shadowsocks") + end + ucic:foreach("shadowsocks-libev", "server", function(s) + local sectionname = s[".name"] + ucic:set("shadowsocks-libev",sectionname,"disabled","1") + end) + ucic:foreach("shadowsocks-rust", "server", function(s) + local sectionname = s[".name"] + ucic:set("shadowsocks-rust",sectionname,"disabled","1") + end) + else + --ucic:set("shadowsocks-libev","sss0","disabled","1") + ucic:set("v2ray","main","enabled","0") + ucic:set("xray","main","enabled","0") + ucic:foreach("shadowsocks-libev", "server", function(s) + local sectionname = s[".name"] + ucic:set("shadowsocks-libev",sectionname,"disabled","1") + end) + ucic:foreach("shadowsocks-rust", "server", function(s) + local sectionname = s[".name"] + ucic:set("shadowsocks-rust",sectionname,"disabled","1") + end) + end + ucic:set("openmptcprouter","settings","proxy",default_proxy) + ucic:save("openmptcprouter") + ucic:save("shadowsocks-libev") + ucic:save("shadowsocks-rust") + ucic:save("v2ray") + ucic:save("xray") + + ucic:foreach("shadowsocks-libev","server", function(s) + local sectionname = s[".name"] + if sectionname:match("^sss.*") then + ucic:delete("shadowsocks-libev",sectionname,"ip") + ucic:set("shadowsocks-libev",sectionname,"disabled","1") + ucic:delete("openmptcprouter","omr","ss_" .. sectionname) + end + end) + ucic:foreach("shadowsocks-rust","server", function(s) + local sectionname = s[".name"] + if sectionname:match("^sss.*") then + ucic:delete("shadowsocks-rust",sectionname,"ip") + ucic:set("shadowsocks-rust",sectionname,"disabled","1") + ucic:delete("openmptcprouter","omr","ss_" .. sectionname) + end + end) + local ss_servers_nginx = {} local ss_servers_ha = {} local vpn_servers = {} @@ -372,52 +801,126 @@ function wizard_add() for server, _ in pairs(servers) do local master = luci.http.formvalue("master") or "" - local server_ip = luci.http.formvalue("%s.server_ip" % server) or "" + local server_ips = luci.http.formvaluetable("%s.serverip" % server) or {} + local server_ip = "" + for _, ip in pairs(server_ips) do + if server_ip == "" and ip ~= "" and ip ~= nil then + server_ip=ip + end + end -- We have an IP, so set it everywhere - if server_ip ~= "" then + if server_ip ~= "" and server_ip ~= nil and luci.http.formvalue("%s.openmptcprouter_vps_disabled" % server) ~= "1" then -- Check if we have more than one IP, in this case use Nginx HA if serversnb > 1 then if master == server then ss_ip=server_ip - table.insert(ss_servers_nginx,server_ip .. ":65101 max_fails=2 fail_timeout=20s") - table.insert(ss_servers_ha,server_ip .. ":65101 check") - if vpn_port ~= "" then - table.insert(vpn_servers,server_ip .. ":" .. vpn_port .. " max_fails=2 fail_timeout=20s") + --ucic:set("shadowsocks-libev","sss0","server",server_ip) + ucic:set("glorytun","vpn","host",server_ip) + ucic:set("glorytun-udp","vpn","host",server_ip) + ucic:set("dsvpn","vpn","host",server_ip) + ucic:set("mlvpn","general","host",server_ip) + ucic:set("ubond","general","host",server_ip) + ucic:set("v2ray","omrout","s_vmess_address",server_ip) + ucic:set("v2ray","omrout","s_vless_address",server_ip) + ucic:set("v2ray","omrout","s_trojan_address",server_ip) + ucic:set("v2ray","omrout","s_socks_address",server_ip) + ucic:set("xray","omrout","s_vmess_address",server_ip) + ucic:set("xray","omrout","s_vless_address",server_ip) + ucic:set("xray","omrout","s_vless_reality_address",server_ip) + ucic:set("xray","omrout","s_trojan_address",server_ip) + ucic:set("xray","omrout","s_socks_address",server_ip) + ucic:set("xray","omrout","s_shadowsocks_address",server_ip) + ucic:foreach("openvpn","openvpn", function(s) + local sectionname = s[".name"] + if sectionname:match("^omr.*") then + luci.sys.call("uci -q del openvpn." .. sectionname .. ".remote") + luci.sys.call("uci -q add_list openvpn." .. sectionname .. ".remote=" .. server_ip) + end + end) + --luci.sys.call("uci -q del openvpn.omr.remote") + --luci.sys.call("uci -q add_list openvpn.omr.remote=" .. server_ip) + ucic:set("qos","serverin","srchost",server_ip) + ucic:set("qos","serverout","dsthost",server_ip) + local nbip = 0 + for _, ssip in pairs(server_ips) do + ucic:set("shadowsocks-libev","sss" .. nbip,"server",ssip) + if default_proxy == "shadowsocks" and serversnb > disablednb and ssip ~= "" then + ucic:set("shadowsocks-libev","sss" .. nbip,"disabled","0") + end + ucic:set("shadowsocks-rust","sss" .. nbip,"server",ssip) + if default_proxy == "shadowsocks-rust" and serversnb > disablednb and ssip ~= "" then + ucic:set("shadowsocks-rust","sss" .. nbip,"disabled","0") + end + nbip = nbip + 1 + if disableipv6 == "1" and nbip > 0 then + ucic:set("shadowsocks-libev","sss" .. nbip,"disabled","1") + ucic:set("shadowsocks-rust","sss" .. nbip,"disabled","1") + break + end end - else - table.insert(ss_servers_nginx,server_ip .. ":65101 backup") - table.insert(ss_servers_ha,server_ip .. ":65101 backup") - if vpn_port ~= "" then - table.insert(vpn_servers,server_ip .. ":" .. vpn_port .. " backup") + if nbip == 1 then + --ucic:set("shadowsocks-libev","sss" .. nbip,"server",server_ip) + ucic:set("shadowsocks-libev","sss" .. nbip,"disabled","1") + ucic:set("shadowsocks-rust","sss" .. nbip,"disabled","1") end end k = k + 1 - ucic:set("nginx-ha","ShadowSocks","enable","1") - ucic:set("nginx-ha","VPN","enable","1") - ucic:set("nginx-ha","ShadowSocks","upstreams",ss_servers_nginx) - ucic:set("nginx-ha","VPN","upstreams",vpn_servers) + ucic:set("nginx-ha","ShadowSocks","enable","0") + ucic:set("nginx-ha","VPN","enable","0") ucic:set("haproxy-tcp","general","enable","0") - ucic:set("haproxy-tcp","general","upstreams",ss_servers_ha) ucic:set("openmptcprouter","settings","ha","1") - server_ip = "127.0.0.1" - --ucic:set("shadowsocks-libev","sss0","server",ss_ip) else ucic:set("openmptcprouter","settings","ha","0") ucic:set("nginx-ha","ShadowSocks","enable","0") ucic:set("nginx-ha","VPN","enable","0") --ucic:set("shadowsocks-libev","sss0","server",server_ip) - --ucic:set("openmptcprouter","vps","ip",server_ip) - --ucic:save("openmptcprouter") + ucic:set("glorytun","vpn","host",server_ip) + ucic:set("glorytun-udp","vpn","host",server_ip) + ucic:set("dsvpn","vpn","host",server_ip) + ucic:set("mlvpn","general","host",server_ip) + ucic:set("ubond","general","host",server_ip) + ucic:set("v2ray","omrout","s_vmess_address",server_ip) + ucic:set("v2ray","omrout","s_vless_address",server_ip) + ucic:set("v2ray","omrout","s_trojan_address",server_ip) + ucic:set("v2ray","omrout","s_socks_address",server_ip) + ucic:set("xray","omrout","s_vmess_address",server_ip) + ucic:set("xray","omrout","s_vless_address",server_ip) + ucic:set("xray","omrout","s_vless_reality_address",server_ip) + ucic:set("xray","omrout","s_trojan_address",server_ip) + ucic:set("xray","omrout","s_socks_address",server_ip) + ucic:set("xray","omrout","s_shadowsocks_address",server_ip) + ucic:foreach("openvpn","openvpn", function(s) + local sectionname = s[".name"] + if sectionname:match("^omr.*") then + luci.sys.call("uci -q del openvpn." .. sectionname .. ".remote") + luci.sys.call("uci -q add_list openvpn." .. sectionname .. ".remote=" .. server_ip) + end + end) + --luci.sys.call("uci -q del openvpn.omr.remote") + --luci.sys.call("uci -q add_list openvpn.omr.remote=" .. server_ip) + ucic:set("qos","serverin","srchost",server_ip) + ucic:set("qos","serverout","dsthost",server_ip) + local nbip = 0 + for _, ssip in pairs(server_ips) do + ucic:set("shadowsocks-libev","sss" .. nbip,"server",ssip) + if default_proxy == "shadowsocks" and serversnb > disablednb and ssip ~= "" then + ucic:set("shadowsocks-libev","sss" .. nbip,"disabled","0") + end + ucic:set("shadowsocks-rust","sss" .. nbip,"server",ssip) + if default_proxy == "shadowsocks-rust" and serversnb > disablednb and ssip ~= "" then + ucic:set("shadowsocks-rust","sss" .. nbip,"disabled","0") + end + nbip = nbip + 1 + if disableipv6 == "1" and nbip > 0 then + break + end + end + if nbip == 1 then + -- ucic:set("shadowsocks-libev","sss" .. nbip,"server",server_ip) + ucic:set("shadowsocks-libev","sss" .. nbip,"disabled","1") + ucic:set("shadowsocks-rust","sss" .. nbip,"disabled","1") + end end - ucic:set("shadowsocks-libev","sss0","server",server_ip) - ucic:set("glorytun","vpn","host",server_ip) - ucic:set("dsvpn","vpn","host",server_ip) - ucic:set("mlvpn","general","host",server_ip) - ucic:set("ubond","general","host",server_ip) - luci.sys.call("uci -q del openvpn.omr.remote") - luci.sys.call("uci -q add_list openvpn.omr.remote=" .. server_ip) - ucic:set("qos","serverin","srchost",server_ip) - ucic:set("qos","serverout","dsthost",server_ip) end end @@ -429,49 +932,221 @@ function wizard_add() --ucic:commit("openvpn") ucic:save("mlvpn") ucic:save("ubond") + ucic:save("v2ray") + ucic:save("xray") --ucic:commit("mlvpn") ucic:save("dsvpn") --ucic:commit("dsvpn") ucic:save("glorytun") + ucic:save("glorytun-udp") --ucic:commit("glorytun") ucic:save("shadowsocks-libev") + ucic:save("shadowsocks-rust") --ucic:commit("shadowsocks-libev") local encryption = luci.http.formvalue("encryption") if encryption == "none" then + ucic:set("openmptcprouter","settings","encryption","none") ucic:set("shadowsocks-libev","sss0","method","none") + ucic:set("shadowsocks-libev","sss1","method","none") + ucic:set("shadowsocks-rust","sss0","method","none") + ucic:set("shadowsocks-rust","sss1","method","none") + ucic:foreach("openvpn","openvpn", function(s) + local sectionname = s[".name"] + if sectionname:match("^omr.*") then + ucic:set("openvpn",sectionname,"cipher","none") + end + end) + --ucic:set("openvpn","omr","cipher","none") + ucic:set("mlvpn","general","cleartext_data","1") + ucic:set("v2ray","omrout","s_vmess_user_security","none") + ucic:set("v2ray","omrout","s_vless_user_security","none") + ucic:set("v2ray","omrout","s_trojan_user_security","none") + ucic:set("v2ray","omrout","s_socks_user_security","none") + ucic:set("xray","omrout","s_vmess_user_security","none") + ucic:set("xray","omrout","s_vless_user_security","none") + ucic:set("xray","omrout","s_vless_reality_user_security","none") + ucic:set("xray","omrout","s_trojan_user_security","none") + ucic:set("xray","omrout","s_socks_user_security","none") + --ucic:set("xray","omrout","s_shadowsocks_method","none") + ucic:set("xray","omrout","s_shadowsocks_method","2022-blake3-aes-256-gcm") elseif encryption == "aes-256-gcm" then + ucic:set("openmptcprouter","settings","encryption","aes-256-gcm") ucic:set("shadowsocks-libev","sss0","method","aes-256-gcm") + ucic:set("shadowsocks-libev","sss1","method","aes-256-gcm") ucic:set("glorytun","vpn","chacha20","0") + ucic:set("glorytun-udp","vpn","chacha","0") + ucic:foreach("openvpn","openvpn", function(s) + local sectionname = s[".name"] + if sectionname:match("^omr.*") then + ucic:set("openvpn",sectionname,"cipher","AES-256-GCM") + end + end) + --ucic:set("openvpn","omr","cipher","AES-256-GCM") + ucic:set("mlvpn","general","cleartext_data","0") + ucic:set("v2ray","omrout","s_vmess_user_security","aes-128-gcm") + ucic:set("v2ray","omrout","s_vless_user_security","aes-128-gcm") + ucic:set("v2ray","omrout","s_trojan_user_security","aes-128-gcm") + ucic:set("v2ray","omrout","s_socks_user_security","aes-128-gcm") + ucic:set("xray","omrout","s_vmess_user_security","aes-128-gcm") + ucic:set("xray","omrout","s_vless_user_security","aes-128-gcm") + ucic:set("xray","omrout","s_vless_reality_user_security","aes-128-gcm") + ucic:set("xray","omrout","s_trojan_user_security","aes-128-gcm") + ucic:set("xray","omrout","s_socks_user_security","aes-128-gcm") + ucic:set("xray","omrout","s_shadowsocks_method","2022-blake3-aes-256-gcm") + ucic:set("shadowsocks-rust","sss0","method","2022-blake3-aes-256-gcm") + ucic:set("shadowsocks-rust","sss1","method","2022-blake3-aes-256-gcm") + elseif encryption == "aes-256-cfb" then + ucic:set("openmptcprouter","settings","encryption","aes-256-cfb") + ucic:set("shadowsocks-libev","sss0","method","aes-256-cfb") + ucic:set("shadowsocks-libev","sss1","method","aes-256-cfb") + ucic:set("glorytun","vpn","chacha20","0") + ucic:set("glorytun-udp","vpn","chacha","0") + ucic:foreach("openvpn","openvpn", function(s) + local sectionname = s[".name"] + if sectionname:match("^omr.*") then + ucic:set("openvpn",sectionname,"cipher","AES-256-CFB") + end + end) + --ucic:set("openvpn","omr","cipher","AES-256-CFB") + ucic:set("mlvpn","general","cleartext_data","0") + ucic:set("v2ray","omrout","s_vmess_user_security","aes-128-gcm") + ucic:set("v2ray","omrout","s_vless_user_security","aes-128-gcm") + ucic:set("v2ray","omrout","s_trojan_user_security","aes-128-gcm") + ucic:set("v2ray","omrout","s_socks_user_security","aes-128-gcm") + ucic:set("xray","omrout","s_vmess_user_security","aes-128-gcm") + ucic:set("xray","omrout","s_vless_user_security","aes-128-gcm") + ucic:set("xray","omrout","s_vless_reality_user_security","aes-128-gcm") + ucic:set("xray","omrout","s_trojan_user_security","aes-128-gcm") + ucic:set("xray","omrout","s_socks_user_security","aes-128-gcm") + ucic:set("xray","omrout","s_shadowsocks_method","2022-blake3-aes-256-gcm") + ucic:set("shadowsocks-rust","sss0","method","2022-blake3-aes-256-gcm") + ucic:set("shadowsocks-rust","sss1","method","2022-blake3-aes-256-gcm") elseif encryption == "chacha20-ietf-poly1305" then + ucic:set("openmptcprouter","settings","encryption","chacha20") ucic:set("shadowsocks-libev","sss0","method","chacha20-ietf-poly1305") + ucic:set("shadowsocks-libev","sss1","method","chacha20-ietf-poly1305") ucic:set("glorytun","vpn","chacha20","1") + ucic:set("glorytun-udp","vpn","chacha","1") + ucic:foreach("openvpn","openvpn", function(s) + local sectionname = s[".name"] + if sectionname:match("^omr.*") then + ucic:set("openvpn",sectionname,"cipher","chacha20-poly1305") + end + end) + --ucic:set("openvpn","omr","cipher","chacha20-poly1305") + ucic:set("mlvpn","general","cleartext_data","0") + ucic:set("v2ray","omrout","s_vmess_user_security","chacha20-poly1305") + ucic:set("v2ray","omrout","s_vless_user_security","chacha20-poly1305") + ucic:set("v2ray","omrout","s_trojan_user_security","chacha20-poly1305") + ucic:set("v2ray","omrout","s_socks_user_security","chacha20-poly1305") + ucic:set("xray","omrout","s_vmess_user_security","chacha20-poly1305") + ucic:set("xray","omrout","s_vless_user_security","chacha20-poly1305") + ucic:set("xray","omrout","s_vless_reality_user_security","chacha20-poly1305") + ucic:set("xray","omrout","s_trojan_user_security","chacha20-poly1305") + ucic:set("xray","omrout","s_socks_user_security","chacha20-poly1305") + --ucic:set("xray","omrout","s_shadowsocks_method","2022-blake3-chacha20-poly1305") + ucic:set("xray","omrout","s_shadowsocks_method","2022-blake3-aes-256-gcm") + --ucic:set("shadowsocks-rust","sss0","method","2022-blake3-chacha20-poly1305") + --ucic:set("shadowsocks-rust","sss1","method","2022-blake3-chacha20-poly1305") + ucic:set("shadowsocks-rust","sss0","method","2022-blake3-aes-256-gcm") + ucic:set("shadowsocks-rust","sss1","method","2022-blake3-aes-256-gcm") + else + ucic:set("openmptcprouter","settings","encryption","other") end + ucic:save("openvpn") + ucic:save("glorytun") + ucic:save("glorytun-udp") + ucic:save("shadowsocks-libev") + ucic:save("v2ray") + ucic:save("xray") -- Set ShadowSocks settings local shadowsocks_key = luci.http.formvalue("shadowsocks_key") - local shadowsocks_disable = luci.http.formvalue("disableshadowsocks") or "0" + --local shadowsocks_disable = luci.http.formvalue("disableshadowsocks") or "0" + --if disablednb == serversnb then + -- shadowsocks_disable = 1 + --end if shadowsocks_key ~= "" then ucic:set("shadowsocks-libev","sss0","key",shadowsocks_key) + ucic:set("shadowsocks-libev","sss1","key",shadowsocks_key) --ucic:set("shadowsocks-libev","sss0","method","chacha20-ietf-poly1305") --ucic:set("shadowsocks-libev","sss0","server_port","65101") - ucic:set("shadowsocks-libev","sss0","disabled",shadowsocks_disable) + --ucic:set("shadowsocks-libev","sss0","disabled",shadowsocks_disable) ucic:save("shadowsocks-libev") ucic:commit("shadowsocks-libev") if shadowsocks_disable == "1" then - luci.sys.call("/etc/init.d/shadowsocks rules_down >/dev/null 2>/dev/null") + luci.sys.call("/etc/init.d/shadowsocks-libev rules_down >/dev/null 2>/dev/null") end else + if serversnb == 0 then + ucic:set("shadowsocks-libev","sss0","disabled","1") + ucic:set("shadowsocks-libev","sss1","disabled","1") + end ucic:set("shadowsocks-libev","sss0","key","") - ucic:set("shadowsocks-libev","sss0","disabled",shadowsocks_disable) + ucic:set("shadowsocks-libev","sss1","key","") ucic:save("shadowsocks-libev") ucic:commit("shadowsocks-libev") - luci.sys.call("/etc/init.d/shadowsocks rules_down >/dev/null 2>/dev/null") + luci.sys.call("/etc/init.d/shadowsocks-libev rules_down >/dev/null 2>/dev/null") + end + -- Set ShadowSocks 2022 settings + local shadowsocks2022_key = luci.http.formvalue("shadowsocks2022_key") + if shadowsocks2022_key ~= "" then + ucic:set("shadowsocks-rust","sss0","password",shadowsocks2022_key) + ucic:set("shadowsocks-rust","sss1","password",shadowsocks2022_key) + ucic:set("xray","omrout","s_shadowsocks_password",shadowsocks2022_key) + ucic:save("shadowsocks-rust") + ucic:commit("shadowsocks-rust") + if shadowsocks_disable == "1" then + luci.sys.call("/etc/init.d/shadowsocks-rust rules_down >/dev/null 2>/dev/null") + end + else + if serversnb == 0 then + ucic:set("shadowsocks-rust","sss0","disabled","1") + ucic:set("shadowsocks-rust","sss1","disabled","1") + end + ucic:set("shadowsocks-rust","sss0","password","") + ucic:set("shadowsocks-rust","sss1","password","") + ucic:set("xray","omrout","s_shadowsocks_password","") + ucic:save("shadowsocks-rust") + ucic:commit("shadowsocks-rust") + luci.sys.call("/etc/init.d/shadowsocks-rust rules_down >/dev/null 2>/dev/null") end + -- Enable/disable v2ray/xray udp + local v2rayudp = luci.http.formvalue("v2rayudp") or "0" + ucic:set("v2ray","main_transparent_proxy","redirect_udp",v2rayudp) + ucic:save("v2ray") + ucic:commit("v2ray") + ucic:set("xray","main_transparent_proxy","redirect_udp",v2rayudp) + ucic:save("xray") + ucic:commit("xray") + + local v2ray_user = luci.http.formvalue("v2ray_user") + ucic:set("v2ray","omrout","s_vmess_user_id",v2ray_user) + ucic:set("v2ray","omrout","s_vless_user_id",v2ray_user) + ucic:set("v2ray","omrout","s_trojan_user_id",v2ray_user) + ucic:set("v2ray","omrout","s_socks_user_id",v2ray_user) + ucic:save("v2ray") + ucic:commit("v2ray") + local xray_user = luci.http.formvalue("xray_user") + ucic:set("xray","omrout","s_vmess_user_id",xray_user) + ucic:set("xray","omrout","s_vless_user_id",xray_user) + ucic:set("xray","omrout","s_vless_reality_user_id",xray_user) + ucic:set("xray","omrout","s_trojan_user_id",xray_user) + ucic:set("xray","omrout","s_socks_user_id",xray_user) + ucic:save("xray") + ucic:commit("xray") + + ucic:save("shadowsocks-libev") + ucic:commit("shadowsocks-libev") + ucic:save("shadowsocks-rust") + ucic:commit("shadowsocks-rust") + + -- Set Glorytun settings - if default_vpn:match("^glorytun.*") then + if default_vpn:match("glorytun_tcp") and disablednb ~= serversnb then ucic:set("glorytun","vpn","enable",1) else ucic:set("glorytun","vpn","enable",0) @@ -482,20 +1157,14 @@ function wizard_add() ucic:set("glorytun","vpn","port","65001") ucic:set("glorytun","vpn","key",glorytun_key) ucic:set("glorytun","vpn","mptcp",1) - if default_vpn == "glorytun_udp" then - ucic:set("glorytun","vpn","proto","udp") - ucic:set("glorytun","vpn","localip","10.255.254.2") - ucic:set("glorytun","vpn","remoteip","10.255.254.1") - ucic:set("network","omr6in4","ipaddr","10.255.254.2") - ucic:set("network","omr6in4","peeraddr","10.255.254.1") - else + if default_vpn == "glorytun_tcp" then ucic:set("glorytun","vpn","proto","tcp") ucic:set("glorytun","vpn","localip","10.255.255.2") ucic:set("glorytun","vpn","remoteip","10.255.255.1") ucic:set("network","omr6in4","ipaddr","10.255.255.2") ucic:set("network","omr6in4","peeraddr","10.255.255.1") + ucic:set("network","omrvpn","proto","none") end - ucic:set("network","omrvpn","proto","none") else ucic:set("glorytun","vpn","key","") --ucic:set("glorytun","vpn","enable",0) @@ -504,8 +1173,31 @@ function wizard_add() ucic:save("glorytun") ucic:commit("glorytun") + if default_vpn:match("glorytun_udp") and disablednb ~= serversnb then + ucic:set("glorytun-udp","vpn","enable",1) + else + ucic:set("glorytun-udp","vpn","enable",0) + end + + local glorytun_key = luci.http.formvalue("glorytun_key") + if glorytun_key ~= "" then + ucic:set("glorytun-udp","vpn","port","65001") + ucic:set("glorytun-udp","vpn","key",glorytun_key) + if default_vpn == "glorytun_udp" then + ucic:set("glorytun-udp","vpn","localip","10.255.254.2") + ucic:set("glorytun-udp","vpn","remoteip","10.255.254.1") + ucic:set("network","omr6in4","ipaddr","10.255.254.2") + ucic:set("network","omr6in4","peeraddr","10.255.254.1") + ucic:set("network","omrvpn","proto","none") + end + else + ucic:set("glorytun-udp","vpn","key","") + end + ucic:save("glorytun-udp") + ucic:commit("glorytun-udp") + -- Set A Dead Simple VPN settings - if default_vpn == "dsvpn" then + if default_vpn == "dsvpn" and disablednb ~= serversnb then ucic:set("dsvpn","vpn","enable",1) else ucic:set("dsvpn","vpn","enable",0) @@ -513,13 +1205,15 @@ function wizard_add() local dsvpn_key = luci.http.formvalue("dsvpn_key") if dsvpn_key ~= "" then - ucic:set("dsvpn","vpn","port","65011") + ucic:set("dsvpn","vpn","port","65401") ucic:set("dsvpn","vpn","key",dsvpn_key) ucic:set("dsvpn","vpn","localip","10.255.251.2") ucic:set("dsvpn","vpn","remoteip","10.255.251.1") - ucic:set("network","omr6in4","ipaddr","10.255.251.2") - ucic:set("network","omr6in4","peeraddr","10.255.251.1") - ucic:set("network","omrvpn","proto","none") + if default_vpn == "dsvpn" then + ucic:set("network","omr6in4","ipaddr","10.255.251.2") + ucic:set("network","omr6in4","peeraddr","10.255.251.1") + ucic:set("network","omrvpn","proto","none") + end else ucic:set("dsvpn","vpn","key","") --ucic:set("dsvpn","vpn","enable",0) @@ -528,7 +1222,7 @@ function wizard_add() ucic:commit("dsvpn") -- Set MLVPN settings - if default_vpn == "mlvpn" then + if default_vpn == "mlvpn" and disablednb ~= serversnb then ucic:set("mlvpn","general","enable",1) ucic:set("network","omrvpn","proto","dhcp") else @@ -548,7 +1242,7 @@ function wizard_add() ucic:commit("mlvpn") -- Set UBOND settings - if default_vpn == "ubond" then + if default_vpn == "ubond" and disablednb ~= serversnb then ucic:set("ubond","general","enable",1) ucic:set("network","omrvpn","proto","dhcp") else @@ -558,7 +1252,7 @@ function wizard_add() local ubond_password = luci.http.formvalue("ubond_password") if ubond_password ~= "" then ucic:set("ubond","general","password",ubond_password) - ucic:set("ubond","general","firstport","65201") + ucic:set("ubond","general","firstport","65251") ucic:set("ubond","general","interface_name","ubond0") else --ucic:set("ubond","general","enable",0) @@ -567,14 +1261,44 @@ function wizard_add() ucic:save("ubond") ucic:commit("ubond") - if default_vpn == "openvpn" then - ucic:set("openvpn","omr","enabled",1) - ucic:set("network","omrvpn","proto","none") + if default_vpn == "openvpn" and disablednb ~= serversnb then + if ucic:get("openmptcprouter","settings","openvpn_lb") == "0" then + ucic:foreach("openvpn","openvpn", function(s) + local sectionname = s[".name"] + if sectionname:match("^omr.*") then + ucic:set("openvpn",sectionname,"enabled",0) + ucic:set("network",sectionname,"proto","none") + end + end) + ucic:set("openvpn","omr","enabled",1) + else + ucic:foreach("openvpn","openvpn", function(s) + local sectionname = s[".name"] + if sectionname:match("^omr.*") then + ucic:set("openvpn",sectionname,"enabled",1) + ucic:set("network",sectionname,"proto","none") + end + end) + --ucic:set("openvpn","omr","enabled",1) + end + --ucic:set("network","omrvpn","proto","none") else - ucic:set("openvpn","omr","enabled",0) + ucic:foreach("openvpn","openvpn", function(s) + local sectionname = s[".name"] + if sectionname:match("^omr.*") then + ucic:delete("openvpn",sectionname,"enabled") + end + end) + --ucic:delete("openvpn","omr","enabled") end ucic:save("openvpn") ucic:commit("openvpn") + + ucic:save("v2ray") + ucic:commit("v2ray") + ucic:save("xray") + ucic:commit("xray") + ucic:save("network") ucic:commit("network") @@ -583,7 +1307,6 @@ function wizard_add() --ucic:set("openmptcprouter","vps","username","openmptcprouter") --ucic:set("openmptcprouter","vps","password",openmptcprouter_vps_key) --ucic:set("openmptcprouter","vps","get_config","1") - local shadowsocks_disable = luci.http.formvalue("disableshadowsocks") or "0" ucic:set("openmptcprouter","settings","shadowsocks_disable",shadowsocks_disable) ucic:set("openmptcprouter","settings","vpn",default_vpn) ucic:delete("openmptcprouter","settings","master_lcintf") @@ -591,27 +1314,39 @@ function wizard_add() ucic:commit("openmptcprouter") -- Restart all + menuentry = ucic:get("openmptcprouter","settings","menu") or "openmptcprouter" if gostatus == true then + --luci.sys.call("/etc/init.d/macvlan restart >/dev/null 2>/dev/null") luci.sys.call("(env -i /bin/ubus call network reload) >/dev/null 2>/dev/null") + luci.sys.call("ip addr flush dev tun0 >/dev/null 2>/dev/null") + luci.sys.call("/etc/init.d/omr-tracker stop >/dev/null 2>/dev/null") luci.sys.call("/etc/init.d/mptcp restart >/dev/null 2>/dev/null") - if openmptcprouter_vps_key ~= "" then - luci.sys.call("/etc/init.d/openmptcprouter-vps restart >/dev/null 2>/dev/null") - os.execute("sleep 2") - end + --if openmptcprouter_vps_key ~= "" then + -- luci.sys.call("/etc/init.d/openmptcprouter-vps restart >/dev/null 2>/dev/null") + -- luci.sys.call("sleep 2") + --end luci.sys.call("/etc/init.d/shadowsocks-libev restart >/dev/null 2>/dev/null") + luci.sys.call("/etc/init.d/shadowsocks-rust restart >/dev/null 2>/dev/null") luci.sys.call("/etc/init.d/glorytun restart >/dev/null 2>/dev/null") luci.sys.call("/etc/init.d/glorytun-udp restart >/dev/null 2>/dev/null") luci.sys.call("/etc/init.d/mlvpn restart >/dev/null 2>/dev/null") luci.sys.call("/etc/init.d/ubond restart >/dev/null 2>/dev/null") - luci.sys.call("/etc/init.d/openvpn restart >/dev/null 2>/dev/null") - luci.sys.call("/etc/init.d/dsvpn restart >/dev/null 2>/dev/null") - luci.sys.call("/etc/init.d/omr-tracker restart >/dev/null 2>/dev/null") - luci.sys.call("/etc/init.d/omr-6in4 restart >/dev/null 2>/dev/null") luci.sys.call("/etc/init.d/mptcpovervpn restart >/dev/null 2>/dev/null") + luci.sys.call("/etc/init.d/openvpn restart >/dev/null 2>/dev/null") + luci.sys.call("/etc/init.d/openvpnbonding restart >/dev/null 2>/dev/null") + luci.sys.call("/etc/init.d/dsvpn restart >/dev/null 2>/dev/null") + luci.sys.call("/etc/init.d/omr-tracker start >/dev/null 2>/dev/null") + luci.sys.call("/etc/init.d/omr-6in4 restart >/dev/null 2>/dev/null") luci.sys.call("/etc/init.d/vnstat restart >/dev/null 2>/dev/null") - luci.http.redirect(luci.dispatcher.build_url("admin/system/openmptcprouter/status")) + luci.sys.call("/etc/init.d/v2ray restart >/dev/null 2>/dev/null") + luci.sys.call("/etc/init.d/xray restart >/dev/null 2>/dev/null") + luci.sys.call("/etc/init.d/sqm restart >/dev/null 2>/dev/null") + luci.sys.call("/etc/init.d/omr-bypass restart >/dev/null 2>/dev/null") + luci.sys.call("/etc/init.d/sqm-autorate restart >/dev/null 2>/dev/null") + luci.sys.call("/etc/init.d/sysntpd restart >/dev/null 2>/dev/null") + luci.http.redirect(luci.dispatcher.build_url("admin/system/" .. menuentry:lower() .. "/status")) else - luci.http.redirect(luci.dispatcher.build_url("admin/system/openmptcprouter/wizard")) + luci.http.redirect(luci.dispatcher.build_url("admin/system/" .. menuentry:lower() .. "/wizard")) end return end @@ -641,7 +1376,22 @@ function settings_add() local tcp_syn_retries = luci.http.formvalue("tcp_syn_retries") luci.sys.exec("sysctl -w net.ipv4.tcp_syn_retries=%s" % tcp_syn_retries) luci.sys.exec("sed -i 's:^net.ipv4.tcp_syn_retries=[0-9]*:net.ipv4.tcp_syn_retries=%s:' /etc/sysctl.d/zzz_openmptcprouter.conf" % tcp_syn_retries) - + + -- Set tcp_retries1 + local tcp_retries1 = luci.http.formvalue("tcp_retries1") + luci.sys.exec("sysctl -w net.ipv4.tcp_retries1=%s" % tcp_retries1) + luci.sys.exec("sed -i 's:^net.ipv4.tcp_retries1=[0-9]*:net.ipv4.tcp_retries1=%s:' /etc/sysctl.d/zzz_openmptcprouter.conf" % tcp_retries1) + + -- Set tcp_retries2 + local tcp_retries2 = luci.http.formvalue("tcp_retries2") + luci.sys.exec("sysctl -w net.ipv4.tcp_retries2=%s" % tcp_retries2) + luci.sys.exec("sed -i 's:^net.ipv4.tcp_retries2=[0-9]*:net.ipv4.tcp_retries2=%s:' /etc/sysctl.d/zzz_openmptcprouter.conf" % tcp_retries2) + + -- Set ip_default_ttl + local ip_default_ttl = luci.http.formvalue("ip_default_ttl") + luci.sys.exec("sysctl -w net.ipv4.ip_default_ttl=%s" % ip_default_ttl) + luci.sys.exec("sed -i 's:^net.ipv4.ip_default_ttl=[0-9]*:net.ipv4.ip_default_ttl=%s:' /etc/sysctl.d/zzz_openmptcprouter.conf" % ip_default_ttl) + -- Set tcp_fastopen local tcp_fastopen = luci.http.formvalue("tcp_fastopen") local disablefastopen = luci.http.formvalue("disablefastopen") or "0" @@ -656,25 +1406,116 @@ function settings_add() -- Disable IPv6 local disable_ipv6 = luci.http.formvalue("enableipv6") or "1" - local dump = require("luci.util").ubus("openmptcprouter", "disableipv6", { disable_ipv6 = tonumber(disable_ipv6)}) + ucic:set("openmptcprouter","settings","disable_ipv6",disable_ipv6) + --local dump = require("luci.util").ubus("openmptcprouter", "disableipv6", { disable_ipv6 = tonumber(disable_ipv6)}) + + -- Disable 6in4 + local disable_6in4 = luci.http.formvalue("enable6in4") or "0" + ucic:set("openmptcprouter","settings","disable_6in4",disable_6in4) + + -- Disable ModemManager + local disable_modemmanager = luci.http.formvalue("disablemodemmanager") or "0" + ucic:set("openmptcprouter","settings","disable_modemmanager",disable_modemmanager) + if disable_modemmanager == "1" then + luci.sys.exec("/etc/init.d/modemmanager stop") + end -- Enable/disable external check local externalcheck = luci.http.formvalue("externalcheck") or "1" ucic:set("openmptcprouter","settings","external_check",externalcheck) - -- Enable/disable external check + -- Enable/disable OpenVPN multiple clients + local openvpnlb = luci.http.formvalue("openvpnlb") or "1" + if ucic:get("openmptcprouter","settings","openvpn_lb") ~= openvpnlb then + ucic:set("openmptcprouter","settings","openvpn_lb",openvpnlb) + ucic:foreach("openmptcprouter", "server", function(s) + local sectionname = s[".name"] + ucic:set("openmptcprouter",sectionname,"get_config","1") + end) + + end + + -- Enable/disable restrict proxy to LAN + local restricttolan = luci.http.formvalue("restricttolan") or "0" + ucic:set("openmptcprouter","settings","restrict_to_lan",restricttolan) + + -- Enable/disable debug + local debug = luci.http.formvalue("debug") or "0" + ucic:set("openmptcprouter","settings","debug",debug) + ucic:foreach("shadowsocks-libev", "ss_redir", function (section) + ucic:set("shadowsocks-libev",section[".name"],"verbose",debug) + end) + + -- Enable/disable vnstat backup local savevnstat = luci.http.formvalue("savevnstat") or "0" - luci.sys.exec("uci -q set vnstat.@vnstat[0].backup=%s" % savevnstat) + luci.sys.exec("uci -q set openmptcprouter.settings.vnstat_backup=%s" % savevnstat) ucic:commit("vnstat") -- Enable/disable gateway ping local disablegwping = luci.http.formvalue("disablegwping") or "0" ucic:set("openmptcprouter","settings","disablegwping",disablegwping) + -- VPS timeout + local status_vps_timeout = luci.http.formvalue("status_vps_timeout") or "1" + ucic:set("openmptcprouter","settings","status_vps_timeout",status_vps_timeout) + + -- IP timeout + local status_getip_timeout = luci.http.formvalue("status_getip_timeout") or "1" + ucic:set("openmptcprouter","settings","status_getip_timeout",status_getip_timeout) + + -- Whois timeout + local status_whois_timeout = luci.http.formvalue("status_whois_timeout") or "2" + ucic:set("openmptcprouter","settings","status_whois_timeout",status_whois_timeout) + + -- Enable/disable loop detection + local disableloopdetection = luci.http.formvalue("disableloopdetection") or "0" + ucic:set("openmptcprouter","settings","disableloopdetection",disableloopdetection) + + -- Enable/disable http test + local disableserverhttptest = luci.http.formvalue("disableserverhttptest") or "0" + ucic:set("openmptcprouter","settings","disableserverhttptest",disableserverhttptest) + + -- Enable/disable renaming intf + local disableintfrename = luci.http.formvalue("disableintfrename") or "0" + ucic:set("openmptcprouter","settings","disableintfrename",disableintfrename) + + -- Enable/disable default gateway + local disabledefaultgw = luci.http.formvalue("disabledefaultgw") or "1" + ucic:set("openmptcprouter","settings","defaultgw",disabledefaultgw) + + -- Enable/disable tracebox + local tracebox = luci.http.formvalue("disabletracebox") or "1" + ucic:set("openmptcprouter","settings","tracebox",tracebox) + + -- Enable/disable ModemManager + local modemmanager = luci.http.formvalue("disablemodemmanager") or "1" + ucic:set("openmptcprouter","settings","modemmanager",modemmanager) + -- Enable/disable server ping local disableserverping = luci.http.formvalue("disableserverping") or "0" ucic:set("openmptcprouter","settings","disableserverping",disableserverping) + -- Enable/disable multipath check + local disablemultipathtest = luci.http.formvalue("disablemultipathtest") or "0" + ucic:set("openmptcprouter","settings","disablemultipathtest",disablemultipathtest) + + -- Enable/disable shadowsocks udp + local shadowsocksudp = luci.http.formvalue("shadowsocksudp") or "0" + ucic:set("openmptcprouter","settings","shadowsocksudp",shadowsocksudp) + + -- Enable/disable v2ray/xray udp + local v2rayudp = luci.http.formvalue("v2rayudp") or "0" + ucic:set("v2ray","main_transparent_proxy","redirect_udp",v2rayudp) + ucic:save("v2ray") + ucic:commit("v2ray") + ucic:set("xray","main_transparent_proxy","redirect_udp",v2rayudp) + ucic:save("xray") + ucic:commit("xray") + + -- Enable/disable nDPI + local ndpi = luci.http.formvalue("ndpi") or "1" + ucic:set("openmptcprouter","settings","ndpi",ndpi) + -- Enable/disable fast open local disablefastopen = luci.http.formvalue("disablefastopen") or "0" if disablefastopen == "0" then @@ -689,6 +1530,18 @@ function settings_add() ucic:set("shadowsocks-libev",section[".name"],"fast_open",fastopen) end) + -- Enable/disable no delay + local nodelay = luci.http.formvalue("enablenodelay") or "0" + ucic:set("openmptcprouter","settings","enable_nodelay",nodelay) + luci.sys.exec("sysctl -w net.ipv4.tcp_low_latency=%s" % nodelay) + luci.sys.exec("sed -i 's:^net.ipv4.tcp_low_latency=[0-9]*:net.ipv4.tcp_low_latency=%s:' /etc/sysctl.d/zzz_openmptcprouter.conf" % nodelay) + ucic:foreach("shadowsocks-libev", "ss_redir", function (section) + ucic:set("shadowsocks-libev",section[".name"],"no_delay",nodelay) + end) + ucic:foreach("shadowsocks-libev", "ss_local", function (section) + ucic:set("shadowsocks-libev",section[".name"],"no_delay",nodelay) + end) + -- Enable/disable obfs local obfs = luci.http.formvalue("obfs") or "0" @@ -724,14 +1577,27 @@ function settings_add() ucic:set("openmptcprouter","settings","scaling_governor",scaling_governor) end + -- Enable/disable Qualcomm Shortcut FE + local sfe_enabled = luci.http.formvalue("sfe_enabled") or "0" + ucic:set("openmptcprouter","settings","sfe_enabled",sfe_enabled) + local sfe_bridge = luci.http.formvalue("sfe_bridge") or "0" + ucic:set("openmptcprouter","settings","sfe_bridge",sfe_bridge) + + -- Enable/disable SIP ALG + local sipalg = luci.http.formvalue("sipalg") or "0" + ucic:set("openmptcprouter","settings","sipalg",sipalg) + ucic:save("openmptcprouter") ucic:commit("openmptcprouter") -- Apply all settings luci.sys.call("/etc/init.d/openmptcprouter restart >/dev/null 2>/dev/null") + luci.sys.call("/etc/init.d/openmptcprouter-vps set_vps_firewall >/dev/null 2>/dev/null") + luci.sys.call("/etc/init.d/omr-6in4 restart >/dev/null 2>/dev/null") -- Done, redirect - luci.http.redirect(luci.dispatcher.build_url("admin/system/openmptcprouter/settings")) + menuentry = ucic:get("openmptcprouter","settings","menu") or "openmptcprouter" + luci.http.redirect(luci.dispatcher.build_url("admin/system/" .. menuentry:lower() .. "/settings")) return end @@ -740,7 +1606,7 @@ function update_vps() local update_vps = luci.http.formvalue("flash") or "" if update_vps ~= "" then local ut = require "luci.util" - local result = ut.ubus("openmptcprouter", "update_vps", {}) + local result = ut.ubus("openmptcprouter", "updateVPS", {}) end return end @@ -748,20 +1614,38 @@ end function backupgr() local get_backup = luci.http.formvalue("restore") or "" if get_backup ~= "" then - luci.sys.call("/etc/init.d/openmptcprouter-vps backup_get >/dev/null 2>/dev/null") + local dobackup = 0 + ucic:foreach("openmptcprouter","server", function(s) + servername = s[".name"] + local get_selected_backup = luci.http.formvalue(servername .. "") or "" + if get_selected_backup ~= "" then + dobackup = 1 + luci.sys.call("/etc/init.d/openmptcprouter-vps backup_get " .. servername .. " " .. get_selected_backup .. ">/dev/null 2>/dev/null") + end + end) + if dobackup == 0 then + luci.sys.call("/etc/init.d/openmptcprouter-vps backup_get >/dev/null 2>/dev/null") + end end local send_backup = luci.http.formvalue("save") or "" if send_backup ~= "" then luci.sys.call("/etc/init.d/openmptcprouter-vps backup_send >/dev/null 2>/dev/null") end - luci.http.redirect(luci.dispatcher.build_url("admin/system/openmptcprouter/backup")) + menuentry = ucic:get("openmptcprouter","settings","menu") or "openmptcprouter" + luci.http.redirect(luci.dispatcher.build_url("admin/system/" .. menuentry:lower() .. "/backup")) return end function get_device(interface) local dump = require("luci.util").ubus("network.interface.%s" % interface, "status", {}) if dump ~= nil then - return dump['l3_device'] + if dump['l3_device'] ~= nil then + return dump['l3_device'] + elseif dump['device'] ~= nil then + return dump['device'] + else + return "" + end else return "" end @@ -873,7 +1757,8 @@ end function interfaces_status() local ut = require "luci.util" - local mArray = ut.ubus("openmptcprouter", "status", {}) or {_=0} + --local mArray = ut.ubus("openmptcprouter", "status", {}) or {_=0} + local mArray = luci.json.decode(ut.trim(sys.exec("/bin/ubus -t 600 -S call openmptcprouter status 2>/dev/null"))) if mArray ~= nil and mArray.openmptcprouter ~= nil then mArray.openmptcprouter["remote_addr"] = luci.http.getenv("REMOTE_ADDR") or "" diff --git a/luci-app-openmptcprouter/luasrc/view/openmptcprouter/backup.htm b/luci-app-openmptcprouter/luasrc/view/openmptcprouter/backup.htm index 174e7cda1..0b66c1662 100644 --- a/luci-app-openmptcprouter/luasrc/view/openmptcprouter/backup.htm +++ b/luci-app-openmptcprouter/luasrc/view/openmptcprouter/backup.htm @@ -1,9 +1,11 @@ <%+header%> <% luci.sys.call("/etc/init.d/openmptcprouter-vps backup_list >/dev/null 2>/dev/null") +local ucic = luci.model.uci.cursor() +menuentry = ucic:get("openmptcprouter","settings","menu") or "openmptcprouter" %> <% if stderr and #stderr > 0 then %>
<%=pcdata(stderr)%>
<% end %> -
+

<%:Backup on server%>

@@ -14,10 +16,36 @@ luci.sys.call("/etc/init.d/openmptcprouter-vps backup_list >/dev/null 2>/dev/nul %>

<%=servername%>

<% - if luci.model.uci.cursor():get("openmptcprouter",servername,"lastbackup") ~= nil then + if luci.model.uci.cursor():get("openmptcprouter",servername,"allbackup") ~= nil then %>
- <%:Last available backup on server:%> <%=os.date('%d-%b-%Y', luci.model.uci.cursor():get("openmptcprouter",servername,"lastbackup"))%> +
+ +
+ +
+
+
+ <% + elseif luci.model.uci.cursor():get("openmptcprouter",servername,"lastbackup") ~= nil then + %> +
+ <%:Last available backup on server:%> <%=os.date('%c', luci.model.uci.cursor():get("openmptcprouter",servername,"lastbackup"))%>
<% else %>
@@ -27,6 +55,7 @@ luci.sys.call("/etc/init.d/openmptcprouter-vps backup_list >/dev/null 2>/dev/nul <% end) %> +
diff --git a/luci-app-openmptcprouter/luasrc/view/openmptcprouter/debug.htm b/luci-app-openmptcprouter/luasrc/view/openmptcprouter/debug.htm index 8a5f894c4..96db8aaa9 100644 --- a/luci-app-openmptcprouter/luasrc/view/openmptcprouter/debug.htm +++ b/luci-app-openmptcprouter/luasrc/view/openmptcprouter/debug.htm @@ -4,7 +4,7 @@

<%:All router settings%>

-
<%=luci.sys.exec("uci show")%>
+
<%=luci.sys.exec("sh /bin/anonymous_config.sh")%>
<%+footer%> diff --git a/luci-app-openmptcprouter/luasrc/view/openmptcprouter/settings.htm b/luci-app-openmptcprouter/luasrc/view/openmptcprouter/settings.htm index 7f1bd4270..0eb974a41 100644 --- a/luci-app-openmptcprouter/luasrc/view/openmptcprouter/settings.htm +++ b/luci-app-openmptcprouter/luasrc/view/openmptcprouter/settings.htm @@ -3,6 +3,8 @@ <% if stderr and #stderr > 0 then %>
<%=pcdata(stderr)%>
<% end %> <% local latest_omr_version=luci.model.uci.cursor():get("openmptcprouter","latest_versions","vps") + local ucic = luci.model.uci.cursor() + menuentry = ucic:get("openmptcprouter","settings","menu") or "openmptcprouter" omr_test = false uci:foreach("openmptcprouter","server", function(s) servername = s[".name"] @@ -13,11 +15,11 @@ end) if omr_test == true then %> - +
-

<%:Update VPS%>

+

<%:Update server%>

-
<%:Update remotly the server to latest version when needed.%> <%:Beta%>
+
<%:Update remotly servers to latest version and reboot them.%> <%:Beta%>
@@ -33,12 +35,12 @@ end %> - - +
+

<%:Advanced Settings%>

- <%:VPS settings%> + <%:Server settings%> <% uci:foreach("openmptcprouter","server", function(s) servername = s[".name"] @@ -51,6 +53,10 @@
checked<% end %>> +
+
+ <%:You shouldn't do that and you should redirect only needed ports%> +
@@ -91,7 +97,7 @@ end if obfs_installed then %> - + <% end %> @@ -102,8 +108,8 @@
@@ -111,6 +117,7 @@ end %>
+
<%:Networks settings%>
@@ -118,18 +125,50 @@
"> +
+
+ <%:How often TCP sends out keepalive messages when keepalive is enabled.%> +
"> +
+
+ <%:The length of time an orphaned (no longer referenced by any application) connection will remain in the FIN_WAIT_2 state before it is aborted at the local end.%> +
"> +
+
+ <%:Number of times initial SYNs for an active TCP connection attempt will be retransmitted.%> +
+
+
+
+ +
+ "> +
+
+ <%:This value influences the time, after which TCP decides, that something is wrong due to unacknowledged RTO retransmissions, and reports this suspicion to the network layer.%> +
+
+
+
+ +
+ "> +
+
+ <%:This value influences the timeout of an alive TCP connection, when RTO retransmissions remain unacknowledged.%> +
@@ -138,12 +177,24 @@ ">
+
+ +
+ "> +
+
checked<% end %>>
+
+ +
+ checked<% end %>> +
+
@@ -164,10 +215,31 @@
+
+ +
+ checked<% end %>> +
+
+ <%:Optimize for latency instead of bandwidth%> +
+
+
+
+ +
+ checked<% end %>> +
+
+ +
+
+ <%:Other settings%> +
- checked<% end %>> + checked<% end %>>
<%:Save vnstats statistics on disk%> @@ -180,7 +252,94 @@ checked<% end %>>
- <%:Disable gateway ping status check%> + <%:Disable gateway ping check in status page%> +
+
+
+
+ +
+ checked<% end %>> +
+
+ <%:Disable HTTP test on Server API%> +
+
+
+
+ +
+ "> +
+
+ <%:Timeout for VPS checks on status pages%> +
+
+
+
+ +
+ "> +
+
+ <%:Timeout for retrieving WANs IP on status pages%> +
+
+
+
+ +
+ "> +
+
+ <%:Timeout for retrieving Whois WANs IP on status pages%> +
+
+
+
+ +
+ checked<% end %>> +
+
+ <%:Disable renaming interfaces%> +
+
+
+
+ +
+ checked<% end %>> +
+
+ +
+ +
+ checked<% end %>> +
+
+ <%:When proxy shadowsocks is used, use it for UDP if VPN down%> +
+
+
+
+ +
+ checked<% end %>> +
+
+ <%:When proxy V2Ray/XRay VLESS, VMESS or Trojan is used, use it for UDP%> +
+
+
+
+ +
+ checked<% end %>> +
+
+ <%:Disable default gateway, no internet if VPS are down%>
@@ -194,6 +353,89 @@
+
+ +
+ checked<% end %>> +
+
+ <%:Authorize access to proxy only from LAN firewall zone%> +
+
+
+
+ +
+ checked<% end %>> +
+
+ <%:Disable route loop detection%> +
+
+
+
+ +
+ checked<% end %>> +
+
+ <%:Disable OpenVPN multi clients to distribute connections and use more CPU cores%> +
+
+
+
+ +
+ checked<% end %>> +
+
+ <%:Disable multipath test using tracebox%> +
+
+
+
+ +
+ checked<% end %>> +
+
+ <%:Disable multipath test display in status page%> +
+
+
+ +
+ +
+ checked<% end %>> +
+
+ <%:Disable ModemManager%> +
+
+
+
+ +
+ checked<% end %>> +
+
+ <%:Enable debug logs%> +
+
+
+ + <% + if nixio.fs.access("/lib/modules/" .. nixio.uname().release .. "/shortcut-fe.ko") then + %> +
+
+ <%:Qualcomm Shortcut FE driver%> +
+
+ +
+ checked<% end %>> +
+
+
+ +
+ checked<% end %>> +
+
+
+ <% end %> + <% if nixio.fs.access("/sys/devices/system/cpu/cpufreq/policy0/scaling_min_freq") then %>
<%:Systems settings%> diff --git a/luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm b/luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm index 1926abb1b..224ff07a6 100644 --- a/luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm +++ b/luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm @@ -19,7 +19,7 @@ -- along with OverTheBox. If not, see (http://www.gnu.org/licenses/) -%> <% --- Copyright 2018 Ycarus (Yannick Chabanois) ycarus@zugaina.org +-- Copyright 2018-2022 Ycarus (Yannick Chabanois) ycarus@zugaina.org for OpenMPTCProuter -- -- Small changes to make this work with OpenMPTCProuter -- New features: @@ -31,9 +31,14 @@ -- * Many tests -%> <%+header%> - - - +<% +local ucic = luci.model.uci.cursor() +local menuentry = ucic:get("openmptcprouter","settings","menu") or "openmptcprouter" +local statuslogo = ucic:get("openmptcprouter","settings","statuslogo") or "openmptcprouter.png" +%> + + + @@ -45,7 +79,7 @@ end } <% if stderr and #stderr > 0 then %>
<%=pcdata(stderr)%>
<% end %> - +

<%:Wizard%>

@@ -55,6 +89,9 @@ end uci:foreach("openmptcprouter","server", function(s) nbserver=nbserver+1 end) + if nbserver == 0 then + uci:set("openmptcprouter","vps","server") + end uci:foreach("openmptcprouter","server", function(s) servername = s[".name"] %> @@ -64,17 +101,30 @@ end

<%=servername%>

-
- +
+
- " data-optional="false"> + " data-optional="false">
- <%:Server IP will be set for ShadowSocks, Glorytun, OpenVPN and MLVPN%> + <%:Server IP will be set for proxy and VPN%> +
+
+
+
+ +
+ " data-optional="false"> + " data-optional="false"> +
+ <%:Server IP will be set for proxy and VPN%> +
+
+ <%:A second server's IP can be set for dual IPv4/IPv6 server if WAN IPv6 are set%>

-
+
" data-optional="false"> @@ -84,7 +134,7 @@ end
-
+
" data-optional="false"> @@ -98,10 +148,10 @@ end if nbserver > 1 then %>
-
+
- checked<% end %>/> + checked <% end %>/>
<%:Only one server can be master, else all servers are set as backup.%> @@ -110,22 +160,57 @@ end
<% end + %> +
+
+ +
+ checked <% end %>/> +
+
+ <% end) %>
- +
- <%:Common server settings%> + <%:Advanced settings%> +
+ +
+ +
+
+
+