diff --git a/Views/BibleChapterView.js b/Views/BibleChapterView.js
index 1013a58..a3ffd19 100644
--- a/Views/BibleChapterView.js
+++ b/Views/BibleChapterView.js
@@ -3,8 +3,9 @@ import { FlatList, Pressable, View } from "react-native";
import { ActivityIndicator, Text } from "react-native-paper";
import { SafeAreaView } from "react-native-safe-area-context";
import { useNavigation } from "@react-navigation/native";
-import { parseBibleReference } from "../utils/bibleReferences.js";
+import { fetchBibleChapter, parseBibleReference } from "../utils/bibleReferences.js";
import GlobalState from "../contexts/GlobalState.js";
+import i18n from "../i18nMessages.js";
const BibleChapterView = ({ route }) => {
const navigation = useNavigation();
@@ -23,14 +24,12 @@ const BibleChapterView = ({ route }) => {
setLoading(true);
setError("");
try {
- const response = await fetch(`https://bible-api.com/${encodeURIComponent(chapterReference)}`);
- if (!response.ok) throw new Error("Failed chapter request");
- const payload = await response.json();
+ const payload = await fetchBibleChapter(chapterReference, i18n.locale);
if (!mounted) return;
setChapterData(payload);
} catch (_error) {
if (!mounted) return;
- setError("Unable to load chapter.");
+ setError(i18n.t("message.unableLoadChapter"));
setChapterData(null);
} finally {
if (mounted) setLoading(false);
@@ -100,7 +99,7 @@ const BibleChapterView = ({ route }) => {
{chapterData?.translation_name || chapterData?.translation_id || "KJV"}
{selectable ? (
- Tap a verse to select it.
+ {i18n.t("message.tapVerseToSelect")}
) : null}
{
const navigation = useNavigation();
@@ -57,11 +58,11 @@ const BiblePicker = ({ route }) => {
setError("");
setLoadingPreview(true);
try {
- const passage = await fetchBiblePassage(reference);
+ const passage = await fetchBiblePassage(reference, i18n.locale);
setPreview(passage);
} catch (_err) {
setPreview(null);
- setError("Unable to load this Bible passage.");
+ setError(i18n.t("message.unableLoadPassage"));
} finally {
setLoadingPreview(false);
}
@@ -74,9 +75,7 @@ const BiblePicker = ({ route }) => {
}
setLoadingVerses(true);
try {
- const response = await fetch(`https://bible-api.com/${encodeURIComponent(`${book} ${chapterNumber}`)}`);
- if (!response.ok) throw new Error("Failed chapter fetch");
- const payload = await response.json();
+ const payload = await fetchBibleChapter(`${book} ${chapterNumber}`, i18n.locale);
const options = Array.isArray(payload?.verses)
? payload.verses.map((v) => String(v?.verse || "")).filter(Boolean)
: [];
@@ -103,9 +102,9 @@ const BiblePicker = ({ route }) => {
return (
- Bible Reference
+ {i18n.t("message.bibleReferenceTitle")}
- Pick a reference to insert into your {target === "chat" ? "chat message" : "post"}.
+ {target === "chat" ? i18n.t("message.biblePickerSubtitleChat") : i18n.t("message.biblePickerSubtitlePost")}
{
/>
- {computedReference ? Selected: {computedReference} : null}
+ {computedReference ? {i18n.t("message.selected")}: {computedReference} : null}
{preview?.text ? (
navigation.navigate("BibleChapter", { reference: computedReference, selectable: true })}
@@ -134,7 +133,7 @@ const BiblePicker = ({ route }) => {
{preview.reference} ({preview.translation})
- Tap preview to pick verse from chapter
+ {i18n.t("message.tapPreviewPickVerse")}
) : null}
{error ? {error} : null}
@@ -143,27 +142,27 @@ const BiblePicker = ({ route }) => {
{activeStep === "book" ? (
<>
- Books
+ {i18n.t("message.books")}
{
{activeStep === "chapter" ? (
<>
- Chapters {selectedBook ? `(${selectedBook})` : ""}
+ {i18n.t("message.chapters")} {selectedBook ? `(${selectedBook})` : ""}
{
{activeStep === "verse" ? (
<>
- Verses {selectedBook && chapter ? `(${selectedBook} ${chapter})` : ""}
+ {i18n.t("message.verses")} {selectedBook && chapter ? `(${selectedBook} ${chapter})` : ""}
{loadingVerses ? (
diff --git a/Views/NewPost.js b/Views/NewPost.js
index 1e62000..d747fb6 100644
--- a/Views/NewPost.js
+++ b/Views/NewPost.js
@@ -248,7 +248,7 @@ let NewPostView = (props) => {
mode="outlined"
onPress={() => navigation.navigate("BiblePicker", { target: "post" })}
>
- Bible
+ {i18n.t("message.bible")}