INTEGRITY Dokumentace

Lokalizace schůzky

UI Kit v RealtimeKit umožňuje přizpůsobit veškerý text v rozhraní videohovoru. Text si můžete upravit podle potřeb konkrétní jazykové lokalizace.

Tato stránka není k dispozici pro iOS, Androidplatformu.

Přizpůsobení jazykového balíčku

Výchozí jazykový balíček RealtimeKit lze přizpůsobit jazykovým požadavkům vaší aplikace. Kterýkoli textový řetězec používaný v komponentách UI Kit můžete přepsat.

React Native UI Kit ukládá všechny textové řetězce rozhraní do objektu jazykového slovníku. Libovolný klíč můžete přepsat předáním částečného slovníku do useLanguage() funkci a poté výsledek předejte do RtkMeeting komponentu prostřednictvím t prop.

Importujte jazykové nástroje

Výchozí jazykový balíček RealtimeKit lze importovat takto:

<script type="module">
	import {
		useLanguage,
		defaultLanguage,
	} from "https://cdn.jsdelivr.net/npm/@cloudflare/realtimekit-ui/dist/esm/index.js";
</script>

Výchozí jazykový balíček RealtimeKit lze importovat takto:

import { defaultLanguage, useLanguage } from "@cloudflare/realtimekit-react-ui";

Výchozí jazykový balíček RealtimeKit lze importovat takto:

import {
	defaultLanguage,
	useLanguage,
} from "@cloudflare/realtimekit-angular-ui";
import {
	defaultLanguage,
	useLanguage,
} from "@cloudflare/realtimekit-react-native-ui";

Vytvoření vlastního jazykového balíčku

Chcete-li nahradit výchozí jazyk RealtimeKitu vlastním, vytvořte si vlastní jazykový balíček rozšířením defaultLanguage a přepsáním konkrétních klíčů:

<body>
	<rtk-meeting id="my-meeting"></rtk-meeting>

	<script type="module">
		import RealtimeKitClient from "https://cdn.jsdelivr.net/npm/@cloudflare/realtimekit@latest/dist/index.es.js";
		import {
			useLanguage,
			defaultLanguage,
		} from "https://cdn.jsdelivr.net/npm/@cloudflare/realtimekit-ui/dist/esm/index.js";

		// Customize RealtimeKit's default locale object
		const myLanguagePack = useLanguage({
			...defaultLanguage,
			mute_all: "Mute All Users",
			leave: "Exit Call",
			join: "Join Now",
		});

		const init = async () => {
			const meeting = await RealtimeKitClient.init({
				authToken: "<participant_auth_token>",
			});

			const meetingEl = document.getElementById("my-meeting");
			meetingEl.meeting = meeting;
			meetingEl.showSetupScreen = true;

			// Pass custom language pack
			meetingEl.t = myLanguagePack;
		};

		init();
	</script>
</body>

useLanguage funkce přijímá jako argument váš vlastní objekt lokalizace a vygeneruje funkci, která načte hodnotu odpovídající zadanému klíči.

import {
	RealtimeKitProvider,
	useRealtimeKitClient,
} from "@cloudflare/realtimekit-react";
import {
	RtkMeeting,
	defaultLanguage,
	useLanguage,
} from "@cloudflare/realtimekit-react-ui";
import { useEffect, useState } from "react";

function App() {
	const [meeting, initMeeting] = useRealtimeKitClient();
	const [authToken, setAuthToken] = useState("<participant_auth_token>");

	// Customize RealtimeKit's default locale object
	const myLanguagePack = useLanguage({
		...defaultLanguage,
		mute_all: "Mute All Users",
		leave: "Exit Call",
		join: "Join Now",
	});

	useEffect(() => {
		if (authToken) {
			initMeeting({
				authToken: authToken,
			});
		}
	}, [authToken]);

	return (
		<RealtimeKitProvider value={meeting}>
			<RtkMeeting showSetupScreen={true} meeting={meeting} t={myLanguagePack} />
		</RealtimeKitProvider>
	);
}

useLanguage hook přijímá jako argument váš vlastní objekt lokalizace a vygeneruje funkci, která načte hodnotu odpovídající zadanému klíči.

import { Component, OnInit } from "@angular/core";
import RealtimeKitClient from "@cloudflare/realtimekit-angular";
import {
	defaultLanguage,
	useLanguage,
} from "@cloudflare/realtimekit-angular-ui";

@Component({
	selector: "app-meeting",
	template: `
		<rtk-meeting [meeting]="meeting" [t]="myLanguagePack"></rtk-meeting>
	`,
})
export class MeetingComponent implements OnInit {
	meeting: any;
	myLanguagePack: any;

