راهاندازی سایتهای چند زبانه در فریم ورک اسپرینگ (Spring Framework)
پیش از هر چیز باید بگویم که این نوشته مربوط به برنامهنویسی در فریمورک اسپرینگ است؛ اگر با این فریمورک آشنایی ندارید، خواندن این نوشتهی من در مورد این چهارچوب برنامهنویسی میتواند برای شما مفید باشد. امروزه چندزبانه بودن پورتالها و سایتها امر بسیار مهمی است و برای حضور در بازارهای جهانی و بینالمللی یک نیاز است. در این نوشته قصد افزودن قابلیت internationalization به پروژهی اسپرینگ را داریم.
برای Multilingual کردن یک سایت ابتدا طبق روال زیر عمل کنیم:
- ابتدا باید messageSource را که همان لیست پیامهای به زبانهای مختلف است به mvc-dispatcher-servlet.xml اضافه کنیم:
- سپس باید localeResolver را برای تشخیص زبان و منطقه به mvc-dispatcher-servlet.xml اضافه کنیم:
- در نهایت یک interceptor برای تشخیص زبان و منطقه با توجه به پارامتری که از طریق url پاس داده میشود را mvc-dispatcher-servlet.xml اضافه کنیم:
در اینجا ما با استفاده از ?lang=de/ زبان و منطقه مورد نظر را مشخص کرده و interceptor با توجه به آن فایل زبان مربوطه را از messageSource بارگزاری میکند.
اما مشکلی که وجود دارد این است که این تغییر زبان در سمت کنترلرها انجام میپذیرد و چون ما به صورت rest کار میکنیم و viewهای خود را با استفاده از ابزارهایی نظیر جاوااسکریپت و جیکوئری پر میکنیم، لذا این تغییر زبان در سمت viewها به درستی انجام نمیشود. برای رفع این مشکل، ما در خطوط ابتدایی فایل jspها، زبان را به صورت دستی با توجه به پارامتر پاس داده شده تنظیم میکنیم، تکه کد زیر چگونگی این امر را نشان میدهد:
حال میتوانیم به راحتی از spring:messageها استفاده کنیم و تغییر زبان هم در سمت کنترلرها و هم در سمت viewها اتفاق خواهد افتاد:
برچسبها:طراحی سایت چند زبانه با اسپرینگ،آموزش فریم ورک اسپرینگ،مرتضی اسدی،آموزش جاوا اسپرینگ،Morteza Asadi،برنامهنویسی،