Help → About gains a "Check for updates" button that fetches the latest GitHub release, semver-compares it to clideVersion, and shows the result inline: up-to-date, available (with a tappable link to the release notes), or a clear error. clide's first and only outbound HTTP call — a plain GET with no user data, run ONLY on this explicit tap, never on a launch path or a timer. So it's D-64-clean with no amendment; a background/periodic poll stays deferred (would need the narrow opt-in amendment first). The fetch is injectable so no test touches the network. compareSemver handles 2.3.10 > 2.3.9 and ranks pre-releases below their release. Closes T-492 (P1); the release-channel CI for downloadable signed packages is T-491, and download/ apply (P2/P3) depend on it. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
32 lines
1.8 KiB
JSON
32 lines
1.8 KiB
JSON
{
|
|
"menu.file": { "translation": "Bestand" },
|
|
"menu.view": { "translation": "Beeld" },
|
|
"menu.help": { "translation": "Help" },
|
|
"about.version": { "translation": "Versie" },
|
|
"about.commit": { "translation": "Commit" },
|
|
"about.built": { "translation": "Gebouwd" },
|
|
"about.repository": { "translation": "Repository" },
|
|
"about.checkUpdates": { "translation": "Controleer op updates" },
|
|
"about.checking": { "translation": "Bezig met controleren…" },
|
|
"about.upToDate": { "translation": "Je hebt de nieuwste versie." },
|
|
"about.updateAvailable": { "translation": "clide {version} is beschikbaar — releaseopmerkingen" },
|
|
"about.updateFailed": { "translation": "Kon niet op updates controleren" },
|
|
"licenses.heading": { "translation": "Meegeleverde afhankelijkheden" },
|
|
"licenses.unavailable": { "translation": "Licenties niet beschikbaar." },
|
|
"licenses.loading": { "translation": "Laden…" },
|
|
"button.close": { "translation": "Sluiten" },
|
|
"button.cancel": { "translation": "Annuleren" },
|
|
"button.open": { "translation": "Openen" },
|
|
"button.opening": { "translation": "Openen…" },
|
|
"button.ok": { "translation": "OK" },
|
|
"dialog.openProject.title": { "translation": "Project openen" },
|
|
"dialog.openProject.body": { "translation": "Voer het pad naar een git-repository in." },
|
|
"dialog.openProject.error": { "translation": "Geen git-repository" },
|
|
"dialog.notRepo.title": { "translation": "Geen git-repo gevonden" },
|
|
"dialog.notRepo.body": { "translation": "Een clide-projecthoofdmap vereist een git-repository." },
|
|
"command.file.openFolder": { "translation": "Bestand: Map openen…" },
|
|
"command.file.newWindow": { "translation": "Bestand: Nieuw venster" },
|
|
"command.file.closeWorkspace": { "translation": "Bestand: Project sluiten" },
|
|
"command.help.about": { "translation": "Help: Over clide" }
|
|
}
|