بيانات الربيع المحلية الحساسة
-
28-09-2019 - |
سؤال
لديّ بعض المشكلات في جعل تطبيق الويب الخاص بي متكيفًا لإعدادات لغة متصفح المستخدم عن بُعد. لقد استخدمت 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
كإعداد ، لذلك يجب أن تحتوي على رسائل في اللغة "الافتراضية" لتطبيقك.