We have 4 stores with pages for all stores, the contact page url can look like:

When it's different url's it's not redirecting to that contact page, spelled in the language for that country. It just redirects to the home page. Is there a solution for this? 


Check demo site - Magento 2.1.7 - GeoIP 1.2.9
You have 4 store view with 4 different languages
=> Regarding About us page, each store view will have one cms page, each cms page has an url key (with the relevant language) (Since Magento does not support configuring 1 cms page for store view)
And our module only supports switching store views, not supporting switching cms pages

Solution: (We're using our demo site as an example)

Step 1: With 2 store views: Canada, Us
- Canada store view has About Us page's URL with "about-us-ca"
- Us store view  has About Us page's URL with "about-us"

Step 2: 
Module's logic: User accesses Us store view with url servername/us/about-us is redirected to Canada store view with url servername/ca/about-us
Hence, at step 2, we create Url Rewrite to redirect user from servername/ca/about-us to servername/ca/about-us-ca (CA Store view's About us page url)
- To redirect customer from US store view to CA store view, you have to create URL rewrite also
=> The logic when customer is redirected from US Store view About us to CA store view About US is: servername/us/about-us > servername/ca/about-us > servername/ca/about-us-ca

If you have many store views on site, the number of cms page needed to create is very huge -> number of url rewrite is very huge also.
Hence, we suggest you use our Import/export url rewrites modules for Magento 2.