The code I'm using below suppose to switch system active input / writing language to French , but It doesn't ( The same thing for any of the installed languages ).
I'm testing it on Nokia E7, Symbian Anna.
I'm using Symiban SDK S^3.
I have French language installed in my phone.
After using ActivateLanguageL(), I test to see what active language via CurrentLanguage(), and it returns me French, but in fact that doesn't happen.
CPtiEngine* eng = CPtiEngine::NewL( ETrue );
CleanupStack::PushL( eng );
if ( eng->NumberOfLanguages() )
{
RArray<TInt> languages;
eng->GetAvailableLanguagesL( languages );
// see if French language is there in list of available input languages and if "yes", activate finnish input.
for(TInt i=0;i<languages.Count();i++)
{
if(languages[i] ==ELangFrench)
{
eng->ActivateLanguageL(ELangFrench,eng->InputMode());
MPtiLanguage* x = eng->CurrentLanguage();
CEikonEnv::InfoWinL(x->LocalizedName(), _L(""));
eng->CloseCurrentLanguageL();
}
}
languages.Close();
}
CleanupStack::Pop(eng);
delete eng;
Many thanks in advance.
I contacted Nokia Technical Support, and they stated that to change system input / writing language we need to use an Internal APIs that requires partnering with Nokia, which is only available for companies not for individual developers.