# Copyright (C) 2026 Pichinov # Language file en_US for module PichisoftLM ModulePichisoftLMName=Pichisoft Licence Manager ModulePichisoftLMDesc=License authority of Pichisoft modules (server side) ModulePichisoftLMDescLong=License server of the Pichisoft ecosystem: holds the RSA private key, manages customer keys and answers the public activation endpoints called by sold modules. PichisoftLmSetup=Licence Manager setup PichisoftLmSetupPage=Configure the private key (outside the webroot) then manage licenses in the Licenses tab. The public endpoint below is the one to configure on customer side. PichisoftLmKeySection=Signing private key PichisoftLmPrivateKeyPath=RSA private key path PichisoftLmPrivateKeyPathHelp=Absolute path of the PEM file, strictly OUTSIDE the webroot. This key signs authorizations: leaking it would allow forging licenses. PichisoftLmKeyNotConfigured=Not configured PichisoftLmKeyNotReadable=File not readable PichisoftLmKeyReadable=Key readable PichisoftLmEndpoint=Public activation endpoint PichisoftLmSignTest=Test signing PichisoftLmSignTestOk=Test signature succeeded: the private key works PichisoftLmErrorNoPrivateKey=Private key missing or unreadable (see setup) PichisoftLmErrorSignFailed=Signing failed (invalid key?) PichisoftLmLicenses=Licenses PichisoftLmNewLicense=New license PichisoftLmLicenseCreated=License created: %s PichisoftLmKey=License key PichisoftLmModule=Module PichisoftLmMaintenanceEnd=Updates until PichisoftLmInstance=Bound installation PichisoftLmDomain=Domain PichisoftLmFirstActivation=First activation PichisoftLmLastActivation=Last activation PichisoftLmNbActivations=Activations PichisoftLmRevoked=Revoked PichisoftLmResetBinding=Unbind installation # Releases (source of update archives) PichisoftLmReleaseSection=Update archives PichisoftLmNoRelease=No archive found PichisoftLmDeleteLicense=Delete license PichisoftLmConfirmDeleteLicense=Permanently delete license %s (%s)? The customer will not be able to activate it or receive updates any more. For a customer who did not renew, prefer "Revoke": the trace of the sale is kept. PichisoftLmLicenseDeleted=License %s deleted PichisoftLmSourceSection=Archives source (GitHub) PichisoftLmGithubToken=GitHub token PichisoftLmGithubTokenHelp=Token of the GitHub App (or fine-grained PAT) with read access to Contents. Stored encrypted. Leave empty to keep the current token. PichisoftLmGithubTokenDefined=(token stored - type to replace) PichisoftLmRepoMapping=GitHub repository of each module PichisoftLmRepoMappingHelp=Format owner/repo, for instance Pichinov/Module-Dolibarr-URSAFF-Micro-Entreprise. The module reads the latest release carrying a .zip asset. PichisoftLmRepoTestKo=Repository %s unreadable (missing token, private repository, or no release with an archive) PichisoftLmCatalogSection=Modules for sale PichisoftLmCatalogHelp=Declare here every module you sell. This list feeds license creation: a module is chosen, never typed. Set each module GitHub repository: that is where update archives are read from. PichisoftLmCatalogEmpty=No module declared. Add one below. PichisoftLmCatalogEmptyShort=No module in the catalogue PichisoftLmGoToCatalog=Declare a module PichisoftLmAddModule=Add a module: PichisoftLmSuggestions=Detected on this server: %s PichisoftLmModuleAdded=Module %s added to the catalogue PichisoftLmModuleAlready=Module %s is already in the catalogue PichisoftLmModuleInvalid=Invalid module name PichisoftLmModuleRemoved=Module %s removed from the catalogue (existing licenses are kept) PichisoftLmRemoveFromCatalog=Remove from the catalogue PichisoftLmLatestVersion=Latest version PichisoftLmIncomplete=to publish PichisoftLmIncompleteHelp=This module can be sold and activated, but no version is published yet: customers will not receive updates until an archive is available. PichisoftLmGithubOk=Connected PichisoftLmGithubKo=Not connected PichisoftLmGithubAccount=account %s PichisoftLmGithubNoToken=No token set: updates cannot be delivered. PichisoftLmGithubBadToken=Token refused by GitHub (expired or revoked). PichisoftLmGithubUnreachable=GitHub unreachable (HTTP %s). PichisoftLmShopSection=Shop (WooCommerce / YITH webhook) PichisoftLmWebhookSecret=Webhook secret PichisoftLmWebhookSecretHelp=Secret string shared with WooCommerce. The site signs each sale with it (HMAC-SHA256); without it, no sale is accepted. Generate a long random string. Stored encrypted. Leave empty to keep the current one. PichisoftLmWebhookUrl=URL to set on the WooCommerce side PichisoftLmWebhookUrlHelp=This is the address the WordPress snippet calls on each paid or renewed subscription. PichisoftLmSightings=Installations seen PichisoftLmSightingsHelp=Every incoming call (activation, update, enrolment, including keyless) leaves a trace here. This is what makes a shared key or a pirated copy visible server-side. No business data, hashed IP only. PichisoftLmSightingsNoAnomaly=No anomaly detected yet. PichisoftLmSharedKeys=Shared keys (one key seen on several installations) PichisoftLmClonedInstances=Cloned installations (one instance id under several domains) PichisoftLmSeenOnNInstalls=seen on %s installations, %s domains PichisoftLmInstanceOnNDomains=seen under %s different domains PichisoftLmSightingsAll=All PichisoftLmSightingsUnlicensed=Unlicensed PichisoftLmSightingsRejected=Rejected PichisoftLmSightingsEmpty=No installation seen for this filter. PichisoftLmNoKey=no key PichisoftLmSharedKeyFlag=This key is seen on several installations PichisoftLmClonedFlag=This installation id appears under several domains PichisoftLmAnomalyAlerts=Licence anomaly alert (daily email) PichisoftLmAlertSection=Anomaly alerts (daily cron) PichisoftLmAlertEmail=Alert email PichisoftLmAlertEmailHelp=Address that receives an email when a NEW anomaly is detected (shared key, cloned install). Leave empty to send no email (the "Installations seen" screen stays available). PichisoftLmAlertThreshold=Domain threshold PichisoftLmAlertThresholdHelp=Number of distinct domains/installations at which a key or instance triggers an email alert. Default 3 (above the screen's display threshold, to limit false positives on a migration). PichisoftLmUnlicensedInstalls=Unlicensed installations (copy not activated)