Dictionnaires 5 langues

Partagez votre expérience de PureBasic avec les autres utilisateurs.
Avatar de l’utilisateur
SPH
Messages : 4947
Inscription : mer. 09/nov./2005 9:53

Dictionnaires 5 langues

Message par SPH »

Voici des dictionnaires en 5 langues que je met a votre disposition :
http://xmas.free.fr/dico/
Peut etre en aurez vous besoin !

Pour gagner de la place, j'ai retranché la premiere lettre et j'ai fais des fichiers pour chaque longueur de mot.
Ex : dico-a5 veux dire "tous les mots de 5 lettres commencant pas a" mais dedans il n'y a que des mots a 4 lettres puisque je retranche le A.
Vous vous y ferez :mrgreen:

!i!i!i!i!i!i!i!i!i!
!i!i!i!i!i!i!
!i!i!i!
//// Informations ////
Intel Core i7 4770 64 bits - GTX 650 Ti
Version de PB : 6.12LTS- 64 bits
Avatar de l’utilisateur
Ar-S
Messages : 9540
Inscription : dim. 09/oct./2005 16:51
Contact :

Re: Dictionnaires 5 langues

Message par Ar-S »

Une occasion de tester ceci ?
Merci pour le partage.

Par contre, pour les dico j'aurai plutôt eu tendance à créer 1 seul fichier texte contenant une syntaxe du genre,
Ouvrir,Open,Abrir etc...

La traduction et la mise en œuvre en serait bien simplifiée :)
~~~~Règles du forum ~~~~
⋅.˳˳.⋅ॱ˙˙ॱ⋅.˳Ar-S ˳.⋅ॱ˙˙ॱ⋅.˳˳.⋅
W11x64 PB 6.x
Section HORS SUJET : ICI
LDV MULTIMEDIA : Dépannage informatique & mes Logiciels PB
UPLOAD D'IMAGES : Uploader des images de vos logiciels
Avatar de l’utilisateur
SPH
Messages : 4947
Inscription : mer. 09/nov./2005 9:53

Re: Dictionnaires 5 langues

Message par SPH »

Ar-S a écrit :Par contre, pour les dico j'aurai plutôt eu tendance à créer 1 seul fichier texte contenant une syntaxe du genre,
Ouvrir,Open,Abrir etc...
J'ai abandonné cette idee car si notre mot se trouve a la fin du fichier, on "perd" du temps. Tandis que si on cherche un mot de X lettres commencant par Y, ca va tres vite.

!i!i!i!i!i!i!i!i!i!
!i!i!i!i!i!i!
!i!i!i!
//// Informations ////
Intel Core i7 4770 64 bits - GTX 650 Ti
Version de PB : 6.12LTS- 64 bits
Avatar de l’utilisateur
Ar-S
Messages : 9540
Inscription : dim. 09/oct./2005 16:51
Contact :

Re: Dictionnaires 5 langues

Message par Ar-S »

Oui ce sont peut-être des buts différents, je voyais personnellement plus une solution pour faire plus aisément des logiciels multilangues. Mais il est vrai que le nombre de mots/phrases est bien moindre.
~~~~Règles du forum ~~~~
⋅.˳˳.⋅ॱ˙˙ॱ⋅.˳Ar-S ˳.⋅ॱ˙˙ॱ⋅.˳˳.⋅
W11x64 PB 6.x
Section HORS SUJET : ICI
LDV MULTIMEDIA : Dépannage informatique & mes Logiciels PB
UPLOAD D'IMAGES : Uploader des images de vos logiciels
Avatar de l’utilisateur
Ar-S
Messages : 9540
Inscription : dim. 09/oct./2005 16:51
Contact :

Re: Dictionnaires 5 langues

Message par Ar-S »

Par contre ton fichier Dico2.pb tu peux quand même l'améliorer.
Que de répétitions !

Essaye ça, non testé avec ce code car j'ai pas toutes les archives mais teste donc et dis moi si ça passe.

Code : Tout sélectionner

Enumeration
#src ; sera 0
#dst ; sera 1
EndEnumeration

