-
Notifications
You must be signed in to change notification settings - Fork 0
Open
Description
implement support for title case/sentence case taking into account the Portuguese language
like https://titlecaseconverter.com/sentence-case/
https://github.com/g4rcez/capitalize-utils/blob/master/src/main/java/Capitalize.java
https://gist.github.com/jjesusfilho/454192db8356eb9c486a02698338221a
String toCapitalized(String input) => input.length > 0
? '${input[0].toUpperCase()}${input.substring(1).toLowerCase()}'
: '';
String toTitleCasePT(String input) {
final List<String> lowerCaseWords = [
// Articles
"a", "as", "o", "os", "um", "uma", "umas", "uns",
// Oblique Pronouns
"lhe", "lhes", "me", "mim", "meu", "meus", "minha", "minhas",
"te", "ti", "teu", "teus", "tua", "tuas", "seu", "seus", "sua", "suas",
"nos", "nossa", "nossos", "nossas", "vos", "vosso", "vossos", "vossas",
// Prepositions
"a", "ante", "até", "após", "com", "contra", "de", "desde", "em", "entre",
"para", "perante", "por", "sem", "sob", "sobre", "trás", "ao", "aos", "à",
"às",
"do", "dos", "da", "das", "no", "nos", "na", "nas", "pelo", "pelos",
"pela", "pelas",
"pro", "pros", "pra", "pras",
// Conjunctions
"conforme", "conquanto", "contudo", "durante", "embora", "enquanto",
"então",
"entretanto", "exceto", "logo", "mas", "nem", "ou", "ora", "pois",
"porém", "porque",
"porquanto", "portanto", "quando", "quanto", "que", "se", "senão",
"todavia"
];
List<String> words = input.toLowerCase().split(' ');
for (int i = 0; i < words.length; i++) {
if (!lowerCaseWords.contains(words[i])) {
words[i] = toCapitalized(words[i]);
}
}
return words.join(' ');
}Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels