SharePoint online Multilingual support

来源:互联网 发布:应届生java程序员面试 编辑:程序博客网 时间:2024/06/05 07:16
博客地址:http://blog.csdn.net/FoxDave

上一节讲了SharePoint Online网站多语言的实现原理机制,本节主要从编程的角度来谈一下如何进行相关的设置。
下面列出的代码函数方法在命令行中运行即可。至于Context如何获取可以参考我以前的blog。

Site和List级别的国际化
首先咱们先创建一个测试List,如下代码:
private static void CreateCustomList(ClientContext ctx, Web web)        {            ListCollection listCollection = ctx.Web.Lists;            ctx.Load(listCollection, lists => lists.Include(list => list.Title).                                            Where(list => list.Title == "LocalizeMe"));            ctx.ExecuteQuery();            // Create the list, if it's not there...            if (listCollection.Count == 0)            {                ListCreationInformation newList = new ListCreationInformation();                newList.Title = "LocalizeMe";                newList.QuickLaunchOption = QuickLaunchOptions.On;                newList.TemplateType = (int)ListTemplateType.GenericList;                newList.Description = "LocalizeMe sample list";                List list = web.Lists.Add(newList);                ctx.ExecuteQuery();            }        }
上面的代码很简单,不做过多解释了,就是创建一个名为LocalizeMe的List。
接下来的代码演示了如何设置多语言的属性。

private static void LocalizeSiteAndList(ClientContext cc, Web web)        {            // Localize site title            web.TitleResource.SetValueForUICulture("en-US", "Localize Me");            web.TitleResource.SetValueForUICulture("fi-FI", "Kielikäännä minut");            web.TitleResource.SetValueForUICulture("fr-FR", "Localize Me to French");            // Site description            web.DescriptionResource.SetValueForUICulture("en-US",                                   "Localize Me site sample");            web.DescriptionResource.SetValueForUICulture("fi-FI",                                    "Kielikäännetty saitti");            web.DescriptionResource.SetValueForUICulture("fr-FR",                                    "Localize to French in description");            web.Update();            cc.ExecuteQuery();            // Localize custom list which was created previously            List list = cc.Web.Lists.GetByTitle("LocalizeMe");            cc.Load(list);            cc.ExecuteQuery();            list.TitleResource.SetValueForUICulture("en-US", "Localize Me");            list.TitleResource.SetValueForUICulture("fi-FI", "Kielikäännä minut");            list.TitleResource.SetValueForUICulture("fr-FR", "French text for title");            // Description            list.DescriptionResource.SetValueForUICulture("en-US",                                    "This is localization CSOM usage example list.");            list.DescriptionResource.SetValueForUICulture("fi-FI",                        "Tämä esimerkki näyttää miten voit kielikääntää listoja.");            list.DescriptionResource.SetValueForUICulture("fr-FR",                                "I have no idea how to translate this to French.");            list.Update();            cc.ExecuteQuery();        }
简单说明一下,对于需要国际化的内容,我们需要获取对应的SharePoint Object之后,操作相应的XXResource属性,如上所示,对Site和List的Title和Description进行了国际化。
执行完代码之后,根据当前用户的prefer language,就可以显示不同的语言了。
原文地址:https://blogs.msdn.microsoft.com/vesku/2014/03/20/office365-multilingual-content-types-site-columns-and-other-site-elements/
1 0
原创粉丝点击