Hello
I was unable to choose between the late two scripts . so I wrote a third one 
I commented with the returned value to help you to understand what appears to be an oddity.
Of course you may remove these comments.
tell application "System Events" to tell process "SystemUIServer"
set _ to get value of attribute "AXDescription" of every menu bar item of menu bar 1
set {k, j} to {count of _, 0}
repeat with i from 1 to k
if _'s item i is "text input menu extra" then
set j to i
exit repeat
end if
end repeat
if j > 0 then
-- get properties of menu bar item j of menu bar 1
tell menu bar item j of menu bar 1
click
tell menu 1
-- get properties of every menu item
(*
{position:{1245, 26}, maximum:missing value, name:"Français", size:{295, 21}, subrole:missing value, class:menu item, minimum value:missing value, enabled:true, selected:false, role:"AXMenuItem", help:missing value, title:"Français", value:missing value, entire contents:{}, description:"commande de menu", focused:missing value, orientation:missing value},
{position:{1245, 47}, maximum:missing value, name:"Américain", size:{295, 21}, subrole:missing value, class:menu item, minimum value:missing value, enabled:true, selected:false, role:"AXMenuItem", help:missing value, title:"Américain", value:missing value, entire contents:{}, description:"commande de menu", focused:missing value, orientation:missing value},
{position:{1245, 68}, maximum:missing value, name:"Dvorak", size:{295, 21}, subrole:missing value, class:menu item, minimum value:missing value, enabled:true, selected:false, role:"AXMenuItem", help:missing value, title:"Dvorak", value:missing value, entire contents:{}, description:"commande de menu", focused:missing value, orientation:missing value},
{position:{1245, 89}, maximum:missing value, name:"Romaji", size:{295, 21}, subrole:missing value, class:menu item, minimum value:missing value, enabled:true, selected:false, role:"AXMenuItem", help:missing value, title:"Romaji", value:missing value, entire contents:{}, description:"commande de menu", focused:missing value, orientation:missing value},
{position:{1245, 110}, maximum:missing value, name:"Hiragana", size:{295, 21}, subrole:missing value, class:menu item, minimum value:missing value, enabled:true, selected:false, role:"AXMenuItem", help:missing value, title:"Hiragana", value:missing value, entire contents:{}, description:"commande de menu", focused:missing value, orientation:missing value},
{position:{1245, 131}, maximum:missing value, name:missing value, size:{295, 12}, subrole:missing value, class:menu item, minimum value:missing value, enabled:false, selected:false, role:"AXMenuItem", help:missing value, title:"", value:missing value, entire contents:{}, description:"commande de menu", focused:missing value, orientation:missing value},
{position:{1245, 143}, maximum:missing value, name:"Afficher Palette de caractères", size:{295, 21}, subrole:missing value, class:menu item, minimum value:missing value, enabled:true, selected:false, role:"AXMenuItem", help:missing value, title:"Afficher Palette de caractères", value:missing value, entire contents:{}, description:"commande de menu", focused:missing value, orientation:missing value},
{position:{1245, 164}, maximum:missing value, name:"Afficher Palette pour le japonais", size:{295, 21}, subrole:missing value, class:menu item, minimum value:missing value, enabled:true, selected:false, role:"AXMenuItem", help:missing value, title:"Afficher Palette pour le japonais", value:missing value, entire contents:{}, description:"commande de menu", focused:missing value, orientation:missing value},
{position:{1245, 185}, maximum:missing value, name:"Afficher Visualiseur de clavier", size:{295, 21}, subrole:missing value, class:menu item, minimum value:missing value, enabled:true, selected:false, role:"AXMenuItem", help:missing value, title:"Afficher Visualiseur de clavier", value:missing value, entire contents:{}, description:"commande de menu", focused:missing value, orientation:missing value},
{position:{1245, 206}, maximum:missing value, name:missing value, size:{295, 12}, subrole:missing value, class:menu item, minimum value:missing value, enabled:false, selected:false, role:"AXMenuItem", help:missing value, title:"", value:missing value, entire contents:{}, description:"commande de menu", focused:missing value, orientation:missing value},
{position:{1245, 218}, maximum:missing value, name:"Afficher le nom de la source de saisie", size:{295, 19}, subrole:missing value, class:menu item, minimum value:missing value, enabled:true, selected:false, role:"AXMenuItem", help:missing value, title:"Afficher le nom de la source de saisie", value:missing value, entire contents:{}, description:"commande de menu", focused:missing value, orientation:missing value},
{position:{1245, 237}, maximum:missing value, name:missing value, size:{295, 12}, subrole:missing value, class:menu item, minimum value:missing value, enabled:false, selected:false, role:"AXMenuItem", help:missing value, title:"", value:missing value, entire contents:{}, description:"commande de menu", focused:missing value, orientation:missing value},
{position:{1245, 249}, maximum:missing value, name:"Ouvrir International.", size:{295, 19}, subrole:missing value, class:menu item, minimum value:missing value, enabled:true, selected:false, role:"AXMenuItem", help:missing value, title:"Ouvrir International.", value:missing value, entire contents:{}, description:"commande de menu", focused:missing value, orientation:missing value}}
*)
-- get name of every menu item
(*
{"Français", "Américain", "Dvorak", "Romaji", "Hiragana", missing value, "Afficher Palette de caractères", "Afficher Palette pour le japonais", "Afficher Visualiseur de clavier", missing value, "Afficher le nom de la source de saisie", missing value, "Ouvrir International."}
*)
-- get title of every menu item
(*
{"Français", "Américain", "Dvorak", "Romaji", "Hiragana", "", "Afficher Palette de caractères", "Afficher Palette pour le japonais", "Afficher Visualiseur de clavier", "", "Afficher le nom de la source de saisie", "", "Ouvrir International."}
*)
set {kl, i} to {{}, 0}
repeat
set i to i + 1
set yy to title of menu item i
(*
when eastern layout(s) is(are) available,
title returns "" for a line separator
while name returns an error !
*)
if yy is in {missing value, ""} then exit repeat
set end of kl to yy
end repeat
(* now we have a list of installed layouts *)
if (count of kl) > 1 then
repeat with nmi in kl
if nmi contains "Dvorak" then
(* here we met the "Dvorak xx" menu item *)
click menu item nmi
exit repeat
end if
end repeat
end if -- knt > 1
end tell -- to menu 1
end tell -- to menu bar item.
end if -- j > 0
end tell -- to process and System Events
Yvan KOENIG (from FRANCE vendredi 22 septembre 2006 10:16:46)