1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22 package org.hipparchus.ode;
23
24 import java.util.Locale;
25 import java.util.MissingResourceException;
26 import java.util.ResourceBundle;
27
28 import org.hipparchus.exception.Localizable;
29 import org.hipparchus.exception.UTF8Control;
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45 public enum LocalizedODEFormats implements Localizable {
46
47
48 HOLE_BETWEEN_MODELS_TIME_RANGES("{0} wide hole between models time ranges"),
49
50
51 INTEGRATION_METHOD_NEEDS_AT_LEAST_TWO_PREVIOUS_POINTS("multistep method needs at least {0} previous steps, got {1}"),
52
53
54 MINIMAL_STEPSIZE_REACHED_DURING_INTEGRATION("minimal step size ({1,number,0.00E00}) reached, integration needs {0,number,0.00E00}"),
55
56
57 MULTISTEP_STARTER_STOPPED_EARLY("multistep integrator starter stopped early, maybe too large step size"),
58
59
60 PROPAGATION_DIRECTION_MISMATCH("propagation direction mismatch"),
61
62
63 TOO_SMALL_INTEGRATION_INTERVAL("too small integration interval: length = {0}"),
64
65
66 UNKNOWN_PARAMETER("unknown parameter {0}"),
67
68
69 UNMATCHED_ODE_IN_EXPANDED_SET("ode does not match the main ode set in the extended set"),
70
71
72 NAN_APPEARING_DURING_INTEGRATION("NaN appears during integration near time {0}"),
73
74
75 FIND_ROOT("{0} failed to find root between {1} (g={2,number,0.0##############E0}) and {3} (g={4,number,0.0##############E0})\nLast iteration at {5} (g={6,number,0.0##############E0})");
76
77
78 private final String sourceFormat;
79
80
81
82
83
84 LocalizedODEFormats(final String sourceFormat) {
85 this.sourceFormat = sourceFormat;
86 }
87
88
89 @Override
90 public String getSourceString() {
91 return sourceFormat;
92 }
93
94
95 @Override
96 public String getLocalizedString(final Locale locale) {
97 try {
98 final String path = LocalizedODEFormats.class.getName().replaceAll("\\.", "/");
99 ResourceBundle bundle =
100 ResourceBundle.getBundle("assets/" + path, locale, new UTF8Control());
101 if (bundle.getLocale().getLanguage().equals(locale.getLanguage())) {
102 final String translated = bundle.getString(name());
103 if ((translated != null) &&
104 (translated.length() > 0) &&
105 (!translated.toLowerCase(locale).contains("missing translation"))) {
106
107 return translated;
108 }
109 }
110
111 } catch (MissingResourceException mre) {
112
113 }
114
115
116
117 return sourceFormat;
118
119 }
120
121 }