···439439 /// Add description placeholder
440440 ///
441441 /// In en, this message translates to:
442442- /// **'Add a description... (optional)'**
442442+ /// **'Add a caption... (optional)'**
443443 String get hintAddDescription;
444444445445 /// Add alt text placeholder
···651651 /// In en, this message translates to:
652652 /// **'Other'**
653653 String get categoryOther;
654654+655655+ /// Continue button text
656656+ ///
657657+ /// In en, this message translates to:
658658+ /// **'Continue'**
659659+ String get buttonContinue;
660660+661661+ /// Get started button text
662662+ ///
663663+ /// In en, this message translates to:
664664+ /// **'Get Started'**
665665+ String get buttonGetStarted;
666666+667667+ /// Already have an account button text
668668+ ///
669669+ /// In en, this message translates to:
670670+ /// **'I already have an account'**
671671+ String get buttonHaveAccount;
672672+673673+ /// Open button text
674674+ ///
675675+ /// In en, this message translates to:
676676+ /// **'Open'**
677677+ String get buttonOpen;
678678+679679+ /// Post button text
680680+ ///
681681+ /// In en, this message translates to:
682682+ /// **'Post'**
683683+ String get buttonPost;
684684+685685+ /// Done button text
686686+ ///
687687+ /// In en, this message translates to:
688688+ /// **'Done'**
689689+ String get buttonDone;
690690+691691+ /// Edit button text
692692+ ///
693693+ /// In en, this message translates to:
694694+ /// **'Edit'**
695695+ String get buttonEdit;
696696+697697+ /// Back button text
698698+ ///
699699+ /// In en, this message translates to:
700700+ /// **'Back'**
701701+ String get buttonBack;
702702+703703+ /// Share button text
704704+ ///
705705+ /// In en, this message translates to:
706706+ /// **'Share'**
707707+ String get buttonShare;
708708+709709+ /// Copied state text for copy link
710710+ ///
711711+ /// In en, this message translates to:
712712+ /// **'Copied'**
713713+ String get buttonCopied;
714714+715715+ /// Copy link button text
716716+ ///
717717+ /// In en, this message translates to:
718718+ /// **'Copy link'**
719719+ String get buttonCopyLink;
720720+721721+ /// Error message for invalid handle
722722+ ///
723723+ /// In en, this message translates to:
724724+ /// **'Invalid handle'**
725725+ String get errorInvalidHandle;
726726+727727+ /// Error message for handle not found
728728+ ///
729729+ /// In en, this message translates to:
730730+ /// **'Could not find this handle'**
731731+ String get errorHandleNotFound;
732732+733733+ /// Loading message when completing sign in
734734+ ///
735735+ /// In en, this message translates to:
736736+ /// **'Completing sign in...'**
737737+ String get errorCompletingSignIn;
738738+739739+ /// Error message for profile not found
740740+ ///
741741+ /// In en, this message translates to:
742742+ /// **'Profile not found'**
743743+ String get errorProfileNotFound;
744744+745745+ /// Error loading post message
746746+ ///
747747+ /// In en, this message translates to:
748748+ /// **'Error loading post'**
749749+ String get errorLoadingPost;
750750+751751+ /// Error loading messages message
752752+ ///
753753+ /// In en, this message translates to:
754754+ /// **'Failed to load messages'**
755755+ String get errorLoadingMessages;
756756+757757+ /// Error loading conversations message
758758+ ///
759759+ /// In en, this message translates to:
760760+ /// **'Failed to load conversations'**
761761+ String get errorLoadingConversations;
762762+763763+ /// Error message when unable to open a link
764764+ ///
765765+ /// In en, this message translates to:
766766+ /// **'Unable to open link right now.'**
767767+ String get errorUnableToOpenLink;
768768+769769+ /// Error loading labeler settings message
770770+ ///
771771+ /// In en, this message translates to:
772772+ /// **'Error Loading Labeler Settings'**
773773+ String get errorLoadingLabelerSettings;
774774+775775+ /// Error message with detail
776776+ ///
777777+ /// In en, this message translates to:
778778+ /// **'Error: {error}'**
779779+ String errorWithDetail(String error);
780780+781781+ /// Add a comment input placeholder
782782+ ///
783783+ /// In en, this message translates to:
784784+ /// **'Add a comment...'**
785785+ String get hintAddComment;
786786+787787+ /// Search users placeholder in messages
788788+ ///
789789+ /// In en, this message translates to:
790790+ /// **'Search users'**
791791+ String get hintSearchUsersMessages;
792792+793793+ /// Delete comment confirmation message
794794+ ///
795795+ /// In en, this message translates to:
796796+ /// **'Are you sure you want to delete this comment? This action cannot be undone.'**
797797+ String get dialogDeleteCommentConfirm;
798798+799799+ /// Delete post confirmation message
800800+ ///
801801+ /// In en, this message translates to:
802802+ /// **'Are you sure you want to delete this post? This action cannot be undone.'**
803803+ String get dialogDeletePostConfirm;
804804+805805+ /// Block user dialog title
806806+ ///
807807+ /// In en, this message translates to:
808808+ /// **'Block User'**
809809+ String get dialogBlockUser;
810810+811811+ /// Block user confirmation message
812812+ ///
813813+ /// In en, this message translates to:
814814+ /// **'Are you sure you want to block this user? You will no longer see their posts.'**
815815+ String get dialogBlockUserConfirm;
816816+817817+ /// Unblock user dialog title
818818+ ///
819819+ /// In en, this message translates to:
820820+ /// **'Unblock User'**
821821+ String get dialogUnblockUser;
822822+823823+ /// Unblock user confirmation message
824824+ ///
825825+ /// In en, this message translates to:
826826+ /// **'Are you sure you want to unblock this user?'**
827827+ String get dialogUnblockUserConfirm;
828828+829829+ /// Remove feed confirmation message with name
830830+ ///
831831+ /// In en, this message translates to:
832832+ /// **'Are you sure you want to remove \"{name}\"?'**
833833+ String dialogRemoveFeedConfirm(String name);
834834+835835+ /// Dialog title for opening Bluesky account management
836836+ ///
837837+ /// In en, this message translates to:
838838+ /// **'Open Bluesky account management?'**
839839+ String get dialogOpenBlueskyAccount;
840840+841841+ /// Description for opening Bluesky account management dialog
842842+ ///
843843+ /// In en, this message translates to:
844844+ /// **'This opens the Bluesky account management screen. You may have to log in again.\n\nIf prompted for an account provider, use:\n{pdsUrl}'**
845845+ String dialogOpenBlueskyAccountDescription(String pdsUrl);
846846+847847+ /// Replies page title
848848+ ///
849849+ /// In en, this message translates to:
850850+ /// **'Replies'**
851851+ String get pageTitleReplies;
852852+853853+ /// Review video page title
854854+ ///
855855+ /// In en, this message translates to:
856856+ /// **'Review Video'**
857857+ String get pageTitleReviewVideo;
858858+859859+ /// Review image post page title
860860+ ///
861861+ /// In en, this message translates to:
862862+ /// **'Review Image Post'**
863863+ String get pageTitleReviewImagePost;
864864+865865+ /// Legal page title
866866+ ///
867867+ /// In en, this message translates to:
868868+ /// **'Legal'**
869869+ String get pageTitleLegal;
870870+871871+ /// Followers page title
872872+ ///
873873+ /// In en, this message translates to:
874874+ /// **'Followers'**
875875+ String get pageTitleFollowers;
876876+877877+ /// Following page title
878878+ ///
879879+ /// In en, this message translates to:
880880+ /// **'Following'**
881881+ String get pageTitleFollowing;
882882+883883+ /// Empty state for no videos using a sound
884884+ ///
885885+ /// In en, this message translates to:
886886+ /// **'No videos using this sound yet'**
887887+ String get emptyNoVideosUsingSound;
888888+889889+ /// Empty state for no photos in library
890890+ ///
891891+ /// In en, this message translates to:
892892+ /// **'No photos or videos found in your library.'**
893893+ String get emptyNoPhotoLibrary;
894894+895895+ /// Permission message for photo library access
896896+ ///
897897+ /// In en, this message translates to:
898898+ /// **'Allow photo library access to pick photos and videos.'**
899899+ String get messagePermissionPhotoLibrary;
900900+901901+ /// Posting story progress message
902902+ ///
903903+ /// In en, this message translates to:
904904+ /// **'Posting story...'**
905905+ String get messagePostingStory;
906906+907907+ /// Processing video progress message
908908+ ///
909909+ /// In en, this message translates to:
910910+ /// **'Processing video...'**
911911+ String get messageProcessingVideo;
912912+913913+ /// Uploading video status message
914914+ ///
915915+ /// In en, this message translates to:
916916+ /// **'Uploading video'**
917917+ String get messageUploadingVideo;
918918+919919+ /// Ready to post status message
920920+ ///
921921+ /// In en, this message translates to:
922922+ /// **'Ready to post'**
923923+ String get messageReadyToPost;
924924+925925+ /// Upload failed status message
926926+ ///
927927+ /// In en, this message translates to:
928928+ /// **'Upload failed'**
929929+ String get messageUploadFailed;
930930+931931+ /// Uploading percentage status message
932932+ ///
933933+ /// In en, this message translates to:
934934+ /// **'Uploading {percent}%'**
935935+ String messageUploadingPercent(int percent);
936936+937937+ /// Original sound label
938938+ ///
939939+ /// In en, this message translates to:
940940+ /// **'Original Sound'**
941941+ String get labelOriginalSound;
942942+943943+ /// Share label
944944+ ///
945945+ /// In en, this message translates to:
946946+ /// **'Share'**
947947+ String get labelShare;
948948+949949+ /// Following label
950950+ ///
951951+ /// In en, this message translates to:
952952+ /// **'Following'**
953953+ String get labelFollowing;
954954+955955+ /// Posts label
956956+ ///
957957+ /// In en, this message translates to:
958958+ /// **'Posts'**
959959+ String get labelPosts;
960960+961961+ /// Privacy policy link label
962962+ ///
963963+ /// In en, this message translates to:
964964+ /// **'Privacy Policy'**
965965+ String get labelPrivacyPolicy;
966966+967967+ /// Terms of service link label
968968+ ///
969969+ /// In en, this message translates to:
970970+ /// **'Terms of Service'**
971971+ String get labelTermsOfService;
972972+973973+ /// Support link label
974974+ ///
975975+ /// In en, this message translates to:
976976+ /// **'Support'**
977977+ String get labelSupport;
978978+979979+ /// Back tooltip
980980+ ///
981981+ /// In en, this message translates to:
982982+ /// **'Back'**
983983+ String get tooltipBack;
984984+985985+ /// Error message for failed image load
986986+ ///
987987+ /// In en, this message translates to:
988988+ /// **'Failed to load image'**
989989+ String get errorFailedToLoadImage;
990990+991991+ /// Sign in page title
992992+ ///
993993+ /// In en, this message translates to:
994994+ /// **'Sign In'**
995995+ String get pageTitleSignIn;
996996+997997+ /// Message to enter handle for OAuth
998998+ ///
999999+ /// In en, this message translates to:
10001000+ /// **'Enter your handle to continue with OAuth'**
10011001+ String get messageEnterHandle;
10021002+10031003+ /// Loading message when completing sign up
10041004+ ///
10051005+ /// In en, this message translates to:
10061006+ /// **'Completing sign up...'**
10071007+ String get messageCompletingSignUp;
10081008+10091009+ /// Welcome message on register page
10101010+ ///
10111011+ /// In en, this message translates to:
10121012+ /// **'Welcome!'**
10131013+ String get messageWelcome;
10141014+10151015+ /// Welcome description on register page
10161016+ ///
10171017+ /// In en, this message translates to:
10181018+ /// **'Share videos, connect with friends,\nand take back your timeline.'**
10191019+ String get messageWelcomeDescription;
10201020+10211021+ /// Reply button label
10221022+ ///
10231023+ /// In en, this message translates to:
10241024+ /// **'Reply'**
10251025+ String get labelReply;
10261026+10271027+ /// Add image tooltip
10281028+ ///
10291029+ /// In en, this message translates to:
10301030+ /// **'Add image (1 max)'**
10311031+ String get hintAddImage;
10321032+10331033+ /// Posting image progress message
10341034+ ///
10351035+ /// In en, this message translates to:
10361036+ /// **'Posting...'**
10371037+ String get messagePostingImage;
10381038+10391039+ /// Maximum images reached tooltip
10401040+ ///
10411041+ /// In en, this message translates to:
10421042+ /// **'Maximum images reached'**
10431043+ String get messageMaximumImagesReached;
10441044+10451045+ /// Sound label for video editor toolbar
10461046+ ///
10471047+ /// In en, this message translates to:
10481048+ /// **'Sound'**
10491049+ String get labelSound;
10501050+10511051+ /// Stickers label
10521052+ ///
10531053+ /// In en, this message translates to:
10541054+ /// **'Stickers'**
10551055+ String get labelStickers;
10561056+10571057+ /// Paint editor label
10581058+ ///
10591059+ /// In en, this message translates to:
10601060+ /// **'Paint'**
10611061+ String get labelPaint;
10621062+10631063+ /// Text editor label
10641064+ ///
10651065+ /// In en, this message translates to:
10661066+ /// **'Text'**
10671067+ String get labelText;
10681068+10691069+ /// Crop editor label
10701070+ ///
10711071+ /// In en, this message translates to:
10721072+ /// **'Crop'**
10731073+ String get labelCrop;
10741074+10751075+ /// Tune editor label
10761076+ ///
10771077+ /// In en, this message translates to:
10781078+ /// **'Tune'**
10791079+ String get labelTune;
10801080+10811081+ /// Filter editor label
10821082+ ///
10831083+ /// In en, this message translates to:
10841084+ /// **'Filter'**
10851085+ String get labelFilter;
10861086+10871087+ /// Blur editor label
10881088+ ///
10891089+ /// In en, this message translates to:
10901090+ /// **'Blur'**
10911091+ String get labelBlur;
10921092+10931093+ /// Emoji editor label
10941094+ ///
10951095+ /// In en, this message translates to:
10961096+ /// **'Emoji'**
10971097+ String get labelEmoji;
10981098+10991099+ /// Mention editor label
11001100+ ///
11011101+ /// In en, this message translates to:
11021102+ /// **'Mention'**
11031103+ String get labelMention;
11041104+11051105+ /// Draw editor label
11061106+ ///
11071107+ /// In en, this message translates to:
11081108+ /// **'Draw'**
11091109+ String get labelDraw;
11101110+11111111+ /// Default video clip title
11121112+ ///
11131113+ /// In en, this message translates to:
11141114+ /// **'My awesome video'**
11151115+ String get labelMyAwesomeVideo;
11161116+11171117+ /// Video upload status when uploading
11181118+ ///
11191119+ /// In en, this message translates to:
11201120+ /// **'Uploading video'**
11211121+ String get errorUploadingVideo;
11221122+11231123+ /// Video processing status
11241124+ ///
11251125+ /// In en, this message translates to:
11261126+ /// **'Processing video'**
11271127+ String get errorProcessingVideoStatus;
11281128+11291129+ /// Ready to post status
11301130+ ///
11311131+ /// In en, this message translates to:
11321132+ /// **'Ready to post'**
11331133+ String get errorReadyToPost;
11341134+11351135+ /// Upload failed status
11361136+ ///
11371137+ /// In en, this message translates to:
11381138+ /// **'Upload failed'**
11391139+ String get errorUploadFailed;
11401140+11411141+ /// Error message in snackbar
11421142+ ///
11431143+ /// In en, this message translates to:
11441144+ /// **'Error: {error}'**
11451145+ String errorSnackBar(String error);
11461146+11471147+ /// Like feed button text
11481148+ ///
11491149+ /// In en, this message translates to:
11501150+ /// **'Like Feed'**
11511151+ String get buttonLikeFeed;
11521152+11531153+ /// Unlike feed button text
11541154+ ///
11551155+ /// In en, this message translates to:
11561156+ /// **'Unlike Feed'**
11571157+ String get buttonUnlikeFeed;
11581158+11591159+ /// Empty state for no notifications
11601160+ ///
11611161+ /// In en, this message translates to:
11621162+ /// **'No notifications'**
11631163+ String get emptyNoNotifications;
11641164+11651165+ /// Message when all notifications are read
11661166+ ///
11671167+ /// In en, this message translates to:
11681168+ /// **'You\'\'re all caught up!'**
11691169+ String get messageAllCaughtUp;
11701170+11711171+ /// Description for labeler configuration
11721172+ ///
11731173+ /// In en, this message translates to:
11741174+ /// **'Configure how this labeler\'\'s content labels are handled in your feeds.'**
11751175+ String get messageLabelerConfigDescription;
11761176+11771177+ /// Error loading notifications message
11781178+ ///
11791179+ /// In en, this message translates to:
11801180+ /// **'Failed to load notifications'**
11811181+ String get errorLoadingNotifications;
11821182+11831183+ /// Content label settings title
11841184+ ///
11851185+ /// In en, this message translates to:
11861186+ /// **'Content Label Settings'**
11871187+ String get labelContentLabelSettings;
11881188+11891189+ /// Error when trying to select photos in single-select mode
11901190+ ///
11911191+ /// In en, this message translates to:
11921192+ /// **'You can only select photos in multi-select mode.'**
11931193+ String get errorPhotoSelectLimit;
11941194+11951195+ /// Error when exceeding max photo selection
11961196+ ///
11971197+ /// In en, this message translates to:
11981198+ /// **'You can select up to {max}.'**
11991199+ String errorPhotoSelectMax(int max);
12001200+12011201+ /// Error when unable to access selected photos
12021202+ ///
12031203+ /// In en, this message translates to:
12041204+ /// **'Unable to access the selected photos.'**
12051205+ String get errorUnableToAccessPhotos;
12061206+12071207+ /// Error when unable to access a media item
12081208+ ///
12091209+ /// In en, this message translates to:
12101210+ /// **'Unable to access this media item.'**
12111211+ String get errorUnableToAccessMedia;
12121212+12131213+ /// Single select mode label
12141214+ ///
12151215+ /// In en, this message translates to:
12161216+ /// **'Single Select'**
12171217+ String get labelSingleSelect;
12181218+12191219+ /// Select multiple mode label
12201220+ ///
12211221+ /// In en, this message translates to:
12221222+ /// **'Select multiple'**
12231223+ String get labelSelectMultiple;
12241224+12251225+ /// Library header label
12261226+ ///
12271227+ /// In en, this message translates to:
12281228+ /// **'Library'**
12291229+ String get labelLibrary;
12301230+12311231+ /// Done button with selection count
12321232+ ///
12331233+ /// In en, this message translates to:
12341234+ /// **'Done ({current}/{max})'**
12351235+ String labelDoneCount(int current, int max);
12361236+12371237+ /// Permission info about limited library access
12381238+ ///
12391239+ /// In en, this message translates to:
12401240+ /// **'Limited library access is enabled. You can change this in settings.'**
12411241+ String get messageLimitedLibraryAccess;
12421242+12431243+ /// Posts search tab label
12441244+ ///
12451245+ /// In en, this message translates to:
12461246+ /// **'Posts'**
12471247+ String get tabPosts;
12481248+12491249+ /// Users search tab label
12501250+ ///
12511251+ /// In en, this message translates to:
12521252+ /// **'Users'**
12531253+ String get tabUsers;
12541254+12551255+ /// Search by handle or display name placeholder
12561256+ ///
12571257+ /// In en, this message translates to:
12581258+ /// **'Search by handle or display name'**
12591259+ String get hintSearchByHandle;
12601260+12611261+ /// Feed creator attribution label
12621262+ ///
12631263+ /// In en, this message translates to:
12641264+ /// **'by @{handle}'**
12651265+ String labelFeedByCreator(String handle);
12661266+12671267+ /// Subtitle for following/timeline feed
12681268+ ///
12691269+ /// In en, this message translates to:
12701270+ /// **'Posts from people you follow'**
12711271+ String get messagePostsFromFollowing;
12721272+12731273+ /// Add feed button text
12741274+ ///
12751275+ /// In en, this message translates to:
12761276+ /// **'Add feed'**
12771277+ String get buttonAddFeed;
12781278+12791279+ /// Unpin feed button text
12801280+ ///
12811281+ /// In en, this message translates to:
12821282+ /// **'Unpin feed'**
12831283+ String get buttonUnpinFeed;
12841284+12851285+ /// Pin feed button text
12861286+ ///
12871287+ /// In en, this message translates to:
12881288+ /// **'Pin feed'**
12891289+ String get buttonPinFeed;
12901290+12911291+ /// Empty state for no conversations in share panel
12921292+ ///
12931293+ /// In en, this message translates to:
12941294+ /// **'No conversations yet'**
12951295+ String get emptyNoConversations;
12961296+12971297+ /// Sending message progress indicator
12981298+ ///
12991299+ /// In en, this message translates to:
13001300+ /// **'Sending...'**
13011301+ String get messageSending;
13021302+13031303+ /// Send button text
13041304+ ///
13051305+ /// In en, this message translates to:
13061306+ /// **'Send'**
13071307+ String get buttonSend;
6541308}
65513096561310class _AppLocalizationsDelegate
+355-1
lib/src/core/l10n/app_localizations_en.dart
···183183 String get hintTypeMessage => 'Type a message...';
184184185185 @override
186186- String get hintAddDescription => 'Add a description... (optional)';
186186+ String get hintAddDescription => 'Add a caption... (optional)';
187187188188 @override
189189 String get hintAddAltText => 'Add alt text';
···298298299299 @override
300300 String get categoryOther => 'Other';
301301+302302+ @override
303303+ String get buttonContinue => 'Continue';
304304+305305+ @override
306306+ String get buttonGetStarted => 'Get Started';
307307+308308+ @override
309309+ String get buttonHaveAccount => 'I already have an account';
310310+311311+ @override
312312+ String get buttonOpen => 'Open';
313313+314314+ @override
315315+ String get buttonPost => 'Post';
316316+317317+ @override
318318+ String get buttonDone => 'Done';
319319+320320+ @override
321321+ String get buttonEdit => 'Edit';
322322+323323+ @override
324324+ String get buttonBack => 'Back';
325325+326326+ @override
327327+ String get buttonShare => 'Share';
328328+329329+ @override
330330+ String get buttonCopied => 'Copied';
331331+332332+ @override
333333+ String get buttonCopyLink => 'Copy link';
334334+335335+ @override
336336+ String get errorInvalidHandle => 'Invalid handle';
337337+338338+ @override
339339+ String get errorHandleNotFound => 'Could not find this handle';
340340+341341+ @override
342342+ String get errorCompletingSignIn => 'Completing sign in...';
343343+344344+ @override
345345+ String get errorProfileNotFound => 'Profile not found';
346346+347347+ @override
348348+ String get errorLoadingPost => 'Error loading post';
349349+350350+ @override
351351+ String get errorLoadingMessages => 'Failed to load messages';
352352+353353+ @override
354354+ String get errorLoadingConversations => 'Failed to load conversations';
355355+356356+ @override
357357+ String get errorUnableToOpenLink => 'Unable to open link right now.';
358358+359359+ @override
360360+ String get errorLoadingLabelerSettings => 'Error Loading Labeler Settings';
361361+362362+ @override
363363+ String errorWithDetail(String error) {
364364+ return 'Error: $error';
365365+ }
366366+367367+ @override
368368+ String get hintAddComment => 'Add a comment...';
369369+370370+ @override
371371+ String get hintSearchUsersMessages => 'Search users';
372372+373373+ @override
374374+ String get dialogDeleteCommentConfirm =>
375375+ 'Are you sure you want to delete this comment? This action cannot be undone.';
376376+377377+ @override
378378+ String get dialogDeletePostConfirm =>
379379+ 'Are you sure you want to delete this post? This action cannot be undone.';
380380+381381+ @override
382382+ String get dialogBlockUser => 'Block User';
383383+384384+ @override
385385+ String get dialogBlockUserConfirm =>
386386+ 'Are you sure you want to block this user? You will no longer see their posts.';
387387+388388+ @override
389389+ String get dialogUnblockUser => 'Unblock User';
390390+391391+ @override
392392+ String get dialogUnblockUserConfirm =>
393393+ 'Are you sure you want to unblock this user?';
394394+395395+ @override
396396+ String dialogRemoveFeedConfirm(String name) {
397397+ return 'Are you sure you want to remove \"$name\"?';
398398+ }
399399+400400+ @override
401401+ String get dialogOpenBlueskyAccount => 'Open Bluesky account management?';
402402+403403+ @override
404404+ String dialogOpenBlueskyAccountDescription(String pdsUrl) {
405405+ return 'This opens the Bluesky account management screen. You may have to log in again.\n\nIf prompted for an account provider, use:\n$pdsUrl';
406406+ }
407407+408408+ @override
409409+ String get pageTitleReplies => 'Replies';
410410+411411+ @override
412412+ String get pageTitleReviewVideo => 'Review Video';
413413+414414+ @override
415415+ String get pageTitleReviewImagePost => 'Review Image Post';
416416+417417+ @override
418418+ String get pageTitleLegal => 'Legal';
419419+420420+ @override
421421+ String get pageTitleFollowers => 'Followers';
422422+423423+ @override
424424+ String get pageTitleFollowing => 'Following';
425425+426426+ @override
427427+ String get emptyNoVideosUsingSound => 'No videos using this sound yet';
428428+429429+ @override
430430+ String get emptyNoPhotoLibrary =>
431431+ 'No photos or videos found in your library.';
432432+433433+ @override
434434+ String get messagePermissionPhotoLibrary =>
435435+ 'Allow photo library access to pick photos and videos.';
436436+437437+ @override
438438+ String get messagePostingStory => 'Posting story...';
439439+440440+ @override
441441+ String get messageProcessingVideo => 'Processing video...';
442442+443443+ @override
444444+ String get messageUploadingVideo => 'Uploading video';
445445+446446+ @override
447447+ String get messageReadyToPost => 'Ready to post';
448448+449449+ @override
450450+ String get messageUploadFailed => 'Upload failed';
451451+452452+ @override
453453+ String messageUploadingPercent(int percent) {
454454+ return 'Uploading $percent%';
455455+ }
456456+457457+ @override
458458+ String get labelOriginalSound => 'Original Sound';
459459+460460+ @override
461461+ String get labelShare => 'Share';
462462+463463+ @override
464464+ String get labelFollowing => 'Following';
465465+466466+ @override
467467+ String get labelPosts => 'Posts';
468468+469469+ @override
470470+ String get labelPrivacyPolicy => 'Privacy Policy';
471471+472472+ @override
473473+ String get labelTermsOfService => 'Terms of Service';
474474+475475+ @override
476476+ String get labelSupport => 'Support';
477477+478478+ @override
479479+ String get tooltipBack => 'Back';
480480+481481+ @override
482482+ String get errorFailedToLoadImage => 'Failed to load image';
483483+484484+ @override
485485+ String get pageTitleSignIn => 'Sign In';
486486+487487+ @override
488488+ String get messageEnterHandle => 'Enter your handle to continue with OAuth';
489489+490490+ @override
491491+ String get messageCompletingSignUp => 'Completing sign up...';
492492+493493+ @override
494494+ String get messageWelcome => 'Welcome!';
495495+496496+ @override
497497+ String get messageWelcomeDescription =>
498498+ 'Share videos, connect with friends,\nand take back your timeline.';
499499+500500+ @override
501501+ String get labelReply => 'Reply';
502502+503503+ @override
504504+ String get hintAddImage => 'Add image (1 max)';
505505+506506+ @override
507507+ String get messagePostingImage => 'Posting...';
508508+509509+ @override
510510+ String get messageMaximumImagesReached => 'Maximum images reached';
511511+512512+ @override
513513+ String get labelSound => 'Sound';
514514+515515+ @override
516516+ String get labelStickers => 'Stickers';
517517+518518+ @override
519519+ String get labelPaint => 'Paint';
520520+521521+ @override
522522+ String get labelText => 'Text';
523523+524524+ @override
525525+ String get labelCrop => 'Crop';
526526+527527+ @override
528528+ String get labelTune => 'Tune';
529529+530530+ @override
531531+ String get labelFilter => 'Filter';
532532+533533+ @override
534534+ String get labelBlur => 'Blur';
535535+536536+ @override
537537+ String get labelEmoji => 'Emoji';
538538+539539+ @override
540540+ String get labelMention => 'Mention';
541541+542542+ @override
543543+ String get labelDraw => 'Draw';
544544+545545+ @override
546546+ String get labelMyAwesomeVideo => 'My awesome video';
547547+548548+ @override
549549+ String get errorUploadingVideo => 'Uploading video';
550550+551551+ @override
552552+ String get errorProcessingVideoStatus => 'Processing video';
553553+554554+ @override
555555+ String get errorReadyToPost => 'Ready to post';
556556+557557+ @override
558558+ String get errorUploadFailed => 'Upload failed';
559559+560560+ @override
561561+ String errorSnackBar(String error) {
562562+ return 'Error: $error';
563563+ }
564564+565565+ @override
566566+ String get buttonLikeFeed => 'Like Feed';
567567+568568+ @override
569569+ String get buttonUnlikeFeed => 'Unlike Feed';
570570+571571+ @override
572572+ String get emptyNoNotifications => 'No notifications';
573573+574574+ @override
575575+ String get messageAllCaughtUp => 'You\'re all caught up!';
576576+577577+ @override
578578+ String get messageLabelerConfigDescription =>
579579+ 'Configure how this labeler\'s content labels are handled in your feeds.';
580580+581581+ @override
582582+ String get errorLoadingNotifications => 'Failed to load notifications';
583583+584584+ @override
585585+ String get labelContentLabelSettings => 'Content Label Settings';
586586+587587+ @override
588588+ String get errorPhotoSelectLimit =>
589589+ 'You can only select photos in multi-select mode.';
590590+591591+ @override
592592+ String errorPhotoSelectMax(int max) {
593593+ return 'You can select up to $max.';
594594+ }
595595+596596+ @override
597597+ String get errorUnableToAccessPhotos =>
598598+ 'Unable to access the selected photos.';
599599+600600+ @override
601601+ String get errorUnableToAccessMedia => 'Unable to access this media item.';
602602+603603+ @override
604604+ String get labelSingleSelect => 'Single Select';
605605+606606+ @override
607607+ String get labelSelectMultiple => 'Select multiple';
608608+609609+ @override
610610+ String get labelLibrary => 'Library';
611611+612612+ @override
613613+ String labelDoneCount(int current, int max) {
614614+ return 'Done ($current/$max)';
615615+ }
616616+617617+ @override
618618+ String get messageLimitedLibraryAccess =>
619619+ 'Limited library access is enabled. You can change this in settings.';
620620+621621+ @override
622622+ String get tabPosts => 'Posts';
623623+624624+ @override
625625+ String get tabUsers => 'Users';
626626+627627+ @override
628628+ String get hintSearchByHandle => 'Search by handle or display name';
629629+630630+ @override
631631+ String labelFeedByCreator(String handle) {
632632+ return 'by @$handle';
633633+ }
634634+635635+ @override
636636+ String get messagePostsFromFollowing => 'Posts from people you follow';
637637+638638+ @override
639639+ String get buttonAddFeed => 'Add feed';
640640+641641+ @override
642642+ String get buttonUnpinFeed => 'Unpin feed';
643643+644644+ @override
645645+ String get buttonPinFeed => 'Pin feed';
646646+647647+ @override
648648+ String get emptyNoConversations => 'No conversations yet';
649649+650650+ @override
651651+ String get messageSending => 'Sending...';
652652+653653+ @override
654654+ String get buttonSend => 'Send';
301655}
+589-1
lib/src/core/l10n/intl_en.arb
···287287 "description": "Type message input placeholder"
288288 },
289289290290- "hintAddDescription": "Add a description... (optional)",
290290+ "hintAddDescription": "Add a caption... (optional)",
291291 "@hintAddDescription": {
292292 "description": "Add description placeholder"
293293 },
···485485 "categoryOther": "Other",
486486 "@categoryOther": {
487487 "description": "Report category: Other"
488488+ },
489489+490490+ "buttonContinue": "Continue",
491491+ "@buttonContinue": {
492492+ "description": "Continue button text"
493493+ },
494494+495495+ "buttonGetStarted": "Get Started",
496496+ "@buttonGetStarted": {
497497+ "description": "Get started button text"
498498+ },
499499+500500+ "buttonHaveAccount": "I already have an account",
501501+ "@buttonHaveAccount": {
502502+ "description": "Already have an account button text"
503503+ },
504504+505505+ "buttonOpen": "Open",
506506+ "@buttonOpen": {
507507+ "description": "Open button text"
508508+ },
509509+510510+ "buttonPost": "Post",
511511+ "@buttonPost": {
512512+ "description": "Post button text"
513513+ },
514514+515515+ "buttonDone": "Done",
516516+ "@buttonDone": {
517517+ "description": "Done button text"
518518+ },
519519+520520+ "buttonEdit": "Edit",
521521+ "@buttonEdit": {
522522+ "description": "Edit button text"
523523+ },
524524+525525+ "buttonBack": "Back",
526526+ "@buttonBack": {
527527+ "description": "Back button text"
528528+ },
529529+530530+ "buttonShare": "Share",
531531+ "@buttonShare": {
532532+ "description": "Share button text"
533533+ },
534534+535535+ "buttonCopied": "Copied",
536536+ "@buttonCopied": {
537537+ "description": "Copied state text for copy link"
538538+ },
539539+540540+ "buttonCopyLink": "Copy link",
541541+ "@buttonCopyLink": {
542542+ "description": "Copy link button text"
543543+ },
544544+545545+ "errorInvalidHandle": "Invalid handle",
546546+ "@errorInvalidHandle": {
547547+ "description": "Error message for invalid handle"
548548+ },
549549+550550+ "errorHandleNotFound": "Could not find this handle",
551551+ "@errorHandleNotFound": {
552552+ "description": "Error message for handle not found"
553553+ },
554554+555555+ "errorCompletingSignIn": "Completing sign in...",
556556+ "@errorCompletingSignIn": {
557557+ "description": "Loading message when completing sign in"
558558+ },
559559+560560+ "errorProfileNotFound": "Profile not found",
561561+ "@errorProfileNotFound": {
562562+ "description": "Error message for profile not found"
563563+ },
564564+565565+ "errorLoadingPost": "Error loading post",
566566+ "@errorLoadingPost": {
567567+ "description": "Error loading post message"
568568+ },
569569+570570+ "errorLoadingMessages": "Failed to load messages",
571571+ "@errorLoadingMessages": {
572572+ "description": "Error loading messages message"
573573+ },
574574+575575+ "errorLoadingConversations": "Failed to load conversations",
576576+ "@errorLoadingConversations": {
577577+ "description": "Error loading conversations message"
578578+ },
579579+580580+ "errorUnableToOpenLink": "Unable to open link right now.",
581581+ "@errorUnableToOpenLink": {
582582+ "description": "Error message when unable to open a link"
583583+ },
584584+585585+ "errorLoadingLabelerSettings": "Error Loading Labeler Settings",
586586+ "@errorLoadingLabelerSettings": {
587587+ "description": "Error loading labeler settings message"
588588+ },
589589+590590+ "errorWithDetail": "Error: {error}",
591591+ "@errorWithDetail": {
592592+ "description": "Error message with detail",
593593+ "placeholders": {
594594+ "error": {
595595+ "type": "String"
596596+ }
597597+ }
598598+ },
599599+600600+ "hintAddComment": "Add a comment...",
601601+ "@hintAddComment": {
602602+ "description": "Add a comment input placeholder"
603603+ },
604604+605605+ "hintSearchUsersMessages": "Search users",
606606+ "@hintSearchUsersMessages": {
607607+ "description": "Search users placeholder in messages"
608608+ },
609609+610610+ "dialogDeleteCommentConfirm": "Are you sure you want to delete this comment? This action cannot be undone.",
611611+ "@dialogDeleteCommentConfirm": {
612612+ "description": "Delete comment confirmation message"
613613+ },
614614+615615+ "dialogDeletePostConfirm": "Are you sure you want to delete this post? This action cannot be undone.",
616616+ "@dialogDeletePostConfirm": {
617617+ "description": "Delete post confirmation message"
618618+ },
619619+620620+ "dialogBlockUser": "Block User",
621621+ "@dialogBlockUser": {
622622+ "description": "Block user dialog title"
623623+ },
624624+625625+ "dialogBlockUserConfirm": "Are you sure you want to block this user? You will no longer see their posts.",
626626+ "@dialogBlockUserConfirm": {
627627+ "description": "Block user confirmation message"
628628+ },
629629+630630+ "dialogUnblockUser": "Unblock User",
631631+ "@dialogUnblockUser": {
632632+ "description": "Unblock user dialog title"
633633+ },
634634+635635+ "dialogUnblockUserConfirm": "Are you sure you want to unblock this user?",
636636+ "@dialogUnblockUserConfirm": {
637637+ "description": "Unblock user confirmation message"
638638+ },
639639+640640+"dialogRemoveFeedConfirm": "Are you sure you want to remove \"{name}\"?",
641641+ "@dialogRemoveFeedConfirm": {
642642+ "description": "Remove feed confirmation message with name",
643643+ "placeholders": {
644644+ "name": {
645645+ "type": "String"
646646+ }
647647+ }
648648+ },
649649+650650+ "dialogOpenBlueskyAccount": "Open Bluesky account management?",
651651+ "@dialogOpenBlueskyAccount": {
652652+ "description": "Dialog title for opening Bluesky account management"
653653+ },
654654+655655+ "dialogOpenBlueskyAccountDescription": "This opens the Bluesky account management screen. You may have to log in again.\n\nIf prompted for an account provider, use:\n{pdsUrl}",
656656+ "@dialogOpenBlueskyAccountDescription": {
657657+ "description": "Description for opening Bluesky account management dialog",
658658+ "placeholders": {
659659+ "pdsUrl": {
660660+ "type": "String"
661661+ }
662662+ }
663663+ },
664664+665665+ "pageTitleReplies": "Replies",
666666+ "@pageTitleReplies": {
667667+ "description": "Replies page title"
668668+ },
669669+670670+ "pageTitleReviewVideo": "Review Video",
671671+ "@pageTitleReviewVideo": {
672672+ "description": "Review video page title"
673673+ },
674674+675675+ "pageTitleReviewImagePost": "Review Image Post",
676676+ "@pageTitleReviewImagePost": {
677677+ "description": "Review image post page title"
678678+ },
679679+680680+ "pageTitleLegal": "Legal",
681681+ "@pageTitleLegal": {
682682+ "description": "Legal page title"
683683+ },
684684+685685+ "pageTitleFollowers": "Followers",
686686+ "@pageTitleFollowers": {
687687+ "description": "Followers page title"
688688+ },
689689+690690+ "pageTitleFollowing": "Following",
691691+ "@pageTitleFollowing": {
692692+ "description": "Following page title"
693693+ },
694694+695695+ "emptyNoVideosUsingSound": "No videos using this sound yet",
696696+ "@emptyNoVideosUsingSound": {
697697+ "description": "Empty state for no videos using a sound"
698698+ },
699699+700700+ "emptyNoPhotoLibrary": "No photos or videos found in your library.",
701701+ "@emptyNoPhotoLibrary": {
702702+ "description": "Empty state for no photos in library"
703703+ },
704704+705705+ "messagePermissionPhotoLibrary": "Allow photo library access to pick photos and videos.",
706706+ "@messagePermissionPhotoLibrary": {
707707+ "description": "Permission message for photo library access"
708708+ },
709709+710710+ "messagePostingStory": "Posting story...",
711711+ "@messagePostingStory": {
712712+ "description": "Posting story progress message"
713713+ },
714714+715715+ "messageProcessingVideo": "Processing video...",
716716+ "@messageProcessingVideo": {
717717+ "description": "Processing video progress message"
718718+ },
719719+720720+ "messageUploadingVideo": "Uploading video",
721721+ "@messageUploadingVideo": {
722722+ "description": "Uploading video status message"
723723+ },
724724+725725+ "messageReadyToPost": "Ready to post",
726726+ "@messageReadyToPost": {
727727+ "description": "Ready to post status message"
728728+ },
729729+730730+ "messageUploadFailed": "Upload failed",
731731+ "@messageUploadFailed": {
732732+ "description": "Upload failed status message"
733733+ },
734734+735735+ "messageUploadingPercent": "Uploading {percent}%",
736736+ "@messageUploadingPercent": {
737737+ "description": "Uploading percentage status message",
738738+ "placeholders": {
739739+ "percent": {
740740+ "type": "int"
741741+ }
742742+ }
743743+ },
744744+745745+ "labelOriginalSound": "Original Sound",
746746+ "@labelOriginalSound": {
747747+ "description": "Original sound label"
748748+ },
749749+750750+ "labelShare": "Share",
751751+ "@labelShare": {
752752+ "description": "Share label"
753753+ },
754754+755755+ "labelFollowing": "Following",
756756+ "@labelFollowing": {
757757+ "description": "Following label"
758758+ },
759759+760760+ "labelPosts": "Posts",
761761+ "@labelPosts": {
762762+ "description": "Posts label"
763763+ },
764764+765765+ "labelPrivacyPolicy": "Privacy Policy",
766766+ "@labelPrivacyPolicy": {
767767+ "description": "Privacy policy link label"
768768+ },
769769+770770+ "labelTermsOfService": "Terms of Service",
771771+ "@labelTermsOfService": {
772772+ "description": "Terms of service link label"
773773+ },
774774+775775+ "labelSupport": "Support",
776776+ "@labelSupport": {
777777+ "description": "Support link label"
778778+ },
779779+780780+ "tooltipBack": "Back",
781781+ "@tooltipBack": {
782782+ "description": "Back tooltip"
783783+ },
784784+785785+ "errorFailedToLoadImage": "Failed to load image",
786786+ "@errorFailedToLoadImage": {
787787+ "description": "Error message for failed image load"
788788+ },
789789+790790+ "pageTitleSignIn": "Sign In",
791791+ "@pageTitleSignIn": {
792792+ "description": "Sign in page title"
793793+ },
794794+795795+ "messageEnterHandle": "Enter your handle to continue with OAuth",
796796+ "@messageEnterHandle": {
797797+ "description": "Message to enter handle for OAuth"
798798+ },
799799+800800+ "messageCompletingSignUp": "Completing sign up...",
801801+ "@messageCompletingSignUp": {
802802+ "description": "Loading message when completing sign up"
803803+ },
804804+805805+ "messageWelcome": "Welcome!",
806806+ "@messageWelcome": {
807807+ "description": "Welcome message on register page"
808808+ },
809809+810810+ "messageWelcomeDescription": "Share videos, connect with friends,\nand take back your timeline.",
811811+ "@messageWelcomeDescription": {
812812+ "description": "Welcome description on register page"
813813+ },
814814+815815+ "labelReply": "Reply",
816816+ "@labelReply": {
817817+ "description": "Reply button label"
818818+ },
819819+820820+ "hintAddImage": "Add image (1 max)",
821821+ "@hintAddImage": {
822822+ "description": "Add image tooltip"
823823+ },
824824+825825+ "messagePostingImage": "Posting...",
826826+ "@messagePostingImage": {
827827+ "description": "Posting image progress message"
828828+ },
829829+830830+ "messageMaximumImagesReached": "Maximum images reached",
831831+ "@messageMaximumImagesReached": {
832832+ "description": "Maximum images reached tooltip"
833833+ },
834834+835835+ "labelSound": "Sound",
836836+ "@labelSound": {
837837+ "description": "Sound label for video editor toolbar"
838838+ },
839839+840840+ "labelStickers": "Stickers",
841841+ "@labelStickers": {
842842+ "description": "Stickers label"
843843+ },
844844+845845+ "labelPaint": "Paint",
846846+ "@labelPaint": {
847847+ "description": "Paint editor label"
848848+ },
849849+850850+ "labelText": "Text",
851851+ "@labelText": {
852852+ "description": "Text editor label"
853853+ },
854854+855855+ "labelCrop": "Crop",
856856+ "@labelCrop": {
857857+ "description": "Crop editor label"
858858+ },
859859+860860+ "labelTune": "Tune",
861861+ "@labelTune": {
862862+ "description": "Tune editor label"
863863+ },
864864+865865+ "labelFilter": "Filter",
866866+ "@labelFilter": {
867867+ "description": "Filter editor label"
868868+ },
869869+870870+ "labelBlur": "Blur",
871871+ "@labelBlur": {
872872+ "description": "Blur editor label"
873873+ },
874874+875875+ "labelEmoji": "Emoji",
876876+ "@labelEmoji": {
877877+ "description": "Emoji editor label"
878878+ },
879879+880880+ "labelMention": "Mention",
881881+ "@labelMention": {
882882+ "description": "Mention editor label"
883883+ },
884884+885885+ "labelDraw": "Draw",
886886+ "@labelDraw": {
887887+ "description": "Draw editor label"
888888+ },
889889+890890+ "labelMyAwesomeVideo": "My awesome video",
891891+ "@labelMyAwesomeVideo": {
892892+ "description": "Default video clip title"
893893+ },
894894+895895+ "errorUploadingVideo": "Uploading video",
896896+ "@errorUploadingVideo": {
897897+ "description": "Video upload status when uploading"
898898+ },
899899+900900+ "errorProcessingVideoStatus": "Processing video",
901901+ "@errorProcessingVideoStatus": {
902902+ "description": "Video processing status"
903903+ },
904904+905905+ "errorReadyToPost": "Ready to post",
906906+ "@errorReadyToPost": {
907907+ "description": "Ready to post status"
908908+ },
909909+910910+ "errorUploadFailed": "Upload failed",
911911+ "@errorUploadFailed": {
912912+ "description": "Upload failed status"
913913+ },
914914+915915+ "errorSnackBar": "Error: {error}",
916916+ "@errorSnackBar": {
917917+ "description": "Error message in snackbar",
918918+ "placeholders": {
919919+ "error": {
920920+ "type": "String"
921921+ }
922922+ }
923923+ },
924924+925925+ "buttonLikeFeed": "Like Feed",
926926+ "@buttonLikeFeed": {
927927+ "description": "Like feed button text"
928928+ },
929929+930930+ "buttonUnlikeFeed": "Unlike Feed",
931931+ "@buttonUnlikeFeed": {
932932+ "description": "Unlike feed button text"
933933+ },
934934+935935+ "emptyNoNotifications": "No notifications",
936936+ "@emptyNoNotifications": {
937937+ "description": "Empty state for no notifications"
938938+ },
939939+940940+ "messageAllCaughtUp": "You''re all caught up!",
941941+ "@messageAllCaughtUp": {
942942+ "description": "Message when all notifications are read"
943943+ },
944944+945945+ "messageLabelerConfigDescription": "Configure how this labeler''s content labels are handled in your feeds.",
946946+ "@messageLabelerConfigDescription": {
947947+ "description": "Description for labeler configuration"
948948+ },
949949+950950+ "errorLoadingNotifications": "Failed to load notifications",
951951+ "@errorLoadingNotifications": {
952952+ "description": "Error loading notifications message"
953953+ },
954954+955955+ "labelContentLabelSettings": "Content Label Settings",
956956+ "@labelContentLabelSettings": {
957957+ "description": "Content label settings title"
958958+ },
959959+960960+ "errorPhotoSelectLimit": "You can only select photos in multi-select mode.",
961961+ "@errorPhotoSelectLimit": {
962962+ "description": "Error when trying to select photos in single-select mode"
963963+ },
964964+965965+ "errorPhotoSelectMax": "You can select up to {max}.",
966966+ "@errorPhotoSelectMax": {
967967+ "description": "Error when exceeding max photo selection",
968968+ "placeholders": {
969969+ "max": {
970970+ "type": "int"
971971+ }
972972+ }
973973+ },
974974+975975+ "errorUnableToAccessPhotos": "Unable to access the selected photos.",
976976+ "@errorUnableToAccessPhotos": {
977977+ "description": "Error when unable to access selected photos"
978978+ },
979979+980980+ "errorUnableToAccessMedia": "Unable to access this media item.",
981981+ "@errorUnableToAccessMedia": {
982982+ "description": "Error when unable to access a media item"
983983+ },
984984+985985+ "labelSingleSelect": "Single Select",
986986+ "@labelSingleSelect": {
987987+ "description": "Single select mode label"
988988+ },
989989+990990+ "labelSelectMultiple": "Select multiple",
991991+ "@labelSelectMultiple": {
992992+ "description": "Select multiple mode label"
993993+ },
994994+995995+ "labelLibrary": "Library",
996996+ "@labelLibrary": {
997997+ "description": "Library header label"
998998+ },
999999+10001000+ "labelDoneCount": "Done ({current}/{max})",
10011001+ "@labelDoneCount": {
10021002+ "description": "Done button with selection count",
10031003+ "placeholders": {
10041004+ "current": {
10051005+ "type": "int"
10061006+ },
10071007+ "max": {
10081008+ "type": "int"
10091009+ }
10101010+ }
10111011+ },
10121012+10131013+ "messageLimitedLibraryAccess": "Limited library access is enabled. You can change this in settings.",
10141014+ "@messageLimitedLibraryAccess": {
10151015+ "description": "Permission info about limited library access"
10161016+ },
10171017+10181018+ "tabPosts": "Posts",
10191019+ "@tabPosts": {
10201020+ "description": "Posts search tab label"
10211021+ },
10221022+10231023+ "tabUsers": "Users",
10241024+ "@tabUsers": {
10251025+ "description": "Users search tab label"
10261026+ },
10271027+10281028+ "hintSearchByHandle": "Search by handle or display name",
10291029+ "@hintSearchByHandle": {
10301030+ "description": "Search by handle or display name placeholder"
10311031+ },
10321032+10331033+ "labelFeedByCreator": "by @{handle}",
10341034+ "@labelFeedByCreator": {
10351035+ "description": "Feed creator attribution label",
10361036+ "placeholders": {
10371037+ "handle": {
10381038+ "type": "String"
10391039+ }
10401040+ }
10411041+ },
10421042+10431043+ "messagePostsFromFollowing": "Posts from people you follow",
10441044+ "@messagePostsFromFollowing": {
10451045+ "description": "Subtitle for following/timeline feed"
10461046+ },
10471047+10481048+ "buttonAddFeed": "Add feed",
10491049+ "@buttonAddFeed": {
10501050+ "description": "Add feed button text"
10511051+ },
10521052+10531053+ "buttonUnpinFeed": "Unpin feed",
10541054+ "@buttonUnpinFeed": {
10551055+ "description": "Unpin feed button text"
10561056+ },
10571057+10581058+ "buttonPinFeed": "Pin feed",
10591059+ "@buttonPinFeed": {
10601060+ "description": "Pin feed button text"
10611061+ },
10621062+10631063+ "emptyNoConversations": "No conversations yet",
10641064+ "@emptyNoConversations": {
10651065+ "description": "Empty state for no conversations in share panel"
10661066+ },
10671067+10681068+ "messageSending": "Sending...",
10691069+ "@messageSending": {
10701070+ "description": "Sending message progress indicator"
10711071+ },
10721072+10731073+ "buttonSend": "Send",
10741074+ "@buttonSend": {
10751075+ "description": "Send button text"
4881076 }
4891077}