2024-07-12
한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina
Spring Boot इत्यस्मिन् अन्तर्राष्ट्रीयकरणस्य स्थानीयकरणस्य च समस्यानां समाधानम्
नमस्कारः सर्वेभ्यः, अहं Weizhuang Taoke System 3.0 इत्यस्य सम्पादकः अस्मि, अपि च अहम् एकः प्रोग्रामरः अपि अस्मि यः शिशिरे दीर्घं johns न धारयति, परन्तु तदपि शीतकाले ललितं भवितुम् अर्हति!
अन्तर्राष्ट्रीयकरणस्य स्थानीयकरणस्य च अवलोकनम्
वैश्विकप्रयोक्तृणां कृते अनुप्रयोगानाम् विकासे अन्तर्राष्ट्रीयकरणं (संक्षेपेण i18n) तथा स्थानीयकरणं (संक्षेपेण l10n) अतीव महत्त्वपूर्णविचाराः सन्ति । अन्तर्राष्ट्रीयकरणं सॉफ्टवेयर-उत्पादानाम् अभिकल्पनं कार्यान्वयनञ्च निर्दिशति येन ते भिन्न-भिन्न-भाषायाः सांस्कृतिक-अभ्यासानां च आवश्यकतानुसारं अनुकूलतां प्राप्तुं शक्नुवन्ति
Spring Boot इत्यस्मिन् अन्तर्राष्ट्रीयीकरणं स्थानीयकरणं च मुख्यतया संसाधनसञ्चिकानां माध्यमेन तथा Spring द्वारा प्रदत्तस्य सम्बन्धितसमर्थनस्य माध्यमेन प्राप्तं भवति । प्रथमं एतानि विशेषतानि कथं विन्यस्तुं, कथं च उपयोक्तव्यानि इति पश्यामः ।
Spring Boot परियोजनायां, भवान् भिन्नभाषासु पाठसूचनाः परिभाषितुं गुणसञ्चिकानां (*.properties) अथवा YAML सञ्चिकानां उपयोगं कर्तुं शक्नोति । सामान्यतया, वयं प्रत्येकभाषायाः कृते तत्सम्बद्धां संसाधनसञ्चिकां निर्मास्यामः, यथा messages.properties (पूर्वनिर्धारितसञ्चिका), messages_en.properties (अङ्ग्रेजी), messages_zh_CN.properties (सरलीकृतचीनी), इत्यादयः
नमूना संसाधनसञ्चिका messages.properties:
greeting.message=Welcome to our application!
button.submit=Submit
label.username=Username
label.password=Password
वसन्तबूट् इत्यत्र उत्तीर्णःMessageSource
तथाLocaleResolver
विभिन्नभाषासु संसाधनसञ्चिकाः लोड् कर्तुं, विश्लेषणं च कर्तुं, उपयोक्तुः Locale इत्यस्य अनुसारं अनुकूलितुं च ।
package cn.juwatech.localization;
import cn.juwatech.Application;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.context.MessageSource;
import org.springframework.context.annotation.Bean;
import org.springframework.context.support.ReloadableResourceBundleMessageSource;
import org.springframework.web.servlet.LocaleResolver;
import org.springframework.web.servlet.i18n.AcceptHeaderLocaleResolver;
import java.util.Locale;
@SpringBootApplication
public class Application {
public static void main(String[] args) {
SpringApplication.run(Application.class, args);
}
@Bean
public LocaleResolver localeResolver() {
AcceptHeaderLocaleResolver resolver = new AcceptHeaderLocaleResolver();
resolver.setDefaultLocale(Locale.US); // 设置默认Locale
return resolver;
}
@Bean
public MessageSource messageSource() {
ReloadableResourceBundleMessageSource messageSource = new ReloadableResourceBundleMessageSource();
messageSource.setBasename("classpath:messages");
messageSource.setDefaultEncoding("UTF-8");
return messageSource;
}
}
नियन्त्रके सेवायां वा उत्तीर्णं कुर्वन्तुMessageSource
विशिष्टस्य Locale इत्यस्य अन्तर्गतं पाठसूचना प्राप्तुं ।
package cn.juwatech.localization;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.MessageSource;
import org.springframework.context.i18n.LocaleContextHolder;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;
@RestController
public class GreetingController {
@Autowired
private MessageSource messageSource;
@GetMapping("/greeting")
public String greeting() {
Locale locale = LocaleContextHolder.getLocale();
return messageSource.getMessage("greeting.message", null, locale);
}
}
मूलभूतविन्यासस्य उपयोगस्य च अतिरिक्तं अन्तर्राष्ट्रीयकरणं स्थानीयकरणं च प्रभावं निम्नलिखितरीत्या अधिकं अनुकूलितं कर्तुं शक्यते ।
अयं लेखः Spring Boot परियोजनासु अन्तर्राष्ट्रीयकरणस्य स्थानीयकरणस्य च समस्यानां समाधानं कथं करणीयम्, तथा च संसाधनसञ्चिकानां विन्यस्तं कृत्वा, Spring द्वारा प्रदत्तस्य अन्तर्राष्ट्रीयकरणसमर्थनस्य उपयोगेन, उत्तमप्रथानां च परिचयं करोति एतानि प्रौद्योगिकीनि पद्धतयः च विकासकानां वैश्विकप्रयोक्तृणां कृते मैत्रीपूर्णानि व्यावसायिकानि च अनुप्रयोगाः निर्मातुं साहाय्यं कुर्वन्ति ।
Micro-earning Taoke System 3.0 इत्यस्य सम्पादकेन निर्मितम्, पुनर्मुद्रणकाले कृपया स्रोतः सूचयन्तु!