Hello. Thank you for your kind words. Once you reach step 8, you will see that you can retrieve the id of a post and with that you should retrieve all the slugs for the languages of that particular post. From there on, I assume it’s easy to iterate through them so that you will output those hreflangs 🙂

Those are for exemplification. They simply tell CodeIgniter what controllers and methods to serve when someone enters through a custom language url. What I mean by this is: If you are a spanish guy (as a visitor of a site), you wouldn’t like to go to a url like “site.com/users” and be served a page in your language. You would want the url to also be in spanish, like “site.com/usuarios”. So if a visitor receives content in their language, why not also make the URLs in their language? Now… as a developer, would that mean that you’d have to duplicate controllers and methods? No. You create ONE controller and its methods and serve the same logic in different languages. And in the views, instead of writing directly the strings, you would use the language files in order to serve the “static” content in the appropriate language.