Posts 1 - 10 of 16
First | Prev. | 1 2 | Next | Last
|
|
Christopher Thiede
Posts: 40
Joined: 2016-07-05
|
Hi,
I read https://www.add-in-express.com/forum/read.php?FID=5&TID=11738 with the same title but it doesn't helped me. I can't answer this old topic. Therefore I start it againn.
Currently I have the same problem. A customer (and now me too) has TeamViewer installed with Outlook Add-In.
I get in trouble because out Add-In Ribbon Menu Button is shown in english instead of german. The dynamic insert Menu is in german because I set the CurrentUiCulture in my OnAddinInitialize method.
private void OnAddinInitialize(object sender, EventArgs eventArgs)
{
Thread.CurrentThread.CurrentCulture = new CultureInfo(OutlookApp.LanguageSettings.get_LanguageID(MsoAppLanguageID.msoLanguageIDUI));
}
But I can't set the CurrentUiCulture in the Constructor of my AddIn or in InitializeComponent method. If I try I get the error: Can not register the Assembly MyAddIn.dll.
Where should I set the CurrentUiCulture to change the language for my RibbonMenuButton?
Thx
Christopher |
|
Posted 19 Dec, 2016 16:37:48
|
|
Top
|
|
Andrei Smolin
Add-in Express team
Posts: 18787
Joined: 2006-05-11
|
|
Posted 20 Dec, 2016 06:13:10
|
|
Top
|
|
Christopher Thiede
Posts: 40
Joined: 2016-07-05
|
Hello Andrei,
thx for your fast response. I tried to override the method OnHostApplicationInitialized but there is no suitable method in my AddinExpress.MSO.ADXAddinModule. I tried your C# sample AddinModule. Same error: no suitable method. What's wrong with my configuration? I use Add-in Express for Microsoft Office and .NET, Standard for Visual Studio 2015 Version 8.2.4371.0. |
|
Posted 20 Dec, 2016 06:32:21
|
|
Top
|
|
Andrei Smolin
Add-in Express team
Posts: 18787
Joined: 2006-05-11
|
Christopher,
OnHostApplicationInitialized was introduced in Add-in Express for Office and .NET version 8.3. Please install the latest Add-in Express build.
Andrei Smolin
Add-in Express Team Leader |
|
Posted 20 Dec, 2016 06:59:31
|
|
Top
|
|
Christopher Thiede
Posts: 40
Joined: 2016-07-05
|
Hi Andrei,
Setting the CurrentCulture and CurrentUICulture in OnHostApplicationInitialized() works fine.
But I think it is not best practise to set CurrentCulture and CurrentUICulture because any other Add-In can do this.
Therefore I tried to use overload of ApplyResources in InitialzeComponent() to set the Culture for each localizable string. But this didn't work. The Assembly can't be registered on build.
private CultureInfo CurrentAppCulture => new CultureInfo(GetLanguageID());
private int GetLanguageID()
{
LanguageSettings languageSettings = OutlookApp.LanguageSettings;
if (languageSettings != null)
try
{
return languageSettings.LanguageID[MsoAppLanguageID.msoLanguageIDUI];
}
finally { Marshal.ReleaseComObject(languageSettings); }
return 0;
}
private void InitializeComponent()
{
...
resources.ApplyResources(this.adxRibbonTabStart, "adxRibbonTabStart", CurrentAppCulture);
...
}
|
|
Posted 27 Dec, 2016 08:52:19
|
|
Top
|
|
Andrei Smolin
Add-in Express team
Posts: 18787
Joined: 2006-05-11
|
|
Posted 27 Dec, 2016 08:59:27
|
|
Top
|
|
Christopher Thiede
Posts: 40
Joined: 2016-07-05
|
Hi,
I thinks this approach can fail if another Add-In tries to set CurrentCulture and/or CurrentUICulture directly after my AddIn set it to my favorite language. Isn't it possible? |
|
Posted 27 Dec, 2016 09:09:06
|
|
Top
|
|
Andrei Smolin
Add-in Express team
Posts: 18787
Joined: 2006-05-11
|
Christopher,
If your add-in has called ApplyResources then any other add-in modifying the culture *after* this moment, can't influence the UI of your add-in. It may influence other parts of your add-in however but this depends on how the actual code that you use depends on the culture.
Andrei Smolin
Add-in Express Team Leader |
|
Posted 27 Dec, 2016 09:39:10
|
|
Top
|
|
Christopher Thiede
Posts: 40
Joined: 2016-07-05
|
Good morning,
I ment your approach using switching the Language in OnHostApplicationInitialized and then use InitializeComponents.
Therefore I tried using overload of ApplyResources in InitializeComponents. But this didn't work because the Assembly can't be registered on build process. |
|
Posted 28 Dec, 2016 01:54:25
|
|
Top
|
|
Andrei Smolin
Add-in Express team
Posts: 18787
Joined: 2006-05-11
|
Hello Christopher,
Does the project described in that blog works for you?
Andrei Smolin
Add-in Express Team Leader |
|
Posted 28 Dec, 2016 04:51:09
|
|
Top
|
|
Posts 1 - 10 of 16
First | Prev. | 1 2 | Next | Last
|