Евгений Шатунов, Для локали к GUI, бар меню будет выбор локализации разных языков. первый ключ это название меню второй название подменю значение это перевод.
Tesla4o , в целом, этот момент еще раз подтверждает то, что std::map вообще очень редко нужны.
Для локализации такое поведение не нужно впринципе, там достаточно простого вектора. Советую переделать подход.
Ну а итерирование по такому монстру делается в два for. Тебе просто STL надо подкачать, почитай Джосаттиса.
Сам код будет таким.
std::map<std::string, std::map<std::string, std::string>> loc;
for( auto menu_iter = std::begin( loc ); menu_iter != std::end( loc ); ++menu_iter )
{
for( auto submenu_iter = std::begin( menu_iter->second ); submenu_iter != std::end( menu_iter->second ); ++submenu_iter )
{
// payload...
}
}