我正在开发一个VSTO插件,并希望根据办公产品的语言版本对其进行本地化.从理论上讲,这是怎么做的:
int lcid = Application.LanguageSettings.get_LanguageID(Office.MsoAppLanguageID.msoLanguageIDUI);
System.Threading.Thread.CurrentThread.CurrentUICulture = new System.Globalization.CultureInfo(lcid);
Run Code Online (Sandbox Code Playgroud)
为了实现这个目的,我Application当然需要进行初始化.因此,我可以执行此代码的最早点是在Startup事件处理程序中.但是,此时CreateRibbonExtensibilityObject()已经调用了,因此至少我的自定义功能区选项卡的标题将以Windows语言显示,这可能会有所不同.在功能区类中,我有一个onLoad事件的处理程序,我存储一个实例IRibbonUI供以后使用.我可以将这个实例移交给addin类并让它调用IRibbonUI.Invalidate()它.但这似乎有点奇怪 - 创建一个功能区只是为了让它在几微秒后失效.所以我想知道 - 并在这里询问 - 是否有一种更优雅的方式来根据办公产品的语言版本本地化vsto插件的功能区.
我有一个基于 CMS 的托管 Web 应用程序,我想将其打包为带有 Ionic Capacitor 的 Android/iOS 应用程序。所以我加了
"server": {
"url": "https://my.domain/"
},
Run Code Online (Sandbox Code Playgroud)
到capacitor.config.json并做了
import { Capacitor, Plugins } from '@capacitor/core';
console.log('Plugins', Capacitor.Plugins);
Run Code Online (Sandbox Code Playgroud)
在我的应用程序的主要 Javascript 文件中(我使用 webpack 进行捆绑)。这基本上有效,即应用程序被正确加载和显示。但是在控制台上,我看到 Capacitor 加载了插件的网络版本,并Device.getInfo()说平台是“网络”,而不是“android”。
当我的应用程序从设备的文件系统加载时,我怎样才能让 Capacitor 表现得像它一样,特别是我怎样才能让它在这个设置中使用插件的本机版本?