	async ngOnInit() {
		// Customize RealtimeKit's default locale object
		this.myLanguagePack = useLanguage({
			...defaultLanguage,
			mute_all: "Mute All Users",
			leave: "Exit Call",
			join: "Join Now",
		});

		this.meeting = await RealtimeKitClient.init({
			authToken: "<participant_auth_token>",
		});
	}
}

useLanguage funkce přijímá jako argument váš vlastní objekt lokalizace a vygeneruje funkci, která načte hodnotu odpovídající zadanému klíči.

Rozbalte defaultLanguage a přepište konkrétní klíče. Výsledek předejte RtkMeeting prostřednictvím t prop.

import {
  RtkMeeting,
  defaultLanguage,
  useLanguage,
} from '@cloudflare/realtimekit-react-native-ui';

function App() {
  const myLanguagePack = useLanguage({
    ...defaultLanguage,
    mute_all: 'Silenciar todo',
    leave: 'Salir',
    join: 'Unirse',
    participants: 'Participantes',
    chat: 'Chat',
    settings: 'Configuración',
  });

  return (
    <RtkMeeting
      meeting={meeting}
      t={myLanguagePack}
      showSetupScreen={true}
    />
  );
}

useLanguage funkce sloučí vaše úpravy s výchozími hodnotami. Každý klíč, který nepřepíšete, si zachová svou výchozí anglickou hodnotu.

Použijte vlastní locale s UI providerem

Vlastní jazykový balíček můžete při vytváření vlastního UI předat také komponentě UI provider:

<body>
	<rtk-ui-provider id="ui-provider">
		<!-- Your custom UI components -->
	</rtk-ui-provider>

	<script type="module">
		import RealtimeKitClient from "https://cdn.jsdelivr.net/npm/@cloudflare/realtimekit@latest/dist/index.es.js";
		import {
			useLanguage,
			defaultLanguage,
		} from "https://cdn.jsdelivr.net/npm/@cloudflare/realtimekit-ui/dist/esm/index.js";

		const myLanguagePack = useLanguage({
			...defaultLanguage,
			mute_all: "Mute All Users",
		});

		const meeting = await RealtimeKitClient.init({
			authToken: "<participant_auth_token>",
		});

		const uiProvider = document.getElementById("ui-provider");
		uiProvider.meeting = meeting;
		uiProvider.t = myLanguagePack;
	</script>
</body>
import {
	RealtimeKitProvider,
	useRealtimeKitClient,
} from "@cloudflare/realtimekit-react";
import {
	RtkUIProvider,
	defaultLanguage,
	useLanguage,
} from "@cloudflare/realtimekit-react-ui";
import { useEffect, useState } from "react";

function App() {
	const [meeting, initMeeting] = useRealtimeKitClient();
	const [authToken, setAuthToken] = useState("<participant_auth_token>");

	const myLanguagePack = useLanguage({
		...defaultLanguage,
		mute_all: "Mute All Users",
	});

	useEffect(() => {
		if (authToken) {
			initMeeting({
				authToken: authToken,
			});
		}
	}, [authToken]);

	return (
		<RealtimeKitProvider value={meeting}>
			<RtkUIProvider meeting={meeting} t={myLanguagePack}>
				{/* Your custom UI components */}
			</RtkUIProvider>
		</RealtimeKitProvider>
	);
}
import { Component, OnInit } from "@angular/core";
import RealtimeKitClient from "@cloudflare/realtimekit-angular";
import {
	defaultLanguage,
	useLanguage,
} from "@cloudflare/realtimekit-angular-ui";

@Component({
	selector: "app-meeting",
	template: `
		<rtk-ui-provider [meeting]="meeting" [t]="myLanguagePack">
			<!-- Your custom UI components -->
		</rtk-ui-provider>
	`,
})
export class MeetingComponent implements OnInit {
	meeting: any;
	myLanguagePack: any;

	async ngOnInit() {
		this.myLanguagePack = useLanguage({
			...defaultLanguage,
			mute_all: "Mute All Users",
		});

		this.meeting = await RealtimeKitClient.init({
			authToken: "<participant_auth_token>",
		});
	}
}

Reference výchozího jazyka

RealtimeKit poskytuje komplexní výchozí jazykový balíček se všemi textovými řetězci používanými v celé UI Kit. Kterýkoli z těchto klíčů můžete přepsat a přizpůsobit tak text zobrazovaný v rozhraní schůzky.

Zde je kompletní výchozí jazykový balíček nabízený RealtimeKit:

