Custom Meeting Locale
Dyte's Flutter UI Kit allows you to customize the locale of the whole UI Kit. This means you can change the language of the UI Kit to any language you want. You can do this by providing an arb path to the DyteUIKitBuilder
object. Follow the following steps to achieve the same:
- Create an Application Resource Bundle (.arb) file and place it in your project's assets folder. The arb file should contain the translations for the UI Kit in the desired language. For example, if you want to change the language to French, you can create a file
fr.arb
and place it in you<path-to-project>/assets/
folder.
info
To know more about ARB files in Flutter, head here.
- Pass the path of the arb file to the
DyteUIKitBuilder.build()
method. The arb file should be passed as a string. For example, if you have placed the arb file in the assets folder, you can pass the path asassets/fr.arb
as a second argument as follows:
/// assuming Step 1 is completed:
import 'package:dyte_uikit/dyte_uikit.dart';
// Declare and assign a DyteMeetingInfo object.
final DyteMeetingInfo meetingInfo = DyteMeetingInfoV2(authToken: <AUTH_TOKEN>);
// Build the DyteUiKit object with the meetingInfo and the arb file path.
final DyteUiKit uikit= DyteUIKitBuilder.build(meetingInfo, 'assets/fr.arb');
// Push the uikit widget to the navigator to launch the UI Kit.
Navigator.push(context, MaterialPageRoute(builder: (context) => uikit),);
You can have the following keys
in the arb file:
key | value |
---|---|
------------- Newer strings introduced in v0.7.9 ---------- | -------------------- |
"endMeetingForAll" | "<locale-word>" |
"message" | "<locale-word>" |
"newPollCreated" | "<locale-word>" |
"waitingToGoLive" | "<locale-word>" |
"frontCamera" | "<locale-word>" |
"rearCamera" | "<locale-word>" |
"externalCamera" | "<locale-word>" |
"headset" | "<locale-word>" |
"speaker" | "<locale-word>" |
"bluetooth" | "<locale-word>" |
"earpiece" | "<locale-word>" |
----------------------------------------------------------- | -------------------- |
"join" | "<locale-word>" |
"joinInAs" | "<locale-word>" |
"enterYourName" | "<locale-word>" |
"micOn" | "<locale-word>" |
"micOff" | "<locale-word>" |
"leave" | "<locale-word>" |
"cancel" | "<locale-word>" |
"areYouSureYouWantToLeaveTheCall" | "<locale-word>" |
"more" | "<locale-word>" |
"selectAudioDevice" | "<locale-word>" |
"selectVideoDevice" | "<locale-word>" |
"videoOn" | "<locale-word>" |
"videoOff" | "<locale-word>" |
"mute" | "<locale-word>" |
"unmute" | "<locale-word>" |
"unpin" | "<locale-word>" |
"pin" | "<locale-word>" |
"kick" | "<locale-word>" |
"removeFromStage" | "<locale-word>" |
"screenShare" | "<locale-word>" |
"plugins" | "<locale-word>" |
"createPoll" | "<locale-word>" |
"question" | "<locale-word>" |
"askAQuestion" | "<locale-word>" |
"options" | "<locale-word>" |
"enterAnOption" | "<locale-word>" |
"addOption" | "<locale-word>" |
"anonymous" | "<locale-word>" |
"hideResultsBeforeVoting" | "<locale-word>" |
"questionAndOptionsCantBeEmpty" | "<locale-word>" |
"polls" | "<locale-word>" |
"pollBy" | "<locale-word>" |
"vote" | "<locale-word>" |
"voted" | "<locale-word>" |
"viewVoters" | "<locale-word>" |
"stopRecording" | "<locale-word>" |
"startRecording" | "<locale-word>" |
"muteAll" | "<locale-word>" |
"disableAllVideos" | "<locale-word>" |
"settings" | "<locale-word>" |
"rec" | "<locale-word>" |
"camera" | "<locale-word>" |
"microphoneInput" | "<locale-word>" |
"chat" | "<locale-word>" |
"noMessages" | "<locale-word>" |
"chatMessagesWillAppearHere" | "<locale-word>" |
"file" | "<locale-word>" |
"image" | "<locale-word>" |
"send" | "<locale-word>" |
"participants" | "<locale-word>" |
"waitlisted" | "<locale-word>" |
"inCall" | "<locale-word>" |
"you" | "<locale-word>" |
"turnOffVideo" | "<locale-word>" |
"videoAlreadyOff" | "<locale-word>" |
"dyte" | "<locale-word>" |
"back" | "<locale-word>" |
"waitingForTheHostToLetYouIn" | "<locale-word>" |
"shareScreen" | "<locale-word>" |
"stopSharing" | "<locale-word>" |
- All set, run the app and view the UI Kit in the desired language!