Domanda

Sono un web designer che lavora con SharePoint 2013. Ho creato un modello personalizzato per un'azienda e ora voglio andare oltre con funzionalità di variazioni.Il sito Web dovrebbe essere disponibile in tedesco e in inglese.

Nel footer della Pagina principale, ho inserito alcuni collegamenti rigidi come questo:

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

E li voglio ricostruire dinamicamente al mio sito Varianti come questo per la lingua tedesca:

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

O questo per l'inglese:

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

C'è una variabile che potrei mettere davanti ai collegamenti nella mia pagina Master?O un metodo per ottenere la lingua corrente?

Stavo pensando a qualcosa del genere:

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

Non sono un codificatore ASP.NET, quindi non so davvero come scoprire la lingua.Apprezzerei se qualcuno potesse aiutarmi.

È stato utile?

Soluzione 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>');
        }

    });

Altri suggerimenti

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>
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a sharepoint.stackexchange
scroll top