Skip to content

Commit 66d28b3

Browse files
committed
multi-language support
1 parent 9c58415 commit 66d28b3

File tree

1 file changed

+19
-2
lines changed

1 file changed

+19
-2
lines changed

java-ai/src/main/java/oracleai/aiholo/TimeInWords.java

Lines changed: 19 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
package oracleai.aiholo;
22

3+
import java.time.*;
4+
import java.util.Map;
35
import java.time.*;
46
import java.util.Map;
57

@@ -31,7 +33,22 @@ public class TimeInWords {
3133
);
3234

3335
private static final Map<Integer, String> MINUTES_PT = Map.ofEntries(
34-
Map.entry(0, "em ponto"), Map.entry(15, "e quinze"), Map.entry(30, "e meia"), Map.entry(45, "menos quinze")
36+
Map.entry(0, "em ponto"), Map.entry(15, "e quinze"), Map.entry(30, "e meia"), Map.entry(45, "para as"),
37+
Map.entry(1, "e um"), Map.entry(2, "e dois"), Map.entry(3, "e três"), Map.entry(4, "e quatro"),
38+
Map.entry(5, "e cinco"), Map.entry(6, "e seis"), Map.entry(7, "e sete"), Map.entry(8, "e oito"),
39+
Map.entry(9, "e nove"), Map.entry(10, "e dez"), Map.entry(11, "e onze"), Map.entry(12, "e doze"),
40+
Map.entry(13, "e treze"), Map.entry(14, "e quatorze"), Map.entry(16, "e dezesseis"),
41+
Map.entry(17, "e dezessete"), Map.entry(18, "e dezoito"), Map.entry(19, "e dezenove"),
42+
Map.entry(20, "e vinte"), Map.entry(21, "e vinte e um"), Map.entry(22, "e vinte e dois"),
43+
Map.entry(23, "e vinte e três"), Map.entry(24, "e vinte e quatro"), Map.entry(25, "e vinte e cinco"),
44+
Map.entry(26, "e vinte e seis"), Map.entry(27, "e vinte e sete"), Map.entry(28, "e vinte e oito"),
45+
Map.entry(29, "e vinte e nove"), Map.entry(40, "e quarenta"), Map.entry(41, "e quarenta e um"),
46+
Map.entry(42, "e quarenta e dois"), Map.entry(43, "e quarenta e três"), Map.entry(44, "e quarenta e quatro"),
47+
Map.entry(46, "e quarenta e seis"), Map.entry(47, "e quarenta e sete"), Map.entry(48, "e quarenta e oito"),
48+
Map.entry(49, "e quarenta e nove"), Map.entry(50, "e cinquenta"), Map.entry(51, "e cinquenta e um"),
49+
Map.entry(52, "e cinquenta e dois"), Map.entry(53, "e cinquenta e três"), Map.entry(54, "e cinquenta e quatro"),
50+
Map.entry(55, "e cinquenta e cinco"), Map.entry(56, "e cinquenta e seis"), Map.entry(57, "e cinquenta e sete"),
51+
Map.entry(58, "e cinquenta e oito"), Map.entry(59, "e cinquenta e nove")
3552
);
3653

3754
private static final Map<String, String> AM_PM_PT = Map.of("AM", "da manhã", "PM", "da noite");
@@ -55,7 +72,7 @@ public static String getTimeInWords(boolean inPortuguese) {
5572
private static String formatTime(Map<Integer, String> numbers, Map<Integer, String> minutes,
5673
Map<String, String> amPm, int hour, int minute, boolean isAM) {
5774
String hourWord = numbers.get(hour);
58-
String minuteWord = minutes.getOrDefault(minute, String.valueOf(minute));
75+
String minuteWord = minutes.getOrDefault(minute, "e " + minute);
5976
String amPmWord = isAM ? amPm.get("AM") : amPm.get("PM");
6077

6178
if (minute == 0) {

0 commit comments

Comments
 (0)