Как я могу использовать текущий язык как переменную на моей главной странице?

sharepoint.stackexchange https://sharepoint.stackexchange.com//questions/80074

Вопрос

Я веб-дизайнер, работающий с SharePoint 2013. Я создал пользовательский шаблон для компании, и теперь я хочу пойти дальше с вариационными возможностями.Сайт должен быть доступен на немецком и на английском языке.

На нижнем колонтитуле главной страницы я поместил несколько жестких ссылок:

<a href="/Authenticate.aspx">Login</a>
<a href="/imprint">Imprint</a>
<a href="/disclaimer">Disclaimer</a>
.

И я хочу, чтобы они динамически перестраиваются на мои вариации сайта, подобные этому для немецкого языка:

<a href="/de/...">Login</a>
<a href="/de/...">Imprint</a>
<a href="/de/...">Disclaimer</a>
.

Или это для английского:

<a href="/en/...">Login</a>
<a href="/en/...">Imprint</a>
<a href="/en/...">Disclaimer</a>
.

Есть ли переменная, которую я мог бы разместить перед ссылками на моей главной странице?Или способ получить текущий язык?

Я думал о чем-то вроде этого:

<a href="{Locale}/login">...</a>
<a href="$language/imprint...">...</a>
<a href="getLanguage()/disclaimer">...</a>
.

Я не код ASP.Net, поэтому я не знаю, как узнать язык.Я был бы признателен, если кто-то может помочь мне.

Это было полезно?

Решение 2

I solved the problem with another method: I used SharePoints own Javascript variable - _spPageContextInfo - see: _spPageContextInfo is your new best friend !

With "currentCultureName" I could use the language name as a variable to compare to the target language and to expand my PageLayout with custom links, compliant to my variations settings.

The Code could look like this:

    $(document).ready(function() {

        $language = _spPageContextInfo.currentCultureName;

        // If it's german, I'll get german links
        if ($language == "de-DE") {
            $('.footer').html('<a href="/de/kontakt/">Kontakt</a>');
        } else {
        // And if not, it will target to the english page
            $('.footer').html('<a href="/en/contact">Contact</a>');
        }

    });

Другие советы

You could use the SPWeb.Locale property of the current context (as in SPContext.Current.Web.Locale) to glean this information.

If you look at the Remarks section of the CultureInfo Class description on MSDN it will explain this.

A simple example would be:

<a href="/<%= SPContext.Current.Web.Locale.TwoLetterISOLanguageName %>/Login.aspx">...</a>
Лицензировано под: CC-BY-SA с атрибуция
Не связан с sharepoint.stackexchange
scroll top