TL;DR
Il s'agit essentiellement d'un bogue ou d'une correction de bogue introduit dans MacOS 10.13 High Sierra : Spotlight respecte désormais le paramètre du Finder permettant d'afficher les extensions de fichiers. La désactivation de ce paramètre supprime l'extension .app de Spotlight.
Réponse complète
Je sais que c'est une très vieille question, mais je viens d'avoir un déjà-vu dans 10.13 High Sierra ; différent de celui-ci mais avec quelques similitudes, alors j'ai fait des recherches et je suis tombé sur cette question et voici ma réponse :
Les applications sont en fait des répertoires affichés comme s'il s'agissait d'un seul fichier ; Apple appelle cela un paquet (bien que le Finder le nomme " Paquet "comme dans " Contenu de l'emballage du spectacle "dans le menu contextuel). Les applications ne sont pas les seules à être regroupées, Apple utilise également les regroupements pour les frameworks, les plugins, les extensions d'applications, les services XPI, certains types de paquets d'installation, ainsi que le format de stockage des données si les données stockées sont constituées de plusieurs fichiers mais doivent apparaître comme un seul fichier (par exemple, un document RTF avec des images peut être stocké comme un regroupement RTFD). Les paquets ont toujours un nom réel, le nom de l'entrée du fichier sur le disque. Ainsi, s'il n'y a rien d'autre à afficher, MacOS affiche ce nom partout.
Cependant, les paquets contiennent un fichier d'information, nommé Info.plist
qui contient toutes sortes de métadonnées sur le paquet. Une chose qu'un tel fichier d'information peut définir est un fichier de type Nom d'affichage . Si un tel nom d'affichage est défini, le Finder affichera le nom d'affichage et non le nom réel du répertoire. C'est-à-dire, à moins que le répertoire n'ait été renommé, ce que le Finder peut détecter si le nom du répertoire ne correspond pas à la balise nom du paquet dans le Info.plist
dossier. J'admets que c'est un peu compliqué. Essayons avec un exemple :
- Le répertoire est nommé
My App.app
- El nom du paquet sur
Info.plist
est My App
- El nom d'affichage du paquet sur
Info.plist
est My Cool App
Avec cette combinaison, le Finder affichera l'application en tant que My Cool App.app
(ou simplement My Cool App
si les extensions sont cachées). Tant que le nom de (1) et (2) correspond, (3) est affiché.
Si je renomme maintenant le répertoire en My Boring App.app
alors le Finder l'affichera comme My Boring App.app
puisque dès que (1) et (2) ne correspondent pas dans le nom, (1) est affiché, comme si l'utilisateur veut que son application soit renommée, bien sûr, le Finder devrait afficher le nom choisi par l'utilisateur, c'est logique, non ?
C'est déjà assez compliqué ? Eh bien, je suis désolé, mais ça devient encore plus compliqué maintenant. Toutes les valeurs dans le Info.plist
qui sont affichés aux utilisateurs peuvent être localisé Ainsi, si votre système est réglé sur l'anglais américain, l'adresse de l'ordinateur est la même que celle de l'ordinateur. nom d'affichage du paquet peut être My Cool App
mais si le système est réglé sur l'anglais britannique, il peut être My Amazing App
. Si une localisation existe pour la langue du système actuel, le Finder affichera cette localisation, mais à nouveau, seulement si les noms de (1) et (2) correspondent, sinon (1) l'emportera à nouveau.
La localisation se fait en plaçant .strings
en paquets dans des sous-répertoires nommés <x>.lproj
où <x>
peut simplement être un code de langue, par exemple en.lproj
pour l'anglais, fr.lproj
pour le français, etc. Mais in peut aussi être langue + pays, comme par exemple en_US.lproj
, en_GB.lproj
, en_AU.lproj
et ainsi de suite. A l'intérieur se trouve un fichier nommé InfoPlist.strings
et ce fichier peut remplacer les valeurs de base de l'option Info.plist
fichier. Si aucune localisation correspondante n'est trouvée, les valeurs de la balise localisation de la base sont utilisés (nommés région de développement ) qui est également défini par le Info.plist
fichier. Si aucune localisation de ce type n'est définie, les valeurs de la rubrique Info.plist
sont utilisés directement.
Spotlight se comporte comme le Finder, si (1) et (2) correspondent dans le nom (3) est affiché, soit directement, soit à partir de la localisation correspondante. Si (3) n'est pas défini, (1) est affiché. Mais contrairement à Finder, il n'ajoute pas toujours l'élément .app
même si cela est demandé dans les préférences du Finder. Je n'ai pas réussi à trouver le modèle de comportement exact, mais une certaine combinaison de configuration empêchera Spotlight d'afficher l'extension, indépendamment de ce que vous avez configuré. Pour certains utilisateurs, le problème est résolu en changeant le paramètre du Finder et en exécutant ensuite sudo mdutil -E /
sur Terminal
(qui réindexe tout). Mais cela ne fonctionne pas pour tous les utilisateurs, ce qui peut avoir un rapport avec la langue/région choisie.
En gros, c'est un bug. Soit la réindexation le corrige, soit il ne peut pas être corrigé. Et le comportement a été modifié par Apple à une certaine version de MacOS et est resté constant par la suite... c'est-à-dire jusqu'à la 10.13 High Sierra. Tout d'un coup, toutes mes applications ont .app
dans Spotlight, ce qui correspond à mon réglage dans le Finder, alors que dans la version 10.12 Sierra, aucune application n'avait d'extension dans Spotlight, malgré le réglage dans le Finder, à moins que je ne l'aie renommée ou que je dispose de plusieurs copies.
0 votes
Cela pourrait-il être dû à des applications qui spécifient un nom de paquet localisé ? De sorte que le nom du paquet s'affiche, par opposition au nom du fichier ?
0 votes
Cette question est très similaire à [celle-ci][1]. [1] : apple.stackexchange.com/questions/33378/