From 74e220677ac2cb1bef16d0f62092d56db6f62e1d Mon Sep 17 00:00:00 2001
From: EuAndreh <eu@euandre.org>
Date: Wed, 4 Nov 2020 17:38:20 -0300
Subject: Add all code blocks to translation po files

---
 .../_articles/2018-07-17-running-guix-on-nixos.po  | 129 +++++++++++++++++++++
 .../2018-08-01-verifying-npm-ci-reproducibility.po |  44 +++++++
 ...g-youtube-dl-to-manage-youtube-subscriptions.po |  62 ++++++++++
 ...6-02-using-nixos-as-an-stateless-workstation.po |   9 ++
 ...-08-10-guix-inside-sourcehut-builds-sr-ht-ci.po |  72 ++++++++++++
 .../2020-08-31-the-database-i-wish-i-had.po        |  37 ++++++
 ...5-cargo2nix-dramatically-simpler-rust-in-nix.po |  34 ++++++
 ...-10-05-swift2nix-run-swift-inside-nix-builds.po |  36 ++++++
 ...ferences-between-backend-frontend-and-mobile.po |  18 +++
 9 files changed, 441 insertions(+)

(limited to 'locale/pt/LC_MESSAGES/_articles')

diff --git a/locale/pt/LC_MESSAGES/_articles/2018-07-17-running-guix-on-nixos.po b/locale/pt/LC_MESSAGES/_articles/2018-07-17-running-guix-on-nixos.po
index ad29a0a..dfc690b 100644
--- a/locale/pt/LC_MESSAGES/_articles/2018-07-17-running-guix-on-nixos.po
+++ b/locale/pt/LC_MESSAGES/_articles/2018-07-17-running-guix-on-nixos.po
@@ -99,3 +99,132 @@ msgstr ""
 
 msgid "Happy Guix/Nix hacking!"
 msgstr ""
