OVH Cloud OVH Cloud

Rendre une application multilingue

12 réponses
Avatar
codial
J'ai une application sous access 2000 qui a été validée mais je dois pouvoir
la rendre multilingue, les menus et les titres des formulaires et au moins
français/Anglais. Quelqu'un a t il déja fait celà et comment? D'avance merci
Codial

10 réponses

1 2
Avatar
codial
Merci pour cette réponse très rapide
Codial

"codial" a écrit dans le message de news:

J'ai une application sous access 2000 qui a été validée mais je dois
pouvoir

la rendre multilingue, les menus et les titres des formulaires et au moins
français/Anglais. Quelqu'un a t il déja fait celà et comment? D'avance
merci

Codial




Avatar
codial
Bonsoir raymond
Heu!!! le Traducteur est en MDE est t il possible d'avoir le MDB?
Mon adresse exact

"Raymond" a écrit dans le message de news:

Bonjour.

tu trouveras des idées dans des bases en téléchargement:
http://access.seneque.free.fr/utilitaires_et_gadgets.htm N° 2
http://access.seneque.free.fr/bases_exemples.htm N° 30

si tu fais des essais ne travailles jamais sur ta base d'origine.
--
@+
Raymond Access MVP.
http://access.seneque.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/charte.htm pour une meilleure
efficacité de tes interventions sur MPFA.


"codial" a écrit dans le message de
news:
J'ai une application sous access 2000 qui a été validée mais je dois
pouvoir

la rendre multilingue, les menus et les titres des formulaires et au
moins


français/Anglais. Quelqu'un a t il déja fait celà et comment? D'avance
merci

Codial







Avatar
codial
Merci pour la réponse rapide.
En fait ma base comporte beaucoup de formulaires et d'états (en plus!!) et
je suis à l'aise en programmation VB mais j'ai peur de ne pas avoir cimpris
le 2)

Codial



"hm15" a écrit dans le message de news:

Bonsoir Codial,

personnellement, j'ai utilisé 2 méthodes différentes selon la complexité
de

la base et mes connaissances à un moment donné...
1. Quand la base n'est pas trop complexe et n'a pas beaucoup de
formulaires,

une fois qu'elle est validée, je "clone" les formulaires (Copier/coller)
et

les menus, je traduis l'un des clones et dans le menu Principal (trilingue
en l'occurrence), je donne accès à la version anglaise ou espagnole (comme
la page d'accueil d'un site : tu mets les drapeaux et quand tu cliques
dessus tu accèdes à l'interface voulue).

2. Si la base de données est plus complexe et si tu es à l'aise en
programmation (ou si tu as un bon co-équipier programmeur), tu utilises
les

mêmes formulaires pour les différentes langues, mais tu masques/affiches
les

légendes en fonction de la langue choisie au départ. La maintenance des
formulaires en est simplifiée mais la programmation est plus complexe.

Cela dit, j'ai vu des formulaires peu chargés afficher 2 langues
directement

dans les formulaires (par exemple le français en style normal et l'anglais
en italique).
En espérant que cela t'inspire ;-))

Cordialement,

Annette
--------------------------------------------------------------------------
-

www.horizon-micro.com


"codial" a écrit dans le message de news:

J'ai une application sous access 2000 qui a été validée mais je dois
pouvoir

la rendre multilingue, les menus et les titres des formulaires et au
moins


français/Anglais. Quelqu'un a t il déja fait celà et comment? D'avance
merci

Codial








Avatar
Raymond
Bonjour.

tu trouveras des idées dans des bases en téléchargement:
http://access.seneque.free.fr/utilitaires_et_gadgets.htm N° 2
http://access.seneque.free.fr/bases_exemples.htm N° 30

si tu fais des essais ne travailles jamais sur ta base d'origine.
--
@+
Raymond Access MVP.
http://access.seneque.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/charte.htm pour une meilleure
efficacité de tes interventions sur MPFA.


