Google's guidelines are:
- Make sure the page language is obvious
- Make sure each language version is easily discoverable
This point specifically references URLs as needing to be kept separate. The example they provide is:
For example, the following .ca URLs use fr as a subdomain or subdirectory to clearly indicate French content: http:// example.ca/fr/vélo-de-montagne.html and http:// fr.example.ca/vélo-de-montagne.html.
They also state:
It’s fine to translate words in the URL, or to use an Internationalized Domain Name (IDN). Make sure to use UTF-8 encoding in the URL (in fact, we recommend using UTF-8 wherever possible) and remember to escape the URLs properly when linking to them.
- Targeting the site content to a specific country
This is done through CCTLDs, Geotargetting settings in Search Console, Server Location and 'other signals'.
If you're worried about duplicate content, they state:
Websites that provide content for different regions and in different languages sometimes create content that is the same or similar but available on different URLs. This is generally not a problem as long as the content is for different users in different countries. While we strongly recommend that you provide unique content for each different group of users, we understand that this might not always be possible.
If you do re-use the same content across the same website (but in a different language then:
There is generally no need to "hide" the duplicates by disallowing crawling in a robots.txt file or by using a "noindex" robots meta tag.
But!
However, if you're providing the same content to the same users on different URLs (for instance, if both example.de/ and example.com/de/ show German language content for users in Germany), you should pick a preferred version and redirect (or use the rel=canonical link element) appropriately. In addition, you should follow the guidelines on rel-alternate-hreflang to make sure that the correct language or regional URL is served to searchers.
So, be sure to declare the relationship between different languages using hreflang.
Example below:
<link rel="alternate" href="http://example.com" hreflang="en-us" />
You can use this in a number of places including your page markup, HTTP headers, or even the sitemap.
Here's a link to a hreflang generator which you might find useful.
Hope this helps.