I know it’s years later but I too wanted to do the same thing and saw that these people here weren’t helpful at all and said things like “Why do you need this” “why don’t you have unlimited internet 247 mobile in every part of the country”. So many forums with the same type of people asking “why” a person needs something rather then just trying to be helpful and answer the damn question at hand, which would only grow the community and user base. Don’t you people have lives and jobs, why waste so much time any energy? It’s a forum. So when you ask “why?”, it may take the person 24 to 48 hours to jump back on the forum because they have a life, you’re not just wasting 5 minutes of this persons time, you’re turning a 5 minute question into a 4 week ordeal to get an answer that should take 30 seconds!
Solution (as of QGIS 3.20)
For Aerial Satellite Imagry
Add google satellite layer connection using the XYZ tile options in the browser box: https://mt1.google.com/vt/lyrs=y&x={x}&y={y}&z={z}
Covered here: https://freegistutorial.com/how-to-add-google-satellite-layer-to-qgis-3/
Then zoom into the area that you want to download, then click export.
Follow directions here: https://www.geodose.com/2020/08/how-to-save-google-map-satellite-imagery-qgis.html
Note: I noticed that medium sized cities downloaded at high resolution are about 3 to 6GB per city. However countries in Europe could be quite small, so when you say "I want to download a whole country, that could easily be a 10GB download… Burgers can’t fathom this.
For Open Street Maps Road Networks
Add OpenStreetMaps connection.
You can’t do right click export like you can with google sat layers, instead goto toolbox and “generate XYZ tiles (MBTiles)”.
The process explained here in step 1: https://gvlt.wordpress.com/2019/07/26/offline-hiking-maps-with-qgis-3-and-geopaparazzi/
Take into consideration zoom levels, the difference between zoom level 17x for me in a city, versus zoom level 20x, was 17x = 1GB (30 minutes of CPU processing) while 20x = 50GB (2 days processing, which I quit after an hour and changed zoomed levels instead).
More on zoom level processing explained: http://maperitive.net/docs/Commands/GenerateMBTiles.html
Hope that helps the original user, if not him then anyone else searching for a solution to this often seen question but sadly answered with more questions and no answers.
To answer this person asking “why” and then not give an answer after he clearly stated why, this really is a waste of time and in the context of the open source community as it hurts would-be developers and contributors who may go on to find alternatives because they can’t get their questions answered when they are still evaluating the software before getting more deeply involved.
If I had to waste my time and creative mental energy and speculate on the reasons why a person might need offline mapping in any country, loss of internet connection for any of the following reasons. 1. power blackouts that also down 4G antennas, 2. any number of disaster scenarios that destroy the mobile internet infrastructure, 3. spotty mobile data coverage, 4. a person who crosses many borders and their sim card doesn’t always work in new country, I know americans don’t get this at all because none of them have passports or leave their country, but there are other people out there that have to frequent five, eight, ten countries per week for their jobs, 4. The person intends to travel in the mountains or rural areas where this is no cell phone converage, I’ve been to America and even to this day there is spotty cell phone coverage in the appliances for instances, idiots…, 5. Or for SPEED REASONS! God forbid he wants to download these maps for offline use because it’s faster!!! This is the most simple logical benefit. Have you ever used QGIS with offline maps? It’s so damn fast! 6. Privacy concerns… why? None of your damn business. If you have to ask why somebody else needs privacy, that’s just because you have no power or real wealth, you’re not a human rights defender, you don’t fight tyrants and thus have no any adversaries because you don’t matter in the grand scheme of things. 7… No seven, just help or shut up. /rant.