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},