code: public void writeLanguage(String appid, String langCode, Map<String, String> lang, boolean writeToDatabase) {
  		if (lang == null || lang.isEmpty() || StringUtils.isBlank(langCode) || !ALL_LOCALES.containsKey(langCode)) {
  			return;
  		}
  		writeLanguageToFile(appid, langCode, lang);
  
  		if (writeToDatabase) {
  			// this will overwrite a saved language map!
  			Sysprop s = new Sysprop(keyPrefix.concat(langCode));
  			Map<String, String> dlang = getDefaultLanguage(appid);
  			for (Map.Entry<String, String> entry : dlang.entrySet()) {
  				String key = entry.getKey();
  				if (lang.containsKey(key)) {
  					s.addProperty(key, lang.get(key));
  				} else {
  					s.addProperty(key, entry.getValue());
  				}
  			}
  			dao.create(appid, s);
  		}
  	}
docs: Persists the language map in the data store. Overwrites any existing maps.
  @param appid appid name of the {@link com.erudika.para.core.App}
  @param langCode the 2-letter language code
  @param lang the language map
  @param writeToDatabase true if you want the language map to be stored in the DB as well