No, the only way to do that is split the string and translate word for word and I'm not going to do that. It translates the entire end result. This includes if it has spaces, linebreaks, etc, every character entered counts towards the string.
It doesn't work the same as using substitutions and does not pass through getField or anything of the sort. It's literally just pulling the value from the database.
The best approach is to get the country using CB Query Field if the country is stored to a separate database table. Then format everything in a delimiter field as you could use full field substitution, which will translate it. Example as follows.
[cb_country] [cb:userfield field="cb_gender" /]
Reviewing your query as it's [user_id] specific you could use the below.
Output: Single Row
Columns: Multiple Columns
Display: Custom
Custom: [column_cb_country] [cb:userfield field="cb_gender" /]
However, as both fields are stored in the _comprofiler database there is no purpose in using queries. Just use a delimiter with the below.
[cb:userfield field="cb_country" /] [cb:userfield field="cb_gender" /]