+
+msgid ""
+"groupadd --system guixbuild\n"
+"for i in `seq -w 1 10`;\n"
+"do\n"
+"  useradd -g guixbuild -G guixbuild           \\\n"
+"          -d /var/empty -s `which nologin`    \\\n"
+"          -c \"Guix build user $i\" --system    \\\n"
+"          guixbuilder$i;\n"
+"done\n"
+msgstr ""
+
+msgid ""
+"$ sudo nixos-rebuild switch\n"
+"(...)\n"
+"removing user ‘guixbuilder7’\n"
+"removing user ‘guixbuilder3’\n"
+"removing user ‘guixbuilder10’\n"
+"removing user ‘guixbuilder1’\n"
+"removing user ‘guixbuilder6’\n"
+"removing user ‘guixbuilder9’\n"
+"removing user ‘guixbuilder4’\n"
+"removing user ‘guixbuilder2’\n"
+"removing user ‘guixbuilder8’\n"
+"removing user ‘guixbuilder5’\n"
+"(...)\n"
+msgstr ""
+
+msgid ""
+"{ config, pkgs, ...}:\n"
+"\n"
+"{\n"
+"\n"
+"  # ... NixOS usual config ellided ...\n"
+"\n"
+"  users = {\n"
+"    mutableUsers = false;\n"
+"\n"
+"    extraUsers =\n"
+"      let\n"
+"        andrehUser =  {\n"
+"          andreh = {\n"
+"            # my custom user config\n"
+"          };\n"
+"        };\n"
+"        buildUser = (i:\n"
+"          {\n"
+"            \"guixbuilder${i}\" = {                   # guixbuilder$i\n"
+"              group = \"guixbuild\";                  # -g guixbuild\n"
+"              extraGroups = [\"guixbuild\"];          # -G guixbuild\n"
+"              home = \"/var/empty\";                  # -d /var/empty\n"
+"              shell = pkgs.nologin;                 # -s `which nologin`\n"
+"              description = \"Guix build user ${i}\"; # -c \"Guix buid user $i\"\n"
+"              isSystemUser = true;                  # --system\n"
+"            };\n"
+"          }\n"
+"        );\n"
+"      in\n"
+"        # merge all users\n"
+"        pkgs.lib.fold (str: acc: acc // buildUser str)\n"
+"                      andrehUser\n"
+"                      # for i in `seq -w 1 10`\n"
+"                      (map (pkgs.lib.fixedWidthNumber 2) (builtins.genList (n: n+1) 10));\n"
+"\n"
+"    extraGroups.guixbuild = {\n"
+"      name = \"guixbuild\";\n"
+"    };\n"
+"  };\n"
+"}\n"
+msgstr ""
+
+msgid ""
+"# This is a \"service unit file\" for the systemd init system to launch\n"
+"# 'guix-daemon'.  Drop it in /etc/systemd/system or similar to have\n"
+"# 'guix-daemon' automatically started.\n"
+"\n"
+"[Unit]\n"
+"Description=Build daemon for GNU Guix\n"
+"\n"
+"[Service]\n"
+"ExecStart=/var/guix/profiles/per-user/root/guix-profile/bin/guix-daemon --build-users-group=guixbuild\n"
+"Environment=GUIX_LOCPATH=/root/.guix-profile/lib/locale\n"
+"RemainAfterExit=yes\n"
+"StandardOutput=syslog\n"
+"StandardError=syslog\n"
+"\n"
+"# See <https://lists.gnu.org/archive/html/guix-devel/2016-04/msg00608.html>.\n"
+"# Some package builds (for example, go@1.8.1) may require even more than\n"
+"# 1024 tasks.\n"
+"TasksMax=8192\n"
+"\n"
+"[Install]\n"
+"WantedBy=multi-user.target\n"
+msgstr ""
+
+msgid ""
+"guix-daemon = {\n"
+"  enable = true;\n"
+"  description = \"Build daemon for GNU Guix\";\n"
+"  serviceConfig = {\n"
+"    ExecStart = \"/var/guix/profiles/per-user/root/guix-profile/bin/guix-daemon --build-users-group=guixbuild\";\n"
+"    Environment=\"GUIX_LOCPATH=/root/.guix-profile/lib/locale\";\n"
+"    RemainAfterExit=\"yes\";\n"
+"    StandardOutput=\"syslog\";\n"
+"    StandardError=\"syslog\";\n"
+"    TaskMax= \"8192\";\n"
+"  };\n"
+"  wantedBy = [ \"multi-user.target\" ];\n"
+"};\n"
+msgstr ""
+
+msgid ""
+"$ guix package -i hello\n"
+"The following package will be installed:\n"
+"   hello        2.10    /gnu/store/bihfrh609gkxb9dp7n96wlpigiv3krfy-hello-2.10\n"
+"\n"
+"substitute: updating substitutes from 'https://mirror.hydra.gnu.org'... 100.0%\n"
+"The following derivations will be built:\n"
+"   /gnu/store/nznmdn6inpwxnlkrasydmda4s2vsp9hg-profile.drv\n"
+"   /gnu/store/vibqrvw4c8lacxjrkqyzqsdrmckv77kq-fonts-dir.drv\n"
+"   /gnu/store/hi8alg7wi0wgfdi3rn8cpp37zhx8ykf3-info-dir.drv\n"
+"   /gnu/store/cvkbp378cvfjikz7mjymhrimv7j12p0i-ca-certificate-bundle.drv\n"
+"   /gnu/store/d62fvxymnp95rzahhmhf456bsf0xg1c6-manual-database.drv\n"
+"Creating manual page database...\n"
+"1 entries processed in 0.0 s\n"
+"2 packages in profile\n"
+"$ hello\n"
+"Hello, world!\n"
+msgstr ""
diff --git a/locale/pt/LC_MESSAGES/_articles/2018-08-01-verifying-npm-ci-reproducibility.po b/locale/pt/LC_MESSAGES/_articles/2018-08-01-verifying-npm-ci-reproducibility.po
index e1097b7..9503fff 100644
--- a/locale/pt/LC_MESSAGES/_articles/2018-08-01-verifying-npm-ci-reproducibility.po
+++ b/locale/pt/LC_MESSAGES/_articles/2018-08-01-verifying-npm-ci-reproducibility.po
@@ -167,3 +167,47 @@ msgid ""
 "[^lerna-package-lock]: Finding a big known repo that actually committed the "
 "`package-lock.json` file was harder than I expected."
 msgstr ""
