प्रौद्योगिकी साझेदारी

Spring Boot इत्यस्मिन् अन्तर्राष्ट्रीयकरणस्य स्थानीयकरणस्य च समस्यानां समाधानम्

2024-07-12

한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina

Spring Boot इत्यस्मिन् अन्तर्राष्ट्रीयकरणस्य स्थानीयकरणस्य च समस्यानां समाधानम्

नमस्कारः सर्वेभ्यः, अहं Weizhuang Taoke System 3.0 इत्यस्य सम्पादकः अस्मि, अपि च अहम् एकः प्रोग्रामरः अपि अस्मि यः शिशिरे दीर्घं johns न धारयति, परन्तु तदपि शीतकाले ललितं भवितुम् अर्हति!

अन्तर्राष्ट्रीयकरणस्य स्थानीयकरणस्य च अवलोकनम्

वैश्विकप्रयोक्तृणां कृते अनुप्रयोगानाम् विकासे अन्तर्राष्ट्रीयकरणं (संक्षेपेण i18n) तथा स्थानीयकरणं (संक्षेपेण l10n) अतीव महत्त्वपूर्णविचाराः सन्ति । अन्तर्राष्ट्रीयकरणं सॉफ्टवेयर-उत्पादानाम् अभिकल्पनं कार्यान्वयनञ्च निर्दिशति येन ते भिन्न-भिन्न-भाषायाः सांस्कृतिक-अभ्यासानां च आवश्यकतानुसारं अनुकूलतां प्राप्तुं शक्नुवन्ति

1. Spring Boot इत्यस्मिन् अन्तर्राष्ट्रीयकरणविन्यासः

Spring Boot इत्यस्मिन् अन्तर्राष्ट्रीयीकरणं स्थानीयकरणं च मुख्यतया संसाधनसञ्चिकानां माध्यमेन तथा Spring द्वारा प्रदत्तस्य सम्बन्धितसमर्थनस्य माध्यमेन प्राप्तं भवति । प्रथमं एतानि विशेषतानि कथं विन्यस्तुं, कथं च उपयोक्तव्यानि इति पश्यामः ।

1.1.संसाधनसञ्चिकाः विन्यस्यताम्

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
  • 1
  • 2
  • 3
  • 4
1.2.Spring Boot इत्यस्मिन् अन्तर्राष्ट्रीयसंसाधनानाम् उपयोगः

वसन्तबूट् इत्यत्र उत्तीर्णः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;
    }
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
1.3.अन्तर्राष्ट्रीयसंसाधनानाम् उपयोगः

नियन्त्रके सेवायां वा उत्तीर्णं कुर्वन्तु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);
    }
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20

2. अन्तर्राष्ट्रीयकरणं स्थानीयकरणं च उत्तमप्रथाः

मूलभूतविन्यासस्य उपयोगस्य च अतिरिक्तं अन्तर्राष्ट्रीयकरणं स्थानीयकरणं च प्रभावं निम्नलिखितरीत्या अधिकं अनुकूलितं कर्तुं शक्यते ।

  • अधिकभाषाणां समर्थनं कुर्वन्तु: उपयोक्तुः आवश्यकतानुसारं अधिकभाषासु संसाधनसञ्चिकाः योजयन्तु।
  • गतिशीलरूपेण भाषाः परिवर्तयन्तु: अन्तरफलके भाषां परिवर्तयितुं उपयोक्तृभ्यः समर्थनं कुर्वन्तु, यथा अनुरोधमापदण्डानां माध्यमेन अथवा उपयोक्तृसेटिंग्स् इत्यस्य माध्यमेन।
  • स्थानीयकृततिथिः, समयः, मुद्रा च: तिथिं, समयं, मुद्रां च स्थानीयीकर्तुं Spring द्वारा प्रदत्तानां स्वरूपणसाधनानाम् उपयोगं कुर्वन्तु ।
  • अन्तर्राष्ट्रीयकरण अपवाद सूचना: उपयोक्तृ-अनुभवं सुधारयितुम् अनुप्रयोग-अपवाद-सूचनाः अन्तर्राष्ट्रीयकरणं कुर्वन्तु ।

उपसंहारे

अयं लेखः Spring Boot परियोजनासु अन्तर्राष्ट्रीयकरणस्य स्थानीयकरणस्य च समस्यानां समाधानं कथं करणीयम्, तथा च संसाधनसञ्चिकानां विन्यस्तं कृत्वा, Spring द्वारा प्रदत्तस्य अन्तर्राष्ट्रीयकरणसमर्थनस्य उपयोगेन, उत्तमप्रथानां च परिचयं करोति एतानि प्रौद्योगिकीनि पद्धतयः च विकासकानां वैश्विकप्रयोक्तृणां कृते मैत्रीपूर्णानि व्यावसायिकानि च अनुप्रयोगाः निर्मातुं साहाय्यं कुर्वन्ति ।

Micro-earning Taoke System 3.0 इत्यस्य सम्पादकेन निर्मितम्, पुनर्मुद्रणकाले कृपया स्रोतः सूचयन्तु!