Editer des fichiers .po avec Obj-C

Nihonium

Membre expert
Club iGen
27 Juillet 2008
2 328
530
Bonjour,

Je suis en train de me faire un petit utilitaire pour éditer des fichiers avec extension .po (fichiers de traduction). Cela dit, je "galère" un peu bêtement.

J'ai créé un projet NSDocument, tout fonctionne sauf la lecture / écriture des fichiers po, je n'arrive pas à les charger dans ma TableView, ni les enregistrer :siffle:
Je pense que ça a à voir avec le format GNU GetText dont relève le type de fichier, mais je n'arrive pas à avancer sur mon projet. J'ai lu et relu en ligne les docs qui trainent sur GNU Gettext sans trop m'éclairer.

J'aimerais savoir s'il y a une manière particulière de traiter les fichiers po ou si je peux faire un truc plus "funky" et personnalisé du style : j'ouvre le fichier, je repère chaque saut de ligne et je place la traduction originale dans une colonne de ma tableview / traduction autre dans la colonne suivante, et réitère pour chaque ligne.

Peut etre qu'il faut inclure des librairies pour lire ces fichiers? Pour l'instant, mon app refuse de lire ou écrire du po :(

Si vous avez des conseils ou que vous pouvez m'en dire plus sur ce que vous pensez que je dois faire, je suis preneur.

Merci de votre aide :)
 
Un fichier texte ASCII est un fichier texte ASCII, qui s'appelle .po ou pas. :rateau:

Il faut juste savoir que les différents OS (Mac Classic, Windows (ou DOS) et UNIX, donc Mac OSX) n'écrivent pas les fins de ligne de la même manière :
\n pour UNIX
\r\n pour Windows/DOS

Tu peux afficher ces fins de lignes dans de nombreux éditeurs de texte pour vérifier leur format.
Il existe un utilitaire disponible via le terminal pour convertir des fichiers texte : dos2unix
 
  • J’aime
Réactions: BS0D
Merci de ta réponse, en quelques lignes seulement tu me rends service comme tu n'as pas idée...
Cela dit, j'ai compris après m'être tapé une bonne partie de la doc GNU Gettext que ça ne sert que pour localiser des applications, et que dans mon cas ça n'avait rien à voir avec la possibilité de lire/ouvrir/enregistrer le fichier .po !

En définitive, il semble que tout ce que j'aie à faire, ça soit de charger le fichier, parser de telle manière que chaque ligne s'affiche là où je veux dans ma table view, et faire la même chose dans l'autre sens pour enregistrer les changements -- en respectant l'encodage, comme tu dis les "fins de lignes" (je vais donc rajouter une préférence pour modifier l'encodage).

Je ne me trompe pas?!

Enfin, quand je dis "tout ce que j'ai à faire" ça ne va pas être facile à mon niveau de jouer avec le texte, les méthodes d'archivage et désarchivage et la table view en même temps :zen:
Disons que je sais même pas s'il fuat que j'utilise une datasource :confused: