main → zio/dev
commit
ab50344598
|
@ -0,0 +1,17 @@
|
||||||
|
import React from 'react'
|
||||||
|
|
||||||
|
const MessageContext = React.createContext(false)
|
||||||
|
|
||||||
|
export function MessageContextProvider({
|
||||||
|
children,
|
||||||
|
}: {
|
||||||
|
children: React.ReactNode
|
||||||
|
}) {
|
||||||
|
return (
|
||||||
|
<MessageContext.Provider value={true}>{children}</MessageContext.Provider>
|
||||||
|
)
|
||||||
|
}
|
||||||
|
|
||||||
|
export function useIsWithinMessage() {
|
||||||
|
return React.useContext(MessageContext)
|
||||||
|
}
|
|
@ -4,6 +4,7 @@ import {AppBskyEmbedRecord} from '@atproto/api'
|
||||||
|
|
||||||
import {PostEmbeds, PostEmbedViewContext} from '#/view/com/util/post-embeds'
|
import {PostEmbeds, PostEmbedViewContext} from '#/view/com/util/post-embeds'
|
||||||
import {atoms as a, native, useTheme} from '#/alf'
|
import {atoms as a, native, useTheme} from '#/alf'
|
||||||
|
import {MessageContextProvider} from './MessageContext'
|
||||||
|
|
||||||
let MessageItemEmbed = ({
|
let MessageItemEmbed = ({
|
||||||
embed,
|
embed,
|
||||||
|
@ -13,6 +14,7 @@ let MessageItemEmbed = ({
|
||||||
const t = useTheme()
|
const t = useTheme()
|
||||||
|
|
||||||
return (
|
return (
|
||||||
|
<MessageContextProvider>
|
||||||
<View style={[a.my_xs, t.atoms.bg, native({flexBasis: 0})]}>
|
<View style={[a.my_xs, t.atoms.bg, native({flexBasis: 0})]}>
|
||||||
<PostEmbeds
|
<PostEmbeds
|
||||||
embed={embed}
|
embed={embed}
|
||||||
|
@ -20,6 +22,7 @@ let MessageItemEmbed = ({
|
||||||
viewContext={PostEmbedViewContext.Feed}
|
viewContext={PostEmbedViewContext.Feed}
|
||||||
/>
|
/>
|
||||||
</View>
|
</View>
|
||||||
|
</MessageContextProvider>
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
MessageItemEmbed = React.memo(MessageItemEmbed)
|
MessageItemEmbed = React.memo(MessageItemEmbed)
|
||||||
|
|
|
@ -5,7 +5,7 @@ import {SUPPORTED_MIME_TYPES, SupportedMimeTypes} from '#/lib/constants'
|
||||||
import {extToMime} from '#/state/queries/video/util'
|
import {extToMime} from '#/state/queries/video/util'
|
||||||
import {CompressedVideo} from './types'
|
import {CompressedVideo} from './types'
|
||||||
|
|
||||||
const MIN_SIZE_FOR_COMPRESSION = 1024 * 1024 * 25 // 25mb
|
const MIN_SIZE_FOR_COMPRESSION = 25 // 25mb
|
||||||
|
|
||||||
export async function compressVideo(
|
export async function compressVideo(
|
||||||
file: ImagePickerAsset,
|
file: ImagePickerAsset,
|
||||||
|
@ -30,6 +30,7 @@ export async function compressVideo(
|
||||||
compressionMethod: 'manual',
|
compressionMethod: 'manual',
|
||||||
bitrate: 3_000_000, // 3mbps
|
bitrate: 3_000_000, // 3mbps
|
||||||
maxSize: 1920,
|
maxSize: 1920,
|
||||||
|
// WARNING: this ONE SPECIFIC ARG is in MB -sfn
|
||||||
minimumFileSizeForCompress,
|
minimumFileSizeForCompress,
|
||||||
getCancellationId: id => {
|
getCancellationId: id => {
|
||||||
if (signal) {
|
if (signal) {
|
||||||
|
|
|
@ -127,7 +127,7 @@ msgstr ""
|
||||||
msgid "{0} joined this week"
|
msgid "{0} joined this week"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/view/com/util/post-embeds/VideoEmbedInner/VideoWebControls.tsx:593
|
#: src/view/com/util/post-embeds/VideoEmbedInner/VideoWebControls.tsx:637
|
||||||
msgid "{0} of {1}"
|
msgid "{0} of {1}"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
@ -461,7 +461,7 @@ msgstr ""
|
||||||
#~ msgid "Add ALT text"
|
#~ msgid "Add ALT text"
|
||||||
#~ msgstr ""
|
#~ msgstr ""
|
||||||
|
|
||||||
#: src/view/com/composer/videos/SubtitleDialog.tsx:107
|
#: src/view/com/composer/videos/SubtitleDialog.tsx:109
|
||||||
msgid "Add alt text (optional)"
|
msgid "Add alt text (optional)"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
@ -607,9 +607,9 @@ msgid "ALT"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/view/com/composer/GifAltText.tsx:144
|
#: src/view/com/composer/GifAltText.tsx:144
|
||||||
#: src/view/com/composer/videos/SubtitleDialog.tsx:54
|
#: src/view/com/composer/videos/SubtitleDialog.tsx:56
|
||||||
#: src/view/com/composer/videos/SubtitleDialog.tsx:102
|
#: src/view/com/composer/videos/SubtitleDialog.tsx:104
|
||||||
#: src/view/com/composer/videos/SubtitleDialog.tsx:106
|
#: src/view/com/composer/videos/SubtitleDialog.tsx:108
|
||||||
#: src/view/com/modals/EditImage.tsx:316
|
#: src/view/com/modals/EditImage.tsx:316
|
||||||
#: src/view/screens/AccessibilitySettings.tsx:87
|
#: src/view/screens/AccessibilitySettings.tsx:87
|
||||||
msgid "Alt text"
|
msgid "Alt text"
|
||||||
|
@ -640,7 +640,7 @@ msgstr ""
|
||||||
#~ msgid "An error occured"
|
#~ msgid "An error occured"
|
||||||
#~ msgstr ""
|
#~ msgstr ""
|
||||||
|
|
||||||
#: src/view/com/util/post-embeds/VideoEmbedInner/VideoWebControls.tsx:369
|
#: src/view/com/util/post-embeds/VideoEmbedInner/VideoWebControls.tsx:413
|
||||||
msgid "An error occurred"
|
msgid "An error occurred"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
@ -652,11 +652,11 @@ msgstr ""
|
||||||
msgid "An error occurred while generating your starter pack. Want to try again?"
|
msgid "An error occurred while generating your starter pack. Want to try again?"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/view/com/util/post-embeds/VideoEmbed.tsx:213
|
#: src/view/com/util/post-embeds/VideoEmbed.tsx:215
|
||||||
msgid "An error occurred while loading the video. Please try again later."
|
msgid "An error occurred while loading the video. Please try again later."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/view/com/util/post-embeds/VideoEmbed.web.tsx:170
|
#: src/view/com/util/post-embeds/VideoEmbed.web.tsx:171
|
||||||
msgid "An error occurred while loading the video. Please try again."
|
msgid "An error occurred while loading the video. Please try again."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
@ -669,7 +669,7 @@ msgstr ""
|
||||||
msgid "An error occurred while saving the QR code!"
|
msgid "An error occurred while saving the QR code!"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/view/com/composer/videos/SelectVideoBtn.tsx:61
|
#: src/view/com/composer/videos/SelectVideoBtn.tsx:68
|
||||||
msgid "An error occurred while selecting the video"
|
msgid "An error occurred while selecting the video"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
@ -844,7 +844,7 @@ msgstr ""
|
||||||
msgid "Are you sure you want to remove this from your feeds?"
|
msgid "Are you sure you want to remove this from your feeds?"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/view/com/composer/Composer.tsx:837
|
#: src/view/com/composer/Composer.tsx:841
|
||||||
msgid "Are you sure you'd like to discard this draft?"
|
msgid "Are you sure you'd like to discard this draft?"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
@ -1096,8 +1096,8 @@ msgstr ""
|
||||||
#: src/components/Prompt.tsx:124
|
#: src/components/Prompt.tsx:124
|
||||||
#: src/components/TagMenu/index.tsx:282
|
#: src/components/TagMenu/index.tsx:282
|
||||||
#: src/screens/Deactivated.tsx:161
|
#: src/screens/Deactivated.tsx:161
|
||||||
#: src/view/com/composer/Composer.tsx:591
|
#: src/view/com/composer/Composer.tsx:595
|
||||||
#: src/view/com/composer/Composer.tsx:606
|
#: src/view/com/composer/Composer.tsx:610
|
||||||
#: src/view/com/modals/ChangeEmail.tsx:213
|
#: src/view/com/modals/ChangeEmail.tsx:213
|
||||||
#: src/view/com/modals/ChangeEmail.tsx:215
|
#: src/view/com/modals/ChangeEmail.tsx:215
|
||||||
#: src/view/com/modals/ChangeHandle.tsx:148
|
#: src/view/com/modals/ChangeHandle.tsx:148
|
||||||
|
@ -1165,11 +1165,11 @@ msgstr ""
|
||||||
msgid "Cannot interact with a blocked user"
|
msgid "Cannot interact with a blocked user"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/view/com/composer/videos/SubtitleDialog.tsx:133
|
#: src/view/com/composer/videos/SubtitleDialog.tsx:135
|
||||||
msgid "Captions (.vtt)"
|
msgid "Captions (.vtt)"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/view/com/composer/videos/SubtitleDialog.tsx:54
|
#: src/view/com/composer/videos/SubtitleDialog.tsx:56
|
||||||
msgid "Captions & alt text"
|
msgid "Captions & alt text"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
@ -1457,7 +1457,7 @@ msgstr ""
|
||||||
msgid "Closes password update alert"
|
msgid "Closes password update alert"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/view/com/composer/Composer.tsx:603
|
#: src/view/com/composer/Composer.tsx:607
|
||||||
msgid "Closes post composer and discards post draft"
|
msgid "Closes post composer and discards post draft"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
@ -1496,7 +1496,7 @@ msgstr ""
|
||||||
msgid "Complete the challenge"
|
msgid "Complete the challenge"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/view/com/composer/Composer.tsx:711
|
#: src/view/com/composer/Composer.tsx:715
|
||||||
msgid "Compose posts up to {MAX_GRAPHEME_LENGTH} characters in length"
|
msgid "Compose posts up to {MAX_GRAPHEME_LENGTH} characters in length"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
@ -1742,7 +1742,7 @@ msgstr ""
|
||||||
msgid "Could not mute chat"
|
msgid "Could not mute chat"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/view/com/composer/videos/VideoPreview.web.tsx:45
|
#: src/view/com/composer/videos/VideoPreview.web.tsx:56
|
||||||
msgid "Could not process your video"
|
msgid "Could not process your video"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
@ -2005,7 +2005,7 @@ msgstr ""
|
||||||
msgid "Dialog: adjust who can interact with this post"
|
msgid "Dialog: adjust who can interact with this post"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/view/com/composer/Composer.tsx:352
|
#: src/view/com/composer/Composer.tsx:356
|
||||||
msgid "Did you want to say anything?"
|
msgid "Did you want to say anything?"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
@ -2038,7 +2038,7 @@ msgstr ""
|
||||||
#~ msgid "Disable haptics"
|
#~ msgid "Disable haptics"
|
||||||
#~ msgstr ""
|
#~ msgstr ""
|
||||||
|
|
||||||
#: src/view/com/util/post-embeds/VideoEmbedInner/VideoWebControls.tsx:335
|
#: src/view/com/util/post-embeds/VideoEmbedInner/VideoWebControls.tsx:379
|
||||||
msgid "Disable subtitles"
|
msgid "Disable subtitles"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
@ -2055,11 +2055,11 @@ msgstr ""
|
||||||
msgid "Disabled"
|
msgid "Disabled"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/view/com/composer/Composer.tsx:839
|
#: src/view/com/composer/Composer.tsx:843
|
||||||
msgid "Discard"
|
msgid "Discard"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/view/com/composer/Composer.tsx:836
|
#: src/view/com/composer/Composer.tsx:840
|
||||||
msgid "Discard draft?"
|
msgid "Discard draft?"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
@ -2089,7 +2089,7 @@ msgstr ""
|
||||||
#~ msgid "Dismiss"
|
#~ msgid "Dismiss"
|
||||||
#~ msgstr ""
|
#~ msgstr ""
|
||||||
|
|
||||||
#: src/view/com/composer/Composer.tsx:1106
|
#: src/view/com/composer/Composer.tsx:1110
|
||||||
msgid "Dismiss error"
|
msgid "Dismiss error"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
@ -2141,8 +2141,8 @@ msgstr ""
|
||||||
#: src/screens/Onboarding/StepProfile/index.tsx:325
|
#: src/screens/Onboarding/StepProfile/index.tsx:325
|
||||||
#: src/view/com/auth/server-input/index.tsx:169
|
#: src/view/com/auth/server-input/index.tsx:169
|
||||||
#: src/view/com/auth/server-input/index.tsx:170
|
#: src/view/com/auth/server-input/index.tsx:170
|
||||||
#: src/view/com/composer/videos/SubtitleDialog.tsx:167
|
#: src/view/com/composer/videos/SubtitleDialog.tsx:171
|
||||||
#: src/view/com/composer/videos/SubtitleDialog.tsx:177
|
#: src/view/com/composer/videos/SubtitleDialog.tsx:181
|
||||||
#: src/view/com/modals/AddAppPasswords.tsx:243
|
#: src/view/com/modals/AddAppPasswords.tsx:243
|
||||||
#: src/view/com/modals/AltImage.tsx:141
|
#: src/view/com/modals/AltImage.tsx:141
|
||||||
#: src/view/com/modals/crop-image/CropImage.web.tsx:177
|
#: src/view/com/modals/crop-image/CropImage.web.tsx:177
|
||||||
|
@ -2417,7 +2417,7 @@ msgstr ""
|
||||||
msgid "Enable priority notifications"
|
msgid "Enable priority notifications"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/view/com/util/post-embeds/VideoEmbedInner/VideoWebControls.tsx:336
|
#: src/view/com/util/post-embeds/VideoEmbedInner/VideoWebControls.tsx:380
|
||||||
msgid "Enable subtitles"
|
msgid "Enable subtitles"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
@ -2447,7 +2447,7 @@ msgstr ""
|
||||||
#~ msgid "End of onboarding tour window. Do not move forward. Instead, go backward for more options, or press to skip."
|
#~ msgid "End of onboarding tour window. Do not move forward. Instead, go backward for more options, or press to skip."
|
||||||
#~ msgstr ""
|
#~ msgstr ""
|
||||||
|
|
||||||
#: src/view/com/composer/videos/SubtitleDialog.tsx:157
|
#: src/view/com/composer/videos/SubtitleDialog.tsx:161
|
||||||
msgid "Ensure you have selected a language for each subtitle file."
|
msgid "Ensure you have selected a language for each subtitle file."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
@ -2549,7 +2549,7 @@ msgstr ""
|
||||||
msgid "Excludes users you follow"
|
msgid "Excludes users you follow"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/view/com/util/post-embeds/VideoEmbedInner/VideoWebControls.tsx:353
|
#: src/view/com/util/post-embeds/VideoEmbedInner/VideoWebControls.tsx:397
|
||||||
msgid "Exit fullscreen"
|
msgid "Exit fullscreen"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
@ -3057,7 +3057,7 @@ msgctxt "from-feed"
|
||||||
msgid "From <0/>"
|
msgid "From <0/>"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/view/com/util/post-embeds/VideoEmbedInner/VideoWebControls.tsx:354
|
#: src/view/com/util/post-embeds/VideoEmbedInner/VideoWebControls.tsx:398
|
||||||
msgid "Fullscreen"
|
msgid "Fullscreen"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
@ -3526,7 +3526,7 @@ msgstr ""
|
||||||
msgid "It's just you right now! Add more people to your starter pack by searching above."
|
msgid "It's just you right now! Add more people to your starter pack by searching above."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/view/com/composer/Composer.tsx:1125
|
#: src/view/com/composer/Composer.tsx:1129
|
||||||
msgid "Job ID: {0}"
|
msgid "Job ID: {0}"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
@ -4046,12 +4046,12 @@ msgstr ""
|
||||||
msgid "Music"
|
msgid "Music"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/view/com/util/post-embeds/VideoEmbedInner/VideoWebControls.tsx:345
|
#: src/components/TagMenu/index.tsx:263
|
||||||
msgctxt "video"
|
|
||||||
msgid "Mute"
|
msgid "Mute"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/components/TagMenu/index.tsx:263
|
#: src/view/com/util/post-embeds/VideoEmbedInner/VideoWebControls.tsx:389
|
||||||
|
msgctxt "video"
|
||||||
msgid "Mute"
|
msgid "Mute"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
@ -4583,7 +4583,7 @@ msgstr ""
|
||||||
#~ msgid "Onboarding tour step {0}: {1}"
|
#~ msgid "Onboarding tour step {0}: {1}"
|
||||||
#~ msgstr ""
|
#~ msgstr ""
|
||||||
|
|
||||||
#: src/view/com/composer/Composer.tsx:668
|
#: src/view/com/composer/Composer.tsx:672
|
||||||
msgid "One or more images is missing alt text."
|
msgid "One or more images is missing alt text."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
@ -4638,8 +4638,8 @@ msgid "Open conversation options"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/screens/Messages/Conversation/MessageInput.web.tsx:165
|
#: src/screens/Messages/Conversation/MessageInput.web.tsx:165
|
||||||
#: src/view/com/composer/Composer.tsx:819
|
#: src/view/com/composer/Composer.tsx:823
|
||||||
#: src/view/com/composer/Composer.tsx:820
|
#: src/view/com/composer/Composer.tsx:824
|
||||||
msgid "Open emoji picker"
|
msgid "Open emoji picker"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
@ -4825,7 +4825,7 @@ msgstr ""
|
||||||
msgid "Opens this profile"
|
msgid "Opens this profile"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/view/com/composer/videos/SelectVideoBtn.tsx:81
|
#: src/view/com/composer/videos/SelectVideoBtn.tsx:88
|
||||||
msgid "Opens video picker"
|
msgid "Opens video picker"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
@ -4903,11 +4903,11 @@ msgid "Password updated!"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/view/com/util/post-embeds/GifEmbed.tsx:44
|
#: src/view/com/util/post-embeds/GifEmbed.tsx:44
|
||||||
#: src/view/com/util/post-embeds/VideoEmbedInner/VideoWebControls.tsx:322
|
#: src/view/com/util/post-embeds/VideoEmbedInner/VideoWebControls.tsx:366
|
||||||
msgid "Pause"
|
msgid "Pause"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/view/com/util/post-embeds/VideoEmbedInner/VideoWebControls.tsx:275
|
#: src/view/com/util/post-embeds/VideoEmbedInner/VideoWebControls.tsx:319
|
||||||
msgid "Pause video"
|
msgid "Pause video"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
@ -4967,7 +4967,7 @@ msgid "Pinned to your feeds"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/view/com/util/post-embeds/GifEmbed.tsx:44
|
#: src/view/com/util/post-embeds/GifEmbed.tsx:44
|
||||||
#: src/view/com/util/post-embeds/VideoEmbedInner/VideoWebControls.tsx:323
|
#: src/view/com/util/post-embeds/VideoEmbedInner/VideoWebControls.tsx:367
|
||||||
msgid "Play"
|
msgid "Play"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
@ -4984,8 +4984,8 @@ msgstr ""
|
||||||
msgid "Play or pause the GIF"
|
msgid "Play or pause the GIF"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/view/com/util/post-embeds/VideoEmbed.tsx:187
|
#: src/view/com/util/post-embeds/VideoEmbed.tsx:189
|
||||||
#: src/view/com/util/post-embeds/VideoEmbedInner/VideoWebControls.tsx:276
|
#: src/view/com/util/post-embeds/VideoEmbedInner/VideoWebControls.tsx:320
|
||||||
msgid "Play video"
|
msgid "Play video"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
@ -5057,7 +5057,7 @@ msgstr ""
|
||||||
msgid "Please Verify Your Email"
|
msgid "Please Verify Your Email"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/view/com/composer/Composer.tsx:356
|
#: src/view/com/composer/Composer.tsx:360
|
||||||
msgid "Please wait for your link card to finish loading"
|
msgid "Please wait for your link card to finish loading"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
@ -5070,8 +5070,8 @@ msgstr ""
|
||||||
msgid "Porn"
|
msgid "Porn"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/view/com/composer/Composer.tsx:643
|
#: src/view/com/composer/Composer.tsx:647
|
||||||
#: src/view/com/composer/Composer.tsx:650
|
#: src/view/com/composer/Composer.tsx:654
|
||||||
msgctxt "action"
|
msgctxt "action"
|
||||||
msgid "Post"
|
msgid "Post"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
@ -5250,11 +5250,11 @@ msgstr ""
|
||||||
msgid "Public, shareable lists which can drive feeds."
|
msgid "Public, shareable lists which can drive feeds."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/view/com/composer/Composer.tsx:628
|
#: src/view/com/composer/Composer.tsx:632
|
||||||
msgid "Publish post"
|
msgid "Publish post"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/view/com/composer/Composer.tsx:628
|
#: src/view/com/composer/Composer.tsx:632
|
||||||
msgid "Publish reply"
|
msgid "Publish reply"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
@ -5482,7 +5482,7 @@ msgstr ""
|
||||||
msgid "Remove repost"
|
msgid "Remove repost"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/view/com/composer/videos/SubtitleDialog.tsx:260
|
#: src/view/com/composer/videos/SubtitleDialog.tsx:264
|
||||||
msgid "Remove subtitle file"
|
msgid "Remove subtitle file"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
@ -5559,7 +5559,7 @@ msgstr ""
|
||||||
#~ msgid "Replies to this thread are disabled"
|
#~ msgid "Replies to this thread are disabled"
|
||||||
#~ msgstr ""
|
#~ msgstr ""
|
||||||
|
|
||||||
#: src/view/com/composer/Composer.tsx:641
|
#: src/view/com/composer/Composer.tsx:645
|
||||||
msgctxt "action"
|
msgctxt "action"
|
||||||
msgid "Reply"
|
msgid "Reply"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
@ -6053,7 +6053,7 @@ msgstr ""
|
||||||
#~ msgid "See what's next"
|
#~ msgid "See what's next"
|
||||||
#~ msgstr ""
|
#~ msgstr ""
|
||||||
|
|
||||||
#: src/view/com/util/post-embeds/VideoEmbedInner/VideoWebControls.tsx:587
|
#: src/view/com/util/post-embeds/VideoEmbedInner/VideoWebControls.tsx:631
|
||||||
msgid "Seek slider"
|
msgid "Seek slider"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
@ -6093,7 +6093,7 @@ msgstr ""
|
||||||
msgid "Select how long to mute this word for."
|
msgid "Select how long to mute this word for."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/view/com/composer/videos/SubtitleDialog.tsx:245
|
#: src/view/com/composer/videos/SubtitleDialog.tsx:249
|
||||||
msgid "Select language..."
|
msgid "Select language..."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
@ -6133,7 +6133,7 @@ msgstr ""
|
||||||
#~ msgid "Select topical feeds to follow from the list below"
|
#~ msgid "Select topical feeds to follow from the list below"
|
||||||
#~ msgstr ""
|
#~ msgstr ""
|
||||||
|
|
||||||
#: src/view/com/composer/videos/SelectVideoBtn.tsx:80
|
#: src/view/com/composer/videos/SelectVideoBtn.tsx:87
|
||||||
msgid "Select video"
|
msgid "Select video"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
@ -7429,7 +7429,7 @@ msgstr ""
|
||||||
msgid "To report a conversation, please report one of its messages via the conversation screen. This lets our moderators understand the context of your issue."
|
msgid "To report a conversation, please report one of its messages via the conversation screen. This lets our moderators understand the context of your issue."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/view/com/composer/videos/SelectVideoBtn.tsx:106
|
#: src/view/com/composer/videos/SelectVideoBtn.tsx:113
|
||||||
msgid "To upload videos to Bluesky, you must first verify your email."
|
msgid "To upload videos to Bluesky, you must first verify your email."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
@ -7572,13 +7572,13 @@ msgstr ""
|
||||||
msgid "Unlike this feed"
|
msgid "Unlike this feed"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/view/com/util/post-embeds/VideoEmbedInner/VideoWebControls.tsx:344
|
#: src/components/TagMenu/index.tsx:263
|
||||||
msgctxt "video"
|
#: src/view/screens/ProfileList.tsx:689
|
||||||
msgid "Unmute"
|
msgid "Unmute"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/components/TagMenu/index.tsx:263
|
#: src/view/com/util/post-embeds/VideoEmbedInner/VideoWebControls.tsx:388
|
||||||
#: src/view/screens/ProfileList.tsx:689
|
msgctxt "video"
|
||||||
msgid "Unmute"
|
msgid "Unmute"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
@ -7608,7 +7608,7 @@ msgstr ""
|
||||||
msgid "Unmute thread"
|
msgid "Unmute thread"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/view/com/util/post-embeds/VideoEmbedInner/VideoWebControls.tsx:273
|
#: src/view/com/util/post-embeds/VideoEmbedInner/VideoWebControls.tsx:317
|
||||||
msgid "Unmute video"
|
msgid "Unmute video"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
@ -7837,7 +7837,7 @@ msgstr ""
|
||||||
msgid "Value:"
|
msgid "Value:"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/view/com/composer/videos/SelectVideoBtn.tsx:104
|
#: src/view/com/composer/videos/SelectVideoBtn.tsx:111
|
||||||
msgid "Verified email required"
|
msgid "Verified email required"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
@ -7870,7 +7870,7 @@ msgstr ""
|
||||||
msgid "Verify New Email"
|
msgid "Verify New Email"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/view/com/composer/videos/SelectVideoBtn.tsx:108
|
#: src/view/com/composer/videos/SelectVideoBtn.tsx:115
|
||||||
msgid "Verify now"
|
msgid "Verify now"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
@ -7904,11 +7904,11 @@ msgstr ""
|
||||||
msgid "Video Games"
|
msgid "Video Games"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/view/com/util/post-embeds/VideoEmbed.web.tsx:163
|
#: src/view/com/util/post-embeds/VideoEmbed.web.tsx:164
|
||||||
msgid "Video not found."
|
msgid "Video not found."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/view/com/composer/videos/SubtitleDialog.tsx:99
|
#: src/view/com/composer/videos/SubtitleDialog.tsx:101
|
||||||
msgid "Video settings"
|
msgid "Video settings"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
@ -7920,6 +7920,11 @@ msgstr ""
|
||||||
#~ msgid "Videos cannot be larger than 50MB"
|
#~ msgid "Videos cannot be larger than 50MB"
|
||||||
#~ msgstr ""
|
#~ msgstr ""
|
||||||
|
|
||||||
|
#: src/view/com/composer/videos/SelectVideoBtn.tsx:58
|
||||||
|
#: src/view/com/composer/videos/VideoPreview.web.tsx:44
|
||||||
|
msgid "Videos must be less than 60 seconds long"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/screens/Profile/Header/Shell.tsx:113
|
#: src/screens/Profile/Header/Shell.tsx:113
|
||||||
msgid "View {0}'s avatar"
|
msgid "View {0}'s avatar"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
@ -8093,7 +8098,7 @@ msgstr ""
|
||||||
msgid "We're sorry, but your search could not be completed. Please try again in a few minutes."
|
msgid "We're sorry, but your search could not be completed. Please try again in a few minutes."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/view/com/composer/Composer.tsx:418
|
#: src/view/com/composer/Composer.tsx:422
|
||||||
msgid "We're sorry! The post you are replying to has been deleted."
|
msgid "We're sorry! The post you are replying to has been deleted."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
@ -8132,7 +8137,7 @@ msgstr ""
|
||||||
|
|
||||||
#: src/view/com/auth/SplashScreen.tsx:40
|
#: src/view/com/auth/SplashScreen.tsx:40
|
||||||
#: src/view/com/auth/SplashScreen.web.tsx:86
|
#: src/view/com/auth/SplashScreen.web.tsx:86
|
||||||
#: src/view/com/composer/Composer.tsx:513
|
#: src/view/com/composer/Composer.tsx:517
|
||||||
msgid "What's up?"
|
msgid "What's up?"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
@ -8207,11 +8212,11 @@ msgstr ""
|
||||||
msgid "Write a message"
|
msgid "Write a message"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/view/com/composer/Composer.tsx:709
|
#: src/view/com/composer/Composer.tsx:713
|
||||||
msgid "Write post"
|
msgid "Write post"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/view/com/composer/Composer.tsx:512
|
#: src/view/com/composer/Composer.tsx:516
|
||||||
#: src/view/com/post-thread/PostThreadComposePrompt.tsx:42
|
#: src/view/com/post-thread/PostThreadComposePrompt.tsx:42
|
||||||
msgid "Write your reply"
|
msgid "Write your reply"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
@ -8571,7 +8576,7 @@ msgstr ""
|
||||||
msgid "Your birth date"
|
msgid "Your birth date"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/view/com/util/post-embeds/VideoEmbed.web.tsx:167
|
#: src/view/com/util/post-embeds/VideoEmbed.web.tsx:168
|
||||||
msgid "Your browser does not support the video format. Please try a different browser."
|
msgid "Your browser does not support the video format. Please try a different browser."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
@ -8626,7 +8631,7 @@ msgstr ""
|
||||||
msgid "Your password has been changed successfully!"
|
msgid "Your password has been changed successfully!"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/view/com/composer/Composer.tsx:464
|
#: src/view/com/composer/Composer.tsx:468
|
||||||
msgid "Your post has been published"
|
msgid "Your post has been published"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
@ -8642,7 +8647,7 @@ msgstr ""
|
||||||
msgid "Your profile, posts, feeds, and lists will no longer be visible to other Bluesky users. You can reactivate your account at any time by logging in."
|
msgid "Your profile, posts, feeds, and lists will no longer be visible to other Bluesky users. You can reactivate your account at any time by logging in."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/view/com/composer/Composer.tsx:463
|
#: src/view/com/composer/Composer.tsx:467
|
||||||
msgid "Your reply has been published"
|
msgid "Your reply has been published"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
|
|
@ -127,7 +127,7 @@ msgstr ""
|
||||||
msgid "{0} joined this week"
|
msgid "{0} joined this week"
|
||||||
msgstr "{0} entrou esta semana"
|
msgstr "{0} entrou esta semana"
|
||||||
|
|
||||||
#: src/view/com/util/post-embeds/VideoEmbedInner/VideoWebControls.tsx:593
|
#: src/view/com/util/post-embeds/VideoEmbedInner/VideoWebControls.tsx:637
|
||||||
msgid "{0} of {1}"
|
msgid "{0} of {1}"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
@ -461,7 +461,7 @@ msgstr "Adicionar texto alternativo"
|
||||||
#~ msgid "Add ALT text"
|
#~ msgid "Add ALT text"
|
||||||
#~ msgstr "Adicionar texto alternativo"
|
#~ msgstr "Adicionar texto alternativo"
|
||||||
|
|
||||||
#: src/view/com/composer/videos/SubtitleDialog.tsx:107
|
#: src/view/com/composer/videos/SubtitleDialog.tsx:109
|
||||||
msgid "Add alt text (optional)"
|
msgid "Add alt text (optional)"
|
||||||
msgstr "Adicionar texto alternativo (opcional)"
|
msgstr "Adicionar texto alternativo (opcional)"
|
||||||
|
|
||||||
|
@ -607,9 +607,9 @@ msgid "ALT"
|
||||||
msgstr "ALT"
|
msgstr "ALT"
|
||||||
|
|
||||||
#: src/view/com/composer/GifAltText.tsx:144
|
#: src/view/com/composer/GifAltText.tsx:144
|
||||||
#: src/view/com/composer/videos/SubtitleDialog.tsx:54
|
#: src/view/com/composer/videos/SubtitleDialog.tsx:56
|
||||||
#: src/view/com/composer/videos/SubtitleDialog.tsx:102
|
#: src/view/com/composer/videos/SubtitleDialog.tsx:104
|
||||||
#: src/view/com/composer/videos/SubtitleDialog.tsx:106
|
#: src/view/com/composer/videos/SubtitleDialog.tsx:108
|
||||||
#: src/view/com/modals/EditImage.tsx:316
|
#: src/view/com/modals/EditImage.tsx:316
|
||||||
#: src/view/screens/AccessibilitySettings.tsx:87
|
#: src/view/screens/AccessibilitySettings.tsx:87
|
||||||
msgid "Alt text"
|
msgid "Alt text"
|
||||||
|
@ -640,7 +640,7 @@ msgstr "Ocorreu um erro"
|
||||||
#~ msgid "An error occured"
|
#~ msgid "An error occured"
|
||||||
#~ msgstr "Tivemos um problema"
|
#~ msgstr "Tivemos um problema"
|
||||||
|
|
||||||
#: src/view/com/util/post-embeds/VideoEmbedInner/VideoWebControls.tsx:369
|
#: src/view/com/util/post-embeds/VideoEmbedInner/VideoWebControls.tsx:413
|
||||||
msgid "An error occurred"
|
msgid "An error occurred"
|
||||||
msgstr "Ocorreu um erro"
|
msgstr "Ocorreu um erro"
|
||||||
|
|
||||||
|
@ -652,11 +652,11 @@ msgstr "Ocorreu um erro ao compactar o vídeo."
|
||||||
msgid "An error occurred while generating your starter pack. Want to try again?"
|
msgid "An error occurred while generating your starter pack. Want to try again?"
|
||||||
msgstr "Ocorreu um erro ao gerar seu pacote inicial. Quer tentar novamente?"
|
msgstr "Ocorreu um erro ao gerar seu pacote inicial. Quer tentar novamente?"
|
||||||
|
|
||||||
#: src/view/com/util/post-embeds/VideoEmbed.tsx:213
|
#: src/view/com/util/post-embeds/VideoEmbed.tsx:215
|
||||||
msgid "An error occurred while loading the video. Please try again later."
|
msgid "An error occurred while loading the video. Please try again later."
|
||||||
msgstr "Ocorreu um erro ao carregar o vídeo. Tente novamente mais tarde."
|
msgstr "Ocorreu um erro ao carregar o vídeo. Tente novamente mais tarde."
|
||||||
|
|
||||||
#: src/view/com/util/post-embeds/VideoEmbed.web.tsx:170
|
#: src/view/com/util/post-embeds/VideoEmbed.web.tsx:171
|
||||||
msgid "An error occurred while loading the video. Please try again."
|
msgid "An error occurred while loading the video. Please try again."
|
||||||
msgstr "Ocorreu um erro ao carregar o vídeo. Tente novamente."
|
msgstr "Ocorreu um erro ao carregar o vídeo. Tente novamente."
|
||||||
|
|
||||||
|
@ -669,7 +669,7 @@ msgstr "Ocorreu um erro ao carregar o vídeo. Tente novamente."
|
||||||
msgid "An error occurred while saving the QR code!"
|
msgid "An error occurred while saving the QR code!"
|
||||||
msgstr "Ocorreu um erro ao salvar o QR code!"
|
msgstr "Ocorreu um erro ao salvar o QR code!"
|
||||||
|
|
||||||
#: src/view/com/composer/videos/SelectVideoBtn.tsx:61
|
#: src/view/com/composer/videos/SelectVideoBtn.tsx:68
|
||||||
msgid "An error occurred while selecting the video"
|
msgid "An error occurred while selecting the video"
|
||||||
msgstr "Ocorreu um erro ao selecionar o vídeo"
|
msgstr "Ocorreu um erro ao selecionar o vídeo"
|
||||||
|
|
||||||
|
@ -844,7 +844,7 @@ msgstr "Tem certeza que deseja remover {0} dos seus feeds?"
|
||||||
msgid "Are you sure you want to remove this from your feeds?"
|
msgid "Are you sure you want to remove this from your feeds?"
|
||||||
msgstr "Tem certeza que deseja remover isto de seus feeds?"
|
msgstr "Tem certeza que deseja remover isto de seus feeds?"
|
||||||
|
|
||||||
#: src/view/com/composer/Composer.tsx:837
|
#: src/view/com/composer/Composer.tsx:841
|
||||||
msgid "Are you sure you'd like to discard this draft?"
|
msgid "Are you sure you'd like to discard this draft?"
|
||||||
msgstr "Tem certeza que deseja descartar este rascunho?"
|
msgstr "Tem certeza que deseja descartar este rascunho?"
|
||||||
|
|
||||||
|
@ -1096,8 +1096,8 @@ msgstr "Só pode conter letras, números, espaços, riscas e subtraços. Deve te
|
||||||
#: src/components/Prompt.tsx:124
|
#: src/components/Prompt.tsx:124
|
||||||
#: src/components/TagMenu/index.tsx:282
|
#: src/components/TagMenu/index.tsx:282
|
||||||
#: src/screens/Deactivated.tsx:161
|
#: src/screens/Deactivated.tsx:161
|
||||||
#: src/view/com/composer/Composer.tsx:591
|
#: src/view/com/composer/Composer.tsx:595
|
||||||
#: src/view/com/composer/Composer.tsx:606
|
#: src/view/com/composer/Composer.tsx:610
|
||||||
#: src/view/com/modals/ChangeEmail.tsx:213
|
#: src/view/com/modals/ChangeEmail.tsx:213
|
||||||
#: src/view/com/modals/ChangeEmail.tsx:215
|
#: src/view/com/modals/ChangeEmail.tsx:215
|
||||||
#: src/view/com/modals/ChangeHandle.tsx:148
|
#: src/view/com/modals/ChangeHandle.tsx:148
|
||||||
|
@ -1165,11 +1165,11 @@ msgstr "Cancela a abertura do link"
|
||||||
msgid "Cannot interact with a blocked user"
|
msgid "Cannot interact with a blocked user"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/view/com/composer/videos/SubtitleDialog.tsx:133
|
#: src/view/com/composer/videos/SubtitleDialog.tsx:135
|
||||||
msgid "Captions (.vtt)"
|
msgid "Captions (.vtt)"
|
||||||
msgstr "Legendas (.vtt)"
|
msgstr "Legendas (.vtt)"
|
||||||
|
|
||||||
#: src/view/com/composer/videos/SubtitleDialog.tsx:54
|
#: src/view/com/composer/videos/SubtitleDialog.tsx:56
|
||||||
msgid "Captions & alt text"
|
msgid "Captions & alt text"
|
||||||
msgstr "Legendas e texto alt"
|
msgstr "Legendas e texto alt"
|
||||||
|
|
||||||
|
@ -1457,7 +1457,7 @@ msgstr "Fecha barra de navegação inferior"
|
||||||
msgid "Closes password update alert"
|
msgid "Closes password update alert"
|
||||||
msgstr "Fecha alerta de troca de senha"
|
msgstr "Fecha alerta de troca de senha"
|
||||||
|
|
||||||
#: src/view/com/composer/Composer.tsx:603
|
#: src/view/com/composer/Composer.tsx:607
|
||||||
msgid "Closes post composer and discards post draft"
|
msgid "Closes post composer and discards post draft"
|
||||||
msgstr "Fecha o editor de post e descarta o rascunho"
|
msgstr "Fecha o editor de post e descarta o rascunho"
|
||||||
|
|
||||||
|
@ -1496,7 +1496,7 @@ msgstr "Completar e começar a usar sua conta"
|
||||||
msgid "Complete the challenge"
|
msgid "Complete the challenge"
|
||||||
msgstr "Complete o captcha"
|
msgstr "Complete o captcha"
|
||||||
|
|
||||||
#: src/view/com/composer/Composer.tsx:711
|
#: src/view/com/composer/Composer.tsx:715
|
||||||
msgid "Compose posts up to {MAX_GRAPHEME_LENGTH} characters in length"
|
msgid "Compose posts up to {MAX_GRAPHEME_LENGTH} characters in length"
|
||||||
msgstr "Escreva posts de até {MAX_GRAPHEME_LENGTH} caracteres"
|
msgstr "Escreva posts de até {MAX_GRAPHEME_LENGTH} caracteres"
|
||||||
|
|
||||||
|
@ -1742,7 +1742,7 @@ msgstr "Não foi possível carregar a lista"
|
||||||
msgid "Could not mute chat"
|
msgid "Could not mute chat"
|
||||||
msgstr "Não foi possível silenciar este chat"
|
msgstr "Não foi possível silenciar este chat"
|
||||||
|
|
||||||
#: src/view/com/composer/videos/VideoPreview.web.tsx:45
|
#: src/view/com/composer/videos/VideoPreview.web.tsx:56
|
||||||
msgid "Could not process your video"
|
msgid "Could not process your video"
|
||||||
msgstr "Não foi possível processar seu vídeo"
|
msgstr "Não foi possível processar seu vídeo"
|
||||||
|
|
||||||
|
@ -2005,7 +2005,7 @@ msgstr "Desanexar postagem de citação?"
|
||||||
msgid "Dialog: adjust who can interact with this post"
|
msgid "Dialog: adjust who can interact with this post"
|
||||||
msgstr "Diálogo: ajuste quem pode interagir com esta postagem"
|
msgstr "Diálogo: ajuste quem pode interagir com esta postagem"
|
||||||
|
|
||||||
#: src/view/com/composer/Composer.tsx:352
|
#: src/view/com/composer/Composer.tsx:356
|
||||||
msgid "Did you want to say anything?"
|
msgid "Did you want to say anything?"
|
||||||
msgstr "Você gostaria de dizer alguma coisa?"
|
msgstr "Você gostaria de dizer alguma coisa?"
|
||||||
|
|
||||||
|
@ -2038,7 +2038,7 @@ msgstr "Desabilitar feedback tátil"
|
||||||
#~ msgid "Disable haptics"
|
#~ msgid "Disable haptics"
|
||||||
#~ msgstr "Desabilitar feedback tátil"
|
#~ msgstr "Desabilitar feedback tátil"
|
||||||
|
|
||||||
#: src/view/com/util/post-embeds/VideoEmbedInner/VideoWebControls.tsx:335
|
#: src/view/com/util/post-embeds/VideoEmbedInner/VideoWebControls.tsx:379
|
||||||
msgid "Disable subtitles"
|
msgid "Disable subtitles"
|
||||||
msgstr "Desativar legendas"
|
msgstr "Desativar legendas"
|
||||||
|
|
||||||
|
@ -2055,11 +2055,11 @@ msgstr "Desativar legendas"
|
||||||
msgid "Disabled"
|
msgid "Disabled"
|
||||||
msgstr "Desabilitado"
|
msgstr "Desabilitado"
|
||||||
|
|
||||||
#: src/view/com/composer/Composer.tsx:839
|
#: src/view/com/composer/Composer.tsx:843
|
||||||
msgid "Discard"
|
msgid "Discard"
|
||||||
msgstr "Descartar"
|
msgstr "Descartar"
|
||||||
|
|
||||||
#: src/view/com/composer/Composer.tsx:836
|
#: src/view/com/composer/Composer.tsx:840
|
||||||
msgid "Discard draft?"
|
msgid "Discard draft?"
|
||||||
msgstr "Descartar rascunho?"
|
msgstr "Descartar rascunho?"
|
||||||
|
|
||||||
|
@ -2089,7 +2089,7 @@ msgstr "Descubra Novos Feeds"
|
||||||
#~ msgid "Dismiss"
|
#~ msgid "Dismiss"
|
||||||
#~ msgstr "Ocultar"
|
#~ msgstr "Ocultar"
|
||||||
|
|
||||||
#: src/view/com/composer/Composer.tsx:1106
|
#: src/view/com/composer/Composer.tsx:1110
|
||||||
msgid "Dismiss error"
|
msgid "Dismiss error"
|
||||||
msgstr "Ocultar erro"
|
msgstr "Ocultar erro"
|
||||||
|
|
||||||
|
@ -2141,8 +2141,8 @@ msgstr "Domínio verificado!"
|
||||||
#: src/screens/Onboarding/StepProfile/index.tsx:325
|
#: src/screens/Onboarding/StepProfile/index.tsx:325
|
||||||
#: src/view/com/auth/server-input/index.tsx:169
|
#: src/view/com/auth/server-input/index.tsx:169
|
||||||
#: src/view/com/auth/server-input/index.tsx:170
|
#: src/view/com/auth/server-input/index.tsx:170
|
||||||
#: src/view/com/composer/videos/SubtitleDialog.tsx:167
|
#: src/view/com/composer/videos/SubtitleDialog.tsx:171
|
||||||
#: src/view/com/composer/videos/SubtitleDialog.tsx:177
|
#: src/view/com/composer/videos/SubtitleDialog.tsx:181
|
||||||
#: src/view/com/modals/AddAppPasswords.tsx:243
|
#: src/view/com/modals/AddAppPasswords.tsx:243
|
||||||
#: src/view/com/modals/AltImage.tsx:141
|
#: src/view/com/modals/AltImage.tsx:141
|
||||||
#: src/view/com/modals/crop-image/CropImage.web.tsx:177
|
#: src/view/com/modals/crop-image/CropImage.web.tsx:177
|
||||||
|
@ -2417,7 +2417,7 @@ msgstr "Habilitar mídia para"
|
||||||
msgid "Enable priority notifications"
|
msgid "Enable priority notifications"
|
||||||
msgstr "Habilitar notificações prioritárias"
|
msgstr "Habilitar notificações prioritárias"
|
||||||
|
|
||||||
#: src/view/com/util/post-embeds/VideoEmbedInner/VideoWebControls.tsx:336
|
#: src/view/com/util/post-embeds/VideoEmbedInner/VideoWebControls.tsx:380
|
||||||
msgid "Enable subtitles"
|
msgid "Enable subtitles"
|
||||||
msgstr "Habilitar legendas"
|
msgstr "Habilitar legendas"
|
||||||
|
|
||||||
|
@ -2447,7 +2447,7 @@ msgstr "Fim do feed"
|
||||||
#~ msgid "End of onboarding tour window. Do not move forward. Instead, go backward for more options, or press to skip."
|
#~ msgid "End of onboarding tour window. Do not move forward. Instead, go backward for more options, or press to skip."
|
||||||
#~ msgstr "Fim da integração da sua janela. Não avance. Em vez disso, volte para mais opções ou pressione para pular."
|
#~ msgstr "Fim da integração da sua janela. Não avance. Em vez disso, volte para mais opções ou pressione para pular."
|
||||||
|
|
||||||
#: src/view/com/composer/videos/SubtitleDialog.tsx:157
|
#: src/view/com/composer/videos/SubtitleDialog.tsx:161
|
||||||
msgid "Ensure you have selected a language for each subtitle file."
|
msgid "Ensure you have selected a language for each subtitle file."
|
||||||
msgstr "Certifique-se de ter selecionado um idioma para cada arquivo de legenda."
|
msgstr "Certifique-se de ter selecionado um idioma para cada arquivo de legenda."
|
||||||
|
|
||||||
|
@ -2549,7 +2549,7 @@ msgstr "Excluir usuário que você segue"
|
||||||
msgid "Excludes users you follow"
|
msgid "Excludes users you follow"
|
||||||
msgstr "Excluir usuário que você segue"
|
msgstr "Excluir usuário que você segue"
|
||||||
|
|
||||||
#: src/view/com/util/post-embeds/VideoEmbedInner/VideoWebControls.tsx:353
|
#: src/view/com/util/post-embeds/VideoEmbedInner/VideoWebControls.tsx:397
|
||||||
msgid "Exit fullscreen"
|
msgid "Exit fullscreen"
|
||||||
msgstr "Sair da tela cheia"
|
msgstr "Sair da tela cheia"
|
||||||
|
|
||||||
|
@ -3057,7 +3057,7 @@ msgctxt "from-feed"
|
||||||
msgid "From <0/>"
|
msgid "From <0/>"
|
||||||
msgstr "Por <0/>"
|
msgstr "Por <0/>"
|
||||||
|
|
||||||
#: src/view/com/util/post-embeds/VideoEmbedInner/VideoWebControls.tsx:354
|
#: src/view/com/util/post-embeds/VideoEmbedInner/VideoWebControls.tsx:398
|
||||||
msgid "Fullscreen"
|
msgid "Fullscreen"
|
||||||
msgstr "Tela cheia"
|
msgstr "Tela cheia"
|
||||||
|
|
||||||
|
@ -3526,7 +3526,7 @@ msgstr "Convites, mas pessoais"
|
||||||
msgid "It's just you right now! Add more people to your starter pack by searching above."
|
msgid "It's just you right now! Add more people to your starter pack by searching above."
|
||||||
msgstr "É só você por enquanto! Adicione mais pessoas ao seu pacote inicial pesquisando acima."
|
msgstr "É só você por enquanto! Adicione mais pessoas ao seu pacote inicial pesquisando acima."
|
||||||
|
|
||||||
#: src/view/com/composer/Composer.tsx:1125
|
#: src/view/com/composer/Composer.tsx:1129
|
||||||
msgid "Job ID: {0}"
|
msgid "Job ID: {0}"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
@ -4046,15 +4046,15 @@ msgstr "Filmes"
|
||||||
msgid "Music"
|
msgid "Music"
|
||||||
msgstr "Música"
|
msgstr "Música"
|
||||||
|
|
||||||
#: src/view/com/util/post-embeds/VideoEmbedInner/VideoWebControls.tsx:345
|
|
||||||
msgctxt "video"
|
|
||||||
msgid "Mute"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: src/components/TagMenu/index.tsx:263
|
#: src/components/TagMenu/index.tsx:263
|
||||||
msgid "Mute"
|
msgid "Mute"
|
||||||
msgstr "Silenciar"
|
msgstr "Silenciar"
|
||||||
|
|
||||||
|
#: src/view/com/util/post-embeds/VideoEmbedInner/VideoWebControls.tsx:389
|
||||||
|
msgctxt "video"
|
||||||
|
msgid "Mute"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/components/TagMenu/index.web.tsx:116
|
#: src/components/TagMenu/index.web.tsx:116
|
||||||
msgid "Mute {truncatedTag}"
|
msgid "Mute {truncatedTag}"
|
||||||
msgstr "Silenciar {truncatedTag}"
|
msgstr "Silenciar {truncatedTag}"
|
||||||
|
@ -4583,7 +4583,7 @@ msgstr "Resetar tutoriais"
|
||||||
#~ msgid "Onboarding tour step {0}: {1}"
|
#~ msgid "Onboarding tour step {0}: {1}"
|
||||||
#~ msgstr "Etapa do tour de integração {0}: {1}"
|
#~ msgstr "Etapa do tour de integração {0}: {1}"
|
||||||
|
|
||||||
#: src/view/com/composer/Composer.tsx:668
|
#: src/view/com/composer/Composer.tsx:672
|
||||||
msgid "One or more images is missing alt text."
|
msgid "One or more images is missing alt text."
|
||||||
msgstr "Uma ou mais imagens estão sem texto alternativo."
|
msgstr "Uma ou mais imagens estão sem texto alternativo."
|
||||||
|
|
||||||
|
@ -4638,8 +4638,8 @@ msgid "Open conversation options"
|
||||||
msgstr "Abrir opções de conversa"
|
msgstr "Abrir opções de conversa"
|
||||||
|
|
||||||
#: src/screens/Messages/Conversation/MessageInput.web.tsx:165
|
#: src/screens/Messages/Conversation/MessageInput.web.tsx:165
|
||||||
#: src/view/com/composer/Composer.tsx:819
|
#: src/view/com/composer/Composer.tsx:823
|
||||||
#: src/view/com/composer/Composer.tsx:820
|
#: src/view/com/composer/Composer.tsx:824
|
||||||
msgid "Open emoji picker"
|
msgid "Open emoji picker"
|
||||||
msgstr "Abrir seletor de emojis"
|
msgstr "Abrir seletor de emojis"
|
||||||
|
|
||||||
|
@ -4825,7 +4825,7 @@ msgstr "Abre as preferências de threads"
|
||||||
msgid "Opens this profile"
|
msgid "Opens this profile"
|
||||||
msgstr "Abre este perfil"
|
msgstr "Abre este perfil"
|
||||||
|
|
||||||
#: src/view/com/composer/videos/SelectVideoBtn.tsx:81
|
#: src/view/com/composer/videos/SelectVideoBtn.tsx:88
|
||||||
msgid "Opens video picker"
|
msgid "Opens video picker"
|
||||||
msgstr "Abre seletor de vídeos"
|
msgstr "Abre seletor de vídeos"
|
||||||
|
|
||||||
|
@ -4903,11 +4903,11 @@ msgid "Password updated!"
|
||||||
msgstr "Senha atualizada!"
|
msgstr "Senha atualizada!"
|
||||||
|
|
||||||
#: src/view/com/util/post-embeds/GifEmbed.tsx:44
|
#: src/view/com/util/post-embeds/GifEmbed.tsx:44
|
||||||
#: src/view/com/util/post-embeds/VideoEmbedInner/VideoWebControls.tsx:322
|
#: src/view/com/util/post-embeds/VideoEmbedInner/VideoWebControls.tsx:366
|
||||||
msgid "Pause"
|
msgid "Pause"
|
||||||
msgstr "Pausar"
|
msgstr "Pausar"
|
||||||
|
|
||||||
#: src/view/com/util/post-embeds/VideoEmbedInner/VideoWebControls.tsx:275
|
#: src/view/com/util/post-embeds/VideoEmbedInner/VideoWebControls.tsx:319
|
||||||
msgid "Pause video"
|
msgid "Pause video"
|
||||||
msgstr "Pausar vídeo"
|
msgstr "Pausar vídeo"
|
||||||
|
|
||||||
|
@ -4967,7 +4967,7 @@ msgid "Pinned to your feeds"
|
||||||
msgstr "Fixado em seus feeds"
|
msgstr "Fixado em seus feeds"
|
||||||
|
|
||||||
#: src/view/com/util/post-embeds/GifEmbed.tsx:44
|
#: src/view/com/util/post-embeds/GifEmbed.tsx:44
|
||||||
#: src/view/com/util/post-embeds/VideoEmbedInner/VideoWebControls.tsx:323
|
#: src/view/com/util/post-embeds/VideoEmbedInner/VideoWebControls.tsx:367
|
||||||
msgid "Play"
|
msgid "Play"
|
||||||
msgstr "Tocar"
|
msgstr "Tocar"
|
||||||
|
|
||||||
|
@ -4984,8 +4984,8 @@ msgstr "Reproduzir {0}"
|
||||||
msgid "Play or pause the GIF"
|
msgid "Play or pause the GIF"
|
||||||
msgstr "Tocar ou pausar o GIF"
|
msgstr "Tocar ou pausar o GIF"
|
||||||
|
|
||||||
#: src/view/com/util/post-embeds/VideoEmbed.tsx:187
|
#: src/view/com/util/post-embeds/VideoEmbed.tsx:189
|
||||||
#: src/view/com/util/post-embeds/VideoEmbedInner/VideoWebControls.tsx:276
|
#: src/view/com/util/post-embeds/VideoEmbedInner/VideoWebControls.tsx:320
|
||||||
msgid "Play video"
|
msgid "Play video"
|
||||||
msgstr "Reproduzir vídeo"
|
msgstr "Reproduzir vídeo"
|
||||||
|
|
||||||
|
@ -5057,7 +5057,7 @@ msgstr "Por favor entre como @{0}"
|
||||||
msgid "Please Verify Your Email"
|
msgid "Please Verify Your Email"
|
||||||
msgstr "Por favor, verifique seu e-mail"
|
msgstr "Por favor, verifique seu e-mail"
|
||||||
|
|
||||||
#: src/view/com/composer/Composer.tsx:356
|
#: src/view/com/composer/Composer.tsx:360
|
||||||
msgid "Please wait for your link card to finish loading"
|
msgid "Please wait for your link card to finish loading"
|
||||||
msgstr "Aguarde até que a prévia de link termine de carregar"
|
msgstr "Aguarde até que a prévia de link termine de carregar"
|
||||||
|
|
||||||
|
@ -5070,8 +5070,8 @@ msgstr "Política"
|
||||||
msgid "Porn"
|
msgid "Porn"
|
||||||
msgstr "Pornografia"
|
msgstr "Pornografia"
|
||||||
|
|
||||||
#: src/view/com/composer/Composer.tsx:643
|
#: src/view/com/composer/Composer.tsx:647
|
||||||
#: src/view/com/composer/Composer.tsx:650
|
#: src/view/com/composer/Composer.tsx:654
|
||||||
msgctxt "action"
|
msgctxt "action"
|
||||||
msgid "Post"
|
msgid "Post"
|
||||||
msgstr "Postar"
|
msgstr "Postar"
|
||||||
|
@ -5250,11 +5250,11 @@ msgstr "Listas públicas e compartilháveis para silenciar ou bloquear usuários
|
||||||
msgid "Public, shareable lists which can drive feeds."
|
msgid "Public, shareable lists which can drive feeds."
|
||||||
msgstr "Listas públicas e compartilháveis que geram feeds."
|
msgstr "Listas públicas e compartilháveis que geram feeds."
|
||||||
|
|
||||||
#: src/view/com/composer/Composer.tsx:628
|
#: src/view/com/composer/Composer.tsx:632
|
||||||
msgid "Publish post"
|
msgid "Publish post"
|
||||||
msgstr "Publicar post"
|
msgstr "Publicar post"
|
||||||
|
|
||||||
#: src/view/com/composer/Composer.tsx:628
|
#: src/view/com/composer/Composer.tsx:632
|
||||||
msgid "Publish reply"
|
msgid "Publish reply"
|
||||||
msgstr "Publicar resposta"
|
msgstr "Publicar resposta"
|
||||||
|
|
||||||
|
@ -5482,7 +5482,7 @@ msgstr "Remover citação"
|
||||||
msgid "Remove repost"
|
msgid "Remove repost"
|
||||||
msgstr "Desfazer repost"
|
msgstr "Desfazer repost"
|
||||||
|
|
||||||
#: src/view/com/composer/videos/SubtitleDialog.tsx:260
|
#: src/view/com/composer/videos/SubtitleDialog.tsx:264
|
||||||
msgid "Remove subtitle file"
|
msgid "Remove subtitle file"
|
||||||
msgstr "Remover arquivo de legenda"
|
msgstr "Remover arquivo de legenda"
|
||||||
|
|
||||||
|
@ -5559,7 +5559,7 @@ msgstr "Respostas para esta postagem estão desativadas."
|
||||||
#~ msgid "Replies to this thread are disabled"
|
#~ msgid "Replies to this thread are disabled"
|
||||||
#~ msgstr "Respostas para esta thread estão desativadas"
|
#~ msgstr "Respostas para esta thread estão desativadas"
|
||||||
|
|
||||||
#: src/view/com/composer/Composer.tsx:641
|
#: src/view/com/composer/Composer.tsx:645
|
||||||
msgctxt "action"
|
msgctxt "action"
|
||||||
msgid "Reply"
|
msgid "Reply"
|
||||||
msgstr "Responder"
|
msgstr "Responder"
|
||||||
|
@ -6053,7 +6053,7 @@ msgstr "Veja o guia"
|
||||||
#~ msgid "See what's next"
|
#~ msgid "See what's next"
|
||||||
#~ msgstr "Veja o que vem por aí"
|
#~ msgstr "Veja o que vem por aí"
|
||||||
|
|
||||||
#: src/view/com/util/post-embeds/VideoEmbedInner/VideoWebControls.tsx:587
|
#: src/view/com/util/post-embeds/VideoEmbedInner/VideoWebControls.tsx:631
|
||||||
msgid "Seek slider"
|
msgid "Seek slider"
|
||||||
msgstr "Controle deslizante de busca"
|
msgstr "Controle deslizante de busca"
|
||||||
|
|
||||||
|
@ -6093,7 +6093,7 @@ msgstr "Selecionar GIF \"{0}\""
|
||||||
msgid "Select how long to mute this word for."
|
msgid "Select how long to mute this word for."
|
||||||
msgstr "Selecione por quanto tempo essa palavra deve ser silenciada."
|
msgstr "Selecione por quanto tempo essa palavra deve ser silenciada."
|
||||||
|
|
||||||
#: src/view/com/composer/videos/SubtitleDialog.tsx:245
|
#: src/view/com/composer/videos/SubtitleDialog.tsx:249
|
||||||
msgid "Select language..."
|
msgid "Select language..."
|
||||||
msgstr "Selecione o idioma..."
|
msgstr "Selecione o idioma..."
|
||||||
|
|
||||||
|
@ -6133,7 +6133,7 @@ msgstr "Selecione o serviço que hospeda seus dados."
|
||||||
#~ msgid "Select topical feeds to follow from the list below"
|
#~ msgid "Select topical feeds to follow from the list below"
|
||||||
#~ msgstr "Selecione feeds de assuntos para seguir"
|
#~ msgstr "Selecione feeds de assuntos para seguir"
|
||||||
|
|
||||||
#: src/view/com/composer/videos/SelectVideoBtn.tsx:80
|
#: src/view/com/composer/videos/SelectVideoBtn.tsx:87
|
||||||
msgid "Select video"
|
msgid "Select video"
|
||||||
msgstr "Selecione o vídeo"
|
msgstr "Selecione o vídeo"
|
||||||
|
|
||||||
|
@ -7429,7 +7429,7 @@ msgstr "Para desabilitar o 2FA via e-mail, por favor verifique seu acesso a este
|
||||||
msgid "To report a conversation, please report one of its messages via the conversation screen. This lets our moderators understand the context of your issue."
|
msgid "To report a conversation, please report one of its messages via the conversation screen. This lets our moderators understand the context of your issue."
|
||||||
msgstr "Para denunciar uma conversa, por favor, denuncie uma das mensagens individualmente. Isso vai permitir a análise da situação pelos nossos moderadores."
|
msgstr "Para denunciar uma conversa, por favor, denuncie uma das mensagens individualmente. Isso vai permitir a análise da situação pelos nossos moderadores."
|
||||||
|
|
||||||
#: src/view/com/composer/videos/SelectVideoBtn.tsx:106
|
#: src/view/com/composer/videos/SelectVideoBtn.tsx:113
|
||||||
msgid "To upload videos to Bluesky, you must first verify your email."
|
msgid "To upload videos to Bluesky, you must first verify your email."
|
||||||
msgstr "Para enviar vídeos para o Bluesky, você deve primeiro verificar seu e-mail."
|
msgstr "Para enviar vídeos para o Bluesky, você deve primeiro verificar seu e-mail."
|
||||||
|
|
||||||
|
@ -7572,16 +7572,16 @@ msgstr "Deixar de seguir"
|
||||||
msgid "Unlike this feed"
|
msgid "Unlike this feed"
|
||||||
msgstr "Descurtir este feed"
|
msgstr "Descurtir este feed"
|
||||||
|
|
||||||
#: src/view/com/util/post-embeds/VideoEmbedInner/VideoWebControls.tsx:344
|
|
||||||
msgctxt "video"
|
|
||||||
msgid "Unmute"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: src/components/TagMenu/index.tsx:263
|
#: src/components/TagMenu/index.tsx:263
|
||||||
#: src/view/screens/ProfileList.tsx:689
|
#: src/view/screens/ProfileList.tsx:689
|
||||||
msgid "Unmute"
|
msgid "Unmute"
|
||||||
msgstr "Dessilenciar"
|
msgstr "Dessilenciar"
|
||||||
|
|
||||||
|
#: src/view/com/util/post-embeds/VideoEmbedInner/VideoWebControls.tsx:388
|
||||||
|
msgctxt "video"
|
||||||
|
msgid "Unmute"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/components/TagMenu/index.web.tsx:115
|
#: src/components/TagMenu/index.web.tsx:115
|
||||||
msgid "Unmute {truncatedTag}"
|
msgid "Unmute {truncatedTag}"
|
||||||
msgstr "Dessilenciar {truncatedTag}"
|
msgstr "Dessilenciar {truncatedTag}"
|
||||||
|
@ -7608,7 +7608,7 @@ msgstr "Desmutar conversa"
|
||||||
msgid "Unmute thread"
|
msgid "Unmute thread"
|
||||||
msgstr "Dessilenciar thread"
|
msgstr "Dessilenciar thread"
|
||||||
|
|
||||||
#: src/view/com/util/post-embeds/VideoEmbedInner/VideoWebControls.tsx:273
|
#: src/view/com/util/post-embeds/VideoEmbedInner/VideoWebControls.tsx:317
|
||||||
msgid "Unmute video"
|
msgid "Unmute video"
|
||||||
msgstr "Desmutar vídeo"
|
msgstr "Desmutar vídeo"
|
||||||
|
|
||||||
|
@ -7837,7 +7837,7 @@ msgstr "Usuários que curtiram este conteúdo ou perfil"
|
||||||
msgid "Value:"
|
msgid "Value:"
|
||||||
msgstr "Conteúdo:"
|
msgstr "Conteúdo:"
|
||||||
|
|
||||||
#: src/view/com/composer/videos/SelectVideoBtn.tsx:104
|
#: src/view/com/composer/videos/SelectVideoBtn.tsx:111
|
||||||
msgid "Verified email required"
|
msgid "Verified email required"
|
||||||
msgstr "E-mail verificado necessário"
|
msgstr "E-mail verificado necessário"
|
||||||
|
|
||||||
|
@ -7870,7 +7870,7 @@ msgstr "Verificar Meu Email"
|
||||||
msgid "Verify New Email"
|
msgid "Verify New Email"
|
||||||
msgstr "Verificar Novo E-mail"
|
msgstr "Verificar Novo E-mail"
|
||||||
|
|
||||||
#: src/view/com/composer/videos/SelectVideoBtn.tsx:108
|
#: src/view/com/composer/videos/SelectVideoBtn.tsx:115
|
||||||
msgid "Verify now"
|
msgid "Verify now"
|
||||||
msgstr "Verifique agora"
|
msgstr "Verifique agora"
|
||||||
|
|
||||||
|
@ -7904,11 +7904,11 @@ msgstr "Falha no processamento do vídeo"
|
||||||
msgid "Video Games"
|
msgid "Video Games"
|
||||||
msgstr "Games"
|
msgstr "Games"
|
||||||
|
|
||||||
#: src/view/com/util/post-embeds/VideoEmbed.web.tsx:163
|
#: src/view/com/util/post-embeds/VideoEmbed.web.tsx:164
|
||||||
msgid "Video not found."
|
msgid "Video not found."
|
||||||
msgstr "Vídeo não encontrado."
|
msgstr "Vídeo não encontrado."
|
||||||
|
|
||||||
#: src/view/com/composer/videos/SubtitleDialog.tsx:99
|
#: src/view/com/composer/videos/SubtitleDialog.tsx:101
|
||||||
msgid "Video settings"
|
msgid "Video settings"
|
||||||
msgstr "Configurações de vídeo"
|
msgstr "Configurações de vídeo"
|
||||||
|
|
||||||
|
@ -7920,6 +7920,11 @@ msgstr ""
|
||||||
#~ msgid "Videos cannot be larger than 50MB"
|
#~ msgid "Videos cannot be larger than 50MB"
|
||||||
#~ msgstr "Vídeos não podem ter mais de 100 MB"
|
#~ msgstr "Vídeos não podem ter mais de 100 MB"
|
||||||
|
|
||||||
|
#: src/view/com/composer/videos/SelectVideoBtn.tsx:58
|
||||||
|
#: src/view/com/composer/videos/VideoPreview.web.tsx:44
|
||||||
|
msgid "Videos must be less than 60 seconds long"
|
||||||
|
msgstr "Os vídeos devem ter menos de 60 segundos de duração."
|
||||||
|
|
||||||
#: src/screens/Profile/Header/Shell.tsx:113
|
#: src/screens/Profile/Header/Shell.tsx:113
|
||||||
msgid "View {0}'s avatar"
|
msgid "View {0}'s avatar"
|
||||||
msgstr "Ver o avatar de {0}"
|
msgstr "Ver o avatar de {0}"
|
||||||
|
@ -8093,7 +8098,7 @@ msgstr "Não foi possível carregar sua lista de palavras silenciadas. Por favor
|
||||||
msgid "We're sorry, but your search could not be completed. Please try again in a few minutes."
|
msgid "We're sorry, but your search could not be completed. Please try again in a few minutes."
|
||||||
msgstr "Lamentamos, mas sua busca não pôde ser concluída. Por favor, tente novamente em alguns minutos."
|
msgstr "Lamentamos, mas sua busca não pôde ser concluída. Por favor, tente novamente em alguns minutos."
|
||||||
|
|
||||||
#: src/view/com/composer/Composer.tsx:418
|
#: src/view/com/composer/Composer.tsx:422
|
||||||
msgid "We're sorry! The post you are replying to has been deleted."
|
msgid "We're sorry! The post you are replying to has been deleted."
|
||||||
msgstr "Sentimos muito! A postagem que você está respondendo foi excluída."
|
msgstr "Sentimos muito! A postagem que você está respondendo foi excluída."
|
||||||
|
|
||||||
|
@ -8132,7 +8137,7 @@ msgstr "Como você quer chamar seu pacote inicial?"
|
||||||
|
|
||||||
#: src/view/com/auth/SplashScreen.tsx:40
|
#: src/view/com/auth/SplashScreen.tsx:40
|
||||||
#: src/view/com/auth/SplashScreen.web.tsx:86
|
#: src/view/com/auth/SplashScreen.web.tsx:86
|
||||||
#: src/view/com/composer/Composer.tsx:513
|
#: src/view/com/composer/Composer.tsx:517
|
||||||
msgid "What's up?"
|
msgid "What's up?"
|
||||||
msgstr "E aí?"
|
msgstr "E aí?"
|
||||||
|
|
||||||
|
@ -8207,11 +8212,11 @@ msgstr "Largo"
|
||||||
msgid "Write a message"
|
msgid "Write a message"
|
||||||
msgstr "Escreva uma mensagem"
|
msgstr "Escreva uma mensagem"
|
||||||
|
|
||||||
#: src/view/com/composer/Composer.tsx:709
|
#: src/view/com/composer/Composer.tsx:713
|
||||||
msgid "Write post"
|
msgid "Write post"
|
||||||
msgstr "Escrever post"
|
msgstr "Escrever post"
|
||||||
|
|
||||||
#: src/view/com/composer/Composer.tsx:512
|
#: src/view/com/composer/Composer.tsx:516
|
||||||
#: src/view/com/post-thread/PostThreadComposePrompt.tsx:42
|
#: src/view/com/post-thread/PostThreadComposePrompt.tsx:42
|
||||||
msgid "Write your reply"
|
msgid "Write your reply"
|
||||||
msgstr "Escreva sua resposta"
|
msgstr "Escreva sua resposta"
|
||||||
|
@ -8571,7 +8576,7 @@ msgstr "O repositório da sua conta, contendo todos os seus dados públicos, pod
|
||||||
msgid "Your birth date"
|
msgid "Your birth date"
|
||||||
msgstr "Sua data de nascimento"
|
msgstr "Sua data de nascimento"
|
||||||
|
|
||||||
#: src/view/com/util/post-embeds/VideoEmbed.web.tsx:167
|
#: src/view/com/util/post-embeds/VideoEmbed.web.tsx:168
|
||||||
msgid "Your browser does not support the video format. Please try a different browser."
|
msgid "Your browser does not support the video format. Please try a different browser."
|
||||||
msgstr "Seu navegador não suporta o formato de vídeo. Por favor, tente um navegador diferente."
|
msgstr "Seu navegador não suporta o formato de vídeo. Por favor, tente um navegador diferente."
|
||||||
|
|
||||||
|
@ -8626,7 +8631,7 @@ msgstr "Suas palavras silenciadas"
|
||||||
msgid "Your password has been changed successfully!"
|
msgid "Your password has been changed successfully!"
|
||||||
msgstr "Sua senha foi alterada com sucesso!"
|
msgstr "Sua senha foi alterada com sucesso!"
|
||||||
|
|
||||||
#: src/view/com/composer/Composer.tsx:464
|
#: src/view/com/composer/Composer.tsx:468
|
||||||
msgid "Your post has been published"
|
msgid "Your post has been published"
|
||||||
msgstr "Seu post foi publicado"
|
msgstr "Seu post foi publicado"
|
||||||
|
|
||||||
|
@ -8642,7 +8647,7 @@ msgstr "Seu perfil"
|
||||||
msgid "Your profile, posts, feeds, and lists will no longer be visible to other Bluesky users. You can reactivate your account at any time by logging in."
|
msgid "Your profile, posts, feeds, and lists will no longer be visible to other Bluesky users. You can reactivate your account at any time by logging in."
|
||||||
msgstr "Seu perfil, postagens, feeds e listas não serão mais visíveis para outros usuários do Bluesky. Você pode reativar sua conta a qualquer momento fazendo login."
|
msgstr "Seu perfil, postagens, feeds e listas não serão mais visíveis para outros usuários do Bluesky. Você pode reativar sua conta a qualquer momento fazendo login."
|
||||||
|
|
||||||
#: src/view/com/composer/Composer.tsx:463
|
#: src/view/com/composer/Composer.tsx:467
|
||||||
msgid "Your reply has been published"
|
msgid "Your reply has been published"
|
||||||
msgstr "Sua resposta foi publicada"
|
msgstr "Sua resposta foi publicada"
|
||||||
|
|
||||||
|
|
|
@ -18,7 +18,7 @@ import {Button} from '#/components/Button'
|
||||||
import {VideoClip_Stroke2_Corner0_Rounded as VideoClipIcon} from '#/components/icons/VideoClip'
|
import {VideoClip_Stroke2_Corner0_Rounded as VideoClipIcon} from '#/components/icons/VideoClip'
|
||||||
import * as Prompt from '#/components/Prompt'
|
import * as Prompt from '#/components/Prompt'
|
||||||
|
|
||||||
const VIDEO_MAX_DURATION = 60
|
const VIDEO_MAX_DURATION = 60 * 1000 // 60s in milliseconds
|
||||||
|
|
||||||
type Props = {
|
type Props = {
|
||||||
onSelectVideo: (video: ImagePickerAsset) => void
|
onSelectVideo: (video: ImagePickerAsset) => void
|
||||||
|
@ -45,13 +45,20 @@ export function SelectVideoBtn({onSelectVideo, disabled, setError}: Props) {
|
||||||
const response = await launchImageLibraryAsync({
|
const response = await launchImageLibraryAsync({
|
||||||
exif: false,
|
exif: false,
|
||||||
mediaTypes: MediaTypeOptions.Videos,
|
mediaTypes: MediaTypeOptions.Videos,
|
||||||
videoMaxDuration: VIDEO_MAX_DURATION,
|
|
||||||
quality: 1,
|
quality: 1,
|
||||||
legacy: true,
|
legacy: true,
|
||||||
preferredAssetRepresentationMode:
|
preferredAssetRepresentationMode:
|
||||||
UIImagePickerPreferredAssetRepresentationMode.Current,
|
UIImagePickerPreferredAssetRepresentationMode.Current,
|
||||||
})
|
})
|
||||||
if (response.assets && response.assets.length > 0) {
|
if (response.assets && response.assets.length > 0) {
|
||||||
|
if (isNative) {
|
||||||
|
if (typeof response.assets[0].duration !== 'number')
|
||||||
|
throw Error('Asset is not a video')
|
||||||
|
if (response.assets[0].duration > VIDEO_MAX_DURATION) {
|
||||||
|
setError(_(msg`Videos must be less than 60 seconds long`))
|
||||||
|
return
|
||||||
|
}
|
||||||
|
}
|
||||||
try {
|
try {
|
||||||
onSelectVideo(response.assets[0])
|
onSelectVideo(response.assets[0])
|
||||||
} catch (err) {
|
} catch (err) {
|
||||||
|
|
|
@ -12,6 +12,8 @@ import {ExternalEmbedRemoveBtn} from 'view/com/composer/ExternalEmbedRemoveBtn'
|
||||||
import {atoms as a} from '#/alf'
|
import {atoms as a} from '#/alf'
|
||||||
import {PlayButtonIcon} from '#/components/video/PlayButtonIcon'
|
import {PlayButtonIcon} from '#/components/video/PlayButtonIcon'
|
||||||
|
|
||||||
|
const MAX_DURATION = 60
|
||||||
|
|
||||||
export function VideoPreview({
|
export function VideoPreview({
|
||||||
asset,
|
asset,
|
||||||
video,
|
video,
|
||||||
|
@ -36,6 +38,15 @@ export function VideoPreview({
|
||||||
'loadedmetadata',
|
'loadedmetadata',
|
||||||
function () {
|
function () {
|
||||||
setDimensions(this.videoWidth, this.videoHeight)
|
setDimensions(this.videoWidth, this.videoHeight)
|
||||||
|
if (!isNaN(this.duration)) {
|
||||||
|
if (this.duration > MAX_DURATION) {
|
||||||
|
Toast.show(
|
||||||
|
_(msg`Videos must be less than 60 seconds long`),
|
||||||
|
'xmark',
|
||||||
|
)
|
||||||
|
clear()
|
||||||
|
}
|
||||||
|
}
|
||||||
},
|
},
|
||||||
{signal},
|
{signal},
|
||||||
)
|
)
|
||||||
|
|
|
@ -11,6 +11,7 @@ import {useAutoplayDisabled} from 'state/preferences'
|
||||||
import {VideoEmbedInnerNative} from '#/view/com/util/post-embeds/VideoEmbedInner/VideoEmbedInnerNative'
|
import {VideoEmbedInnerNative} from '#/view/com/util/post-embeds/VideoEmbedInner/VideoEmbedInnerNative'
|
||||||
import {atoms as a} from '#/alf'
|
import {atoms as a} from '#/alf'
|
||||||
import {Button} from '#/components/Button'
|
import {Button} from '#/components/Button'
|
||||||
|
import {useIsWithinMessage} from '#/components/dms/MessageContext'
|
||||||
import {Loader} from '#/components/Loader'
|
import {Loader} from '#/components/Loader'
|
||||||
import {PlayButtonIcon} from '#/components/video/PlayButtonIcon'
|
import {PlayButtonIcon} from '#/components/video/PlayButtonIcon'
|
||||||
import {VisibilityView} from '../../../../../modules/expo-bluesky-swiss-army'
|
import {VisibilityView} from '../../../../../modules/expo-bluesky-swiss-army'
|
||||||
|
@ -68,7 +69,8 @@ function InnerWrapper({embed}: Props) {
|
||||||
const [isMuted, setIsMuted] = useState(player.muted)
|
const [isMuted, setIsMuted] = useState(player.muted)
|
||||||
const [isFullscreen, setIsFullscreen] = React.useState(false)
|
const [isFullscreen, setIsFullscreen] = React.useState(false)
|
||||||
const [timeRemaining, setTimeRemaining] = React.useState(0)
|
const [timeRemaining, setTimeRemaining] = React.useState(0)
|
||||||
const disableAutoplay = useAutoplayDisabled()
|
const isWithinMessage = useIsWithinMessage()
|
||||||
|
const disableAutoplay = useAutoplayDisabled() || isWithinMessage
|
||||||
const isActive = embed.playlist === activeSource && activeViewId === viewId
|
const isActive = embed.playlist === activeSource && activeViewId === viewId
|
||||||
// There are some different loading states that we should pay attention to and show a spinner for
|
// There are some different loading states that we should pay attention to and show a spinner for
|
||||||
const isLoading =
|
const isLoading =
|
||||||
|
|
|
@ -12,6 +12,7 @@ import {
|
||||||
VideoNotFoundError,
|
VideoNotFoundError,
|
||||||
} from '#/view/com/util/post-embeds/VideoEmbedInner/VideoEmbedInnerWeb'
|
} from '#/view/com/util/post-embeds/VideoEmbedInner/VideoEmbedInnerWeb'
|
||||||
import {atoms as a} from '#/alf'
|
import {atoms as a} from '#/alf'
|
||||||
|
import {useIsWithinMessage} from '#/components/dms/MessageContext'
|
||||||
import {useFullscreen} from '#/components/hooks/useFullscreen'
|
import {useFullscreen} from '#/components/hooks/useFullscreen'
|
||||||
import {ErrorBoundary} from '../ErrorBoundary'
|
import {ErrorBoundary} from '../ErrorBoundary'
|
||||||
import {useActiveVideoWeb} from './ActiveVideoWebContext'
|
import {useActiveVideoWeb} from './ActiveVideoWebContext'
|
||||||
|
@ -100,11 +101,12 @@ function ViewportObserver({
|
||||||
}: {
|
}: {
|
||||||
children: React.ReactNode
|
children: React.ReactNode
|
||||||
sendPosition: (position: number) => void
|
sendPosition: (position: number) => void
|
||||||
isAnyViewActive?: boolean
|
isAnyViewActive: boolean
|
||||||
}) {
|
}) {
|
||||||
const ref = useRef<HTMLDivElement>(null)
|
const ref = useRef<HTMLDivElement>(null)
|
||||||
const [nearScreen, setNearScreen] = useState(false)
|
const [nearScreen, setNearScreen] = useState(false)
|
||||||
const [isFullscreen] = useFullscreen()
|
const [isFullscreen] = useFullscreen()
|
||||||
|
const isWithinMessage = useIsWithinMessage()
|
||||||
|
|
||||||
// Send position when scrolling. This is done with an IntersectionObserver
|
// Send position when scrolling. This is done with an IntersectionObserver
|
||||||
// observing a div of 100vh height
|
// observing a div of 100vh height
|
||||||
|
@ -141,10 +143,12 @@ function ViewportObserver({
|
||||||
<div
|
<div
|
||||||
ref={ref}
|
ref={ref}
|
||||||
style={{
|
style={{
|
||||||
|
// Don't escape bounds when in a message
|
||||||
|
...(isWithinMessage
|
||||||
|
? {top: 0, height: '100%'}
|
||||||
|
: {top: 'calc(50% - 50vh)', height: '100vh'}),
|
||||||
position: 'absolute',
|
position: 'absolute',
|
||||||
top: 'calc(50% - 50vh)',
|
|
||||||
left: '50%',
|
left: '50%',
|
||||||
height: '100vh',
|
|
||||||
width: 1,
|
width: 1,
|
||||||
pointerEvents: 'none',
|
pointerEvents: 'none',
|
||||||
}}
|
}}
|
||||||
|
|
|
@ -35,7 +35,13 @@ export function VideoEmbedInnerWeb({
|
||||||
if (!ref.current) return
|
if (!ref.current) return
|
||||||
if (!Hls.isSupported()) throw new HLSUnsupportedError()
|
if (!Hls.isSupported()) throw new HLSUnsupportedError()
|
||||||
|
|
||||||
const hls = new Hls({capLevelToPlayerSize: true})
|
const hls = new Hls({
|
||||||
|
capLevelToPlayerSize: true,
|
||||||
|
maxMaxBufferLength: 10, // only load 10s ahead
|
||||||
|
// note: the amount buffered is affected by both maxBufferLength and maxBufferSize
|
||||||
|
// it will buffer until it it's greater than *both* of those values
|
||||||
|
// so we use maxMaxBufferLength to set the actual maximum amount of buffering instead
|
||||||
|
})
|
||||||
hlsRef.current = hls
|
hlsRef.current = hls
|
||||||
|
|
||||||
hls.attachMedia(ref.current)
|
hls.attachMedia(ref.current)
|
||||||
|
|
|
@ -15,6 +15,7 @@ import {
|
||||||
} from '#/state/preferences'
|
} from '#/state/preferences'
|
||||||
import {atoms as a, useTheme, web} from '#/alf'
|
import {atoms as a, useTheme, web} from '#/alf'
|
||||||
import {Button} from '#/components/Button'
|
import {Button} from '#/components/Button'
|
||||||
|
import {useIsWithinMessage} from '#/components/dms/MessageContext'
|
||||||
import {useFullscreen} from '#/components/hooks/useFullscreen'
|
import {useFullscreen} from '#/components/hooks/useFullscreen'
|
||||||
import {useInteractionState} from '#/components/hooks/useInteractionState'
|
import {useInteractionState} from '#/components/hooks/useInteractionState'
|
||||||
import {
|
import {
|
||||||
|
@ -95,6 +96,15 @@ export function Controls({
|
||||||
}
|
}
|
||||||
}, [interactingViaKeypress])
|
}, [interactingViaKeypress])
|
||||||
|
|
||||||
|
useEffect(() => {
|
||||||
|
if (isFullscreen) {
|
||||||
|
document.documentElement.style.scrollbarGutter = 'unset'
|
||||||
|
return () => {
|
||||||
|
document.documentElement.style.removeProperty('scrollbar-gutter')
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}, [isFullscreen])
|
||||||
|
|
||||||
// pause + unfocus when another video is active
|
// pause + unfocus when another video is active
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
if (!active) {
|
if (!active) {
|
||||||
|
@ -104,7 +114,8 @@ export function Controls({
|
||||||
}, [active, pause, setFocused])
|
}, [active, pause, setFocused])
|
||||||
|
|
||||||
// autoplay/pause based on visibility
|
// autoplay/pause based on visibility
|
||||||
const autoplayDisabled = useAutoplayDisabled()
|
const isWithinMessage = useIsWithinMessage()
|
||||||
|
const autoplayDisabled = useAutoplayDisabled() || isWithinMessage
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
if (active) {
|
if (active) {
|
||||||
if (onScreen) {
|
if (onScreen) {
|
||||||
|
@ -121,8 +132,12 @@ export function Controls({
|
||||||
if (focused) {
|
if (focused) {
|
||||||
// auto decide quality based on network conditions
|
// auto decide quality based on network conditions
|
||||||
hlsRef.current.autoLevelCapping = -1
|
hlsRef.current.autoLevelCapping = -1
|
||||||
|
// allow 30s of buffering
|
||||||
|
hlsRef.current.config.maxMaxBufferLength = 30
|
||||||
} else {
|
} else {
|
||||||
|
// back to what we initially set
|
||||||
hlsRef.current.autoLevelCapping = 0
|
hlsRef.current.autoLevelCapping = 0
|
||||||
|
hlsRef.current.config.maxMaxBufferLength = 10
|
||||||
}
|
}
|
||||||
}, [hlsRef, focused])
|
}, [hlsRef, focused])
|
||||||
|
|
||||||
|
@ -235,6 +250,39 @@ export function Controls({
|
||||||
}
|
}
|
||||||
}, [])
|
}, [])
|
||||||
|
|
||||||
|
// these are used to trigger the hover state. on mobile, the hover state
|
||||||
|
// should stick around for a bit after they tap, and if the controls aren't
|
||||||
|
// present this initial tab should *only* show the controls and not activate anything
|
||||||
|
|
||||||
|
const onPointerDown = useCallback(
|
||||||
|
(evt: React.PointerEvent<HTMLDivElement>) => {
|
||||||
|
if (evt.pointerType !== 'mouse' && !hovered) {
|
||||||
|
evt.preventDefault()
|
||||||
|
}
|
||||||
|
},
|
||||||
|
[hovered],
|
||||||
|
)
|
||||||
|
|
||||||
|
const timeoutRef = useRef<ReturnType<typeof setTimeout>>()
|
||||||
|
|
||||||
|
const onHoverWithTimeout = useCallback(() => {
|
||||||
|
onHover()
|
||||||
|
clearTimeout(timeoutRef.current)
|
||||||
|
}, [onHover])
|
||||||
|
|
||||||
|
const onEndHoverWithTimeout = useCallback(
|
||||||
|
(evt: React.PointerEvent<HTMLDivElement>) => {
|
||||||
|
// if touch, end after 3s
|
||||||
|
// if mouse, end immediately
|
||||||
|
if (evt.pointerType !== 'mouse') {
|
||||||
|
setTimeout(onEndHover, 3000)
|
||||||
|
} else {
|
||||||
|
onEndHover()
|
||||||
|
}
|
||||||
|
},
|
||||||
|
[onEndHover],
|
||||||
|
)
|
||||||
|
|
||||||
const showControls =
|
const showControls =
|
||||||
((focused || autoplayDisabled) && !playing) ||
|
((focused || autoplayDisabled) && !playing) ||
|
||||||
(interactingViaKeypress ? hasFocus : hovered)
|
(interactingViaKeypress ? hasFocus : hovered)
|
||||||
|
@ -252,9 +300,10 @@ export function Controls({
|
||||||
evt.stopPropagation()
|
evt.stopPropagation()
|
||||||
setInteractingViaKeypress(false)
|
setInteractingViaKeypress(false)
|
||||||
}}
|
}}
|
||||||
onPointerEnter={onHover}
|
onPointerEnter={onHoverWithTimeout}
|
||||||
onPointerMove={onHover}
|
onPointerMove={onHoverWithTimeout}
|
||||||
onPointerLeave={onEndHover}
|
onPointerLeave={onEndHoverWithTimeout}
|
||||||
|
onPointerDown={onPointerDown}
|
||||||
onFocus={onFocus}
|
onFocus={onFocus}
|
||||||
onBlur={onBlur}
|
onBlur={onBlur}
|
||||||
onKeyDown={onKeyDown}>
|
onKeyDown={onKeyDown}>
|
||||||
|
@ -543,7 +592,7 @@ function Scrubber({
|
||||||
return (
|
return (
|
||||||
<View
|
<View
|
||||||
testID="scrubber"
|
testID="scrubber"
|
||||||
style={[{height: 10, width: '100%'}, a.flex_shrink_0, a.px_xs]}
|
style={[{height: 18, width: '100%'}, a.flex_shrink_0, a.px_xs, a.py_xs]}
|
||||||
onPointerEnter={onStartHover}
|
onPointerEnter={onStartHover}
|
||||||
onPointerLeave={onEndHover}>
|
onPointerLeave={onEndHover}>
|
||||||
<div
|
<div
|
||||||
|
|
Loading…
Reference in New Issue