{-# LANGUAGE LambdaCase #-}
{-# LANGUAGE TypeApplications #-}
{-# LANGUAGE ViewPatterns #-}
{-# OPTIONS_HADDOCK prune #-}
{-# OPTIONS_GHC -fno-warn-missing-export-lists #-}
module Aura.Languages where
import Aura.Colour
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 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
translators :: Map Language Text
translators = M.fromList
[ (Polish, "Chris Warrick / Michał Kurek")
, (Croatian, "Denis Kasak / \"stranac\"")
, (Swedish, "Fredrik Haikarainen / Daniel Beecham")
, (German, "Lukas Niederbremer / Jonas Platte")
, (Spanish, "Alejandro Gómez / Sergio Conde / Max Ferrer")
, (Portuguese, "Henry Kupty / Thiago Perrotta / Wagner Amaral")
, (French, "Ma Jiehong / Fabien Dubosson")
, (Russian, "Kyrylo Silin / Alexey Kotlyarov")
, (Italian, "Bob Valantin / Cristian Tentella")
, (Serbian, "Filip Brcic")
, (Norwegian, "\"chinatsun\"")
, (Indonesia, "\"pak tua Greg\"")
, (Chinese, "Kai Zhang")
, (Japanese, "Onoue Takuro")
, (Esperanto, "Zachary Matthews")
, (Dutch, "Joris Blanken")
]
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 ] . \case
Japanese -> [ "日本語", "ポーランド語", "クロアチア語", "スウェーデン語", "ドイツ語", "スペイン語", "ポルトガル語", "フランス語", "ロシア語", "イタリア語", "セルビア語", "ノルウェー語", "インドネシア語", "中国語", "エスペラント", "オランダ語" ]
Polish -> [ "Japanese", "polski", "chorwacki", "szwedzki", "niemiecki", "hiszpański", "portugalski", "francuski", "rosyjski", "włoski", "serbski", "norweski", "indonezyjski", "chiński", "esperanto", "niderlandzki" ]
Croatian -> [ "Japanese", "poljski", "hrvatski", "švedski", "njemački", "španjolski", "portugalski", "francuski", "ruski", "talijanski", "srpski", "norveški", "Indonesian", "Chinese", "Esperanto", "Dutch" ]
Swedish -> [ "Japanese", "Polska", "Kroatiska", "Svenska", "Tyska", "Spanska", "Portugisiska", "Franska", "Ryska", "Italienska", "Serbiska", "Norska", "Indonesian", "Chinese", "Esperanto", "Dutch" ]
German -> [ "Japanisch", "Polnisch", "Kroatisch", "Schwedisch", "Deutsch", "Spanisch", "Portugiesisch", "Französisch", "Russisch", "Italienisch", "Serbisch", "Norwegisch", "Indonesisch", "Chinese", "Esperanto", "Dutch" ]
Spanish -> [ "Japanese", "Polaco", "Croata", "Sueco", "Alemán", "Español", "Portugués", "Francés", "Ruso", "Italiano", "Serbio", "Noruego", "Indonesio", "Chinese", "Esperanto", "Dutch" ]
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" ]
French -> [ "Japanese", "Polonais", "Croate", "Suédois", "Allemand", "Espagnol", "Portugais", "Français", "Russe", "Italien", "Serbe", "Norvégien", "Indonesian", "Chinese", "Esperanto", "Dutch" ]
Russian -> [ "Японский", "Польский", "Хорватский", "Шведский", "Немецкий", "Испанский", "Португальский", "Французский", "Русский", "Итальянский", "Сербский", "Норвежский", "Индонезийский", "Китайский", "Эсперанто", "Dutch" ]
Italian -> [ "Giapponese", "Polacco", "Croato", "Svedese", "Tedesco", "Spagnolo", "Portoghese", "Francese", "Russo", "Italiano", "Serbo", "Norvegese", "Indonesiano", "Cinese", "Esperanto", "Dutch" ]
Serbian -> [ "Japanese", "Пољски", "Хрватски", "Шведски", "Немачки", "Шпански", "Португалски", "Француски", "Руски", "Италијански", "Српски", "", "Indonesian", "Chinese", "Esperanto", "Dutch" ]
Norwegian -> [ "Japanese", "Polsk", "Kroatisk", "Svensk", "Tysk", "Spansk", "Portugisisk", "Fransk", "Russisk", "Italiensk", "Serbisk", "Norsk", "Indonesian", "Chinese", "Esperanto", "Dutch" ]
Indonesia -> [ "Japanese", "Polandia", "Kroasia", "Swedia", "Jerman", "Spanyol", "Portugis", "Prancis", "Rusia", "Italia", "Serbia", "Norwegia", "Indonesian", "Chinese", "Esperanto", "Dutch" ]
Chinese -> [ "日语", "波兰语", "克罗地亚语", "瑞典语", "德语", "西班牙语", "葡萄牙语", "法语", "俄语", "意大利语", "塞尔维亚语", "挪威语", "印度尼西亚语", "中文", "世界语", "Dutch" ]
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" ]
Dutch -> [ "Japans", "Pools", "Kroatisch", "Zweeds", "Duits", "Spaans", "Portugees", "Frans", "Russisch", "Italiaans", "Servisch", "Noors", "Indonesisch", "Chinees", "Esperanto", "Nederlands" ]
_ -> [ "Japanese", "Polish", "Croatian", "Swedish", "German", "Spanish", "Portuguese", "French", "Russian", "Italian", "Serbian", "Norwegian", "Indonesian", "Chinese", "Esperanto", "Dutch" ]
translatorMsgTitle :: Language -> Text
translatorMsgTitle = \case
Japanese -> "Auraの翻訳者:"
Polish -> "Tłumacze Aury:"
Croatian -> "Aura Prevoditelji:"
Swedish -> "Aura Översättare:"
German -> "Aura Übersetzer:"
Spanish -> "Traductores de Aura:"
Portuguese -> "Tradutores de Aura:"
French -> "Traducteurs d'Aura:"
Russian -> "Переводчики Aura:"
Italian -> "Traduttori di Aura:"
Serbian -> "Преводиоци Аура:"
Norwegian -> "Aura Oversettere:"
Indonesia -> "Penerjemah Aura:"
Chinese -> "Aura 的翻译者:"
Esperanto -> "Tradukistoj de Aura:"
Dutch -> "Aura Vertalers:"
_ -> "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
bt :: Pretty a => a -> Doc AnsiStyle
bt = cyan . pretty
whitespace :: Language -> Char
whitespace Japanese = ' '
whitespace _ = ' '
langFromLocale :: Text -> Maybe Language
langFromLocale = T.take 2 >>> \case
"ja" -> Just Japanese
"pl" -> Just Polish
"hr" -> Just Croatian
"sv" -> Just Swedish
"de" -> Just German
"es" -> Just Spanish
"pt" -> Just Portuguese
"fr" -> Just French
"ru" -> Just Russian
"it" -> Just Italian
"sr" -> Just Serbian
"nb" -> Just Norwegian
"id" -> Just Indonesia
"zh" -> Just Chinese
"eo" -> Just Esperanto
"nl" -> Just Dutch
"en" -> Just English
_ -> Nothing
checkDBLock_1 :: Language -> Doc AnsiStyle
checkDBLock_1 = \case
Japanese -> "パッケージデータベースが閉鎖されている状態です。開放したらキーを押して続行してください。"
Polish -> "Baza pakietów jest zablokowana. Kiedy zostanie odblokowana naciśnij enter aby kontynuować"
Croatian -> "Baza paketa je zaključana. Kad se otključa, pritisnite enter da biste nastavili."
German -> "Die Paketdatenbank ist gesperrt. Drücken Sie Enter wenn sie entsperrt ist um fortzufahren."
Spanish -> "La base de datos de paquetes está bloqueada. Presiona enter cuando esté desbloqueada para continuar."
Norwegian -> "Pakkedatabasen er låst. Trykk enter når den er åpnet for å fortsette."
French -> "La base de données des paquets est bloquée. Appuyez sur enter pour continuer."
Portuguese -> "Banco de dados de pacote travado. Aperte 'enter' quando estiver destravado para poder continuar."
Russian -> "База данных пакетов заблокирована. Нажмите \"Ввод\", когда она разблокируется, чтобы продолжить."
Italian -> "Non è stato possibile accedere alla banca dati dei pacchetti. Per continuare premere invio quando sarà di nuovo disponibile."
Chinese -> "包数据库已锁定。请在解锁后按下回车以继续。"
Swedish -> "Paketdatabasen är låst. Klicka på enter när den är upplåst."
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."
_ -> "The package database is locked. Press enter when it's unlocked to continue."
trueRoot_3 :: Language -> Doc AnsiStyle
trueRoot_3 = \case
Japanese -> "「root」としてパッケージを作成するのは「makepkg v4.2」で不可能になりました。"
Polish -> "Od makepkg v4.2, budowanie jako root nie jest dozwolone."
German -> "Seit makepkg v4.2 ist es nicht mehr möglich als root zu bauen."
Spanish -> "Desde makepkg v4.2 no es posible compilar paquetes como root."
Portuguese -> "A partir da versão v4.2 de makepkg, não é mais possível compilar como root."
Russian -> "С версии makepkg v4.2 сборка от имени root более невозможна."
Italian -> "A partire dalla versione 4.2 di makepkg non è più possibile compilare come root."
Chinese -> "自从 makepkg v4.2 以后,就不能以根用户身份构建软件了。"
Swedish -> "I makepkg v4.2 och uppåt är det inte tillåtet att bygga som root."
Esperanto -> "Depost makepkg v4.2, konstruanto ĉefuzante ne eblas."
Dutch -> "Vanaf makepkg v4.2 is het niet langer mogelijk om als root te bouwen."
_ -> "As of makepkg v4.2, building as root is no longer possible."
mustBeRoot_1 :: Language -> Doc AnsiStyle
mustBeRoot_1 = let sudo = bt @Text "sudo" in \case
Japanese -> sudo <> "を使わないとそれができない!"
Polish -> "Musisz użyć " <> sudo <> ", żeby to zrobić."
Croatian -> "Morate koristiti" <> sudo <> "za ovu radnju."
Swedish -> "Du måste använda " <> sudo <> " för det."
German -> "Sie müssen dafür " <> sudo <> " benutzen."
Spanish -> "Tienes que utilizar " <> sudo <> " para eso."
Portuguese -> "Utilize " <> sudo <> " para isso."
French -> "Vous devez utiliser " <> sudo <> " pour ça."
Russian -> "Необходимо использовать " <> sudo <> " для этого."
Italian -> "Per eseguire questa operazione è necessario utilizzare " <> sudo <> "."
Serbian -> "Морате да користите " <> sudo <> " за ову радњу."
Norwegian -> "Du må bruke " <> sudo <> " for det."
Indonesia -> "Anda harus menggunakan " <> sudo <> " untuk melakukannya."
Chinese -> "除非是根用户,否则不能执行此操作。"
Esperanto -> "Vi ne povas fari ĉi tiun operacion, sen " <> sudo <> "."
Dutch -> "U kunt deze operatie niet uitvoeren zonder " <> sudo <> " te gebruiken."
_ -> "You cannot perform this operation without using sudo."
buildPackages_1 :: PkgName -> Language -> Doc AnsiStyle
buildPackages_1 (bt . pnName -> p) = \case
Japanese -> p <> "を作成中・・・"
Polish -> "Budowanie " <> p <> "..."
Croatian -> "Gradim " <> p <> "..."
Swedish -> "Bygger paket " <> p <> "..."
German -> "Baue Paket " <> p <> "..."
Spanish -> "Compilando " <> p <> "..."
Portuguese -> "Compilando " <> p <> "..."
French -> "Compilation de " <> p <> "..."
Russian -> "Сборка " <> p <> "..."
Italian -> "Compilazione di " <> p <> "..."
Serbian -> "Градим " <> p <> "..."
Norwegian -> "Bygger " <> p <> "..."
Indonesia -> "Membangun " <> p <> "..."
Chinese -> p <> " 正在构建中..."
Esperanto -> "Muntanta " <> p <> "..."
Dutch -> "Pakket " <> p <> " aan het bouwen..."
_ -> "Building " <> p <> "..."
buildPackages_2 :: Language -> Doc AnsiStyle
buildPackages_2 = \case
Polish -> "'--allsource' wykryte. Nie zostaną zbudowane żadne pakiety."
Spanish -> "'--allsource' detectado. No se construirán paquetes instalables reales."
_ -> "'--allsource' detected. No actual installable packages will be built."
buildPackages_3 :: FilePath -> Language -> Doc AnsiStyle
buildPackages_3 fp = \case
Polish -> "Wszystkie pliki .src.tar.gz zostały zbudowane i przekopiowane do: " <> pretty fp
Spanish -> "Todos los archivos .src.tar.gz fueron construidos y copiados a: " <> 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:"
buildPackages_5 :: Language -> Doc AnsiStyle
buildPackages_5 = \case
_ -> "You can use" <+> bt @Text "--force" <+> "to override this behaviour."
buildFail_5 :: Language -> Doc AnsiStyle
buildFail_5 = \case
Japanese -> "パッケージ作成に失敗しました。"
Polish -> "Budowanie nie powiodło się."
Croatian -> "Izgradnja nije uspjela."
Swedish -> "Gick inte att bygga paket."
German -> "Bauen fehlgeschlagen."
Spanish -> "La compilación falló."
Portuguese -> "Falha na compilação."
French -> "Compilation échouée."
Russian -> "Сборка не удалась."
Italian -> "Compilazione fallita."
Serbian -> "Изградња пакета није успела."
Norwegian -> "Bygging feilet."
Indonesia -> "Proses gagal."
Chinese -> "构建失败。"
Esperanto -> "Muntado paneis"
Dutch -> "Bouwen is mislukt."
_ -> "Building failed."
buildFail_6 :: Language -> Doc AnsiStyle
buildFail_6 = \case
Japanese -> "それでも続行しますか?"
Polish -> "Czy mimo to chcesz kontynuować?"
Croatian -> "Želite li svejedno nastaviti?"
German -> "Möchten Sie trotzdem fortfahren?"
Spanish -> "¿Deseas continuar de todas formas?"
Norwegian -> "Vil du fortsette likevel?"
Italian -> "Procedere comunque?"
Portuguese -> "Gostaria de continuar mesmo assim?"
French -> "Voulez-vous tout de même continuer ?"
Russian -> "Продолжить, несмотря ни на что?"
Indonesia -> "Apakah anda tetap ingin melanjutkan?"
Chinese -> "你仍然希望继续吗?"
Swedish -> "Vill du fortsätta ändå?"
Esperanto -> "Ĉu vi volas daŭrigi?"
Dutch -> "Wilt U toch doorgaan?"
_ -> "Would you like to continue anyway?"
buildFail_7 :: PkgName -> Language -> Doc AnsiStyle
buildFail_7 (bt . pnName -> p) = \case
Japanese -> p <> "のビルドスクリプトを収得できませんでした。"
Polish -> "Nie udało się pozyskać skryptów budowania dla " <> p <> "."
German -> "Herunterladen der Build-Skripte für " <> p <> " fehlgeschlagen."
Spanish -> "No se han podido obtener los scripts de compilación de " <> p <> "."
Portuguese -> "Falha ao obter scripts de compilação para " <> p <> "."
Indonesia -> "Gagal mendapatkan skrip untuk " <> p <> "."
Russian -> "Не удалось получить сценарии сборки для " <> p <> "."
Italian -> "Non è stato possibile ottenere gli script di compilazione per " <> p <> "."
Chinese -> "无法获得 " <> p <> " 的构建脚本。"
Swedish -> "Kunde inte hämta byggskript för " <> p <> "."
Esperanto -> "Paneis akiri muntaj skriptoj de " <> p <> "."
Dutch -> "Verkrijgen van bouw scripten mislukt voor " <> p <> "."
_ -> "Failed to obtain build scripts for " <> p <> "."
buildFail_8 :: Language -> Doc AnsiStyle
buildFail_8 = \case
Japanese -> "makepkgは失敗しました。"
Polish -> "Wystąpił problem z makepkg."
Spanish -> "Ocurrió un error al ejecutar makepkg"
Portuguese -> "Ocorreu um erro ao executar makepkg"
Russian -> "Произошла ошибка makepkg."
Italian -> "C'è stato un errore nell'esecuzione di makepkg."
Esperanto -> "Paneo de makepkg okazis."
Dutch -> "Er is een fout opgetreden in makepkg."
_ -> "There was a makepkg failure."
buildFail_9 :: Language -> Doc AnsiStyle
buildFail_9 = \case
Polish -> "Nie udało się zlokalizować żadnych zbudowanych pakietów (*.pkg.tar.xz)."
Spanish -> "Error al detectar todos los archivo de paquete (*.pkg.tar.xz)."
Italian -> "Non è stato possibile trovare nessun archivio risultante dalla compilazione del pacchetto (*.pkg.tar.xz)."
Esperanto -> "Paneis detekti ĉiujn dosierojn de pakaĵoj (*.pkg.tar.xz)."
Dutch -> "Detecteren van built package files mislukt (*.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."
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."
_ -> "Every package failed to build."
buildFail_11 :: Language -> Doc AnsiStyle
buildFail_11 = \case
Japanese -> "作成は失敗しました。エラーを見ますか?"
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?"
_ -> "Building failed. Would you like to see the error?"
buildFail_12 :: Language -> Doc AnsiStyle
buildFail_12 = \case
Polish -> "Błąd podczas pobierania najnowszych aktualizacji poprzez 'git pull'."
Spanish -> "Error al 'git pull' las últimas actualizaciones."
_ -> "Failed to 'git pull' the latest updates."
getRealPkgConflicts_1 :: PkgName -> PkgName -> Text -> Text -> Language -> Doc AnsiStyle
getRealPkgConflicts_1 (bt . pnName -> prnt) (bt . pnName -> p) (bt -> r) (bt -> d) = \case
Japanese -> "パッケージ" <> p <> "はバージョン" <> d <> "を要するが" <> "一番最新のバージョンは" <> r <> "。"
Polish -> "Zależność " <> p <> " powinna być w wersji " <> d <> ", ale najnowsza wersja to " <> r <> "."
Croatian -> "Zavisnost " <> p <> " zahtjeva verziju " <> d <> ", a najnovija dostupna verzija je " <> r <> "."
Swedish -> "Beroendepaketet " <> p <> " kräver version " <> d <> " men den senaste versionen är " <> r <> "."
German -> "Die Abhängigkeit " <> p <> " verlangt Version " <> d <> ", aber die neuste Version ist " <> r <> "."
Spanish -> "La dependencia " <> p <> " requiere la versión " <> d <> " pero la versión más reciente es " <> r <> "."
Portuguese -> "A dependência " <> p <> " exige a versão " <> d <> " mas a versão mais recente é " <> r <> "."
French -> p <> " est une dépendance nécessitant la version " <> d <> ", mais la plus récente est la version " <> r <> "."
Russian -> "Зависимость " <> p <> " требует версию " <> d <> ", однако самой последней версией является " <> r <> "."
Italian -> p <> "è una dipendenza che necessita della versione " <> d <> ", ma la più recente è la " <> r <> "."
Serbian -> "Зависност " <> p <> " захтева верзију " <> d <> ", али најновија верзија је " <> r <> "."
Norwegian -> "Avhengigheten " <> p <> " krever versjon " <> d <>", men den nyeste versjonen er " <> r <> "."
Indonesia -> "Dependensi " <> p <> " meminta versi " <> d <> " namun versi paling baru adalah " <> r <> "."
Chinese -> "依赖 " <> p <> " 需要版本 " <> d <> ",但是最新的版本是 " <> r <> "。"
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 <> "."
_ -> "The package " <> prnt <> " depends on version " <> d <> " of " <> p <> ", but the most recent version is " <> r <> "."
getRealPkgConflicts_2 :: PkgName -> Language -> Doc AnsiStyle
getRealPkgConflicts_2 (bt . pnName -> p) = \case
Japanese -> p <> "は無視されるパッケージ!`pacman.conf`を参考に。"
Polish -> p <> " jest ignorowany! Sprawdź plik `pacman.conf`."
Croatian -> p <> " je ignoriran paket! Provjerite svoj `pacman.conf`."
Swedish -> p <> " är ett ignorerat paket! Kolla din `pacman.conf`-fil."
German -> p <> " ist ein ignoriertes Paket! Siehe /etc/pacman.conf."
Spanish -> "¡" <> p <> " es un paquete ignorado! Revisa tu fichero `pacman.conf`."
Portuguese -> p <> " é um pacote ignorado conforme configuração em `pacman.conf`!"
French -> "Le paquet " <> p <> " est ignoré. Vous devriez jeter un œil à votre `pacman.conf`."
Russian -> "Пакет " <> p <> " игнорируется! Проверьте ваш файл `pacman.conf`."
Italian -> p <> " è marcato come pacchetto ignorato all'interno del file `pacman.conf`."
Serbian -> "Пакет " <> p <> " је игнорисан! Видите ваш фајл „pacman.conf“."
Norwegian -> p <> " er en ignorert pakke! Sjekk din `pacman.conf`-fil."
Indonesia -> p <> " merupakan paket yang diabaikan! Lihat `pacman.conf` anda."
Chinese -> p <> " 是一个被忽略的包!请查看你的 `pacman.conf` 文件。"
Esperanto -> p <> " estas malatenta pakaĵo! Vidu vian `pacman.conf` dosieron."
Dutch -> p <> " is een genegeerd pakket! Bekijk uw `pacman.conf` file."
_ -> p <> " is an ignored package! See your `pacman.conf` file."
missingPkg_2 :: [DepError] -> Language -> Doc AnsiStyle
missingPkg_2 ps l = vsep $ map (depError l) ps
depError :: Language -> DepError -> Doc AnsiStyle
depError _ (VerConflict s) = s
depError _ (Ignored s) = s
depError l (NonExistant (PkgName s) (PkgName par)) = case l of
Polish -> "Zależność " <> bt s <> "nie została znaleziona."
Spanish -> "La dependencia " <> bt s <> " no pudo ser encontrada."
Portuguese -> "A dependência " <> bt s <> " não foi encontrada."
Russian -> "Зависимость " <> bt s <> " не найдена."
Italian -> "Non è stato possibile trovare la dipendenza " <> bt s <> "."
Esperanto -> "La dependeco " <> bt s <> " de " <> bt par <> " ne povis troviĝi."
Dutch -> "Het afhankelijkheid " <> bt s <> "kan niet worden gevonden."
_ -> "The dependency " <> bt s <> " of " <> bt par <> " couldn't be found."
depError l (BrokenProvides (PkgName pkg) (Provides (PkgName pro)) (PkgName n)) = case l of
Spanish -> "El paquete " <> bt pkg <> " necesita " <> bt n <> " que proporciona " <> bt pro <> "."
Russian -> "Пакету " <> bt pkg <> " требуется " <> bt n <> ", предоставляющий " <> bt pro <> "."
Esperanto -> "La pakaĵo, " <> bt pkg <> " bezonas " <> bt n <> ", kiu donas " <> bt pro <> "."
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."
_ -> "The package " <> bt pkg <> " needs " <> bt n <> ", which provides " <> bt pro <> "."
missingPkg_3 :: Language -> Doc AnsiStyle
missingPkg_3 = \case
Polish -> "Wystąpił problem podczas reorganizowania grafu zależności. Jeśli widzisz tą wiadomość, coś poszło bardzo nie tak."
Spanish -> "Se produjo un error al reorganizar el gráfico de dependencia. Si ves esto, algo está muy mal."
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."
_ -> "There was an error reorganizing the dependency graph. If you see this, something is very wrong."
missingPkg_4 :: [NonEmpty PkgName] -> Language -> Doc AnsiStyle
missingPkg_4 pns = \case
Polish -> vsep $ "Następujące cykle zależności zostały wykryte:" : pns'
Spanish -> vsep $ "Se detectaron los siguientes ciclos de dependencia:" : pns'
Italian -> vsep $ "Sono stati individuati i seguenti cicli di dipendenza:" : pns'
Dutch -> vsep $ "The volgende afhankelijkheidscycli zijn gedetecteerd:" : pns'
_ -> vsep $ "The following dependency cycles were detected:" : pns'
where
pns' :: [Doc ann]
pns' = map (hsep . map pretty . L.intersperse "=>" . map pnName . toList) pns
missingPkg_5 :: PkgName -> Language -> Doc AnsiStyle
missingPkg_5 (PkgName p) = \case
Polish -> bt p <> " nie istnieje."
Spanish -> bt p <> " no existe."
Italian -> bt p <> " non esiste."
Dutch -> bt p <> " bestaat niet."
_ -> bt p <> " does not exist."
displayOutputLanguages_1 :: Language -> Doc AnsiStyle
displayOutputLanguages_1 = \case
Japanese -> "aura は下記の言語に対応しています:"
Polish -> "Następujące języki są dostępne:"
Croatian -> "Dostupni su sljedeći jezici:"
Swedish -> "Följande språk är tillängliga:"
German -> "Die folgenden Sprachen sind verfügbar:"
Spanish -> "Los siguientes idiomas están disponibles:"
Portuguese -> "Os seguintes idiomas estão disponíveis:"
French -> "Les langues suivantes sont disponibles :"
Russian -> "Доступны следующие языки:"
Italian -> "Sono disponibili le seguenti lingue:"
Serbian -> "Доступни су следећи језици:"
Norwegian -> "Følgende språk er tilgjengelig:"
Indonesia -> "Berikut ini adalah bahasa yang tersedia:"
Chinese -> "以下语言是可用的:"
Esperanto -> "La sekvaj lingvo estas disponebla:"
Dutch -> "De volgende talen zijn beschikbaar:"
_ -> "The following languages are available:"
auraCheck_1 :: Language -> Doc AnsiStyle
auraCheck_1 = \case
Japanese -> "Aura が更新されています。Auraだけ先に更新しますか?"
Polish -> "Dostępna jest nowa wersja Aura. Czy chcesz ją najpierw aktualizować?"
Croatian -> "Dostupna je nova verzija Aura. Želite li prvo ažurirati?"
German -> "Ein Update für aura ist verfügbar. Dies zuerst aktualisieren?"
Spanish -> "Hay una actualización de aura disponible. ¿Deseas actualizar aura primero?"
Norwegian -> "En Aura-oppdatering er tilgjengelig. Oppdater den først?"
Portuguese -> "Uma atualização para Aura está disponível. Deseja atualizar antes?"
French -> "Une mise à jour d'Aura est disponible. Voulez-vous la mettre à jour en premier ?"
Russian -> "Доступно обновление Aura. Обновить сперва её?"
Italian -> "È disponibile un nuovo aggiornamento per Aura. Eseguirlo subito?"
Indonesia -> "Pemutakhiran aura tersedia. Mutakhirkan aura dulu?"
Chinese -> "Aura 可以升级。先升级 aura?"
Swedish -> "Det finns en uppdatering tillgänglig till Aura. Vill du uppdatera Aura först?"
Esperanto -> "Ĝisdatigo de Aura estas disponebla. Ĉu ĝisdatigas ĝin?"
Dutch -> "Aura update beschikbaar. Eerst updaten?"
_ -> "Aura update available. Update it first?"
install_2 :: Language -> Doc AnsiStyle
install_2 = \case
Japanese -> "適切なパッケージを入力してください。"
Polish -> "Nie podano prawidłowych pakietów."
Croatian -> "Nije specificiran nijedan ispravan paket."
Swedish -> "Inga giltiga paket valda."
German -> "Keine gültigen Pakete angegeben."
Spanish -> "No se ha especificado ningún paquete válido."
Portuguese -> "Nenhum pacote válido foi especificado."
French -> "Aucun paquet valide n'a été spécifié."
Russian -> "Валидные пакеты не указаны."
Italian -> "Nessun pacchetto valido specificato."
Serbian -> "Ниједан исправан пакет није специфициран."
Norwegian -> "Ingen gyldige pakker er valgte."
Indonesia -> "Tidak ada paket valid yang dispesifikkan."
Chinese -> "没有指定有效的包。"
Esperanto -> "Ne validajn pakaĵojn specifis"
Dutch -> "Geen geldige pakketen gespecificeerd."
_ -> "No valid packages specified."
install_3 :: Language -> Doc AnsiStyle
install_3 = \case
Japanese -> "続行しますか?"
Polish -> "Kontynuować?"
Croatian -> "Nastaviti?"
Swedish -> "Fortsätta?"
German -> "Fortsetzen?"
Spanish -> "¿Continuar?"
Portuguese -> "Continuar?"
French -> "Continuer ?"
Russian -> "Продолжить?"
Italian -> "Continuare?"
Serbian -> "Наставити?"
Norwegian -> "Fortsett?"
Indonesia -> "Lanjut?"
Chinese -> "继续?"
Esperanto -> "Ĉu daŭrigi?"
Dutch -> "Doorgaan?"
_ -> "Continue?"
install_4 :: Language -> Doc AnsiStyle
install_4 = \case
Japanese -> "続行は意図的に阻止されました。"
Polish -> "Instalacja została przerwana przez użytkownika."
Croatian -> "Instalacija prekinuta od strane korisnika."
Swedish -> "Installationen avbröts manuellt."
German -> "Installation durch Benutzer abgebrochen."
Spanish -> "Instalación abortada manualmente."
Portuguese -> "Instalação cancelada manualmente."
French -> "Installation manuelle annulée."
Russian -> "Пользователь прервал установку."
Italian -> "Installazione manuale interrotta."
Serbian -> "Инсталација је ручно прекинута."
Norwegian -> "Installasjonen ble avbrutt manuelt."
Indonesia -> "Instalasi dibatalkan secara paksa."
Chinese -> "手动安装已中止。"
Esperanto -> "Instalon ĉesigi permane"
Dutch -> "Installatie handmatig afgebroken."
_ -> "Installation manually aborted."
install_5 :: Language -> Doc AnsiStyle
install_5 = \case
Japanese -> "従属パッケージを確認中・・・"
Polish -> "Ustalanie zależności..."
Croatian -> "Određivanje zavisnosti..."
Swedish -> "Avgör beroenden..."
German -> "Bestimme Abhängigkeiten..."
Spanish -> "Determinando dependencias..."
Portuguese -> "Determinando as dependências..."
French -> "Détermination des dépendances en cours…"
Russian -> "Определение зависимостей..."
Italian -> "Determinazione delle dipendenze..."
Serbian -> "Утврђивање зависности..."
Norwegian -> "Bestemmer avhengigheter..."
Indonesia -> "Menentukan dependensi..."
Chinese -> "确定依赖中..."
Esperanto -> "Difinas dependecojn..."
Dutch -> "Afhankelijkheden aan het bepalen..."
_ -> "Determining dependencies..."
confirmIgnored_1 :: PkgName -> Language -> Doc AnsiStyle
confirmIgnored_1 (bt . pnName -> p) = \case
Japanese -> p <> "は無視されるはずのパッケージです。それでも続行しますか?"
Polish -> p <> " jest oznaczony jako ignorowany. Zainstalować mimo tego?"
Spanish -> p <> " está marcado como ignorado. ¿Deseas instalarlo de todas formas?"
Portuguese -> p <> " está marcado como Ignorado. Deseja instalar mesmo assim?"
Russian -> p <> " отмечен как игнорируемый. Всё равно установить?"
Italian -> p <> " è marcato come pacchetto ignorato. Installarlo comunque?"
Chinese -> p <> " 已被标记为忽略。仍然安装?"
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?"
_ -> p <> " is marked as Ignored. Install anyway?"
reportNonPackages_1 :: Language -> Doc AnsiStyle
reportNonPackages_1 = \case
Japanese -> "下記はAURパッケージではありません:"
Polish -> "To nie są pakiety AUR:"
Croatian -> "Ovo nisu AUR paketi:"
Swedish -> "Följande är inte paket:"
German -> "Folgende sind keine AUR-Pakete:"
Spanish -> "Los siguientes paquetes no son de AUR:"
Portuguese -> "Os seguintes não são pacotes AUR:"
French -> "Les éléments suivants ne sont pas des paquets AUR :"
Russian -> "Ниже указано то, что не является пакетами AUR:"
Italian -> "I seguenti pacchetti non fanno parte dell'AUR:"
Serbian -> "Ово нису пакети:"
Norwegian -> "Det følgende er ikke AUR-pakker:"
Indonesia -> "Paket berikut ini bukan merupakan paket AUR:"
Chinese -> "以下软件不是 AUR 包:"
Esperanto -> "La sekvaj ne estas pakaĵoj de la AUR:"
Dutch -> "De volgende pakketten zijn geen AUR pakketten:"
_ -> "The following are not AUR packages:"
reportUnneededPackages_1 :: Language -> Doc AnsiStyle
reportUnneededPackages_1 = \case
Japanese -> "下記のパッケージは既にインストールされています:"
Polish -> "Następujące pakiety zostały już zainstalowane:"
Portuguese -> "Os seguintes pacotes já estão instalados:"
Russian -> "Следующие пакеты уже установлены:"
Italian -> "I seguenti pacchetti sono già stati installati:"
German -> "Die folgenden Pakete sind bereits installiert:"
Spanish -> "Los siguientes paquetes ya están instalados:"
Chinese -> "以下包已被安装:"
Swedish -> "Följande paket är redan installerade:"
Esperanto -> "La sekvaj pakaĵoj jam instaliĝas:"
Dutch -> "The volgende pakketten zijn al geinstalleerd:"
_ -> "The following packages are already installed:"
reportPkgsToInstall_1 :: Language -> Doc AnsiStyle
reportPkgsToInstall_1 = \case
Japanese -> "Pacmanの従属パッケージ:"
Polish -> "Zależności z repozytoriów:"
Croatian -> "Zavisnosti iz repozitorija:"
Swedish -> "Beroenden ifrån lager:"
German -> "Abhängigkeiten in den Paketquellen:"
Spanish -> "Dependencias del repositorio:"
Portuguese -> "Dependências no repositório:"
French -> "Dépendances du dépôt :"
Russian -> "Зависимости из репозитория:"
Italian -> "Dipendenze del repository:"
Serbian -> "Зависности из ризница:"
Norwegian -> "Avhengigheter fra depotet:"
Indonesia -> "Dependensi dari repositori:"
Chinese -> "仓库依赖:"
Esperanto -> "Dependecoj de deponejo:"
Dutch -> "Repository afhankelijkheden:"
_ -> "Repository dependencies:"
reportPkgsToInstall_2 :: Language -> Doc AnsiStyle
reportPkgsToInstall_2 = \case
Japanese -> "AURのパッケージ:"
Polish -> "Pakiety AUR:"
Croatian -> "AUR Paketi:"
German -> "AUR Pakete:"
Spanish -> "AUR Paquetes:"
Norwegian -> "AUR Pakker:"
Italian -> "AUR Pacchetti:"
Portuguese -> "AUR Pacotes:"
French -> "AUR Paquets :"
Russian -> "AUR Пакеты:"
Indonesia -> "AUR Paket:"
Chinese -> "AUR 包:"
Swedish -> "AUR Paket:"
Esperanto -> "Pakaĵoj de AUR:"
Dutch -> "AUR Pakketten:"
_ -> "AUR Packages:"
reportPkgsToInstall_3 :: Language -> Doc AnsiStyle
reportPkgsToInstall_3 = \case
Japanese -> "AURの従属パッケージ:"
Polish -> "Zależności z AUR:"
Croatian -> "Zavisnosti iz AUR-a:"
Swedish -> "Beroenden ifrån AUR:"
German -> "Abhängigkeiten im AUR:"
Spanish -> "Dependencias en AUR:"
Portuguese -> "Dependências no AUR:"
French -> "Dépendances AUR\xa0:"
Russian -> "Зависимости из AUR:"
Italian -> "Dipendenze nell'AUR:"
Serbian -> "Зависности из AUR-а:"
Norwegian -> "Avhengigheter fra AUR:"
Esperanto -> "Dependencoj de AUR:"
Dutch -> "AUR-afhankelijkheden:"
_ -> "AUR dependencies:"
reportPkgbuildDiffs_1 :: PkgName -> Language -> Doc AnsiStyle
reportPkgbuildDiffs_1 (bt . pnName -> p) = \case
Japanese -> p <> "のPKGBUILDはまだ保存されていません。"
Polish -> p <> " nie ma jeszcze przechowywanego pliku PKGBUILD."
Croatian -> p <> " još nema pohranjen PKGBUILD."
German -> p <> " hat noch keinen gespeicherten PKGBUILD."
Spanish -> p <> " no tiene un PKGBUILD almacenado aún."
Portuguese -> p <> " não possui PKGBUILD."
French -> p <> " n'a pas encore de PKGBUILD enregistré."
Russian -> "У " <> p <> " ещё нет сохраненного PKGBUILD."
Italian -> p <> " non ci sono ancora PKGBUILD salvati"
Serbian -> p <> " још нема похрањен PKGBUILD."
Norwegian -> p <> " har ingen PKGBUILD ennå."
Indonesia -> p <> " tidak mempunyai PKGBUILD yang tersimpan untuk saat ini."
Chinese -> p <> " 还没有保存的 PKGBUILD。"
Swedish -> p <> " har ännu ingen PKGBUILD."
Esperanto -> p <> " ne havas PKGBUILD jam."
Dutch -> p <> " heeft nog geen opgeslagen PKGBUILD."
_ -> p <> " has no stored PKGBUILD yet."
reportPkgbuildDiffs_3 :: PkgName -> Language -> Doc AnsiStyle
reportPkgbuildDiffs_3 (bt . pnName -> p) = \case
Japanese -> p <> "のPKGBUILD変更報告:"
Polish -> "Zmiany w PKGBUILD dla " <> p <> ":"
Croatian -> "Promjene u PKGBUILD-u za " <> p <> ":"
German -> "PKGBUILD-Änderungen von " <> p <> ":"
Spanish -> "Cambios en el PKGBUILD de " <> p <> ":"
Portuguese -> "Mudanças no PKGBUILD de " <> p <> ":"
Russian -> "Изменения, вносимые " <> p <> " PKGBUILD:"
French -> "Changements du PKGBUILD de " <> p <> " :"
Italian -> "Cambiamenti nel PKGBUILD del pacchetto " <> p <>":"
Serbian -> "Промене PKGBUILD-a за " <> p <> ":"
Norwegian -> p <> "'s endringer i PKGBUILD:"
Indonesia -> "Perubahan PKGBUILD " <> p <> ":"
Chinese -> p <> " 的 PKGBUILD 变化:"
Swedish -> "Förändringar i PKGBUILD för " <> p <> ":"
Esperanto -> p <> " PKGBUILD ŝanĝoj:"
Dutch -> p <> " PKGBUILD aanpassingen:"
_ -> p <> " PKGBUILD changes:"
reportPkgsToUpgrade_1 :: Language -> Doc AnsiStyle
reportPkgsToUpgrade_1 = \case
Japanese -> "アップグレードするAURパッケージ:"
Polish -> "Pakiety z AUR do zaktualizowania:"
Croatian -> "AUR paketi za nadogradnju:"
Swedish -> "AUR-paket att uppgradera:"
German -> "Zu aktualisierendes AUR-Paket:"
Spanish -> "Paquetes de AUR a actualizar:"
Portuguese -> "Pacotes do AUR para atualizar:"
French -> "Paquets AUR à mettre à jour :"
Russian -> "Пакеты AUR, готовые для обновления:"
Italian -> "Pacchetti dell'AUR da aggiornare:"
Serbian -> "Пакети из AUR-а за надоградњу:"
Norwegian -> "AUR-pakker å oppgradere:"
Indonesia -> "Paket AUR yang akan ditingkatkan:"
Chinese -> "要升级的 AUR 包:"
Esperanto -> "Pakaĵoj de AUR ĝisdatigi:"
Dutch -> "AUR-Pakketten om te upgraden:"
_ -> "AUR Packages to upgrade:"
reportBadDowngradePkgs_1 :: Language -> Doc AnsiStyle
reportBadDowngradePkgs_1 = \case
Japanese -> "このパッケージはキャッシュには入っていないので、ダウングレードできません。"
Polish -> "Poniższe pakiety nie są zainstalowane i nie mogą być zainstalowane w starszej wersji:"
Croatian -> "Sljedeći paketi nisu instalirani te se stoga ne mogu vratiti na stare verzije:"
Swedish -> "Följande paket är inte installerade, och kan därför inte bli nergraderade:"
German -> "Folgende Pakete sind in keiner Version im Cache und können daher nicht gedowngradet werden:"
Spanish -> "Los siguientes paquetes no tienen versiones en la caché, por lo que no se pueden bajar a versiones anteriores:"
Portuguese -> "Os seguintes pacotes não possuem versões no cache, logo não podem retornar a uma versão anterior:"
French -> "Aucune version des paquets suivants n'est présente dans le cache ; ils ne peuvent pas être mis à niveau à une version antérieure :"
Russian -> "Следующих пакетов нет в кэше. Следовательно, они не могут быть откачены к старой версии:"
Italian -> "Nessuna versione dei seguenti pacchetti è disponibile nella cache, perciò non è possibile riportarli ad una versione precedente:"
Serbian -> "Следећи пакети нису ни инсталирани, те се не могу вратити на старију верзију:"
Norwegian -> "Følgende pakker har ingen versjoner i cache, og kan derfor ikke bli nedgradert:"
Indonesia -> "Berikut ini tidak mempunyai versi pada cache, sehingga tidak akan diturunkan:"
Chinese -> "以下包在缓存中没有版本,所以无法被降级:"
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."
_ -> "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é."
Italian -> pretty p <+> "non ha alcuna versione nella cache."
Dutch -> pretty p <+> "heeft geen versie in de cache."
_ -> pretty p <+> "has no version in the cache."
upgradeAURPkgs_1 :: Language -> Doc AnsiStyle
upgradeAURPkgs_1 = \case
Japanese -> "パッケージ情報をダウンロード中・・・"
Polish -> "Pobieranie informacji o pakietach..."
Croatian -> "Preuzimanje podataka o paketima..."
Swedish -> "Hämtar paketinformation..."
German -> "Rufe Paketinformationen ab..."
Spanish -> "Obteniendo información de los paquetes..."
Portuguese -> "Obtendo informação dos pacotes..."
French -> "Obtention des informations des paquets en cours…"
Russian -> "Сборка информации о пакетах..."
Italian -> "Ottenimento di informazioni sui pacchetti..."
Serbian -> "Преузимање информација о пакетима..."
Norwegian -> "Henter pakkeinformasjon..."
Indonesia -> "Mengambil informasi paket..."
Chinese -> "正在获取包信息..."
Esperanto -> "Venigas informacion de pakaĵoj..."
Dutch -> "Pakket informatie aan het ophalen..."
_ -> "Fetching package information..."
upgradeAURPkgs_2 :: Language -> Doc AnsiStyle
upgradeAURPkgs_2 = \case
Japanese -> "バージョンを比較中・・・"
Polish -> "Porównywanie wersji pakietów..."
Croatian -> "Uspoređivanje verzija paketa..."
Swedish -> "Jämför paket-versioner..."
German -> "Vergleiche Paketversionen..."
Spanish -> "Comparando versiones de los paquetes..."
Portuguese -> "Comparando versões dos pacotes..."
French -> "Comparaison des versions des paquets en cours…"
Russian -> "Сравнение версий пакетов..."
Italian -> "Esecuzione di un confronto fra le versioni dei pacchetti..."
Serbian -> "Упоређивање верзија пакета..."
Norwegian -> "Sammenligner pakkeversjoner..."
Indonesia -> "Membandingkan versi paket..."
Chinese -> "正在比较包的版本..."
Esperanto -> "Komparas versiojn de pakaĵoj..."
Dutch -> "Pakket versies aan het vergelijken..."
_ -> "Comparing package versions..."
upgradeAURPkgs_3 :: Language -> Doc AnsiStyle
upgradeAURPkgs_3 = \case
Japanese -> "アップグレードは必要ありません。"
Polish -> "Nie jest wymagana aktualizacja pakietów z AUR."
Croatian -> "Svi AUR paketi su ažurirani."
Swedish -> "Inga AUR-paketsuppgraderingar behövs."
German -> "Keine Aktualisierungen für AUR-Paket notwendig."
Spanish -> "No es necesario actualizar paquetes de AUR."
Portuguese -> "Nenhum pacote do AUR precisa de atualização."
French -> "Aucune mise à jour de paquet AUR n'est nécessaire."
Russian -> "Обновление пакетов из AUR не требуется."
Italian -> "Nessun pacchetto dell'AUR necessita di aggiornamenti."
Serbian -> "Ажурирање пакета из AUR-а није потребно."
Norwegian -> "Ingen pakkeoppgradering fra AUR nødvendig."
Indonesia -> "Tidak ada peningkatan AUR yang dibutuhkan."
Chinese -> "没有需要升级的 AUR 包。"
Esperanto -> "Ne ĝisdatigoj de pakaĵoj de AUR necesas."
Dutch -> "Geen AUR-pakket upgrades vereist."
_ -> "No AUR package upgrades necessary."
removeMakeDepsAfter_1 :: Language -> Doc AnsiStyle
removeMakeDepsAfter_1 = \case
Japanese -> "あと片付け。必要ないパッケージを削除:"
Polish -> "Usuwanie niepotrzebnych zależności potrzebnych do budowy..."
Croatian -> "Uklanjanje nepotrebnih zavisnosti vezanih uz izgradnju..."
Swedish -> "Tar bort obehövda beroenden för `make`..."
German -> "Entferne nicht benötigte make-Abhängigkeiten..."
Spanish -> "Removiendo dependencias `make` innecesarias..."
Portuguese -> "Removendo dependências `make` desnecessárias..."
French -> "Suppression des dépendances inutiles…"
Russian -> "Удаление ненужных зависимостей make..."
Italian -> "Rimozione delle dipendenze utilizzate per la compilazione..."
Serbian -> "Уклањање непотребних зависности за изградњу..."
Norwegian -> "Fjerner unødvendige make-avhengigheter..."
Indonesia -> "Menghapus dependensi `make` yang tidak dibutuhkan..."
Chinese -> "移除不需要的 make 依赖..."
Esperanto -> "Forigas nenecesajn dependecojn de make..."
Dutch -> "Onnodige make afhankelijkheden aan het verwijderen..."
_ -> "Removing unneeded make dependencies..."
cleanStates_2 :: Int -> Language -> Doc AnsiStyle
cleanStates_2 n@(bt . tshow -> s) = \case
Japanese -> s <> "個のパッケージ状態記録だけが残される。その他削除?"
Polish -> s <> " stan pakietów zostanie zachowany. Usunąć resztę?"
Croatian -> s <> " stanja paketa će biti zadržano. Ukloniti ostatak?"
German -> s <> " Paketzustände werden behalten. Den Rest entfernen?"
Spanish -> "El estado del paquete" <> s <> " se mantendrá. ¿Deseas eliminar el resto?"
Serbian -> s <> " стања пакета ће бити сачувано. Уклонити остатак?"
Norwegian -> s <> " pakketilstander vil bli beholdt. Vil du fjerne resten?"
Italian -> "Lo stato del pacchetto" <> s <> " sarà mantenuto. Rimuovere il resto?"
Portuguese -> s <> " estados de pacotes serão mantidos. Remover o resto?"
French -> s <> " états des paquets vont être conservés. Supprimer le reste ?"
Russian -> s <> pluralRussian " состояние пакетов будет оставлено." " состояния пакетов будут оставлены." " состояний пакетов будет оставлено." n <> " Удалить оставшиеся?"
Indonesia -> s <> " paket akan tetap sama. Hapus yang lainnya?"
Chinese -> s <> " 个包的状态将会保留。删除其它的?"
Swedish -> s <> " paket kommer att bevaras. Ta bort resten?"
Esperanto -> s <> " statoj de pakaĵoj teniĝas. Ĉu forigi la ceteron?"
Dutch -> s <> " pakketstatussen worden behouden. De rest verwijderen?"
_ -> s <> " package states will be kept. Remove the rest?"
cleanStates_3 :: Language -> Doc AnsiStyle
cleanStates_3 = \case
Japanese -> "何も削除しないで終了します。"
Polish -> "Żaden stan pakietu nie został usunięty."
Croatian -> "Nijedno stanje paketa nije uklonjeno."
German -> "Keine Paketzustände wurden entfernt."
Spanish -> "No se han eliminado estados de los paquetes."
Serbian -> "Ниједно стање пакета није уклоњено."
Norwegian -> "Ingen pakketilstander ble fjernet."
Italian -> "Nessuno stato dei pacchetti è stato rimosso."
Portuguese -> "Nenhum estado de pacote será removido."
French -> "Aucun état des paquets n'a été supprimé."
Russian -> "Состояния пакетов отались нетронутыми."
Indonesia -> "Tidak ada paket yang dihapus."
Chinese -> "没有删除任何包。"
Swedish -> "Inga paket togs bort."
Esperanto -> "Ne statojn de pakaĵoj forigis."
Dutch -> "Geen pakketstatussen verwijderd."
_ -> "No package states were removed."
cleanStates_4 :: Int -> Language -> Doc AnsiStyle
cleanStates_4 n = \case
Japanese -> "現在のパッケージ状態記録:" <> pretty n <> "個。"
Polish -> "Chwilowo posiadasz" <+> pretty n <+> "zapisanych stanów pakietów."
Spanish -> "Actualmente tiene " <+> pretty n <+> "estados de paquetes guardados."
Russian -> "У вас сейчас " <+> pretty n <+> pluralRussian " сохраненное состояние пакета" " сохраненных состояний пакета" " сохраненных состояний пакетов." n
Italian -> "Al momento ci sono" <+> pretty n <+> "stati di pacchetti salvati."
Esperanto -> "Vi havas " <+> pretty n <+> " konservajn statojn de pakaĵoj."
Dutch -> "U heeft momenteel" <+> pretty n <+> "opgeslagen pakketstatussen."
_ -> "You currently have" <+> pretty n <+> "saved package states."
cleanStates_5 :: Text -> Language -> Doc AnsiStyle
cleanStates_5 t = \case
Japanese -> "一番最近に保存されたのは:" <> 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
_ -> "Most recently saved:" <+> pretty t
cleanStates_6 :: Int -> Language -> Doc AnsiStyle
cleanStates_6 n = \case
Polish -> pretty n <+> "jest przypiętych i nie zostanie usuniętych."
Spanish -> pretty n <+> "de estos están anclados y no se eliminarán."
Italian -> pretty n <+> "di questi sono stati fissati, perciò non saranno rimossi."
Dutch -> pretty n <+> "hiervan zijn vastgezet, en worden niet verwijderd."
_ -> pretty n <+> "of these are pinned, and won't be removed."
readState_1 :: Language -> Doc AnsiStyle
readState_1 = \case
Polish -> "Ten plik stanu nie mógł zostać odczytany. Czy jest to prawidłowy plik JSON?"
Spanish -> "Ese archivo de estado no se pudo analizar. ¿Es un archivo JSON válido?"
Portuguese -> "O arquivo de estado não pôde ser interpretado. É um arquivo JSON válido?"
Russian -> "Это состояние не распознано. Это корректный JSON?"
Italian -> "Non è stato possibile analizzare il file di stato. E' correttamente formattato in JSON?"
Esperanto -> "Tiu statdosiero paneis sintake analizi. Ĉu ĝi estas valida JSON?"
Dutch -> "Dat statusbestand kon niet worden geparseerd. Is het legale JSON?"
_ -> "That state file failed to parse. Is it legal JSON?"
getDowngradeChoice_1 :: PkgName -> Language -> Doc AnsiStyle
getDowngradeChoice_1 (bt . pnName -> p) = \case
Japanese -> p <> "はどのバージョンにしますか?"
Polish -> "Którą wersję pakietu " <> p <> " zainstalować?"
Croatian -> "Koju verziju paketa " <> p <> " želite?"
Swedish -> "Vilken version av " <> p <> " vill du ha?"
German -> "Welche Version von " <> p <> " möchten Sie haben?"
Spanish -> "¿Qué versión de " <> p <> " deseas?"
Portuguese -> "Qual versão de " <> p <> " deseja?"
French -> "Quelle version de " <> p <> " voulez-vous ?"
Russian -> "Какую версию " <> p <> " вы хотите?"
Italian -> "Quale versione di " <> p <> " preferisci?"
Serbian -> "Коју верзију " <> p <> "-а желите?"
Norwegian -> "Hvilken versjon av " <> p <> " vil du ha?"
Indonesia -> "Versi dari paket " <> p <> " mana yang anda inginkan?"
Chinese -> "你希望安装 " <> p <> " 的哪个版本?"
Esperanto -> "Kiu versio de " <> p <> " vi volas?"
Dutch -> "Welke versie van " <> p <> " wil je?"
_ -> "What version of " <> p <> " do you want?"
backupCache_3 :: Language -> Doc AnsiStyle
backupCache_3 = \case
Japanese -> "バックアップ先は存在しません。"
Polish -> "Lokalizacja kopii zapasowych nie istnieje."
Croatian -> "Lokacija sigurnosne kopije ne postoji."
Swedish -> "Specifierad backup-plats finns inte."
German -> "Der Sicherungsort existiert nicht."
Spanish -> "La localización para copia de seguridad no existe."
Portuguese -> "Localização do backup não existe."
French -> "Le chemin des copies de sauvegarde spécifié n'existe pas."
Russian -> "Путь к бэкапу не существует."
Italian -> "La locazione di backup non esiste."
Serbian -> "Путања ка бекапу не постоји."
Norwegian -> "Spesifisert backup-plass finnes ikke."
Indonesia -> "Lokasi `backup` tidak ada."
Chinese -> "备份位置不存在。"
Esperanto -> "La savkopia loko ne ekzistas."
Dutch -> "De back-up lokatie bestaat niet."
_ -> "The backup location does not exist."
backupCache_4 :: FilePath -> Language -> Doc AnsiStyle
backupCache_4 (bt . T.pack -> dir) = \case
Japanese -> "キャッシュのバックアップ先:" <> dir
Polish -> "Tworzenie kopii zapasowej pamięci podręcznej w " <> dir
Croatian -> "Stvaram sigurnosnu kopiju u " <> dir
Swedish -> "Tar backup på cache-filer till " <> dir
German -> "Sichere Cache in " <> dir
Spanish -> "Haciendo una copia de seguridad de la caché en " <> dir
Portuguese -> "Backup do cache sendo feito em " <> dir
French -> "Copie de sauvegarde dans " <> dir <> "."
Russian -> "Бэкап создается в директории " <> dir
Italian -> "Eseguo un backup della cache in " <> dir
Serbian -> "Бекапујем кеш у " <> dir
Norwegian -> "Tar backup på cache til " <> dir
Indonesia -> "Melakukan `backup` pada direktori " <> dir
Chinese -> "正在将缓存备份到 " <> dir
Esperanto -> "Enarkivigas la kaŝdosieron al " <> dir
Dutch -> "Back-up van cache aan het maken naar " <> dir
_ -> "Backing up cache to " <> dir
backupCache_5 :: Int -> Language -> Doc AnsiStyle
backupCache_5 (bt . tshow -> n) = \case
Japanese -> "パッケージのファイル数:" <> n
Polish -> "Pliki będące częścią\xa0kopii zapasowej: " <> n
Croatian -> "Datoteke koje su dio sigurnosne kopije: " <> n
Swedish -> "Paket-filer att ta backup på: " <> n
German -> "Zu sichernde Paketdateien: " <> n
Spanish -> "Ficheros de paquetes de los que se hará copia de seguridad: " <> n
Portuguese -> "Arquivos de pacotes para backup: " <> n
French -> "Copie de sauvegarde des fichiers de paquets suivants : " <> n
Russian -> "Файлы пакета для бэкапа: " <> n
Italian -> "Archivi dei pacchetti per cui sarà eseguito un backup: " <> n
Serbian -> "Датотеке за бекап: " <> n
Norwegian -> "Pakker som blir tatt backup på: " <> n
Indonesia -> "Jumlah paket yang di-`backup`: " <> n
Chinese -> "将要备份的包文件:" <> n
Esperanto -> "La dosierojn de la pakaĵoj enarkivigi: " <> n
Dutch -> "Pakketbestanden om te back-uppen: " <> n
_ -> "Package files to backup: " <> n
backupCache_6 :: Language -> Doc AnsiStyle
backupCache_6 = \case
Japanese -> "バックアップを実行しますか?"
Polish -> "Kontynuować tworzenie kopii zapasowej?"
Croatian -> "Nastavi sa stvaranjem sigurnosne kopije?"
Swedish -> "Fortsätt med backup?"
German -> "Sicherung fortsetzen?"
Spanish -> "¿Proceder con la copia de seguridad?"
Portuguese -> "Proceder com o backup?"
French -> "Procéder à la copie de sauvegarde ?"
Russian -> "Продолжить создание бэкапа?"
Italian -> "Procedere con il backup?"
Serbian -> "Наставити бекаповање?"
Norwegian -> "Fortsett med backup?"
Indonesia -> "Lanjutkan dengan `backup`?"
Chinese -> "开始备份?"
Esperanto -> "Ĉu daŭrigu enarkivigi?"
Dutch -> "Doorgaan met back-up?"
_ -> "Proceed with backup?"
backupCache_7 :: Language -> Doc AnsiStyle
backupCache_7 = \case
Japanese -> "バックアップは意図的に阻止されました。"
Polish -> "Tworzenie kopii zapasowej zostało przerwane przez użytkownika."
Croatian -> "Stvaranje sigurnosne kopije prekinuto od strane korisnika."
Swedish -> "Backup avbröts manuellt."
German -> "Backup durch Benutzer abgebrochen."
Spanish -> "Copia de seguridad abortada manualmente."
Portuguese -> "Backup cancelado manualmente."
French -> "Copie de sauvegarde manuelle annulée."
Russian -> "Создание бэкапа прервано пользователем."
Italian -> "Backup interrotto manualmente."
Serbian -> "Бекаповање је ручно прекинуто."
Norwegian -> "Backup ble avbrutt manuelt."
Indonesia -> "Proses `backup` dibatalkan secara paksa."
Chinese -> "手动备份已中止。"
Esperanto -> "Enarkivigadon ĉesigis permane."
Dutch -> "Back-up handmatig afgebroken."
_ -> "Backup manually aborted."
backupCache_8 :: Language -> Doc AnsiStyle
backupCache_8 = \case
Japanese -> "バックアップ中。数分かかるかもしれません。"
Polish -> "Tworzenie kopii zapasowej. To może potrwać kilka minut..."
Croatian -> "Stvaranje sigurnosne kopije. Ovo može potrajati nekoliko minuta..."
Swedish -> "Tar backup. Det här kan ta ett tag..."
German -> "Sichere. Dies kann einige Minuten dauern..."
Spanish -> "Haciendo copia de seguridad. Esto puede tardar unos minutos..."
Portuguese -> "Efetuando backup. Isso pode levar alguns minutos..."
French -> "Copie de sauvegarde en cours. Ceci peut prendre quelques minutes…"
Russian -> "Создается бэкап. Это может занять пару минут..."
Italian -> "Esecuzione del backup in corso. Potrebbe volerci qualche minuto..."
Serbian -> "Бекапујем. Ово може да потраје пар минута..."
Norwegian -> "Tar backup. Dette kan ta en stund..."
Indonesia -> "Melakukan `backup`. Proses ini akan berjalan untuk beberapa menit..."
Chinese -> "正在备份中。可能需要几分钟的时间..."
Esperanto -> "Enarkiviganta. Ĉi tiu eble daŭros dum kelkaj tagoj..."
Dutch -> "Aan het back-uppen. Dit kan een aantal minuten duren..."
_ -> "Backing up. This may take a few minutes..."
copyAndNotify_1 :: Int -> Language -> Doc AnsiStyle
copyAndNotify_1 (cyan . pretty -> n) = \case
Japanese -> "#[" <> n <> "]をコピー中・・・"
Polish -> "Kopiowanie #[" <> n <> "]"
Croatian -> "Kopiranje #[" <> n <> "]"
Swedish -> "Kopierar #[" <> n <> "]"
German -> "Kopiere #[" <> n <> "]"
Spanish -> "Copiando #[" <> n <> "]"
Portuguese -> "Copiando #[" <> n <> "]"
French -> "Copie de #[" <> n <> "]"
Russian -> "Копируется #[" <> n <> "]"
Italian -> "Copiando #[" <>n <> "]"
Serbian -> "Копирам #[" <> n <> "]"
Norwegian -> "Kopierer #[" <> n <> "]"
Indonesia -> "Menyalin #[" <> n <> "]"
Chinese -> "正在复制 #[" <> n <> "]"
Esperanto -> "Kopianta #[" <> n <> "]"
Dutch -> "Kopiëren #[" <> n <> "]"
_ -> "Copying #[" <> n <> "]"
cleanCache_2 :: Language -> Doc AnsiStyle
cleanCache_2 = \case
Japanese -> "パッケージ・キャッシュは完全に削除されます。"
Polish -> "To usunie WSZYSTKIE pakiety z pamięci podręcznej."
Croatian -> "Ovo će izbrisati CIJELI cache paketa."
Swedish -> "Detta kommer ta bort HELA paket-cachen."
German -> "Dies wird den GESAMTEN Paketcache leeren."
Spanish -> "Esto eliminará POR COMPLETO la caché de paquetes."
Portuguese -> "Isso removerá TODOS OS PACOTES do cache."
French -> "Ceci va supprimer la TOTALITÉ du cache des paquets."
Russian -> "Это действие ВСЕЦЕЛО уничтожит кэш пакетов."
Italian -> "Questa operazione cancellerà l'INTERA cache dei pacchetti."
Serbian -> "Ово ће избрисати ЦЕО кеш пакета."
Norwegian -> "Dette vil slette HELE pakke-cachen."
Indonesia -> "Akan menghapus SEMUA `cache` paket"
Chinese -> "这将会删除全部的包缓存。"
Esperanto -> "Ĉi tiu forigos la TUTAN kaŝmemoron de pakaĵoj."
Dutch -> "Hiermee wordt de GEHELE pakketcache verwijderd."
_ -> "This will delete the ENTIRE package cache."
cleanCache_3 :: Word -> Language -> Doc AnsiStyle
cleanCache_3 n@(bt . tshow -> s) = \case
Japanese -> "パッケージ・ファイルは" <> s <> "個保存されます。"
Polish -> s <> " wersji każdego pakietu zostanie zachowane."
Croatian -> s <> " zadnjih verzija svakog paketa će biti zadržano."
Swedish -> s <> " av varje paketfil kommer att sparas."
German -> s <> " jeder Paketdatei wird behalten."
Spanish -> "Se mantendrán " <> s <> " ficheros de cada paquete."
Portuguese -> s <> " arquivos de cada pacote serão mantidos."
French -> s <> " fichiers de chaque paquet sera conservé."
Russian -> s <> pluralRussian " версия каждого пакета будет нетронута." " версии каждого пакета будут нетронуты." " версий каждого пакета будут нетронуты." n
Italian -> "Saranno mantenuti " <> s <> " file di ciascun pacchetto."
Serbian -> s <> " верзије сваког од пакета ће бити сачуване."
Norwegian -> s <> " av hver pakkefil blir beholdt."
Indonesia -> s <> " berkas dari tiap paket akan disimpan."
Chinese -> "每个包文件将会保存 " <> s <> " 个版本。"
Esperanto -> s <> " de ĉiu dosiero de pakaĵo teniĝos."
Dutch -> s <> " van elk pakketbestand wordt bewaard."
_ -> s <> " of each package file will be kept."
cleanCache_4 :: Language -> Doc AnsiStyle
cleanCache_4 = \case
Japanese -> "残りは全部削除されます。承知していますか?"
Polish -> "Wszystko inne zostanie usunięte. Na pewno?"
Croatian -> "Ostali paketi će biti izbrisani. Jeste li sigurni?"
Swedish -> "Resten kommer att tas bort. Är det OK?"
German -> "Der Rest wird gelöscht. Ist das OK?"
Spanish -> "El resto se eliminarán. ¿De acuerdo?"
Portuguese -> "O resto será removido. OK?"
French -> "Le reste sera supprimé. Êtes-vous d'accord ?"
Russian -> "Всё остальное будет удалено. Годится?"
Italian -> "Il resto sarà rimosso. Continuare?"
Serbian -> "Остатак ће бити избрисан. Да ли је то у реду?"
Norwegian -> "Resten vil bli slettet. Er det OK?"
Indonesia -> "Selainnya akan dihapus. Ikhlas kan?"
Chinese -> "其余的将会被删除。确定?"
Esperanto -> "La cetero foriĝos. Ĉu bone?"
Dutch -> "De rest wordt verwijderd. OK?"
_ -> "The rest will be deleted. Okay?"
cleanCache_5 :: Language -> Doc AnsiStyle
cleanCache_5 = \case
Japanese -> "削除の続行は意図的に阻止されました。"
Polish -> "Czyszczenie pamięci podręcznej zostało przerwane przez użytkownika."
Croatian -> "Čišćenje cache-a paketa prekinuto od strane korisnika."
Swedish -> "Cache-rensning avbröts manuellt."
German -> "Leeren des Caches durch Benutzer abgebrochen."
Spanish -> "Limpieza de la caché abortada manualmente."
Portuguese -> "Limpeza do cache cancelada manualmente."
French -> "Le nettoyage du cache a été arrêté manuellement."
Russian -> "Очистка кэша прервана пользователем."
Italian -> "La pulizia della cache è stata interrotta manualmente."
Serbian -> "Чишћење кеша је ручно прекинуто."
Norwegian -> "Cache-rensing ble avbrutt manuelt."
Indonesia -> "Pembersihan `cache` dibatalkan secara paksa."
Chinese -> "手动清理缓存已中止。"
Esperanto -> "Puriganta Kaŝmemoro ĉesis permane."
Dutch -> "Cachereiniging handmatig afgebroken."
_ -> "Cache cleaning manually aborted."
cleanCache_6 :: Language -> Doc AnsiStyle
cleanCache_6 = \case
Japanese -> "パッケージ・キャッシュを掃除中・・・"
Polish -> "Czyszczenie pamięci podręcznej..."
Croatian -> "Čišćenje cache-a paketa..."
Swedish -> "Rensar paket-cache..."
German -> "Leere Paketcache..."
Spanish -> "Limpiando la caché de paquetes..."
Portuguese -> "Limpando cache de pacotes..."
French -> "Nettoyage du cache des paquets…"
Russian -> "Очистка кэша пакета..."
Italian -> "Pulizia della cache dei pacchetti..."
Serbian -> "Чишћење кеша..."
Norwegian -> "Renser pakke-cache..."
Indonesia -> "Membersihkan `cache` paket..."
Chinese -> "正在清理包缓存..."
Esperanto -> "Purigas Kaŝmemoron de pakaĵoj..."
Dutch -> "Pakketcache aan het reinigen..."
_ -> "Cleaning package cache..."
cleanCache_7 :: Word -> Word -> Language -> Doc AnsiStyle
cleanCache_7 (bt . tshow -> ps) (bt . tshow -> bytes) = \case
Polish -> "Pamięć podręczna posiada " <> ps <> " pakietów, zajmujących " <> bytes <> " megabajtów."
Spanish -> "La caché contiene " <> ps <> " paquetes, consumiendo " <> bytes <> " megabytes."
_ -> "The cache contains " <> ps <> " packages, consuming " <> bytes <> " megabytes."
cleanCache_8 :: Word -> Language -> Doc AnsiStyle
cleanCache_8 (bt . tshow -> bytes) = \case
Polish -> bytes <> " megabajtów zwolnionych."
Spanish -> bytes <> " megabytes liberados."
_ -> bytes <> " megabytes freed."
cleanCache_9 :: Word -> Language -> Doc AnsiStyle
cleanCache_9 (bt . tshow -> w) = \case
_ -> w <> " versions of each installed package will be kept."
cleanNotSaved_1 :: Language -> Doc AnsiStyle
cleanNotSaved_1 = \case
Japanese -> "不要パッケージファイルを確認・・・"
Polish -> "Określanie niepotrzebnych plików pakietów..."
Croatian -> "Pronalazim nepotrebne datoteke paketa..."
German -> "Bestimme nicht benötigte Paketdateien..."
Spanish -> "Determinando ficheros de paquetes innecesarios..."
Norwegian -> "Finner unødige pakkefiler..."
Italian -> "Inviduazione dei pacchetti non più necessari..."
Portuguese -> "Determinando pacotes não necessários..."
French -> "Détermination des fichiers de paquet inutiles…"
Russian -> "Вычисляются ненужные файлы пакетов..."
Indonesia -> "Menentukan berkas paket yang tidak dibutuhkan..."
Chinese -> "正在确定不需要的包文件..."
Swedish -> "Beräknar onödiga paketfiler..."
Esperanto -> "Decidas nebezonajn dosierojn de pakaĵoj..."
Dutch -> "Overbodige pakketbestanden aan het vaststellen..."
_ -> "Determining unneeded package files..."
cleanNotSaved_2 :: Int -> Language -> Doc AnsiStyle
cleanNotSaved_2 n@(cyan . pretty -> s) = \case
Japanese -> "「" <> s <> "」の不要パッケージファイルがあります。削除しますか?"
Polish -> s <> " niepotrzebnych plików zostało znalezionych. Usunąć?"
Croatian -> s <> " nepotrebnih datoteka pronađeno. Obrisati?"
German -> s <> " nicht benötigte Paketdateien gefunden. Löschen?"
Spanish -> s <> " ficheros innecesarios de paquetes encontrados. ¿Deseas eliminarlos?"
Norwegian -> s <> " unødige pakkefiler funnet. Vil du slette?"
Italian -> "Sono stati trovati " <> s <> " file non necessari per i pacchetti. Cancellarli?"
Portuguese -> s <> " pacotes não necessários encontrados. Removê-los?"
French -> s <> " paquets inutiles trouvés. Les supprimer ?"
Russian -> pluralRussian ("Обнаружен " <> s <> " ненужный файл пакета.") ("Обнаружены " <> s <> " ненужных файла пакетов.") ("Обнаружено " <> s <> " ненужных файлов пакетов.") n <> " Удалить?"
Indonesia -> s <> " berkas paket yang tidak dibutuhkan ditemukan. Hapus?"
Chinese -> "发现了 " <> s <> " 个不需要的包文件。是否删除?"
Swedish -> s <> " oanvända paket hittades. Ta bort?"
Esperanto -> s <> " nebezonajn dosierojn de pakaĵoj trovis. Ĉu forigi"
Dutch -> s <> " overbodige pakketbestanden gevonden. Verwijderen?"
_ -> s <> " unneeded package files found. Delete?"
logLookUpFields :: Language -> [Text]
logLookUpFields = sequence [ Fields.package
, Fields.firstInstall
, Fields.upgrades
, Fields.recentActions ]
reportNotInLog_1 :: Language -> Doc AnsiStyle
reportNotInLog_1 = \case
Japanese -> "logファイルには出ていない:"
Polish -> "Tych pakietów nie ma w dzienniku:"
Croatian -> "Ovih paketa nema u dnevniku:"
Swedish -> "Dessa har inte framkommit i loggfiler:"
German -> "Diese sind nicht in der Logdatei aufgetaucht:"
Spanish -> "Estos no aparecen en el fichero log:"
Portuguese -> "Os seguintes não apareceram no arquivo de log:"
French -> "Ceci n'apparaît pas des les journaux (log) :"
Russian -> "Следующих пакетов нет в лог-файле:"
Italian -> "Questi non sono apparsi nel file di log:"
Serbian -> "Ови пакети се не спомињу у дневнику:"
Norwegian -> "Følgende har ikke vist seg i loggen:"
Indonesia -> "Tidak terlihat pada berkas log:"
Chinese -> "这些没有在日志文件中出现:"
Esperanto -> "Ĉi tiuj ne enestis la protokolajn dosierojn:"
Dutch -> "Deze zijn niet verschenen in het logbestand:"
_ -> "These have not appeared in the log file:"
packageNotFound_1 :: Language -> Doc AnsiStyle
packageNotFound_1 = \case
_ -> "No packages found."
connectFailure_1 :: Language -> Doc AnsiStyle
connectFailure_1 = \case
Polish -> "Nie udało się nawiązać połączenia z AUR. Czy jesteś połączony z internetem?"
Spanish -> "No se pudo contactar con el AUR. ¿Tienes conexión a internet?"
Italian -> "Non è stato possibile contattare l'AUR. Il computer è connesso ad internet?"
Dutch -> "Contact opnemen met de AUR mislukt. Heeft U een internet connectie?"
_ -> "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]
miscAURFailure_1 :: Language -> Doc AnsiStyle
miscAURFailure_1 = \case
Polish -> "Wystąpił nieznany błąd podczas próby łączenia z 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."
_ -> "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."
Spanish -> "El JSON devuelto por el servidor AUR no se pudo decodificar."
_ -> "The JSON returned from the AUR server could not be decoded."
infoFields :: Language -> [Text]
infoFields = sequence [ Fields.repository
, Fields.name
, Fields.version
, Fields.aurStatus
, Fields.maintainer
, Fields.projectUrl
, Fields.aurUrl
, Fields.license
, Fields.dependsOn
, Fields.buildDeps
, Fields.votes
, Fields.popularity
, Fields.description
]
outOfDateMsg :: Maybe Int -> Language -> Doc AnsiStyle
outOfDateMsg (Just _) = red . \case
Japanese -> "AURで要更新!"
Polish -> "Nieaktualny!"
Croatian -> "Zastarjelo!"
Swedish -> "Utdaterad!"
German -> "Veraltet!"
Spanish -> "¡Desactualizado!"
Portuguese -> "Desatualizado!"
French -> "Périmé !"
Russian -> "Устарел!"
Italian -> "Non aggiornato all'ultima versione!"
Serbian -> "Застарео!"
Norwegian -> "Utdatert!"
Indonesia -> "Ketinggalan Zaman!"
Chinese -> "过期!"
Esperanto -> "Neĝisdata!"
Dutch -> "Verouderd!"
_ -> "Out of Date!"
outOfDateMsg Nothing = green . \case
Japanese -> "最新"
Polish -> "Aktualny"
Croatian -> "Ažurirano"
Swedish -> "Aktuell"
German -> "Aktuell"
Spanish -> "Actualizado"
Portuguese -> "Atualizado"
French -> "À jour"
Russian -> "Новейший"
Italian -> "Aggiornato all'ultima versione"
Serbian -> "Ажуран"
Norwegian -> "Oppdatert"
Indonesia -> "Mutakhir"
Chinese -> "最新"
Esperanto -> "Ĝisdata"
Dutch -> "Up-to-date"
_ -> "Up to Date"
orphanedMsg :: Maybe Text -> Language -> Doc AnsiStyle
orphanedMsg (Just m) = const (pretty m)
orphanedMsg Nothing = red . \case
Japanese -> "孤児です!"
Polish -> "Osierocony!"
Croatian -> "Nema roditelja!"
German -> "Verwaist!"
Spanish -> "¡Huérfano!"
Norwegian -> "Foreldreløs!"
Portuguese -> "Órfão!"
French -> "Abandonné !"
Russian -> "Осиротевший!"
Italian -> "Orfano!"
Indonesia -> "Tak dipelihara!"
Chinese -> "孤包!"
Swedish -> "Föräldralös!"
Esperanto -> "Orfita!"
Dutch -> "Verweest!"
_ -> "Orphaned!"
saveState_1 :: Language -> Doc AnsiStyle
saveState_1 = \case
Japanese -> "パッケージ状態の保存完了。"
Polish -> "Zachowano stan pakietów"
Croatian -> "Stanje paketa spremljeno."
German -> "Paketzustand gesichert."
Spanish -> "Estado del paquete salvado."
Serbian -> "Сачувано стање пакета."
Norwegian -> "Lagret pakketilstand."
Italian -> "Stato del pacchetto salvato."
Portuguese -> "Estado de pacote salvo."
French -> "État des paquets sauvegardé."
Russian -> "Состояние пакетов сохранено."
Indonesia -> "Kondisi paket tersimpan."
Chinese -> "已保存包状态。"
Swedish -> "Det lokala pakettillståndet har sparats."
Esperanto -> "Konservita stato de pakaĵo."
Dutch -> "Pakketstatus opgeslagen."
_ -> "Saved package state."
restoreState_1 :: Language -> Doc AnsiStyle
restoreState_1 = \case
Japanese -> "対象バージョンがないパッケージ:"
Polish -> "Starsze wersje nie są dostępne dla:"
Croatian -> "Tražene stare verzije nisu dostupne za:"
German -> "Gewünschte Downgrade-Versionen nicht verfügbar für:"
Spanish -> "Versiones anteriores no disponibles para:"
Serbian -> "Захтеване старе верзије нису доступне за:"
Norwegian -> "De spesifiserte nedgraderingsversjonene er ikke tilgjengelig for:"
Italian -> "Non sono disponibili versioni precedenti a cui tornare per:"
Portuguese -> "Versões anteriores requisitadas não disponívels para:"
French -> "Version antérieure requise non disponible pour :"
Russian -> "Запрошенные версии для отката не доступны для:"
Indonesia -> "Versi yang diturunkan tidak tersedia untuk: "
Chinese -> "请求的降级版本对以下包不可用:"
Swedish -> "Den begärda nedgraderingen finns inte tillgänglig för:"
Esperanto -> "Petitajn malpromociajn versiojn ne estas disponebla de:"
Dutch -> "Verzochtte downgrade versies niet beschikbaar voor:"
_ -> "Requested downgrade versions not available for:"
restoreState_2 :: Language -> Doc AnsiStyle
restoreState_2 = \case
Japanese -> "保存されたパッケージ状態がない。作るには「-B」を。"
Polish -> "Brak zapisanych stanów do przywrócenia. (Użyj -B by zapisać aktualny stan)"
Spanish -> "No hay estados guardados para ser restaurados. (Utilice -B para guardar el estado actual)"
Portuguese -> "Nenhum estado disponível para ser recuperado. (Utilize -B para salvar o estado atual)"
Russian -> "Нет сохраненных состояний для восстановления. (Используйте -B для сохранения текущего состояния)"
Italian -> "Nessuno stato precedente a cui tornare. (Usa -B per salvare lo stato attuale)"
Chinese -> "没有要恢复的已保存状态。(使用 -B 保存当前状态)"
Swedish -> "Inga sparade tillstånd att återhämta. (Använd -B för att spara det nuvarande tillståndet)"
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)"
_ -> "No saved states to be restored. (Use -B to save the current state)"
reinstallAndRemove_1 :: Language -> Doc AnsiStyle
reinstallAndRemove_1 = \case
Japanese -> "パッケージを変更する必要はありません。"
Polish -> "Żaden pakiet nie wymaga zmian"
Croatian -> "Nema paketa kojima su potrebne izmjene."
German -> "Keine Pakete brauchen Änderungen."
Spanish -> "Ningún paquete necesita cambios."
Serbian -> "Ниједан пакет не захтева измене."
Norwegian -> "Ingen pakker trenger forandring."
Italian -> "Nessun pacchetto necessita di cambiamenti."
Portuguese -> "Nenhum pacote requer alteração."
French -> "Aucun paquet n'a besoin de changement."
Russian -> "Пакеты не нуждаются в изменениях."
Indonesia -> "Tidak ada paket yang diubah."
Chinese -> "没有包需要改变。"
Swedish -> "Inga paket behöver ändras."
Esperanto -> "Ne pakaĵoj devas ŝanĝiĝi."
Dutch -> "Er zijn geen pakketten die wijzigingen nodig hebben."
_ -> "No packages need changing."
whoIsBuildUser_1 :: Language -> Doc AnsiStyle
whoIsBuildUser_1 = \case
Polish -> "Nie można określić z którego konta użytkownika chcesz budować."
Spanish -> "No se puede determinar el usuario que ejecutará la compilación."
Portuguese -> "Não foi possível determinal o usuário que executará a compilação."
Russian -> "Не удается определить, от имени какого пользователя производить сборку."
Italian -> "Non è stato possibile determinare l'utente che eseguirà la compilazione."
Esperanto -> "Ne povas decidi, per kiu konto de uzanto munti."
Dutch -> "Kan niet bepalen met welk gebruikers account te bouwen."
_ -> "Can't determine which user account to build with."
confParsing_1 :: Language -> Doc AnsiStyle
confParsing_1 = \case
Polish -> "Nie udało się odczytać twojego pliku pacman.conf"
Spanish -> "No fue posible analizar su archivo pacman.conf."
Portuguese -> "Não foi possível interpretar o arquivo pacman.conf ."
Russian -> "Не удается распознать формат вашего файла pacman.conf."
Italian -> "Non è stato possibile analizzare il file pacman.conf."
Esperanto -> "Ne kapablas sintaske analizi vian dosieron, pacman.conf."
Dutch -> "Niet in staat om uw pacman.conf bestand te parseren."
_ -> "Unable to parse your pacman.conf file."
provides_1 :: PkgName -> Language -> Doc AnsiStyle
provides_1 (bt . pnName -> pro) = \case
Polish -> pro <+> "jest wymagany/a jako zależność, dostarczana przez wiele pakietów. Proszę wybrać jeden:"
Spanish -> pro <+> "se requiere como una dependencia, que es proporcionada por múltiples paquetes. Por favor, seleccione uno:"
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:"
_ -> pro <+> "is required as a dependency, which is provided by multiple packages. Please select one:"
hotEdit_1 :: PkgName -> Language -> Doc AnsiStyle
hotEdit_1 (bt . pnName -> p) = \case
Japanese -> p <> "のPKGBUILDを編成しますか?"
Polish -> "Czy chcesz edytować PKGBUILD " <> p <> "?"
Croatian -> "Želite li izmjeniti PKGBUILD " <> p <> "?"
Swedish -> "Vill du ändra PKGBUILD-filen ifrån " <> p <> "?"
German -> "Möchten Sie die PKGBUILD-Datei für " <> p <> " bearbeiten?"
Spanish -> "¿Deseas editar el PKGBUILD de " <> p <> "?"
Portuguese -> "Deseja editar o PKGBUILD de " <> p <> "?"
French -> "Voulez-vous éditer le PKGBUILD de " <> p <> " ?"
Russian -> "Отредактировать PKGBUILD пакета " <> p <> "?"
Italian -> "Modificare il PKGBUILD di " <> p <> "?"
Serbian -> "Желите ли да измените PKGBUILD за " <> p <> "?"
Norwegian -> "Vil du endre PKGBUILD for " <> p <> "?"
Indonesia -> "Apakah anda ingin menyunting PKGBUILD untuk paket " <> p <> "?"
Chinese -> "你希望编辑 " <> p <> " 的 PKGBUILD 文件吗?"
Esperanto -> "Ĉu vi volas redakti la PKGBUILD de " <> p <> "?"
Dutch -> "Wilt u het PKGBUILD-bestand van " <> p <> " bewerken?"
_ -> "Would you like to edit the PKGBUILD of " <> p <> "?"
hotEdit_2 :: Language -> Doc AnsiStyle
hotEdit_2 = \case
Polish -> "Czy chcesz edytować plik .install?"
Spanish -> "¿Desea editar el archivo .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 <> "?"
Spanish -> "¿Desea editar " <> pretty fp <> "?"
_ -> "Would you like to edit " <> pretty fp <> "?"
security_1 :: PkgName -> Language -> Doc AnsiStyle
security_1 (PkgName p) = \case
Polish -> "PKGBUILD dla" <+> bt p <+> "był zbyt zawiły do odczytania - może zawierać złośliwy kod."
Spanish -> "El PKGBUILD de" <+> bt p <+> "era demasiado complejo de analizar - puede estar ofuscando código malicioso."
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."
_ -> "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
Polish -> t <+> "może zostać użyty do pobrania arbitralnych skryptów, które nie są śledzone przez ten PKGBUILD."
Spanish -> t <+> "se puede usar para descargar scripts arbitrarios que este PKGBUILD no rastrea."
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."
_ -> 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
Polish -> t <+> "może zostać użyty do wykonywania arbitralnego kodu, który nie jest śledzony przez ten PKGBUILD."
Spanish -> t <+> "se puede usar para ejecutar código arbitrario que este PKGBUILD no rastrea."
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."
_ -> t <+> "can be used to execute arbitrary code not tracked by this PKGBUILD."
security_4 :: Text -> Language -> Doc AnsiStyle
security_4 (bt -> t) = \case
Polish -> t <+> "wskazuje na to, że ktoś może próbować uzyskać dostęp root'a do twojej maszyny."
Spanish -> t <+> "indica que alguien puede estar intentando obtener acceso de root a su máquina."
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."
_ -> 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
Polish -> "UWAGA: PKGBUILD dla " <+> bt p <+> "zawiera wyrażenia bash znajdujące się na czarnej liście."
Spanish -> "ADVERTENCIA: El PKGBUILD de" <+> bt p <+> "contiene expresiones bash en la lista negra."
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."
_ -> "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?"
Spanish -> "¿Desea salir del proceso de compilación?"
Italian -> "Terminare la compilazione?"
Dutch -> "Wilt u het bouw process stoppen?"
_ -> "Do you wish to quit the build process?"
security_7 :: Language -> Doc AnsiStyle
security_7 = \case
Polish -> "Anulowano dalsze przetwarzanie by uniknąć egzekucji potencjalnie złośliwego kodu bash"
Spanish -> "Se canceló el procesamiento posterior para evitar el código bash potencialmente malicioso."
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."
_ -> "Cancelled further processing to avoid potentially malicious bash code."
security_8 :: Text -> Language -> Doc AnsiStyle
security_8 (bt -> t) = \case
Polish -> t <+> "jest komendą bash zawartą w polach tablicy twojego PKGBUILD."
Spanish -> t <+> "es un comando bash integrado en los campos de la matriz del PKGBUILD."
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."
_ -> t <+> "is a bash command inlined in your PKGBUILD array fields."
security_9 :: Text -> Language -> Doc AnsiStyle
security_9 (bt -> t) = \case
Polish -> t <+> "jest dziwną rzeczą w polach tablicy. Czy to bezpieczne?"
Spanish -> t <+> "es algo extraño para tener en sus campos de matriz. ¿Es seguro?"
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?"
_ -> 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
Polish -> t <+> "sugeruje, że ktoś próbował być sprytny używając zmiennych do ukrycia złośliwych komend."
Spanish -> t <+> "implica que alguien estaba tratando de ser astuto con las variables para ocultar comandos maliciosos."
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."
_ -> t <+> "implies that someone was trying to be clever with variables to hide malicious commands."
security_11 :: Language -> Doc AnsiStyle
security_11 = \case
Polish -> "Ten PKGBUILD jest zbyt zawiły do odczytania - może ukrywać w sobie złośliwy kod."
Spanish -> "Éste PKGBUILD es demasiado complejo para analizar, puede estar ofuscando código malicioso."
_ -> "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"
Spanish -> "Posibles vulnerabilidades de PKGBUILD detectadas."
_ -> "Potential PKGBUILD vulnerabilities detected."
security_13 :: Word -> Language -> Doc AnsiStyle
security_13 (bt -> w) = \case
Polish -> "Sprawdzanie PKGBUILD" <+> w <+> "w poszukiwaniu luk w bezpieczeństwie..."
Spanish -> "Comprobando" <+> w <+> "PKGBUILDs por vulnerabilidades..."
_ -> "Checking" <+> w <+> "PKGBUILDs for vulnerabilities..."
security_14 :: Language -> Doc AnsiStyle
security_14 = \case
Polish -> "Nie wykryto żadnych luk w bezpieczeństwie."
Spanish -> "No se detectaron vulnerabilidades."
_ -> "No vulnerabilities detected."
yesNoMessage :: Language -> Doc ann
yesNoMessage = \case
Polish -> "[T/n]"
Croatian -> "[D/n]"
German -> "[J/n]"
Spanish -> "[S/n]"
Norwegian -> "[J/n]"
Italian -> "[S/n]"
Portuguese -> "[S/n]"
French -> "[O/n]"
Russian -> "[Д/н]"
Esperanto -> "[J/n]"
Dutch -> "[J/n]"
_ -> "[Y/n]"
yesPattern :: Language -> [T.Text]
yesPattern lang = map T.toCaseFold $ case lang of
Polish -> ["t", "tak"]
Croatian -> ["d", "da"]
German -> ["j", "ja"]
Spanish -> ["s", "si"]
Norwegian -> ["j", "ja"]
Italian -> ["s", "si"]
Portuguese -> ["s", "sim"]
French -> ["o", "oui"]
Russian -> ["д", "да"]
Esperanto -> ["j", "jes"]
Dutch -> ["j", "ja"]
_ -> ["y", "yes"]
pluralRussian :: Integral n => a -> a -> a -> n -> a
pluralRussian singular plural1 plural2 n | n % 10 == 1 && n % 100 /= 11 = singular
| n % 10 `elem` [2, 3, 4] = plural1
| otherwise = plural2