سؤال

لديّ بعض المشكلات في جعل تطبيق الويب الخاص بي متكيفًا لإعدادات لغة متصفح المستخدم عن بُعد. لقد استخدمت ResourceBundleMessagesource لذلك. تبدو هكذا:

<bean id="messageSource" class="org.springframework.context.support.ResourceBundleMessageSource">
    <property name="basename" value="resources/messages" /> </bean>

ولدي ملفان .properties:

  • الرسائل

  • Messages_ru.properties

وهي موجودة في SRC/الموارد/الرسائل.

أرغب في تكوين تطبيقي بهذه الطريقة ، أنه عندما تحتوي إعدادات لغة متصفح المستخدمين عن بُعد على الروسية ، يجب على تطبيقي استخدام الرسائل الروسية (messages_ru) ، وإلا يحتوي على رسائل إنجليزية).

عندما أقوم بإعداد الروسية في متصفحي ، يعمل بشكل جيد. عندما أقوم بمسح جميع الإعدادات ، يظهر أيضًا الروسية (أعتقد أن ذلك يعتمد على إعدادات لغة النظام). وعندما قمت بتعيين لغة أخرى ، فإنها تُظهر لي رسائل روسية أيضًا.

الطريقة الوحيدة لجعل تطبيقي لإظهار الرسائل الإنجليزية هي إعادة تسمية الرسائل. لكنني أريد أن أجعل تطبيقي يتم تبنيه لجميع إعدادات اللغة (عندما يستخدم الروسية ، إذا كان يحتاج ، والإنجليزية لأي إعدادات أخرى وأي بلدان أخرى).

أيه أفكار؟

هل كانت مفيدة؟

المحلول

تحتاج إلى ضبط

<bean id="messageSource" 
     class="org.springframework.context.support.ReloadableResourceBundleMessageSource">  
    <property name="basename" value="resources/messages" />
    <property name="fallbackToSystemLocale" value="false" />
</bean> 

في هذه الحالة ، سيتم استخدام الربيع messages.properties كإعداد ، لذلك يجب أن تحتوي على رسائل في اللغة "الافتراضية" لتطبيقك.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top