+
+msgid ""
+"merkle-tree () {\n"
+"  dirname=\"${1-.}\"\n"
+"  pushd \"$dirname\"\n"
+"  find . -type f              | \\\n"
+"    sort                      | \\\n"
+"    xargs -I{} sha256sum \"{}\" | \\\n"
+"    sha256sum                 | \\\n"
+"    awk '{print $1}'\n"
+"  popd\n"
+"}\n"
+msgstr ""
+
+msgid ""
+"mkdir /tmp/merkle-tree-test/\n"
+"cd /tmp/merkle-tree-test/\n"
+"mkdir -p a/b/ a/c/ d/\n"
+"echo \"one\"   > a/b/one.txt\n"
+"echo \"two\"   > a/c/two.txt\n"
+"echo \"three\" > d/three.txt\n"
+"merkle-tree . # output is       be343bb01fe00aeb8fef14a3e16b1c3d1dccbf86d7e41b4753e6ccb7dc3a57c3\n"
+"merkle-tree . # output still is be343bb01fe00aeb8fef14a3e16b1c3d1dccbf86d7e41b4753e6ccb7dc3a57c3\n"
+"echo \"four\"  > d/four.txt\n"
+"merkle-tree . # output is now   b5464b958969ed81815641ace96b33f7fd52c20db71a7fccc45a36b3a2ae4d4c\n"
+"rm d/four.txt\n"
+"merkle-tree . # output back to  be343bb01fe00aeb8fef14a3e16b1c3d1dccbf86d7e41b4753e6ccb7dc3a57c3\n"
+"echo \"hidden-five\" > a/b/one.txt\n"
+"merkle-tree . # output changed  471fae0d074947e4955e9ac53e95b56e4bc08d263d89d82003fb58a0ffba66f5\n"
+msgstr ""
+
+msgid ""
+"cd /tmp/\n"
+"git clone https://github.com/lerna/lerna.git\n"
+"cd lerna/\n"
+"git checkout 57ff865c0839df75dbe1974971d7310f235e1109\n"
+"npm ci\n"
+"merkle-tree node_modules/ # outputs 11e218c4ac32fac8a9607a8da644fe870a25c99821167d21b607af45699afafa\n"
+"rm -rf node_modules/\n"
+"npm ci\n"
+"merkle-tree node_modules/ # outputs 11e218c4ac32fac8a9607a8da644fe870a25c99821167d21b607af45699afafa\n"
+"npm ci      # test if it also works with an existing node_modules/ folder\n"
+"merkle-tree node_modules/ # outputs 11e218c4ac32fac8a9607a8da644fe870a25c99821167d21b607af45699afafa\n"
+msgstr ""
diff --git a/locale/pt/LC_MESSAGES/_articles/2018-12-21-using-youtube-dl-to-manage-youtube-subscriptions.po b/locale/pt/LC_MESSAGES/_articles/2018-12-21-using-youtube-dl-to-manage-youtube-subscriptions.po
index 86f62ae..52b5a40 100644
--- a/locale/pt/LC_MESSAGES/_articles/2018-12-21-using-youtube-dl-to-manage-youtube-subscriptions.po
+++ b/locale/pt/LC_MESSAGES/_articles/2018-12-21-using-youtube-dl-to-manage-youtube-subscriptions.po
@@ -316,3 +316,65 @@ msgid ""
 "could be better, but also how much it has improved over the last years, I "
 "say it's reasonable."
 msgstr ""
