languages_substitution.go 1.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  1. // Copyright 2013 by Dobrosław Żybort. All rights reserved.
  2. // This Source Code Form is subject to the terms of the Mozilla Public
  3. // License, v. 2.0. If a copy of the MPL was not distributed with this
  4. // file, You can obtain one at http://mozilla.org/MPL/2.0/.
  5. package slug
  6. func init() {
  7. // Merge language subs with the default one
  8. for _, sub := range []*map[rune]string{&deSub, &enSub, &plSub, &esSub} {
  9. for key, value := range defaultSub {
  10. (*sub)[key] = value
  11. }
  12. }
  13. }
  14. var defaultSub = map[rune]string{
  15. '"': "",
  16. '\'': "",
  17. '’': "",
  18. '‒': "-", // figure dash
  19. '–': "-", // en dash
  20. '—': "-", // em dash
  21. '―': "-", // horizontal bar
  22. }
  23. var deSub = map[rune]string{
  24. '&': "und",
  25. '@': "an",
  26. }
  27. var enSub = map[rune]string{
  28. '&': "and",
  29. '@': "at",
  30. }
  31. var plSub = map[rune]string{
  32. '&': "i",
  33. '@': "na",
  34. }
  35. var esSub = map[rune]string{
  36. '&': "y",
  37. '@': "en",
  38. }
  39. var grSub = map[rune]string{
  40. '&': "kai",
  41. 'η': "i",
  42. 'ή': "i",
  43. 'Η': "i",
  44. 'ι': "i",
  45. 'ί': "i",
  46. 'Ι': "i",
  47. 'χ': "x",
  48. 'Χ': "x",
  49. }