Complete client UI i18n migration
Adds client-side i18n support, language settings, translated UI copy, and locale parity coverage.
This commit is contained in:
@@ -1,4 +1,5 @@
|
||||
import { useMemo } from "react";
|
||||
import { useTranslation } from "react-i18next";
|
||||
import { ActivityIndicator, Pressable, View } from "react-native";
|
||||
import { StyleSheet, useUnistyles } from "react-native-unistyles";
|
||||
import { Mic, MicOff, Square } from "lucide-react-native";
|
||||
@@ -23,6 +24,7 @@ export function RealtimeVoiceOverlay({
|
||||
onStop,
|
||||
}: RealtimeVoiceOverlayProps) {
|
||||
const { theme } = useUnistyles();
|
||||
const { t } = useTranslation();
|
||||
const { volume, isSpeaking } = useVoiceTelemetry();
|
||||
const muteButtonStyle = useMemo(
|
||||
() => [
|
||||
@@ -53,7 +55,9 @@ export function RealtimeVoiceOverlay({
|
||||
onPress={onToggleMute}
|
||||
disabled={isSwitching}
|
||||
accessibilityRole="button"
|
||||
accessibilityLabel={isMuted ? "Unmute realtime voice" : "Mute realtime voice"}
|
||||
accessibilityLabel={
|
||||
isMuted ? t("realtimeVoice.actions.unmute") : t("realtimeVoice.actions.mute")
|
||||
}
|
||||
style={muteButtonStyle}
|
||||
>
|
||||
{isMuted ? (
|
||||
@@ -67,7 +71,7 @@ export function RealtimeVoiceOverlay({
|
||||
onPress={onStop}
|
||||
disabled={isSwitching}
|
||||
accessibilityRole="button"
|
||||
accessibilityLabel="Stop realtime voice and interrupt turn"
|
||||
accessibilityLabel={t("realtimeVoice.actions.stop")}
|
||||
style={stopButtonStyle}
|
||||
>
|
||||
{isSwitching ? (
|
||||
|
||||
Reference in New Issue
Block a user