{
  "about_call": "About Call",
  "screen": "Screen",
  "camera": "Camera",
  "leave": "Leave",
  "dismiss": "Dismiss",
  "logo": "Logo",
  "page": "Page",
  "more": "More",
  "page.prev": "Previous Page",
  "page.next": "Next Page",
  "layout": "Layout",
  "layout.auto": "Auto Layout",
  "settings": "Settings",
  "file": "File",
  "image": "Image",
  "connection": "Connection",
  "leave_confirmation": "Are you sure you want to leave the call?",
  "cancel": "Cancel",
  "yes": "Yes",
  "(you)": "(you)",
  "you": "You",
  "everyone": "Everyone",
  "to": "To",
  "mute": "Mute",
  "kick": "Kick",
  "pin": "Pin",
  "pinned": "Pinned",
  "accept": "Accept",
  "unpin": "Unpin",
  "pip_on": "Show PiP",
  "pip_off": "Hide PiP",
  "viewers": "Viewers",
  "join": "Join",
  "joined": "Joined",
  "create": "Create",
  "close": "Close",
  "ask": "Ask",
  "type": "Type",
  "activate": "Activate",
  "requests": "Requests",
  "mic_off": "Mic Off",
  "disable_mic": "Disable Mic",
  "mic_on": "Mic On",
  "enable_mic": "Enable Mic",
  "audio": "Audio",
  "test": "Test",
  "minimize": "Hide Tile",
  "maximize": "Show Tile",
  "mute_all": "Mute all",
  "mute_all.description": "Everyone else in the meeting will be muted.",
  "mute_all.header": "Are you sure?",
  "mute_all.allow_unmute": "Allow others to unmute",
  "video_off": "Video Off",
  "disable_video": "Disable Video",
  "video_on": "Video On",
  "enable_video": "Enable Video",
  "video": "Video",
  "offline": "You're offline",
  "offline.description": "Please ensure that you are connected to the internet.",
  "disconnected": "You haven't joined the meeting.",
  "failed": "You've been disconnected",
  "failed.description": "We could not connect you back to the meeting room. Please try rejoining the meeting.",
  "disconnected.description": "Please join the meeting in order to see and interact with other participants.",
  "participants": "Participants",
  "participants.errors.empty_results": "Couldn't find a participant with the specified name or ID.",
  "participants.empty_list": "It looks like nobody is here.",
  "participants.no_pending_requests": "There are no pending requests.",
  "participants.turn_off_video": "Turn off video",
  "polls": "Polls",
  "polls.by": "Poll by",
  "polls.question": "Poll Question",
  "polls.question.placeholder": "What is your poll for?",
  "polls.answers": "Answers",
  "polls.option": "Add an option.",
  "polls.option.placeholder": "Enter an option",
  "polls.results.anon": "Anonymous",
  "polls.results.hide": "Hide results before voting",
  "polls.create": "Create Poll",
  "polls.cancel": "Cancel Poll Creation",
  "polls.empty": "No polls available",
  "polls.errors.question_required": "Question is required.",
  "polls.errors.empty_option": "Empty options not allowed.",
  "screenshare": "Screen Share",
  "screenshare.min_preview": "Minimize Preview",
  "screenshare.max_preview": "Expand Preview",
  "screenshare.shared": "Your screen is being shared.",
  "screenshare.start": "Share Screen",
  "screenshare.stop": "Stop Sharing",
  "screenshare.error.unknown": "An error occurred while starting screenshare.",
  "screenshare.error.max_count": "Maximum screen share limit reached.",
  "plugins": "Plugins",
  "plugins.empty": "No plugins available",
  "perm_denied": "Permission denied by browser.",
  "perm_denied.audio": "Mic Permission denied by browser",
  "perm_denied.video": "Camera Permission denied by browser",
  "perm_denied.screenshare": "Screenshare Permission denied by browser",
  "perm_denied.audio.chrome.message": "In the top navigation bar, click on the icon left to the URL and ensure  'Microphone' permission is checked",
  "perm_denied.video.chrome.message": "In the top navigation bar, click on the icon left to the URL and ensure  'Camera' permission is checked",
  "perm_denied.screenshare.chrome.message": "Under Chrome settings, navigate to 'Privacy and Security > Site Settings > Permissions'. Select 'Screenshare', provide permission and reload this application.",
  "perm_denied.audio.safari.message": "Under Safari settings, navigate to 'Websites > Microphone', provide permission and reload this application.",
  "perm_denied.video.safari.message": "Under Safari settings, navigate to 'Websites > Camera', provide permission and reload this application.",
  "perm_denied.screenshare.safari.message": "Under Safari settings, navigate to 'Websites > Screenshare', provide permission and reload this application.",
  "perm_denied.audio.edge.message": "Under Edge settings, navigate to 'Site Permissions > Microphone', provide permission and reload this application.",
  "perm_denied.video.edge.message": "Under Edge settings, navigate to 'Site Permissions > Camera', provide permission and reload this application.",
  "perm_denied.screenshare.edge.message": "Under Edge settings, navigate to 'Site Permissions > Screenshare', provide permission and reload this application.",
  "perm_denied.audio.microsoft edge.message": "Under Edge settings, navigate to 'Site Permissions > Microphone', provide permission and reload this application.",
  "perm_denied.video.microsoft edge.message": "Under Edge settings, navigate to 'Site Permissions > Camera', provide permission and reload this application.",
  "perm_denied.screenshare.microsoft edge.message": "Under Edge settings, navigate to 'Site Permissions > Screenshare', provide permission and reload this application.",
  "perm_denied.audio.firefox.message": "Under Firefox settings, navigate to 'Privacy and Security > Permissions > Microphone', provide permission and reload this application.",
  "perm_denied.video.firefox.message": "Under Firefox settings, navigate to 'Privacy and Security > Permissions > Camera', provide permission and reload this application.",
  "perm_denied.screenshare.firefox.message": "Under Firefox settings, navigate to 'Privacy and Security > Permissions > Screenshare', provide permission and reload this application.",
  "perm_denied.audio.others.message": "From your browser settings, enable 'Microphone' permissions and reload this application.",
  "perm_denied.video.others.message": "From your browser settings, enable 'Camera' permissions and reload this application.",
  "perm_denied.screenshare.others.message": "From your browser settings, enable 'Screenshare' permissions and reload this application.",
  "perm_sys_denied": "Permission denied by system",
  "perm_sys_denied.audio": "Mic permission denied by system",
  "perm_sys_denied.video": "Camera permission denied by system",
  "perm_sys_denied.screenshare": "Screenshare permission denied by system",
  "perm_sys_denied.audio.macos.message": "Open Apple Menu, Navigate to 'System Settings > Privacy & Security > Microphone'. Allow access to your browser and reload this application.",
  "perm_sys_denied.video.macos.message": "Open Apple Menu, Navigate to 'System Settings > Privacy & Security > Camera'. Allow access to your browser and reload this application.",
  "perm_sys_denied.screenshare.macos.message": "Open Apple Menu, Navigate to 'System Settings > Privacy & Security > Screenshare'. Allow access to your browser and reload this application.",
  "perm_sys_denied.audio.ios.message": "On your iPhone, navigate to 'Settings > Privacy > Microphone', allow access to your browser and reload this application.",
  "perm_sys_denied.video.ios.message": "On your iPhone, navigate to 'Settings > Privacy > Camera', allow access to your browser and reload this application.",
  "perm_sys_denied.screenshare.ios.message": "On your iPhone, navigate to 'Settings > Privacy > Screenshare', allow access to your browser and reload this application.",
  "perm_sys_denied.audio.windows.message": "Go to windows settings, select 'Settings > Privacy > Microphone'. Allow permissions to your browser and reload this application.",
  "perm_sys_denied.video.windows.message": "Go to windows settings, select 'Settings > Privacy > Camera'. Allow permissions to your browser and reload this application.",
  "perm_sys_denied.screenshare.windows.message": "Go to windows settings, select 'Settings > Privacy > Screenshare'. Allow permissions to your browser and reload this application.",
  "perm_sys_denied.audio.android.message": "On your device, navigate to 'Settings > Apps'. Select your browser, allow Microphone permissions and reload this application.",
  "perm_sys_denied.video.android.message": "On your device, navigate to 'Settings > Apps'. Select your browser, allow Camera permissions and reload this application.",
  "perm_sys_denied.screenshare.android.message": "On your device, navigate to 'Settings > Apps'. Select your browser, allow Screenshare permissions and reload this application.",
  "perm_sys_denied.audio.others.message": "Navigate to your system settings. Allow 'Microphone' permissions for your browser and reload this application.",
  "perm_sys_denied.video.others.message": "Navigate to your system settings. Allow 'Camera' permissions for your browser and reload this application.",
  "perm_sys_denied.screenshare.others.message": "Navigate to your system settings. Allow 'Screenshare' permissions for your browser and reload this application.",
  "perm_could_not_start": "Could not capture device.",
  "perm_could_not_start.audio": "Unable to start your Microphone",
  "perm_could_not_start.video": "Unable to start your Camera",
  "perm_could_not_start.screenshare": "Unable to start your Screenshare",
  "perm_could_not_start.audio.message": "Looks like the system could not capture your microphone. Please restart your device or upgrade your browser to fix this.",
  "perm_could_not_start.video.message": "Looks like the system could not capture your camera. Please restart your device or upgrade your browser to fix this.",
  "perm_could_not_start.screenshare.message": "Looks like the system could not capture your screenshare. Please restart your device or upgrade your browser to fix this.",
  "full_screen": "Full Screen",
  "full_screen.exit": "Exit Full Screen",
  "waitlist.header_title": "Waiting",
  "waitlist.body_text": "You are in the waiting room, the host will let you in soon.",
  "waitlist.deny_request": "Deny request",
  "waitlist.accept_request": "Accept request",
  "waitlist.accept_all": "Accept all",
  "stage_request.header_title": "Join Stage Requests",
  "stage_request.deny_request": "Deny request",
  "stage_request.accept_request": "Accept request",
  "stage_request.accept_all": "Accept all",
  "stage_request.deny_all": "Deny all",
  "stage_request.approval_pending": "Pending",
  "stage_request.denied": "Denied",
  "stage_request.request": "Join stage",
  "stage_request.requested": "Requested",
  "stage_request.cancel_request": "Cancel request",
  "stage_request.leave_stage": "Leave stage",
  "stage_request.request_tip": "Request to join the discussion",
  "stage_request.leave_tip": "Leave the stage",
  "stage_request.pending_tip": "Request pending",
  "stage_request.denied_tip": "Rejected request",
  "stage.empty_host": "The stage is empty",
  "stage.empty_host_summary": "You are off stage. You can manage stage request from the participants tab.",
  "stage.empty_viewer": "There is no one on stage",
  "stage.remove_from_stage": "Remove from stage",
  "stage.invited_notification": "has been invited to join stage.",
  "stage.add_to_stage": "Invite to stage",
  "stage.join_title": "Join Stage",
  "stage.join_summary": "You are about to join the stage, your video & audio as shown above will be visible to all participants.",
  "stage.join_cancel": "Cancel",
  "stage.join_confirm": "Join",
  "setup_screen.join_in_as": "Joining as",
  "setup_screen.your_name": "Your name",
  "stage.reconnecting": "Reconnecting...",
  "recording.label": "REC",
  "recording.indicator": "This meeting is being recorded.",
  "recording.started": "This meeting is being recorded.",
  "recording.stopped": "Recording for this meeting has been stopped.",
  "recording.paused": "Recording for this meeting has been paused.",
  "recording.error.start": "Error while starting recording.",
  "recording.error.already_recording": "A recording is already in progress.",
  "recording.error.stop": "Error while stopping recording",
  "recording.error.resume": "Error while resuming recording",
  "recording.start": "Start Recording",
  "recording.stop": "Stop Recording",
  "recording.resume": "Resume Recording",
  "recording.starting": "Starting",
  "recording.stopping": "Stopping",
  "recording.loading": "Loading",
  "recording.idle": "Record",
  "audio_playback": "Play Audio",
  "audio_playback.title": "Allow Audio Playback",
  "audio_playback.description": "In order to play audio properly on your device, click the button below.",
  "breakout_rooms": "Breakout Rooms",
  "breakout_rooms.room_config_header": "Create Breakout",
  "breakout_rooms.join_breakout_header": "Join Breakout",
  "breakout_rooms.empty": "Nobody here yet.",
  "breakout_rooms.delete": "Delete Room",
  "breakout_rooms.switch": "Switch",
  "breakout_rooms.main_room": "Main Room",
  "breakout_rooms.shuffle_participants": "Shuffle Participants",
  "breakout_rooms.deselect": "Deselect",
  "breakout_rooms.selected": "selected",
  "breakout_rooms.num_of_rooms": "No. of Rooms",
  "breakout_rooms.approx": "Approx.",
  "breakout_rooms.participants_per_room": "participants/room",
  "breakout_rooms.division_text": "when equally divided.",
  "breakout_rooms.start_breakout": "Start Breakout",
  "breakout_rooms.close_breakout": "Close Breakout",
  "breakout_rooms.update_breakout": "Update Breakout",
  "breakout_rooms.discard_changes": "Discard Changes",
  "breakout_rooms.room": "Room",
  "breakout_rooms.rooms": "Rooms",
  "breakout_rooms.room_name": "Room Name",
  "breakout_rooms.edit_room_name": "Edit Room Name",
  "breakout_rooms.save_room_name": "Save Room Name",
  "breakout_rooms.add_room": "Add",
  "breakout_rooms.add_room_brief": "Add Room",
  "breakout_rooms.select_all": "Select all",
  "breakout_rooms.unassign_all": "Unassign all",
  "breakout_rooms.assign": "Assign",
  "breakout_rooms.assign_participants": "Assign Participants",
  "breakout_rooms.none_assigned": "No participants assigned yet",
  "breakout_rooms.drag_drop_participants": "Drag and drop participants",
  "breakout_rooms.click_drop_participants": "Click here to assign",
  "breakout_rooms.status.assign_multiple": "Assign multiple participants at once by clicking and selecting them",
  "breakout_rooms.status.select_room": "Select a room to assign",
  "breakout_rooms.ephemeral_status.participants_assigned": "Participants assigned",
  "breakout_rooms.ephemeral_status.participants_assigned_randomly": "Participants assigned randomly",
  "breakout_rooms.ephemeral_status.changes_discarded": "Changes discarded",
  "breakout_rooms.confirm_modal.start_breakout.header": "Start breakout rooms?",
  "breakout_rooms.confirm_modal.start_breakout.content": "Once started, all participants will be moved to their assigned rooms.",
  "breakout_rooms.confirm_modal.start_breakout.cancelText": "No, go back",
  "breakout_rooms.confirm_modal.start_breakout.ctaText": "Yes, start",
  "breakout_rooms.confirm_modal.close_breakout.header": "Close breakout rooms?",
  "breakout_rooms.confirm_modal.close_breakout.content": "All breakout rooms will be closed & participants will be moved back to the main room.",
  "breakout_rooms.confirm_modal.close_breakout.ctaText": "Yes, close breakout",
  "breakout_rooms.move_reason.started_msg": "Starting breakout rooms...",
  "breakout_rooms.move_reason.started_desc": "You are being moved to your assigned room",
  "breakout_rooms.move_reason.closed_msg": "Closing Breakout rooms...",
  "breakout_rooms.move_reason.closed_desc": "You are being moved back to the main room",
  "breakout_rooms.move_reason.switch_room": "Joining Breakout Room...",
  "breakout_rooms.move_reason.switch_main_room": "Joining Main Room...",
  "breakout_rooms.all_assigned": "All participants have been assigned",
  "breakout_rooms.empty_main_room": "No more participants in the main room.",
  "breakout_rooms.leave_confirmation": "Are you sure you want to leave the call? You are in a breakout room, you can join the main room too.",
  "breakout_rooms.leave_confirmation.main_room_btn": "Go back to main room",
  "ai": "AI",
  "ai.meeting_ai": "MeetingAI",
  "ai.home": "Home",
  "ai.transcriptions": "Transcriptions",
  "ai.personal": "Personal",
  "ai.caption_view": "Caption View",
  "ai.chat.tooltip": "This conversation will just be visible to you and not to others in the call.",
  "ai.transcriptions.search_placeholder": "Search by participant name or transcript",
  "ai.transcriptions.no_transcripts_found": "No transcripts found. Try searching for a different participant or transcript.",
  "ai.transcriptions.no_transcripts_yet": "No transcripts yet.",
  "search": "Search",
  "search.could_not_find": "Couldn't find a participant with the specified name or ID.",
  "search.empty": "It looks like nobody is here.",
  "end": "End Meeting",
  "end.all": "End meeting for all",
  "ended": "The meeting ended.",
  "ended.rejected": "Your request to join the meeting was denied.",
  "ended.left": "You left the meeting.",
  "ended.kicked": "You were removed from the meeting.",
  "ended.disconnected": "The call ended because the connection was lost.",
  "ended.network": "Please check your internet connection and try again.",
  "ended.unauthorized": "You are not authorized to join this meeting.",
  "network": "Network",
  "network.reconnecting": "Connection lost. Trying to reconnect.",
  "network.delay_extended": "Taking too long to reconnect. Please check your network connection.",
  "network.disconnected": "Could not reconnect. Please leave the meeting and try refreshing the window.",
  "network.leaving": "Automatically leaving the meeting in 10 seconds.",
  "network.restored": "Connection restored",
  "network.delay": "Taking too long to reconnect.",
  "network.lost": "Connection lost",
  "network.lost_extended": "Connection lost. Please check your network connection.",
  "network.troubleshoot": "Troubleshoot your connection",
  "init.auth_error": "We couldn't verify your access to this meeting. The meeting may have ended, or you may not have permission to join.",
  "init.network_error": "We couldn't connect to the meeting. Please try again, and if the problem continues, check your internet connection.",
  "init.browser_error": "Your browser is not supported. Please try a different or updated browser.",
  "init.default_error": "Something went wrong while connecting to the meeting. Please try again.",
  "join.network_error": "We couldn't connect to the meeting. Please check your internet connection and try again.",
  "join.media_error": "We're having trouble connecting to the meeting. Please try again, and if the problem continues, try using a different network.",
  "join.media_firewall_error": "Your network may be blocking this connection. Try using a different network, or contact your network administrator for help.",
  "join.default_error": "Something went wrong while joining the meeting. Please try again.",
  "join.error_code": "Error code",
  "livestream": "Livestream",
  "livestream.indicator": "This meeting is being livestreamed.",
  "livestream.skip": "Skip to Live",
  "livestream.idle": "Waiting to go live.",
  "livestream.starting": "Livestream is starting...",
  "livestream.stopping": "Livestream is stopping...",
  "livestream.waiting_on_manual_ingestion": "Please ingest livestream media.",
  "livestream.error.not_supported": "Player not supported.",
  "livestream.error.not_found": "Playback URL not found.",
  "livestream.error.unknown": "An unknown error occurred.",
  "livestream.error.sync": "Could not sync livestream please try again later.",
  "livestream.error.start": "Error while starting livestream.",
  "livestream.error.stop": "Error while stopping livestream.",
  "livestream.go_live": "Go Live",
  "livestream.end_live": "End Live",
  "livestream.error": "Error",
  "cta.help": "Need help on how to do this?",
  "cta.continue": "Ignore",
  "cta.reload": "Reload",
  "cta.confirmation": "Are you sure?",
  "cta.system_settings": "Open Settings",
  "remote_access.empty": "There are no remote requests, yet.",
  "remote_access.requests": "The following people have requested remote control to your screen share.",
  "remote_access.allow": "Please select whom you want to give access to.",
  "remote_access.grant": "Grant access",
  "remote_access.indicator": "Any plugin or screenshare you switch to will sync the change across the meeting",
  "chat": "Chat",
  "chat.new": "New",
  "chat.max_limit_warning": "Max Character Limit",
  "chat.rate_limit_error": "Please wait before you can send another message",
  "chat.member_name": "Enter member name",
  "chat.add_members": "Add members",
  "chat.delete_msg": "Delete",
  "chat.edit_msg": "Edit",
  "chat.send_msg": "Send message",
  "chat.send_attachment": "Drop files/images to send",
  "chat.send_img": "Send an image",
  "chat.send_file": "Send a file",
  "chat.send_emoji": "Send an emoji",
  "chat.update_msg": "Update message",
  "chat.img.loading": "Loading image",
  "chat.error.img_not_found": "Image not found",
  "chat.error.empty_results": "Couldn't find a member with the specified name.",
  "chat.img.shared_by": "Shared by",
  "chat.reply": "Reply",
  "chat.message_placeholder": "Message..",
  "chat.click_to_send": "Click to send as message",
  "chat.search_msgs": "Search messages",
  "chat.search_conversations": "Search conversations",
  "chat.start_conversation": "Start a conversation..",
  "chat.empty_search": "No messages found",
  "chat.empty_chat": "Send a message to get started",
  "chat.cancel_upload": "Cancel upload",
  "chat.view_chats": "View chats",
  "chat.everyone": "everyone",
  "chat.pinned_msgs": "Pinned messages",
  "chat.toggle_pinned_msgs": "Toggle pinned messages",
  "date.today": "Today",
  "date.yesterday": "Yesterday",
  "date.sunday": "Sunday",
  "date.monday": "Monday",
  "date.tuesday": "Tuesday",
  "date.wednesday": "Wednesday",
  "date.thursday": "Thursday",
  "date.friday": "Friday",
  "date.saturday": "Saturday",
  "list.empty": "No items found",
  "grid.listening": "Listening",
  "transcript.off": "Turn off Transcripts",
  "transcript.on": "Turn on Transcripts",
  "settings.notification_sound": "Notification sound",
  "settings.microphone_input": "Microphone",
  "settings.speaker_output": "Speaker",
  "settings.mirror_video": "Mirror my Video",
  "settings.camera_off": "Camera is off",
  "dialog.close": "Close dialog",
  "notifications.joined": "just joined",
  "notifications.left": "left",
  "notifications.requesting_to_join_meeting": "is requesting to join the meeting",
  "notifications.requested_to_join_stage": "has requested to join stage",
  "notifications.joined_stage": "has joined stage",
  "notifications.request_to_join_accepted": "Request to join accepted",
  "notifications.request_to_join_rejected": "Request to join rejected",
  "notifications.accept": "Accept",
  "notifications.new_poll_created_by": "New poll created by",
  "notifications.connected_to": "Connected to",
  "notifications.plugin_switched_to": "Plugin switched to",
  "notifications.remote_control_requested": "has requested for remote control",
  "notifications.remote_control_request_sent": "Sent remote control request to",
  "notifications.remote_control_request_accepted": "has granted remote control",
  "notifications.remote_control_granted": "Granted remote control to",
  "notifications.remote_control_terminated": "Existing remote control has been terminated",
  "debugger.troubleshooting.label": "Troubleshooting",
  "debugger.quality.good": "Good",
  "debugger.quality.average": "Average",
  "debugger.quality.poor": "Poor",
  "debugger.stats.bitrate.label": "Bitrate",
  "debugger.stats.bitrate.description": "Data transmitted per second, affects quality and file size.",
  "debugger.stats.packet_loss.label": "Packet Loss",
  "debugger.stats.packet_loss.description": "Amount of data lost during transfer",
  "debugger.stats.jitter.label": "Jitter",
  "debugger.stats.jitter.description": "Variance or fluctuation in latency",
  "debugger.stats.cpu_limitations.label": "CPU Limitations",
  "debugger.stats.cpu_limitations.description": "CPU limitations can impact WebRTC call quality and performance.",
  "debugger.stats.bandwidth_limitations.label": "Bandwidth Limitations",
  "debugger.stats.bandwidth_limitations.description": "Slow internet speeds can degrade video quality.",
  "debugger.audio.label": "Audio",
  "debugger.audio.troubleshooting.label": "Audio Troubleshooting",
  "debugger.audio.messages.generating_report": "Generating report. Please wait for a few seconds.",
  "debugger.audio.messages.enable_media": "Please enable mic to see the report.",
  "debugger.audio.sections.network_media": "Network & Media",
  "debugger.video.label": "Video",
  "debugger.video.troubleshooting.label": "Video Troubleshooting",
  "debugger.video.messages.generating_report": "Generating report. Please wait for a few seconds.",
  "debugger.video.messages.enable_media": "Please enable camera to see the report.",
  "debugger.video.sections.network_media": "Network & Media",
  "debugger.screenshare.label": "Screenshare",
  "debugger.screenshare.troubleshooting.label": "Screenshare Troubleshooting",
  "debugger.screenshare.sections.network_media": "Network & Media",
  "debugger.screenshare.messages.generating_report": "Generating report. Please wait for a few seconds.",
  "debugger.screenshare.messages.enable_media": "Please share screen to see the report.",
  "debugger.system.label": "System",
  "debugger.system.troubleshooting.label": "System Troubleshooting",
  "debugger.system.sections.battery": "Battery",
  "debugger.system.battery.level.label": "Battery Level",
  "debugger.system.battery.level.description": "A low battery charge may result in reduced performance.",
  "debugger.system.battery.charging.label": "Battery Charging Status",
  "debugger.system.battery.charging.description": "A device running on power performs optimally.",
  "debugger.system.battery.charging.is_charging": "Charging",
  "debugger.system.battery.charging.is_not_charging": "Not charging"
}

