You can not select more than 25 topics Topics must start with a chinese character,a letter or number, can include dashes ('-') and can be up to 35 characters long.

util.go 850 B

3 years ago
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. package i18n
  2. import (
  3. "fmt"
  4. "github.com/casbin/casbase/util"
  5. )
  6. func getI18nFilePath(language string) string {
  7. return fmt.Sprintf("../web/src/locales/%s/data.json", language)
  8. }
  9. func readI18nFile(language string) *I18nData {
  10. s := util.ReadStringFromPath(getI18nFilePath(language))
  11. data := &I18nData{}
  12. err := util.JsonToStruct(s, data)
  13. if err != nil {
  14. panic(err)
  15. }
  16. return data
  17. }
  18. func writeI18nFile(language string, data *I18nData) {
  19. s := util.StructToJson(data)
  20. println(s)
  21. util.WriteStringToPath(s, getI18nFilePath(language))
  22. }
  23. func applyData(data1 *I18nData, data2 *I18nData) {
  24. for namespace, pairs2 := range *data2 {
  25. if _, ok := (*data1)[namespace]; !ok {
  26. continue
  27. }
  28. pairs1 := (*data1)[namespace]
  29. for key, value := range pairs2 {
  30. if _, ok := pairs1[key]; !ok {
  31. continue
  32. }
  33. pairs1[key] = value
  34. }
  35. }
  36. }

基于Casbin的开源AI领域知识库平台

Contributors (1)