1. Using wt inside lang edit

"Land of the Thai" ({{lang-th|{{wt|th|ไทย}}}})

"Land of the Thai" (Thai: ไทย)

2. Using wikt-lang inside lang edit

"Land of the Thai" ({{lang-th|{{wikt-lang|th|ไทย}}}})

"Land of the Thai" (Thai: ไทย)

3. Using just wikt-lang edit

"Land of the Thai" ({{wikt-lang|th|ไทย}})

"Land of the Thai" (ไทย)

4. Using just lang edit

"Land of the Thai" ({{lang-th|ไทย}})

"Land of the Thai" (Thai: ไทย)

5. Using just wt edit

"Land of the Thai" ({{wt|th|ไทย}})

"Land of the Thai" (ไทย)

Summary edit

  1. works fine
  2. works fine, but has an extra nested tag in the output html
  3. doesn't provide the language link
  4. doesn't provide the link to wiktionary
  5. doesn't provide the language link, or the lang="" tag in the output html
Solution #1
Redirect wt to wikt-lang to fix use case 5, and replace all the instances of either wt or wikt-lang nested inside of lang with a new template which duplicates the current functionality of wt
Solution #2
Keep the templates as they are, but replace all naked transclusions of wt with wikt-lang, and all nested transclusions of wikt-lang with wt
Solution #3
Change Module:Lang to avoid wrapping elements that already have lang="" attributes