How to switch languages on Symbian S60 - symbian

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 wonder what would happen if you reboot the device? When you change language via phone's system tools then phone reboots itsself after language change

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.

Related

How to remove English language from Odoo v14

I have an odoo server with a website and other modules installed. I have two languages, English and Spanish, and I was trying to make make English Inactive. But I get an error "Cannot deactivate a language that is currently used on a website."
I have change the Language to Spanish for all Users. including odoo boot and other inactive and internal users, And still it shows an error "Cannot deactivate a language that is currently used on a website.". How can I remove English and let only Spanish as a language
Error message clearly says "Cannot deactivate a language that is currently used on a website." So language is set on a website record.
Go to Website menu > Configuration > Websites (Websites menu visible once you turn on developer mode)
Verify all website records and change default language to Spanish.
If everything is good in the website record then Go to Settings > Website and remove English language.
Odoo has overloaded the write function of the res.lang model to avoid disabling a language that is in the list of languages (language_ids) of a web site:
if self.env['website'].search([('language_ids', 'in', self._ids)]):
raise UserError(_("Cannot deactivate a language that is currently used on a website."))
For users and partners, Odoo will check if the lang field is set to the language you want to disable and generate an error:
if vals.get('active') == False:
if self.env['res.users'].search_count([('lang', 'in', lang_codes)]):
raise UserError(_("Cannot deactivate a language that is currently used by users."))
if self.env['res.partner'].search_count([('lang', 'in', lang_codes)]):
raise UserError(_("Cannot deactivate a language that is currently used by contacts."))
In order to disable a language, you must update the language of users and contacts , update the websites language list and the default website language

Even modified the locale and system calendar but Mobile Center license still use Thai Land Buddhist calendar

Has changed the locale and calendar of the MC, but when install the license of the MC, we still get it started from 1/27/1475
MC using in-correct setting of Language and Region of Windows instead of the locale or calendar of the system.
you can refer to this link:
Change Windows System Language
you can delete the license data with Server DB (pgadmin3 of the server).
and re-upload your license again after changing the region and language.

How do I change the date format in the header when printing with DotNetBrowser?

The only localisation I could find is described here:
https://dotnetbrowser.support.teamdev.com/support/solutions/articles/9000110018-chromium-language-localization
DotNetBrowser allows configuring Chromium engine with specified
language (two letter code from ISO-639 e.g. "en", "de", "it", etc).
The language will be used for UI text messages localization (e.g. text
on the web page that's displayed when Chromium failed to load URL).
By default, Chromium engine is configured to use .NET application
language that can be received from
theCultureInfo.CurrentUICulture.Name property. To configure Chromium
engine with .NET application language, DotNetBrowser extracts the
language from theCultureInfo.CurrentUICulture.Name property and passes
it to Chromium engine via the --lang Chromium switcher.
If you need to change this default behavior, then you can configure
Chromium engine directly with specified language via Chromium--lang
switcher.
Unfortunately this does not seem to apply any date formatting (which makes sense as it only seems to pay attention to the language "en" and not the locale)
When I print, the header on every page has a date which is in US format. My customers are not in the US and giving them dates in US formats would be a disaster.
Is there any way to set the date format in DotNetBrowser / Chromium?
In Chrome Advanced Settings I can pick English New Zealand and English UK as languages and those settings do affect the printed page headers.
You could specify English UK locale as "en-GB" as shown below:
BrowserPreferences.SetChromiumSwitches("--lang=en-GB");
Do not forget that this switcher should be set before you create any Browser instance.
This article describes how to set Chromium switchers: https://sites.google.com/a/teamdev.com/dotnetbrowser-support/documentation/chromium-switches

How can I change language and locale of only my application programmatically

I want to change language and locale of my application alone to a language different than user's default that is set on the system. Say my application should use resources of french even though the system default is set to English.
I found few examples for iOS (How to force NSLocalizedString to use a specific language) but even this is only for language, but nothing for OSX. I have the french resource in my bundle. I just want to override the defaults for my application alone. Without changing the entire OS locale from system preferences.
There are nice apps for this problem: Language Switcher and App Language Chooser to name a few.
To do it programmatically, you can use the defaults command to change the app's AppleLanguages property to (fr) or (en, ko), as the following shell script:
bundleId=BUNDLE_ID_OF_YOUR_APP # such as, com.apple.Finder
# change AppleLanguages
defaults write $bundleId AppleLanguages "(fr)"
# open your app
open -b $bundleId
# then restore the language
defaults delete $bundleId AppleLanguages
See the answer to this similar question at superuser for more detail: Can I change the default language of a application / program in Snow Leopard?.

Localization of a DotNetNuke website

I am working on a website in dnn. I want to change the language of website or particular page. So I download the language package for spanish(es-es),chinese(zh-cn) and install them from host. Next when I changed the language of browser then the website language didn't change. Working on dnn 5.0.
Please let me know how I can use language packages in dnn website.
For initial translations and maintenance of DotNetNuke translations, I recommend the use of OmegaT. It handles resx files directly. And content (such as HTML or Blogs) can be downloaded, translated and then uploaded thanks to the APIs of DNN (drop me a note if you need the scripts).
OmegaT stores the translations in it's memory (a TMX file, which is actually some kind of XML). It also uses Google Translate and similars, and has a fast user interface which increases translation speed a lot when compared against continously waiting for DotNetNuke to handle your updated resources.
More info on OmegaT. An example of a translated site and modules: site translated from Dutch into English
You should probably ask this in the DotNetNuke forums: http://www.dotnetnuke.com/tabid/795/default.aspx.
There's one dedicated forum for questions about language packs and localization. You will probably find your answer there: http://www.dotnetnuke.com/Community/Forums/tabid/795/forumid/77/scope/threads/Default.aspx
The language packs don't always have translations for everything on the site, especially content that you added yourself. You'll need to do two things to get them working properly:
Go to Admin > Languages, and enable the languages you want to use.
Open the Language Editor and start translating. Under each resource name, you will see an edit text box for the localized value, and a read-only text box for the default value. In most cases, you'll need to translate verbatim what you see under "default value".
We had to write our own menu provider to get the menu to do this - instead of going for the resource files we went for a database solution - other reasons applied to this as well - we also built an interface for doing this - as for things like the text/html module there are some third party builds that allow you to nationalize content. Apollo comes to mind Apollo Software they have some multilanguage modules
The language packs will typically only localize text used by the core such as "Login" and "Settings". It is designed so that you can have a site in a language other than English, not so you can have multiple languages on one site. You can easily have multiple portals, each with a different language.
In order to have multiple locales on one portal you will need to use a third party module or develop your own.