framework de traduction des autres Smalltalk

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
12 messages Options
Reply | Threaded
Open this post in threaded view
|

framework de traduction des autres Smalltalk

Hilaire Fernandes-4
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
Reply | Threaded
Open this post in threaded view
|

Re: framework de traduction des autres Smalltalk

Damien Cassou-3
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
Reply | Threaded
Open this post in threaded view
|

Re: framework de traduction des autres Smalltalk

Nicolas Cellier-3
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
Reply | Threaded
Open this post in threaded view
|

Re: framework de traduction des autres Smalltalk

Hilaire Fernandes-4
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
Reply | Threaded
Open this post in threaded view
|

Re: Re: framework de traduction des autres Smalltalk

stephane ducasse
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
Reply | Threaded
Open this post in threaded view
|

Re: framework de traduction des autres Smalltalk

Hilaire Fernandes-4
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
Reply | Threaded
Open this post in threaded view
|

Re: framework de traduction des autres Smalltalk

Nicolas Cellier-3
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
Reply | Threaded
Open this post in threaded view
|

Re: framework de traduction des autres Smalltalk

Nicolas Cellier-3
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
Reply | Threaded
Open this post in threaded view
|

Re: framework de traduction des autres Smalltalk

Hilaire Fernandes-4
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
Reply | Threaded
Open this post in threaded view
|

Re: Re: framework de traduction des autres Smalltalk

Damien Cassou-3
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
Reply | Threaded
Open this post in threaded view
|

Re: framework de traduction des autres Smalltalk

Hilaire Fernandes-4
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
Reply | Threaded
Open this post in threaded view
|

Re: framework de traduction des autres Smalltalk

Nicolas Cellier-3
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