Hello World in Multiple Languages Task

Create a program or a function that is valid in multiple programming languages, and when compiled/interpreted as a different language outputs "Hello, World!" in a different natural language.

For example, a valid solution might output Hello World! (English) when compiled and run as C, Hallo Welt! (German) when compiled and run as C++ and 你好世界！ (Chinese) when run as Python.

Rules

To avoid ambiguity about the validity of an answer, below is a list of allowed versions of the phrase in several languages. The list consists of the phrase in languages for which Google Translate has a community-verified translation of the phrase (as of this writing).*

The accuracy of these translations is debatable, but they are what this challenge will use. The printed strings must follow exactly the format below (with the exception of leading or trailing whitespace).

Afrikaans:    Hello Wêreld!
Albanian:     Përshendetje Botë!
Amharic:      ሰላም ልዑል!
Arabic:       مرحبا بالعالم!
Armenian:     Բարեւ աշխարհ!
Basque:       Kaixo Mundua!
Belarussian:  Прывітанне Сусвет!
Bengali:      ওহে বিশ্ব!
Bulgarian:    Здравей свят!
Catalan:      Hola món!
Chichewa:     Moni Dziko Lapansi!
Chinese:      你好世界！
Croatian:     Pozdrav svijete!
Czech:        Ahoj světe!
Danish:       Hej Verden!
Dutch:        Hallo Wereld!
English:      Hello World!
Estonian:     Tere maailm!
Finnish:      Hei maailma!
French:       Bonjour monde!
Frisian:      Hallo wrâld!
Georgian:     გამარჯობა მსოფლიო!
German:       Hallo Welt!
Greek:        Γειά σου Κόσμε!
Hausa:        Sannu Duniya!
Hebrew:       שלום עולם!
Hindi:        नमस्ते दुनिया!
Hungarian:    Helló Világ!
Icelandic:    Halló heimur!
Igbo:         Ndewo Ụwa!
Indonesian:   Halo Dunia!
Italian:      Ciao mondo!
Japanese:     こんにちは世界！
Kazakh:       Сәлем Әлем!
Khmer:        សួស្តី​ពិភពលោក!
Kyrgyz:       Салам дүйнө!
Lao:          ສະ​ບາຍ​ດີ​ຊາວ​ໂລກ!
Latvian:      Sveika pasaule!
Lithuanian:   Labas pasauli!
Luxemburgish: Moien Welt!
Macedonian:   Здраво свету!
Malay:        Hai dunia!
Malayalam:    ഹലോ വേൾഡ്!
Mongolian:    Сайн уу дэлхий!
Myanmar:      မင်္ဂလာပါကမ္ဘာလောက!
Nepali:       नमस्कार संसार!
Norwegian:    Hei Verden!
Pashto:       سلام نړی!
Persian:      سلام دنیا!
Polish:       Witaj świecie!
Portuguese:   Olá Mundo!
Punjabi:      ਸਤਿ ਸ੍ਰੀ ਅਕਾਲ ਦੁਨਿਆ!
Romanian:     Salut Lume!
Russian:      Привет мир!
Scots Gaelic: Hàlo a Shaoghail!
Serbian:      Здраво Свете!
Sesotho:      Lefatše Lumela!
Sinhala:      හෙලෝ වර්ල්ඩ්!
Slovenian:    Pozdravljen svet!
Spanish:      ¡Hola Mundo!         // Leading '¡' optional
Sundanese:    Halo Dunya!
Swahili:      Salamu Dunia!
Swedish:      Hej världen!
Tajik:        Салом Ҷаҳон!
Thai:         สวัสดีชาวโลก!
Turkish:      Selam Dünya!
Ukrainian:    Привіт Світ!
Uzbek:        Salom Dunyo!
Vietnamese:   Chào thế giới!
Welsh:        Helo Byd!
Xhosa:        Molo Lizwe!
Yiddish:      העלא וועלט!
Yoruba:       Mo ki O Ile Aiye!
Zulu:         Sawubona Mhlaba!


So there are 74 languages that can be used.

Winning Criterion

The solution that can output the phrase in the greatest number of languages wins. In case of a tie, the shorter solution (in bytes) wins.



