Collecter les ressources
La collecte de ressources est la partie du pipeline de localisation qui utilise le plus de ressources. Cela est dû au fait que la localisation doit souvent charger des ressources (et leurs dépendances) pour extraire les valeurs de texte localisables qu'elles contiennent. Afin de minimiser le nombre de ressources devant réellement être chargées lors d'une collecte, l'Unreal Engine (l'UE) ajoute un « cache de collecte » à l'en-tête des fichiers de ressource (générés lors de l'enregistrement), ce qui signifie que seul l'en-tête de ressource doit être chargé pour collecter le texte.
Vous pouvez afficher le cache actuel d'une ressource en accédant au menu Asset Localization (Localisation des ressources) dans le navigateur de contenu et en sélectionnant Show Localization Cache (Afficher le cache de localisation).

Certains types de ressources (tels que les blueprints ou les niveaux avec un blueprint de niveau non vide) ne peuvent pas générer de cache de collecte en raison de leur utilisation de code à octet. Cela est dû au fait que l'UE collecte les valeurs de texte à partir du code à octet, mais ce dernier est trop volatil pour être mis en cache de manière fiable lors de l'enregistrement.
Un résumé du nombre de ressources non mises en cache en raison du code à octet est affiché dans le journal lors d'une collecte de ressources. Si vous constatez que votre collecte de ressources passe la majeure partie de son temps à collecter des ressources contenant du code à octet, vous pouvez envisager de déplacer le texte de ces ressources dans des tables de chaînes afin de pouvoir faire référence à ces entrées à la place.
Seules les ressources contenant une valeur de texte sérialisée qui transmet FText::ShouldGatherForLocalization sont chargées lors d'une collecte de ressources. Les textes indépendants de la culture, vides ou composés uniquement d'espaces blancs, ainsi que les références aux tables de chaînes, échouent tous à ce contrôle. C'est la raison pour laquelle l'utilisation d'une table de chaînes peut améliorer les performances de votre collecte de ressources.
Valider les caches de ressources
Certains utilitaires sont disponibles pour vous aider à signaler ou à corriger les caches de collecte obsolètes et manquants sur les ressources de votre projet. Leur exécution prend un certain temps, car ils doivent charger chaque ressource en mémoire. Cependant, ils peuvent offrir des économies futures importantes si vous disposez d'un grand nombre de ressources non mises en cache. Ces utilitaires sont exécutés en tant qu'arguments supplémentaires dans le commandlet de localisation standard.
Exemple :
-run=GatherText-config=Config/Localization/Game_Gather.ini
-ReportStaleGatherCache
Si vous mettez à niveau un projet à partir d'une version d'Unreal Engine antérieure à 4.20, vous devez au moins exécuter ReportStaleGatherCache pour vérifier que votre cache est à jour, car les caches obsolètes peuvent entraîner des problèmes de localisation.
Ces options ne sont pas affichées dans le Localization Dashboard (Tableau de bord de localisation). Au lieu de cela, vous devez utiliser le fichier INI de collecte généré par le tableau de bord pour votre cible de localisation et exécuter manuellement le commandelet de localisation.
| Argument | Description |
|---|---|
ReportStaleGatherCache |
Générer un fichier StaleGatherCacheReport.txt à côté du manifeste de votre cible de localisation. Ce fichier contient une liste des ressources contenant un cache de collecte obsolète. |
FixStaleGatherCache |
Tenter de réparer automatiquement toutes les ressources contenant un cache de collecte obsolète en les réenregistrant. |
FixMissingGatherCache |
En ce qui concerne les ressources trop anciennes pour avoir un cache de collecte, la fonction tente de réparer automatiquement les ressources qui n'ont pas de cache de collecte en les réenregistrant. |