developer.jelix.org is not used any more and exists only for history. Post new tickets on the Github account.
developer.jelix.org n'est plus utilisée, et existe uniquement pour son historique. Postez les nouveaux tickets sur le compte github.

Opened 13 years ago

Closed 10 years ago

#268 closed new feature (fixed)

Créer des commandes d'import/mise à jour/suppression de fichiers properties pour les traductions d'une application

Reported by: bballizlife Owned by:
Priority: normal Milestone: Jelix 1.3 beta 1
Component: jelix-scripts Version: trunk
Severity: normal Keywords: properties, lang
Cc: Blocked By:
Blocking: Documentation needed: no
Hosting Provider: Php version:

Description

On pourrait envisager d'avoir un jelix-scrip tel que : "jelix.php addlang" Cette commande permettrait d'importer un package de fichiers properties et de les mettre dans les bons répertoires des modules d'une application, pour ajouter ainsi une nouvelle langue à celle-ci. Ainsi on pourrait facilement traduire une application en lui fournissant uniquement un package de traduction.

De même on pourrait envisager d'avoir une commande de mise à jour et de suppression de langue.

Pour faciliter l'ensemble, on pourrait enfin avoir une commande de génération de package pour une langue existante.

Attachments (2)

autoencode.diff (5.0 KB) - added by Lipki 13 years ago.
createlangpackage.cmd.php (2.5 KB) - added by FlorianLB 10 years ago.
Debut de travail sur la creation d'un package de traduction

Download all attachments as: .zip

Change History (7)

comment:1 Changed 13 years ago by Lipki

  • Documentation needed unset
  • review set to review?

Suite a la discussion sur #503 Je propose donc un patch.

Mais ce patch ne répond pas vraiment a ce ticket, il répond au #503, mais celui-ci a était clos ( de manière totalement abusive et injustifiée ;-) ).


Bon j'explique mon patch. :

Le principe est de créer les fichiers properties manquant pendant le build. On ne créer donc qu'un seul fichier properties de l'encodage que l'on souhaite(UTF-8 par exemple)

  • lib/jelix/core-modules/jelix/locales/fr_FR
    • acl2db.UTF-8.properties
    • acl2db.ISO-8859-1.properties
    • acl2db.ISO-8859-15.properties
    • acldb.UTF-8.properties
    • acldb.ISO-8859-1.properties
    • acldb.ISO-8859-15.properties
    • ect. ...

Ce qui donne dans le manifest

cd lib/jelix/core-modules/jelix/locales/fr_FR
# acl2db.UTF-8.properties
# acldb.UTF-8.properties
 ...

j'ai ajouté dans le manifest un caractère #.
Lorsque jManifest trouve ce caractère il créer les encodages manquant dans le dossier de destination.

Voila ce que l'on obtiens avec le mode verbose

copy  ./lib/jelix/core-modules/jelix/locales/fr_FR/acl2db.UTF-8.properties      to      ./top/lib/jelix/core-modules/jelix/locales/fr_FR/acl2db.UTF-8.properties
encode into  ./top/lib/jelix/core-modules/jelix/locales/fr_FR/acl2db.ISO-8859-1.properties
encode into  ./top/lib/jelix/core-modules/jelix/locales/fr_FR/acl2db.ISO-8859-15.properties
copy  ./lib/jelix/core-modules/jelix/locales/fr_FR/acldb.UTF-8.properties       to      ./top/lib/jelix/core-modules/jelix/locales/fr_FR/acldb.UTF-8.properties
encode into  ./top/lib/jelix/core-modules/jelix/locales/fr_FR/acldb.ISO-8859-1.properties
encode into  ./top/lib/jelix/core-modules/jelix/locales/fr_FR/acldb.ISO-8859-15.properties

Cela permet d'alléger le build, et d'éviter les erreurs, car ça réduit sérieusement le nombre de fichier a écrire.
C'est également plus facile pour la traduction.

On peut également envisager de faire cette opération lors de la première utilisation d'un module, a l'image de la compilation des fichiers de template.

review? mais il faut évidement le finaliser.

Changed 13 years ago by Lipki

comment:2 Changed 13 years ago by laurentj

  • review review? deleted

Bon, l'idée générale du patch, je suis ok, mais cela ne correspond ni au ticket 268, ni au ticket 503, ca la tu proposes non pas une ligne de commande mais une modif sur le build. Ça n'est donc pas vraiment le même usage.

donc retour au 503, ça correspond mieux effectivement.

Changed 10 years ago by FlorianLB

Debut de travail sur la creation d'un package de traduction

comment:3 Changed 10 years ago by FlorianLB

  • Cc f.lonqueu.brochard+jelix-trac@… added
  • review set to review?

Voila un début de travail sur la commande qui permet de générer un package de traduction pour une langue donnée.

Elle créer un dossier portant dans le nom de la langue dans app:/var (je savais pas trop où le mettre, surement à changer) qui suit par exemple cette forme pour la langue fr_CA:

fr_CA

  • myapp

-- locale1.UTF-8.properties -- locale2.UTF-8.properties

  • categories

-- locale1.UTF-8.properties -- locale2.UTF-8.properties

C'est un peu bordélique dans le code mais si dans l'esprit ca vous convient, je remet tout en ordre.

comment:4 Changed 10 years ago by FlorianLB

  • Cc f.lonqueu.brochard+jelix-trac@… removed

comment:5 Changed 10 years ago by laurentj

  • Resolution set to fixed
  • review review? deleted
  • Status changed from new to closed

J'ai repris ton patch et effectué des modifications :

  • stockage dans overloads
  • adaptation avec les nouvelles API internes de jelix-scripts
  • simplification de l'algo de copie

https://bitbucket.org/jelix/jelix-trunk/changeset/dec21a24e0aa

Merci pour le patch original

Note: See TracTickets for help on using tickets.