diff --git a/CHANGELOG.md b/CHANGELOG.md
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,5 +1,17 @@
 # Aura Changelog
 
+## 3.2.7 (2022-01-18)
+
+#### Added
+
+- Romanian translations thanks to "90" and "benone". Mulțumesc!
+- Vietnamese translations thanks to "Kritiqual". Cảm ơn bạn!
+- Czech translations thanks to Daniel Rosel. Děkuju!
+
+#### Changed
+
+- Updated Norwegian translations.
+
 ## 3.2.6 (2021-09-17)
 
 #### Added
diff --git a/aura.cabal b/aura.cabal
--- a/aura.cabal
+++ b/aura.cabal
@@ -1,6 +1,6 @@
 cabal-version:      2.2
 name:               aura
-version:            3.2.6
+version:            3.2.7
 synopsis:           A secure package manager for Arch Linux and the AUR.
 description:
   Aura is a package manager for Arch Linux. It connects to both the
@@ -50,7 +50,7 @@
 
 common libexec
   build-depends:
-    , aeson                        >=1.2 && <1.6
+    , aeson                        ^>=2.0
     , aur                          ^>=7.0.5
     , http-client                  >=0.5 && <0.8
     , prettyprinter                >=1.2 && <1.8
@@ -89,9 +89,9 @@
     Aura.Utils
 
   build-depends:
-    , algebraic-graphs  >=0.1 && <0.6
+    , algebraic-graphs  >=0.1 && <0.7
     , filepath          ^>=1.4
-    , hashable          ^>=1.3
+    , hashable          ^>=1.4
     , http-types        >=0.9 && <0.13
     , language-bash     >=0.8 && <0.10
     , network-uri       ^>=2.6
diff --git a/doc/aura.8 b/doc/aura.8
--- a/doc/aura.8
+++ b/doc/aura.8
@@ -633,6 +633,9 @@
 \fB\-\-chinese\fP	\fB\-\-中文\fP
 \fB\-\-esperanto\fP
 \fB\-\-dutch\fP	\fB\-\-nederlands\fP
+\fB\-\-romanian\fP	\fB\-\-română\fP
+\fB\-\-vietnamese\fP
+\fB\-\-czech\fP	\fB\-\-čeština\fP
 .TE
 .
 .SH PRO TIPS
@@ -720,4 +723,7 @@
 Turkish	Cihan Alkan
 Arabic	"Array in a Matrix"
 Ukrainian	Andriy Cherniy
+Romanian	"90" and "benone"
+Vietnamese	"Kritiqual"
+Czech	Daniel Rosel
 .TE
diff --git a/doc/aura.conf b/doc/aura.conf
--- a/doc/aura.conf
+++ b/doc/aura.conf
@@ -22,10 +22,12 @@
 # | it   | Italian    |
 # | pt   | Portuguese |
 # | es   | Spanish    |
+# | ro   | Romanian   |
 # |------+------------|
-# | ar   | Arabic
+# | ar   | Arabic     |
 # |------+------------|
 # | hr   | Croatian   |
+# | cs   | Czech      |
 # | pl   | Polish     |
 # | ru   | Russian    |
 # | sr   | Serbian    |
@@ -34,6 +36,7 @@
 # | zh   | Chinese    |
 # | id   | Indonesian |
 # | ja   | Japanese   |
+# | vi   | Vietnamese |
 # |------+------------|
 # | eo   | Esperanto  |
 # |------+------------|
diff --git a/doc/aura.conf.5 b/doc/aura.conf.5
--- a/doc/aura.conf.5
+++ b/doc/aura.conf.5
@@ -85,8 +85,10 @@
 it	Italian
 pt	Portuguese
 es	Spanish
+ro	Romanian
 
 hr	Croatian
+cs	Czech
 pl	Polish
 ru	Russian
 sr	Serbian
@@ -97,6 +99,7 @@
 zh	Chinese
 id	Indonesian
 ja	Japanese
+vi	Vietnamese
 
 eo	Esperanto
 .TE
diff --git a/exec/Aura/Commands/A.hs b/exec/Aura/Commands/A.hs
--- a/exec/Aura/Commands/A.hs
+++ b/exec/Aura/Commands/A.hs
@@ -5,7 +5,7 @@
 
 -- |
 -- Module    : Aura.Commands.A
--- Copyright : (c) Colin Woodbury, 2012 - 2020
+-- Copyright : (c) Colin Woodbury, 2012 - 2021
 -- License   : GPL3
 -- Maintainer: Colin Woodbury <colin@fosskers.ca>
 --
@@ -25,8 +25,8 @@
 
 import           Aura.Colour
 import           Aura.Core
-import qualified Aura.Install as I
 import           Aura.IO
+import qualified Aura.Install as I
 import           Aura.Languages
 import           Aura.Packages.AUR
 import           Aura.Pkgbuild.Fetch
@@ -36,11 +36,11 @@
 import           Aura.Utils
 import           Control.Scheduler (Comp(..), traverseConcurrently)
 import           Data.Aeson
-import           Data.Text.Prettyprint.Doc
-import           Data.Text.Prettyprint.Doc.Render.Terminal
 import           Data.Versions (Versioning, prettyV, versioning)
 import           Linux.Arch.Aur
 import           Network.HTTP.Client (Manager)
+import           Prettyprinter
+import           Prettyprinter.Render.Terminal
 import           RIO
 import qualified RIO.ByteString as B
 import qualified RIO.ByteString.Lazy as BL
diff --git a/exec/Aura/Commands/B.hs b/exec/Aura/Commands/B.hs
--- a/exec/Aura/Commands/B.hs
+++ b/exec/Aura/Commands/B.hs
@@ -3,7 +3,7 @@
 
 -- |
 -- Module    : Aura.Commands.B
--- Copyright : (c) Colin Woodbury, 2012 - 2020
+-- Copyright : (c) Colin Woodbury, 2012 - 2021
 -- License   : GPL3
 -- Maintainer: Colin Woodbury <colin@fosskers.ca>
 --
diff --git a/exec/Aura/Commands/C.hs b/exec/Aura/Commands/C.hs
--- a/exec/Aura/Commands/C.hs
+++ b/exec/Aura/Commands/C.hs
@@ -1,11 +1,11 @@
+{-# LANGUAGE BangPatterns       #-}
 {-# LANGUAGE LambdaCase         #-}
 {-# LANGUAGE NumericUnderscores #-}
 {-# LANGUAGE TypeApplications   #-}
-{-# LANGUAGE BangPatterns       #-}
 
 -- |
 -- Module    : Aura.Commands.C
--- Copyright : (c) Colin Woodbury, 2012 - 2020
+-- Copyright : (c) Colin Woodbury, 2012 - 2021
 -- License   : GPL3
 -- Maintainer: Colin Woodbury <colin@fosskers.ca>
 --
@@ -18,8 +18,8 @@
   , cleanNotSaved
   , cleanDir ) where
 
-import           Aura.Cache
 import           Aura.Build (vcsStore)
+import           Aura.Cache
 import           Aura.Colour (red)
 import           Aura.Core
 import           Aura.IO
@@ -34,12 +34,12 @@
 import           Control.Scheduler (Comp(..), traverseConcurrently)
 import           RIO
 import           RIO.Directory
+import           RIO.FilePath
 import qualified RIO.List as L
 import qualified RIO.Map as M
 import qualified RIO.NonEmpty as NEL
 import qualified RIO.Set as S
 import qualified RIO.Text as T
-import           RIO.FilePath
 
 ---
 -- | Interactive. Gives the user a choice as to exactly what versions
diff --git a/exec/Aura/Commands/L.hs b/exec/Aura/Commands/L.hs
--- a/exec/Aura/Commands/L.hs
+++ b/exec/Aura/Commands/L.hs
@@ -1,6 +1,6 @@
 -- |
 -- Module    : Aura.Commands.L
--- Copyright : (c) Colin Woodbury, 2012 - 2020
+-- Copyright : (c) Colin Woodbury, 2012 - 2021
 -- License   : GPL3
 -- Maintainer: Colin Woodbury <colin@fosskers.ca>
 --
@@ -19,7 +19,7 @@
 import           Aura.Settings
 import           Aura.Types (PkgName(..))
 import           Aura.Utils
-import           Data.Text.Prettyprint.Doc
+import           Prettyprinter
 import           RIO
 import qualified RIO.NonEmpty as NEL
 import qualified RIO.Text as T
diff --git a/exec/Aura/Commands/O.hs b/exec/Aura/Commands/O.hs
--- a/exec/Aura/Commands/O.hs
+++ b/exec/Aura/Commands/O.hs
@@ -1,6 +1,6 @@
 -- |
 -- Module    : Aura.Commands.O
--- Copyright : (c) Colin Woodbury, 2012 - 2020
+-- Copyright : (c) Colin Woodbury, 2012 - 2021
 -- License   : GPL3
 -- Maintainer: Colin Woodbury <colin@fosskers.ca>
 --
diff --git a/exec/Aura/Commands/P.hs b/exec/Aura/Commands/P.hs
--- a/exec/Aura/Commands/P.hs
+++ b/exec/Aura/Commands/P.hs
@@ -3,7 +3,7 @@
 
 -- |
 -- Module    : Aura.Commands.P
--- Copyright : (c) Colin Woodbury, 2012 - 2020
+-- Copyright : (c) Colin Woodbury, 2012 - 2021
 -- License   : GPL3
 -- Maintainer: Colin Woodbury <colin@fosskers.ca>
 --
diff --git a/exec/Aura/Flags.hs b/exec/Aura/Flags.hs
--- a/exec/Aura/Flags.hs
+++ b/exec/Aura/Flags.hs
@@ -585,8 +585,11 @@
                 , ( "chinese",    Chinese ),    ( "中文",        Chinese )
                 , ( "esperanto",  Esperanto )
                 , ( "dutch",      Dutch ),      ( "nederlands", Dutch )
-                , ( "arabic",     Arabic ),     ( "العربية",    Arabic )
-                , ( "ukrainian",  Ukrainian),   ( "українська", Ukrainian)
+                , ( "arabic",     Arabic ),     ( "العربية",       Arabic )
+                , ( "ukrainian",  Ukrainian ),  ( "українська", Ukrainian)
+                , ( "vietnamese", Vietnamese )
+                , ( "romanian",   Romanian ),   ( "română",     Romanian )
+                , ( "czech",      Czech ),      ("český",       Czech)
                 ]
 
 logLevel :: Parser LogLevel
diff --git a/exec/Aura/Settings/Runtime.hs b/exec/Aura/Settings/Runtime.hs
--- a/exec/Aura/Settings/Runtime.hs
+++ b/exec/Aura/Settings/Runtime.hs
@@ -2,7 +2,7 @@
 
 {-
 
-Copyright 2012 - 2020 Colin Woodbury <colin@fosskers.ca>
+Copyright 2012 - 2021 Colin Woodbury <colin@fosskers.ca>
 
 This file is part of Aura.
 
@@ -37,7 +37,7 @@
 import           Network.HTTP.Client (newManager)
 import           Network.HTTP.Client.TLS (tlsManagerSettings)
 import           RIO
-import           RIO.Lens (each, _Left, _Right)
+import           RIO.Lens (_Left, _Right, each)
 import qualified RIO.Map as M
 import qualified RIO.Set as S
 import qualified RIO.Text as T
diff --git a/exec/aura.hs b/exec/aura.hs
--- a/exec/aura.hs
+++ b/exec/aura.hs
@@ -4,7 +4,7 @@
 
 {-
 
-Copyright 2012 - 2020 Colin Woodbury <colin@fosskers.ca>
+Copyright 2012 - 2021 Colin Woodbury <colin@fosskers.ca>
 
 This file is part of Aura.
 
diff --git a/lib/Aura/Build.hs b/lib/Aura/Build.hs
--- a/lib/Aura/Build.hs
+++ b/lib/Aura/Build.hs
@@ -3,7 +3,7 @@
 
 -- |
 -- Module    : Aura.Build
--- Copyright : (c) Colin Woodbury, 2012 - 2020
+-- Copyright : (c) Colin Woodbury, 2012 - 2021
 -- License   : GPL3
 -- Maintainer: Colin Woodbury <colin@fosskers.ca>
 --
@@ -70,7 +70,7 @@
 -- the user with flags.
 buildPackages :: NonEmpty Buildable -> RIO Env [PackagePath]
 buildPackages bs = mapMaybeA build (NEL.toList bs) >>= \case
-  [] -> throwM . Failure $ FailMsg buildFail_10
+  []    -> throwM . Failure $ FailMsg buildFail_10
   built -> pure . foldMap toList $ mapMaybe builtPPs built
 
 -- | Handles the building of Packages. Fails nicely.
diff --git a/lib/Aura/Cache.hs b/lib/Aura/Cache.hs
--- a/lib/Aura/Cache.hs
+++ b/lib/Aura/Cache.hs
@@ -2,7 +2,7 @@
 
 -- |
 -- Module    : Aura.Cache
--- Copyright : (c) Colin Woodbury, 2012 - 2020
+-- Copyright : (c) Colin Woodbury, 2012 - 2021
 -- License   : GPL3
 -- Maintainer: Colin Woodbury <colin@fosskers.ca>
 --
diff --git a/lib/Aura/Colour.hs b/lib/Aura/Colour.hs
--- a/lib/Aura/Colour.hs
+++ b/lib/Aura/Colour.hs
@@ -1,6 +1,6 @@
 -- |
 -- Module    : Aura.Colour
--- Copyright : (c) Colin Woodbury, 2012 - 2020
+-- Copyright : (c) Colin Woodbury, 2012 - 2021
 -- License   : GPL3
 -- Maintainer: Colin Woodbury <colin@fosskers.ca>
 --
@@ -13,8 +13,8 @@
   , cyan, bCyan, green, yellow, red, magenta
   ) where
 
-import Data.Text.Prettyprint.Doc
-import Data.Text.Prettyprint.Doc.Render.Terminal
+import Prettyprinter
+import Prettyprinter.Render.Terminal
 import RIO
 
 ---
diff --git a/lib/Aura/Core.hs b/lib/Aura/Core.hs
--- a/lib/Aura/Core.hs
+++ b/lib/Aura/Core.hs
@@ -4,7 +4,7 @@
 
 -- |
 -- Module    : Aura.Core
--- Copyright : (c) Colin Woodbury, 2012 - 2020
+-- Copyright : (c) Colin Woodbury, 2012 - 2021
 -- License   : GPL3
 -- Maintainer: Colin Woodbury <colin@fosskers.ca>
 --
@@ -40,8 +40,8 @@
 import           Aura.Types
 import           Aura.Utils
 import           Control.Monad.Trans.Maybe
-import           Data.Text.Prettyprint.Doc
-import           Data.Text.Prettyprint.Doc.Render.Terminal
+import           Prettyprinter
+import           Prettyprinter.Render.Terminal
 import           RIO hiding ((<>))
 import qualified RIO.ByteString as B
 import           RIO.Directory (doesFileExist)
diff --git a/lib/Aura/Dependencies.hs b/lib/Aura/Dependencies.hs
--- a/lib/Aura/Dependencies.hs
+++ b/lib/Aura/Dependencies.hs
@@ -4,7 +4,7 @@
 
 -- |
 -- Module    : Aura.Dependencies
--- Copyright : (c) Colin Woodbury, 2012 - 2020
+-- Copyright : (c) Colin Woodbury, 2012 - 2021
 -- License   : GPL3
 -- Maintainer: Colin Woodbury <colin@fosskers.ca>
 --
diff --git a/lib/Aura/IO.hs b/lib/Aura/IO.hs
--- a/lib/Aura/IO.hs
+++ b/lib/Aura/IO.hs
@@ -1,6 +1,6 @@
 -- |
 -- Module    : Aura.IO
--- Copyright : (c) Colin Woodbury, 2012 - 2020
+-- Copyright : (c) Colin Woodbury, 2012 - 2021
 -- License   : GPL3
 -- Maintainer: Colin Woodbury <colin@fosskers.ca>
 --
@@ -12,8 +12,8 @@
 import           Aura.Languages (whitespace, yesNoMessage, yesPattern)
 import           Aura.Settings
 import           Aura.Types (FailMsg(..), Failure(..), Language)
-import           Data.Text.Prettyprint.Doc
-import           Data.Text.Prettyprint.Doc.Render.Terminal
+import           Prettyprinter
+import           Prettyprinter.Render.Terminal
 import           RIO
 import qualified RIO.ByteString as B
 import qualified RIO.ByteString.Lazy as BL
diff --git a/lib/Aura/Install.hs b/lib/Aura/Install.hs
--- a/lib/Aura/Install.hs
+++ b/lib/Aura/Install.hs
@@ -4,7 +4,7 @@
 
 -- |
 -- Module    : Aura.Install
--- Copyright : (c) Colin Woodbury, 2012 - 2020
+-- Copyright : (c) Colin Woodbury, 2012 - 2021
 -- License   : GPL3
 -- Maintainer: Colin Woodbury <colin@fosskers.ca>
 --
@@ -31,8 +31,8 @@
 import           Aura.Types
 import           Aura.Utils
 import           Control.Scheduler (Comp(..), traverseConcurrently)
-import           Data.Text.Prettyprint.Doc
-import           Data.Text.Prettyprint.Doc.Render.Terminal
+import           Prettyprinter
+import           Prettyprinter.Render.Terminal
 import           RIO
 import           RIO.Directory (setCurrentDirectory)
 import           RIO.FilePath (takeFileName)
diff --git a/lib/Aura/Languages.hs b/lib/Aura/Languages.hs
--- a/lib/Aura/Languages.hs
+++ b/lib/Aura/Languages.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE LambdaCase       #-}
+{-# LANGUAGE TupleSections    #-}
 {-# LANGUAGE TypeApplications #-}
 {-# LANGUAGE ViewPatterns     #-}
 
@@ -7,7 +8,7 @@
 
 -- |
 -- Module    : Aura.Languages
--- Copyright : (c) Colin Woodbury, 2012 - 2020
+-- Copyright : (c) Colin Woodbury, 2012 - 2021
 -- License   : GPL3
 -- Maintainer: Colin Woodbury <colin@fosskers.ca>
 --
@@ -20,12 +21,11 @@
 import qualified Aura.Languages.Fields as Fields
 import           Aura.Types
 import           Data.Ratio ((%))
-import           Data.Text.Prettyprint.Doc
-import           Data.Text.Prettyprint.Doc.Render.Terminal
+import           Prettyprinter
+import           Prettyprinter.Render.Terminal
 import           RIO
 import qualified RIO.List as L
 import qualified RIO.Map as M
-import qualified RIO.Map.Partial as M
 import qualified RIO.Text as T
 
 ---
@@ -52,32 +52,11 @@
     , (Turkish,    "Cihan Alkan")
     , (Arabic,     "\"Array in a Matrix\"")
     , (Ukrainian,  "Andriy Cherniy")
+    , (Romanian,   "90 / benone")
+    , (Vietnamese, "\"Kritiqual\"")
+    , (Czech,      "Daniel Rosel")
     ]
 
--- These need updating! Or removing...
-languageNames :: Language -> Map Language T.Text
-languageNames = M.fromList . zip [ Japanese, Polish, Croatian, Swedish, German, Spanish, Portuguese, French, Russian, Italian, Serbian, Norwegian, Indonesia, Chinese, Esperanto, Dutch, Turkish, Arabic, Ukrainian ] . \case
-    Japanese   -> [ "日本語", "ポーランド語", "クロアチア語", "スウェーデン語", "ドイツ語", "スペイン語", "ポルトガル語", "フランス語", "ロシア語", "イタリア語", "セルビア語", "ノルウェー語", "インドネシア語", "中国語", "エスペラント", "オランダ語", "トルコ語", "アラビア語", "Ukrainian" ]
-    Arabic     -> [ "اليابانية", "البولندية", "الكرواتية", "السويدية", "الالمانية", "الاصبانية", "البرتغالية", "الفرنسية", "الروسية", "الايطالية", "السيبيرية", "النرويجية", "الاندونيسية", "الصينية", "الاسبرانتو", "الهولندية", "التركية", "Arabic", "Ukrainian" ]
-    Turkish    -> [ "Japonca", "Lehçe", "Hırvatça", "İsveççe", "Almanca", "İspanyolca", "Portekizce", "Fransızca", "Rusça", "İtalyanca", "Sırpça", "Norveççe", "Endonezce", "Çince", "Esperanto", "Hollandaca", "Türkçe", "Arabic", "Ukrainian" ]
-    Polish     -> [ "Japanese", "polski", "chorwacki", "szwedzki", "niemiecki", "hiszpański", "portugalski", "francuski", "rosyjski", "włoski", "serbski", "norweski", "indonezyjski", "chiński", "esperanto", "niderlandzki", "Turkish", "Arabic", "Ukrainian" ]
-    Croatian   -> [ "Japanese", "poljski", "hrvatski", "švedski", "njemački", "španjolski", "portugalski", "francuski", "ruski", "talijanski", "srpski", "norveški", "Indonesian", "Chinese", "Esperanto", "Dutch", "Turkish", "Arabic", "Ukrainian" ]
-    Swedish    -> [ "Japanese", "Polska", "Kroatiska", "Svenska", "Tyska", "Spanska", "Portugisiska", "Franska", "Ryska", "Italienska", "Serbiska", "Norska", "Indonesian", "Chinese", "Esperanto", "Dutch", "Turkish", "Arabic", "Ukrainian" ]
-    German     -> [ "Japanisch", "Polnisch", "Kroatisch", "Schwedisch", "Deutsch", "Spanisch", "Portugiesisch", "Französisch", "Russisch", "Italienisch", "Serbisch", "Norwegisch", "Indonesisch", "Chinese", "Esperanto", "Dutch", "Turkish", "Arabic", "Ukrainian" ]
-    Spanish    -> [ "Japanese", "Polaco", "Croata", "Sueco", "Alemán", "Español", "Portugués", "Francés", "Ruso", "Italiano", "Serbio", "Noruego", "Indonesio", "Chinese", "Esperanto", "Dutch", "Turkish", "Arabic", "Ukrainian" ]
-    Portuguese -> [ "Japonês", "Polonês", "Croata", "Sueco", "Alemão", "Espanhol", "Português", "Francês", "Russo", "Italiano", "Sérvio", "Norueguês", "Indonésio", "Chinês", "Esperanto", "Dutch", "Turkish", "Arabic", "Ukrainian" ]
-    French     -> [ "Japanese", "Polonais", "Croate", "Suédois", "Allemand", "Espagnol", "Portugais", "Français", "Russe", "Italien", "Serbe", "Norvégien", "Indonesian", "Chinese", "Esperanto", "Dutch", "Turkish", "Arabic", "Ukrainian" ]
-    Russian    -> [ "Японский", "Польский", "Хорватский", "Шведский", "Немецкий", "Испанский", "Португальский", "Французский", "Русский", "Итальянский", "Сербский", "Норвежский", "Индонезийский", "Китайский", "Эсперанто", "Датский", "Турецкий", "Арабский", "Украинский" ]
-    Italian    -> [ "Giapponese", "Polacco", "Croato", "Svedese", "Tedesco", "Spagnolo", "Portoghese", "Francese", "Russo", "Italiano", "Serbo", "Norvegese", "Indonesiano", "Cinese", "Esperanto", "Dutch", "Turkish", "Arabic", "Ukrainian" ]
-    Serbian    -> [ "Japanese", "Пољски", "Хрватски", "Шведски", "Немачки", "Шпански", "Португалски", "Француски", "Руски", "Италијански", "Српски", "", "Indonesian", "Chinese", "Esperanto", "Dutch", "Turkish", "Arabic", "Ukrainian" ]
-    Norwegian  -> [ "Japanese", "Polsk", "Kroatisk", "Svensk", "Tysk", "Spansk", "Portugisisk", "Fransk", "Russisk", "Italiensk", "Serbisk", "Norsk", "Indonesian", "Chinese", "Esperanto", "Dutch", "Turkish", "Arabic", "Ukrainian" ]
-    Indonesia  -> [ "Japanese", "Polandia", "Kroasia", "Swedia", "Jerman", "Spanyol", "Portugis", "Prancis", "Rusia", "Italia", "Serbia", "Norwegia", "Indonesian", "Chinese", "Esperanto", "Dutch", "Turkish", "Arabic", "Ukrainian" ]
-    Chinese    -> [ "日语", "波兰语", "克罗地亚语", "瑞典语", "德语", "西班牙语", "葡萄牙语", "法语", "俄语", "意大利语", "塞尔维亚语", "挪威语", "印度尼西亚语", "中文", "世界语", "Dutch", "Turkish", "Arabic", "Ukrainian" ]
-    Esperanto  -> [ "La japana", "La pola", "La kroata", "La sevda", "La germana", "La hispana", "La portugala", "La franca", "La rusa", "La itala", "La serba", "La norvega", "La indonezia", "La ĉina", "Esperanto", "La nederlanda", "Turkish", "Arabic", "Ukrainian" ]
-    Dutch      -> [ "Japans", "Pools", "Kroatisch", "Zweeds", "Duits", "Spaans", "Portugees", "Frans", "Russisch", "Italiaans", "Servisch", "Noors", "Indonesisch", "Chinees", "Esperanto", "Nederlands", "Turkish", "Arabic", "Ukrainian" ]
-    Ukrainian  -> [ "Японська", "Польська", "Хорватська", "Швецька", "Німецька", "Іспанська", "Португальська", "Французька", "Російська", "Італьянська", "Сербська", "Норвезька", "Індонезійська", "Китайська", "Есперанто", "Датська", "Турецька", "Арабська", "Українська" ]
-    _          -> [ "Japanese", "Polish", "Croatian", "Swedish", "German", "Spanish", "Portuguese", "French", "Russian", "Italian", "Serbian", "Norwegian", "Indonesian", "Chinese", "Esperanto", "Dutch", "Turkish", "Arabic", "Ukrainian" ]
-
 translatorMsgTitle :: Language -> Text
 translatorMsgTitle = \case
     Japanese   -> "Auraの翻訳者："
@@ -99,17 +78,23 @@
     Esperanto  -> "Tradukistoj de Aura:"
     Dutch      -> "Aura Vertalers:"
     Ukrainian  -> "Перекладачі Aura:"
+    Romanian   -> "Traducători Aura:"
+    Vietnamese -> "Dịch giả của Aura:"
+    Czech      -> "Překladači Aury:"
     _          -> "Aura Translators:"
 
 translatorMsg :: Language -> [Text]
 translatorMsg lang = title : names
-  where title = translatorMsgTitle lang
-        names = fmap snd . M.toList $
-            M.mapWithKey (\l t -> formatLang (assocLang l t)) translators
-        assocLang lang' translator = (translator, langNames M.! lang')
-        formatLang (translator, lang') = " (" <> lang' <> ") " <> translator
-        langNames = languageNames lang
+  where
+    title :: Text
+    title = translatorMsgTitle lang
 
+    names :: [Text]
+    names = mapMaybe (\l -> formatLang . (,l) <$> M.lookup l translators) [English ..]
+
+    formatLang :: (Text, Language) -> Text
+    formatLang (translator, lang') = " (" <> (T.pack $ show lang') <> ") " <> translator
+
 -- | Make some `Text` cyan. Previous wrapped things in backticks.
 bt :: Pretty a => a -> Doc AnsiStyle
 bt = cyan . pretty
@@ -140,6 +125,9 @@
   "nl" -> Just Dutch
   "en" -> Just English
   "uk" -> Just Ukrainian
+  "ro" -> Just Romanian
+  "vi" -> Just Vietnamese
+  "cs" -> Just Czech
   _    -> Nothing
 
 ----------------------
@@ -165,6 +153,9 @@
     Esperanto  -> "La datumbazo de pakaĵoj estas ŝlosita. Premu enen-klavo kiam la datumbazo estas malŝlosita por daŭrigi"
     Dutch      -> "De pakket databank is vergrendelt. Druk op enter wanneer het ontgrendelt is."
     Ukrainian  -> "База даних пакетів заблокована. Натисніть Enter, коли вона розблокується, щоб продовжити."
+    Romanian   -> "Baza de date de pachete este blocată. Apăsați Enter după ce s-a deblocat pentru a continua."
+    Vietnamese -> "Cơ sở dữ liệu của gói đã bị khóa. Nhấn Enter sau khi nó được mở khóa để tiếp tục."
+    Czech      -> "Databáze balíčků je uzamčena. Až bude odemčena, stiskněte Enter pro pokračování."
     _          -> "The package database is locked. Press enter when it's unlocked to continue."
 
 trueRoot_3 :: Language -> Doc AnsiStyle
@@ -183,6 +174,9 @@
     Esperanto  -> "Depost makepkg v4.2, konstruanto ĉefuzante ne eblas."
     Dutch      -> "Vanaf makepkg v4.2 is het niet langer mogelijk om als root te bouwen."
     Ukrainian  -> "З версії makepkg v4.2 збірка від імені root неможлива."
+    Romanian   -> "De la versiunea makepkg v4.2 încolo, compilarea ca root nu mai este posibilă."
+    Vietnamese -> "Kể từ makepkg v4.2, build bằng quyền root không còn khả dụng."
+    Czech      -> "Od makepkg v4.2 již není sestavení jako root možné."
     _          -> "As of makepkg v4.2, building as root is no longer possible."
 
 mustBeRoot_1 :: Language -> Doc AnsiStyle
@@ -206,6 +200,9 @@
     Esperanto  -> "Vi ne povas fari ĉi tiun operacion, sen " <> sudo <> "."
     Dutch      -> "U kunt deze operatie niet uitvoeren zonder " <> sudo <> " te gebruiken."
     Ukrainian  -> "Для цієї дії, потрібно використати " <> sudo <> "."
+    Romanian   -> "Nu se poate folosi această operație asta fără " <> sudo <> "."
+    Vietnamese -> "Bạn không thể thực hiện hành động này nếu không dùng " <> sudo <> "."
+    Czech      -> "Tuto operaci nelze provést bez použití sudo."
     _          -> "You cannot perform this operation without using sudo."
 
 -----------------------
@@ -232,6 +229,9 @@
     Esperanto  -> "Muntanta " <> p <> "..."
     Dutch      -> "Pakket " <> p <> " aan het bouwen..."
     Ukrainian  -> "Збираємо " <> p <> "..."
+    Romanian   -> "Se compilează " <> p <> "..."
+    Vietnamese -> "Đang build " <> p <> "..."
+    Czech      -> "Kompilace " <> p <> "..."
     _          -> "Building " <> p <> "..."
 
 buildPackages_2 :: Language -> Doc AnsiStyle
@@ -240,6 +240,9 @@
     Polish     -> "'--allsource' wykryte. Nie zostaną zbudowane żadne pakiety."
     Turkish    -> "'--allsource' bulundu. Yüklenebilir gerçek paketler oluşturulmayacaktır."
     Spanish    -> "'--allsource' detectado. No se construirán paquetes instalables reales."
+    Romanian   -> "'--allsource' detectat. Nu se va compila oricare pachet instalabil."
+    Vietnamese -> "'--allsource' được sử dụng. Không có gói nào sẽ được build."
+    Czech      -> "Bylo nalezeno '-allsource'. Žádné skutečné instalovatelné balíčky nebudou sestaveny."
     _          -> "'--allsource' detected. No actual installable packages will be built."
 
 buildPackages_3 :: FilePath -> Language -> Doc AnsiStyle
@@ -249,15 +252,24 @@
     Turkish    -> "Tüm .src.tar.gz dosyaları oluşturuldu ve şuraya kopyalandı: " <> pretty fp
     Spanish    -> "Todos los archivos .src.tar.gz fueron construidos y copiados a: " <> pretty fp
     Ukrainian  -> "Всі архіви .src.tar.gz були зібрані та скопійовані до: " <> pretty fp
+    Romanian   -> "Toate fișierele .src.tar.gz au fost construite și copiate către: " <> pretty fp
+    Vietnamese -> "Tất cả các tệp .src.tar.gz đã được build và sao chép tới: " <> pretty fp
+    Czech      -> "Všechny soubory .src.tar.gz byly vytvořeny a zkopírovány do: " <> pretty fp
     _          -> "All .src.tar.gz files were built and copied to: " <> pretty fp
 
 buildPackages_4 :: Language -> Doc AnsiStyle
 buildPackages_4 = \case
-  _ -> bt @Text "--hotedit" <+> "detected, but the following have cache entries and will be skipped for editing:"
+    Romanian -> bt @Text "--hotedit" <+> "detectat, dar acestea au date în cache și vor fi omise din editare:"
+    Vietnamese -> bt @Text "--hotedit" <+> "được sử dụng, những gói sau có trong cache và sẽ được bỏ qua để chỉnh sửa:"
+    Czech    -> bt @Text "--hotedit" <+> "zjištěno, ale následující položky mají položky mezipaměti a budou přeskočeny pro úpravy:"
+    _        -> bt @Text "--hotedit" <+> "detected, but the following have cache entries and will be skipped for editing:"
 
 buildPackages_5 :: Language -> Doc AnsiStyle
 buildPackages_5 = \case
-  _ -> "You can use" <+> bt @Text "--force" <+> "to override this behaviour."
+    Romanian -> "Se poate folosi" <+> bt @Text "--force" <+> "pentru a trece peste acest comportament."
+    Vietnamese -> "Bạn có thể dùng" <+> bt @Text "--force" <+> "để ghi đè hành động này."
+    Czech    -> "Můžete použít" <+> bt @Text "--force" <+> "k potlačení tohoto chování."
+    _        -> "You can use" <+> bt @Text "--force" <+> "to override this behaviour."
 
 buildFail_5 :: Language -> Doc AnsiStyle
 buildFail_5 = \case
@@ -279,6 +291,9 @@
     Esperanto  -> "Muntado paneis"
     Dutch      -> "Bouwen is mislukt."
     Ukrainian  -> "Збірка не вдалась."
+    Romanian   -> "Compilare nereușită."
+    Vietnamese -> "Build thất bại."
+    Czech      -> "Budování se nezdařilo."
     _          -> "Building failed."
 
 -- NEEDS TRANSLATION
@@ -301,6 +316,9 @@
     Esperanto  -> "Ĉu vi volas daŭrigi?"
     Dutch      -> "Wilt U toch doorgaan?"
     Ukrainian  -> "Ви все одно бажаєте продовжити?"
+    Romanian   -> "Doriți oricum să continuați?"
+    Vietnamese -> "Bạn có muốn tiếp tục không?"
+    Czech      -> "Chcete přesto pokračovat?"
     _          -> "Would you like to continue anyway?"
 
 -- NEEDS TRANSLATION
@@ -320,6 +338,9 @@
     Esperanto  -> "Paneis akiri muntaj skriptoj de " <> p <> "."
     Dutch      -> "Verkrijgen van bouw scripten mislukt voor " <> p <> "."
     Ukrainian  -> "Не вдалось отримати сценарії збірки для " <> p <> "."
+    Romanian   -> "Nu s-au putut obține scripturi de compilare pentru " <> p <> "."
+    Vietnamese -> "Không thể lấy tập lệnh build cho " <> p <> "."
+    Czech      -> "Nepodařilo se získat sestavení skriptů pro " <> p <> "."
     _          -> "Failed to obtain build scripts for " <> p <> "."
 
 buildFail_8 :: Language -> Doc AnsiStyle
@@ -334,6 +355,9 @@
     Esperanto  -> "Paneo de makepkg okazis."
     Dutch      -> "Er is een fout opgetreden in makepkg."
     Ukrainian  -> "Сталась помилка makepkg."
+    Romanian   -> "A fost o problemă cu makepkg."
+    Vietnamese -> "Có lỗi khi makepkg."
+    Czech      -> "Došlo k chybě makepkg."
     _          -> "There was a makepkg failure."
 
 buildFail_9 :: Language -> Doc AnsiStyle
@@ -345,30 +369,39 @@
   Esperanto -> "Paneis detekti ĉiujn dosierojn de pakaĵoj (*.pkg.tar.xz)."
   Dutch     -> "Detecteren van built package files mislukt (*.pkg.tar.xz)."
   Ukrainian -> "Не вдалось знайти жодного файлу пакунку (*.pkg.tar.xz)."
+  Romanian  -> "Nu s-a detectat nici un pachet construit (*.pkg.tar.xz)."
+  Vietnamese -> "Không thể phát hiện các tệp đã được build (*.pkg.tar.xz)."
+  Czech     -> "Nepodařilo se detekovat žádné soubory zabudovaného balíčku (*.pkg.tar.xz)."
   _         -> "Failed to detect any built package files (*.pkg.tar.xz)."
 
 buildFail_10 :: Language -> Doc AnsiStyle
 buildFail_10 = \case
-  Polish    -> "Nie udało się zbudować żadnego pakietu."
-  Arabic    -> ".فشل بناء كل الرزم"
-  Spanish   -> "Los paquetes no se pudieron construir."
-  Italian   -> "Non è stato possibile compilare i pacchetti."
-  Esperanto -> "Ĉiuj pakaĵoj paneis munti."
-  Dutch     -> "Het bouwen van alle pakketten is mislukt."
-  Ukrainian -> "Жоден пакунок не вдалося зібрати."
-  _         -> "Every package failed to build."
+  Polish     -> "Nie udało się zbudować żadnego pakietu."
+  Arabic     -> ".فشل بناء كل الرزم"
+  Spanish    -> "Los paquetes no se pudieron construir."
+  Italian    -> "Non è stato possibile compilare i pacchetti."
+  Esperanto  -> "Ĉiuj pakaĵoj paneis munti."
+  Dutch      -> "Het bouwen van alle pakketten is mislukt."
+  Ukrainian  -> "Жоден пакунок не вдалося зібрати."
+  Romanian   -> "Nu s-a putut compila nici un pachet."
+  Vietnamese -> "Tất cả các gói build thất bại."
+  Czech      -> "Sestavení každého balíčku se nezdařilo."
+  _          -> "Every package failed to build."
 
 buildFail_11 :: Language -> Doc AnsiStyle
 buildFail_11 = \case
-  Japanese  -> "作成は失敗しました。エラーを見ますか？"
-  Arabic    -> "فشل البناء. هل ترغب في رؤية الخطأ؟"
-  Polish    -> "Budowa zakończona niepowodzeniem. Czy chcesz zobaczyć błąd?"
-  Spanish   -> "Construcción fallida. ¿Te gustaría ver el error?"
-  Italian   -> "La compilazione è fallita. Visionare l'errore?"
-  Esperanto -> "Muntado paneis. Ĉu vi volas vidi la eraron?"
-  Dutch     -> "Bouwen mislukt. Wilt U de fouten zien?"
-  Ukrainian -> "Збірка не вдалась. Бажаєте побачити помилку?"
-  _         -> "Building failed. Would you like to see the error?"
+  Japanese   -> "作成は失敗しました。エラーを見ますか？"
+  Arabic     -> "فشل البناء. هل ترغب في رؤية الخطأ؟"
+  Polish     -> "Budowa zakończona niepowodzeniem. Czy chcesz zobaczyć błąd?"
+  Spanish    -> "Construcción fallida. ¿Te gustaría ver el error?"
+  Italian    -> "La compilazione è fallita. Visionare l'errore?"
+  Esperanto  -> "Muntado paneis. Ĉu vi volas vidi la eraron?"
+  Dutch      -> "Bouwen mislukt. Wilt U de fouten zien?"
+  Ukrainian  -> "Збірка не вдалась. Бажаєте побачити помилку?"
+  Romanian   -> "Compilare nereușită. Doriți să vedeți eroarea?"
+  Vietnamese -> "Build thất bại. Bạn có muốn xem lịch sử lỗi?"
+  Czech      -> "Budování se nezdařilo. Chcete vidět chybu?"
+  _          -> "Building failed. Would you like to see the error?"
 
 buildFail_12 :: Language -> Doc AnsiStyle
 buildFail_12 = \case
@@ -376,6 +409,9 @@
     Arabic     -> ".على اخر تحديث 'git pull' فشل حصول"
     Spanish    -> "Error al 'git pull' las últimas actualizaciones."
     Ukrainian  -> "Не вдалося використати 'git pull' для отримання останніх оновлень."
+    Romanian   -> "Nu a reușit 'git pull' să descarce cele mai recente actualizări."
+    Vietnamese -> "Thất bại trong việc 'git pull' để cập nhật."
+    Czech      -> "Nepodařilo se 'git stáhnout' nejnovější aktualizace."
     _          -> "Failed to 'git pull' the latest updates."
 
 ------------------------------
@@ -402,6 +438,9 @@
     Esperanto  -> "La pakaĵo, " <> prnt <> ", dependas de versio " <> d <> " de " <> p <> ", sed la plej nova versio estas " <> r <> "."
     Dutch      -> "Het pakket " <> prnt <> ", hangt af van versie " <> d <> " van " <> p <> ", maar de meest recente versie is " <> r <> "."
     Ukrainian  -> "Залежність " <> p <> " потребує версію " <> d <> ", проте останньою версією є " <> r <> "."
+    Romanian   -> "Pachetul " <> prnt <> " depinde de versiunea " <> d <> " al pachetului " <> p <> ", dar cea mai recentă versiune este " <> r <> "."
+    Vietnamese -> "Gói " <> prnt <> " phụ thuộc vào bản " <> d <> " của " <> p <> ", nhưng bản mới nhất là " <> r <> "."
+    Czech      -> "Balík " <> prnt <> " závisí na verzi " <> d <> " z " <> p <> ", ale nejnovější verze je " <> r <> "."
     _          -> "The package " <> prnt <> " depends on version " <> d <> " of " <> p <> ", but the most recent version is " <> r <> "."
 
 getRealPkgConflicts_2 :: PkgName -> Language -> Doc AnsiStyle
@@ -424,6 +463,9 @@
   Esperanto  -> p <> " estas malatenta pakaĵo! Vidu vian `pacman.conf` dosieron."
   Dutch      -> p <> " is een genegeerd pakket! Bekijk uw `pacman.conf` file."
   Ukrainian  -> "Пакунок " <> p <> " буде проігноровано! Перевірте ваш файл `pacman.conf`."
+  Romanian   -> "Pachetul " <> p <> " este ignorat! Verificați fișierul `pacman.conf`."
+  Vietnamese -> "Gói " <> p <> "đã bị bỏ qua! Hãy xem trong `pacman.conf` của bạn."
+  Czech      -> p <> " je ignorovaný balíček! Podívejte se na svůj soubor `pacman.conf`."
   _          -> p <> " is an ignored package! See your `pacman.conf` file."
 
 missingPkg_2 :: [DepError] -> Language -> Doc AnsiStyle
@@ -442,7 +484,10 @@
   Esperanto  -> "La dependeco " <> bt s <> " de " <> bt par <> " ne povis troviĝi."
   Dutch      -> "Het afhankelijkheid " <> bt s <> "kan niet worden gevonden."
   Ukrainian  -> "Залежність " <> bt s <> " не було знайдено."
+  Vietnamese -> "Không thể tìm thấy các gói phụ thuộc của " <> bt s <> "."
+  Czech      -> "Nebyla nalezena závislost " <> bt s <> " z " <> bt par <> "."
   _          -> "The dependency " <> bt s <> " of " <> bt par <> " couldn't be found."
+
 depError l (BrokenProvides (PkgName pkg) (Provides (PkgName pro)) (PkgName n)) = case l of
   Arabic     -> "." <> bt pro <> " اللتي تقدم ," <> bt n <> " تحتاج" <> bt pkg <> " الرزمة"
   Spanish    -> "El paquete " <> bt pkg <> " necesita " <> bt n <> " que proporciona " <> bt pro <> "."
@@ -451,6 +496,9 @@
   Italian    -> "Il pacchetto " <> bt pkg <> " ha bisogno di " <> bt n <> ", che rende disponibile " <> bt pro <> "."
   Dutch      -> "Het pakket" <> bt pkg <> " heeft " <> bt n <> " nodig, die " <> bt pro <> " biedt."
   Ukrainian  -> "Пакунку " <> bt pkg <> " потрібен " <> bt n <> ", який забезпечує " <> bt pro <> "."
+  Romanian   -> "Pachetul " <> bt pkg <> " are nevoie de " <> bt n <> ", care provizionează " <> bt pro <> "."
+  Vietnamese -> "Gói " <> bt pkg <> " cần " <> bt n <> ", để cung cấp " <> bt pro <> "."
+  Czech      -> "Balík " <> bt pkg <> " potřebuje " <> bt n <> ", který poskytuje " <> bt pro <> "."
   _          -> "The package " <> bt pkg <> " needs " <> bt n <> ", which provides " <> bt pro <> "."
 
 missingPkg_3 :: Language -> Doc AnsiStyle
@@ -461,6 +509,9 @@
   Esperanto  -> "Eraro okazis kiam reorganizi la grafeo de dependeco. Io estas erarega."
   Italian    -> "C'è stato un errore nella riorganizzazione della gerarchia delle dipendenze. Se vedi questo messaggio, qualcosa è andato davvero storto."
   Dutch      -> "Er is een fout opgetreden bij het reorganizeren van de afhankelijkheidsgrafiek. Als U dit ziet, is er iets heel erg mis."
+  Romanian   -> "A fost o problemă reorganizând graful de dependențe. Dacă vedeți asta, e foarte rău."
+  Vietnamese -> "Có lỗi trong quá trình xây dựng biểu đồ gói phụ thuộc. Nếu bạn thấy điều này, có gì đó không đúng."
+  Czech      -> "Při reorganizaci grafu závislostí došlo k chybě. Pokud vidíte toto, něco je velmi špatně."
   _          -> "There was an error reorganizing the dependency graph. If you see this, something is very wrong."
 
 missingPkg_4 :: [NonEmpty PkgName] -> Language -> Doc AnsiStyle
@@ -471,6 +522,9 @@
   Italian    -> vsep $ "Sono stati individuati i seguenti cicli di dipendenza:" : pns'
   Dutch      -> vsep $ "The volgende afhankelijkheidscycli zijn gedetecteerd:" : pns'
   Ukrainian  -> vsep $ "Було помічено цикл залежностей:" : pns'
+  Romanian   -> vsep $ "Aceste cicluri de dependență a fost detectate:" : pns'
+  Vietnamese -> vsep $ "Phát hiện chu kỳ gói phụ thuộc: " : pns'
+  Czech      -> vsep $ "Byly zjištěny následující cykly závislostí:" : pns'
   _ -> vsep $ "The following dependency cycles were detected:" : pns'
   where
     pns' :: [Doc ann]
@@ -478,13 +532,16 @@
 
 missingPkg_5 :: PkgName -> Language -> Doc AnsiStyle
 missingPkg_5 (PkgName p) = \case
-  Polish    -> bt p <> " nie istnieje."
-  Arabic    -> ".ليس موجود " <> bt p
-  Spanish   -> bt p <> " no existe."
-  Italian   -> bt p <> " non esiste."
-  Dutch     -> bt p <> " bestaat niet."
-  Ukrainian -> "Пакунок " <> bt p <> " не існує."
-  _         -> bt p <> " does not exist."
+  Polish     -> bt p <> " nie istnieje."
+  Arabic     -> ".ليس موجود " <> bt p
+  Spanish    -> bt p <> " no existe."
+  Italian    -> bt p <> " non esiste."
+  Dutch      -> bt p <> " bestaat niet."
+  Ukrainian  -> "Пакунок " <> bt p <> " не існує."
+  Romanian   -> "Pachetul " <> bt p <> " nu există."
+  Vietnamese -> bt p <> " không tồn tại."
+  Czech      -> bt p <> " neexistuje."
+  _          -> bt p <> " does not exist."
 
 -----------------
 -- aura functions
@@ -509,6 +566,9 @@
     Esperanto  -> "La sekvaj lingvo estas disponebla:"
     Dutch      -> "De volgende talen zijn beschikbaar:"
     Ukrainian  -> "Доступні наступні мови:"
+    Romanian   -> "Aceste pacheturi sunt disponibile:"
+    Vietnamese -> "Ngôn ngữ khả dụng:"
+    Czech      -> "K dispozici jsou následující jazyky:"
     _          -> "The following languages are available:"
 
 ----------------------------
@@ -534,6 +594,9 @@
     Esperanto  -> "Ĝisdatigo de Aura estas disponebla. Ĉu ĝisdatigas ĝin?"
     Dutch      -> "Aura update beschikbaar. Eerst updaten?"
     Ukrainian  -> "Доступно оновлення для Aura. Бажаєте оновити її першою?"
+    Romanian   -> "O versiune nouă de Aura este disponibilă. Să se actualizeze înainte de toate?"
+    Vietnamese -> "Đã có cập nhật cho Aura. Cập nhật?"
+    Czech      -> "K dispozici aktualizace Aury. Nejprve ji aktualizovat?"
     _          -> "Aura update available. Update it first?"
 
 install_2 :: Language -> Doc AnsiStyle
@@ -556,6 +619,9 @@
     Esperanto  -> "Ne validajn pakaĵojn specifis"
     Dutch      -> "Geen geldige pakketen gespecificeerd."
     Ukrainian  -> "Валідні пакунки не вказані."
+    Romanian   -> "Nu s-a specificat nici un pachet valabil."
+    Vietnamese -> "Tên của gói được yêu cầu không đúng."
+    Czech      -> "Nejsou zadány žádné platné balíčky."
     _          -> "No valid packages specified."
 
 install_3 :: Language -> Doc AnsiStyle
@@ -579,6 +645,9 @@
     Esperanto  -> "Ĉu daŭrigi?"
     Dutch      -> "Doorgaan?"
     Ukrainian  -> "Продовжити?"
+    Romanian   -> "Continuați?"
+    Vietnamese -> "Tiếp tục?"
+    Czech      -> "Pokračovat?"
     _          -> "Continue?"
 
 install_4 :: Language -> Doc AnsiStyle
@@ -601,6 +670,9 @@
     Esperanto  -> "Instalon ĉesigi permane"
     Dutch      -> "Installatie handmatig afgebroken."
     Ukrainian  -> "Встановлення скасовано користувачем."
+    Romanian   -> "Instalarea anulată manual."
+    Vietnamese -> "Quá trình cài đặt được hủy."
+    Czech      -> "Instalace byla ručně přerušena."
     _          -> "Installation manually aborted."
 
 install_5 :: Language -> Doc AnsiStyle
@@ -623,6 +695,9 @@
     Esperanto  -> "Difinas dependecojn..."
     Dutch      -> "Afhankelijkheden aan het bepalen..."
     Ukrainian  -> "Визначення залежностей..."
+    Romanian   -> "Se determin dependențele..."
+    Vietnamese -> "Xác định các gói phụ thuộc..."
+    Czech      -> "Určování závislostí..."
     _          -> "Determining dependencies..."
 
 -- 2014 December  7 @ 14:45 - NEEDS TRANSLATIONS
@@ -639,6 +714,9 @@
     Swedish    -> p <> " är markerad som ignorerad. Vill du installera ändå?"
     Esperanto  -> p <> " estas markita kiel malatenta. Ĉu instali?"
     Dutch      -> p <> " is gemarkeerd als genegeerd. Toch installeren?"
+    Romanian   -> p <> " e marcat ca ignorat. Să se instaleze oricum?"
+    Vietnamese -> p <> " được đánh dấu là Bỏ qua. Vẫn cài đặt nó?"
+    Czech      -> p <> " je označeno jako ignorováno. Přesto nainstalovat?"
     _          -> p <> " is marked as Ignored. Install anyway?"
 
 -- NEEDS UPDATE TO REFLECT CHANGED ENGLISH
@@ -662,6 +740,9 @@
     Esperanto  -> "La sekvaj ne estas pakaĵoj de la AUR:"
     Dutch      -> "De volgende pakketten zijn geen AUR pakketten:"
     Ukrainian  -> "Нижче вказано те, що не є пакунком AUR:"
+    Romanian   -> "Aceste pachete nu se află pe AUR:"
+    Vietnamese -> "Các gói sau không thuộc AUR:"
+    Czech      -> "Následující nejsou balíčky AUR:"
     _          -> "The following are not AUR packages:"
 
 -- NEEDS TRANSLATION
@@ -680,6 +761,9 @@
     Esperanto  -> "La sekvaj pakaĵoj jam instaliĝas:"
     Dutch      -> "The volgende pakketten zijn al geinstalleerd:"
     Ukrainian  -> "Наступні пакунки вже встановлені:"
+    Romanian   -> "Aceste pachete sunt deja instalate:"
+    Vietnamese -> "Các gói sau đã sẵn sàng cài đặt:"
+    Czech      -> "Následující balíčky jsou již nainstalovány:"
     _          -> "The following packages are already installed:"
 
 reportPkgsToInstall_1 :: Language -> Doc AnsiStyle
@@ -702,6 +786,9 @@
     Esperanto  -> "Dependecoj de deponejo:"
     Dutch      -> "Repository afhankelijkheden:"
     Ukrainian  -> "Залежності репозиторія:"
+    Romanian   -> "Dependențe din repertorii:"
+    Vietnamese -> "Các repo phụ thuộc:"
+    Czech      -> "Závislosti úložiště:"
     _          -> "Repository dependencies:"
 
 -- NEEDS AN UPDATE
@@ -725,6 +812,9 @@
     Esperanto  -> "Pakaĵoj de AUR:"
     Dutch      -> "AUR Pakketten:"
     Ukrainian  -> "Пакунки AUR:"
+    Romanian   -> "Pachete din AUR:"
+    Vietnamese -> "Gói AUR:"
+    Czech      -> "Balíčky AUR:"
     _          -> "AUR Packages:"
 
 reportPkgsToInstall_3 :: Language -> Doc AnsiStyle
@@ -745,6 +835,9 @@
     Esperanto  -> "Dependencoj de AUR:"
     Dutch      -> "AUR-afhankelijkheden:"
     Ukrainian  -> "Залежності в AUR:"
+    Romanian   -> "Dependențe din AUR:"
+    Vietnamese -> "Gói phụ thuộc của AUR:"
+    Czech      -> "Závislosti AUR:"
     _          -> "AUR dependencies:"
 
 -- NEEDS TRANSLATION
@@ -768,6 +861,9 @@
     Esperanto  -> p <> " ne havas PKGBUILD jam."
     Dutch      -> p <> " heeft nog geen opgeslagen PKGBUILD."
     Ukrainian  -> "В " <> p <> " ще не зберігається PKGBUILD."
+    Romanian   -> p <> " încă nu are un PKGBUILD descărcat."
+    Vietnamese -> p <> " không có sẵn PKGBUILD."
+    Czech      -> p <> " ještě nemá uložený PKGBUILD."
     _          -> p <> " has no stored PKGBUILD yet."
 
 -- NEEDS TRANSLATION
@@ -791,6 +887,9 @@
     Esperanto  -> p <> " PKGBUILD ŝanĝoj:"
     Dutch      -> p <> " PKGBUILD aanpassingen:"
     Ukrainian  -> "Зміни PKGBUILD в " <> p <> ":"
+    Romanian   -> "Schimbări in PKGBUILD pentru " <> p <> ":"
+    Vietnamese -> "Thay đổi trong PKGBUILD của " <> p <> ":"
+    Czech      -> "Změny PKGBUILD v " <> p <> ":"
     _          -> p <> " PKGBUILD changes:"
 
 -- NEEDS TRANSLATION
@@ -814,6 +913,9 @@
     Esperanto  -> "Pakaĵoj de AUR ĝisdatigi:"
     Dutch      -> "AUR-Pakketten om te upgraden:"
     Ukrainian  -> "Пакунки AUR, готові для оновлення:"
+    Romanian   -> "Pachete din AUR de actualizat:"
+    Vietnamese -> "Cập nhật các gói AUR:"
+    Czech      -> "Balíčky AUR k aktualizaci:"
     _          -> "AUR Packages to upgrade:"
 
 -- NEEDS UPDATING
@@ -837,16 +939,22 @@
     Esperanto  -> "La sekvaj pakaĵoj havas ne kaŝmemorigitajn versiojn, do ĝi ne povas malpromociigi:"
     Dutch      -> "De volgende pakketten hebben geen versie in de cache, en kunnen dus niet gedowngrade worden."
     Ukrainian  -> "Наступних пакунків немає в кеші. Отже, вони не можуть відкотитися до старої версії:"
+    Romanian   -> "Aceste pachete nu au nici o versiune disponibilă în cache, așa că nu pot fi retrogradate:"
+    Vietnamese -> "Những gói sau không có bản nào trong cache, vì vậy không thể hạ cấp:"
+    Czech      -> "Následující nemají žádné verze v mezipaměti, a proto je nelze downgradovat:"
     _          -> "The following have no versions in the cache, and thus can’t be downgraded:"
 
 reportBadDowngradePkgs_2 :: PkgName -> Language -> Doc AnsiStyle
 reportBadDowngradePkgs_2 (PkgName p) = \case
-  Spanish   -> pretty p <+> "no tiene una versión en la caché."
-  Arabic    -> ".ليس  لديه اصدار في الذاكرة التخزين الموقت" <+> pretty p
-  Italian   -> pretty p <+> "non ha alcuna versione nella cache."
-  Dutch     -> pretty p <+> "heeft geen versie in de cache."
-  Ukrainian -> pretty p <+> "не має версії в кеші."
-  _         -> pretty p <+> "has no version in the cache."
+  Spanish    -> pretty p <+> "no tiene una versión en la caché."
+  Arabic     -> ".ليس  لديه اصدار في الذاكرة التخزين الموقت" <+> pretty p
+  Italian    -> pretty p <+> "non ha alcuna versione nella cache."
+  Dutch      -> pretty p <+> "heeft geen versie in de cache."
+  Ukrainian  -> pretty p <+> "не має версії в кеші."
+  Romanian   -> pretty p <+> "nu are nici o versiune în cache."
+  Vietnamese -> pretty p <+> "không có bản nào trong cache."
+  Czech      -> pretty p <+> "nemá žádnou verzi v mezipaměti."
+  _          -> pretty p <+> "has no version in the cache."
 
 upgradeAURPkgs_1 :: Language -> Doc AnsiStyle
 upgradeAURPkgs_1 = \case
@@ -868,6 +976,9 @@
     Esperanto  -> "Venigas informacion de pakaĵoj..."
     Dutch      -> "Pakket informatie aan het ophalen..."
     Ukrainian  -> "Збираємо інформацію про пакунок..."
+    Romanian   -> "Se obțin informații despre pachete..."
+    Vietnamese -> "Cập nhật thông tin của gói..."
+    Czech      -> "Načítání informací o balíčku..."
     _          -> "Fetching package information..."
 
 upgradeAURPkgs_2 :: Language -> Doc AnsiStyle
@@ -890,6 +1001,9 @@
     Esperanto  -> "Komparas versiojn de pakaĵoj..."
     Dutch      -> "Pakket versies aan het vergelijken..."
     Ukrainian  -> "Порівнюємо версії пакунків..."
+    Romanian   -> "Se compar versiunile pacheturilor..."
+    Vietnamese -> "So sánh phiên bản của gói..."
+    Czech      -> "Porovnání verzí balíčků..."
     _          -> "Comparing package versions..."
 
 upgradeAURPkgs_3 :: Language -> Doc AnsiStyle
@@ -912,6 +1026,9 @@
     Esperanto  -> "Ne ĝisdatigoj de pakaĵoj de AUR necesas."
     Dutch      -> "Geen AUR-pakket upgrades vereist."
     Ukrainian  -> "Пакунки AUR не потребують оновлення."
+    Romanian   -> "Nu e nevoie să se actualizeze nici un pachet din AUR."
+    Vietnamese -> "Không có cập nhật cho các gói AUR."
+    Czech      -> "Není nutné žádné aktualizace balíčku AUR."
     _          -> "No AUR package upgrades necessary."
 
 removeMakeDepsAfter_1 :: Language -> Doc AnsiStyle
@@ -934,6 +1051,9 @@
     Esperanto  -> "Forigas nenecesajn dependecojn de make..."
     Dutch      -> "Onnodige make afhankelijkheden aan het verwijderen..."
     Ukrainian  -> "Видаляємо непотрібні залежності make..."
+    Romanian   -> "Se șterg dependențele de compilare inutile..."
+    Vietnamese -> "Loại bỏ các gói phụ thuộc khi make không cần thiết..."
+    Czech      -> "Odstranění nepotřebných make závislostí..."
     _          -> "Removing unneeded make dependencies..."
 
 ----------------------------
@@ -960,6 +1080,9 @@
     Esperanto  -> s <> " statoj de pakaĵoj teniĝas. Ĉu forigi la ceteron?"
     Dutch      -> s <> " pakketstatussen worden behouden. De rest verwijderen?"
     Ukrainian  -> s <> " стан пакунків будуть залишені. Видалити решту?"
+    Romanian   -> "Stările pachetului " <> s <> " vor fi păstrate. Să se șteargă restul?"
+    Vietnamese -> "Trạng thái của gói " <> s <> " sẽ được lưu lại. Loại bỏ phần còn lại?"
+    Czech      -> s <> " stavy balíčků budou zachovány. Odstranit zbytek?"
     _          -> s <> " package states will be kept. Remove the rest?"
 
 -- NEEDS TRANSLATION
@@ -983,6 +1106,9 @@
     Esperanto  -> "Ne statojn de pakaĵoj forigis."
     Dutch      -> "Geen pakketstatussen verwijderd."
     Ukrainian  -> "Стани пакунків залишились недоторкані."
+    Romanian   -> "Nici o stare de pachet a fost ștearsă."
+    Vietnamese -> "Không có trạng thái gói nào được lưu."
+    Czech      -> "Nebyly odstraněny žádné stavy balíčku."
     _          -> "No package states were removed."
 
 cleanStates_4 :: Int -> Language -> Doc AnsiStyle
@@ -996,20 +1122,26 @@
   Esperanto -> "Vi havas " <+> pretty n <+> " konservajn statojn de pakaĵoj."
   Dutch     -> "U heeft momenteel" <+> pretty n <+> "opgeslagen pakketstatussen."
   Ukrainian -> "Зараз ви маєте " <+> pretty n <+> " збережених станів пакунків."
+  Romanian  -> "Momentan aveți " <+> pretty n <+> " stări de pachet salvate."
+  Vietnamese -> "Bạn hiện đã lưu " <+> pretty n <+> " trạng thái gói."
+  Czech     -> "V současné době máte " <+> pretty n <+> " uložených stavů balíčků."
   _         -> "You currently have " <+> pretty n <+> " saved package states."
 
 cleanStates_5 :: Text -> Language -> Doc AnsiStyle
 cleanStates_5 t = \case
-  Japanese  -> "一番最近に保存されたのは：" <+> pretty t
-  Arabic    -> pretty t <+> ":احدث ما تم حفظه"
-  Polish    -> "Ostatnio zapisane:" <+> pretty t
-  Spanish   -> "Guardado recientemente:" <+> pretty t
-  Russian   -> "Последнее сохраненное:" <+> pretty t
-  Italian   -> "Salvato più recentemente:" <+> pretty t
-  Esperanto -> "Lastaj konservaj:" <+> pretty t
-  Dutch     -> "Meest recent opgeslagen:" <+> pretty t
-  Ukrainian -> "Останні збереженні:" <+> pretty t
-  _         -> "Most recently saved:" <+> pretty t
+  Japanese   -> "一番最近に保存されたのは：" <+> pretty t
+  Arabic     -> pretty t <+> ":احدث ما تم حفظه"
+  Polish     -> "Ostatnio zapisane:" <+> pretty t
+  Spanish    -> "Guardado recientemente:" <+> pretty t
+  Russian    -> "Последнее сохраненное:" <+> pretty t
+  Italian    -> "Salvato più recentemente:" <+> pretty t
+  Esperanto  -> "Lastaj konservaj:" <+> pretty t
+  Dutch      -> "Meest recent opgeslagen:" <+> pretty t
+  Ukrainian  -> "Останні збереженні:" <+> pretty t
+  Romanian   -> "Cel mai recent salvat:" <+> pretty t
+  Vietnamese -> "Lần lưu gần nhất:" <+> pretty t
+  Czech      -> "Naposledy uložené:" <+> pretty t
+  _          -> "Most recently saved:" <+> pretty t
 
 cleanStates_6 :: Int -> Language -> Doc AnsiStyle
 cleanStates_6 n = \case
@@ -1019,6 +1151,9 @@
   Italian   -> pretty n <+> "di questi sono stati fissati, perciò non saranno rimossi."
   Dutch     -> pretty n <+> "hiervan zijn vastgezet, en worden niet verwijderd."
   Ukrainian -> pretty n <+> "були закріплені та залишуться недоторканими."
+  Romanian  -> pretty n <+> "dintre astea sunt fixate, și nu vor fi șterse."
+  Vietnamese -> pretty n <+> "trong số chúng đã được ghim, và sẽ không bị loại bỏ."
+  Czech     -> pretty n <+> "z nich jsou připnuté a nebudou odstraněny."
   _         -> pretty n <+> "of these are pinned, and won't be removed."
 
 readState_1 :: Language -> Doc AnsiStyle
@@ -1032,6 +1167,9 @@
     Esperanto  -> "Tiu statdosiero paneis sintake analizi. Ĉu ĝi estas valida JSON?"
     Dutch      -> "Dat statusbestand kon niet worden geparseerd. Is het legale JSON?"
     Ukrainian  -> "Стан не був розпізнаний правильно. Це точно коректний JSON?"
+    Romanian   -> "Acel fișier de stare nu se putea analiza. Este un fișier JSON valabil?"
+    Vietnamese -> "Thất bại trong việc lấy dữ liệu từ tệp. Đó có đúng là tệp JSON?"
+    Czech      -> "Tento stavový soubor se nepodařilo analyzovat. Je to legální JSON?"
     _          -> "That state file failed to parse. Is it legal JSON?"
 
 ----------------------------
@@ -1057,6 +1195,9 @@
     Esperanto  -> "Kiu versio de " <> p <> " vi volas?"
     Dutch      -> "Welke versie van " <> p <> " wil je?"
     Ukrainian  -> "Яку версію пакунку " <> p <> " ви бажаєте?"
+    Romanian   -> "Care versiune al pachetului " <> p <> " o doriți?"
+    Vietnamese -> "Bạn muốn sử dụng phiên bản nào của " <> p <> "?"
+    Czech      -> "Jakou verzi " <> p <> " chcete?"
     _          -> "What version of " <> p <> " do you want?"
 
 backupCache_3 :: Language -> Doc AnsiStyle
@@ -1079,6 +1220,9 @@
     Esperanto  -> "La savkopia loko ne ekzistas."
     Dutch      -> "De back-up lokatie bestaat niet."
     Ukrainian  -> "Шлях до резервної копії не існує."
+    Romanian   -> "Locul de reservă nu există."
+    Vietnamese -> "Đường dẫn sao lưu không tồn tại."
+    Czech      -> "Umístění zálohy neexistuje."
     _          -> "The backup location does not exist."
 
 backupCache_4 :: FilePath -> Language -> Doc AnsiStyle
@@ -1101,6 +1245,9 @@
     Esperanto  -> "Enarkivigas la kaŝdosieron al " <> dir
     Dutch      -> "Back-up van cache aan het maken naar " <> dir
     Ukrainian  -> "Зберігаємо резервну копію до " <> dir
+    Romanian   -> "Se copiază cache-ul de rezervă către " <> dir
+    Vietnamese -> "Sao lưu cache vào " <> dir
+    Czech      -> "Zálohování mezipaměti do " <> dir
     _          -> "Backing up cache to " <> dir
 
 backupCache_5 :: Int -> Language -> Doc AnsiStyle
@@ -1123,6 +1270,9 @@
     Esperanto  -> "La dosierojn de la pakaĵoj enarkivigi: " <> n
     Dutch      -> "Pakketbestanden om te back-uppen: " <> n
     Ukrainian  -> "Файли пакунку для резервної копії: " <> n
+    Romanian   -> "Fișiere de pachet pentru copiare de rezervă: " <> n
+    Vietnamese -> "Các tệp của gói sẽ được sao lưu: " <> n
+    Czech      -> "Soubory k zálohování: " <> n
     _          -> "Package files to backup: " <> n
 
 backupCache_6 :: Language -> Doc AnsiStyle
@@ -1145,6 +1295,9 @@
     Esperanto  -> "Ĉu daŭrigu enarkivigi?"
     Dutch      -> "Doorgaan met back-up?"
     Ukrainian  -> "Продовжити створення резервної копії?"
+    Romanian   -> "Continuați cu copiile de rezervă?"
+    Vietnamese -> "Tiến hành sao lưu?"
+    Czech      -> "Pokračovat v zálohování."
     _          -> "Proceed with backup?"
 
 backupCache_7 :: Language -> Doc AnsiStyle
@@ -1167,6 +1320,9 @@
     Esperanto  -> "Enarkivigadon ĉesigis permane."
     Dutch      -> "Back-up handmatig afgebroken."
     Ukrainian  -> "Створення резервної копії перервано користувачем."
+    Romanian   -> "Copiarea de rezervă anulată manual."
+    Vietnamese -> "Quá trình sao lưu được hủy."
+    Czech      -> "Zálohování ručně přerušeno."
     _          -> "Backup manually aborted."
 
 backupCache_8 :: Language -> Doc AnsiStyle
@@ -1189,6 +1345,9 @@
     Esperanto  -> "Enarkiviganta. Ĉi tiu eble daŭros dum kelkaj tagoj..."
     Dutch      -> "Aan het back-uppen. Dit kan een aantal minuten duren..."
     Ukrainian  -> "Створюємо резервну копію. Це може зайняти декілька хвилин..."
+    Romanian   -> "Se fac copii de rezervă. Ar putea să dureze câteva minute..."
+    Vietnamese -> "Đang sao lưu. Có thể sẽ mất vài phút..."
+    Czech      -> "Zálohování. Může to trvat několik minut..."
     _          -> "Backing up. This may take a few minutes..."
 
 copyAndNotify_1 :: Int -> Language -> Doc AnsiStyle
@@ -1212,6 +1371,9 @@
     Esperanto  -> "Kopianta #[" <> n <> "]"
     Dutch      -> "Kopiëren #[" <> n <> "]"
     Ukrainian  -> "Копіюємо #[" <> n <> "]"
+    Romanian   -> "Se copiază #[" <> n <> "]"
+    Vietnamese -> "Sao chép #[" <> n <> "]"
+    Czech      -> "Kopírování #[" <> n <> "]"
     _          -> "Copying #[" <> n <> "]"
 
 cleanCache_2 :: Language -> Doc AnsiStyle
@@ -1234,6 +1396,9 @@
     Esperanto  -> "Ĉi tiu forigos la TUTAN kaŝmemoron de pakaĵoj."
     Dutch      -> "Hiermee wordt de GEHELE pakketcache verwijderd."
     Ukrainian  -> "Ця операція ПОВНІСТЮ видалить кеш пакунків."
+    Romanian   -> "Asta va șterge COMPLET cache-ul de pachete."
+    Vietnamese -> "Điều này sẽ xóa TOÀN BỘ cache của gói."
+    Czech      -> "Tím smažete CELOU mezipaměť balíčku."
     _          -> "This will delete the ENTIRE package cache."
 
 cleanCache_3 :: Word -> Language -> Doc AnsiStyle
@@ -1256,6 +1421,9 @@
     Esperanto  -> s <> " de ĉiu dosiero de pakaĵo teniĝos."
     Dutch      -> s <> " van elk pakketbestand wordt bewaard."
     Ukrainian  -> s <> " версія кожного пакунку залишиться недоторканою."
+    Romanian   -> s <> " din fiecare fișier de pachet vor fi păstrate."
+    Vietnamese -> "Sẽ giữ lại " <> s <> " tệp của gói."
+    Czech      -> s <> " každého souboru balíčku bude zachován."
     _          -> s <> " of each package file will be kept."
 
 cleanCache_4 :: Language -> Doc AnsiStyle
@@ -1278,6 +1446,9 @@
     Esperanto  -> "La cetero foriĝos. Ĉu bone?"
     Dutch      -> "De rest wordt verwijderd. OK?"
     Ukrainian  -> "Все інше буде видалено. Гаразд?"
+    Romanian   -> "Restul va fi șters. De acord?"
+    Vietnamese -> "Xóa bỏ phần còn lại. Ok?"
+    Czech      -> "Zbytek bude smazán. Ok?"
     _          -> "The rest will be deleted. Okay?"
 
 cleanCache_5 :: Language -> Doc AnsiStyle
@@ -1300,6 +1471,9 @@
     Esperanto  -> "Puriganta Kaŝmemoro ĉesis permane."
     Dutch      -> "Cachereiniging handmatig afgebroken."
     Ukrainian  -> "Очищення кешу було перервано користувачем."
+    Romanian   -> "Curățenia cache-ului anulată manual."
+    Vietnamese -> "Đã hủy xóa cache."
+    Czech      -> "Čištění mezipaměti bylo ručně přerušeno"
     _          -> "Cache cleaning manually aborted."
 
 cleanCache_6 :: Language -> Doc AnsiStyle
@@ -1322,6 +1496,9 @@
     Esperanto  -> "Purigas Kaŝmemoron de pakaĵoj..."
     Dutch      -> "Pakketcache aan het reinigen..."
     Ukrainian  -> "Очищуємо кеш пакунків..."
+    Romanian   -> "Se curăță cache-ul de pachete..."
+    Vietnamese -> "Xóa cache..."
+    Czech      -> "Čištění mezipaměti balíčků"
     _          -> "Cleaning package cache..."
 
 cleanCache_7 :: Word -> Word -> Language -> Doc AnsiStyle
@@ -1330,19 +1507,27 @@
     Polish     -> "Pamięć podręczna posiada " <> ps <> " pakietów, zajmujących " <> bytes <> " megabajtów."
     Spanish    -> "La caché contiene " <> ps <> " paquetes, consumiendo " <> bytes <> " megabytes."
     Ukrainian  -> "Кеш містить " <> ps <> " пакунків, які використовують " <> bytes <> " МБ місця."
+    Romanian   -> "Cache-ul conține " <> ps <> " pachete, consumând " <> bytes <> " MB."
+    Vietnamese -> "Có " <> ps <> " gói trong cache, chiếm " <> bytes <> " megabytes."
     _          -> "The cache contains " <> ps <> " packages, consuming " <> bytes <> " megabytes."
 
 cleanCache_8 :: Word -> Language -> Doc AnsiStyle
 cleanCache_8 (bt . tshow -> bytes) = \case
-   Arabic    -> ".ميغابايت محررة " <> bytes
-   Polish    -> bytes <> " megabajtów zwolnionych."
-   Spanish   -> bytes <> " megabytes liberados."
-   Ukrainian -> bytes <> " МБ звільнилось."
-   _         -> bytes <> " megabytes freed."
+    Arabic     -> ".ميغابايت محررة " <> bytes
+    Polish     -> bytes <> " megabajtów zwolnionych."
+    Spanish    -> bytes <> " megabytes liberados."
+    Ukrainian  -> bytes <> " МБ звільнилось."
+    Romanian   -> bytes <> " MB eliberat."
+    Vietnamese -> "Giải phóng " <> bytes <> "megabytes."
+    Czech      -> "Uvolněno " <> bytes <> " MB."
+    _          -> bytes <> " megabytes freed."
 
 cleanCache_9 :: Word -> Language -> Doc AnsiStyle
 cleanCache_9 (bt . tshow -> w) = \case
-  _ -> w <> " versions of each installed package will be kept."
+    Romanian   -> w <> " versiuni din fiecare pachet instalat vor fi păstrate."
+    Vietnamese -> "Sẽ giữ lại " <> w <> " phiên bản của các gói đã cài đặt."
+    Czech      -> w <> " verze každého nainstalovaného balíčku budou zachovány."
+    _          -> w <> " versions of each installed package will be kept."
 
 -- NEEDS TRANSLATION
 cleanNotSaved_1 :: Language -> Doc AnsiStyle
@@ -1364,6 +1549,9 @@
     Esperanto  -> "Decidas nebezonajn dosierojn de pakaĵoj..."
     Dutch      -> "Overbodige pakketbestanden aan het vaststellen..."
     Ukrainian  -> "Визначачення непотрібних пакунків..."
+    Romanian   -> "Se determin fișiere de pachet inutile..."
+    Vietnamese -> "Xác định các tệp của gói không cần thiết..."
+    Czech      -> "Zjišťování nepotřebných souborů balíčků..."
     _          -> "Determining unneeded package files..."
 
 -- NEEDS TRANSLATION
@@ -1386,6 +1574,9 @@
     Esperanto  -> s <> " nebezonajn dosierojn de pakaĵoj trovis. Ĉu forigi"
     Dutch      -> s <> " overbodige pakketbestanden gevonden. Verwijderen?"
     Ukrainian  -> "Знайдено " <> s <> " непотрібних пакунків. Видалити?"
+    Romanian   -> "S-au găsit " <> s <> " fișiere de pachet inutile. Ștergeți?"
+    Vietnamese -> "Tìm thấy " <> s <> " gói không cần thiết. Xóa bỏ?"
+    Czech      -> "Nepotřebné soubory balíčků: " <> s <> ". Vymazat?"
     _          -> s <> " unneeded package files found. Delete?"
 
 ----------------------------
@@ -1417,6 +1608,9 @@
     Esperanto  -> "Ĉi tiuj ne enestis la protokolajn dosierojn:"
     Dutch      -> "Deze zijn niet verschenen in het logbestand:"
     Ukrainian  -> "Наступних пакунків немає в лог файлі:"
+    Romanian   -> "Acestea nu au apărut în log:"
+    Vietnamese -> "Nội dung sau không có trong tệp log:"
+    Czech      -> "Tyto se neobjevily v souboru log:"
     _          -> "These have not appeared in the log file:"
 
 -------------------------------
@@ -1425,7 +1619,10 @@
 
 packageNotFound_1 :: Language -> Doc AnsiStyle
 packageNotFound_1 = \case
-  _ -> "No packages found."
+  Romanian   -> "Nu s-a găsit nici un pachet."
+  Vietnamese -> "Không tím thấy gói."
+  Czech      -> "Nebyly nalezeny žádné balíčky."
+  _          -> "No packages found."
 
 -- https://github.com/fosskers/aura/issues/498
 connectFailure_1 :: Language -> Doc AnsiStyle
@@ -1436,29 +1633,41 @@
   Italian   -> "Non è stato possibile contattare l'AUR. Il computer è connesso ad internet?"
   Dutch     -> "Contact opnemen met de AUR mislukt. Heeft U een internet connectie?"
   Ukrainian -> "Не вдалося зв'язатись з AUR. У вас є підключення до інтернету?"
+  Romanian  -> "Nu s-a putut contacta AUR. Sunteți conectat pe Internet?"
+  Vietnamese -> "Mất kết nối tới AUR. Bạn có kết nối mạng không?"
+  Czech     -> "Nepodařilo se kontaktovat AUR server. Máte připojení k internetu?"
   _         -> "Failed to contact the AUR. Do you have an internet connection?"
 
 dependencyLookup_1 :: Text -> Language -> Doc AnsiStyle
 dependencyLookup_1 t = \case
-  _ -> vsep ["There was an issue during recursive dependency lookup:", pretty t]
+  Romanian  -> vsep ["A fost o problemă cu analiza recursivă de dependențe:", pretty t]
+  Vietnamese -> vsep ["Có lỗi trong quá trình tìm kiếm gói phụ thuộc đệ quy:", pretty t]
+  Czech     -> vsep ["Při rekurzivním vyhledávání závislostí došlo k problému:", pretty t]
+  _         -> vsep ["There was an issue during recursive dependency lookup:", pretty t]
 
 miscAURFailure_1 :: Language -> Doc AnsiStyle
 miscAURFailure_1 = \case
-  Polish    -> "Wystąpił nieznany błąd podczas próby łączenia z AUR."
-  Arabic    -> ".بطريقة غير معروفة AURفشل الاتصال بـ"
-  Spanish   -> "El contacto con el AUR falló de alguna manera desconocida."
-  Italian   -> "C'è stato un errore sconosciuto nel contattare l'AUR."
-  Dutch     -> "Contact opnemen met de AUR is op een onbekende manier mislukt."
-  Ukrainian -> "Зв'язок з AUR було обірвано невідомим чином."
-  _         -> "Contacting the AUR failed in some unknown way."
+  Polish     -> "Wystąpił nieznany błąd podczas próby łączenia z AUR."
+  Arabic     -> ".بطريقة غير معروفة AURفشل الاتصال بـ"
+  Spanish    -> "El contacto con el AUR falló de alguna manera desconocida."
+  Italian    -> "C'è stato un errore sconosciuto nel contattare l'AUR."
+  Dutch      -> "Contact opnemen met de AUR is op een onbekende manier mislukt."
+  Ukrainian  -> "Зв'язок з AUR було обірвано невідомим чином."
+  Romanian   -> "Nu s-a putut contacta AUR dintr-un motiv necunoscut."
+  Vietnamese -> "Bất ngờ không thể kết nối tới AUR."
+  Czech      -> "Kontaktování AUR se nezdařilo neznámým způsobem."
+  _          -> "Contacting the AUR failed in some unknown way."
 
 miscAURFailure_3 :: Language -> Doc AnsiStyle
 miscAURFailure_3 = \case
-  Polish    -> "Plik JSON zwrócony z AUR nie mógł zostać rozszyfrowany."
-  Arabic    -> ".AURالذي تم ارجاعه من اﻟ JSONفشل فك شفرة اﻟ"
-  Spanish   -> "El JSON devuelto por el servidor AUR no se pudo decodificar."
-  Ukrainian -> "JSON, який повернувся з сервера AUR, неможливо розшифрувати."
-  _         -> "The JSON returned from the AUR server could not be decoded."
+  Polish     -> "Plik JSON zwrócony z AUR nie mógł zostać rozszyfrowany."
+  Arabic     -> ".AURالذي تم ارجاعه من اﻟ JSONفشل فك شفرة اﻟ"
+  Spanish    -> "El JSON devuelto por el servidor AUR no se pudo decodificar."
+  Ukrainian  -> "JSON, який повернувся з сервера AUR, неможливо розшифрувати."
+  Romanian   -> "JSON-ul întors de server-ul AUR nu putea fi decodat."
+  Vietnamese -> "Không thể giải mã tệp JSON lấy từ máy chủ AUR."
+  Czech      -> "JSON vrácený ze serveru AUR nelze dekódovat."
+  _          -> "The JSON returned from the AUR server could not be decoded."
 
 infoFields :: Language -> [Text]
 infoFields = sequence [ Fields.repository
@@ -1496,7 +1705,11 @@
     Esperanto  -> "Neĝisdata!"
     Dutch      -> "Verouderd!"
     Ukrainian  -> "Застарів!"
+    Romanian   -> "Neactualizat!"
+    Vietnamese -> "Đã cũ!"
+    Czech      -> "Zastaralý!"
     _          -> "Out of Date!"
+
 outOfDateMsg Nothing = green . \case
     Japanese   -> "最新"
     Arabic     -> "حتى الوقت الرهن"
@@ -1516,6 +1729,9 @@
     Esperanto  -> "Ĝisdata"
     Dutch      -> "Up-to-date"
     Ukrainian  -> "Найновіший"
+    Romanian   -> "Actializat"
+    Vietnamese -> "Mới nhất"
+    Czech      -> "Aktuální"
     _          -> "Up to Date"
 
 -- NEEDS TRANSLATION
@@ -1539,6 +1755,9 @@
     Esperanto  -> "Orfita!"
     Dutch      -> "Verweest!"
     Ukrainian  -> "Осиротів!"
+    Romanian   -> "Orfan!"
+    Vietnamese -> "Gói lẻ!"
+    Czech      -> "Opuštěno!"
     _          -> "Orphaned!"
 
 -----------------------
@@ -1565,6 +1784,9 @@
     Esperanto  -> "Konservita stato de pakaĵo."
     Dutch      -> "Pakketstatus opgeslagen."
     Ukrainian  -> "Стан пакунків збережено."
+    Romanian   -> "Stare de pachete salvată."
+    Vietnamese -> "Đã lưu trạng thái gói."
+    Czech      -> "Stav balíčku byl uložen."
     _          -> "Saved package state."
 
 -- NEEDS TRANSLATION
@@ -1588,6 +1810,9 @@
     Esperanto  -> "Petitajn malpromociajn versiojn ne estas disponebla de:"
     Dutch      -> "Verzochtte downgrade versies niet beschikbaar voor:"
     Ukrainian  -> "Запитані версії для відкату не доступні для:"
+    Romanian   -> "Versiunea solicitată pentru retrogradare nu este disponibilă pentru:"
+    Vietnamese -> "Không thể hạ cấp cho:"
+    Czech      -> "Požadované nižší verze nejsou k dispozici pro:"
     _          -> "Requested downgrade versions not available for:"
 
 restoreState_2 :: Language -> Doc AnsiStyle
@@ -1604,6 +1829,9 @@
     Esperanto  -> "Ne konservitaj statoj restaŭros. (Uzu -B konservi la aktualan staton)"
     Dutch      -> "Er zijn geen opgeslagen statussen om te herstellen. (Gebruik -B om de huidige staat op te slaan)"
     Ukrainian  -> "Немає збережених станів для відновлення. (Викоривуйте -B для збереження теперішнього стану)"
+    Romanian   -> "Nu există vreo stare de recuperat. (Folosiți -B pentru a salva starea actuală)"
+    Vietnamese -> "Không có trạng thái nào có thể lưu. (Dùng -B để lưu trạng thái hiện tại)"
+    Czech      -> "Žádné uložené stavy k obnovení. (Pro uložení aktuálního stavu použijte -B)"
     _          -> "No saved states to be restored. (Use -B to save the current state)"
 
 -- NEEDS TRANSLATION
@@ -1627,6 +1855,9 @@
     Esperanto  -> "Ne pakaĵoj devas ŝanĝiĝi."
     Dutch      -> "Er zijn geen pakketten die wijzigingen nodig hebben."
     Ukrainian  -> "Пакунки не потребують оновлення."
+    Romanian   -> "Nu trebuie schimbat nici un pachet."
+    Vietnamese -> "Không có gói nào cần thay đổi."
+    Czech      -> "Žádné balíčky není třeba měnit."
     _          -> "No packages need changing."
 
 --------------------------------------
@@ -1643,6 +1874,9 @@
     Esperanto  -> "Ne povas decidi, per kiu konto de uzanto munti."
     Dutch      -> "Kan niet bepalen met welk gebruikers account te bouwen."
     Ukrainian  -> "Не вдається визначити користувача, від імені якого буде проводитись збірка."
+    Romanian   -> "Nu se poate determina cu care cont de utilizator să se compileze."
+    Vietnamese -> "Không thể xác định tài khoản người dùng nào để build."
+    Czech      -> "Nelze určit, se kterým uživatelským účtem se má provezt build."
     _          -> "Can't determine which user account to build with."
 
 ------------------------
@@ -1659,6 +1893,9 @@
     Esperanto  -> "Ne kapablas sintaske analizi vian dosieron, pacman.conf."
     Dutch      -> "Niet in staat om uw pacman.conf bestand te parseren."
     Ukrainian  -> "Не вдалось зрозуміти вміст файлу pacman.conf."
+    Romanian   -> "Nu se poate analiza fișierul pacman.conf."
+    Vietnamese -> "Không thể lấy dữ liệu từ tệp pacman.conf của bạn."
+    Czech      -> "Nelze analyzovat soubor pacman.conf."
     _          -> "Unable to parse your pacman.conf file."
 
 provides_1 :: PkgName -> Language -> Doc AnsiStyle
@@ -1669,6 +1906,9 @@
     Italian    -> pro <+> "è richiesto come dipendenza; si trova in molteplici pacchetti. Selezionarne uno:"
     Dutch      -> pro <+> "is vereist als afhankelijkheid, die wordt geleverd door meerdere pakketten. Selecteer er alstublieft een:"
     Ukrainian  -> pro <+> "потрібен як залежність, яка надається декількома пакунками. Оберіть один з них:"
+    Romanian   -> pro <+> "este necesar ca dependență, care e provizionat de mai multe pachete. Selectați unul dintre ele:"
+    Vietnamese -> pro <+> "là gói phụ thuộc, được cung cấp từ nhiều gói khác. Hãy chọn một:"
+    Czech      -> pro <+> "je vyžadována jako závislost, kterou poskytuje několik balíčků. Prosím vyberte jeden:"
     _          -> pro <+> "is required as a dependency, which is provided by multiple packages. Please select one:"
 
 ----------------------------------
@@ -1694,23 +1934,32 @@
     Esperanto  -> "Ĉu vi volas redakti la PKGBUILD de " <> p <> "?"
     Dutch      -> "Wilt u het PKGBUILD-bestand van " <> p <> " bewerken?"
     Ukrainian  -> "Бажаєте відредагувати PKGBUILD для пакунку " <> p <> "?"
+    Romanian   -> "Doriți să modificați PKGBUILD-ul pachetului " <> p <> "?"
+    Vietnamese -> "Bạn có muốn chỉnh sửa PKGBUILD của " <> p <> "?"
+    Czech      -> "Chcete upravit PKGBUILD z " <> p <> "?"
     _          -> "Would you like to edit the PKGBUILD of " <> p <> "?"
 
 hotEdit_2 :: Language -> Doc AnsiStyle
 hotEdit_2 = \case
-  Polish    -> "Czy chcesz edytować plik .install?"
-  Arabic    -> "؟.installهل تريد تعديل ملف اﻟ"
-  Spanish   -> "¿Desea editar el archivo .install?"
-  Ukrainian -> "Бажаєте відредагувати файл .intall?"
-  _         -> "Would you like to edit the .install file?"
+  Polish     -> "Czy chcesz edytować plik .install?"
+  Arabic     -> "؟.installهل تريد تعديل ملف اﻟ"
+  Spanish    -> "¿Desea editar el archivo .install?"
+  Ukrainian  -> "Бажаєте відредагувати файл .intall?"
+  Romanian   -> "Doriți să modificați fișierul .install?"
+  Vietnamese -> "Bạn có muốn chỉnh sửa tệp .install?"
+  Czech      -> "Chcete upravit soubor .install?"
+  _          -> "Would you like to edit the .install file?"
 
 hotEdit_3 :: FilePath -> Language -> Doc AnsiStyle
 hotEdit_3 fp = \case
-  Polish    -> "Czy chcesz edytować " <> pretty fp <> "?"
-  Arabic    -> "؟" <> pretty fp <> " هل تريد التعديل"
-  Spanish   -> "¿Desea editar " <> pretty fp <> "?"
-  Ukrainian -> "Бажаєте відредагувати " <> pretty fp <> "?"
-  _         -> "Would you like to edit " <> pretty fp <> "?"
+  Polish     -> "Czy chcesz edytować " <> pretty fp <> "?"
+  Arabic     -> "؟" <> pretty fp <> " هل تريد التعديل"
+  Spanish    -> "¿Desea editar " <> pretty fp <> "?"
+  Ukrainian  -> "Бажаєте відредагувати " <> pretty fp <> "?"
+  Romanian   -> "Doriți să modificați " <> pretty fp <> "?"
+  Vietnamese -> "Bạn có muốn chỉnh sửa " <> pretty fp <> "?"
+  Czech      -> "Chcete upravit " <> pretty fp <> "?"
+  _          -> "Would you like to edit " <> pretty fp <> "?"
 
 ------------------------------
 -- Pkgbuild Security functions
@@ -1723,7 +1972,10 @@
   Italian   -> "Il PKGBUILD di" <+> bt p <+> "è troppo complesso per essere analizzato - è possibile che stia offuscando codice malevolo."
   Dutch     -> "Het PKGBUILD-bestand van" <+> bt p <+> " was te complex om te parseren - het kan schadelijke code versluieren."
   Ukrainian -> "PKGBUILD пакунку" <+> bt p <+> "був надто складним для аналізу - він може містити замаскований шкідливий код."
-  _ -> "The PKGBUILD of" <+> bt p <+> "was too complex to parse - it may be obfuscating malicious code."
+  Romanian  -> "PKGBUILD-ul pachetului" <+> bt p <+> "este prea complicat de analizat - ar putea sa acopere cod rău intenționat."
+  Vietnamese -> "PKGBUILD của" <+> bt p <+> "quá khó để đọc - nó có thể chứa đoạn mã nguy hiểm."
+  Czech     -> "PKGBUILD z" <+> bt p <+> "byl příliš složitý na analýzu - může obsahovat matoucí škodlivý kód."
+  _         -> "The PKGBUILD of" <+> bt p <+> "was too complex to parse - it may be obfuscating malicious code."
 
 security_2 :: Text -> Language -> Doc AnsiStyle
 security_2 (bt -> t) = \case
@@ -1733,7 +1985,10 @@
   Italian   -> t <+> "può essere usato per scaricare script arbitrari non tracciati da questo PKGBUILD."
   Dutch     -> t <+> "kan gebruikt worden om willekeurige scripten te downloaden die niet worden bijgehouden door dit PKGBUILD-bestand."
   Ukrainian -> t <+> "може завантажувати довільні скріпти, які не відстежуються цим PKGBUILD."
-  _ -> t <+> "can be used to download arbitrary scripts that aren't tracked by this PKGBUILD."
+  Romanian  -> t <+> "se poate folosi pentru a descărca scripturi neurmărite de acest PKGBUILD."
+  Vietnamese -> t <+> "có thể dùng để tải xuống các tập lệnh sẽ không được kiểm soát bởi PKGBUILD."
+  Czech     -> t <+> "lze použít ke stažení libovolných skriptů, které tento PKGBUILD nesleduje."
+  _         -> t <+> "can be used to download arbitrary scripts that aren't tracked by this PKGBUILD."
 
 security_3 :: Text -> Language -> Doc AnsiStyle
 security_3 (bt -> t) = \case
@@ -1743,7 +1998,10 @@
   Italian   -> t <+> "può essere usato per eseguire codice arbitrario non tracciato da questo PKGBUILD."
   Dutch     -> t <+> "kan gebruikt worden om willekeurige code uit te voeren die niet worden bijgehouden door dit PKGBUILD-bestand."
   Ukrainian -> t <+> "може виконувати довільний код, який не відстежуються цим PKGBUILD."
-  _ -> t <+> "can be used to execute arbitrary code not tracked by this PKGBUILD."
+  Romanian  -> t <+> "se poate folosi pentru a executa cod arbitrar neurmărit de acest PKGBUILD."
+  Vietnamese -> t <+> "có thể dùng để chạy các đoạn mã không được kiểm soát bởi PKGBUILD. "
+  Czech     -> t <+> "lze použít ke spuštění libovolného kódu, který tento PKGBUILD nesleduje."
+  _         -> t <+> "can be used to execute arbitrary code not tracked by this PKGBUILD."
 
 security_4 :: Text -> Language -> Doc AnsiStyle
 security_4 (bt -> t) = \case
@@ -1753,7 +2011,10 @@
   Italian   -> t <+> "indica che forse qualcuno sta cercando di ottenere accesso alla tua macchina come root."
   Dutch     -> t <+> "geeft aan dat iemand mogelijk root-toegang to uw machine probeert te krijgen."
   Ukrainian -> t <+> "вказує на те, що хтось може спробувати отримати доступ root до вашої машини."
-  _ -> t <+> "indicates that someone may be trying to gain root access to your machine."
+  Romanian  -> t <+> "indică că cineva are putea încerca să obțină acces root asupra mașinăria dumneavoastră."
+  Vietnamese -> t <+> "được xác định là có người đang có giành quyền truy cập vào root trên thiết bị của bạn."
+  Czech     -> t <+> "znamená, že se někdo možná pokouší získat přístup root k vašemu počítači."
+  _         -> t <+> "indicates that someone may be trying to gain root access to your machine."
 
 security_5 :: PkgName -> Language -> Doc AnsiStyle
 security_5 (PkgName p) = \case
@@ -1763,17 +2024,23 @@
   Italian   -> "ATTENZIONE: Il PKGBUILD di" <+> bt p <+> "contiene espressioni bash presenti nella lista nera."
   Dutch     -> "WAARSCHUWING: De PKGBUILD van" <+> bt p <+> "bevat bash uitdrukkingen die op de zwarte lijst staan."
   Ukrainian -> "УВАГА! PKGBUILD пакунку" <+> bt p <+> "містить вирази bash, які занесені в чорний список."
-  _ -> "WARNING: The PKGBUILD of" <+> bt p <+> "contains blacklisted bash expressions."
+  Romanian  -> "ATENȚIE! PKGBUILD-ul pachetului" <+> bt p <+> "conține expresii de bash pe lista neagră."
+  Vietnamese -> "CẢNH BÁO: PKGBUILD của" <+> bt p <+> "chứa những câu lệnh bash nguy hiểm."
+  Czech     -> "VAROVÁNÍ: PKGBUILD z" <+> bt p <+> "obsahuje zakazany bash výrazy"
+  _         -> "WARNING: The PKGBUILD of" <+> bt p <+> "contains blacklisted bash expressions."
 
 security_6 :: Language -> Doc AnsiStyle
 security_6 = \case
-  Polish    -> "Czy chcesz zakończyć proces budowania?"
-  Arabic    -> "هل تريد اقاف البناء؟"
-  Spanish   -> "¿Desea salir del proceso de compilación?"
-  Italian   -> "Terminare la compilazione?"
-  Dutch     -> "Wilt u het bouw process stoppen?"
-  Ukrainian -> "Бажаєте скасувати процес збірки?"
-  _         -> "Do you wish to quit the build process?"
+  Polish     -> "Czy chcesz zakończyć proces budowania?"
+  Arabic     -> "هل تريد اقاف البناء؟"
+  Spanish    -> "¿Desea salir del proceso de compilación?"
+  Italian    -> "Terminare la compilazione?"
+  Dutch      -> "Wilt u het bouw process stoppen?"
+  Ukrainian  -> "Бажаєте скасувати процес збірки?"
+  Romanian   -> "Doriți anula procesul de compilare?"
+  Vietnamese -> "Bạn có muốn dừng quá trình build?"
+  Czech      -> "Přejete si ukončit build?"
+  _          -> "Do you wish to quit the build process?"
 
 security_7 :: Language -> Doc AnsiStyle
 security_7 = \case
@@ -1783,7 +2050,10 @@
   Italian   -> "Non saranno eseguite altre operazioni al fine di evitare l'esecuzione di codice bash potenzialmente malevolo."
   Dutch     -> "Verdere verwerking geannuleerd om het uitvoeren van potentieel schadelijke bash-code te voorkomen."
   Ukrainian -> "Подальша установка скасована, щоб уникнути потенційно шкідливого коду bash."
-  _ -> "Cancelled further processing to avoid potentially malicious bash code."
+  Romanian  -> "S-a cancelat procesarea ulterioară pentru a evita cod de bash potențial rău intenționat."
+  Vietnamese -> "Hãy dừng những quá trình tiếp theo để ngắn đoạn mã bash nguy hiểm."
+  Czech     -> "Další proces byl zrušen, aby se zabránilo potenciálně škodlivému bash kódu."
+  _         -> "Cancelled further processing to avoid potentially malicious bash code."
 
 security_8 :: Text -> Language -> Doc AnsiStyle
 security_8 (bt -> t) = \case
@@ -1793,7 +2063,10 @@
   Italian   -> t <+> "è un comando bash presente all'interno degli array del tuo PKGBUILD."
   Dutch     -> t <+> "is een bash-opdracht die is opgenomen in uw PKGBUILD-arrayvelden."
   Ukrainian -> t <+> "- це команда bash, що вбудована в ваші поля масиву PKGBUILD"
-  _ -> t <+> "is a bash command inlined in your PKGBUILD array fields."
+  Romanian  -> t <+> "este o comandă bash integrată în matricele din PKGBUILD."
+  Vietnamese -> t <+> "là lệnh bash được lồng trong mảng của PKGBUILD."
+  Czech     -> t <+> "je bash příkaz vložený do polí pole PKGBUILD."
+  _         -> t <+> "is a bash command inlined in your PKGBUILD array fields."
 
 security_9 :: Text -> Language -> Doc AnsiStyle
 security_9 (bt -> t) = \case
@@ -1803,7 +2076,10 @@
   Italian   -> t <+> "è una cosa strana da trovare all'interno degli array. E' sicura?"
   Dutch     -> t <+> "is een vreemd ding om in uw arrayvelden te hebben. Is het veilig?"
   Ukrainian -> t <+> "- дивна річ в полях масиву. Це безпечно?"
-  _ -> t <+> "is a strange thing to have in your array fields. Is it safe?"
+  Romanian  -> t <+> "e ciudat să se afle în matricele dumneavoastră. Asta este sigur?"
+  Vietnamese -> t <+> "là đoạn mã lạ trong mảng. Nó có an toàn không?"
+  Czech     -> t <+> "je zvláštní věc mít v polích. Je to bezpečné?"
+  _         -> t <+> "is a strange thing to have in your array fields. Is it safe?"
 
 security_10 :: Text -> Language -> Doc AnsiStyle
 security_10 (bt -> t) = \case
@@ -1813,7 +2089,10 @@
   Italian   -> t <+> "implica che qualcuno stava trafficando con le variabili per nascondere comandi malevoli."
   Dutch     -> t <+> "impliceert dat iemand slim probeerde om te gaan met variabelen om schadelijke opdrachten te verbergen."
   Ukrainian -> t <+> "означає, що хтось намагається обдурити змінними, щоб сховати небеспечні команди."
-  _ -> t <+> "implies that someone was trying to be clever with variables to hide malicious commands."
+  Romanian  -> t <+> "implică că cineva încearcă să fie șmecher cu variabile pentru a ascunde comenzi rele intenționate."
+  Vietnamese -> t <+> "được xác định là có ai đó đang cố ẩn những câu lệnh nguy hiểm trong các biến."
+  Czech     -> t <+> "naznačuje že se někdo snažil být chytrý s proměnnými, aby skryl škodlivé příkazy."
+  _         -> t <+> "implies that someone was trying to be clever with variables to hide malicious commands."
 
 security_11 :: Language -> Doc AnsiStyle
 security_11 = \case
@@ -1821,15 +2100,21 @@
   Arabic    -> ".كان معقدا جدا للتحليل - يمكن ان يخفي برنامج ضار PKGBUILDذلك اﻟ"
   Spanish   -> "Éste PKGBUILD es demasiado complejo para analizar, puede estar ofuscando código malicioso."
   Ukrainian -> "Цей PKGBUILD був надто складним для аналізу - він може містити шкідливий код."
+  Romanian  -> "Acel PKGBUILD este prea complicat de analizat - are putea ascunde cod rău intenționat."
+  Vietnamese -> "Không thể đọc PKGBUILD - nó có thể chứa đoạn mã nguy hiểm."
+  Czech     -> "Tento PKGBUILD je příliš složitý na to, aby jej bylo možné analyzovat/rezebrat – může obsahovat matoucí škodlivý kód."
   _         -> "That PKGBUILD is too complex to parse - it may be obfuscating malicious code."
 
 security_12 :: Language -> Doc AnsiStyle
 security_12 = \case
-  Polish    -> "Potencjalne luki w bezpieczeństwie wykryte w PKGBUILD"
-  Arabic    -> ".PKGBUILDاحتمال وجود ثغرات امنية في اﻟ"
-  Spanish   -> "Posibles vulnerabilidades de PKGBUILD detectadas."
-  Ukrainian -> "Потенційні вразливості знайдено в PKGBUILD."
-  _         -> "Potential PKGBUILD vulnerabilities detected."
+  Polish     -> "Potencjalne luki w bezpieczeństwie wykryte w PKGBUILD"
+  Arabic     -> ".PKGBUILDاحتمال وجود ثغرات امنية في اﻟ"
+  Spanish    -> "Posibles vulnerabilidades de PKGBUILD detectadas."
+  Ukrainian  -> "Потенційні вразливості знайдено в PKGBUILD."
+  Romanian   -> "Vulnerabilități potențiale detectate în PKGBUILD."
+  Vietnamese -> "Phát hiện lỗ hổng trong PKGBUILD."
+  Czech      -> "Byla zjištěna potenciální bezpečnostní chyba v PKGBUILD."
+  _          -> "Potential PKGBUILD vulnerabilities detected."
 
 security_13 :: Word -> Language -> Doc AnsiStyle
 security_13 (bt -> w) = \case
@@ -1837,15 +2122,21 @@
   Arabic    -> "...بحثا عن نقاط ضعف" <+> w <+> "تبع PKGBUILDتحقق اﻟ"
   Spanish   -> "Comprobando" <+> w <+> "PKGBUILDs por vulnerabilidades..."
   Ukrainian -> "Перевіряємо" <+> w <+> "PKGBUILD-ів на вразливості..."
+  Romanian  -> "Se verifică PKGBUILD-uri" <+> w <+> "pentru vulnerabilități..."
+  Vietnamese -> "Tìm kiếm" <+> w <+> "lỗ hổng trong PKGBUILD..."
+  Czech     -> "Kontrola bezpečnostních chyb v" <+> w <+> "PKGBUILD"
   _         -> "Checking" <+> w <+> "PKGBUILDs for vulnerabilities..."
 
 security_14 :: Language -> Doc AnsiStyle
 security_14 = \case
-  Polish    -> "Nie wykryto żadnych luk w bezpieczeństwie."
-  Arabic    -> ".لا تم العثور على نقاط ضعف"
-  Spanish   -> "No se detectaron vulnerabilidades."
-  Ukrainian -> "Ніяких вразливостей не було знайдено."
-  _         -> "No vulnerabilities detected."
+  Polish     -> "Nie wykryto żadnych luk w bezpieczeństwie."
+  Arabic     -> ".لا تم العثور على نقاط ضعف"
+  Spanish    -> "No se detectaron vulnerabilidades."
+  Ukrainian  -> "Ніяких вразливостей не було знайдено."
+  Romanian   -> "Nu s-a găsit nici o vulnerabilitate."
+  Vietnamese -> "Không tìm thấy lỗ hổng."
+  Czech      -> "Nebyly nalezeny žádné bezpečnostní chyby."
+  _          -> "No vulnerabilities detected."
 
 -----------------------
 -- Aura/Utils functions
@@ -1866,6 +2157,8 @@
     Esperanto  -> "[J/n]"
     Dutch      -> "[J/n]"
     Ukrainian  -> "[Т/н]"
+    Romanian   -> "[D/n]"
+    Czech      -> "[A,n]"
     _          -> "[Y/n]"
 
 yesPattern :: Language -> [T.Text]
@@ -1884,6 +2177,8 @@
     Esperanto  -> ["j", "jes"]
     Dutch      -> ["j", "ja"]
     Ukrainian  -> ["т", "так"]
+    Romanian   -> ["d", "da"]
+    Czech      -> ["a", "ano"]
     _          -> ["y", "yes"]
 
 ----------------------
diff --git a/lib/Aura/Languages/Fields.hs b/lib/Aura/Languages/Fields.hs
--- a/lib/Aura/Languages/Fields.hs
+++ b/lib/Aura/Languages/Fields.hs
@@ -4,7 +4,7 @@
 
 -- |
 -- Module    : Aura.Languages.Fields
--- Copyright : (c) Colin Woodbury, 2012 - 2020
+-- Copyright : (c) Colin Woodbury, 2012 - 2021
 -- License   : GPL3
 -- Maintainer: Colin Woodbury <colin@fosskers.ca>
 --
@@ -35,6 +35,9 @@
     Indonesia  -> "Paket"
     Esperanto  -> "Pakaĵo"
     Dutch      -> "Pakket"
+    Romanian   -> "Pachet"
+    Vietnamese -> "Gói"
+    Czech      -> "Balíček"
     _          -> "Package"
 
 firstInstall :: Language -> Text
@@ -55,6 +58,9 @@
     Indonesia  -> "Versi sistem"
     Esperanto  -> "Unua Instalo"
     Dutch      -> "Eerste installatie"
+    Romanian   -> "Prima instalare"
+    Vietnamese -> "Cài đặt lần đầu"
+    Czech      -> "První instalace"
     _          -> "First Install"
 
 upgrades :: Language -> Text
@@ -75,6 +81,9 @@
     Indonesia  -> "Tingkatkan"
     Esperanto  -> "Noveldonoj"
     Dutch      -> "Upgrades"
+    Romanian   -> "Actualizări"
+    Vietnamese -> "Cập nhật"
+    Czech      -> "Aktualizace"
     _          -> "Upgrades"
 
 recentActions :: Language -> Text
@@ -95,6 +104,9 @@
     Indonesia  -> "Aksi sekarang"
     Esperanto  -> "Ĵusaj Agoj"
     Dutch      -> "Recente Acties"
+    Romanian   -> "Acțiuni Recente"
+    Vietnamese -> "Hoạt động gần nhất"
+    Czech      -> "Nedávné akce"
     _          -> "Recent Actions"
 
 repository :: Language -> Text
@@ -115,6 +127,8 @@
     Indonesia  -> "Lumbung"
     Esperanto  -> "Deponejo"
     Dutch      -> "Repository"
+    Romanian   -> "Repertoriu"
+    Czech      -> "Úložiště"
     _          -> "Repository"
 
 name :: Language -> Text
@@ -135,6 +149,9 @@
     Indonesia  -> "Nama"
     Esperanto  -> "Nomo"
     Dutch      -> "Naam"
+    Romanian   -> "Nume"
+    Vietnamese -> "Tên"
+    Czech      -> "Název"
     _          -> "Name"
 
 version :: Language -> Text
@@ -155,6 +172,9 @@
     Indonesia  -> "Versi"
     Esperanto  -> "Versio"
     Dutch      -> "Versie"
+    Romanian   -> "Versiune"
+    Vietnamese -> "Phiên bản"
+    Czech      -> "Verze"
     _          -> "Version"
 
 aurStatus :: Language -> Text
@@ -170,9 +190,13 @@
     Russian    -> "Статус в AUR"
     Italian    -> "Stato nell'AUR"
     Serbian    -> "Статус у AUR-у"
+    Norwegian  -> "AUR Status"
     Indonesia  -> "Status AUR"
     Esperanto  -> "Stato en AUR"
     Dutch      -> "AUR Status"
+    Romanian   -> "Stare AUR"
+    Vietnamese -> "Trạng thái AUR"
+    Czech      -> "Stav AUR"
     _          -> "AUR Status"
 
 -- NEEDS TRANSLATION
@@ -189,6 +213,8 @@
     Indonesia  -> "Pemelihara"
     Esperanto  -> "Daŭriganto"
     Dutch      -> "Onderhouder"
+    Romanian   -> "Întreținător"
+    Czech      -> "Udržovatel"
     _          -> "Maintainer"
 
 projectUrl :: Language -> Text
@@ -209,6 +235,9 @@
     Indonesia  -> "URL Proyek"
     Esperanto  -> "URL de Projekto"
     Dutch      -> "Project URL"
+    Romanian   -> "URL al proiectului"
+    Vietnamese -> "URL của Dự án"
+    Czech      -> "Adresa URL projektu"
     _          -> "Project URL"
 
 aurUrl :: Language -> Text
@@ -223,9 +252,13 @@
     Russian    -> "URL в AUR"
     Italian    -> "URL nell'AUR"
     Serbian    -> "Страница у AUR-у"
+    Norwegian  -> "AUR URL"
     Indonesia  -> "URL AUR"
     Esperanto  -> "URL en AUR"
     Dutch      -> "AUR URL"
+    Romanian   -> "URL AUR"
+    Vietnamese -> "URL của AUR"
+    Czech      -> "URL pro AUR"
     _          -> "AUR URL"
 
 license :: Language -> Text
@@ -246,6 +279,9 @@
     Indonesia  -> "Lisensi"
     Esperanto  -> "Permesilo"
     Dutch      -> "Licentie"
+    Romanian   -> "Licență"
+    Vietnamese -> "Bản quyền"
+    Czech      -> "Licence"
     _          -> "License"
 
 dependsOn :: Language -> Text
@@ -264,6 +300,9 @@
     Indonesia  -> "Bergantung pada"
     Esperanto  -> "Dependi de"
     Dutch      -> "Hangt af van"
+    Romanian   -> "Depinde de"
+    Vietnamese -> "Phụ thuộc vào"
+    Czech      -> "Závisí na"
     _          -> "Depends On"
 
 buildDeps :: Language -> Text
@@ -276,9 +315,12 @@
     French     -> "Dépendances de compilation"
     Russian    -> "Зависимости сборки"
     Italian    -> "Dipendenze di compilazione"
+    Norwegian  -> "Byggavhengigheter"
     Indonesia  -> "Dependensi bangun"
     Esperanto  -> "Muntaj Dependecoj"
     Dutch      -> "Bouw afhankelijkheden"
+    Romanian   -> "Dependențe de compilare"
+    Czech      -> "Závislosti kompilace"
     _          -> "Build Deps"
 
 votes :: Language -> Text
@@ -299,6 +341,9 @@
     Indonesia  -> "Suara"
     Esperanto  -> "Balotiloj"
     Dutch      -> "Stemmen"
+    Romanian   -> "Voturi"
+    Vietnamese -> "Bình chọn"
+    Czech      -> "Hlasy"
     _          -> "Votes"
 
 popularity :: Language -> Text
@@ -308,8 +353,12 @@
     Portuguese -> "Popularidade"
     Turkish    -> "Popülerlik"
     Italian    -> "Popolarità"
+    Norwegian  -> "Popularitet"
     Esperanto  -> "Populareco"
     Dutch      -> "Populairiteit"
+    Romanian   -> "Popularitate"
+    Vietnamese -> "Phổ biến"
+    Czech      -> "Popularita"
     _          -> "Popularity"
 
 description :: Language -> Text
@@ -330,4 +379,7 @@
     Indonesia  -> "Deskripsi"
     Esperanto  -> "Priskribo"
     Dutch      -> "Beschrijving"
+    Romanian   -> "Descriere"
+    Vietnamese -> "Mô tả"
+    Czech      -> "Popis"
     _          -> "Description"
diff --git a/lib/Aura/Logo.hs b/lib/Aura/Logo.hs
--- a/lib/Aura/Logo.hs
+++ b/lib/Aura/Logo.hs
@@ -1,6 +1,6 @@
 -- |
 -- Module    : Aura.Logo
--- Copyright : (c) Colin Woodbury, 2012 - 2020
+-- Copyright : (c) Colin Woodbury, 2012 - 2021
 -- License   : GPL3
 -- Maintainer: Colin Woodbury <colin@fosskers.ca>
 --
@@ -14,7 +14,7 @@
 import           Aura.Pacman (verMsgPad)
 import           Aura.Settings
 import           Aura.Shell
-import           Data.Text.Prettyprint.Doc
+import           Prettyprinter
 import           RIO
 import qualified RIO.Text as T
 
diff --git a/lib/Aura/MakePkg.hs b/lib/Aura/MakePkg.hs
--- a/lib/Aura/MakePkg.hs
+++ b/lib/Aura/MakePkg.hs
@@ -2,7 +2,7 @@
 
 -- |
 -- Module    : Aura.State
--- Copyright : (c) Colin Woodbury, 2012 - 2020
+-- Copyright : (c) Colin Woodbury, 2012 - 2021
 -- License   : GPL3
 -- Maintainer: Colin Woodbury <colin@fosskers.ca>
 --
diff --git a/lib/Aura/Packages/AUR.hs b/lib/Aura/Packages/AUR.hs
--- a/lib/Aura/Packages/AUR.hs
+++ b/lib/Aura/Packages/AUR.hs
@@ -3,7 +3,7 @@
 
 -- |
 -- Module    : Aura.Packages.AUR
--- Copyright : (c) Colin Woodbury, 2012 - 2020
+-- Copyright : (c) Colin Woodbury, 2012 - 2021
 -- License   : GPL3
 -- Maintainer: Colin Woodbury <colin@fosskers.ca>
 --
diff --git a/lib/Aura/Packages/Repository.hs b/lib/Aura/Packages/Repository.hs
--- a/lib/Aura/Packages/Repository.hs
+++ b/lib/Aura/Packages/Repository.hs
@@ -3,7 +3,7 @@
 
 -- |
 -- Module    : Aura.Packages.Repository
--- Copyright : (c) Colin Woodbury, 2012 - 2020
+-- Copyright : (c) Colin Woodbury, 2012 - 2021
 -- License   : GPL3
 -- Maintainer: Colin Woodbury <colin@fosskers.ca>
 --
diff --git a/lib/Aura/Pacman.hs b/lib/Aura/Pacman.hs
--- a/lib/Aura/Pacman.hs
+++ b/lib/Aura/Pacman.hs
@@ -2,7 +2,7 @@
 
 -- |
 -- Module    : Aura.Pacman
--- Copyright : (c) Colin Woodbury, 2012 - 2020
+-- Copyright : (c) Colin Woodbury, 2012 - 2021
 -- License   : GPL3
 -- Maintainer: Colin Woodbury <colin@fosskers.ca>
 --
diff --git a/lib/Aura/Pkgbuild/Fetch.hs b/lib/Aura/Pkgbuild/Fetch.hs
--- a/lib/Aura/Pkgbuild/Fetch.hs
+++ b/lib/Aura/Pkgbuild/Fetch.hs
@@ -2,7 +2,7 @@
 
 -- |
 -- Module    : Aura.State
--- Copyright : (c) Colin Woodbury, 2012 - 2020
+-- Copyright : (c) Colin Woodbury, 2012 - 2021
 -- License   : GPL3
 -- Maintainer: Colin Woodbury <colin@fosskers.ca>
 --
diff --git a/lib/Aura/Pkgbuild/Records.hs b/lib/Aura/Pkgbuild/Records.hs
--- a/lib/Aura/Pkgbuild/Records.hs
+++ b/lib/Aura/Pkgbuild/Records.hs
@@ -1,6 +1,6 @@
 -- |
 -- Module    : Aura.Pkgbuild.Records
--- Copyright : (c) Colin Woodbury, 2012 - 2020
+-- Copyright : (c) Colin Woodbury, 2012 - 2021
 -- License   : GPL3
 -- Maintainer: Colin Woodbury <colin@fosskers.ca>
 --
diff --git a/lib/Aura/Pkgbuild/Security.hs b/lib/Aura/Pkgbuild/Security.hs
--- a/lib/Aura/Pkgbuild/Security.hs
+++ b/lib/Aura/Pkgbuild/Security.hs
@@ -3,7 +3,7 @@
 
 -- |
 -- Module    : Aura.Pkgbuild.Security
--- Copyright : (c) Colin Woodbury, 2012 - 2020
+-- Copyright : (c) Colin Woodbury, 2012 - 2021
 -- License   : GPL3
 -- Maintainer: Colin Woodbury <colin@fosskers.ca>
 --
@@ -18,13 +18,13 @@
 import           Aura.Languages
 import           Aura.Types (Language, Pkgbuild(..))
 import           Aura.Utils (hush)
-import           Data.Text.Prettyprint.Doc (Doc)
-import           Data.Text.Prettyprint.Doc.Render.Terminal (AnsiStyle)
 import           Language.Bash.Parse (parse)
 import           Language.Bash.Syntax
 import           Language.Bash.Word
+import           Prettyprinter
+import           Prettyprinter.Render.Terminal
 import           RIO hiding (Word)
-import           RIO.Lens (each, _Just)
+import           RIO.Lens (_Just, each)
 import qualified RIO.Map as M
 import qualified RIO.Text as T
 
diff --git a/lib/Aura/Security.hs b/lib/Aura/Security.hs
--- a/lib/Aura/Security.hs
+++ b/lib/Aura/Security.hs
@@ -1,6 +1,6 @@
 -- |
 -- Module    : Aura.Security
--- Copyright : (c) Colin Woodbury, 2012 - 2020
+-- Copyright : (c) Colin Woodbury, 2012 - 2021
 -- License   : GPL3
 -- Maintainer: Colin Woodbury <colin@fosskers.ca>
 --
diff --git a/lib/Aura/Settings.hs b/lib/Aura/Settings.hs
--- a/lib/Aura/Settings.hs
+++ b/lib/Aura/Settings.hs
@@ -3,7 +3,7 @@
 
 -- |
 -- Module    : Aura.Settings
--- Copyright : (c) Colin Woodbury, 2012 - 2020
+-- Copyright : (c) Colin Woodbury, 2012 - 2021
 -- License   : GPL3
 -- Maintainer: Colin Woodbury <colin@fosskers.ca>
 --
diff --git a/lib/Aura/Settings/External.hs b/lib/Aura/Settings/External.hs
--- a/lib/Aura/Settings/External.hs
+++ b/lib/Aura/Settings/External.hs
@@ -3,7 +3,7 @@
 
 -- |
 -- Module    : Aura.Settings.External
--- Copyright : (c) Colin Woodbury, 2012 - 2020
+-- Copyright : (c) Colin Woodbury, 2012 - 2021
 -- License   : GPL3
 -- Maintainer: Colin Woodbury <colin@fosskers.ca>
 --
diff --git a/lib/Aura/Shell.hs b/lib/Aura/Shell.hs
--- a/lib/Aura/Shell.hs
+++ b/lib/Aura/Shell.hs
@@ -1,6 +1,6 @@
 -- |
 -- Module    : Aura.Shell
--- Copyright : (c) Colin Woodbury, 2012 - 2020
+-- Copyright : (c) Colin Woodbury, 2012 - 2021
 -- License   : GPL3
 -- Maintainer: Colin Woodbury <colin@fosskers.ca>
 --
diff --git a/lib/Aura/State.hs b/lib/Aura/State.hs
--- a/lib/Aura/State.hs
+++ b/lib/Aura/State.hs
@@ -1,6 +1,6 @@
 -- |
 -- Module    : Aura.State
--- Copyright : (c) Colin Woodbury, 2012 - 2020
+-- Copyright : (c) Colin Woodbury, 2012 - 2021
 -- License   : GPL3
 -- Maintainer: Colin Woodbury <colin@fosskers.ca>
 --
diff --git a/lib/Aura/Types.hs b/lib/Aura/Types.hs
--- a/lib/Aura/Types.hs
+++ b/lib/Aura/Types.hs
@@ -7,7 +7,7 @@
 
 -- |
 -- Module    : Aura.Types
--- Copyright : (c) Colin Woodbury, 2012 - 2020
+-- Copyright : (c) Colin Woodbury, 2012 - 2021
 -- License   : GPL3
 -- Maintainer: Colin Woodbury <colin@fosskers.ca>
 --
@@ -43,9 +43,9 @@
 
 import           Aura.Utils
 import           Data.Aeson (FromJSONKey, ToJSONKey)
-import           Data.Text.Prettyprint.Doc hiding (list, space)
-import           Data.Text.Prettyprint.Doc.Render.Terminal
 import           Data.Versions hiding (Traversal')
+import           Prettyprinter hiding (list, space)
+import           Prettyprinter.Render.Terminal
 import           RIO hiding (try)
 import           RIO.FilePath
 import qualified RIO.Text as T
@@ -272,6 +272,9 @@
               | Turkish
               | Arabic
               | Ukrainian
+              | Romanian
+              | Vietnamese
+              | Czech
               deriving (Eq, Enum, Bounded, Ord, Show)
 
 -- | The various ways that dependency resolution can fail.
diff --git a/lib/Aura/Utils.hs b/lib/Aura/Utils.hs
--- a/lib/Aura/Utils.hs
+++ b/lib/Aura/Utils.hs
@@ -2,7 +2,7 @@
 
 -- |
 -- Module    : Aura.Utils
--- Copyright : (c) Colin Woodbury, 2012 - 2020
+-- Copyright : (c) Colin Woodbury, 2012 - 2021
 -- License   : GPL3
 -- Maintainer: Colin Woodbury <colin@fosskers.ca>
 --
@@ -143,16 +143,16 @@
 data These a b = This a | That b | These a b
 
 instance (Semigroup a, Semigroup b) => Semigroup (These a b) where
-  This x <> This y = This (x <> y)
-  This x <> These z y = These (x <> z) y
-  This x <> That y = These x y
+  This x <> This y       = This (x <> y)
+  This x <> These z y    = These (x <> z) y
+  This x <> That y       = These x y
 
-  That x <> That y = That (x <> y)
-  That x <> This y = These y x
-  That x <> These y z = These y (x <> z)
+  That x <> That y       = That (x <> y)
+  That x <> This y       = These y x
+  That x <> These y z    = These y (x <> z)
 
-  These w x <> This y = These (w <> y) x
-  These w x <> That y = These w (x <> y)
+  These w x <> This y    = These (w <> y) x
+  These w x <> That y    = These w (x <> y)
   These w x <> These y z = These (w <> y) (x <> z)
 
 instance Bifunctor These where
diff --git a/test/Test.hs b/test/Test.hs
--- a/test/Test.hs
+++ b/test/Test.hs
@@ -2,7 +2,6 @@
 
 module Main ( main ) where
 
-import           Aura.Languages
 import           Aura.Packages.Repository
 import           Aura.Pkgbuild.Security
 import           Aura.Settings.External
@@ -65,13 +64,6 @@
         (r >>= M.lookup "BadLine") @?= Just ["bad"]
         (r >>= M.lookup "OkLine") @?= Just ["ok"]
         (r >>= M.lookup "ParallelDownloads") @?= Just ["5"]
-    ]
-  , testGroup "Aura.Languages"
-    [ testCase "Language names are complete" $ do
-        let languages = [minBound..maxBound] :: [Language]
-        for_ languages $ \lang -> do
-          let names = languageNames lang
-          assertEqual ("Language name map for " ++ show lang ++ " has incorrect number of items") (length languages - 1) (M.size names)
     ]
   , testGroup "Aura.Pkgbuild.Security"
     [ testCase "Parsing - bad.PKGBUILD" $
