@isladogs
I managed to skip my job and put something together. It's not perfect, and I could make it easier by adding some queries and use them, but for now, it works. I also didn't clean up the tests I did. So some unnecessary trails are still remained.
How to use it :
The database opens with English language as default. The default language can be changed from tbloptions.
click login button in ribbon and login as a user. No password for now.
You can click Log Out button (Home tab, left button) to change user.
User 1 : English - Can not access to whole
Tools tab
User 2 : Italian - Has not access to all buttons in
Group5 in tools (Utensili) tab.
User 3 : French - Has not access to
button4 in home tab (Maison)
For many apps, creating a single custom ribbon is a perfectly satisfactory approach.
Even if a single custom ribbon for a database is enough, I won't use a fixed ribbon in sysRibbon table.
You are aware of the possibilities that vba opens to a better programming. And you will never know what kind of problem tomorrow will bring for you.
In my case, I prefer to be ready with a dynamic ribbon in vba (even if it's not necessary) for the possible changes in future.
I really don't know how you start a new line for a button with a long caption when you use a fixed xml in sysRibbons.
If it's possible at all or not, is beyond my knowledge.
But I know if it's a dynamic ribbon, it's piece of cake to start a new line at any place of the caption, wherever I need. Check these labels in different languages.
I can even prevent the long caption being separated in two lines.
Hope you find some free time to test the sample.
Edit : I did some corrections. a better version is posted in #28