WIN API List - FR - +500 codes sur les API

Sujets variés concernant le développement en PureBasic
Avatar de l’utilisateur
kernadec
Messages : 1594
Inscription : ven. 25/avr./2008 11:14

Re: WIN API List - FR - +500 codes sur les API

Message par kernadec »

bonjour Dobro
merci :D trop cool
bon !!! je vais mettre mes datas à la poubelle :mrgreen: .

enfin pas tout... :D puisqu'il manqueras quelques commandes
et pas réussi a obtenir les constantes avec "CONSTANTLIST" :?

Cordialement
Avatar de l’utilisateur
Ar-S
Messages : 9472
Inscription : dim. 09/oct./2005 16:51
Contact :

Re: WIN API List - FR - +500 codes sur les API

Message par Ar-S »

Excellent ça Dobro, ça liste aussi les commandes des userslibs.
La constantlist serait très utile aussi (voir plus).
~~~~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
kernadec
Messages : 1594
Inscription : ven. 25/avr./2008 11:14

Re: WIN API List - FR - +500 codes sur les API

Message par kernadec »

bonsoir Ar-s
dans l'archive du site de RSBasic dont tu donne le lien, il y a 548 fichiers.
cette archive doit être mise à jours avec le programme d'actualisation.
après coup... il y en ai 749 ce qui donne 200 fichiers de plus génial...

je ne te fais pas un reproche Ar-s ,
tu as déjà beaucoup donner et je t'en remercie.

mais c'est pour avertir que tout, n'est pas dans l'archive.zip
qu'il faut la mettre jour, et le programme établi une liste des nouveaux fichiers,
donc facile de retrouver les nouveaux.

Cordialement
Avatar de l’utilisateur
Ar-S
Messages : 9472
Inscription : dim. 09/oct./2005 16:51
Contact :

Re: WIN API List - FR - +500 codes sur les API

Message par Ar-S »

je veux bien poursuivre la trad mais je veux bien une archive avec les nouveaux codes car je n'ai plus les codes allemand et surtout je n'ai pas le courage de les re trier.
~~~~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
kernadec
Messages : 1594
Inscription : ven. 25/avr./2008 11:14

Re: WIN API List - FR - +500 codes sur les API

Message par kernadec »

bonsoir Ar-S
alors voilà la liste
tu devras réinstaller l'archive dans un répertoire temp...
ensuite mettre à jours les répertoires avec Aktualisierung.exe, et tu devrais passer de 548 à 747 fichiers
voici : la liste des dossiers avec leur chemin... et les noms des nouveaux fichiers.

les ++++ indique que le répertoire n'existait pas dans l'archive.
bon courage Ar-S

Cordialement
ps: j'ai dis une connerie dans le post précèdent :?
"le programme n' établi PAS de liste des nouveaux fichiers"
enfin, je me rappel plus comment j'en avais eu une :mrgreen:

suppression du texte traduit qui servait plus a rien...
Dernière modification par kernadec le mer. 29/août/2012 8:52, modifié 1 fois.
Avatar de l’utilisateur
Ar-S
Messages : 9472
Inscription : dim. 09/oct./2005 16:51
Contact :

Re: WIN API List - FR - +500 codes sur les API

Message par Ar-S »

Merci K, je m'y attelle dès que je peux.
~~~~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
PAPIPP
Messages : 534
Inscription : sam. 23/févr./2008 17:58

Re: WIN API List - FR - +500 codes sur les API

Message par PAPIPP »

Bonjour à tous

Je viens de finir une semi-automatisation de la conversion
Des API d’ Allemand en API en Français

Ordre des opérations
Charger, installer et mettre à jour l’application que l’on trouve :
http://www.rsbasic.de/downloads/winapi_library.zip

L’automatisation pour l’instant ne travaille que sur le répertoire Codes
Principe général
1) Rechercher tous les expressions allemandes et les traduire avec Google translate
On trouve les expressions ou des mots allemands
dans le nom des répertoires
dans le nom des fichiers
dans les textes des fichiers

2)Traduire les textes et renommer les fichiers et les répertoires avec les mots ou expressions françaises avec l’aide de Google Translate

