How can I re-initialize the driver with new capability value after my test suite execution completes?

My scenario:
I need run all my test methods on 30+ different UI languages without break.
So I want it run like this:
Start the Appium service programmatically
Initialize driver with language capability value is German
Run all my test using this driver for German
Quit this driver when all my test completes
Fetch the next language value from somewhere(probably many ways), if there is next language need to be tested,then
Re-initialize the driver with new capability language value
Re-run all my test with this driver
Quit this driver when all my test completes
Repeat until no language need to be tested

I encountered issue when I tried to use testng @Parameters:
@BeforeClass(alwaysRun = true)
@Parameters(“language”)
driver=driverFactory.getIOSDriver(language,service);
To get driver, I have to use two parameters, but only one is using @Parameters to pass value, this way, testng will report error because the number of parameter can’t match…

Could anyone please advise me? Do you have better way to implement my scenario?
Clue, advice, example, thoughts, idea are welcome, thank you very much!