"codial" a écrit dans le message de
news:
J'ai une application sous access 2000 qui a été validée mais je dois
pouvoir

la rendre multilingue, les menus et les titres des formulaires et au moins
français/Anglais. Quelqu'un a t il déja fait celà et comment? D'avance
merci

Codial




Avatar
hm15
Bonsoir Codial,

personnellement, j'ai utilisé 2 méthodes différentes selon la complexité de
la base et mes connaissances à un moment donné...
1. Quand la base n'est pas trop complexe et n'a pas beaucoup de formulaires,
une fois qu'elle est validée, je "clone" les formulaires (Copier/coller) et
les menus, je traduis l'un des clones et dans le menu Principal (trilingue
en l'occurrence), je donne accès à la version anglaise ou espagnole (comme
la page d'accueil d'un site : tu mets les drapeaux et quand tu cliques
dessus tu accèdes à l'interface voulue).

2. Si la base de données est plus complexe et si tu es à l'aise en
programmation (ou si tu as un bon co-équipier programmeur), tu utilises les
mêmes formulaires pour les différentes langues, mais tu masques/affiches les
légendes en fonction de la langue choisie au départ. La maintenance des
formulaires en est simplifiée mais la programmation est plus complexe.

Cela dit, j'ai vu des formulaires peu chargés afficher 2 langues directement
dans les formulaires (par exemple le français en style normal et l'anglais
en italique).
En espérant que cela t'inspire ;-))

Cordialement,

Annette
---------------------------------------------------------------------------
www.horizon-micro.com


"codial" a écrit dans le message de news:

J'ai une application sous access 2000 qui a été validée mais je dois
pouvoir

la rendre multilingue, les menus et les titres des formulaires et au moins
français/Anglais. Quelqu'un a t il déja fait celà et comment? D'avance
merci

Codial




Avatar
codial
Merci beaucoup pour ton aide, je vais décortiquer le programme.
Codial

"Raymond" a écrit dans le message de news:
#
c'est fait.

--
@+
Raymond Access MVP.
http://access.seneque.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/charte.htm pour une meilleure
efficacité de tes interventions sur MPFA.


"codial" a écrit dans le message de
news:
Bonsoir raymond
Heu!!! le Traducteur est en MDE est t il possible d'avoir le MDB?





Avatar
codial
Ok, si j'ai compris et merci Annette pour ton aide
Codial

"hm15" a écrit dans le message de news:

Rebonsoir Codial (il faudra que tu m'expliques comment tu arrives à me
répondre... avant ma propre réponse. Aurais-tu des dons de divination ?)

Pour le point 2, je veux dire que, dans un même formulaire, tu superposes
tes légendes que tu as au préalable doublées (anglais/français par
exemple).

Par programmation, tu rends visibles/invisibles celles qui doivent être
utilisées.
Heu... je ne sais pas si je suis plus claire mais ce soir, je ne sais pas
faire mieux !!

Bon courage,

Annette
--------------------------------------------------------------------------
-

www.horizon-micro.com


"hm15" a écrit dans le message de news:

Bonsoir Codial,

personnellement, j'ai utilisé 2 méthodes différentes selon la complexité
de

la base et mes connaissances à un moment donné...
1. Quand la base n'est pas trop complexe et n'a pas beaucoup de
formulaires,

une fois qu'elle est validée, je "clone" les formulaires (Copier/coller)
et