+
+msgid ""
+"$ youtube-dl https://www.youtube.com/watch?v=rnMYZnY3uLA\n"
+"[youtube] rnMYZnY3uLA: Downloading webpage\n"
+"[youtube] rnMYZnY3uLA: Downloading video info webpage\n"
+"[download] Destination: A Origem da Vida _ Nerdologia-rnMYZnY3uLA.mp4\n"
+"[download] 100% of 32.11MiB in 00:12\n"
+msgstr ""
+
+msgid ""
+"$ youtube-dl \"https://www.youtube.com/channel/UClu474HMt895mVxZdlIHXEA\" \\\n"
+"             --download-archive ~/Nextcloud/cache/youtube-dl-seen.conf \\\n"
+"             --prefer-free-formats \\\n"
+"             --playlist-end 20 \\\n"
+"             --write-description \\\n"
+"             --output \"~/Downloads/yt-dl/%(uploader)s/%(upload_date)s - %(title)s.%(ext)s\"\n"
+msgstr ""
+
+msgid ""
+"#!/bin/sh\n"
+"\n"
+"export DEFAULT_PLAYLIST_END=15\n"
+"\n"
+"download() {\n"
+"  youtube-dl \"$1\" \\\n"
+"             --download-archive ~/Nextcloud/cache/youtube-dl-seen.conf \\\n"
+"             --prefer-free-formats \\\n"
+"             --playlist-end $2 \\\n"
+"             --write-description \\\n"
+"             --output \"~/Downloads/yt-dl/%(uploader)s/%(upload_date)s - %(title)s.%(ext)s\"\n"
+"}\n"
+"export -f download\n"
+"\n"
+"\n"
+"download_user() {\n"
+"  download \"https://www.youtube.com/user/$1\" ${2-$DEFAULT_PLAYLIST_END}\n"
+"}\n"
+"export -f download_user\n"
+"\n"
+"\n"
+"download_channel() {\n"
+"  download \"https://www.youtube.com/channel/$1\" ${2-$DEFAULT_PLAYLIST_END}\n"
+"}\n"
+"export -f download_channel\n"
+"\n"
+"\n"
+"download_playlist() {\n"
+"  download \"https://www.youtube.com/playlist?list=$1\" ${2-$DEFAULT_PLAYLIST_END}\n"
+"}\n"
+"export -f download_playlist\n"
+msgstr ""
+
+msgid ""
+"#!/bin/sh\n"
+"\n"
+"download_user     ClojureTV                            15\n"
+"download_channel  \"UCmEClzCBDx-vrt0GuSKBd9g\"           100\n"
+"download_playlist \"PLqG7fA3EaMRPzL5jzd83tWcjCUH9ZUsbX\" 15\n"
+msgstr ""
+
+msgid "$ uniq youtube-dl-seen.conf > youtube-dl-seen.conf\n"
+msgstr ""
diff --git a/locale/pt/LC_MESSAGES/_articles/2019-06-02-using-nixos-as-an-stateless-workstation.po b/locale/pt/LC_MESSAGES/_articles/2019-06-02-using-nixos-as-an-stateless-workstation.po
index 6aaef22..e99d4e7 100644
--- a/locale/pt/LC_MESSAGES/_articles/2019-06-02-using-nixos-as-an-stateless-workstation.po
+++ b/locale/pt/LC_MESSAGES/_articles/2019-06-02-using-nixos-as-an-stateless-workstation.po
@@ -194,3 +194,12 @@ msgid ""
 "realising that I can't pinpoint the moment when I decided to switch to "
 "NixOS. It's like I had a distant past when this wasn't true."
 msgstr ""
+
+msgid ""
+"# sample ~/.mrconfig file snippet\n"
+"[dev/guix/guix]\n"
+"checkout =\n"
+"  git clone https://git.savannah.gnu.org/git/guix.git guix\n"
+"  cd guix/\n"
+"  git config sendemail.to guix-patches@gnu.org\n"
+msgstr ""
diff --git a/locale/pt/LC_MESSAGES/_articles/2020-08-10-guix-inside-sourcehut-builds-sr-ht-ci.po b/locale/pt/LC_MESSAGES/_articles/2020-08-10-guix-inside-sourcehut-builds-sr-ht-ci.po
index 64bc417..2396848 100644
--- a/locale/pt/LC_MESSAGES/_articles/2020-08-10-guix-inside-sourcehut-builds-sr-ht-ci.po
+++ b/locale/pt/LC_MESSAGES/_articles/2020-08-10-guix-inside-sourcehut-builds-sr-ht-ci.po
@@ -80,3 +80,75 @@ msgid ""
 " to make something that just \"works on my machine\" or add a maintainence "
 "burden to the author. I didn't look at it again recently, though."
 msgstr ""
