Skip to content

Commit f752dee

Browse files
committed
Update examples
1 parent d6896fc commit f752dee

File tree

5 files changed

+37
-13
lines changed

5 files changed

+37
-13
lines changed

examples/App.re

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ let make = () => {
1414

1515
<ReactIntl.IntlProvider
1616
locale={locale->Locale.toString}
17-
messages={locale->Locale.toMessages->ReactIntl.messagesArrayToDict}>
17+
messages={locale->Locale.translations->Util.translationsToDict}>
1818
<Page locale setLocale={locale => locale->SetLocale->dispatch} />
1919
</ReactIntl.IntlProvider>;
2020
};

examples/Locale.re

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
1-
[@bs.module] external en: ReactIntl.jsonMessages = "./translations/en.json";
2-
[@bs.module] external ru: ReactIntl.jsonMessages = "./translations/ru.json";
1+
[@bs.module "./translations/en.json"]
2+
external en: array(ReactIntl.translation) = "default";
3+
[@bs.module "./translations/ru.json"]
4+
external ru: array(ReactIntl.translation) = "default";
35

46
type locale =
57
| En
@@ -12,7 +14,7 @@ let toString =
1214
| En => "en"
1315
| Ru => "ru";
1416

15-
let toMessages =
17+
let translations =
1618
fun
1719
| En => en
1820
| Ru => ru;

examples/Page.re

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -17,17 +17,17 @@ let make = (~locale, ~setLocale) => {
1717
</button>
1818
</div>
1919
<div className="message">
20-
<ReactIntl.DefinedMessage message=pageLocale##hello />
20+
<ReactIntl.FormattedMessage id="page.hello" defaultMessage="Hello" />
2121
" "->React.string
22-
<ReactIntl.DefinedMessage message=pageLocale##world />
22+
<ReactIntl.FormattedMessage id="page.world" defaultMessage="World" />
2323
</div>
2424
<div>
25-
<ReactIntl.DefinedMessage message=pageLocale##today />
25+
ReactIntl.(intl->Intl.formatMessage(pageLocale##today)->React.string)
2626
" "->React.string
27-
{intl.formatDate(Js.Date.make())->React.string}
27+
ReactIntl.(intl->Intl.formatDate(Js.Date.make())->React.string)
2828
" (intl.formatDate)"->React.string
2929
<br />
30-
<ReactIntl.DefinedMessage message=pageLocale##today />
30+
ReactIntl.(intl->Intl.formatMessage(pageLocale##today)->React.string)
3131
" "->React.string
3232
<ReactIntl.FormattedDate value={Js.Date.make()} />
3333
" (FormattedDate)"->React.string

examples/Util.re

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
let wrapUnicodeString = (input: string) => {j|$input|j};
2+
3+
let wrapOptUnicodeString = (input: Js.nullable(string)) =>
4+
switch (input->Js.Nullable.toOption) {
5+
| Some(input) => input->wrapUnicodeString
6+
| None => ""
7+
};
8+
9+
let translationsToDict = (translations: array(ReactIntl.translation)) => {
10+
translations->Belt.Array.reduce(
11+
Js.Dict.empty(),
12+
(dict, message) => {
13+
let unicodeMessage = message##message->wrapOptUnicodeString;
14+
let unicodeDefaultMessage = message##defaultMessage->wrapUnicodeString;
15+
dict->Js.Dict.set(
16+
message##id,
17+
unicodeMessage !== "" ? unicodeMessage : unicodeDefaultMessage,
18+
);
19+
dict;
20+
},
21+
);
22+
};

examples/index.re

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
1-
[@bs.module]
2-
external en: ReactIntl.localeData('t) = "react-intl/locale-data/en";
3-
[@bs.module]
4-
external ru: ReactIntl.localeData('t) = "react-intl/locale-data/ru";
1+
[@bs.module "react-intl/locale-data/en"]
2+
external en: ReactIntl.localeData('t) = "default";
3+
[@bs.module "react-intl/locale-data/ru"]
4+
external ru: ReactIntl.localeData('t) = "default";
55

66
ReactIntl.addLocaleData(en);
77
ReactIntl.addLocaleData(ru);

0 commit comments

Comments
 (0)