les menus, je traduis l'un des clones et dans le menu Principal
(trilingue


en l'occurrence), je donne accès à la version anglaise ou espagnole
(comme


la page d'accueil d'un site : tu mets les drapeaux et quand tu cliques
dessus tu accèdes à l'interface voulue).

2. Si la base de données est plus complexe et si tu es à l'aise en
programmation (ou si tu as un bon co-équipier programmeur), tu utilises
les

mêmes formulaires pour les différentes langues, mais tu masques/affiches
les

légendes en fonction de la langue choisie au départ. La maintenance des
formulaires en est simplifiée mais la programmation est plus complexe.

Cela dit, j'ai vu des formulaires peu chargés afficher 2 langues
directement

dans les formulaires (par exemple le français en style normal et
l'anglais


en italique).
En espérant que cela t'inspire ;-))

Cordialement,

Annette


--------------------------------------------------------------------------
-
www.horizon-micro.com


"codial" a écrit dans le message de news:

J'ai une application sous access 2000 qui a été validée mais je dois
pouvoir

la rendre multilingue, les menus et les titres des formulaires et au
moins


français/Anglais. Quelqu'un a t il déja fait celà et comment? D'avance
merci

Codial












Avatar
Raymond
c'est fait.

--
@+
Raymond Access MVP.
http://access.seneque.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/charte.htm pour une meilleure
efficacité de tes interventions sur MPFA.


"codial" a écrit dans le message de
news:
Bonsoir raymond
Heu!!! le Traducteur est en MDE est t il possible d'avoir le MDB?


Avatar
hm15
Rebonsoir Codial (il faudra que tu m'expliques comment tu arrives à me
répondre... avant ma propre réponse. Aurais-tu des dons de divination ?)

Pour le point 2, je veux dire que, dans un même formulaire, tu superposes
tes légendes que tu as au préalable doublées (anglais/français par exemple).
Par programmation, tu rends visibles/invisibles celles qui doivent être
utilisées.
Heu... je ne sais pas si je suis plus claire mais ce soir, je ne sais pas
faire mieux !!

Bon courage,

Annette
---------------------------------------------------------------------------
www.horizon-micro.com


"hm15" a écrit dans le message de news:

Bonsoir Codial,

personnellement, j'ai utilisé 2 méthodes différentes selon la complexité
de

la base et mes connaissances à un moment donné...
1. Quand la base n'est pas trop complexe et n'a pas beaucoup de
formulaires,

une fois qu'elle est validée, je "clone" les formulaires (Copier/coller)
et

les menus, je traduis l'un des clones et dans le menu Principal (trilingue
en l'occurrence), je donne accès à la version anglaise ou espagnole (comme
la page d'accueil d'un site : tu mets les drapeaux et quand tu cliques
dessus tu accèdes à l'interface voulue).

2. Si la base de données est plus complexe et si tu es à l'aise en
programmation (ou si tu as un bon co-équipier programmeur), tu utilises
les

mêmes formulaires pour les différentes langues, mais tu masques/affiches
les

légendes en fonction de la langue choisie au départ. La maintenance des
formulaires en est simplifiée mais la programmation est plus complexe.

Cela dit, j'ai vu des formulaires peu chargés afficher 2 langues
directement

dans les formulaires (par exemple le français en style normal et l'anglais
en italique).
En espérant que cela t'inspire ;-))

Cordialement,

Annette
--------------------------------------------------------------------------
-

www.horizon-micro.com


"codial" a écrit dans le message de news:

J'ai une application sous access 2000 qui a été validée mais je dois
pouvoir

la rendre multilingue, les menus et les titres des formulaires et au
moins


français/Anglais. Quelqu'un a t il déja fait celà et comment? D'avance
merci

Codial








Avatar
Saintor
Pour compléter, j'utilise une solution un peu différente et moins peaufinée
qui permet d'avoir une solution bilingue "On-The-Fly" français-anglais.

Elle comporte quatre éléments;
(1) Une variable sLang avec valeur "F" ou "E" que je garde dans un contrôle
de formulaire caché frmDetectIdleTime.



(2) Une table tblLang avec les traductions par contrôle avec les champs
suivants;
FormName
CtlType
CtlName
CtlProp
CtlValue_EN
CtlValue_FR



(3) Une routine qui va populer cette table
Private Sub EnumAllFormProps()

On Error Resume Next

Dim doc As Document
Dim db1 As DAO.Database, rs1 As DAO.Recordset
Dim frm As Form
Dim ctl As Control
Dim prop As Property
Dim strx As String
Const gsdskip = vbCrLf & vbCrLf
Dim X As Integer

Set db1 = CurrentDb()
Set rs1 = db1.OpenRecordset("tblLang")

For Each doc In db1.Containers("Forms").Documents
DoCmd.OpenForm doc.Name, acDesign
Set frm = forms(doc.Name)
For Each ctl In frm.Controls
For Each prop In ctl.Properties
Select Case ctl.ControlType
Case acCheckBox, acCommandButton, acLabel, acOptionGroup, acTextBox,
acPage
If prop.Name = "Caption" Or prop.Name = "ValidationText" Then GoSub
Add_record

Case acListBox, acComboBox
If prop.Name = "Caption" Or prop.Name = "ValidationText" Or
prop.Name = "ColumnWidths" _
Then GoSub Add_record

Case Else
End Select

Next prop
Next ctl
DoCmd.Close acForm, doc.Name
Next doc

GoTo exit_EnumAllFormProps

Add_record:
rs1.AddNew
rs1!FormName = frm.Name
rs1!CtlType = ctl.ControlType
rs1!CtlName = ctl.Name
rs1!CtlProp = prop.Name
rs1!CtlValue_EN = VBA.Left(prop.Value, 100)
rs1.Update
rs1.Bookmark = rs1.LastModified
Return

exit_EnumAllFormProps:
Set prop = Nothing
Set ctl = Nothing
Set frm = Nothing
Set doc = Nothing
Set db1 = Nothing

End Sub




(4) Une fonction qui va changer le contenu selon la variable en (1(. Je met
l'instruction suivante dans l'événement form_load de chaque formulaire:
If forms!frmDetectIdleTime!sLang = "F" Then UpdAllFormProps Me,
"CtlValue_FR"


Public Sub UpdAllFormProps(sForm As Access.Form, sLangField As String)

On Error Resume Next

Dim doc As Document
Dim frm As Form
Dim ctl As Control
Dim Prop As Property
Dim sA As String

For Each ctl In sForm.Controls

For Each Prop In ctl.Properties

Select Case ctl.ControlType
Case acCheckBox, acCommandButton, acLabel, acOptionGroup, acTextBox,
acPage
If Prop.Name = "Caption" Or Prop.Name = "ValidationText" Then
Prop.Value = Nz(DLookup(sLangField, "tblLang", "FormName='" &
sForm.Name & _
"' AND ctlName='" & ctl.Name & "' AND ctlProp='" & Prop.Name &
"'"), "NIET")
End If

Case acListBox, acComboBox
If Prop.Name = "Caption" Or Prop.Name = "ValidationText" Or
Prop.Name = "ColumnWidths" Then
Prop.Value = Nz(DLookup(sLangField, "tblLang", "FormName='" &
sForm.Name & _
"' AND ctlName='" & ctl.Name & "' AND ctlProp='" & Prop.Name &
"'"), "NIET")
End If


Case Else
End Select
Next Prop
Next ctl

Set Prop = Nothing
Set ctl = Nothing
Set doc = Nothing

End Sub



J'utilise aussi la table tblLang pour avec des numéros séquentiels pour
utilisation dans du code. Par exemple,
sM1 = "You have not the authorization to perform this operation."
If Forms!frmDetectIdleTime!sLang = "F" Then sM1 = DLookup("CtlValue_F",
"tblLang", "FormName='00056'")
MsgBox sM1, vbExclamation
Exit Function


"codial" wrote in message
news:
J'ai une application sous access 2000 qui a été validée mais je dois
pouvoir

la rendre multilingue, les menus et les titres des formulaires et au moins
français/Anglais. Quelqu'un a t il déja fait celà et comment? D'avance
merci

Codial




1 2