Procedure.s ReplaceAccents(Chaine$)
  ; by Falsam
  ; Modif : Ar-S
  
  Chaine$=LCase(Chaine$) ; On passe tout en min histoire que ce soit propre et que le ReplaceString() dure 2 x moins longtemps
  Protected i
  Protected CharToFind.s="àáâãäåßçèéêëìíîïñòóôõöÞùúûüýÿ"
  Protected CharToReplace.s="aaaaaabceeeeiiiinooooopuuuuyy"
  
  For i=1 To Len(CharToFind) 
    ReplaceString(Chaine$, Mid(CharToFind,i,1), Mid(CharToReplace,i,1),#PB_String_InPlace, 1)
  Next
  
  ; vérif pour les caractères spéciaux passant de 1 à 2 caractères
  Chaine$ = ReplaceString(Chaine$, "œ", "oe")
  Chaine$ = ReplaceString(Chaine$, "æ", "ae")
  
  ProcedureReturn Chaine$
EndProcedure


chemin$="c:\.Trash-999\"
  
If ReadFile(#dst, chemin$+"Liste de motsItaliens.txt")
  While Eof(#dst) = 0           ; loop as long the 'end of file' isn't reached
    mot$=ReadString(#dst)
    
    ReplaceAccents(mot$) ; ICI

    mot2$=Mid(mot$,2,Len(mot$)-1)
   
    a$=Left(mot$,1)
    Debug mot$
    If OpenFile(#src, chemin$+"dico-"+a$+Str(Len(mot$)))
      
      ReplaceAccents(mot$) ; ICI

      x=Len(mot$)
      For i=10 To 96
        a$=Chr(i)
        mot$=ReplaceString(mot$,a$,"")
      Next
      For i=123 To 255
        a$=Chr(i)
        mot$=ReplaceString(mot$,a$,"")
      Next
      For i=97 To 122
        a$=Chr(i)+Chr(i)+Chr(i)
        mot$=ReplaceString(mot$,a$,"")
      Next
      Debug mot$
      If x<>Len(mot$)
        Goto ok45
      EndIf
      
      
      While Eof(#src) = 0           ; loop as long the 'end of file' isn't reached
        mot3$=ReadString(#src)
        If mot3$=mot2$
          Goto ok45
        EndIf
      Wend
      WriteStringN(#src, mot2$)
      ok45:
      CloseFile(#src)
    EndIf
    
    
  Wend
  ok60:
  CloseFile(#dst)
  
Else
  MessageRequester ("Erreur", "Lecture du fichier " + chemin$ + "Liste de motsItaliens.txt" + " impossible",#MB_OK) ;-test
EndIf
~~~~Règles du forum ~~~~
⋅.˳˳.⋅ॱ˙˙ॱ⋅.˳Ar-S ˳.⋅ॱ˙˙ॱ⋅.˳˳.⋅
W11x64 PB 6.x
Section HORS SUJET : ICI
LDV MULTIMEDIA : Dépannage informatique & mes Logiciels PB
UPLOAD D'IMAGES : Uploader des images de vos logiciels
Avatar de l’utilisateur
SPH
Messages : 4947
Inscription : mer. 09/nov./2005 9:53

Re: Dictionnaires 5 langues

Message par SPH »

Ca a l'air de marcher.
Mais fait attention, ß en allemand se traduit par SS et non par B (enfin, il parait)

!i!i!i!i!i!i!i!i!i!
!i!i!i!i!i!i!
!i!i!i!
//// Informations ////
Intel Core i7 4770 64 bits - GTX 650 Ti
Version de PB : 6.12LTS- 64 bits
Avatar de l’utilisateur
Kwai chang caine
Messages : 6989
Inscription : sam. 23/sept./2006 18:32
Localisation : Isere

Re: Dictionnaires 5 langues

Message par Kwai chang caine »

(enfin, il parait)
:?
ImageLe bonheur est une route...
Pas une destination

PureBasic Forum Officiel - Site PureBasic
Avatar de l’utilisateur
Ar-S
Messages : 9540
Inscription : dim. 09/oct./2005 16:51
Contact :

Re: Dictionnaires 5 langues

Message par Ar-S »

Désolé j'ai pas regardé plus avant car je n'ai pas eu l'occasion d'utiliser ce symbole.
Petit correctif :

Code : Tout sélectionner

Procedure.s ReplaceAccents(Chaine$)
      ; by Falsam
      ; Mod : Ar-S
      
      Chaine$=LCase(Chaine$) ; On passe tout en min histoire que ce soit propre et que le ReplaceString() dure 2 x moins longtemps
      Protected i
      Protected CharToFind.s="àáâãäåçèéêëìíîïñòóôõöÞùúûüýÿ"
      Protected CharToReplace.s="aaaaaaceeeeiiiinooooopuuuuyy"
      
      For i=1 To Len(CharToFind) 
        ReplaceString(Chaine$, Mid(CharToFind,i,1), Mid(CharToReplace,i,1),#PB_String_InPlace, 1)
        
      Next
      
			; vérif pour les caractères spéciaux passant de 1 à 2 caractères
      Chaine$ = ReplaceString(Chaine$, "œ", "oe")
      Chaine$ = ReplaceString(Chaine$, "æ", "ae")
      Chaine$ = ReplaceString(Chaine$, "ß", "ss")
      
      
      ProcedureReturn Chaine$
    EndProcedure
~~~~Règles du forum ~~~~
⋅.˳˳.⋅ॱ˙˙ॱ⋅.˳Ar-S ˳.⋅ॱ˙˙ॱ⋅.˳˳.⋅
W11x64 PB 6.x
Section HORS SUJET : ICI
LDV MULTIMEDIA : Dépannage informatique & mes Logiciels PB
UPLOAD D'IMAGES : Uploader des images de vos logiciels
Avatar de l’utilisateur
SPH
Messages : 4947
Inscription : mer. 09/nov./2005 9:53

Re: Dictionnaires 5 langues

Message par SPH »

Kwai chang caine a écrit :
(enfin, il parait)
:?
Bin koi :mrgreen: ?

!i!i!i!i!i!i!i!i!i!
!i!i!i!i!i!i!
!i!i!i!
//// Informations ////
Intel Core i7 4770 64 bits - GTX 650 Ti
Version de PB : 6.12LTS- 64 bits
Avatar de l’utilisateur
SPH
Messages : 4947
Inscription : mer. 09/nov./2005 9:53

Re: Dictionnaires 5 langues

Message par SPH »

Si vous voulez ameliorer les dico, allez y mais mefiez vous des liste de mots proposé. J'y ai vu des exemple comme :
aa
aaa
aaaa
aaaaa
aaaaaa
aaaaaaa
aaaaaaaa
aaaaaaaaa
aaaaaaaaah
yzz
yzzz
yzzzz
yzzzzz
yzzzzzz
etc ...

!i!i!i!i!i!i!i!i!i!
!i!i!i!i!i!i!
!i!i!i!
//// Informations ////
Intel Core i7 4770 64 bits - GTX 650 Ti
Version de PB : 6.12LTS- 64 bits
Répondre