+
+msgid ""
+"#!/usr/bin/env bash\n"
+"set -x\n"
+"set -Eeuo pipefail\n"
+"\n"
+"VERSION='1.0.1'\n"
+"SYSTEM='x86_64-linux'\n"
+"BINARY=\"guix-binary-${VERSION}.${SYSTEM}.tar.xz\"\n"
+"\n"
+"cd /tmp\n"
+"wget \"https://ftp.gnu.org/gnu/guix/${BINARY}\"\n"
+"tar -xf \"${BINARY}\"\n"
+"\n"
+"sudo mv var/guix /var/\n"
+"sudo mv gnu /\n"
+"sudo mkdir -p ~root/.config/guix\n"
+"sudo ln -fs /var/guix/profiles/per-user/root/current-guix ~root/.config/guix/current\n"
+"\n"
+"GUIX_PROFILE=\"$(echo ~root)/.config/guix/current\"\n"
+"source \"${GUIX_PROFILE}/etc/profile\"\n"
+"\n"
+"groupadd --system guixbuild\n"
+"for i in $(seq -w 1 10);\n"
+"do\n"
+"  useradd -g guixbuild                       \\\n"
+"          -G guixbuild                       \\\n"
+"          -d /var/empty                      \\\n"
+"          -s \"$(command -v nologin)\"         \\\n"
+"          -c \"Guix build user ${i}\" --system \\\n"
+"          \"guixbuilder${i}\";\n"
+"done\n"
+"\n"
+"mkdir -p /usr/local/bin\n"
+"cd /usr/local/bin\n"
+"ln -s /var/guix/profiles/per-user/root/current-guix/bin/guix .\n"
+"ln -s /var/guix/profiles/per-user/root/current-guix/bin/guix-daemon .\n"
+"\n"
+"guix archive --authorize < ~root/.config/guix/current/share/guix/ci.guix.gnu.org.pub\n"
+msgstr ""
+
+msgid ""
+"#!/usr/bin/env bash\n"
+"set -x\n"
+"set -Eeuo pipefail\n"
+"\n"
+"sudo guix-daemon --build-users-group=guixbuild &\n"
+"guix pull\n"
+"guix package -u\n"
+"guix --version\n"
+msgstr ""
+
+msgid ""
+"image: debian/stable\n"
+"packages:\n"
+"  - wget\n"
+"sources:\n"
+"  - https://git.sr.ht/~euandreh/songbooks\n"
+"tasks:\n"
+"  - install-guix: |\n"
+"      cd ./songbooks/\n"
+"      ./scripts/install-guix.sh\n"
+"      ./scripts/start-guix.sh\n"
+"      echo 'sudo guix-daemon --build-users-group=guixbuild &' >> ~/.buildenv\n"
+"      echo 'export PATH=\"${HOME}/.config/guix/current/bin${PATH:+:}$PATH\"' >> ~/.buildenv\n"
+"  - tests: |\n"
+"      cd ./songbooks/\n"
+"      guix environment -m build-aux/guix.scm -- make check\n"
+"  - docs: |\n"
+"      cd ./songbooks/\n"
+"      guix environment -m build-aux/guix.scm -- make publish-dist\n"
+msgstr ""
diff --git a/locale/pt/LC_MESSAGES/_articles/2020-08-31-the-database-i-wish-i-had.po b/locale/pt/LC_MESSAGES/_articles/2020-08-31-the-database-i-wish-i-had.po
index 58de095..216733d 100644
--- a/locale/pt/LC_MESSAGES/_articles/2020-08-31-the-database-i-wish-i-had.po
+++ b/locale/pt/LC_MESSAGES/_articles/2020-08-31-the-database-i-wish-i-had.po
@@ -360,3 +360,40 @@ msgid ""
 "inbox/%3C010101744a592b75-1dce9281-f0b8-4226-9d50-fd2c7901fa72-000000%40us-"
 "west-2.amazonses.com%3E)."
 msgstr ""
