Vérificateur de Localizable.strings

Déposez deux fichiers .strings ou plus et voyez ce qui manque, ce qui est en double, ce qui n'a jamais vraiment été traduit et quelles lignes refusent de s'analyser. Rien n'est envoyé : ce sont en général des fichiers de production, et ils restent dans cette page.

Déposez votre dossier .lproj ou vos fichiers .strings ici ou cliquez pour choisir

La règle des valeurs en double

Deux clés portant la même valeur anglaise, c'est le bug qui revient toujours. La personne qui traduit voit deux fois la même chaîne, la traduit deux fois et obtient deux résultats différents — ou pire : une langue qui a besoin de mots distincts pour les deux contextes reçoit le même mot pour les deux, et personne ne s'en aperçoit avant qu'un locuteur natif ne se plaigne. Le contrôle normalise la casse et la ponctuation finale, car « Done » et « Done. », c'est le même problème déguisé.

Identique n'est pas synonyme de non traduit

Une valeur identique au fichier de base signifie le plus souvent que personne ne s'en est occupé. Parfois elle est juste : un nom de marque, une unité, une abréviation qui reste la même dans toutes les langues. L'outil les signale et vous laisse juger, car l'autre option consiste soit à passer à côté de vrais manques, soit à râler à chaque occurrence de « OK ».

Les lignes fautives sont signalées, pas ignorées en silence.

La grammaire des .strings est petite, mais ses cas limites sont bien réels : commentaires de bloc, guillemets échappés dans les valeurs, point-virgule oublié, guillemet typographique collé depuis un tableur. Un analyseur qui saute en silence ce qu'il ne comprend pas vous dira que le fichier va bien alors qu'une clé manque discrètement. Chaque ligne qui ne s'analyse pas est donc listée avec son numéro, pour que vous alliez la voir.

UTF-16 aussi

Xcode écrit des fichiers .strings en UTF-16 depuis des années, et bien des dépôts en contiennent encore. Chaque fichier est donc d'abord inspecté à la recherche d'une marque d'ordre des octets, puis décodé en conséquence, pour qu'un fichier UTF-16 n'arrive pas sous forme de mur d'octets nuls et de cent erreurs d'analyse.

FAQ

Gère-t-il les .xcstrings ?

Pas encore. Le catalogue de chaînes est du JSON à la structure différente, et il mérite son propre traitement plutôt qu'une couche de conversion qui marche à moitié.

Quel fichier prendre comme base ?

Celui qui fait autorité, en général la langue de développement. Tout lui est comparé, si bien qu'une clé absente de la base mais présente ailleurs est signalée comme en trop, et non comme manquante.

Qu'est-ce qui est considéré comme un problème ?

Une clé manquante, une valeur en double, une valeur identique à la base, ou une ligne qui ne s'analyse pas. Le compteur additionne tout cela sur l'ensemble des fichiers.

Mes fichiers sont-ils envoyés ?

Non. Ils sont lus avec le lecteur de fichiers du navigateur et comparés ici. Cela compte davantage pour cet outil que pour les autres, car ce sont de vrais fichiers de production.

Réalisé par l'équipe GO AI, qui se heurtait sans cesse au problème. Tous les outils gratuits