001package org.hl7.fhir.r5.utils;
002
003import java.util.HashMap;
004import java.util.Locale;
005import java.util.Map;
006
007/**
008 * This clas smaps between the jurisdictions defined for CanonicalResource.jurisdiction
009 * and Java Locale
010 * @author graha
011 *
012 */
013
014public class JurisdictionLocales {
015
016  private Map<String, String> map = new HashMap<>();
017
018  public JurisdictionLocales() {
019    super();
020    register();
021  }
022
023  private void register() {
024    register("USA", "US", "en-US");
025    register("AUS", "AU", "en-AU");
026    register("NZL", "NZ", "en-NZ");
027    register("GBR", "GB", "en-GB");
028    register("IND", "IN", "en-IN");
029    
030    register("AUT", "AT", "de-AT");
031    register("CHE", "CH", "de-CH");
032    register("DEU", "DE", "de-DE");
033    register("NOR", "NO", "no-NO");
034    register("SWE", "SE", "sv-SE");
035    register("FIN", "FI", "fi-FI");
036    register("DNK", "DK", "da-DK");
037    register("NLD", "NL", "nl-NL");
038    register("BEL", "BE", "nl-BE"); // but will be fr-BE if lang is specified
039    register("FRA", "FR", "fr-FR"); 
040    register("ITA", "IT", "it-IT"); 
041    register("RUS", "RU", "ru-RU"); 
042    
043    register("ESP", "ES", "es-ES"); 
044    register("ARG", "AR", "es-AR"); 
045    register("UGY", "UY", "es-UY"); 
046    
047    register("PRT", "PT", "pt-PT"); 
048    register("BRA", "BR", "pt-BR"); 
049
050    register("CHN", "CN", "zh-CN"); 
051    register("TWN", "TW", "zh-TW"); 
052    register("JPN", "JP", "ja-JP"); 
053    register("KOR", "KR", "ko-KR"); 
054    register("VNM", "VN", "vn-VN"); 
055  }
056
057  private void register(String code3, String code2, String locale) {
058    map.put(code3,  locale);
059    map.put(code2,  locale);
060  }
061
062  public String get(String c) {
063    return map.get(c.toUpperCase());
064  }
065  
066}