Normally the current language is displayed in the system tray by the input method editor. For example, ibus or fcitx. And if you have a system tray application, it will be in there.
If you wanted to get the layout without using the input method, you could shell out to setxkbmap such as from here.
Whatever commands you want to run you could either do it from FvwmScript or just update a button in FvwmButtons.
For just the language one, add this to your fvwm config:
DestroyModuleConfig FvwmButtonLanguage: *
*FvwmButtonLanguage: (Id button0, Title "ZZ")
Then you can either schedule a periodic task for it (also in your fvwm config):
Schedule 1000 PipeRead "echo SendToModule FvwmButtonLanguage ChangeButton button0 Title $(setxkbmap -query | grep layout | cut -f2 -d: )"
Or run a script (assuming you have Module FvwmCommandS loaded in your start function) to update the button that contains the following:
while true ; do FvwmCommand "SendToModule FvwmButtonLanguage ChangeButton button0 Title $(setxkbmap -query | grep layout | cut -f2 -d: )" ; sleep 1 ; done
If you update your question to provide another example, I'll update this answer with a thorough example.