Compare commits

...

6 Commits

Author SHA1 Message Date
Max Goedjen
6f4226f97a Standardize newline handling (#522)
* Standardize newline handling

* Fix some unterminated bolds in other languages

* Set language back
2024-01-25 02:14:34 +00:00
Aarni Koskela
3315a4bfbc Add Finnish localization (#521) 2024-01-23 00:58:36 +00:00
Riccardo Pesciarelli
85a7a64bc9 Updated Italian localization strings (#520)
* 🇮🇹 Initial proposal for Italian localization

* 🇮🇹 Updated Italian localization

---------

Co-authored-by: Max Goedjen <max.goedjen@gmail.com>
2024-01-18 17:35:36 +00:00
Max Goedjen
409efa5f9f Use Apple Silicon runners (#519)
* Test running on XL (does this work for OSS projects?)

* Move over test/release
2024-01-17 19:28:29 +00:00
Max Goedjen
bb63ae8469 Set min width/height for setup. (#518) 2024-01-17 04:08:48 +00:00
Max Goedjen
30c1d36974 Mark newlines as verbatim (#517)
* Merge

* Add missing key
2024-01-17 03:49:14 +00:00
7 changed files with 346 additions and 21 deletions

View File

@@ -5,8 +5,8 @@ on:
- cron: "0 8 * * *"
jobs:
build:
# runs-on: macOS-latest
runs-on: macos-13
# runs-on: macOS-latest-xlarge
runs-on: macos-13-xlarge
timeout-minutes: 10
steps:
- uses: actions/checkout@v4

View File

@@ -6,8 +6,8 @@ on:
- '*'
jobs:
test:
# runs-on: macOS-latest
runs-on: macos-13
# runs-on: macOS-latest-xlarge
runs-on: macos-13-xlarge
timeout-minutes: 10
steps:
- uses: actions/checkout@v4

View File

@@ -3,8 +3,8 @@ name: Test
on: [push, pull_request]
jobs:
test:
# runs-on: macOS-latest
runs-on: macos-13
# runs-on: macOS-latest-xlarge
runs-on: macos-13-xlarge
timeout-minutes: 10
steps:
- uses: actions/checkout@v4

View File

@@ -433,6 +433,7 @@
fr,
de,
"pt-BR",
fi,
);
mainGroup = 50617D7623FCE48D0099B055;
productRefGroup = 50617D8023FCE48E0099B055 /* Products */;

View File

@@ -1,12 +1,6 @@
{
"sourceLanguage" : "en",
"strings" : {
"\n" : {
},
"\n\n" : {
},
"agent_not_running_notice_title" : {
"localizations" : {
"de" : {
@@ -21,6 +15,12 @@
"value" : "Agent Is Not Running"
}
},
"fi" : {
"stringUnit" : {
"state" : "translated",
"value" : "Agentti ei ole käynnissä"
}
},
"fr" : {
"stringUnit" : {
"state" : "translated",
@@ -61,22 +61,28 @@
"value" : "SecretAgent is a process that runs in the background to sign requests, so you don't need to keep Secretive open all the time.\n\n**You can close Secretive, and everything will still keep working.**"
}
},
"fi" : {
"stringUnit" : {
"state" : "translated",
"value" : "SecretAgent on taustaprosessi joka allekirjoittaa pyyntöjä, joten Secretiveä ei tarvitse pitää käynnissä koko aikaa.**Voit sulkea Secretiven, ja kaikki toimii yhä.**"
}
},
"fr" : {
"stringUnit" : {
"state" : "translated",
"value" : "SecretAgent est un processus qui s'exécute en arrière-plan pour signer les demandes, de sorte que vous n'ayez pas besoin de garder Secretive ouvert en permanence.\n\n**Vous pouvez fermer Secretive, et tout continuera à fonctionner."
"value" : "SecretAgent est un processus qui s'exécute en arrière-plan pour signer les demandes, de sorte que vous n'ayez pas besoin de garder Secretive ouvert en permanence.\n\n**Vous pouvez fermer Secretive, et tout continuera à fonctionner.**"
}
},
"it" : {
"stringUnit" : {
"state" : "translated",
"value" : "SecretAgent è un processo che viene eseguito in background per firmare le richieste, così che non devi tenere aperto Secretive tutto il tempo.\\n\\n**Puoi chiudere Secretive, e continuerà a funzionare.**"
"value" : "SecretAgent è un processo che viene eseguito in background per firmare le richieste, così che non devi tenere aperto Secretive tutto il tempo.\n\n**Puoi chiudere Secretive, e continuerà a funzionare.**"
}
},
"pt-BR" : {
"stringUnit" : {
"state" : "translated",
"value" : "SecretAgent é um processo que roda em background para assinar requisições para que você não precise manter o Secretive aberto a todo momento.\n\n**Você pode fechar o Secretive e tudo continuará funcionando."
"value" : "SecretAgent é um processo que roda em background para assinar requisições para que você não precise manter o Secretive aberto a todo momento.\n\n**Você pode fechar o Secretive e tudo continuará funcionando.**"
}
},
"zh-Hans" : {
@@ -101,6 +107,12 @@
"value" : "Secret Agent is Running"
}
},
"fi" : {
"stringUnit" : {
"state" : "translated",
"value" : "SecretAgent on käynnissä"
}
},
"fr" : {
"stringUnit" : {
"state" : "translated",
@@ -141,6 +153,12 @@
"value" : "Agent is Running"
}
},
"fi" : {
"stringUnit" : {
"state" : "translated",
"value" : "Agentti on käynnissä"
}
},
"fr" : {
"stringUnit" : {
"state" : "translated",
@@ -181,6 +199,12 @@
"value" : "Setup Secretive"
}
},
"fi" : {
"stringUnit" : {
"state" : "translated",
"value" : "Asenna Secretive"
}
},
"fr" : {
"stringUnit" : {
"state" : "translated",
@@ -221,6 +245,12 @@
"value" : "Help"
}
},
"fi" : {
"stringUnit" : {
"state" : "translated",
"value" : "Apua"
}
},
"fr" : {
"stringUnit" : {
"state" : "translated",
@@ -261,6 +291,12 @@
"value" : "New Secret"
}
},
"fi" : {
"stringUnit" : {
"state" : "translated",
"value" : "Uusi salaisuus"
}
},
"fr" : {
"stringUnit" : {
"state" : "translated",
@@ -301,6 +337,12 @@
"value" : "Setup Secretive"
}
},
"fi" : {
"stringUnit" : {
"state" : "translated",
"value" : "Asenna Secretive"
}
},
"fr" : {
"stringUnit" : {
"state" : "translated",
@@ -341,6 +383,12 @@
"value" : "Secretive needs to be in your Applications folder to work properly. Please move it and relaunch."
}
},
"fi" : {
"stringUnit" : {
"state" : "translated",
"value" : "Secretiven tulee olla Ohjelmat-kansiossa toimiakseen oikein. Ole hyvä ja käynnistä se uudelleen siirrettyäsi sen."
}
},
"fr" : {
"stringUnit" : {
"state" : "translated",
@@ -381,6 +429,12 @@
"value" : "Secretive Is Not in Applications Folder"
}
},
"fi" : {
"stringUnit" : {
"state" : "translated",
"value" : "Secretive ei ole Ohjelmat-kansiossa"
}
},
"fr" : {
"stringUnit" : {
"state" : "translated",
@@ -423,12 +477,24 @@
"value" : "unlock secret \"%1$@\" for %2$@"
}
},
"fi" : {
"stringUnit" : {
"state" : "translated",
"value" : "avaa salaisuuden \"%1$@\" lukitus ajaksi %2$@"
}
},
"fr" : {
"stringUnit" : {
"state" : "translated",
"value" : "déverrouiller le secret \"%1$@\" pendant %2$@"
}
},
"it" : {
"stringUnit" : {
"state" : "translated",
"value" : "sblocca il Segreto \"%1$@\" per %2$@"
}
},
"pt-BR" : {
"stringUnit" : {
"state" : "translated",
@@ -459,12 +525,24 @@
"value" : "unlock secret \"%1$@\""
}
},
"fi" : {
"stringUnit" : {
"state" : "translated",
"value" : "avaa salaisuuden \"%1$@\" lukitus"
}
},
"fr" : {
"stringUnit" : {
"state" : "translated",
"value" : "déverrouiller le secret \"%1$@\""
}
},
"it" : {
"stringUnit" : {
"state" : "translated",
"value" : "sblocca il Segreto \"%1$@\""
}
},
"pt-BR" : {
"stringUnit" : {
"state" : "translated",
@@ -495,12 +573,24 @@
"value" : "decrypt data using secret \"%1$@\""
}
},
"fi" : {
"stringUnit" : {
"state" : "translated",
"value" : "pura salaus käyttäen salaisuutta \"%1$@\""
}
},
"fr" : {
"stringUnit" : {
"state" : "translated",
"value" : "déchiffrer les données en utilisant le secret \"%1$@\"."
}
},
"it" : {
"stringUnit" : {
"state" : "translated",
"value" : "decifra i dati usando il Segreto \"%1$@\""
}
},
"pt-BR" : {
"stringUnit" : {
"state" : "translated",
@@ -531,12 +621,24 @@
"value" : "Deny"
}
},
"fi" : {
"stringUnit" : {
"state" : "translated",
"value" : "Kiellä"
}
},
"fr" : {
"stringUnit" : {
"state" : "translated",
"value" : "Refuser"
}
},
"it" : {
"stringUnit" : {
"state" : "translated",
"value" : "Nega"
}
},
"pt-BR" : {
"stringUnit" : {
"state" : "translated",
@@ -567,12 +669,24 @@
"value" : "encrypt data using secret \"%1$@\""
}
},
"fi" : {
"stringUnit" : {
"state" : "translated",
"value" : "salaa käyttäen salaisuutta \"%1$@\""
}
},
"fr" : {
"stringUnit" : {
"state" : "translated",
"value" : "chiffrer les données en utilisant le secret \"%1$@\""
}
},
"it" : {
"stringUnit" : {
"state" : "translated",
"value" : "cifra i dati usando il Segreto \"%1$@\""
}
},
"pt-BR" : {
"stringUnit" : {
"state" : "translated",
@@ -603,12 +717,24 @@
"value" : "sign a request from \"%1$@\" using secret \"%2$@\""
}
},
"fi" : {
"stringUnit" : {
"state" : "translated",
"value" : "allekirjoita pyyntö lähteestä \"%1$@\" käyttäen salaisuutta \"%2$@\""
}
},
"fr" : {
"stringUnit" : {
"state" : "translated",
"value" : "signer une requête de \"%1$@\" en utilisant le secret \"%2$@\""
}
},
"it" : {
"stringUnit" : {
"state" : "translated",
"value" : "firma la richiesta di \"%1$@\" usando il Segreto \"%2$@\""
}
},
"pt-BR" : {
"stringUnit" : {
"state" : "translated",
@@ -639,12 +765,24 @@
"value" : "verify a signature using secret \"%1$@\""
}
},
"fi" : {
"stringUnit" : {
"state" : "translated",
"value" : "varmista allekirjoitus käyttäen salaisuutta \"%1$@\""
}
},
"fr" : {
"stringUnit" : {
"state" : "translated",
"value" : "vérifier une signature en utilisant le secret \"%1$@\""
}
},
"it" : {
"stringUnit" : {
"state" : "translated",
"value" : "verifica una firma usando il segreto \"%1$@\""
}
},
"pt-BR" : {
"stringUnit" : {
"state" : "translated",
@@ -673,6 +811,12 @@
"value" : "Click to Copy"
}
},
"fi" : {
"stringUnit" : {
"state" : "translated",
"value" : "Klikkaa kopioidaksesi"
}
},
"fr" : {
"stringUnit" : {
"state" : "translated",
@@ -713,6 +857,12 @@
"value" : "Copied"
}
},
"fi" : {
"stringUnit" : {
"state" : "translated",
"value" : "Kopioitu"
}
},
"fr" : {
"stringUnit" : {
"state" : "translated",
@@ -753,6 +903,12 @@
"value" : "Cancel"
}
},
"fi" : {
"stringUnit" : {
"state" : "translated",
"value" : "Peru"
}
},
"fr" : {
"stringUnit" : {
"state" : "translated",
@@ -793,6 +949,12 @@
"value" : "Create"
}
},
"fi" : {
"stringUnit" : {
"state" : "translated",
"value" : "Luo"
}
},
"fr" : {
"stringUnit" : {
"state" : "translated",
@@ -833,6 +995,12 @@
"value" : "Name:"
}
},
"fi" : {
"stringUnit" : {
"state" : "translated",
"value" : "Nimi:"
}
},
"fr" : {
"stringUnit" : {
"state" : "translated",
@@ -873,6 +1041,12 @@
"value" : "Shhhhh"
}
},
"fi" : {
"stringUnit" : {
"state" : "translated",
"value" : "Hysssss"
}
},
"fr" : {
"stringUnit" : {
"state" : "translated",
@@ -913,6 +1087,12 @@
"value" : "No authentication is required while your Mac is unlocked, but you will be notified when a secret is used."
}
},
"fi" : {
"stringUnit" : {
"state" : "translated",
"value" : "Todennusta ei vaadita Macisi ollessa lukitsematta, mutta saat ilmoituksen kun salaisuutta käytetään."
}
},
"fr" : {
"stringUnit" : {
"state" : "translated",
@@ -953,6 +1133,12 @@
"value" : "Notify"
}
},
"fi" : {
"stringUnit" : {
"state" : "translated",
"value" : "Ilmoita"
}
},
"fr" : {
"stringUnit" : {
"state" : "translated",
@@ -993,6 +1179,12 @@
"value" : "You will be required to authenticate using Touch ID, Apple Watch, or password before each use."
}
},
"fi" : {
"stringUnit" : {
"state" : "translated",
"value" : "Touch ID-, Apple Watch- tai salasanatodennus vaaditaan joka käytöllä."
}
},
"fr" : {
"stringUnit" : {
"state" : "translated",
@@ -1033,6 +1225,12 @@
"value" : "Require Authentication"
}
},
"fi" : {
"stringUnit" : {
"state" : "translated",
"value" : "Vaadi todennus"
}
},
"fr" : {
"stringUnit" : {
"state" : "translated",
@@ -1073,6 +1271,12 @@
"value" : "Create a New Secret"
}
},
"fi" : {
"stringUnit" : {
"state" : "translated",
"value" : "Luo uusi salaisuus"
}
},
"fr" : {
"stringUnit" : {
"state" : "translated",
@@ -1113,6 +1317,12 @@
"value" : "Don't Delete"
}
},
"fi" : {
"stringUnit" : {
"state" : "translated",
"value" : "Älä poista"
}
},
"fr" : {
"stringUnit" : {
"state" : "translated",
@@ -1153,6 +1363,12 @@
"value" : "Confirm Name:"
}
},
"fi" : {
"stringUnit" : {
"state" : "translated",
"value" : "Vahvista nimi:"
}
},
"fr" : {
"stringUnit" : {
"state" : "translated",
@@ -1193,6 +1409,12 @@
"value" : "Delete"
}
},
"fi" : {
"stringUnit" : {
"state" : "translated",
"value" : "Poista"
}
},
"fr" : {
"stringUnit" : {
"state" : "translated",
@@ -1233,6 +1455,12 @@
"value" : "If you delete %1$@, you will not be able to recover it. Type \"%2$@\" to confirm."
}
},
"fi" : {
"stringUnit" : {
"state" : "translated",
"value" : "Jos poistat kohteen %1$@, sitä ei pysty palauttamaan. Kirjoita \"%2$@\" vahvistaaksesi poiston."
}
},
"fr" : {
"stringUnit" : {
"state" : "translated",
@@ -1273,6 +1501,12 @@
"value" : "Delete %1$@?"
}
},
"fi" : {
"stringUnit" : {
"state" : "translated",
"value" : "Poista %1$@?"
}
},
"fr" : {
"stringUnit" : {
"state" : "translated",
@@ -1313,6 +1547,12 @@
"value" : "Create a new one by clicking here."
}
},
"fi" : {
"stringUnit" : {
"state" : "translated",
"value" : "Luo uusi klikkaamalla tästä."
}
},
"fr" : {
"stringUnit" : {
"state" : "translated",
@@ -1353,6 +1593,12 @@
"value" : "No Secrets"
}
},
"fi" : {
"stringUnit" : {
"state" : "translated",
"value" : "Ei salaisuuksia"
}
},
"fr" : {
"stringUnit" : {
"state" : "translated",
@@ -1393,6 +1639,12 @@
"value" : "No Secrets"
}
},
"fi" : {
"stringUnit" : {
"state" : "translated",
"value" : "Ei salaisuuksia"
}
},
"fr" : {
"stringUnit" : {
"state" : "translated",
@@ -1433,6 +1685,12 @@
"value" : "Use your Smart Card's management tool to create a secret."
}
},
"fi" : {
"stringUnit" : {
"state" : "translated",
"value" : "Käytä älykorttisi hallintatyökalua luodaksesi salaisuuden."
}
},
"fr" : {
"stringUnit" : {
"state" : "translated",
@@ -1473,6 +1731,12 @@
"value" : "Secretive supports EC256, EC384, RSA1024, and RSA2048 keys."
}
},
"fi" : {
"stringUnit" : {
"state" : "translated",
"value" : "Secretive tukee EC256-, EC384-, RSA1024- ja RSA2048-avaimia."
}
},
"fr" : {
"stringUnit" : {
"state" : "translated",
@@ -1513,6 +1777,12 @@
"value" : "No Secrets"
}
},
"fi" : {
"stringUnit" : {
"state" : "translated",
"value" : "Ei salaisuuksia"
}
},
"fr" : {
"stringUnit" : {
"state" : "translated",
@@ -1553,6 +1823,12 @@
"value" : "Your Mac doesn't have a Secure Enclave, and there's not a compatible Smart Card inserted."
}
},
"fi" : {
"stringUnit" : {
"state" : "translated",
"value" : "Macissasi ei ole Secure Enclavea, eikä tuettu älykortti ole syötettynä."
}
},
"fr" : {
"stringUnit" : {
"state" : "translated",
@@ -1593,6 +1869,12 @@
"value" : "No Secure Storage Available"
}
},
"fi" : {
"stringUnit" : {
"state" : "translated",
"value" : "Turvasäilö ei saatavilla"
}
},
"fr" : {
"stringUnit" : {
"state" : "translated",
@@ -1633,6 +1915,12 @@
"value" : "If you're looking to add one to your Mac, the YubiKey 5 Series are great."
}
},
"fi" : {
"stringUnit" : {
"state" : "translated",
"value" : "Jos haluat lisätä Maciisi sellaisen, YubiKey 5 -sarja on mainio."
}
},
"fr" : {
"stringUnit" : {
"state" : "translated",
@@ -1675,6 +1963,12 @@
"value" : "Leave Unlocked"
}
},
"fi" : {
"stringUnit" : {
"state" : "translated",
"value" : "Jätä lukitsematta"
}
},
"fr" : {
"stringUnit" : {
"state" : "translated",
@@ -1717,6 +2011,12 @@
"value" : "Do Not Unlock"
}
},
"fi" : {
"stringUnit" : {
"state" : "translated",
"value" : "Älä avaa lukitusta"
}
},
"fr" : {
"stringUnit" : {
"state" : "translated",
@@ -2124,6 +2424,12 @@
"value" : "Enclave sécurisée"
}
},
"it" : {
"stringUnit" : {
"state" : "translated",
"value" : "Secure Enclave"
}
},
"pt-BR" : {
"stringUnit" : {
"state" : "translated",
@@ -2843,6 +3149,12 @@
"value" : "Carte à puce"
}
},
"it" : {
"stringUnit" : {
"state" : "translated",
"value" : "Smart Card"
}
},
"pt-BR" : {
"stringUnit" : {
"state" : "translated",
@@ -2878,6 +3190,12 @@
"value" : "Sans nom"
}
},
"it" : {
"stringUnit" : {
"state" : "translated",
"value" : "Anonimo"
}
},
"pt-BR" : {
"stringUnit" : {
"state" : "translated",
@@ -3368,6 +3686,12 @@
"value" : "Secretive %1$@"
}
},
"pt-BR" : {
"stringUnit" : {
"state" : "translated",
"value" : "Secretive %1$@"
}
},
"zh-Hans" : {
"stringUnit" : {
"state" : "translated",

View File

@@ -26,7 +26,7 @@ struct SetupView: View {
}
}
}
.frame(idealWidth: 500, idealHeight: 500)
.frame(minWidth: 500, idealWidth: 500, minHeight: 500, idealHeight: 500)
}

View File

@@ -42,16 +42,16 @@ struct UpdateDetailView<UpdaterType: Updater>: View {
if let prefix = split.first {
switch prefix {
case "#":
attributed = Text(unprefixed).font(.title) + Text("\n")
attributed = Text(unprefixed).font(.title) + Text(verbatim: "\n")
case "##":
attributed = Text(unprefixed).font(.title2) + Text("\n")
attributed = Text(unprefixed).font(.title2) + Text(verbatim: "\n")
case "###":
attributed = Text(unprefixed).font(.title3) + Text("\n")
attributed = Text(unprefixed).font(.title3) + Text(verbatim: "\n")
default:
attributed = Text(line) + Text("\n\n")
attributed = Text(line) + Text(verbatim: "\n\n")
}
} else {
attributed = Text(line) + Text("\n\n")
attributed = Text(line) + Text(verbatim: "\n\n")
}
text = text + attributed
}