*The translations for Malagasy and Maltese were marked community-verified, but were clearly incorrect (one was just "Hello World!" and the other "Hello dinja!", but "Hello!" alone translates to "Bongu!"). These were excluded. Also some languages (Arabic, Hebrew, Pashto, Persian and Yiddish) read from right to left on Google Translate, but when copied here they read from left to right. I hope that's okay.
16 languages, 1363 bytes
 #define ip&quot;MemuL tulaS&quot;,,,,,,,,,,&quot;!&quot;,@++++++++++[&gt;+++++++&gt;++++++++++&gt;+++&gt;+&lt;&lt;&lt;&lt;-]&gt;++.&gt;+.+++++++..+++.&gt;++.&lt;&lt;+++++++++++++++.&gt;.+++.------.--------.&gt;+.@,kc&quot;Kaixo Mundua!&quot;v#!
#define print(A,B,C)main(){printf(&quot;Helo Byd!&quot;);}//ss                                                                          ;ooooooooooooooooooo&quot;Moni Dziko Lapansi!&quot;&lt;[-
#ifdef __cplusplus//p                                                                                                                                 ;;];;
#include&lt;cstdio&gt;//ffffffffff?
#define print(A,B,C)int main(){printf(&quot;Halo Dunya!&quot;);}//ssp
#endif//;  [;;;;;;;;;     &quot;!etejivs vardzoP&quot;]
#ifdef __OBJC__//;;;;;
#define print(A,B,C)main(){printf(&quot;Hallo Welt!&quot;);}//ss
#endif//\
&quot;&quot;&quot;echo&quot; &quot;Salom Dunyo!&quot;;&quot;exit&quot;;puts&quot;Moien Welt!&quot;;\
__END__
#define B//\
&quot;&quot;&quot;#;;;;;
print([&quot;Hai dunia!&quot;,&quot;Hej Verden!&quot;,&quot;Halo Dunia!&quot;][(int(1&gt;0)is 1)+~int(-1/2)*2])
#define s eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeejeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeejiiiiiiiijeeeeeeeeeeeeeejiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeejeejijiiiiiiiiiijeeeeeeeeeeejiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiij
#define U   !&quot;!dlereW ollaH&quot;&lt;           ;
#define T@,kc&quot;Sannu Duniya!?%?&quot;

Try it online!
(use &quot;switch languages&quot; to change language)

Python 3 = Halo Dunia! (Indonesian)

Python 2 = Hej Verden! (Danish)

Python 1 = Hai dunia! (Malay)

C (gcc) = Helo Byd! (Welsh)

C++ (gcc) = Halo Dunya! (Sundanese)

Objective C (clang) = Hallo Welt! (German)

Brainfuck = Hello World! (English, obviously)

Befunge-93 = Salut Lume! (Romanian)

Ruby = Moien Welt! (Luxemburgish)

Bash = Salom Dunyo! (Uzbek)

Befunge-98 (PyFunge) = Kaixo Mundua! (Basque)

Unefunge-98 (PyFunge) = Sannu Duniya! (Hausa)

Cardinal = Hallo Wereld! (Dutch)

Alphuck = Ciao mondo! (Italian)

&gt;&lt;&gt; = Moni Dziko Lapansi! (Chichewa)

Fission = Pozdrav svijete! (Croatian)


Any golfing tips are welcome (especially on the Brainfuck)!!
Thanks to @JonathanFrech for -1 byte! Also, thanks to @ovs for -40 bytes!
How (general ideas, I actually forgot specifics)??
The languages can be put into four groups:

Macro: C, C++, Objective C
Comment: Python3, Python2, Python1, Ruby, Bash
Dimensional: Befunge-93, Befunge-98, Unefunge-98, Cardinal, &gt;&lt;&gt;, Fission
Vulgar: Brainfuck, Alphuck

The Macro languages see # as the start of a preprocessor directive. These are used for three reasons: to house code for other groups, to distinguish among Macro languages, and to actually define a macro. All three use // as comment, so after that we store code for the other groups. Also, the backslash continues the comment in these languages.
The Comment languages see # as the start of a comment. The quirk here is the triple quotes, which distinguish the Pythons from Ruby from Bash. And to distinguish Python 1 from 2 from 3, we use a distinguishing feature in all three, along with an array of outputs. Oh yeah, there's also that __END__. This is used to end the code for some (can't remember exactly which ones) of the Comment languages.
The Dimensional languages are distinguished in a way that is hard to explain. One has to know the specifics of each language to figure it out. For example, # is only a skip in the fungeoids, while it does various different things in the other languages. The code is strewn about everywhere for these languages.
And finally, we arrive at the Vulgar languages. These two ignore everything that isn't in their set of valid characters. A balancing act has to be played with these languages and the others, as the code already contains characters in the character sets.
Edit: Wow... Somehow I only now realized Brainfuck did not seem to work, so that's fun!