I solved this issue with a small plugin (GitHub - canbekcan/discourse-localized-badges · GitHub). You may create your own github with this and change the language files. You do not need migration but if you need check db folder, or remove db folder.
Plugin works as adding all language information into config → locales. There are some files and you may create your own language files. After you finished translate, you need to add your repo into app.yml (if you use docker) and then rebuild. As @nat mentioned above, just name new badges as badges.your_badge.name. It will automatically, show the normal name as you defined into the language files. Whenever you update your current language files, you may update from admin panel instead of rebuild the app.
You may check the structure of the files and make your own language files into locales folder, but files are so sensitive with spaces ![]()
Note: This is my solution to the issue of badge languages. If there is a better one, I would like to hear ![]()