The situation the code is actually in
Think about where these end up here. A cafe table used by regulars in the morning and by cruise passengers in the afternoon. A label beside an exhibit. A notice on a municipal building. A board at a trailhead.
In every one of those, two readers want the same information in different languages, and printing both on the card halves the space available for each.
The digital side has no such constraint, which is where the answer lives.
Route, do not ask
The common fix is a landing page with two or three flags on it. It works, and it costs a tap plus the people who did not want to make a decision before reading anything.
Routing removes that step. The phone already reports which languages its owner reads, and a rule on the link matches it and picks the destination.
The person scans and arrives at something they understand. They never find out that a choice was made on their behalf, which is rather the point.
The fallback decides your reputation
Every routing rule needs a fallback for the visitor whose language matches nothing, and that fallback is what an unexpected guest sees.
Choosing your own language for it feels natural and is usually wrong, because the unmatched visitor is by definition the one least likely to read it.
Look at where scans actually come from before deciding. Anywhere with seasonal visitors tends to find that English is the sensible fallback, even when the overwhelming majority of scans are local.
The card outlives the season
Cards, labels and boards stay up far longer than the campaign that produced them, which is the ordinary case for anything municipal or cultural.
Because the code points at a link you control rather than at a fixed address, the destination can follow the calendar. The same board can carry the summer programme, then the winter opening hours, then next year's exhibition.
- Print the code once, pointing at a link with a readable ending.
- Move the destination when the season turns, and leave the board alone.
- Give every board and every site its own link so the scans stay separable.
- Write down which board carries which link, because in two years nobody will remember.
What the scans tell you here
Scan data on a bilingual code answers a question that is otherwise pure guesswork: what the real split of your visitors is, rather than the split you infer from the people who talk to you.
The ones who ask questions at the counter are not a representative sample. They are the ones confident enough to ask, usually in the local language. The scans include everybody else.
Places that measure this for the first time frequently discover their visitor share is considerably larger than the conversations suggested, and that changes what gets translated next.
One caution about invisible behaviour
Routing is silent, and silent things confuse people when they misfire.
If somebody photographs the code and sends it to a friend abroad, the friend lands somewhere different and neither of them can work out why. A small visible language switch on the destination page removes that problem entirely.
Route for the common case, and leave a door open for the uncommon one.