Est-ce que vous connaissez les frameworks des autres Smalltalk que Squeak ?
Comment dressent-ils le contour d'une application et de son catalogue de traduction ? Hilaire _______________________________________________ Squeak-fr mailing list [hidden email] http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/squeak-fr |
Salut Hilaire,
tu peux contacter Karsten Kusche pour lui poser la question au sujet de visual works: [hidden email]. En anglais ou en allemand par contre. Le 11/05/07, Hilaire Fernandes<[hidden email]> a écrit : > Est-ce que vous connaissez les frameworks des autres Smalltalk que Squeak ? > Comment dressent-ils le contour d'une application et de son catalogue de > traduction ? > > Hilaire > > _______________________________________________ > Squeak-fr mailing list > [hidden email] > http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/squeak-fr > -- Damien Cassou _______________________________________________ Squeak-fr mailing list [hidden email] http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/squeak-fr |
en VW, il y a un système à double clés:
1 clé pour le catalogue (1 symbol) 1 clé pour le message (1 symbol) un string par défaut (recommandé) Il y a ensuite un fichier par catalogue et par langue. Les fichiers sont rangés dans un ou plusieurs répertoires (il y a une sorte de CATALOG_PATH). Ces répertoires doivent avoir un sous répertoire par langue (en fr de es etc...) La clé de catalogue est indiqué en tête de fichier. Le codage des caractères dans le fichier de traduction est indiqué en tête de fichier également (important pour les caractères latins étendus et les langues non latines). Les fichiers sont une liste de clé=valeur Il est possible de substituer des arguments dans la valeur: dans 'le fichier <1s> est absent', <1s> est destiné à être remplacé par un string fournit en argument (le 1er argument). <1p> accepte n'importe quel argument (il invoque printString). Un mécanisme de cache et de binary tree permet un accès rapide sans faire grossir trop l'image (uniquement les catalogues utilisés sont chargés dans le cache). Les fichiers textes sont aussi traduits en version binaire pour un chargement plus rapide. Les clés sont créées via des messages << et >>. Il est facile d'écrire un utilitaire qui extrait toutes les occurrences de cette construction dans le code (à partir de l'arbre syntaxique du code - AST) et qui génère un moule des catalogues. On peut même re-générer les fichiers automatiquement pour suivre les évolutions du code. voilà pour le B.A. BA Nicolas Damien Cassou a écrit : > Salut Hilaire, > > tu peux contacter Karsten Kusche pour lui poser la question au sujet > de visual works: [hidden email]. En anglais ou en allemand > par contre. > > Le 11/05/07, Hilaire Fernandes<[hidden email]> a écrit : >> Est-ce que vous connaissez les frameworks des autres Smalltalk que >> Squeak ? >> Comment dressent-ils le contour d'une application et de son catalogue de >> traduction ? >> >> Hilaire >> >> _______________________________________________ >> Squeak-fr mailing list >> [hidden email] >> http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/squeak-fr >> > > > > ------------------------------------------------------------------------ > > _______________________________________________ > Squeak-fr mailing list > [hidden email] > http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/squeak-fr _______________________________________________ Squeak-fr mailing list [hidden email] http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/squeak-fr |
Merci Nicolas,
Est-ce que tu peux me donner un exemple d'utilisation des messages << et >> ? Hilaire nicolas cellier a écrit : > en VW, il y a un système à double clés: > > 1 clé pour le catalogue (1 symbol) > 1 clé pour le message (1 symbol) > un string par défaut (recommandé) > > Il y a ensuite un fichier par catalogue et par langue. > Les fichiers sont rangés dans un ou plusieurs répertoires (il y a une > sorte de CATALOG_PATH). Ces répertoires doivent avoir un sous répertoire > par langue (en fr de es etc...) > > La clé de catalogue est indiqué en tête de fichier. > Le codage des caractères dans le fichier de traduction est indiqué en > tête de fichier également (important pour les caractères latins étendus > et les langues non latines). > > Les fichiers sont une liste de clé=valeur > > Il est possible de substituer des arguments dans la valeur: > dans 'le fichier <1s> est absent', <1s> est destiné à être remplacé par > un string fournit en argument (le 1er argument). <1p> accepte n'importe > quel argument (il invoque printString). > > Un mécanisme de cache et de binary tree permet un accès rapide sans > faire grossir trop l'image (uniquement les catalogues utilisés sont > chargés dans le cache). Les fichiers textes sont aussi traduits en > version binaire pour un chargement plus rapide. > > Les clés sont créées via des messages << et >>. Il est facile d'écrire > un utilitaire qui extrait toutes les occurrences de cette construction > dans le code (à partir de l'arbre syntaxique du code - AST) et qui > génère un moule des catalogues. > > On peut même re-générer les fichiers automatiquement pour suivre les > évolutions du code. > > voilà pour le B.A. BA > _______________________________________________ Squeak-fr mailing list [hidden email] http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/squeak-fr |
c'est comme printf %1
Stef On 12 mai 07, at 08:09, Hilaire Fernandes wrote: > Merci Nicolas, > > Est-ce que tu peux me donner un exemple d'utilisation des messages > << et >> ? > > Hilaire > > > nicolas cellier a écrit : >> en VW, il y a un système à double clés: >> 1 clé pour le catalogue (1 symbol) >> 1 clé pour le message (1 symbol) >> un string par défaut (recommandé) >> Il y a ensuite un fichier par catalogue et par langue. >> Les fichiers sont rangés dans un ou plusieurs répertoires (il y a >> une sorte de CATALOG_PATH). Ces répertoires doivent avoir un sous >> répertoire par langue (en fr de es etc...) >> La clé de catalogue est indiqué en tête de fichier. >> Le codage des caractères dans le fichier de traduction est indiqué >> en tête de fichier également (important pour les caractères latins >> étendus et les langues non latines). >> Les fichiers sont une liste de clé=valeur >> Il est possible de substituer des arguments dans la valeur: >> dans 'le fichier <1s> est absent', <1s> est destiné à être >> remplacé par un string fournit en argument (le 1er argument). <1p> >> accepte n'importe quel argument (il invoque printString). >> Un mécanisme de cache et de binary tree permet un accès rapide >> sans faire grossir trop l'image (uniquement les catalogues >> utilisés sont chargés dans le cache). Les fichiers textes sont >> aussi traduits en version binaire pour un chargement plus rapide. >> Les clés sont créées via des messages << et >>. Il est facile >> d'écrire un utilitaire qui extrait toutes les occurrences de cette >> construction dans le code (à partir de l'arbre syntaxique du code >> - AST) et qui génère un moule des catalogues. >> On peut même re-générer les fichiers automatiquement pour suivre >> les évolutions du code. >> voilà pour le B.A. BA > > _______________________________________________ > Squeak-fr mailing list > [hidden email] > http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/squeak-fr > _______________________________________________ Squeak-fr mailing list [hidden email] http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/squeak-fr |
In reply to this post by Nicolas Cellier-3
nicolas cellier a écrit :
> en VW, il y a un système à double clés: > > 1 clé pour le catalogue (1 symbol) > 1 clé pour le message (1 symbol) > un string par défaut (recommandé) Commment est utilisé la clé catalogue dans le message ? Hilaire _______________________________________________ Squeak-fr mailing list [hidden email] http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/squeak-fr |
Hilaire Fernandes a écrit :
> nicolas cellier a écrit : >> en VW, il y a un système à double clés: >> >> 1 clé pour le catalogue (1 symbol) >> 1 clé pour le message (1 symbol) >> un string par défaut (recommandé) > > > Commment est utilisé la clé catalogue dans le message ? > > Hilaire Un exemple: Dialog warn: ( (#FileNotFoundError << #MyCatalogID >> 'ERROR: file <1s> not found') expandMacrosWith: file name). << crée un UserMessage composé des clés message et catalogue. >> remplit la valeur par défaut. Le mécanisme de substitution n'a plus qu'à aller chercher la clé #FileNotFoundError dans le catalogue d'id #MyCatalogID pour le language courant. Si il ne le trouve pas, alors le message par défaut est utilisé. Il y a aussi un moyen de spécifier le catalogID pour toute une application (une interface utilisateur), mais là, cela devient très spécifique VW. Si on crée un UserMessage sans catalogueID (#FileNotFoundError >> 'ERROR: file <1s> not found'), alors il me semble que le premier catalogue trouvé qui contient cette clé est utilisé. A confirmer... Nicolas _______________________________________________ Squeak-fr mailing list [hidden email] http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/squeak-fr |
In reply to this post by stephane ducasse
#cleDuMessage << #IdDuCatalogue >> 'valeur par défaut'
est à: (UserMessage key: #cleDuMessage catalogID: #IdDuCatalogue defaultString: 'valeur par défaut') Ce que: 1@2 est à: (Point x: 1 y: 2) Juste un moyen d'écrire en plus court, (rien à voir avec les stream C++) Nicolas stephane ducasse a écrit : > c'est comme printf %1 > > Stef > > On 12 mai 07, at 08:09, Hilaire Fernandes wrote: > >> Merci Nicolas, >> >> Est-ce que tu peux me donner un exemple d'utilisation des messages << >> et >> ? >> >> Hilaire >> >> _______________________________________________ Squeak-fr mailing list [hidden email] http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/squeak-fr |
In reply to this post by Nicolas Cellier-3
Ok, merci pour les explications.
Je me demande pourquoi le message par défaut n'est pas utilisé comme clé de message. Hilaire nicolas cellier a écrit : > Hilaire Fernandes a écrit : >> nicolas cellier a écrit : >>> en VW, il y a un système à double clés: >>> >>> 1 clé pour le catalogue (1 symbol) >>> 1 clé pour le message (1 symbol) >>> un string par défaut (recommandé) >> >> >> Commment est utilisé la clé catalogue dans le message ? >> >> Hilaire > > Un exemple: > > Dialog warn: ( > (#FileNotFoundError << #MyCatalogID >> 'ERROR: file <1s> not found') > expandMacrosWith: file name). > > > << crée un UserMessage composé des clés message et catalogue. > >> remplit la valeur par défaut. > > Le mécanisme de substitution n'a plus qu'à aller chercher la clé > #FileNotFoundError dans le catalogue d'id #MyCatalogID pour le language > courant. Si il ne le trouve pas, alors le message par défaut est utilisé. > > Il y a aussi un moyen de spécifier le catalogID pour toute une > application (une interface utilisateur), mais là, cela devient très > spécifique VW. > > Si on crée un UserMessage sans catalogueID (#FileNotFoundError >> > 'ERROR: file <1s> not found'), alors il me semble que le premier > catalogue trouvé qui contient cette clé est utilisé. A confirmer... > > Nicolas _______________________________________________ Squeak-fr mailing list [hidden email] http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/squeak-fr |
Le 13/05/07, Hilaire Fernandes<[hidden email]> a écrit :
> Ok, merci pour les explications. > Je me demande pourquoi le message par défaut n'est pas utilisé comme clé > de message. Peut-être pour garder la même clé si le texte change un peu. -- Damien Cassou _______________________________________________ Squeak-fr mailing list [hidden email] http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/squeak-fr |
Damien Cassou a écrit :
> Le 13/05/07, Hilaire Fernandes<[hidden email]> a écrit : >> Ok, merci pour les explications. >> Je me demande pourquoi le message par défaut n'est pas utilisé comme clé >> de message. > > Peut-être pour garder la même clé si le texte change un peu. Oui, peut-être. Je trouve que les outils Gettext du projet GNU règle le problème de façon plus élégante sans la necessite d'une clé en plus du message. En effet si un message est modifié, celui-ci est marqué fuzzy dans le catalogue de traduction. Hilaire _______________________________________________ Squeak-fr mailing list [hidden email] http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/squeak-fr |
In reply to this post by Hilaire Fernandes-4
Pour éviter les conflits.
Il se peut que dans une langue donné, le message soit identique dans deux contextes différents. Mais cela ne sera pas forcément vrai dans une autre langue. Nicolas Hilaire Fernandes a écrit : > Ok, merci pour les explications. > Je me demande pourquoi le message par défaut n'est pas utilisé comme clé > de message. > > Hilaire > > nicolas cellier a écrit : >> Hilaire Fernandes a écrit : >>> nicolas cellier a écrit : >>>> en VW, il y a un système à double clés: >>>> >>>> 1 clé pour le catalogue (1 symbol) >>>> 1 clé pour le message (1 symbol) >>>> un string par défaut (recommandé) >>> >>> >>> Commment est utilisé la clé catalogue dans le message ? >>> >>> Hilaire >> >> Un exemple: >> >> Dialog warn: ( >> (#FileNotFoundError << #MyCatalogID >> 'ERROR: file <1s> not found') >> expandMacrosWith: file name). >> >> >> << crée un UserMessage composé des clés message et catalogue. >> >> remplit la valeur par défaut. >> >> Le mécanisme de substitution n'a plus qu'à aller chercher la clé >> #FileNotFoundError dans le catalogue d'id #MyCatalogID pour le >> language courant. Si il ne le trouve pas, alors le message par défaut >> est utilisé. >> >> Il y a aussi un moyen de spécifier le catalogID pour toute une >> application (une interface utilisateur), mais là, cela devient très >> spécifique VW. >> >> Si on crée un UserMessage sans catalogueID (#FileNotFoundError >> >> 'ERROR: file <1s> not found'), alors il me semble que le premier >> catalogue trouvé qui contient cette clé est utilisé. A confirmer... >> >> Nicolas _______________________________________________ Squeak-fr mailing list [hidden email] http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/squeak-fr |
Free forum by Nabble | Edit this page |