fr.go 1.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182
  1. // SPDX-FileCopyrightText: Adam Evyčędo
  2. //
  3. // SPDX-License-Identifier: AGPL-3.0-or-later
  4. package transformers
  5. import (
  6. "golang.org/x/text/transform"
  7. )
  8. //nolint:gochecknoglobals
  9. var TransformerFR transform.Transformer = Replace(func(r rune) []rune {
  10. switch r {
  11. case 'à':
  12. return []rune{'a'}
  13. case 'À':
  14. return []rune{'A'}
  15. case 'â':
  16. return []rune{'a'}
  17. case 'Â':
  18. return []rune{'A'}
  19. case 'æ':
  20. return []rune{'a', 'e'}
  21. case 'Æ':
  22. return []rune{'A', 'E'}
  23. case 'ç':
  24. return []rune{'c'}
  25. case 'Ç':
  26. return []rune{'C'}
  27. case 'è':
  28. return []rune{'e'}
  29. case 'È':
  30. return []rune{'E'}
  31. case 'é':
  32. return []rune{'e'}
  33. case 'É':
  34. return []rune{'E'}
  35. case 'ë':
  36. return []rune{'e'}
  37. case 'Ë':
  38. return []rune{'E'}
  39. case 'ê':
  40. return []rune{'e'}
  41. case 'Ê':
  42. return []rune{'E'}
  43. case 'î':
  44. return []rune{'i'}
  45. case 'Î':
  46. return []rune{'I'}
  47. case 'ï':
  48. return []rune{'i'}
  49. case 'Ï':
  50. return []rune{'I'}
  51. case 'ô':
  52. return []rune{'o'}
  53. case 'Ô':
  54. return []rune{'O'}
  55. case 'œ':
  56. return []rune{'o', 'e'}
  57. case 'Œ':
  58. return []rune{'O', 'E'}
  59. case 'û':
  60. return []rune{'u'}
  61. case 'Û':
  62. return []rune{'U'}
  63. case 'ù':
  64. return []rune{'u'}
  65. case 'Ù':
  66. return []rune{'U'}
  67. case 'ú':
  68. return []rune{'u'}
  69. case 'Ú':
  70. return []rune{'U'}
  71. case 'ÿ':
  72. return []rune{'y'}
  73. case 'Ÿ':
  74. return []rune{'Y'}
  75. default:
  76. return []rune{r}
  77. }
  78. })