+
+msgid ""
+"This makes me consider it as a storage backend all by itself. I\n"
+"initially considered having an SQLite storage backend as one implementation\n"
+"of the POSIX filesystem storage API that I mentioned. My goal was to rely on\n"
+"it so I could validate the correctness of the actual implementation, given\n"
+"SQLite's robustness.\n"
+"\n"
+"However it may even better to just use SQLite, and get an ACID backend\n"
+"without recreating a big part of SQLite from scratch. In fact, both Datomic\n"
+"and PouchDB didn't create an storage backend for themselves, they just\n"
+"plugged on what already existed and already worked. I'm beginning to think\n"
+"that it would be wiser to just do the same, and drop entirely the from\n"
+"scratch implementation that I mentioned.\n"
+"\n"
+"That's not to say that adding an IndexedDB compatibility layer to SQLite\n"
+"would be enough to make it fit the other requirements I mention on this\n"
+"page. SQLite still is an implementation of a update-in-place, SQL,\n"
+"table-oriented database. It is probably true that cherry-picking the\n"
+"relevant parts of SQLite (like storage access, consistency, crash recovery,\n"
+"parser generator, *etc.*) and leaving out the unwanted parts (SQL, tables,\n"
+"threading, *etc.*) would be better than including the full SQLite stack, but\n"
+"that's simply an optimization. Both could even coexist, if desired.\n"
+"\n"
+"SQLite would have to be treated similarly to how Datomic treats SQL\n"
+"databases: instead of having a table for each entities, spread attributes\n"
+"over the tables, *etc.*, it treats SQL databases as a key-value storage so it\n"
+"doesn't have to re-implement interacting with the disk that other databases\n"
+"do well.\n"
+"\n"
+"The tables would contain blocks of binary data, so there isn't a difference\n"
+"on how the SQLite storage backend behaves and how the IndexedDB storage\n"
+"backend behaves, much like how Datomic works the same regardless of the\n"
+"storage backend, same for PouchDB.\n"
+"\n"
+"I welcome corrections on what I said above, too.\n"
+msgstr ""
diff --git a/locale/pt/LC_MESSAGES/_articles/2020-10-05-cargo2nix-dramatically-simpler-rust-in-nix.po b/locale/pt/LC_MESSAGES/_articles/2020-10-05-cargo2nix-dramatically-simpler-rust-in-nix.po
index 8c0231c..e8f3d6e 100644
--- a/locale/pt/LC_MESSAGES/_articles/2020-10-05-cargo2nix-dramatically-simpler-rust-in-nix.po
+++ b/locale/pt/LC_MESSAGES/_articles/2020-10-05-cargo2nix-dramatically-simpler-rust-in-nix.po
@@ -55,3 +55,37 @@ msgstr ""
 
 msgid "Report back if you wish. Again, patches welcome."
 msgstr ""
