From 412e31ae7a86af09c88e2c68cd440108e69e24ab Mon Sep 17 00:00:00 2001 From: Guilherme Santos Date: Sat, 24 Feb 2024 20:42:52 +0000 Subject: [PATCH] Add portuguese language (#78) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Guilherme Santos Co-authored-by: Dobrosław Żybort --- languages_substitution.go | 15 +++++++++++++++ slug.go | 2 +- slug_test.go | 1 + 3 files changed, 17 insertions(+), 1 deletion(-) diff --git a/languages_substitution.go b/languages_substitution.go index d11436f..7661d6a 100644 --- a/languages_substitution.go +++ b/languages_substitution.go @@ -26,6 +26,7 @@ func init() { &nlSub, &nnSub, &plSub, + &ptSub, &roSub, &slSub, &svSub, @@ -190,6 +191,20 @@ var plSub = map[rune]string{ var ptSub = map[rune]string{ '&': "e", '@': "em", + 'á': "a", + 'Á': "A", + 'é': "e", + 'É': "E", + 'í': "i", + 'Í': "I", + 'ó': "o", + 'Ó': "O", + 'ö': "o", + 'Ö': "O", + 'ú': "u", + 'Ú': "U", + 'ü': "u", + 'Ü': "U", } var roSub = map[rune]string{ diff --git a/slug.go b/slug.go index 4786aa5..7d9c13a 100644 --- a/slug.go +++ b/slug.go @@ -99,7 +99,7 @@ func MakeLang(s string, lang string) (slug string) { slug = SubstituteRune(slug, nnSub) case "pl", "pol": slug = SubstituteRune(slug, plSub) - case "pt", "prt", "pt-br", "bra", "por": + case "pt", "prt", "pt-br", "br", "bra", "por": slug = SubstituteRune(slug, ptSub) case "ro", "rou": slug = SubstituteRune(slug, roSub) diff --git a/slug_test.go b/slug_test.go index 18f18b2..6e39901 100644 --- a/slug_test.go +++ b/slug_test.go @@ -96,6 +96,7 @@ func TestSlugMakeLang(t *testing.T) { {"hu", "SzÉlÜtÖtt ŰrÚjsÁgírÓnŐ", "SzElUtOtt-UrUjsAgirOnO", false}, {"kk", "әғһіңөқұүӘҒҺІҢӨҚҰҮ", "aghinoquuaghinoquu", true}, {"kk", "әғһіңөқұүӘҒҺІҢӨҚҰҮ", "aghinoquuAGHINOQUU", false}, + {"pt", "áÁéÉíÍóÓöÖúÚüÜ", "aAeEiIoOoOuUuU", false}, {"ro", "ĂăÂăÎîȘșȚț", "aaaaiisstt", true}, {"ro", "ĂăÂăÎîȘșȚț", "AaAaIiSsTt", false}, {"tr", "şüöğıçŞÜÖİĞÇ", "suogicsuoigc", true},