I understand how Hugo works with multilingual setup by reading multiple very helpful resources including this, this, this, and this. My question has to do with figuring out the best and most efficient way for managing and preparing content in two languages. I will break it down to two specific approaches below.
Approach 1: Create two folders under content such as
tr (English and Turkish). Prepare the website in a preferred language (English) to populate the
en folder. Then, copy all the files to
tr folder and translate them individually. This would be needed on a continuous basis as new blog posts are added to the site. We also need to create individual config files ie
menus.tr.toml. We also need to manually add
translationKey arguments to yaml headers to associate the same pages in English and Turkish. The pro of this approach is that it is very well organized structurally. The con is that it feels like a lot of maintenance and hence low efficiency to me.
Approach 2: Create two folders and two config files as above. Create posts under the default
en folder using
blogdown add it which gives an option to select language upon creation. An English post would create
index.en.md while a Turkish post creates
index.tr.md. Although it is perplexing to me,
index.tr.md file (or rather its corresponding HTML output) will be only visible when the language selector is changed to Turkish and not to English. The pro of this approach is, the blogdown add-in can be used to streamline adding new pages. The con is that it will look quite messy (especially the
posts folder as more and more pages are added). Also, the manual yaml editing of
translationKey still would be an issue if we want to keep the page names in two languages.
Is there another better way of setting up a multilingual blogdown site? Any insight is appreciated.