Audiokinetic's Community Q&A is the forum where users can ask and answer questions within the Wwise and Strata communities. If you would like to get an answer from Audiokinetic's Technical support team, make sure you use the Support Tickets page.

Switching the Language in Game

0 votes
Hello,
I have a doubt about the use of "Languages" in Wwise:
Can we switch between one language or another when we are in the game? If so, I can't find a way to do it.
Or are the languages reserved for Builds?

Also, if that is not possible in-game. Do you have any idea how to get there?

Thank you

Théophile Demarcq
asked Jan 27, 2021 in General Discussion by Théophile Demarcq (1,550 points)
I raise this question again

In the game I'm working on, the default language is English and I would like when you press a button to switch the game to French.

Can this be done in-game with a Switch?
Should I reload the soundbank and restart the game? And if so, how ?

Has anyone been faced with this problem before and can help me or give me some leads to find?

Thank you

Théophile
I noticed that if we changed the Startup Language in Unity it worked (after 2 reloads).

https://www.dropbox.com/s/g8zrovo9tlc7c8f/Capture%20d%E2%80%99%C3%A9cran%202021-03-01%20%C3%A0%2015.47.02.png?dl=0

Is this where we have to dig to find the solution?

Is it with that? --->
AkSoundEngine.SetCurrentLanguage (newLangName)

Thank you

3 Answers

0 votes
 
Best answer
Hi everybody,

I am relaunching this subject because I still have not managed to resolve it. I would like to change the language in the game. I do this manipulation, but it doesn't work. Do you have an idea ? :

  - AkSoundEngine.StopAll (); // Stop all Sounds
  - AkBankManager.UnloadBank (bankName); // Unload the soundbank
  - AkSoundEngine.SetCurrentLanguage (newLangName); // Change the Language
  - Wait a few secondes ...
  - AkBankManager.LoadBank (bankName); // Load the new soundbank

Is there anything else to do? Something to configure?

Thank you very much

Théophile Demarcq
answered Nov 2, 2021 by Théophile Demarcq (1,550 points)
selected Dec 2, 2021 by Théophile Demarcq
0 votes
Hello,

I just found a bug where changing the language didn't work. Symptoms: the soundbank does not unload (it does not appear unloaded in the Profiler). This was due to the fact that the soundbank launch was in a Unity prefab and was loading multiple times ... Solution -> it had to be unloaded multiple times !! (even if it only appeared once in the profiler). Then do the manipulation to change the language and restart the soundbank
I don't know if that can help you ...
answered Dec 2, 2021 by Théophile Demarcq (1,550 points)
0 votes

I went through a similar issue. I've partially used the Answer by Théophile Demarcq (below) but with some edits. This solution seems to work perfectly. I've implemented this in Unity (I didn't test it on other game engines).

  1. I created a setCurrentLanguage() function

    private IEnumerator setCurrentLanguage(string language)
    {
    AkBankManager.UnloadBank ("Soundbank_Name"); // Unload the soundbank
    yield return new WaitForSeconds(0.5f); // Wait to allow the sound engine to unload the bank. Edit the waiting time according to the time the engine needs to load the soundbank
    AkSoundEngine.SetCurrentLanguage ("Language_Name"); // Change the Language
    yield return new WaitForSeconds(0.5f); // Wait to allow the sound engine to load the bank. Edit the waiting time according to the time the engine needs to load the soundbank
    AkBankManager.LoadBank ("Soundbank_Name", true, true); // Load the new soundbank
    }
  2. And then I called it in a StartCoroutine: 
    StartCoroutine(setCurrentLanguage(language));

I hope it helps! Maybe there is a more efficient way of doing it?

answered Mar 1, 2022 by Balandino D. (560 points)
...