Guide complet de l'internationalisation avec Darling pour simuler macOS sur Linux

Architecture de l'internationalisation dans Darling

Darling est une couche de compatibilité permettant d'exécuter des applications macOS sous Linux. Son support de l'internationalisation repose sur les frameworks natifs de macOS pour offrir une expérience localisée. La gestion multilingue s'articule autour de plusieurs composants clés :

  • Interfaces de localisation : Définies dans framework-include/CoreFoundation/CFLocale.h, elles gèrent les préférences linguistiques au niveau système.
  • Service de configuration : Le répertoire src/configd/ administre les paramètres régionaux.
  • Chargement des ressources : Le fichier src/frameworks/Foundation/NSBundle.m s'occupe de l'instanciation des packs de langues .lproj.

Le système prend en charge de nombreuses langues internationales via une combinaison de variables d'environnement et de fichiers de préférences.

Configuration de l'environnement linguistique

Compilation avec le support i18n

Pour bénéficier des fonctionnalités de localisation, il faut compiler le projet en activant l'option correspondante :

git clone https://github.com/darlinghq/darling.git
cd darling
mkdir build_dir && cd build_dir
cmake .. -DENABLE_I18N=ON
make -j$(nproc)
sudo make install

Définition de la langue système

La langue par défaut peut être définie via des variables d'environnement avant de lancer le shell Darling :

export DARLING_LANG=fr_FR.UTF-8
export LC_ALL=fr_FR.UTF-8
darling shell

Pour rendre cette configuration persistante, ajoutez ces lignes à votre fichier ~/.bashrc ou ~/.zshrc.

Vérification des paramètres

Une fois dans l'environnement Darling, utilisez l'outil defaults pour vérifier la langue active :

defaults read -g AppleLocale

La sortie attendue doit indiquer le code de la langue configurée, par exemple fr_FR.

Résolution des problèmes courants

Applications affichées en anglais

Si une application ne change pas de langue, vérifiez la présence des répertoires de localisation dans son paquet :

ls -l /Applications/VotreApp.app/Contents/Resources/ | grep lproj

Si le dossier .lproj correspondant à votre langue est absent, vous devrez l'extraire d'une installation officielle de macOS et le copier dans le dossier Resources de l'application.

Affichage incorrect des caractères

Les caractères spéciaux ou non latins peuvent s'afficher de manière incorrecte si les polices nécessaires ne sont pas installées sur l'hôte Linux. Installez les paquets de polices appropriés, par exemple :

sudo apt update && sudo apt install fonts-noto-cjk fonts-noto-color-emoji

Personnalisation avancée

Les développeurs souhaitant affiner la prise en charge linguistique peuvent modifier directement le code source de Darling :

  • Ajout de langues : Éditez le fichier Sources/Foundation/NSLocale.m pour inclure de nouveaux mappages de codes de langues.
  • Règles régionales : Ajustez les formats de date et de devise dans Sources/CoreFoundation/CFLocale.c.
  • Substitution de polices : Modifiez la logique de repli de polices dans Sources/AppKit/NSFont.m pour améliorer le rendu typographique.

Étiquettes: Darling macOS Linux localisation CoreFoundation

Publié le 27 juillet à 08h13