Je crée un site Web avec ASP.NET MVC 2.0 qui utilise deux langues différentes (anglais et persan). Je veux avoir deux mises en page différentes pour ces langues, l'anglais a une gauche à droite et le persan a un droit à gauche. P>
Qu'est-ce qui me suis venu à mon esprit était, si je pouvais avoir deux fichiers CSS différents, comme lorsque vous le faites avec une chaîne ou une localisation d'images fera le travail pour le site, le problème est que j'ai besoin de savoir comment faire cela! < / p>
Toute autre suggestion sur la manière d'exécuter cela serait utile. P>
3 Réponses :
Ceci est le code que vous pouvez utiliser pour obtenir la locale du côté du client. Une fois que vous avez défini les paramètres régionaux, vous pouvez inclure de manière dynamique une feuille de style dans l'en-tête.
if ( navigator ) { if ( navigator.language ) { return navigator.language; } else if ( navigator.browserLanguage ) { return navigator.browserLanguage; } else if ( navigator.systemLanguage ) { return navigator.systemLanguage; } else if ( navigator.userLanguage ) { return navigator.userLanguage; } }
Je préférerais faire cela dans la langue côté serveur (ASP.NET dans ce cas) basé sur http accepte-langue code>
en-tête de demande. Je ne fais pas ASP.NET, mais comme toutes les autres technologies d'affichage auto-respectées, il doit vraiment avoir un moyen de déterminer cet en-tête et de produire le code> au CSS conditionnellement.
Et comment puis-je changer la feuille de style dans l'en-tête?
Eh bien, ce n'est pas le cas que je cherchais, j'ai essayé de le faire dans un fichier de ressources qui est beaucoup plus courante.
Vous pouvez lire sur:
dans vos pages: p>
alt code>); Chaque image avec la directionnalité doit être inversée (ex: une flèche) li>
- Essayez d'éviter les classes de classe comme
Classe = "GAUCHE" CODE> Si vous ne voulez pas de maux de tête futurs. Le haut, le bas, avant ou après OK, mais pas gauche / droite (modifier: Démarrer code> et extrémité code> est maintenant utilisé dans CSS3 pour éviter ce problème exact de LTR et RTL. Peut être meilleur que * - avant code> et * - après code> déjà utilisé pour les pseudos avec des colons). Li>
- Vous devrez vérifier chaque instruction CSS sur
text-align code>, position d'arrière-plan code>, float code>, effacer Code> et évidemment laissé code> et droit code> avec position: absolu / relatif; code>. Les nouvelles instructions CSS3 sont également à revoir (animations, etc.). Li>
- Différentes polices ont besoin de différentes tailles de police (bien que ce problème concerne les polices asiatiques principalement) li>
- Quant à toute autre langue prise en charge, de nombreux bits de texte dans des modèles doivent être traduits. LI>
ul>
Comme indiqué dans les liens ci-dessus, l'attribut HTML dir = "rtl" code> est utilisé. Vous aurez également besoin d'une classe (sur corps code> ou de certains contenant div code> pour agir comme un commutateur géant pour vos besoins de conception. Comme p> :lang(ar) .yourclass { background: url(images/ar/bg.jpg) }
or
[lang|="ar"] .yourclass { background: url(images/ar/bg.jpg) }
: Lang (AR) .Yourclass B> Pour le travail Ceci, nous devons définir l'attribut HTML lang = "fr" code> ou
lang = "ar" code>.
Je ne sais pas si c'est ce que vous êtes élaboré, mais je l'ai fait quelques années dans VBScript. Pas idéal, mais cela fonctionne pour moi:
Souvencez la langue: p>
<% select case MasterLanguage case "PORTUGUESE"%> <style media="screen" type="text/css">@import "/Includes/css/a_formatting.css";</style> <style media="screen" type="text/css">@import "/includes/langs/br/languageSpecific.css";</style> <link type="text/css" media="print" rel="stylesheet" href="/Includes/css/print.css" /> <% case "SIMPCHINESE" %> <style media="screen" type="text/css">@import "/Includes/css/a_formatting_zh-cn.css";</style> <style media="screen" type="text/css">@import "/includes/langs/zh-cn/languageSpecific.css";</style> <link type="text/css" media="print" rel="stylesheet" href="/Includes/css/print_zh-cn.css" /> <%
Quelle est exactement votre question - comment intégrer différentes feuilles de style en fonction de la langue?
Si la réponse à la question de @ Pekka est oui, la question suivante dont vous aurez besoin de répondre est la suivante: comment la langue sélectionnée est-elle traitée dans votre application?
Ouais, j'avais besoin de changer la feuille de style en fonction de la langue.