Domanda

Ho un sito che supporterà 4 lingue e 2 paesi (stati UNITI e Canada, inglese e spagnolo)

Mi chiedo qual è il modo migliore per impostare la struttura di directory?

Ora, ho un sito chiamato root site.com:

Questo vi porterà a una pagina dove scegli il tuo paese e la lingua.

Idealmente, si desidera avere la directory in questo modo:

site.com/ca/en/ (Canada English)
site.com/ca/fr/ (Canada French)
site.com/us/en/ (US English)
site.com/us/es/ (US Spanish)

Ma che dire, io sarà mettere un "ca" e un "noi" e la directory virtuale di lingua directory virtuali all'interno che.È che una buona pratica, o devo fare qualcosa di simile:

site.com/ca-en/ (Canada English)
site.com/ca-fr/ (Canada French)
site.com/us-en/ (US English)
site.com/us-es/ (US Spanish)

edit:Ho fatto la seguente:

C'è un manichino directory:/ca/ e /noi/ nell'applicazione.Entrambi hanno un valore di default.aspx che è solo un redirect.Nel mio caso, mi reindirizza alla loro siti in lingua inglese:

Per esempio:site.com/ca/ --> site.com/ca/en/ site.com/us/ --> site.com/us/en/

se site.com è entrato, si è spinto a una pagina di selezione della lingua.Fondamentalmente, io uso una espressione regolare Globale.asax su ogni richiesta di guardare per la lingua/cultura di stringa.

Questo ha i seguenti vantaggi.Paese di separazione.Così si ha il controllo su site.com/ca/ o site.com/us/ e sono in grado di fornire un semplice URL per ogni paese.

Comunque, la directory Virtuale /it/, /fr/ e /es/ sono all'interno del loro paese cartelle fisiche.

Così si hanno le seguenti (Virtuale Dirs sono in in grassetto):

site.com/ca/it/ (impostazione predefinita) site.com/ca/fr/ site.com/us/it/ (impostazione predefinita) site.com/us/es/

Che cosa questo significa è che è necessario disporre di cinque (identici) le applicazioni, tranne che si può utilizzare l'URL per ottenere l'attuale lingua e il paese (e il diritto di database).

È stato utile?

Soluzione 2

Bene, si desidera che la Url sia diversa per ogni sito.

Essenzialmente esso è in realtà un sito (per motivi di manutenzione), e stiamo usando la globalizzazione, per determinare la stringa di connessione da utilizzare (diversi database, strutture identiche in ogni uno)

Ogni volta che si pubblicano pubblicherò a quattro posizioni.Identiche app.

La globalizzazione utilizzando un URL SUONA come una buona idea, ma non credo che sarà spider correttamente, e anche se lo fa, non offre una buona memorizzabili link.(Francese persona invia un link ad un altro francese persona che utilizza un computer impostato per la lingua inglese).Ci sono altre implicazioni, ma c'è un motivo siti come apple e microsoft utilizzano url diversi per ogni lingua/cultura.

Su ogni avvio di Sessione, posso controllare l'url, e impostare le stringhe di connessione di conseguenza.

ALLA FINE, ho appena messo un /ca/ e /it/ directory principale dell'applicazione, aggiungere le directory virtuali per ogni lingua una risposta redirect a "scegliere una lingua" pagina.

Forse non è la soluzione migliore, ma sembra funzionare.

Un altro vantaggio di questo metodo è che se c'è qualche pagina speciale che si applica ad un solo sito, esso può essere aggiunto al sito.

Altri suggerimenti

Perché non avere un sito e verificare l'impostazione del client (richiesta.servervariables / HTTP_ACCEPT_LANGUAGE) per quello preferito lingua da utilizzare e utilizzando il built in di globalizzazione in asp.Net?

Se completamente diversi contenuti saranno visualizzati a seconda del paese/lingua posso capire perché separarli come che.

generalmente accettato nomenclatura per la localizzazione, è ll-CC per il codice di lingua trattino codice di un paese.esempio:en-US, anche se it-CI sarebbe il default con bagno en-GB o en-CA, come fallbacks...es-MX ecc sono anche degni.Potrebbe essere meglio utilizzare i sottodomini, però, che consentirebbe la rottura delle risorse, senza complessi di bilanciamento del carico di regole in fronte.ex:us.en.yoursite.com ...questo permette anche una facile composizione di server in una webfarm ambiente.Vorrei suggerire di avere il codice vero e proprio lo stesso con una modifica delle impostazioni per sito per abbinare la localizzazione.Quindi utilizzare una localizzazione di risorse che si passa in una chiave testuale, e la traduzione in lingua è risolto in base al sito di localizzazione di modello.Nota:.Net, e altre piattaforme offrono la localizzazione delle risorse opzioni integrate.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top