Swedish.cpp
1 /* 2 * Copyright (c) 2023-2025, The PurpleI2P Project 3 * 4 * This file is part of Purple i2pd project and licensed under BSD3 5 * 6 * See full license text in LICENSE file at top of project tree 7 */ 8 9 #include <map> 10 #include <vector> 11 #include <string> 12 #include <memory> 13 #include "I18N.h" 14 15 // Swedish localization file 16 17 namespace i2p 18 { 19 namespace i18n 20 { 21 namespace swedish // language namespace 22 { 23 // language name in lowercase 24 static std::string language = "swedish"; 25 26 // See for language plural forms here: 27 // https://localization-guide.readthedocs.io/en/latest/l10n/pluralforms.html 28 static int plural (int n) { 29 return n != 1 ? 1 : 0; 30 } 31 32 // Right to Left language? 33 static bool rtl = false; 34 35 static const LocaleStrings strings 36 { 37 {"%.2f KiB", "%.2f KiB"}, 38 {"%.2f MiB", "%.2f MiB"}, 39 {"%.2f GiB", "%.2f GiB"}, 40 {"building", "bygger"}, 41 {"failed", "misslyckad"}, 42 {"expiring", "utgår"}, 43 {"established", "upprättad"}, 44 {"unknown", "okänt"}, 45 {"exploratory", "utforskande"}, 46 {"Purple I2P Webconsole", "Purple I2P Webbkonsoll"}, 47 {"<b>i2pd</b> webconsole", "<b>i2pd</b>-Webbkonsoll"}, 48 {"Main page", "Huvudsida"}, 49 {"Router commands", "Routerkommandon"}, 50 {"Local Destinations", "Lokala Platser"}, 51 {"LeaseSets", "Hyresuppsättningar"}, 52 {"Tunnels", "Tunnlar"}, 53 {"Transit Tunnels", "Förmedlande Tunnlar"}, 54 {"Transports", "Transporter"}, 55 {"I2P tunnels", "I2P-tunnlar"}, 56 {"SAM sessions", "SAM-perioder"}, 57 {"ERROR", "FEL"}, 58 {"OK", "OK"}, 59 {"Testing", "Prövar"}, 60 {"Firewalled", "Bakom Brandvägg"}, 61 {"Unknown", "Okänt"}, 62 {"Proxy", "Proxy"}, 63 {"Mesh", "Mesh"}, 64 {"Clock skew", "Tidsförskjutning"}, 65 {"Offline", "Nedkopplad"}, 66 {"Symmetric NAT", "Symmetrisk NAT"}, 67 {"Full cone NAT", "Full kon NAT"}, 68 {"No Descriptors", "Inga Beskrivningar"}, 69 {"Uptime", "Upptid"}, 70 {"Network status", "Nätverkstillstånd"}, 71 {"Network status v6", "Nätverkstillstånd v6"}, 72 {"Stopping in", "Avstängd om"}, 73 {"Family", "Familj"}, 74 {"Tunnel creation success rate", "Andel framgångsrika tunnlar"}, 75 {"Received", "Mottaget"}, 76 {"%.2f KiB/s", "%.2f KiB/s"}, 77 {"Sent", "Skickat"}, 78 {"Transit", "Förmedlat"}, 79 {"Data path", "Sökväg"}, 80 {"Hidden content. Press on text to see.", "Dolt innehåll. Tryck för att visa."}, 81 {"Router Ident", "Routeridentitet"}, 82 {"Router Family", "Routerfamilj"}, 83 {"Router Caps", "Routerbegränsningar"}, 84 {"Version", "Version"}, 85 {"Our external address", "Vår externa adress"}, 86 {"supported", "stöds"}, 87 {"Routers", "Routrar"}, 88 {"Floodfills", "Översvämningsfyllare"}, 89 {"Client Tunnels", "Klienttunnlar"}, 90 {"Services", "Tjänster"}, 91 {"Enabled", "Påslaget"}, 92 {"Disabled", "Avslaget"}, 93 {"Encrypted B33 address", "Krypterad B33-Adress"}, 94 {"Address registration line", "Adressregistreringsrad"}, 95 {"Domain", "Domän"}, 96 {"Generate", "Skapa"}, 97 {"<b>Note:</b> result string can be used only for registering 2LD domains (example.i2p). For registering subdomains please use i2pd-tools.", "<b>Uppmärksamma:</b> den resulterande strängen kan enbart användas för att registrera 2LD-domäner (exempel.i2p). För att registrera underdomäner, vänligen använd i2pd-tools."}, 98 {"Address", "Adress"}, 99 {"Type", "Typ"}, 100 {"EncType", "EncTyp"}, 101 {"Inbound tunnels", "Ingående Tunnlar"}, 102 {"%dms", "%dms"}, 103 {"Outbound tunnels", "Utgående Tunnlar"}, 104 {"Tags", "Taggar"}, 105 {"Incoming", "Ingående"}, 106 {"Outgoing", "Utgående"}, 107 {"Destination", "Plats"}, 108 {"Amount", "Mängd"}, 109 {"Incoming Tags", "Ingående Taggar"}, 110 {"Tags sessions", "Tagg-perioder"}, 111 {"Status", "Tillstånd"}, 112 {"Local Destination", "Lokal Plats"}, 113 {"Streams", "Strömmar"}, 114 {"Close stream", "Stäng strömmen"}, 115 {"Such destination is not found", "En sådan plats hittas ej"}, 116 {"I2CP session not found", "I2CP-period hittades inte"}, 117 {"I2CP is not enabled", "I2CP är inte påslaget"}, 118 {"Invalid", "Ogiltig"}, 119 {"Store type", "Lagringstyp"}, 120 {"Expires", "Utgångsdatum"}, 121 {"Non Expired Leases", "Ickeutgångna Hyresuppsättningar"}, 122 {"Gateway", "Gateway"}, 123 {"TunnelID", "TunnelID"}, 124 {"EndDate", "EndDate"}, 125 {"floodfill mode is disabled", "Floodfill läget är inaktiverat"}, 126 {"Queue size", "Köstorlek"}, 127 {"Run peer test", "Utför utsiktstest"}, 128 {"Reload tunnels configuration", "Ladda om tunnelkonfiguration"}, 129 {"Decline transit tunnels", "Avvisa förmedlande tunnlar"}, 130 {"Accept transit tunnels", "Tillåt förmedlande tunnlar"}, 131 {"Cancel graceful shutdown", "Avbryt välvillig avstängning"}, 132 {"Start graceful shutdown", "Påbörja välvillig avstängning"}, 133 {"Force shutdown", "Tvingad avstängning"}, 134 {"Reload external CSS styles", "Ladda om externa CSS-stilar"}, 135 {"<b>Note:</b> any action done here are not persistent and not changes your config files.", "<b>Uppmärksamma:</b> inga ändringar här är beständiga eller påverkar dina inställningsfiler."}, 136 {"Logging level", "Protokollförningsnivå"}, 137 {"Transit tunnels limit", "Begränsa förmedlande tunnlar"}, 138 {"Change", "Ändra"}, 139 {"Change language", "Ändra språk"}, 140 {"no transit tunnels currently built", "inga förmedlande tunnlar har byggts"}, 141 {"SAM disabled", "SAM avslaget"}, 142 {"no sessions currently running", "inga perioder igång"}, 143 {"SAM session not found", "SAM-perioder hittades ej"}, 144 {"SAM Session", "SAM-period"}, 145 {"Server Tunnels", "Värdtunnlar"}, 146 {"Client Forwards", "Klientförpassningar"}, 147 {"Server Forwards", "Värdförpassningar"}, 148 {"Unknown page", "Okänd sida"}, 149 {"Invalid token", "Ogiltig polett"}, 150 {"SUCCESS", "FRAMGÅNG"}, 151 {"Stream closed", "Ström stängd"}, 152 {"Stream not found or already was closed", "Strömmen hittades inte eller var redan avslutad"}, 153 {"Destination not found", "Plats hittades ej"}, 154 {"StreamID can't be null", "Ström-ID kan inte vara null"}, 155 {"Return to destination page", "Återvänd till platssidan"}, 156 {"You will be redirected in %d seconds", "Du omdirigeras inom %d sekunder"}, 157 {"Transit tunnels count must not exceed %d", "Förmedlande tunnlar får inte överstiga %d"}, 158 {"Back to commands list", "Tillbaka till kommandolistan"}, 159 {"Register at reg.i2p", "Registrera vid reg.i2p"}, 160 {"Description", "Beskrivning"}, 161 {"A bit information about service on domain", "Ett stycke information om domänens tjänst"}, 162 {"Submit", "Skicka"}, 163 {"Domain can't end with .b32.i2p", "Domänen får inte sluta med .b32.i2p"}, 164 {"Domain must end with .i2p", "Domänen måste sluta med .i2p"}, 165 {"Unknown command", "Okänt kommando"}, 166 {"Command accepted", "Kommando accepterades"}, 167 {"Proxy error", "Proxyfel"}, 168 {"Proxy info", "Proxyinfo"}, 169 {"Proxy error: Host not found", "Proxyfel: Värden hittades ej"}, 170 {"Remote host not found in router's addressbook", "Främmande värd hittades inte i routerns adressbok"}, 171 {"You may try to find this host on jump services below", "Du kan försöka att hitta värden genom hopptjänsterna nedan"}, 172 {"Invalid request", "Ogiltig förfrågan"}, 173 {"Proxy unable to parse your request", "Proxyt kan inte behandla din förfrågan"}, 174 {"Addresshelper is not supported", "Adresshjälparen stöds ej"}, 175 {"Host %s is <font color=red>already in router's addressbook</font>. <b>Be careful: source of this URL may be harmful!</b> Click here to update record: <a href=\"%s%s%s&update=true\">Continue</a>.", "Värd %s är <font color=red>redan i routerns adressbok</font>. <b>Var försiktig: källan till denna URL kan vara skadlig!</b> Klicka här för att uppdatera registreringen: <a href=\"%s%s%s&update=true\">Fortsätt</a>."}, 176 {"Addresshelper forced update rejected", "Tvingad uppdatering av adresshjälparen nekad"}, 177 {"To add host <b>%s</b> in router's addressbook, click here: <a href=\"%s%s%s\">Continue</a>.", "För att lägga till värd <b>%s</b> i routerns adressbok, klicka här: <a href=\"%s%s%s\">Fortsätt</a>."}, 178 {"Addresshelper request", "Adresshjälpare förfrågan"}, 179 {"Host %s added to router's addressbook from helper. Click here to proceed: <a href=\"%s\">Continue</a>.", "Värd %s tillagd i routerns adressbok från hjälparen. Klicka här för att fortsätta: <a href=\"%s\">Fortsätt</a>."}, 180 {"Addresshelper adding", "Adresshjälpare tilläggning"}, 181 {"Host %s is <font color=red>already in router's addressbook</font>. Click here to update record: <a href=\"%s%s%s&update=true\">Continue</a>.", "Värd %s är <font color=red>redan i routerns adressbok</font>. Klicka här för att uppdatera registreringen: <a href=\"%s%s%s&update=true\">Fortsätt</a>."}, 182 {"Addresshelper update", "Adresshjälpare uppdatering"}, 183 {"Invalid request URI", "Ogiltig förfrågnings-URI"}, 184 {"Can't detect destination host from request", "Kan inte upptäcka platsvärden från förfrågan"}, 185 {"Outproxy failure", "Utproxyfel"}, 186 {"Bad outproxy settings", "Ogiltig utproxyinställning"}, 187 {"Host %s is not inside I2P network, but outproxy is not enabled", "Värd %s är inte inom I2P-näverket, men utproxy är inte påslaget"}, 188 {"Unknown outproxy URL", "okänt Utproxy-URL"}, 189 {"Cannot resolve upstream proxy", "Hittar inte uppströmsproxyt"}, 190 {"Hostname is too long", "Värdnamnet är för långt"}, 191 {"Cannot connect to upstream SOCKS proxy", "Kan inte ansluta till uppström SOCKS-proxy"}, 192 {"Cannot negotiate with SOCKS proxy", "Kan inte förhandla med SOCKSproxyt"}, 193 {"CONNECT error", "CONNECT-fel"}, 194 {"Failed to connect", "Anslutningen misslyckades"}, 195 {"SOCKS proxy error", "SOCKSproxyfel"}, 196 {"Failed to send request to upstream", "Förfrågan uppströms kunde ej skickas"}, 197 {"No reply from SOCKS proxy", "Fick inget svar från SOCKSproxyt"}, 198 {"Cannot connect", "Kan inte ansluta"}, 199 {"HTTP out proxy not implemented", "HTTP-Utproxy ej implementerat"}, 200 {"Cannot connect to upstream HTTP proxy", "Kan inte ansluta till uppströms HTTP-proxy"}, 201 {"Host is down", "Värden är nere"}, 202 {"Can't create connection to requested host, it may be down. Please try again later.", "Kan inte ansluta till värden, den kan vara nere. Vänligen försök senare."}, 203 {"", ""}, 204 }; 205 206 static std::map<std::string, std::vector<std::string>> plurals 207 { 208 {"%d days", {"%d dag", "%d dagar"}}, 209 {"%d hours", {"%d timme", "%d timmar"}}, 210 {"%d minutes", {"%d minut", "%d minuter"}}, 211 {"%d seconds", {"%d sekund", "%d sekunder"}}, 212 {"", {"", ""}}, 213 }; 214 215 std::shared_ptr<const i2p::i18n::Locale> GetLocale() 216 { 217 return std::make_shared<i2p::i18n::Locale>(language, rtl, strings, plurals, [] (int n)->int { return plural(n); }); 218 } 219 220 } // language 221 } // i18n 222 } // i2p 223