sparkle-project / Sparkle

A software update framework for macOS
https://sparkle-project.org
Other
7.37k stars 1.05k forks source link

Missing translations for the string "<software> wants permission to update" in SPUInstallerDriver.m #2607

Open luc-guyot-infomaniak opened 1 month ago

luc-guyot-infomaniak commented 1 month ago

Summary

The translations of the authorizationPrompt string found in Sparkle/SPUInstallerDriver.m are missing:

    // Changing this authorization prompt is a little complicated because the
    // Auth database retains and caches the right we use, and there isn't a good way
    // of updating the prompt. See code in SUInstallerLauncher.m
    // For this reason, we don't provide localized strings for this prompt yet
    // (and I believe, the authorization framework has a different way of specifying localizations..)
    NSString *authorizationPrompt;
    if ([mainBundleName isEqualToString:hostName]) {
        authorizationPrompt = [NSString stringWithFormat:@"%1$@ wants permission to update.", hostName];
    } else {
        authorizationPrompt = [NSString stringWithFormat:@"%1$@ wants permission to update %2$@.", mainBundleName, hostName];
    }

Example. Missing french translation.

image

Possible Fix

Re-instate former translations or translate the strings with missing translations.

Version

This issue impacts at least 2.6.2 and 2.6.4.

zorgiepoo commented 1 month ago

Read the surrounding comments around this code for why localizations are not provided today for this message.

I'm not sure this is going to get fixed. It requires a deeper investigation to internationalize.

luc-guyot-infomaniak commented 1 month ago

Read the surrounding comments around this code for why localizations are not provided today for this message.

I'm not sure this is going to get fixed. It requires a deeper investigation to internationalize.

Thanks for your prompt reply and insight. Indeed, I should have included the comment you are referring to, that is:

    // Changing this authorization prompt is a little complicated because the
    // Auth database retains and caches the right we use, and there isn't a good way
    // of updating the prompt. See code in SUInstallerLauncher.m
    // For this reason, we don't provide localized strings for this prompt yet
    // (and I believe, the authorization framework has a different way of specifying localizations..)