To allow a user to select other languages, you need to first enable other languages and then place a selector somewhere on the site. Here are the steps:
Enable other languages from Manage > Extend > Multilingual (check all four boxes-- Configure Translation, Content Translation, Interface Translation, Language)
Configuration > Languages > Add language – whatever language
- Configuration > Content Language and translation > check the box next to what you want to be able to have a translated version (like articles or basic page, etc.)
add a language switcher for the end user:
a. Go to Admin > Structure > Blocks
b. Click "Place blocks" on the desired region
c. Click "Place block" next to the "Language Switcher" block
d. Click "Save block"
e. Go to a translated node and the Language Switcher will be working
Now if you translate an article it will make a second version of that article, so to prevent both versions from showing up in any lists you have, make any of the Views filter by language:
Under Structure > Views - find any views your site uses and Add "content: translation language" then select the option to filter by "interface text language selected for page"
This is a compilation from How to allow the user to change the language? and
See also https://www.drupal.org/forum/support/translations/2014-01-27/menu-translation-in-drupal-8#comment-11454369 (in this context https://www.drupal.org/node/2182497) to make sure you enable all items like menus to be translatable
NOTE: selecting all four modules in Multilingual may not be necessary for just displaying a different language option for end users, start with just Language and Content Translation