Kterýkoli z těchto klíčů můžete přepsat ve vlastním jazykovém balíčku. Pokud byste chtěli rozhraní přeložit například do španělštiny:

const spanishLanguagePack = useLanguage({
	...defaultLanguage,
	leave: "Salir",
	join: "Unirse",
	mute: "Silenciar",
	participants: "Participantes",
	chat: "Chat",
	settings: "Configuración",
});

React Native UI Kit zpřístupňuje přibližně 195 přepsatelných klíčů řetězců prostřednictvím defaultLanguage. Tabulka níže uvádí často používané klíče. Úplný seznam najdete v defaultLanguage export z @cloudflare/realtimekit-react-native-ui.

Key Výchozí
join Připojit se
leave Opustit
cancel Zrušit
leave_confirmation Opravdu chcete opustit hovor?
mic_on Mikrofon zapnutý
mic_off Mikrofon vypnutý
video_on Video zapnuto
video_off Video vypnuto
mute Mute
mute_all Mute all
participants Účastníci
chat Chat
settings Nastavení
polls Ankety
screenshare Sdílení obrazovky
screenshare.start Sdílet obrazovku
screenshare.stop Zastavit sdílení
recording.start Spustit nahrávání
recording.stop Zastavit nahrávání
end Ukončit schůzku
end.all Ukončit schůzku pro všechny
setup_screen.join_in_as Připojit se jako
setup_screen.your_name Vaše jméno
network.reconnecting Připojení ztraceno. Probíhá pokus o opětovné připojení...
network.restored Připojení obnoveno
ended Schůzka skončila.
ended.left Opustili jste schůzku.
ended.kicked Byli jste odebráni ze schůzky.