+
+msgid ""
+"let\n"
+"  niv-sources = import ./nix/sources.nix;\n"
+"  mozilla-overlay = import niv-sources.nixpkgs-mozilla;\n"
+"  pkgs = import niv-sources.nixpkgs { overlays = [ mozilla-overlay ]; };\n"
+"  src = pkgs.nix-gitignore.gitignoreSource [ ] ./.;\n"
+"  cargo2nix = pkgs.callPackage niv-sources.cargo2nix {\n"
+"    lockfile = ./Cargo.lock;\n"
+"  };\n"
+"in pkgs.stdenv.mkDerivation {\n"
+"  inherit src;\n"
+"  name = \"cargo-test\";\n"
+"  buildInputs = [ pkgs.latest.rustChannels.nightly.rust ];\n"
+"  phases = [ \"unpackPhase\" \"buildPhase\" ];\n"
+"  buildPhase = ''\n"
+"    # Setup dependencies path to satisfy Cargo\n"
+"    mkdir .cargo/\n"
+"    ln -s ${cargo2nix.env.cargo-config} .cargo/config\n"
+"    ln -s ${cargo2nix.env.vendor} vendor\n"
+"\n"
+"    # Run the tests\n"
+"    cargo test\n"
+"    touch $out\n"
+"  '';\n"
+"}\n"
+msgstr ""
+
+msgid ""
+"pushd \"$(mktemp -d)\"\n"
+"git clone https://git.euandreh.xyz/cargo2nix-demo\n"
+"cd cargo2nix-demo/\n"
+"nix-build\n"
+msgstr ""
diff --git a/locale/pt/LC_MESSAGES/_articles/2020-10-05-swift2nix-run-swift-inside-nix-builds.po b/locale/pt/LC_MESSAGES/_articles/2020-10-05-swift2nix-run-swift-inside-nix-builds.po
index e9dbef6..5719f51 100644
--- a/locale/pt/LC_MESSAGES/_articles/2020-10-05-swift2nix-run-swift-inside-nix-builds.po
+++ b/locale/pt/LC_MESSAGES/_articles/2020-10-05-swift2nix-run-swift-inside-nix-builds.po
@@ -246,3 +246,39 @@ msgid ""
 "checked-in the repository at all. It could be always generated on the fly, "
 "much like how Swift's `dependencies-state.json` is."
 msgstr ""
+
+msgid ""
+"let\n"
+"  niv-sources = import ./nix/sources.nix;\n"
+"  pkgs = import niv-sources.nixpkgs { };\n"
+"  src = pkgs.nix-gitignore.gitignoreSource [ ] ./.;\n"
+"  swift2nix = pkgs.callPackage niv-sources.swift2nix {\n"
+"    package-resolved = ./Package.resolved;\n"
+"  };\n"
+"in pkgs.stdenv.mkDerivation {\n"
+"  inherit src;\n"
+"  name = \"swift-test\";\n"
+"  buildInputs = with pkgs; [ swift ];\n"
+"  phases = [ \"unpackPhase\" \"buildPhase\" ];\n"
+"  buildPhase = ''\n"
+"    # Setup dependencies path to satisfy SwiftPM\n"
+"    mkdir .build\n"
+"    ln -s ${swift2nix.env.dependencies-state-json} .build/dependencies-state.json\n"
+"    ln -s ${swift2nix.env.checkouts} .build/checkouts\n"
+"\n"
+"    # Run the tests\n"
+"    swift test\n"
+"    touch $out\n"
+"  '';\n"
+"}\n"
+msgstr ""
+
+msgid ""
+"ln -s ${node2nix-package.shell.nodeDependencies}/lib/node_modules ./node_modules\n"
+"npm test\n"
+msgstr ""
+
+msgid ""
+"nix-build -A swift2nix.release\n"
+"nix-build -A swift2nix.test\n"
+msgstr ""
diff --git a/locale/pt/LC_MESSAGES/_articles/2020-10-19-feature-flags-differences-between-backend-frontend-and-mobile.po b/locale/pt/LC_MESSAGES/_articles/2020-10-19-feature-flags-differences-between-backend-frontend-and-mobile.po
index ff9e23e..7f9cb36 100644
--- a/locale/pt/LC_MESSAGES/_articles/2020-10-19-feature-flags-differences-between-backend-frontend-and-mobile.po
+++ b/locale/pt/LC_MESSAGES/_articles/2020-10-19-feature-flags-differences-between-backend-frontend-and-mobile.po
@@ -414,3 +414,21 @@ msgid ""
 "feature flags is a good problem to have, not the opposite. Automate the "
 "process of creating a feature flag to lower its cost."
 msgstr ""
+
+msgid ""
+"function processTransaction() {\n"
+"  validate();\n"
+"  persist();\n"
+"  // TODO: add call to notifyListeners()\n"
+"}\n"
+msgstr ""
+
+msgid ""
+"function processTransaction() {\n"
+"  validate();\n"
+"  persist();\n"
+"  if (featureIsEnabled(\"activate-notify-listeners\")) {\n"
+"    notifyListeners();\n"
+"  }\n"
+"}\n"
+msgstr ""
-- 
cgit v1.2.3