L’automatisation n’est pas complète car l’introduction des expressions allemandes et l’extraction des expressions françaises dans Google translate se font à la main en copier coller
Pour utiliser le Prg il faut le répertoire ou est installé WIN_API en allemand
Le prg va créer un répertoire xxx_FR différent du précédent

Répondez aux questions du Prg

Deux périodes sont assez longues
1) la préparation du fichier de traduction Pour la première fois
Elle peut être sautée si le fichier de traduction est OK ou modifiée manuellement.
2) l’appel de Google translate

L’opération de traduction ne prend que 2 à 3 minutes

Vous pourrez ensuite utiliser le Prg de Kernadec sur le répertoire Codes traduit en français

Code : Tout sélectionner

;Conversion WIN_API Allemand en Français par PAPIPP
Enumeration
	#F_c_al_fr
	#F_P_al
	#F_p_fr
	#F_Code_al
	#F_Code_FR
	#F_Code_ALFR
	#F_list_F
	#F_non_al
EndEnumeration
Structure AL_fr
	ALrep$
	FRrep$
	FR$
EndStructure
Global NewMap M_Al.s{1}() ; 1=dossier ,2=fichier 3=mot
Global NewMap MAP_AL_FR.al_fr()
Global GpathAL$=""
Global GTRADUC=0
Global G_nom_W_mess.s="Aide du PRG"
Global NBSLAHD.l
;****************************************** Préalable à la traduction ************************************
;****************************************** Préalable à la traduction ************************************
;****************************************** Préalable à la traduction ************************************
I=0
While GpathAL$="" And i<4
	GpathAL$=PathRequester("Après MAJ du  PRG allemand Donnez le chemin des codes","L:\program files\")
	i+1
	If i>2
		MessageRequester("Attention N°:"+Str(#PB_Compiler_Line),"Pas de choix c'est fini")
		End
	EndIf
Wend
	NBSLAHD=CountString(GpathAL$,"\")

Global GpathFR$=Left(GpathAL$,Len(GpathAL$)-1)+"_FR\"
Global Gpath_fil_fr.s
If FileSize(GpathFR$)=-2
	Select MessageRequester(" ATTENTION N°:"+Str(#PB_Compiler_Line) ,"Vous allez détruire tous LES fichiers de:"+GpathFR$,#PB_MessageRequester_YesNo)
		Case #PB_MessageRequester_Yes
			If DeleteDirectory(GpathFR$,"*.*",#PB_FileSystem_Recursive | #PB_FileSystem_Force)
			Else
				MessageRequester("Information N°:"+Str(#PB_Compiler_Line),"Impossible Détruire "+#CRLF$+GpathFR$)
			EndIf
		Case #PB_MessageRequester_No
			MessageRequester("Attention N°:"+Str(#PB_Compiler_Line),"Pas de destruction du répertoire FR:"+#CRLF$+GpathFR$+" alors c'est fini")
			End
	EndSelect
EndIf
If CopyDirectory(GpathAL$,GpathFR$,"",#PB_FileSystem_Recursive | #PB_FileSystem_Force)
	; #PB_FileSystem_Recursive: Copie d'un répertoire et de tous les sous-répertoires.
	; #PB_FileSystem_Force    : Remplace également LES fichiers protégés (Lecture seule).
Else
	MessageRequester("Information N°:"+Str(#PB_Compiler_Line),"Impossible de copier "+#CRLF$+GpathAL$+" dans "+GpathFR$)
	End
EndIf

Procedure analyse_fil(path_fil.s)
	Extens$ =UCase(GetExtensionPart(path_fil))
	nbslah.l=CountString(path_fil,"\")-NBSLAHD
	If CreateFile(#F_code_fr,Gpath_fil_fr)
		If ReadFile(#F_Code_al,path_fil)  ; Si le fichier peut être lu , on continue...
			While Eof(#F_Code_al)=0           ; Boucle tant que la fin du fichier n'est pas atteinte. (Eof = 'End Of File')
				lign_f.s=ReadString(#F_Code_al)      ; Affiche ligne par ligne le contenu du fichier
				lign_fa.s=lign_f
				If extens$="PB"
					
					nb_q=CountString(lign_f,Chr(34))
					pos_x=0
					imp_s.s=""
					;***************  Recherche  des mots allemands ou autres dans le PRG  *********
					For i=1 To nb_q Step 2
						pos_x=FindString(lign_f,Chr(34),pos_x)
						pos_y=FindString(lign_f,Chr(34),pos_x+1)
						mot_al.s=Mid(lign_f,pos_x+1,pos_y-pos_x-1)
						If Len(mot_al)>4
							m_al(mot_al)="3"
							
							If GTRADUC>0
								If FindMapElement(map_al_fr(),mot_al)>0
									                If mot_al<>"Window" And mot_al<>"Button" ; Vous pouvez libérer cette ligne
									                  lign_f=ReplaceString(lign_f,mot_al,map_al_fr()\FR$)
									                EndIf                                    ; Vous pouvez libérer cette ligne
								Else
								; message si le mot n'est pas trouvé certainement un bidouillage dans le fichier mot allemand ou le fichier de traduction
								EndIf
							EndIf
						EndIf
						pos_x=pos_y+1
					Next
				ElseIf extens$="INI" And NBSLAH=1 And GTRADUC>0
; 				 Debug _n(nbslah)+" "+Str(CountString(path_fil,"\"))+_n(NBSLAHD)
					mot_al.s=ReplaceString(lign_f,"."+Extens$,"")
					If FindMapElement(map_al_fr(),mot_al)>0
						lign_f=ReplaceString(lign_f,mot_al,map_al_fr()\FR$)
					Else
					EndIf
				EndIf
				If GTRADUC>0
					WriteStringN(#F_code_fr,lign_f)
				EndIf
				
			Wend
			CloseFile(#F_Code_al)               ; Ferme le fichier précédemment ouvert
		Else
			MessageRequester("Information N°:"+Str(#PB_Compiler_Line),"Impossible d'ouvrir le fichier!"+#CRLF$+path_fil)
			End
		EndIf
		CloseFile(#F_code_FR)                       ; ferme le fichier précédemment ouvert et enregistre les données
	Else
		MessageRequester("Information N°:"+Str(#PB_Compiler_Line),"Impossible d'ouvrir le fichier :"+#CRLF$+Gpath_fil_fr)
	EndIf
EndProcedure

Procedure rech_mots_AL(SOUS_repAL.s)
	flag_f=0
	pathAL.s=GpathAL$+SOUS_repAL
	; ***** recherche des dossiers
	reper.l=ExamineDirectory(#PB_Any,pathAl,"*.*")
	If reper
		While NextDirectoryEntry(reper)
			If DirectoryEntryType(reper)=#PB_DirectoryEntry_File
				;         Type$="   [Fichier]="
				DIR_name.s=DirectoryEntryName(reper)
				fil_ac.s=pathAL+"\"+DIR_name
				fil_ac=ReplaceString(fil_ac,"\\","\")
				
				fil_name.s=ReplaceString(dir_name,".pb","",#PB_String_NoCase )
				fil_name.s=ReplaceString(fil_name,".ini","",#PB_String_NoCase )
				
				m_al(fil_name)="2"
				Gpath_fil_fr.s=ReplaceString(fil_ac,GpathAL$,GpathFR$)
				analyse_fil(fil_ac)
				If GTRADUC>0
					If FindMapElement(map_al_fr(),fil_name)>0
						Gpath_fil_frN.s=ReplaceString(gpath_fil_fr,fil_name,map_al_fr()\FR$)
						If RenameFile(Gpath_fil_fr,Gpath_fil_frN)
						Else
							MessageRequester("ATTENTION N°:"+Str(#PB_Compiler_Line),"Impossibel de renommer fichier :"+#CRLF$+Gpath_fil_fr+" EN "+ Gpath_fil_frN)
						EndIf
					Else
						If fil_name<>"Kategorien"
							MessageRequester("ATTENTION N°:"+Str(#PB_Compiler_Line),"Impossibel de trouver le mot allemand :"+#CRLF$+fil_name)
						EndIf
					EndIf
				EndIf
			Else
				DIR_NAME.s=DirectoryEntryName(reper)
				If dir_name<>"." And dir_name<>".."
					m_al(dir_name)="1"
					RECH_mots_AL(SOUS_repAL+DIR_NAME)
					If GTRADUC>0
						DIR_AL$=GpathFR$+SOUS_repal+dir_name
						If FindMapElement(map_al_fr(),dir_name)>0
							dir_fr$=GpathFR$+SOUS_repAL+map_al_fr()\FR$
							If RenameFile(DIR_AL$,DIR_FR$)
							Else
								MessageRequester("ATTENTION N°:"+Str(#PB_Compiler_Line),"Impossible de renommer répertoire :"+#CRLF$+DIR_AL$+" EN "+ DIR_FR$)
							EndIf
						Else
							MessageRequester("ATTENTION N°:"+Str(#PB_Compiler_Line),"Impossible de trouver le mot allemand :"+#CRLF$+dir_name)
						EndIf
					EndIf
				EndIf
			EndIf
		Wend
		FinishDirectory(reper)
	EndIf
	
EndProcedure

Procedure FUSION_2_FICHIERS(FICH_AL.s,FICH_FR.s,FICH_ALFR.s) ;=GpathAL$+"file_ALFR.txt")
	nb_e_al.l=0
	nb_e_fr.l=0
	If CreateFile(#F_Code_ALFR,GpathAL$+"file_ALFR.txt")         ; création d'un nouveau fichier texte...
		
		If ReadFile(#F_P_al,FICH_AL)
			If ReadFile(#F_P_fr,FICH_FR)
				While Eof(#F_P_al)=0           ; Boucle tant que la fin du fichier n'est pas atteinte. (Eof = 'End Of File')
					l_al.s=ReadString(#F_P_al)      ; Affiche ligne par ligne le contenu du fichier
					nb_e_al+1
					If Eof(#F_P_fr)=0           ; Boucle tant que la fin du fichier n'est pas atteinte. (Eof = 'End Of File')
						l_FR.s=ReadString(#F_P_fr)      ; Affiche ligne par ligne le contenu du fichier
						nb_e_fr+1
						WriteStringN(#F_Code_ALFR,l_al+"||"+l_FR)
					EndIf
				Wend
				CloseFile(#F_P_al)               ; Ferme le fichier précédemment ouvert
				CloseFile(#F_P_fr)               ; Ferme le fichier précédemment ouvert
			Else
				MessageRequester("Information N°:"+Str(#PB_Compiler_Line),"Impossible d'ouvrir le fichier :"+#CRLF$+FICH_FR)
			EndIf
		Else
			MessageRequester("Information N°:"+Str(#PB_Compiler_Line),"Impossible d'ouvrir le fichier :"+#CRLF$+FICH_AL)
		EndIf
		
	Else
		MessageRequester("Information N°:"+Str(#PB_Compiler_Line),"Impossible de créer le fichier :"+GpathAL$+"file_ALFR.txt")
	EndIf
	CloseFile(#F_Code_ALFR)                       ; ferme le fichier précédemment ouvert et enregistre les données
	If nb_e_al>nb_e_fr+1 And nb_e_al<>nb_e_fr
		message$="le fichier : "+FICH_AL+" à "+Str(nb_e_al)+#CRLF$+"le fichier : "+FICH_AL+" à "+Str(nb_e_fr)
		;      message$+#CRLF$+l_al+#CRLF$+l_FR
		MessageRequester("Information N°:"+Str(#PB_Compiler_Line),message$)
	EndIf
EndProcedure
; *************** Lecture fichier de conversion **************"
Procedure LECT_CONV_AL_FR(FIL_CONV_AL_FR.s,Map DIC_AL_FR.al_FR())
	Static fl1.b=1
	If ReadFile(#F_c_al_fr,FIL_CONV_AL_FR)  ; Si le fichier peut être lu , on continue...
		While Eof(#F_c_al_fr)=0           ; Boucle tant que la fin du fichier n'est pas atteinte. (Eof = 'End Of File')
			TEXTE$=ReadString(#F_c_al_fr,#PB_Ascii)      ; Affiche ligne par ligne le contenu du fichier
			del.l=FindString(TEXTE$,"||",0)
			;       TEXTAL$=Trim(Mid(texte$,0,del-1))
			;       textFR$=Trim(Mid(texte$,del+2))
			TEXTAL$=Mid(texte$,0,del-1)
			textFR$=Mid(texte$,del+2)
			
			If fl1=1
				dossf$=TEXTFR$
				fl1=0
			EndIf
			doss$=TEXTAL$
			If AddMapElement(DIC_AL_FR.al_FR(),TEXTAL$)<>0
				DIC_AL_FR()\ALrep$=doss$
				DIC_AL_FR()\FRrep$=dossF$
				DIC_AL_FR()\FR$=textFR$
			Else
				MessageRequester("ATTENTION N°:"+Str(#PB_Compiler_Line),"Impossible de placer le mot allemand :"+#CRLF$+textal$)
			EndIf
			If Len(textal$)=0
				fl1=1
			EndIf
		Wend
		CloseFile(#F_c_al_fr)               ; Ferme le fichier précédemment ouvert
	Else
		MessageRequester("Information N°:"+Str(#PB_Compiler_Line),"Impossible d'ouvrir le fichier :"+#CRLF$+GpathAL$+FIL_CONV_AL_FR)
	EndIf
	
EndProcedure
Procedure.l FindTargetPIDByWindowName(Name.s,Opt.l=0)
	;Opt option pour obtenir soit le PID soit Handle
	;opt=O par defaut donne PID
	;opt=1 donne le Handle
	; Name est le nom window
	
	Define.l hWnd,Pid
	hWnd=FindWindow_(#Null,Name)
	If hWnd<>0
		GetWindowThreadProcessId_(hWnd,@Pid)
	EndIf
	If opt=0
		ProcedureReturn Pid
	Else
		ProcedureReturn hWnd
	EndIf
EndProcedure
Procedure AlertThread(Parameter)
	message$+#CRLF$+#CRLF$+" ATTENDEZ QUELQUES INSTANTS DE VOIR GOOGLE TRANSLATE MERCI"
	message$+#CRLF$+#CRLF$+" ATTENDEZ QUELQUES INSTANTS DE VOIR GOOGLE TRANSLATE MERCI"
	message$+#CRLF$+#CRLF$+"Les mots en allemand sont dans clipboard "
	message$+#CRLF$+"     mais aussi dans le fichier :"+GpathAL$+"file_Al.txt de Notepad"+#CRLF$
	message$+#CRLF$+"Collez les mots en allenand dans GOOGLE TRANSLATE en entrée de la traduction"
	message$+#CRLF$+"Convertissez  en une seule fois toute cette liste dans traduction Google translate"
	message$+#CRLF$+"Après traduction Sélectionnez tous les mots Français et seulement les mots français"
	message$+#CRLF$+"Ensuite copiez la partie traduite (clique droit de la souris puis copie) "
	message$+#CRLF$+"Ensuite Collez la partie traduite dans notepad fichier : "+GpathAL$+"file_FR.txt"
	message$+#CRLF$+"LES DEUX NOTEPAD PEUVENT ETRE L'UN SUR L'AUTRE,DEGAGER LES POUR ACCEDER AU FICHIER file_FR.txt"
	message$+#CRLF$+"Quittez Notepad en sauvegardant le fichier : "+GpathAL$+"file_FR.txt"
	message$+#CRLF$+"Quittez définitivement GOOGLE TRANSLATE La traduction est terminée"
	message$+#CRLF$+#CRLF$+"POUR CONTINUER LE PRG TAPER SUR OK MAIS NE LE FAITE QUE LORSQUE LE FICHIER DE MOTS FR EST SAUVE"
	message$+#CRLF$+#CRLF$+" ATTENDEZ QUELQUES INSTANTS DE VOIR GOOGLE TRANSLATE MERCI"
	MessageRequester(G_nom_W_mess,message$)
EndProcedure
Resultat.q=FileSize(GpathAL$+"file_ALFR.txt")
; Valeurs  pour 'Resultat':
; >-1 Taille du fichier
; -1: Fichier inexistant.
; -2: Le fichier est en fait un répertoire.

If resultat>1
	res_mes.l=MessageRequester("Choix","Voulez vous sautez la constitution des fichiers de traduction",#PB_MessageRequester_YesNoCancel)
	Select res_mes
		Case #PB_MessageRequester_Yes
			Goto DEBUT_TRAD
		Case #PB_MessageRequester_Cancel
			End
	EndSelect
EndIf
;******************************  Constitution du fichier de traduction *************************************
;******************************  Constitution du fichier de traduction *************************************
;******************************  Constitution du fichier de traduction *************************************

GTRADUC=0
rech_mots_AL("Codes\")
If CreateFile(#F_list_F,GpathAL$+"file_Al.txt")
	txt_clip.s=""
	
	ForEach M_AL()
		WriteStringN(#F_list_F,MapKey(M_AL()))
		txt_clip+MapKey(M_AL())+#CRLF$
	Next
	CloseFile(#F_list_F) ; ferme le fichier précédemment ouvert et enregistre les donnée
Else
	MessageRequester("Information N°:"+Str(#PB_Compiler_Line),"Impossible de créer le fichier:"+GpathAL$+"file_Al.txt")
EndIf
SetClipboardText(txt_clip)
RunProgram("http://translate.google.com/translate_t","","",#PB_Program_Wait) ; Lance GOOGLE TRANLATE
If CreateFile(#F_Code_fr,GpathAL$+"file_FR.txt")         ; création d'un nouveau fichier texte...
	CloseFile(#F_Code_fr)                       ; ferme le fichier précédemment ouvert et enregistre les données
Else
	MessageRequester("Information N°:"+Str(#PB_Compiler_Line),"Impossible de créer le fichier:"+GpathAL$+"file_FR.txt")
EndIf
; RunProgram("http://translate.google.com/translate_t",txt_clip,"")
ExamineDesktops()
HAUTEUR_W=DesktopHeight(0)
Largeur_W=DesktopWidth(0)

THR1=CreateThread(@AlertThread(),0)
Delay(100)
While HNDL=0 And cpt<100
	cpt+1
	HNDL=FindTargetPIDByWindowName(G_nom_W_mess,1)
	Delay(50)
Wend

SetWindowPos_(HNDL,#HWND_TOPMOST,0,0,0,0,#SWP_NOMOVE | #SWP_NOSIZE) ; FENETRE TOUJOURS AU-DESSUS

RUN_PRG_AL=RunProgram("notepad",GpathAL$+"file_al.txt","")
Delay(100)
cpt=0
While HNDL_BLOC=0 And cpt<100
	cpt+1
	HNDL_BLOC=FindTargetPIDByWindowName("file_al.txt - Bloc-notes",1)
	Delay(50)
Wend

Delay(100)
SetWindowPos_(HNDL_BLOC,#HWND_NOTOPMOST,0,0,Largeur_w/3,HAUTEUR_W,0) ;:
;*******************************************************************************************************************
BOUCLE_NON_FIN0:
If CreateFile(#F_Code_fr,GpathAL$+"file_FR.txt")         ; création d'un nouveau fichier texte...
	;   WriteString(#F_Code_fr,GetClipboardText())
	CloseFile(#F_Code_fr)                       ; ferme le fichier précédemment ouvert et enregistre les données
Else
	MessageRequester("Information N°:"+Str(#PB_Compiler_Line),"Impossible de créer le fichier:"+GpathAL$+"file_FR.txt")
EndIf
RUN_PRG_FR=RunProgram("notepad",GpathAL$+"file_FR.txt","")
Delay(100)
cpt=0
While HNDL_BLOCfr=0 And cpt<100
	cpt+1
	HNDL_BLOCfr=FindTargetPIDByWindowName("file_FR.txt - Bloc-notes",1)
	Delay(50)
Wend
Delay(100)
SetWindowPos_(HNDL_BLOCfr,#HWND_NOTOPMOST,Largeur_w/3,0,Largeur_w/3,HAUTEUR_W,0) ;:
;*************************************************************************************************************************
BOUCLE_NON_FIN:
While FindTargetPIDByWindowName(G_nom_W_mess,1)<>0
Wend

Resultat.q=FileSize(GpathAL$+"file_FR.txt")
If resultat=0
	MessageRequester("ATTENTION N°:"+Str(#PB_Compiler_Line),"Il n'y a rien dans le fichier:"+GpathAL$+"file_FR.txt")
	THR1=CreateThread(@AlertThread(),0)
	Delay(100)
	While HNDL=0 And cpt<100
		cpt+1
		HNDL=FindTargetPIDByWindowName(G_nom_W_mess,1)
		Delay(50)
	Wend
	SetWindowPos_(HNDL,#HWND_TOPMOST,0,0,0,0,#SWP_NOMOVE | #SWP_NOSIZE) ; FENETRE TOUJOURS AU-DESSUS
	
	If FindTargetPIDByWindowName("file_FR.txt - Bloc-notes",1)=0
		Goto BOUCLE_NON_FIN0
	Else
		Goto BOUCLE_NON_FIN
	EndIf
EndIf
; If CreateFile(#F_Code_fr,GpathAL$+"file_FR.txt")         ; création d'un nouveau fichier texte...
;   WriteString(#F_Code_fr,GetClipboardText())
;   CloseFile(#F_Code_fr)                       ; ferme le fichier précédemment ouvert et enregistre les données
; Else
;   MessageRequester("Information N°:"+Str(#PB_Compiler_Line),"Impossible de créer le fichier:"+GpathAL$+"file_FR.txt")
; EndIf
fusion_2_FICHIERS(GpathAL$+"file_al.txt",GpathAL$+"file_FR.txt",GpathAL$+"file_ALFR.txt")

;*******************************  TRADUCTION ***********************************
;*******************************  TRADUCTION ***********************************
;*******************************  TRADUCTION ***********************************

debut_trad: ; LABEL PERMETTANT DE SAUTER TOUTE LA PREPARATION DES FICHIERS DE TRADUCTION

GTRADUC=1
messag$="Dernière modification de la traduction avant application"+#CRLF$
messag$+#CRLF$+"Pour terminer la traduction il faut quitter notepad du fichier de traduction"
MessageRequester(" Fin de PRG N°:"+Str(#PB_Compiler_Line),messag$)
RunProgram("notepad",GpathAL$+"file_ALFR.txt","",#PB_Program_Wait)

Lect_conv_al_fr(GpathAL$+"file_ALFR.txt", MAP_AL_FR())
rech_mots_AL("Codes\") ;          traduction du répertoire codes
rech_mots_AL("Einstellungen\") ;  traduction du répertoire Einstellungen Ne pas modifier ce nom ainsi que Kategorien.in
MessageRequester(" Fin de PRG N°:"+Str(#PB_Compiler_Line),"La traduction est terminée")


A+
Dernière modification par PAPIPP le jeu. 23/août/2012 7:27, modifié 5 fois.
Il est fort peu probable que les mêmes causes ne produisent pas les mêmes effets.(Einstein)
Et en logique positive cela donne.
Il est très fortement probable que les mêmes causes produisent les mêmes effets.
Avatar de l’utilisateur
kernadec
Messages : 1594
Inscription : ven. 25/avr./2008 11:14

Re: WIN API List - FR - +500 codes sur les API

Message par kernadec »

bonjour PAPIPP
merci, c'est vraiment cool et bien traduit
j'ai réussi à le faire fonctionner, après quelques soucis.....
et remplacé les "_n()" par "str()" sans chercher plus loin :D

Code : Tout sélectionner

	message$="le fichier : "+FICH_AL+" à "+_n(nb_e_al)+#CRLF$+"le fichier : "+FICH_AL+" à "+_n(nb_e_fr) 
Les fichiers Notepad superposés portaient tous le même nom, es ce normal?
donc je les ai fermés les uns après les autres... résultat c"ext "NICKEL"

il y a aussi la panneau pour le mode d'emploi translate qui devrait avoir le focus
il se trouve en arrière plan de firefox

Cordialement

ps: testé sous seven 32
PAPIPP
Messages : 534
Inscription : sam. 23/févr./2008 17:58

Re: WIN API List - FR - +500 codes sur les API

Message par PAPIPP »

Bonjour Kernadec

Merci pour la réponse
J'ai corrigé _N en str(
Les 2 fichiers se nomment file_AL.TXT pour l'Allemand, file_FR.txt pour le Français et file_FRAL.txt pour la traduction
Mais Je pars 2 ou 3 jours.
A+
Il est fort peu probable que les mêmes causes ne produisent pas les mêmes effets.(Einstein)
Et en logique positive cela donne.
Il est très fortement probable que les mêmes causes produisent les mêmes effets.
Avatar de l’utilisateur
kernadec
Messages : 1594
Inscription : ven. 25/avr./2008 11:14

Re: WIN API List - FR - +500 codes sur les API

Message par kernadec »

Ok merci,
@PAPIPP
il y a un soucis avec la commande Windows
qui se trouve dans les codes elle est traduite également en mot Fenêtre 8O
ce qui change "openwindow" et les constantes avec "window_x" en "fenêtre_x" :?

pour le moment je n'ai que ce problème sur le mot Window

Cordialement
ps; bon week end :D
Avatar de l’utilisateur
kernadec
Messages : 1594
Inscription : ven. 25/avr./2008 11:14

Re: WIN API List - FR - +500 codes sur les API

Message par kernadec »

Début de Solution...
dans le code de PAPIPP
il faut mettre un test pour le mot "Window" et le mot "Button"

peut être qu'il y aura d'autres mots, mais ne soyons pas pessimistes :mrgreen:


Cordialement

ligne 71....
avant

Code : Tout sélectionner

If GTRADUC>0
  If FindMapElement(map_al_fr(),mot_al)>0
      lign_f=ReplaceString(lign_f,mot_al,map_al_fr()\FR$)
  Else
  EndIf
EndIf
Après

Code : Tout sélectionner

If GTRADUC>0
  If FindMapElement(map_al_fr(),mot_al)>0
    If mot_al<>"Window"
      If mot_al<>"Button"
        lign_f=ReplaceString(lign_f,mot_al,map_al_fr()\FR$)
      EndIf   
    EndIf 
  Else
  EndIf
EndIf
Dernière modification par kernadec le jeu. 16/août/2012 10:44, modifié 2 fois.
Avatar de l’utilisateur
Ar-S
Messages : 9472
Inscription : dim. 09/oct./2005 16:51
Contact :

Re: WIN API List - FR - +500 codes sur les API

Message par Ar-S »

Merci Pappip

Pour le probleme de windows, pourquoi ne pas juste remplacer

Code : Tout sélectionner

If mot_al<>"Window" 
par

Code : Tout sélectionner

If mot_al<>"Window " ;(notez l'espace...)
~~~~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
kernadec
Messages : 1594
Inscription : ven. 25/avr./2008 11:14

Re: WIN API List - FR - +500 codes sur les API

Message par kernadec »

bonjour Ar-S
Merci,
je viens de tester, il faut pas mettre d' espace après "Window"
car l' erreur est de nouveau en place "OpenWindow" devient "OpenFenêtre"
Dommage pour les titres "Fenêtre" qui resteront "Window"

Cordialement
Avatar de l’utilisateur
Ar-S
Messages : 9472
Inscription : dim. 09/oct./2005 16:51
Contact :

Re: WIN API List - FR - +500 codes sur les API

Message par Ar-S »

Heu bon bah

Code : Tout sélectionner

If mot_al<>" Window " ;(notez les espaces...)
~~~~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
GallyHC
Messages : 1703
Inscription : lun. 17/déc./2007 12:44

Re: WIN API List - FR - +500 codes sur les API

Message par GallyHC »

Bonjour,

Déjà très bonne initialise Ar-S :) enfin cela ne m'étonne pas de toi.

Sinon je me demande si je ne vais pas pioche quelque code et les mettre sur mon site (pour pouvoir les avoir ou que l'on ce trouve). Enfin si tu m'en donne l'autorisation déjà.

Je vais surement convertir quelque code utile de VB6 vers purebasic.

Cordialement,
GallyHC

PS : Ar-S : Mon petit logiciel « Maxi-Box » va bientôt avoir une grosse MàJ (optimisation, allégement du code, ajout de certaine fonction. Si tu veux faire le test avec ton Tomtom ?
Configuration : Tower: Windows 10 (Processeur: i7 "x64") (Mémoire: 16Go) (GeForce GTX 760 - 2Go) - PureBasic 5.72 (x86 et x64)
Répondre