mirror of
https://github.com/cheeaun/phanpy.git
synced 2024-11-21 16:55:25 +03:00
Merge branch 'cheeaun:main' into width-columns-css-fix
This commit is contained in:
commit
f53ecc37d3
20 changed files with 508 additions and 343 deletions
10
src/app.css
10
src/app.css
|
@ -1395,6 +1395,11 @@ a[href^='http'][rel*='nofollow']:visited:not(:has(div)) {
|
|||
user-select: none;
|
||||
width: 100%;
|
||||
gap: 16px;
|
||||
--accent-gradient: var(--accent-gradient-light);
|
||||
@media (prefers-color-scheme: dark) {
|
||||
--accent-gradient: var(--accent-gradient-dark);
|
||||
}
|
||||
background-image: linear-gradient(to var(--forward), var(--accent-gradient));
|
||||
}
|
||||
.carousel::-webkit-scrollbar {
|
||||
display: none;
|
||||
|
@ -1409,7 +1414,10 @@ a[href^='http'][rel*='nofollow']:visited:not(:has(div)) {
|
|||
width: 100%;
|
||||
height: 100vh;
|
||||
height: 100dvh;
|
||||
background-color: var(--accent-alpha-color);
|
||||
background-color: var(--accent-light-color);
|
||||
@media (prefers-color-scheme: dark) {
|
||||
background-color: var(--accent-dark-color);
|
||||
}
|
||||
/* background-image: radial-gradient(
|
||||
closest-side,
|
||||
var(--accent-color) 10%,
|
||||
|
|
|
@ -210,6 +210,12 @@ const isIOS = /iPad|iPhone|iPod/.test(navigator.userAgent);
|
|||
if (isIOS) {
|
||||
document.addEventListener('visibilitychange', () => {
|
||||
if (document.visibilityState === 'visible') {
|
||||
// Don't reset theme color if media modal is showing
|
||||
// Media modal will set its own theme color based on the media's color
|
||||
const showingMediaModal =
|
||||
document.getElementsByClassName('media-modal-container').length > 0;
|
||||
if (showingMediaModal) return;
|
||||
|
||||
const theme = store.local.get('theme');
|
||||
let $meta;
|
||||
if (theme) {
|
||||
|
|
|
@ -14,6 +14,7 @@ import { oklab2rgb, rgb2oklab } from '../utils/color-utils';
|
|||
import isRTL from '../utils/is-rtl';
|
||||
import showToast from '../utils/show-toast';
|
||||
import states from '../utils/states';
|
||||
import store from '../utils/store';
|
||||
|
||||
import Icon from './icon';
|
||||
import Link from './link';
|
||||
|
@ -115,39 +116,95 @@ function MediaModal({
|
|||
return () => clearTimeout(timer);
|
||||
}, []);
|
||||
|
||||
const mediaAccentColors = useMemo(() => {
|
||||
const mediaOklabColors = useMemo(() => {
|
||||
return mediaAttachments?.map((media) => {
|
||||
const { blurhash } = media;
|
||||
if (blurhash) {
|
||||
const averageColor = getBlurHashAverageColor(blurhash);
|
||||
const labAverageColor = rgb2oklab(averageColor);
|
||||
return oklab2rgb([0.6, labAverageColor[1], labAverageColor[2]]);
|
||||
return rgb2oklab(averageColor);
|
||||
}
|
||||
return null;
|
||||
});
|
||||
}, [mediaAttachments]);
|
||||
const mediaAccentGradient = useMemo(() => {
|
||||
// const mediaAccentColors = useMemo(() => {
|
||||
// return mediaOklabColors?.map((labAverageColor) => {
|
||||
// if (labAverageColor) {
|
||||
// return oklab2rgb([0.6, labAverageColor[1], labAverageColor[2]]);
|
||||
// }
|
||||
// return null;
|
||||
// });
|
||||
// }, [mediaOklabColors]);
|
||||
const mediaAccentColors = useMemo(() => {
|
||||
return mediaOklabColors?.map((labAverageColor) => {
|
||||
if (labAverageColor) {
|
||||
return {
|
||||
light: oklab2rgb([0.95, labAverageColor[1], labAverageColor[2]]),
|
||||
dark: oklab2rgb([0.25, labAverageColor[1], labAverageColor[2]]),
|
||||
default: oklab2rgb([0.6, labAverageColor[1], labAverageColor[2]]),
|
||||
};
|
||||
}
|
||||
return {};
|
||||
});
|
||||
});
|
||||
// const mediaAccentGradient = useMemo(() => {
|
||||
// const gap = 5;
|
||||
// const range = 100 / mediaAccentColors.length;
|
||||
// return (
|
||||
// mediaAccentColors
|
||||
// ?.map((color, i) => {
|
||||
// const start = i * range + gap;
|
||||
// const end = (i + 1) * range - gap;
|
||||
// if (color) {
|
||||
// return `
|
||||
// rgba(${color?.join(',')}, 0.4) ${start}%,
|
||||
// rgba(${color?.join(',')}, 0.4) ${end}%
|
||||
// `;
|
||||
// }
|
||||
|
||||
// return `
|
||||
// transparent ${start}%,
|
||||
// transparent ${end}%
|
||||
// `;
|
||||
// })
|
||||
// ?.join(', ') || 'transparent'
|
||||
// );
|
||||
// }, [mediaAccentColors]);
|
||||
const mediaAccentGradients = useMemo(() => {
|
||||
const gap = 5;
|
||||
const range = 100 / mediaAccentColors.length;
|
||||
return (
|
||||
mediaAccentColors
|
||||
?.map((color, i) => {
|
||||
const start = i * range + gap;
|
||||
const end = (i + 1) * range - gap;
|
||||
if (color) {
|
||||
return `
|
||||
rgba(${color?.join(',')}, 0.4) ${start}%,
|
||||
rgba(${color?.join(',')}, 0.4) ${end}%
|
||||
`;
|
||||
}
|
||||
const colors = mediaAccentColors.map((color, i) => {
|
||||
const start = i * range + gap;
|
||||
const end = (i + 1) * range - gap;
|
||||
if (color?.light && color?.dark) {
|
||||
return {
|
||||
light: `
|
||||
rgb(${color.light?.join(',')}) ${start}%,
|
||||
rgb(${color.light?.join(',')}) ${end}%
|
||||
`,
|
||||
dark: `
|
||||
rgb(${color.dark?.join(',')}) ${start}%,
|
||||
rgb(${color.dark?.join(',')}) ${end}%
|
||||
`,
|
||||
};
|
||||
}
|
||||
|
||||
return `
|
||||
transparent ${start}%,
|
||||
transparent ${end}%
|
||||
`;
|
||||
})
|
||||
?.join(', ') || 'transparent'
|
||||
);
|
||||
return {
|
||||
light: `
|
||||
transparent ${start}%,
|
||||
transparent ${end}%
|
||||
`,
|
||||
dark: `
|
||||
transparent ${start}%,
|
||||
transparent ${end}%
|
||||
`,
|
||||
};
|
||||
});
|
||||
const lightGradient = colors.map((color) => color.light).join(', ');
|
||||
const darkGradient = colors.map((color) => color.dark).join(', ');
|
||||
return {
|
||||
light: lightGradient,
|
||||
dark: darkGradient,
|
||||
};
|
||||
}, [mediaAccentColors]);
|
||||
|
||||
let toastRef = useRef(null);
|
||||
|
@ -157,6 +214,46 @@ function MediaModal({
|
|||
};
|
||||
}, []);
|
||||
|
||||
useLayoutEffect(() => {
|
||||
const currentColor = mediaAccentColors[currentIndex];
|
||||
let $meta;
|
||||
let metaColor;
|
||||
if (currentColor) {
|
||||
const theme = store.local.get('theme');
|
||||
if (theme) {
|
||||
const mediaColor = `rgb(${currentColor[theme].join(',')})`;
|
||||
console.log({ mediaColor });
|
||||
$meta = document.querySelector(
|
||||
`meta[name="theme-color"][data-theme-setting="manual"]`,
|
||||
);
|
||||
if ($meta) {
|
||||
metaColor = $meta.content;
|
||||
$meta.content = mediaColor;
|
||||
}
|
||||
} else {
|
||||
const colorScheme = window.matchMedia('(prefers-color-scheme: dark)')
|
||||
.matches
|
||||
? 'dark'
|
||||
: 'light';
|
||||
const mediaColor = `rgb(${currentColor[colorScheme].join(',')})`;
|
||||
console.log({ mediaColor });
|
||||
$meta = document.querySelector(
|
||||
`meta[name="theme-color"][media*="${colorScheme}"]`,
|
||||
);
|
||||
if ($meta) {
|
||||
metaColor = $meta.content;
|
||||
$meta.content = mediaColor;
|
||||
}
|
||||
}
|
||||
}
|
||||
return () => {
|
||||
// Reset meta color
|
||||
if ($meta && metaColor) {
|
||||
$meta.content = metaColor;
|
||||
}
|
||||
};
|
||||
}, [currentIndex, mediaAccentColors]);
|
||||
|
||||
return (
|
||||
<div
|
||||
class={`media-modal-container media-modal-count-${mediaAttachments?.length}`}
|
||||
|
@ -179,8 +276,10 @@ function MediaModal({
|
|||
mediaAttachments.length > 1
|
||||
? {
|
||||
backgroundAttachment: 'local',
|
||||
backgroundImage: `linear-gradient(
|
||||
to ${isRTL() ? 'left' : 'right'}, ${mediaAccentGradient})`,
|
||||
'--accent-gradient-light': mediaAccentGradients?.light,
|
||||
'--accent-gradient-dark': mediaAccentGradients?.dark,
|
||||
// backgroundImage: `linear-gradient(
|
||||
// to ${isRTL() ? 'left' : 'right'}, ${mediaAccentGradient})`,
|
||||
}
|
||||
: {}
|
||||
}
|
||||
|
@ -194,8 +293,14 @@ function MediaModal({
|
|||
style={
|
||||
accentColor
|
||||
? {
|
||||
'--accent-color': `rgb(${accentColor?.join(',')})`,
|
||||
'--accent-alpha-color': `rgba(${accentColor?.join(
|
||||
'--accent-color': `rgb(${accentColor.default.join(',')})`,
|
||||
'--accent-light-color': `rgb(${accentColor.light?.join(
|
||||
',',
|
||||
)})`,
|
||||
'--accent-dark-color': `rgb(${accentColor.dark?.join(
|
||||
',',
|
||||
)})`,
|
||||
'--accent-alpha-color': `rgba(${accentColor.default.join(
|
||||
',',
|
||||
)}, 0.4)`,
|
||||
}
|
||||
|
|
|
@ -135,7 +135,7 @@
|
|||
"code": "ru-RU",
|
||||
"nativeName": "русский",
|
||||
"name": "Russian",
|
||||
"completion": 99
|
||||
"completion": 100
|
||||
},
|
||||
{
|
||||
"code": "th-TH",
|
||||
|
|
28
src/locales/ca-ES.po
generated
28
src/locales/ca-ES.po
generated
|
@ -8,7 +8,7 @@ msgstr ""
|
|||
"Language: ca\n"
|
||||
"Project-Id-Version: phanpy\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"PO-Revision-Date: 2024-11-03 07:11\n"
|
||||
"PO-Revision-Date: 2024-11-04 21:10\n"
|
||||
"Last-Translator: \n"
|
||||
"Language-Team: Catalan\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
|
@ -111,7 +111,7 @@ msgstr "Publicacions"
|
|||
#: src/components/account-info.jsx:1118
|
||||
#: src/components/compose.jsx:2488
|
||||
#: src/components/media-alt-modal.jsx:45
|
||||
#: src/components/media-modal.jsx:283
|
||||
#: src/components/media-modal.jsx:336
|
||||
#: src/components/status.jsx:1721
|
||||
#: src/components/status.jsx:1738
|
||||
#: src/components/status.jsx:1862
|
||||
|
@ -415,7 +415,7 @@ msgstr "Segueix"
|
|||
#: src/components/keyboard-shortcuts-help.jsx:39
|
||||
#: src/components/list-add-edit.jsx:33
|
||||
#: src/components/media-alt-modal.jsx:33
|
||||
#: src/components/media-modal.jsx:247
|
||||
#: src/components/media-modal.jsx:300
|
||||
#: src/components/notification-service.jsx:156
|
||||
#: src/components/report-modal.jsx:75
|
||||
#: src/components/shortcuts-settings.jsx:230
|
||||
|
@ -863,13 +863,13 @@ msgid "Type to search GIFs"
|
|||
msgstr "Escriviu per cercar un GIF"
|
||||
|
||||
#: src/components/compose.jsx:3491
|
||||
#: src/components/media-modal.jsx:387
|
||||
#: src/components/media-modal.jsx:440
|
||||
#: src/components/timeline.jsx:889
|
||||
msgid "Previous"
|
||||
msgstr "Anterior"
|
||||
|
||||
#: src/components/compose.jsx:3509
|
||||
#: src/components/media-modal.jsx:406
|
||||
#: src/components/media-modal.jsx:459
|
||||
#: src/components/timeline.jsx:906
|
||||
msgid "Next"
|
||||
msgstr "Següent"
|
||||
|
@ -1052,11 +1052,11 @@ msgstr "<0>1</0> a <1>9</1>"
|
|||
|
||||
#: src/components/keyboard-shortcuts-help.jsx:117
|
||||
msgid "Focus next column in multi-column mode"
|
||||
msgstr ""
|
||||
msgstr "Centra la columna següent en mode de múltiples columnes"
|
||||
|
||||
#: src/components/keyboard-shortcuts-help.jsx:121
|
||||
msgid "Focus previous column in multi-column mode"
|
||||
msgstr ""
|
||||
msgstr "Centra la columna anterior en mode de múltiples columnes"
|
||||
|
||||
#: src/components/keyboard-shortcuts-help.jsx:125
|
||||
msgid "Compose new post"
|
||||
|
@ -1190,27 +1190,27 @@ msgstr "Tradueix"
|
|||
msgid "Speak"
|
||||
msgstr "Pronuncia"
|
||||
|
||||
#: src/components/media-modal.jsx:294
|
||||
#: src/components/media-modal.jsx:347
|
||||
msgid "Open original media in new window"
|
||||
msgstr "Obre el fitxer original en una finestra nova"
|
||||
|
||||
#: src/components/media-modal.jsx:298
|
||||
#: src/components/media-modal.jsx:351
|
||||
msgid "Open original media"
|
||||
msgstr "Obre el fitxer original"
|
||||
|
||||
#: src/components/media-modal.jsx:314
|
||||
#: src/components/media-modal.jsx:367
|
||||
msgid "Attempting to describe image. Please wait…"
|
||||
msgstr "Intentant descriure la imatge. Si us plau, espereu…"
|
||||
|
||||
#: src/components/media-modal.jsx:329
|
||||
#: src/components/media-modal.jsx:382
|
||||
msgid "Failed to describe image"
|
||||
msgstr "No s'ha pogut descriure la imatge"
|
||||
|
||||
#: src/components/media-modal.jsx:339
|
||||
#: src/components/media-modal.jsx:392
|
||||
msgid "Describe image…"
|
||||
msgstr "Descriu la imatge…"
|
||||
|
||||
#: src/components/media-modal.jsx:362
|
||||
#: src/components/media-modal.jsx:415
|
||||
msgid "View post"
|
||||
msgstr "Mostra la publicació"
|
||||
|
||||
|
@ -2726,7 +2726,7 @@ msgstr "Densitat"
|
|||
#. js-lingui-explicit-id
|
||||
#: src/pages/catchup.jsx:1471
|
||||
msgid "group.filter"
|
||||
msgstr ""
|
||||
msgstr "Filtra"
|
||||
|
||||
#: src/pages/catchup.jsx:1486
|
||||
msgid "Authors"
|
||||
|
|
162
src/locales/en.po
generated
162
src/locales/en.po
generated
|
@ -106,7 +106,7 @@ msgstr ""
|
|||
#: src/components/account-info.jsx:1118
|
||||
#: src/components/compose.jsx:2488
|
||||
#: src/components/media-alt-modal.jsx:45
|
||||
#: src/components/media-modal.jsx:283
|
||||
#: src/components/media-modal.jsx:388
|
||||
#: src/components/status.jsx:1721
|
||||
#: src/components/status.jsx:1738
|
||||
#: src/components/status.jsx:1862
|
||||
|
@ -193,7 +193,7 @@ msgstr ""
|
|||
#: src/pages/catchup.jsx:72
|
||||
#: src/pages/catchup.jsx:1447
|
||||
#: src/pages/catchup.jsx:2068
|
||||
#: src/pages/settings.jsx:1110
|
||||
#: src/pages/settings.jsx:1145
|
||||
msgid "Boosts"
|
||||
msgstr ""
|
||||
|
||||
|
@ -410,7 +410,7 @@ msgstr ""
|
|||
#: src/components/keyboard-shortcuts-help.jsx:39
|
||||
#: src/components/list-add-edit.jsx:33
|
||||
#: src/components/media-alt-modal.jsx:33
|
||||
#: src/components/media-modal.jsx:247
|
||||
#: src/components/media-modal.jsx:352
|
||||
#: src/components/notification-service.jsx:156
|
||||
#: src/components/report-modal.jsx:75
|
||||
#: src/components/shortcuts-settings.jsx:230
|
||||
|
@ -425,7 +425,7 @@ msgstr ""
|
|||
#: src/pages/list.jsx:274
|
||||
#: src/pages/notifications.jsx:868
|
||||
#: src/pages/notifications.jsx:1082
|
||||
#: src/pages/settings.jsx:76
|
||||
#: src/pages/settings.jsx:77
|
||||
#: src/pages/status.jsx:1299
|
||||
msgid "Close"
|
||||
msgstr ""
|
||||
|
@ -619,7 +619,7 @@ msgstr ""
|
|||
|
||||
#: src/components/compose.jsx:1191
|
||||
#: src/components/status.jsx:93
|
||||
#: src/pages/settings.jsx:304
|
||||
#: src/pages/settings.jsx:305
|
||||
msgid "Public"
|
||||
msgstr ""
|
||||
|
||||
|
@ -632,13 +632,13 @@ msgstr ""
|
|||
|
||||
#: src/components/compose.jsx:1200
|
||||
#: src/components/status.jsx:95
|
||||
#: src/pages/settings.jsx:307
|
||||
#: src/pages/settings.jsx:308
|
||||
msgid "Unlisted"
|
||||
msgstr ""
|
||||
|
||||
#: src/components/compose.jsx:1203
|
||||
#: src/components/status.jsx:96
|
||||
#: src/pages/settings.jsx:310
|
||||
#: src/pages/settings.jsx:311
|
||||
msgid "Followers only"
|
||||
msgstr ""
|
||||
|
||||
|
@ -858,13 +858,13 @@ msgid "Type to search GIFs"
|
|||
msgstr ""
|
||||
|
||||
#: src/components/compose.jsx:3491
|
||||
#: src/components/media-modal.jsx:387
|
||||
#: src/components/media-modal.jsx:492
|
||||
#: src/components/timeline.jsx:889
|
||||
msgid "Previous"
|
||||
msgstr ""
|
||||
|
||||
#: src/components/compose.jsx:3509
|
||||
#: src/components/media-modal.jsx:406
|
||||
#: src/components/media-modal.jsx:511
|
||||
#: src/components/timeline.jsx:906
|
||||
msgid "Next"
|
||||
msgstr ""
|
||||
|
@ -874,7 +874,7 @@ msgid "Error loading GIFs"
|
|||
msgstr ""
|
||||
|
||||
#: src/components/drafts.jsx:63
|
||||
#: src/pages/settings.jsx:691
|
||||
#: src/pages/settings.jsx:692
|
||||
msgid "Unsent drafts"
|
||||
msgstr ""
|
||||
|
||||
|
@ -1185,27 +1185,27 @@ msgstr ""
|
|||
msgid "Speak"
|
||||
msgstr ""
|
||||
|
||||
#: src/components/media-modal.jsx:294
|
||||
#: src/components/media-modal.jsx:399
|
||||
msgid "Open original media in new window"
|
||||
msgstr ""
|
||||
|
||||
#: src/components/media-modal.jsx:298
|
||||
#: src/components/media-modal.jsx:403
|
||||
msgid "Open original media"
|
||||
msgstr ""
|
||||
|
||||
#: src/components/media-modal.jsx:314
|
||||
#: src/components/media-modal.jsx:419
|
||||
msgid "Attempting to describe image. Please wait…"
|
||||
msgstr ""
|
||||
|
||||
#: src/components/media-modal.jsx:329
|
||||
#: src/components/media-modal.jsx:434
|
||||
msgid "Failed to describe image"
|
||||
msgstr ""
|
||||
|
||||
#: src/components/media-modal.jsx:339
|
||||
#: src/components/media-modal.jsx:444
|
||||
msgid "Describe image…"
|
||||
msgstr ""
|
||||
|
||||
#: src/components/media-modal.jsx:362
|
||||
#: src/components/media-modal.jsx:467
|
||||
msgid "View post"
|
||||
msgstr ""
|
||||
|
||||
|
@ -1270,7 +1270,7 @@ msgstr ""
|
|||
#: src/pages/home.jsx:224
|
||||
#: src/pages/mentions.jsx:20
|
||||
#: src/pages/mentions.jsx:167
|
||||
#: src/pages/settings.jsx:1102
|
||||
#: src/pages/settings.jsx:1137
|
||||
#: src/pages/trending.jsx:381
|
||||
msgid "Mentions"
|
||||
msgstr ""
|
||||
|
@ -1325,7 +1325,7 @@ msgstr ""
|
|||
#: src/pages/catchup.jsx:2062
|
||||
#: src/pages/favourites.jsx:11
|
||||
#: src/pages/favourites.jsx:23
|
||||
#: src/pages/settings.jsx:1106
|
||||
#: src/pages/settings.jsx:1141
|
||||
msgid "Likes"
|
||||
msgstr ""
|
||||
|
||||
|
@ -2317,7 +2317,7 @@ msgid "<0/> <1/> boosted"
|
|||
msgstr ""
|
||||
|
||||
#: src/components/timeline.jsx:453
|
||||
#: src/pages/settings.jsx:1130
|
||||
#: src/pages/settings.jsx:1165
|
||||
msgid "New posts"
|
||||
msgstr ""
|
||||
|
||||
|
@ -3169,7 +3169,7 @@ msgid "{0, plural, one {Announcement} other {Announcements}}"
|
|||
msgstr ""
|
||||
|
||||
#: src/pages/notifications.jsx:614
|
||||
#: src/pages/settings.jsx:1118
|
||||
#: src/pages/settings.jsx:1153
|
||||
msgid "Follow requests"
|
||||
msgstr ""
|
||||
|
||||
|
@ -3340,240 +3340,240 @@ msgstr ""
|
|||
msgid "Enter your search term or paste a URL above to get started."
|
||||
msgstr ""
|
||||
|
||||
#: src/pages/settings.jsx:81
|
||||
#: src/pages/settings.jsx:82
|
||||
msgid "Settings"
|
||||
msgstr ""
|
||||
|
||||
#: src/pages/settings.jsx:90
|
||||
#: src/pages/settings.jsx:91
|
||||
msgid "Appearance"
|
||||
msgstr ""
|
||||
|
||||
#: src/pages/settings.jsx:166
|
||||
#: src/pages/settings.jsx:167
|
||||
msgid "Light"
|
||||
msgstr ""
|
||||
|
||||
#: src/pages/settings.jsx:177
|
||||
#: src/pages/settings.jsx:178
|
||||
msgid "Dark"
|
||||
msgstr ""
|
||||
|
||||
#: src/pages/settings.jsx:190
|
||||
#: src/pages/settings.jsx:191
|
||||
msgid "Auto"
|
||||
msgstr ""
|
||||
|
||||
#: src/pages/settings.jsx:200
|
||||
#: src/pages/settings.jsx:201
|
||||
msgid "Text size"
|
||||
msgstr ""
|
||||
|
||||
#. Preview of one character, in smallest size
|
||||
#. Preview of one character, in largest size
|
||||
#: src/pages/settings.jsx:205
|
||||
#: src/pages/settings.jsx:230
|
||||
#: src/pages/settings.jsx:206
|
||||
#: src/pages/settings.jsx:231
|
||||
msgid "A"
|
||||
msgstr ""
|
||||
|
||||
#: src/pages/settings.jsx:244
|
||||
#: src/pages/settings.jsx:245
|
||||
msgid "Display language"
|
||||
msgstr ""
|
||||
|
||||
#: src/pages/settings.jsx:253
|
||||
#: src/pages/settings.jsx:254
|
||||
msgid "Volunteer translations"
|
||||
msgstr "Volunteer translations"
|
||||
|
||||
#: src/pages/settings.jsx:264
|
||||
#: src/pages/settings.jsx:265
|
||||
msgid "Posting"
|
||||
msgstr ""
|
||||
|
||||
#: src/pages/settings.jsx:271
|
||||
#: src/pages/settings.jsx:272
|
||||
msgid "Default visibility"
|
||||
msgstr ""
|
||||
|
||||
#: src/pages/settings.jsx:272
|
||||
#: src/pages/settings.jsx:318
|
||||
#: src/pages/settings.jsx:273
|
||||
#: src/pages/settings.jsx:319
|
||||
msgid "Synced"
|
||||
msgstr ""
|
||||
|
||||
#: src/pages/settings.jsx:297
|
||||
#: src/pages/settings.jsx:298
|
||||
msgid "Failed to update posting privacy"
|
||||
msgstr ""
|
||||
|
||||
#: src/pages/settings.jsx:320
|
||||
#: src/pages/settings.jsx:321
|
||||
msgid "Synced to your instance server's settings. <0>Go to your instance ({instance}) for more settings.</0>"
|
||||
msgstr ""
|
||||
|
||||
#: src/pages/settings.jsx:335
|
||||
#: src/pages/settings.jsx:336
|
||||
msgid "Experiments"
|
||||
msgstr ""
|
||||
|
||||
#: src/pages/settings.jsx:348
|
||||
#: src/pages/settings.jsx:349
|
||||
msgid "Auto refresh timeline posts"
|
||||
msgstr ""
|
||||
|
||||
#: src/pages/settings.jsx:360
|
||||
#: src/pages/settings.jsx:361
|
||||
msgid "Boosts carousel"
|
||||
msgstr ""
|
||||
|
||||
#: src/pages/settings.jsx:376
|
||||
#: src/pages/settings.jsx:377
|
||||
msgid "Post translation"
|
||||
msgstr ""
|
||||
|
||||
#: src/pages/settings.jsx:387
|
||||
#: src/pages/settings.jsx:388
|
||||
msgid "Translate to"
|
||||
msgstr ""
|
||||
|
||||
#: src/pages/settings.jsx:398
|
||||
#: src/pages/settings.jsx:399
|
||||
msgid "System language ({systemTargetLanguageText})"
|
||||
msgstr ""
|
||||
|
||||
#: src/pages/settings.jsx:424
|
||||
#: src/pages/settings.jsx:425
|
||||
msgid "{0, plural, =0 {Hide \"Translate\" button for:} other {Hide \"Translate\" button for (#):}}"
|
||||
msgstr ""
|
||||
|
||||
#: src/pages/settings.jsx:478
|
||||
#: src/pages/settings.jsx:479
|
||||
msgid "Note: This feature uses external translation services, powered by <0>Lingva API</0> & <1>Lingva Translate</1>."
|
||||
msgstr ""
|
||||
|
||||
#: src/pages/settings.jsx:512
|
||||
#: src/pages/settings.jsx:513
|
||||
msgid "Auto inline translation"
|
||||
msgstr ""
|
||||
|
||||
#: src/pages/settings.jsx:516
|
||||
#: src/pages/settings.jsx:517
|
||||
msgid "Automatically show translation for posts in timeline. Only works for <0>short</0> posts without content warning, media and poll."
|
||||
msgstr ""
|
||||
|
||||
#: src/pages/settings.jsx:536
|
||||
#: src/pages/settings.jsx:537
|
||||
msgid "GIF Picker for composer"
|
||||
msgstr ""
|
||||
|
||||
#: src/pages/settings.jsx:540
|
||||
#: src/pages/settings.jsx:541
|
||||
msgid "Note: This feature uses external GIF search service, powered by <0>GIPHY</0>. G-rated (suitable for viewing by all ages), tracking parameters are stripped, referrer information is omitted from requests, but search queries and IP address information will still reach their servers."
|
||||
msgstr ""
|
||||
|
||||
#: src/pages/settings.jsx:569
|
||||
#: src/pages/settings.jsx:570
|
||||
msgid "Image description generator"
|
||||
msgstr ""
|
||||
|
||||
#: src/pages/settings.jsx:574
|
||||
#: src/pages/settings.jsx:575
|
||||
msgid "Only for new images while composing new posts."
|
||||
msgstr ""
|
||||
|
||||
#: src/pages/settings.jsx:581
|
||||
#: src/pages/settings.jsx:582
|
||||
msgid "Note: This feature uses external AI service, powered by <0>img-alt-api</0>. May not work well. Only for images and in English."
|
||||
msgstr ""
|
||||
|
||||
#: src/pages/settings.jsx:607
|
||||
#: src/pages/settings.jsx:608
|
||||
msgid "Server-side grouped notifications"
|
||||
msgstr ""
|
||||
|
||||
#: src/pages/settings.jsx:611
|
||||
#: src/pages/settings.jsx:612
|
||||
msgid "Alpha-stage feature. Potentially improved grouping window but basic grouping logic."
|
||||
msgstr ""
|
||||
|
||||
#: src/pages/settings.jsx:632
|
||||
#: src/pages/settings.jsx:633
|
||||
msgid "\"Cloud\" import/export for shortcuts settings"
|
||||
msgstr ""
|
||||
|
||||
#: src/pages/settings.jsx:637
|
||||
#: src/pages/settings.jsx:638
|
||||
msgid "⚠️⚠️⚠️ Very experimental.<0/>Stored in your own profile’s notes. Profile (private) notes are mainly used for other profiles, and hidden for own profile."
|
||||
msgstr ""
|
||||
|
||||
#: src/pages/settings.jsx:648
|
||||
#: src/pages/settings.jsx:649
|
||||
msgid "Note: This feature uses currently-logged-in instance server API."
|
||||
msgstr ""
|
||||
|
||||
#: src/pages/settings.jsx:665
|
||||
#: src/pages/settings.jsx:666
|
||||
msgid "Cloak mode <0>(<1>Text</1> → <2>████</2>)</0>"
|
||||
msgstr ""
|
||||
|
||||
#: src/pages/settings.jsx:674
|
||||
#: src/pages/settings.jsx:675
|
||||
msgid "Replace text as blocks, useful when taking screenshots, for privacy reasons."
|
||||
msgstr ""
|
||||
|
||||
#: src/pages/settings.jsx:699
|
||||
#: src/pages/settings.jsx:700
|
||||
msgid "About"
|
||||
msgstr ""
|
||||
|
||||
#: src/pages/settings.jsx:738
|
||||
#: src/pages/settings.jsx:739
|
||||
msgid "<0>Built</0> by <1>@cheeaun</1>"
|
||||
msgstr ""
|
||||
|
||||
#: src/pages/settings.jsx:767
|
||||
#: src/pages/settings.jsx:768
|
||||
msgid "Sponsor"
|
||||
msgstr ""
|
||||
|
||||
#: src/pages/settings.jsx:775
|
||||
#: src/pages/settings.jsx:776
|
||||
msgid "Donate"
|
||||
msgstr ""
|
||||
|
||||
#: src/pages/settings.jsx:783
|
||||
#: src/pages/settings.jsx:784
|
||||
msgid "Privacy Policy"
|
||||
msgstr ""
|
||||
|
||||
#: src/pages/settings.jsx:790
|
||||
#: src/pages/settings.jsx:791
|
||||
msgid "<0>Site:</0> {0}"
|
||||
msgstr ""
|
||||
|
||||
#: src/pages/settings.jsx:797
|
||||
#: src/pages/settings.jsx:798
|
||||
msgid "<0>Version:</0> <1/> {0}"
|
||||
msgstr ""
|
||||
|
||||
#: src/pages/settings.jsx:812
|
||||
#: src/pages/settings.jsx:813
|
||||
msgid "Version string copied"
|
||||
msgstr ""
|
||||
|
||||
#: src/pages/settings.jsx:815
|
||||
#: src/pages/settings.jsx:816
|
||||
msgid "Unable to copy version string"
|
||||
msgstr ""
|
||||
|
||||
#: src/pages/settings.jsx:1015
|
||||
#: src/pages/settings.jsx:1020
|
||||
#: src/pages/settings.jsx:1050
|
||||
#: src/pages/settings.jsx:1055
|
||||
msgid "Failed to update subscription. Please try again."
|
||||
msgstr ""
|
||||
|
||||
#: src/pages/settings.jsx:1026
|
||||
#: src/pages/settings.jsx:1061
|
||||
msgid "Failed to remove subscription. Please try again."
|
||||
msgstr ""
|
||||
|
||||
#: src/pages/settings.jsx:1033
|
||||
#: src/pages/settings.jsx:1068
|
||||
msgid "Push Notifications (beta)"
|
||||
msgstr ""
|
||||
|
||||
#: src/pages/settings.jsx:1055
|
||||
#: src/pages/settings.jsx:1090
|
||||
msgid "Push notifications are blocked. Please enable them in your browser settings."
|
||||
msgstr ""
|
||||
|
||||
#: src/pages/settings.jsx:1064
|
||||
#: src/pages/settings.jsx:1099
|
||||
msgid "Allow from <0>{0}</0>"
|
||||
msgstr ""
|
||||
|
||||
#: src/pages/settings.jsx:1073
|
||||
#: src/pages/settings.jsx:1108
|
||||
msgid "anyone"
|
||||
msgstr ""
|
||||
|
||||
#: src/pages/settings.jsx:1077
|
||||
#: src/pages/settings.jsx:1112
|
||||
msgid "people I follow"
|
||||
msgstr ""
|
||||
|
||||
#: src/pages/settings.jsx:1081
|
||||
#: src/pages/settings.jsx:1116
|
||||
msgid "followers"
|
||||
msgstr ""
|
||||
|
||||
#: src/pages/settings.jsx:1114
|
||||
#: src/pages/settings.jsx:1149
|
||||
msgid "Follows"
|
||||
msgstr ""
|
||||
|
||||
#: src/pages/settings.jsx:1122
|
||||
#: src/pages/settings.jsx:1157
|
||||
msgid "Polls"
|
||||
msgstr ""
|
||||
|
||||
#: src/pages/settings.jsx:1126
|
||||
#: src/pages/settings.jsx:1161
|
||||
msgid "Post edits"
|
||||
msgstr ""
|
||||
|
||||
#: src/pages/settings.jsx:1147
|
||||
#: src/pages/settings.jsx:1182
|
||||
msgid "Push permission was not granted since your last login. You'll need to <0><1>log in</1> again to grant push permission</0>."
|
||||
msgstr ""
|
||||
|
||||
#: src/pages/settings.jsx:1163
|
||||
#: src/pages/settings.jsx:1198
|
||||
msgid "NOTE: Push notifications only work for <0>one account</0>."
|
||||
msgstr ""
|
||||
|
||||
|
|
4
src/locales/eo-UY.po
generated
4
src/locales/eo-UY.po
generated
|
@ -8,7 +8,7 @@ msgstr ""
|
|||
"Language: eo\n"
|
||||
"Project-Id-Version: phanpy\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"PO-Revision-Date: 2024-11-03 07:11\n"
|
||||
"PO-Revision-Date: 2024-11-03 13:10\n"
|
||||
"Last-Translator: \n"
|
||||
"Language-Team: Esperanto\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
|
@ -2725,7 +2725,7 @@ msgstr "Denseco"
|
|||
#. js-lingui-explicit-id
|
||||
#: src/pages/catchup.jsx:1471
|
||||
msgid "group.filter"
|
||||
msgstr ""
|
||||
msgstr "Filtri"
|
||||
|
||||
#: src/pages/catchup.jsx:1486
|
||||
msgid "Authors"
|
||||
|
|
4
src/locales/es-ES.po
generated
4
src/locales/es-ES.po
generated
|
@ -8,7 +8,7 @@ msgstr ""
|
|||
"Language: es\n"
|
||||
"Project-Id-Version: phanpy\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"PO-Revision-Date: 2024-11-03 07:10\n"
|
||||
"PO-Revision-Date: 2024-11-03 13:10\n"
|
||||
"Last-Translator: \n"
|
||||
"Language-Team: Spanish\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
|
@ -2725,7 +2725,7 @@ msgstr "Densidad"
|
|||
#. js-lingui-explicit-id
|
||||
#: src/pages/catchup.jsx:1471
|
||||
msgid "group.filter"
|
||||
msgstr ""
|
||||
msgstr "Filtrar"
|
||||
|
||||
#: src/pages/catchup.jsx:1486
|
||||
msgid "Authors"
|
||||
|
|
4
src/locales/eu-ES.po
generated
4
src/locales/eu-ES.po
generated
|
@ -8,7 +8,7 @@ msgstr ""
|
|||
"Language: eu\n"
|
||||
"Project-Id-Version: phanpy\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"PO-Revision-Date: 2024-11-03 07:11\n"
|
||||
"PO-Revision-Date: 2024-11-03 19:18\n"
|
||||
"Last-Translator: \n"
|
||||
"Language-Team: Basque\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
|
@ -2725,7 +2725,7 @@ msgstr "Dentsitatea"
|
|||
#. js-lingui-explicit-id
|
||||
#: src/pages/catchup.jsx:1471
|
||||
msgid "group.filter"
|
||||
msgstr ""
|
||||
msgstr "Iragazi"
|
||||
|
||||
#: src/pages/catchup.jsx:1486
|
||||
msgid "Authors"
|
||||
|
|
4
src/locales/fi-FI.po
generated
4
src/locales/fi-FI.po
generated
|
@ -8,7 +8,7 @@ msgstr ""
|
|||
"Language: fi\n"
|
||||
"Project-Id-Version: phanpy\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"PO-Revision-Date: 2024-11-03 07:11\n"
|
||||
"PO-Revision-Date: 2024-11-03 12:10\n"
|
||||
"Last-Translator: \n"
|
||||
"Language-Team: Finnish\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
|
@ -2725,7 +2725,7 @@ msgstr "Tiheys"
|
|||
#. js-lingui-explicit-id
|
||||
#: src/pages/catchup.jsx:1471
|
||||
msgid "group.filter"
|
||||
msgstr ""
|
||||
msgstr "Ryhmä"
|
||||
|
||||
#: src/pages/catchup.jsx:1486
|
||||
msgid "Authors"
|
||||
|
|
166
src/locales/ko-KR.po
generated
166
src/locales/ko-KR.po
generated
|
@ -8,7 +8,7 @@ msgstr ""
|
|||
"Language: ko\n"
|
||||
"Project-Id-Version: phanpy\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"PO-Revision-Date: 2024-11-03 07:11\n"
|
||||
"PO-Revision-Date: 2024-11-07 06:50\n"
|
||||
"Last-Translator: \n"
|
||||
"Language-Team: Korean\n"
|
||||
"Plural-Forms: nplurals=1; plural=0;\n"
|
||||
|
@ -111,7 +111,7 @@ msgstr "게시물"
|
|||
#: src/components/account-info.jsx:1118
|
||||
#: src/components/compose.jsx:2488
|
||||
#: src/components/media-alt-modal.jsx:45
|
||||
#: src/components/media-modal.jsx:283
|
||||
#: src/components/media-modal.jsx:388
|
||||
#: src/components/status.jsx:1721
|
||||
#: src/components/status.jsx:1738
|
||||
#: src/components/status.jsx:1862
|
||||
|
@ -198,7 +198,7 @@ msgstr "댓글"
|
|||
#: src/pages/catchup.jsx:72
|
||||
#: src/pages/catchup.jsx:1447
|
||||
#: src/pages/catchup.jsx:2068
|
||||
#: src/pages/settings.jsx:1110
|
||||
#: src/pages/settings.jsx:1140
|
||||
msgid "Boosts"
|
||||
msgstr "부스트"
|
||||
|
||||
|
@ -338,7 +338,7 @@ msgstr "@{username} 님이 팔로워에서 빠짐"
|
|||
|
||||
#: src/components/account-info.jsx:1477
|
||||
msgid "Remove follower…"
|
||||
msgstr "그만 팔로하기…"
|
||||
msgstr "팔로워에서 빼기…"
|
||||
|
||||
#: src/components/account-info.jsx:1488
|
||||
msgid "Block <0>@{username}</0>?"
|
||||
|
@ -415,7 +415,7 @@ msgstr "팔로"
|
|||
#: src/components/keyboard-shortcuts-help.jsx:39
|
||||
#: src/components/list-add-edit.jsx:33
|
||||
#: src/components/media-alt-modal.jsx:33
|
||||
#: src/components/media-modal.jsx:247
|
||||
#: src/components/media-modal.jsx:352
|
||||
#: src/components/notification-service.jsx:156
|
||||
#: src/components/report-modal.jsx:75
|
||||
#: src/components/shortcuts-settings.jsx:230
|
||||
|
@ -430,7 +430,7 @@ msgstr "팔로"
|
|||
#: src/pages/list.jsx:274
|
||||
#: src/pages/notifications.jsx:868
|
||||
#: src/pages/notifications.jsx:1082
|
||||
#: src/pages/settings.jsx:76
|
||||
#: src/pages/settings.jsx:77
|
||||
#: src/pages/status.jsx:1299
|
||||
msgid "Close"
|
||||
msgstr "닫기"
|
||||
|
@ -624,7 +624,7 @@ msgstr "열람 주의 및 민감한 매체"
|
|||
|
||||
#: src/components/compose.jsx:1191
|
||||
#: src/components/status.jsx:93
|
||||
#: src/pages/settings.jsx:304
|
||||
#: src/pages/settings.jsx:305
|
||||
msgid "Public"
|
||||
msgstr "공개"
|
||||
|
||||
|
@ -637,13 +637,13 @@ msgstr "로컬"
|
|||
|
||||
#: src/components/compose.jsx:1200
|
||||
#: src/components/status.jsx:95
|
||||
#: src/pages/settings.jsx:307
|
||||
#: src/pages/settings.jsx:308
|
||||
msgid "Unlisted"
|
||||
msgstr "조용히 공개"
|
||||
|
||||
#: src/components/compose.jsx:1203
|
||||
#: src/components/status.jsx:96
|
||||
#: src/pages/settings.jsx:310
|
||||
#: src/pages/settings.jsx:311
|
||||
msgid "Followers only"
|
||||
msgstr "팔로워만"
|
||||
|
||||
|
@ -863,13 +863,13 @@ msgid "Type to search GIFs"
|
|||
msgstr "움짤을 검색하려면 입력하세요"
|
||||
|
||||
#: src/components/compose.jsx:3491
|
||||
#: src/components/media-modal.jsx:387
|
||||
#: src/components/media-modal.jsx:492
|
||||
#: src/components/timeline.jsx:889
|
||||
msgid "Previous"
|
||||
msgstr "이전"
|
||||
|
||||
#: src/components/compose.jsx:3509
|
||||
#: src/components/media-modal.jsx:406
|
||||
#: src/components/media-modal.jsx:511
|
||||
#: src/components/timeline.jsx:906
|
||||
msgid "Next"
|
||||
msgstr "다음"
|
||||
|
@ -879,7 +879,7 @@ msgid "Error loading GIFs"
|
|||
msgstr "GIF 불러오기 오류"
|
||||
|
||||
#: src/components/drafts.jsx:63
|
||||
#: src/pages/settings.jsx:691
|
||||
#: src/pages/settings.jsx:692
|
||||
msgid "Unsent drafts"
|
||||
msgstr "올리지 않은 초고"
|
||||
|
||||
|
@ -1190,27 +1190,27 @@ msgstr "번역"
|
|||
msgid "Speak"
|
||||
msgstr "말하기"
|
||||
|
||||
#: src/components/media-modal.jsx:294
|
||||
#: src/components/media-modal.jsx:399
|
||||
msgid "Open original media in new window"
|
||||
msgstr "원본 매체 새 창에서 열기"
|
||||
|
||||
#: src/components/media-modal.jsx:298
|
||||
#: src/components/media-modal.jsx:403
|
||||
msgid "Open original media"
|
||||
msgstr "원본 매체 열기"
|
||||
|
||||
#: src/components/media-modal.jsx:314
|
||||
#: src/components/media-modal.jsx:419
|
||||
msgid "Attempting to describe image. Please wait…"
|
||||
msgstr "이미지 설명을 생성중입니다. 잠시 기다려 주세요…"
|
||||
|
||||
#: src/components/media-modal.jsx:329
|
||||
#: src/components/media-modal.jsx:434
|
||||
msgid "Failed to describe image"
|
||||
msgstr "이미지 설명 생성 실패"
|
||||
|
||||
#: src/components/media-modal.jsx:339
|
||||
#: src/components/media-modal.jsx:444
|
||||
msgid "Describe image…"
|
||||
msgstr "이미지 설명…"
|
||||
|
||||
#: src/components/media-modal.jsx:362
|
||||
#: src/components/media-modal.jsx:467
|
||||
msgid "View post"
|
||||
msgstr "게시물 보기"
|
||||
|
||||
|
@ -1275,7 +1275,7 @@ msgstr "따라잡기"
|
|||
#: src/pages/home.jsx:224
|
||||
#: src/pages/mentions.jsx:20
|
||||
#: src/pages/mentions.jsx:167
|
||||
#: src/pages/settings.jsx:1102
|
||||
#: src/pages/settings.jsx:1132
|
||||
#: src/pages/trending.jsx:381
|
||||
msgid "Mentions"
|
||||
msgstr "언급"
|
||||
|
@ -1330,7 +1330,7 @@ msgstr "책갈피"
|
|||
#: src/pages/catchup.jsx:2062
|
||||
#: src/pages/favourites.jsx:11
|
||||
#: src/pages/favourites.jsx:23
|
||||
#: src/pages/settings.jsx:1106
|
||||
#: src/pages/settings.jsx:1136
|
||||
msgid "Likes"
|
||||
msgstr "좋아요"
|
||||
|
||||
|
@ -2322,7 +2322,7 @@ msgid "<0/> <1/> boosted"
|
|||
msgstr "<0/> <1/> 님이 부스트 함"
|
||||
|
||||
#: src/components/timeline.jsx:453
|
||||
#: src/pages/settings.jsx:1130
|
||||
#: src/pages/settings.jsx:1160
|
||||
msgid "New posts"
|
||||
msgstr "새 게시물"
|
||||
|
||||
|
@ -3174,7 +3174,7 @@ msgid "{0, plural, one {Announcement} other {Announcements}}"
|
|||
msgstr "{0, plural, other {공지}}"
|
||||
|
||||
#: src/pages/notifications.jsx:614
|
||||
#: src/pages/settings.jsx:1118
|
||||
#: src/pages/settings.jsx:1148
|
||||
msgid "Follow requests"
|
||||
msgstr "팔로 요청"
|
||||
|
||||
|
@ -3345,240 +3345,240 @@ msgstr "아무 게시물도 찾을 수 없습니다."
|
|||
msgid "Enter your search term or paste a URL above to get started."
|
||||
msgstr "시작하려면 위 검색창에 검색어를 입력하거나 URL을 붙여 넣으세요."
|
||||
|
||||
#: src/pages/settings.jsx:81
|
||||
#: src/pages/settings.jsx:82
|
||||
msgid "Settings"
|
||||
msgstr "설정"
|
||||
|
||||
#: src/pages/settings.jsx:90
|
||||
#: src/pages/settings.jsx:91
|
||||
msgid "Appearance"
|
||||
msgstr "외관"
|
||||
|
||||
#: src/pages/settings.jsx:166
|
||||
#: src/pages/settings.jsx:167
|
||||
msgid "Light"
|
||||
msgstr "밝게"
|
||||
|
||||
#: src/pages/settings.jsx:177
|
||||
#: src/pages/settings.jsx:178
|
||||
msgid "Dark"
|
||||
msgstr "어둡게"
|
||||
|
||||
#: src/pages/settings.jsx:190
|
||||
#: src/pages/settings.jsx:191
|
||||
msgid "Auto"
|
||||
msgstr "자동"
|
||||
|
||||
#: src/pages/settings.jsx:200
|
||||
#: src/pages/settings.jsx:201
|
||||
msgid "Text size"
|
||||
msgstr "글자 크기"
|
||||
|
||||
#. Preview of one character, in smallest size
|
||||
#. Preview of one character, in largest size
|
||||
#: src/pages/settings.jsx:205
|
||||
#: src/pages/settings.jsx:230
|
||||
#: src/pages/settings.jsx:206
|
||||
#: src/pages/settings.jsx:231
|
||||
msgid "A"
|
||||
msgstr "글"
|
||||
|
||||
#: src/pages/settings.jsx:244
|
||||
#: src/pages/settings.jsx:245
|
||||
msgid "Display language"
|
||||
msgstr "표시 언어"
|
||||
|
||||
#: src/pages/settings.jsx:253
|
||||
#: src/pages/settings.jsx:254
|
||||
msgid "Volunteer translations"
|
||||
msgstr "번역 참여하기"
|
||||
|
||||
#: src/pages/settings.jsx:264
|
||||
#: src/pages/settings.jsx:265
|
||||
msgid "Posting"
|
||||
msgstr "게시"
|
||||
|
||||
#: src/pages/settings.jsx:271
|
||||
#: src/pages/settings.jsx:272
|
||||
msgid "Default visibility"
|
||||
msgstr "기본 공개 범위"
|
||||
|
||||
#: src/pages/settings.jsx:272
|
||||
#: src/pages/settings.jsx:318
|
||||
#: src/pages/settings.jsx:273
|
||||
#: src/pages/settings.jsx:319
|
||||
msgid "Synced"
|
||||
msgstr "동기화 됨"
|
||||
|
||||
#: src/pages/settings.jsx:297
|
||||
#: src/pages/settings.jsx:298
|
||||
msgid "Failed to update posting privacy"
|
||||
msgstr "게시물 공개 범위 수정 실패"
|
||||
|
||||
#: src/pages/settings.jsx:320
|
||||
#: src/pages/settings.jsx:321
|
||||
msgid "Synced to your instance server's settings. <0>Go to your instance ({instance}) for more settings.</0>"
|
||||
msgstr "인스턴스 서버의 설정과 동기화 됩니다. <0>쓰고 있는 인스턴스({instance})에서 더 많은 설정이 가능합니다.</0>"
|
||||
|
||||
#: src/pages/settings.jsx:335
|
||||
#: src/pages/settings.jsx:336
|
||||
msgid "Experiments"
|
||||
msgstr "시범 기능"
|
||||
|
||||
#: src/pages/settings.jsx:348
|
||||
#: src/pages/settings.jsx:349
|
||||
msgid "Auto refresh timeline posts"
|
||||
msgstr "타임라인 게시물 알아서 새로 고침"
|
||||
|
||||
#: src/pages/settings.jsx:360
|
||||
#: src/pages/settings.jsx:361
|
||||
msgid "Boosts carousel"
|
||||
msgstr "부스트 캐러셀"
|
||||
|
||||
#: src/pages/settings.jsx:376
|
||||
#: src/pages/settings.jsx:377
|
||||
msgid "Post translation"
|
||||
msgstr "게시물 번역"
|
||||
|
||||
#: src/pages/settings.jsx:387
|
||||
#: src/pages/settings.jsx:388
|
||||
msgid "Translate to"
|
||||
msgstr "다음 언어로 번역:"
|
||||
|
||||
#: src/pages/settings.jsx:398
|
||||
#: src/pages/settings.jsx:399
|
||||
msgid "System language ({systemTargetLanguageText})"
|
||||
msgstr "시스템 언어 ({systemTargetLanguageText})"
|
||||
|
||||
#: src/pages/settings.jsx:424
|
||||
#: src/pages/settings.jsx:425
|
||||
msgid "{0, plural, =0 {Hide \"Translate\" button for:} other {Hide \"Translate\" button for (#):}}"
|
||||
msgstr "{0, plural, =0 {다음 언어에 대해 “번역” 버튼 가리기:} other {다음 #개 언어에 대해 “번역” 버튼 가리기:}}"
|
||||
|
||||
#: src/pages/settings.jsx:478
|
||||
#: src/pages/settings.jsx:479
|
||||
msgid "Note: This feature uses external translation services, powered by <0>Lingva API</0> & <1>Lingva Translate</1>."
|
||||
msgstr "참고: 이 기능은 외부 번역 서비스인 <0>Lingva API</0> & <1>Lingva Translate</1>를 이용합니다."
|
||||
|
||||
#: src/pages/settings.jsx:512
|
||||
#: src/pages/settings.jsx:513
|
||||
msgid "Auto inline translation"
|
||||
msgstr "자동 번역"
|
||||
|
||||
#: src/pages/settings.jsx:516
|
||||
#: src/pages/settings.jsx:517
|
||||
msgid "Automatically show translation for posts in timeline. Only works for <0>short</0> posts without content warning, media and poll."
|
||||
msgstr "타임라인에서 게시물에 번역을 자동으로 보여줍니다. 열람 주의나 매체, 설문 조사가 없는 <0>짧은</0> 게시물에만 적용 됩니다."
|
||||
|
||||
#: src/pages/settings.jsx:536
|
||||
#: src/pages/settings.jsx:537
|
||||
msgid "GIF Picker for composer"
|
||||
msgstr "글쓰기 창에서 움짤 고르기"
|
||||
|
||||
#: src/pages/settings.jsx:540
|
||||
#: src/pages/settings.jsx:541
|
||||
msgid "Note: This feature uses external GIF search service, powered by <0>GIPHY</0>. G-rated (suitable for viewing by all ages), tracking parameters are stripped, referrer information is omitted from requests, but search queries and IP address information will still reach their servers."
|
||||
msgstr "이 기능은 외부 움짤 검색 서비스인 <0>GIPHY</0>를 이용합니다. 전체관람가 움짤만 제공되며, 추적 매개변수는 제거되고 리퍼러 정보는 요청에서 생략되지만, 그럼에도 검색어와 IP 주소 정보는 해당 서비스에 전달 됩니다."
|
||||
|
||||
#: src/pages/settings.jsx:569
|
||||
#: src/pages/settings.jsx:570
|
||||
msgid "Image description generator"
|
||||
msgstr "이미지 설명 자동 생성기"
|
||||
|
||||
#: src/pages/settings.jsx:574
|
||||
#: src/pages/settings.jsx:575
|
||||
msgid "Only for new images while composing new posts."
|
||||
msgstr "새 게시물을 쓸 때 새로운 이미지에만 적용 됩니다."
|
||||
|
||||
#: src/pages/settings.jsx:581
|
||||
#: src/pages/settings.jsx:582
|
||||
msgid "Note: This feature uses external AI service, powered by <0>img-alt-api</0>. May not work well. Only for images and in English."
|
||||
msgstr "참고: 이 기능은 외부 인공지능 서비스인 <0>img-alt-api</0>를 이용합니다. 잘 동작하지 않을 수 있으며, 이미지에만 적용 가능하고 영어만 지원합니다."
|
||||
|
||||
#: src/pages/settings.jsx:607
|
||||
#: src/pages/settings.jsx:608
|
||||
msgid "Server-side grouped notifications"
|
||||
msgstr "서버측에서 알림 묶기"
|
||||
|
||||
#: src/pages/settings.jsx:611
|
||||
#: src/pages/settings.jsx:612
|
||||
msgid "Alpha-stage feature. Potentially improved grouping window but basic grouping logic."
|
||||
msgstr "알파 단계 기능입니다. 묶음의 크기가 커질 수도 있지만, 묶는 규칙은 기초적입니다."
|
||||
|
||||
#: src/pages/settings.jsx:632
|
||||
#: src/pages/settings.jsx:633
|
||||
msgid "\"Cloud\" import/export for shortcuts settings"
|
||||
msgstr "바로 가기 설정을 위해 \"클라우드\" 가져오기/내보내기"
|
||||
|
||||
#: src/pages/settings.jsx:637
|
||||
#: src/pages/settings.jsx:638
|
||||
msgid "⚠️⚠️⚠️ Very experimental.<0/>Stored in your own profile’s notes. Profile (private) notes are mainly used for other profiles, and hidden for own profile."
|
||||
msgstr ""
|
||||
|
||||
#: src/pages/settings.jsx:648
|
||||
#: src/pages/settings.jsx:649
|
||||
msgid "Note: This feature uses currently-logged-in instance server API."
|
||||
msgstr "알림: 이 기능은 현재 로그인한 인스턴스 서버 API를 사용합니다."
|
||||
|
||||
#: src/pages/settings.jsx:665
|
||||
#: src/pages/settings.jsx:666
|
||||
msgid "Cloak mode <0>(<1>Text</1> → <2>████</2>)</0>"
|
||||
msgstr "가리기 모드 <0>(<1>글자들</1> → <2>███</2>)</0>"
|
||||
|
||||
#: src/pages/settings.jsx:674
|
||||
#: src/pages/settings.jsx:675
|
||||
msgid "Replace text as blocks, useful when taking screenshots, for privacy reasons."
|
||||
msgstr "글자를 모두 네모로 바꿔서 개인정보 염려 없이 스크린숏을 캡처할 수 있게 합니다."
|
||||
|
||||
#: src/pages/settings.jsx:699
|
||||
#: src/pages/settings.jsx:700
|
||||
msgid "About"
|
||||
msgstr "정보"
|
||||
|
||||
#: src/pages/settings.jsx:738
|
||||
#: src/pages/settings.jsx:739
|
||||
msgid "<0>Built</0> by <1>@cheeaun</1>"
|
||||
msgstr "<1>@cheeaun</1>이 <0>만듦</0>"
|
||||
|
||||
#: src/pages/settings.jsx:767
|
||||
#: src/pages/settings.jsx:768
|
||||
msgid "Sponsor"
|
||||
msgstr "후원자"
|
||||
|
||||
#: src/pages/settings.jsx:775
|
||||
#: src/pages/settings.jsx:776
|
||||
msgid "Donate"
|
||||
msgstr "기부"
|
||||
|
||||
#: src/pages/settings.jsx:783
|
||||
#: src/pages/settings.jsx:784
|
||||
msgid "Privacy Policy"
|
||||
msgstr "개인 정보 보호 정책"
|
||||
|
||||
#: src/pages/settings.jsx:790
|
||||
#: src/pages/settings.jsx:791
|
||||
msgid "<0>Site:</0> {0}"
|
||||
msgstr "<0>사이트:</0> {0}"
|
||||
|
||||
#: src/pages/settings.jsx:797
|
||||
#: src/pages/settings.jsx:798
|
||||
msgid "<0>Version:</0> <1/> {0}"
|
||||
msgstr "<0>버전:</0> <1/> {0}"
|
||||
|
||||
#: src/pages/settings.jsx:812
|
||||
#: src/pages/settings.jsx:813
|
||||
msgid "Version string copied"
|
||||
msgstr "버전 번호 복사 됨"
|
||||
|
||||
#: src/pages/settings.jsx:815
|
||||
#: src/pages/settings.jsx:816
|
||||
msgid "Unable to copy version string"
|
||||
msgstr "버전 번호를 복사할 수 없음"
|
||||
|
||||
#: src/pages/settings.jsx:1015
|
||||
#: src/pages/settings.jsx:1020
|
||||
#: src/pages/settings.jsx:1045
|
||||
#: src/pages/settings.jsx:1050
|
||||
msgid "Failed to update subscription. Please try again."
|
||||
msgstr "구독을 갱신하는 데 실패했습니다. 다시 시도해 보세요."
|
||||
|
||||
#: src/pages/settings.jsx:1026
|
||||
#: src/pages/settings.jsx:1056
|
||||
msgid "Failed to remove subscription. Please try again."
|
||||
msgstr "구독을 삭제하는 데 실패했습니다. 다시 시도하세요."
|
||||
|
||||
#: src/pages/settings.jsx:1033
|
||||
#: src/pages/settings.jsx:1063
|
||||
msgid "Push Notifications (beta)"
|
||||
msgstr "푸시 알림 (베타)"
|
||||
|
||||
#: src/pages/settings.jsx:1055
|
||||
#: src/pages/settings.jsx:1085
|
||||
msgid "Push notifications are blocked. Please enable them in your browser settings."
|
||||
msgstr "푸시 알림이 차단되었습니다. 브라우저 설정에서 푸시 알림을 활성화하세요."
|
||||
|
||||
#: src/pages/settings.jsx:1064
|
||||
#: src/pages/settings.jsx:1094
|
||||
msgid "Allow from <0>{0}</0>"
|
||||
msgstr "<0>{0}</0>에게서 알림 받기"
|
||||
|
||||
#: src/pages/settings.jsx:1073
|
||||
#: src/pages/settings.jsx:1103
|
||||
msgid "anyone"
|
||||
msgstr "모두"
|
||||
|
||||
#: src/pages/settings.jsx:1077
|
||||
#: src/pages/settings.jsx:1107
|
||||
msgid "people I follow"
|
||||
msgstr "내가 팔로하는 사람들"
|
||||
|
||||
#: src/pages/settings.jsx:1081
|
||||
#: src/pages/settings.jsx:1111
|
||||
msgid "followers"
|
||||
msgstr "팔로워"
|
||||
|
||||
#: src/pages/settings.jsx:1114
|
||||
#: src/pages/settings.jsx:1144
|
||||
msgid "Follows"
|
||||
msgstr "팔로"
|
||||
|
||||
#: src/pages/settings.jsx:1122
|
||||
#: src/pages/settings.jsx:1152
|
||||
msgid "Polls"
|
||||
msgstr "설문 조사"
|
||||
|
||||
#: src/pages/settings.jsx:1126
|
||||
#: src/pages/settings.jsx:1156
|
||||
msgid "Post edits"
|
||||
msgstr "게시물 수정"
|
||||
|
||||
#: src/pages/settings.jsx:1147
|
||||
#: src/pages/settings.jsx:1177
|
||||
msgid "Push permission was not granted since your last login. You'll need to <0><1>log in</1> again to grant push permission</0>."
|
||||
msgstr "마지막 로그인 이후 푸시 권한이 부여되지 않았습니다. <0>푸시 권한을 다시 얻으려면<1>로그인</1>을</0>해야합니다."
|
||||
|
||||
#: src/pages/settings.jsx:1163
|
||||
#: src/pages/settings.jsx:1193
|
||||
msgid "NOTE: Push notifications only work for <0>one account</0>."
|
||||
msgstr "주의: 푸시 알림은 <0>단 하나의 계정</0>에만 작동합니다."
|
||||
|
||||
|
|
14
src/locales/lt-LT.po
generated
14
src/locales/lt-LT.po
generated
|
@ -8,7 +8,7 @@ msgstr ""
|
|||
"Language: lt\n"
|
||||
"Project-Id-Version: phanpy\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"PO-Revision-Date: 2024-11-03 07:11\n"
|
||||
"PO-Revision-Date: 2024-11-04 09:07\n"
|
||||
"Last-Translator: \n"
|
||||
"Language-Team: Lithuanian\n"
|
||||
"Plural-Forms: nplurals=4; plural=(n%10==1 && (n%100>19 || n%100<11) ? 0 : (n%10>=2 && n%10<=9) && (n%100>19 || n%100<11) ? 1 : n%1!=0 ? 2: 3);\n"
|
||||
|
@ -97,7 +97,7 @@ msgstr "Sekėjai"
|
|||
#: src/components/account-info.jsx:742
|
||||
#: src/components/account-info.jsx:759
|
||||
msgid "following.stats"
|
||||
msgstr "Sekimai"
|
||||
msgstr "sekimai"
|
||||
|
||||
#: src/components/account-info.jsx:419
|
||||
#: src/components/account-info.jsx:776
|
||||
|
@ -1052,11 +1052,11 @@ msgstr "<0>1</0> iki <1>9</1>"
|
|||
|
||||
#: src/components/keyboard-shortcuts-help.jsx:117
|
||||
msgid "Focus next column in multi-column mode"
|
||||
msgstr ""
|
||||
msgstr "Fokusuoti sekantį stulpelį daugiastulpelių režime"
|
||||
|
||||
#: src/components/keyboard-shortcuts-help.jsx:121
|
||||
msgid "Focus previous column in multi-column mode"
|
||||
msgstr ""
|
||||
msgstr "Fokusuoti ankstesnį stulpelį daugiastulpelių režime"
|
||||
|
||||
#: src/components/keyboard-shortcuts-help.jsx:125
|
||||
msgid "Compose new post"
|
||||
|
@ -1262,7 +1262,7 @@ msgstr "Yra naujas naujinimas…"
|
|||
#: src/pages/following.jsx:22
|
||||
#: src/pages/following.jsx:141
|
||||
msgid "following.title"
|
||||
msgstr ""
|
||||
msgstr "Sekimai"
|
||||
|
||||
#: src/components/nav-menu.jsx:200
|
||||
#: src/pages/catchup.jsx:871
|
||||
|
@ -2669,11 +2669,11 @@ msgstr "Pašalinti šį pasivijimą?"
|
|||
|
||||
#: src/pages/catchup.jsx:1065
|
||||
msgid "Removing Catch-up {0}"
|
||||
msgstr ""
|
||||
msgstr "Pašalinima {0} pasivijimas"
|
||||
|
||||
#: src/pages/catchup.jsx:1069
|
||||
msgid "Catch-up {0} removed"
|
||||
msgstr ""
|
||||
msgstr "Pašalintas {0} pasivijimas"
|
||||
|
||||
#: src/pages/catchup.jsx:1083
|
||||
msgid "Note: Only max 3 will be stored. The rest will be automatically removed."
|
||||
|
|
24
src/locales/pt-BR.po
generated
24
src/locales/pt-BR.po
generated
|
@ -8,7 +8,7 @@ msgstr ""
|
|||
"Language: pt\n"
|
||||
"Project-Id-Version: phanpy\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"PO-Revision-Date: 2024-11-03 07:11\n"
|
||||
"PO-Revision-Date: 2024-11-05 20:31\n"
|
||||
"Last-Translator: \n"
|
||||
"Language-Team: Portuguese, Brazilian\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
|
@ -111,7 +111,7 @@ msgstr "Publicações"
|
|||
#: src/components/account-info.jsx:1118
|
||||
#: src/components/compose.jsx:2488
|
||||
#: src/components/media-alt-modal.jsx:45
|
||||
#: src/components/media-modal.jsx:283
|
||||
#: src/components/media-modal.jsx:336
|
||||
#: src/components/status.jsx:1721
|
||||
#: src/components/status.jsx:1738
|
||||
#: src/components/status.jsx:1862
|
||||
|
@ -415,7 +415,7 @@ msgstr "Seguir"
|
|||
#: src/components/keyboard-shortcuts-help.jsx:39
|
||||
#: src/components/list-add-edit.jsx:33
|
||||
#: src/components/media-alt-modal.jsx:33
|
||||
#: src/components/media-modal.jsx:247
|
||||
#: src/components/media-modal.jsx:300
|
||||
#: src/components/notification-service.jsx:156
|
||||
#: src/components/report-modal.jsx:75
|
||||
#: src/components/shortcuts-settings.jsx:230
|
||||
|
@ -863,13 +863,13 @@ msgid "Type to search GIFs"
|
|||
msgstr "Escreva para pesquisar GIFs"
|
||||
|
||||
#: src/components/compose.jsx:3491
|
||||
#: src/components/media-modal.jsx:387
|
||||
#: src/components/media-modal.jsx:440
|
||||
#: src/components/timeline.jsx:889
|
||||
msgid "Previous"
|
||||
msgstr "Anterior"
|
||||
|
||||
#: src/components/compose.jsx:3509
|
||||
#: src/components/media-modal.jsx:406
|
||||
#: src/components/media-modal.jsx:459
|
||||
#: src/components/timeline.jsx:906
|
||||
msgid "Next"
|
||||
msgstr "Seguinte"
|
||||
|
@ -1190,27 +1190,27 @@ msgstr "Traduzir"
|
|||
msgid "Speak"
|
||||
msgstr "Falar"
|
||||
|
||||
#: src/components/media-modal.jsx:294
|
||||
#: src/components/media-modal.jsx:347
|
||||
msgid "Open original media in new window"
|
||||
msgstr "Abrir mídia original em nova janela"
|
||||
|
||||
#: src/components/media-modal.jsx:298
|
||||
#: src/components/media-modal.jsx:351
|
||||
msgid "Open original media"
|
||||
msgstr "Abrir mídia original"
|
||||
|
||||
#: src/components/media-modal.jsx:314
|
||||
#: src/components/media-modal.jsx:367
|
||||
msgid "Attempting to describe image. Please wait…"
|
||||
msgstr "Tentando descrever imagem. Por favor, espere…"
|
||||
|
||||
#: src/components/media-modal.jsx:329
|
||||
#: src/components/media-modal.jsx:382
|
||||
msgid "Failed to describe image"
|
||||
msgstr "Houve um erro ao descrever imagem"
|
||||
|
||||
#: src/components/media-modal.jsx:339
|
||||
#: src/components/media-modal.jsx:392
|
||||
msgid "Describe image…"
|
||||
msgstr "Descrever imagem…"
|
||||
|
||||
#: src/components/media-modal.jsx:362
|
||||
#: src/components/media-modal.jsx:415
|
||||
msgid "View post"
|
||||
msgstr "Ver publicação"
|
||||
|
||||
|
@ -2726,7 +2726,7 @@ msgstr "Densidade"
|
|||
#. js-lingui-explicit-id
|
||||
#: src/pages/catchup.jsx:1471
|
||||
msgid "group.filter"
|
||||
msgstr ""
|
||||
msgstr "Filtrar"
|
||||
|
||||
#: src/pages/catchup.jsx:1486
|
||||
msgid "Authors"
|
||||
|
|
24
src/locales/pt-PT.po
generated
24
src/locales/pt-PT.po
generated
|
@ -8,7 +8,7 @@ msgstr ""
|
|||
"Language: pt\n"
|
||||
"Project-Id-Version: phanpy\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"PO-Revision-Date: 2024-11-03 07:11\n"
|
||||
"PO-Revision-Date: 2024-11-05 20:31\n"
|
||||
"Last-Translator: \n"
|
||||
"Language-Team: Portuguese\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
|
@ -111,7 +111,7 @@ msgstr "Publicações"
|
|||
#: src/components/account-info.jsx:1118
|
||||
#: src/components/compose.jsx:2488
|
||||
#: src/components/media-alt-modal.jsx:45
|
||||
#: src/components/media-modal.jsx:283
|
||||
#: src/components/media-modal.jsx:336
|
||||
#: src/components/status.jsx:1721
|
||||
#: src/components/status.jsx:1738
|
||||
#: src/components/status.jsx:1862
|
||||
|
@ -415,7 +415,7 @@ msgstr "Seguir"
|
|||
#: src/components/keyboard-shortcuts-help.jsx:39
|
||||
#: src/components/list-add-edit.jsx:33
|
||||
#: src/components/media-alt-modal.jsx:33
|
||||
#: src/components/media-modal.jsx:247
|
||||
#: src/components/media-modal.jsx:300
|
||||
#: src/components/notification-service.jsx:156
|
||||
#: src/components/report-modal.jsx:75
|
||||
#: src/components/shortcuts-settings.jsx:230
|
||||
|
@ -863,13 +863,13 @@ msgid "Type to search GIFs"
|
|||
msgstr "Digite para buscar GIFs"
|
||||
|
||||
#: src/components/compose.jsx:3491
|
||||
#: src/components/media-modal.jsx:387
|
||||
#: src/components/media-modal.jsx:440
|
||||
#: src/components/timeline.jsx:889
|
||||
msgid "Previous"
|
||||
msgstr "Anterior"
|
||||
|
||||
#: src/components/compose.jsx:3509
|
||||
#: src/components/media-modal.jsx:406
|
||||
#: src/components/media-modal.jsx:459
|
||||
#: src/components/timeline.jsx:906
|
||||
msgid "Next"
|
||||
msgstr "Seguinte"
|
||||
|
@ -1190,27 +1190,27 @@ msgstr "Traduzir"
|
|||
msgid "Speak"
|
||||
msgstr "Falar"
|
||||
|
||||
#: src/components/media-modal.jsx:294
|
||||
#: src/components/media-modal.jsx:347
|
||||
msgid "Open original media in new window"
|
||||
msgstr "Abrir media original em nova janela"
|
||||
|
||||
#: src/components/media-modal.jsx:298
|
||||
#: src/components/media-modal.jsx:351
|
||||
msgid "Open original media"
|
||||
msgstr "Abrir media original"
|
||||
|
||||
#: src/components/media-modal.jsx:314
|
||||
#: src/components/media-modal.jsx:367
|
||||
msgid "Attempting to describe image. Please wait…"
|
||||
msgstr "A tentar descrever imagem. Por favor, espere…"
|
||||
|
||||
#: src/components/media-modal.jsx:329
|
||||
#: src/components/media-modal.jsx:382
|
||||
msgid "Failed to describe image"
|
||||
msgstr "Falhou ao descrever imagem"
|
||||
|
||||
#: src/components/media-modal.jsx:339
|
||||
#: src/components/media-modal.jsx:392
|
||||
msgid "Describe image…"
|
||||
msgstr "Descrever imagem…"
|
||||
|
||||
#: src/components/media-modal.jsx:362
|
||||
#: src/components/media-modal.jsx:415
|
||||
msgid "View post"
|
||||
msgstr "Ver publicação"
|
||||
|
||||
|
@ -2726,7 +2726,7 @@ msgstr "Densidade"
|
|||
#. js-lingui-explicit-id
|
||||
#: src/pages/catchup.jsx:1471
|
||||
msgid "group.filter"
|
||||
msgstr ""
|
||||
msgstr "Filtrar"
|
||||
|
||||
#: src/pages/catchup.jsx:1486
|
||||
msgid "Authors"
|
||||
|
|
10
src/locales/ru-RU.po
generated
10
src/locales/ru-RU.po
generated
|
@ -8,7 +8,7 @@ msgstr ""
|
|||
"Language: ru\n"
|
||||
"Project-Id-Version: phanpy\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"PO-Revision-Date: 2024-11-03 07:11\n"
|
||||
"PO-Revision-Date: 2024-11-03 08:19\n"
|
||||
"Last-Translator: \n"
|
||||
"Language-Team: Russian\n"
|
||||
"Plural-Forms: nplurals=4; plural=((n%10==1 && n%100!=11) ? 0 : ((n%10 >= 2 && n%10 <=4 && (n%100 < 12 || n%100 > 14)) ? 1 : ((n%10 == 0 || (n%10 >= 5 && n%10 <=9)) || (n%100 >= 11 && n%100 <= 14)) ? 2 : 3));\n"
|
||||
|
@ -1052,11 +1052,11 @@ msgstr "<0>1</0> по <1>9</1>"
|
|||
|
||||
#: src/components/keyboard-shortcuts-help.jsx:117
|
||||
msgid "Focus next column in multi-column mode"
|
||||
msgstr ""
|
||||
msgstr "Перейти к следующему столбцу в многоколонном режиме"
|
||||
|
||||
#: src/components/keyboard-shortcuts-help.jsx:121
|
||||
msgid "Focus previous column in multi-column mode"
|
||||
msgstr ""
|
||||
msgstr "Перейти к предыдущему столбцу в многоколонном режиме"
|
||||
|
||||
#: src/components/keyboard-shortcuts-help.jsx:125
|
||||
msgid "Compose new post"
|
||||
|
@ -2669,11 +2669,11 @@ msgstr "Удалить этот catch-up?"
|
|||
|
||||
#: src/pages/catchup.jsx:1065
|
||||
msgid "Removing Catch-up {0}"
|
||||
msgstr ""
|
||||
msgstr "Убираем Catch-up {0}"
|
||||
|
||||
#: src/pages/catchup.jsx:1069
|
||||
msgid "Catch-up {0} removed"
|
||||
msgstr ""
|
||||
msgstr "Catch-up {0} убран"
|
||||
|
||||
#: src/pages/catchup.jsx:1083
|
||||
msgid "Note: Only max 3 will be stored. The rest will be automatically removed."
|
||||
|
|
172
src/locales/th-TH.po
generated
172
src/locales/th-TH.po
generated
|
@ -8,7 +8,7 @@ msgstr ""
|
|||
"Language: th\n"
|
||||
"Project-Id-Version: phanpy\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"PO-Revision-Date: 2024-11-03 07:11\n"
|
||||
"PO-Revision-Date: 2024-11-10 08:09\n"
|
||||
"Last-Translator: \n"
|
||||
"Language-Team: Thai\n"
|
||||
"Plural-Forms: nplurals=1; plural=0;\n"
|
||||
|
@ -24,7 +24,7 @@ msgstr "ล็อค"
|
|||
|
||||
#: src/components/account-block.jsx:141
|
||||
msgid "Posts: {0}"
|
||||
msgstr ""
|
||||
msgstr "โพสต์: {0}"
|
||||
|
||||
#: src/components/account-block.jsx:146
|
||||
msgid "Last posted: {0}"
|
||||
|
@ -33,7 +33,7 @@ msgstr "โพสต์สุดท้าย: {0}"
|
|||
#: src/components/account-block.jsx:161
|
||||
#: src/components/account-info.jsx:634
|
||||
msgid "Automated"
|
||||
msgstr ""
|
||||
msgstr "อัตโนมัติ"
|
||||
|
||||
#: src/components/account-block.jsx:168
|
||||
#: src/components/account-info.jsx:639
|
||||
|
@ -43,7 +43,7 @@ msgstr "กลุ่ม"
|
|||
|
||||
#: src/components/account-block.jsx:178
|
||||
msgid "Mutual"
|
||||
msgstr ""
|
||||
msgstr "ร่วมกัน"
|
||||
|
||||
#: src/components/account-block.jsx:182
|
||||
#: src/components/account-info.jsx:1680
|
||||
|
@ -62,7 +62,7 @@ msgstr "ติดตามคุณ"
|
|||
|
||||
#: src/components/account-block.jsx:198
|
||||
msgid "{followersCount, plural, one {# follower} other {# followers}}"
|
||||
msgstr ""
|
||||
msgstr "{followersCount, plural, other {# ผู้ติดตาม}}"
|
||||
|
||||
#: src/components/account-block.jsx:207
|
||||
#: src/components/account-info.jsx:680
|
||||
|
@ -111,7 +111,7 @@ msgstr "โพสต์"
|
|||
#: src/components/account-info.jsx:1118
|
||||
#: src/components/compose.jsx:2488
|
||||
#: src/components/media-alt-modal.jsx:45
|
||||
#: src/components/media-modal.jsx:283
|
||||
#: src/components/media-modal.jsx:388
|
||||
#: src/components/status.jsx:1721
|
||||
#: src/components/status.jsx:1738
|
||||
#: src/components/status.jsx:1862
|
||||
|
@ -198,7 +198,7 @@ msgstr ""
|
|||
#: src/pages/catchup.jsx:72
|
||||
#: src/pages/catchup.jsx:1447
|
||||
#: src/pages/catchup.jsx:2068
|
||||
#: src/pages/settings.jsx:1110
|
||||
#: src/pages/settings.jsx:1145
|
||||
msgid "Boosts"
|
||||
msgstr ""
|
||||
|
||||
|
@ -415,7 +415,7 @@ msgstr ""
|
|||
#: src/components/keyboard-shortcuts-help.jsx:39
|
||||
#: src/components/list-add-edit.jsx:33
|
||||
#: src/components/media-alt-modal.jsx:33
|
||||
#: src/components/media-modal.jsx:247
|
||||
#: src/components/media-modal.jsx:352
|
||||
#: src/components/notification-service.jsx:156
|
||||
#: src/components/report-modal.jsx:75
|
||||
#: src/components/shortcuts-settings.jsx:230
|
||||
|
@ -430,7 +430,7 @@ msgstr ""
|
|||
#: src/pages/list.jsx:274
|
||||
#: src/pages/notifications.jsx:868
|
||||
#: src/pages/notifications.jsx:1082
|
||||
#: src/pages/settings.jsx:76
|
||||
#: src/pages/settings.jsx:77
|
||||
#: src/pages/status.jsx:1299
|
||||
msgid "Close"
|
||||
msgstr ""
|
||||
|
@ -624,7 +624,7 @@ msgstr ""
|
|||
|
||||
#: src/components/compose.jsx:1191
|
||||
#: src/components/status.jsx:93
|
||||
#: src/pages/settings.jsx:304
|
||||
#: src/pages/settings.jsx:305
|
||||
msgid "Public"
|
||||
msgstr ""
|
||||
|
||||
|
@ -637,13 +637,13 @@ msgstr ""
|
|||
|
||||
#: src/components/compose.jsx:1200
|
||||
#: src/components/status.jsx:95
|
||||
#: src/pages/settings.jsx:307
|
||||
#: src/pages/settings.jsx:308
|
||||
msgid "Unlisted"
|
||||
msgstr ""
|
||||
|
||||
#: src/components/compose.jsx:1203
|
||||
#: src/components/status.jsx:96
|
||||
#: src/pages/settings.jsx:310
|
||||
#: src/pages/settings.jsx:311
|
||||
msgid "Followers only"
|
||||
msgstr ""
|
||||
|
||||
|
@ -863,13 +863,13 @@ msgid "Type to search GIFs"
|
|||
msgstr ""
|
||||
|
||||
#: src/components/compose.jsx:3491
|
||||
#: src/components/media-modal.jsx:387
|
||||
#: src/components/media-modal.jsx:492
|
||||
#: src/components/timeline.jsx:889
|
||||
msgid "Previous"
|
||||
msgstr ""
|
||||
|
||||
#: src/components/compose.jsx:3509
|
||||
#: src/components/media-modal.jsx:406
|
||||
#: src/components/media-modal.jsx:511
|
||||
#: src/components/timeline.jsx:906
|
||||
msgid "Next"
|
||||
msgstr ""
|
||||
|
@ -879,7 +879,7 @@ msgid "Error loading GIFs"
|
|||
msgstr ""
|
||||
|
||||
#: src/components/drafts.jsx:63
|
||||
#: src/pages/settings.jsx:691
|
||||
#: src/pages/settings.jsx:692
|
||||
msgid "Unsent drafts"
|
||||
msgstr ""
|
||||
|
||||
|
@ -1190,27 +1190,27 @@ msgstr ""
|
|||
msgid "Speak"
|
||||
msgstr ""
|
||||
|
||||
#: src/components/media-modal.jsx:294
|
||||
#: src/components/media-modal.jsx:399
|
||||
msgid "Open original media in new window"
|
||||
msgstr ""
|
||||
|
||||
#: src/components/media-modal.jsx:298
|
||||
#: src/components/media-modal.jsx:403
|
||||
msgid "Open original media"
|
||||
msgstr ""
|
||||
|
||||
#: src/components/media-modal.jsx:314
|
||||
#: src/components/media-modal.jsx:419
|
||||
msgid "Attempting to describe image. Please wait…"
|
||||
msgstr ""
|
||||
|
||||
#: src/components/media-modal.jsx:329
|
||||
#: src/components/media-modal.jsx:434
|
||||
msgid "Failed to describe image"
|
||||
msgstr ""
|
||||
|
||||
#: src/components/media-modal.jsx:339
|
||||
#: src/components/media-modal.jsx:444
|
||||
msgid "Describe image…"
|
||||
msgstr ""
|
||||
|
||||
#: src/components/media-modal.jsx:362
|
||||
#: src/components/media-modal.jsx:467
|
||||
msgid "View post"
|
||||
msgstr ""
|
||||
|
||||
|
@ -1275,7 +1275,7 @@ msgstr ""
|
|||
#: src/pages/home.jsx:224
|
||||
#: src/pages/mentions.jsx:20
|
||||
#: src/pages/mentions.jsx:167
|
||||
#: src/pages/settings.jsx:1102
|
||||
#: src/pages/settings.jsx:1137
|
||||
#: src/pages/trending.jsx:381
|
||||
msgid "Mentions"
|
||||
msgstr ""
|
||||
|
@ -1330,7 +1330,7 @@ msgstr ""
|
|||
#: src/pages/catchup.jsx:2062
|
||||
#: src/pages/favourites.jsx:11
|
||||
#: src/pages/favourites.jsx:23
|
||||
#: src/pages/settings.jsx:1106
|
||||
#: src/pages/settings.jsx:1141
|
||||
msgid "Likes"
|
||||
msgstr ""
|
||||
|
||||
|
@ -2322,7 +2322,7 @@ msgid "<0/> <1/> boosted"
|
|||
msgstr ""
|
||||
|
||||
#: src/components/timeline.jsx:453
|
||||
#: src/pages/settings.jsx:1130
|
||||
#: src/pages/settings.jsx:1165
|
||||
msgid "New posts"
|
||||
msgstr ""
|
||||
|
||||
|
@ -3174,7 +3174,7 @@ msgid "{0, plural, one {Announcement} other {Announcements}}"
|
|||
msgstr ""
|
||||
|
||||
#: src/pages/notifications.jsx:614
|
||||
#: src/pages/settings.jsx:1118
|
||||
#: src/pages/settings.jsx:1153
|
||||
msgid "Follow requests"
|
||||
msgstr ""
|
||||
|
||||
|
@ -3345,240 +3345,240 @@ msgstr ""
|
|||
msgid "Enter your search term or paste a URL above to get started."
|
||||
msgstr ""
|
||||
|
||||
#: src/pages/settings.jsx:81
|
||||
#: src/pages/settings.jsx:82
|
||||
msgid "Settings"
|
||||
msgstr ""
|
||||
|
||||
#: src/pages/settings.jsx:90
|
||||
#: src/pages/settings.jsx:91
|
||||
msgid "Appearance"
|
||||
msgstr ""
|
||||
|
||||
#: src/pages/settings.jsx:166
|
||||
#: src/pages/settings.jsx:167
|
||||
msgid "Light"
|
||||
msgstr ""
|
||||
|
||||
#: src/pages/settings.jsx:177
|
||||
#: src/pages/settings.jsx:178
|
||||
msgid "Dark"
|
||||
msgstr ""
|
||||
|
||||
#: src/pages/settings.jsx:190
|
||||
#: src/pages/settings.jsx:191
|
||||
msgid "Auto"
|
||||
msgstr ""
|
||||
|
||||
#: src/pages/settings.jsx:200
|
||||
#: src/pages/settings.jsx:201
|
||||
msgid "Text size"
|
||||
msgstr ""
|
||||
|
||||
#. Preview of one character, in smallest size
|
||||
#. Preview of one character, in largest size
|
||||
#: src/pages/settings.jsx:205
|
||||
#: src/pages/settings.jsx:230
|
||||
#: src/pages/settings.jsx:206
|
||||
#: src/pages/settings.jsx:231
|
||||
msgid "A"
|
||||
msgstr ""
|
||||
|
||||
#: src/pages/settings.jsx:244
|
||||
#: src/pages/settings.jsx:245
|
||||
msgid "Display language"
|
||||
msgstr ""
|
||||
|
||||
#: src/pages/settings.jsx:253
|
||||
#: src/pages/settings.jsx:254
|
||||
msgid "Volunteer translations"
|
||||
msgstr ""
|
||||
|
||||
#: src/pages/settings.jsx:264
|
||||
#: src/pages/settings.jsx:265
|
||||
msgid "Posting"
|
||||
msgstr ""
|
||||
|
||||
#: src/pages/settings.jsx:271
|
||||
#: src/pages/settings.jsx:272
|
||||
msgid "Default visibility"
|
||||
msgstr ""
|
||||
|
||||
#: src/pages/settings.jsx:272
|
||||
#: src/pages/settings.jsx:318
|
||||
#: src/pages/settings.jsx:273
|
||||
#: src/pages/settings.jsx:319
|
||||
msgid "Synced"
|
||||
msgstr ""
|
||||
|
||||
#: src/pages/settings.jsx:297
|
||||
#: src/pages/settings.jsx:298
|
||||
msgid "Failed to update posting privacy"
|
||||
msgstr ""
|
||||
|
||||
#: src/pages/settings.jsx:320
|
||||
#: src/pages/settings.jsx:321
|
||||
msgid "Synced to your instance server's settings. <0>Go to your instance ({instance}) for more settings.</0>"
|
||||
msgstr ""
|
||||
|
||||
#: src/pages/settings.jsx:335
|
||||
#: src/pages/settings.jsx:336
|
||||
msgid "Experiments"
|
||||
msgstr ""
|
||||
|
||||
#: src/pages/settings.jsx:348
|
||||
#: src/pages/settings.jsx:349
|
||||
msgid "Auto refresh timeline posts"
|
||||
msgstr ""
|
||||
|
||||
#: src/pages/settings.jsx:360
|
||||
#: src/pages/settings.jsx:361
|
||||
msgid "Boosts carousel"
|
||||
msgstr ""
|
||||
|
||||
#: src/pages/settings.jsx:376
|
||||
#: src/pages/settings.jsx:377
|
||||
msgid "Post translation"
|
||||
msgstr ""
|
||||
|
||||
#: src/pages/settings.jsx:387
|
||||
#: src/pages/settings.jsx:388
|
||||
msgid "Translate to"
|
||||
msgstr ""
|
||||
|
||||
#: src/pages/settings.jsx:398
|
||||
#: src/pages/settings.jsx:399
|
||||
msgid "System language ({systemTargetLanguageText})"
|
||||
msgstr ""
|
||||
|
||||
#: src/pages/settings.jsx:424
|
||||
#: src/pages/settings.jsx:425
|
||||
msgid "{0, plural, =0 {Hide \"Translate\" button for:} other {Hide \"Translate\" button for (#):}}"
|
||||
msgstr ""
|
||||
|
||||
#: src/pages/settings.jsx:478
|
||||
#: src/pages/settings.jsx:479
|
||||
msgid "Note: This feature uses external translation services, powered by <0>Lingva API</0> & <1>Lingva Translate</1>."
|
||||
msgstr ""
|
||||
|
||||
#: src/pages/settings.jsx:512
|
||||
#: src/pages/settings.jsx:513
|
||||
msgid "Auto inline translation"
|
||||
msgstr ""
|
||||
|
||||
#: src/pages/settings.jsx:516
|
||||
#: src/pages/settings.jsx:517
|
||||
msgid "Automatically show translation for posts in timeline. Only works for <0>short</0> posts without content warning, media and poll."
|
||||
msgstr ""
|
||||
|
||||
#: src/pages/settings.jsx:536
|
||||
#: src/pages/settings.jsx:537
|
||||
msgid "GIF Picker for composer"
|
||||
msgstr ""
|
||||
|
||||
#: src/pages/settings.jsx:540
|
||||
#: src/pages/settings.jsx:541
|
||||
msgid "Note: This feature uses external GIF search service, powered by <0>GIPHY</0>. G-rated (suitable for viewing by all ages), tracking parameters are stripped, referrer information is omitted from requests, but search queries and IP address information will still reach their servers."
|
||||
msgstr ""
|
||||
|
||||
#: src/pages/settings.jsx:569
|
||||
#: src/pages/settings.jsx:570
|
||||
msgid "Image description generator"
|
||||
msgstr ""
|
||||
|
||||
#: src/pages/settings.jsx:574
|
||||
#: src/pages/settings.jsx:575
|
||||
msgid "Only for new images while composing new posts."
|
||||
msgstr ""
|
||||
|
||||
#: src/pages/settings.jsx:581
|
||||
#: src/pages/settings.jsx:582
|
||||
msgid "Note: This feature uses external AI service, powered by <0>img-alt-api</0>. May not work well. Only for images and in English."
|
||||
msgstr ""
|
||||
|
||||
#: src/pages/settings.jsx:607
|
||||
#: src/pages/settings.jsx:608
|
||||
msgid "Server-side grouped notifications"
|
||||
msgstr ""
|
||||
|
||||
#: src/pages/settings.jsx:611
|
||||
#: src/pages/settings.jsx:612
|
||||
msgid "Alpha-stage feature. Potentially improved grouping window but basic grouping logic."
|
||||
msgstr ""
|
||||
|
||||
#: src/pages/settings.jsx:632
|
||||
#: src/pages/settings.jsx:633
|
||||
msgid "\"Cloud\" import/export for shortcuts settings"
|
||||
msgstr ""
|
||||
|
||||
#: src/pages/settings.jsx:637
|
||||
#: src/pages/settings.jsx:638
|
||||
msgid "⚠️⚠️⚠️ Very experimental.<0/>Stored in your own profile’s notes. Profile (private) notes are mainly used for other profiles, and hidden for own profile."
|
||||
msgstr ""
|
||||
|
||||
#: src/pages/settings.jsx:648
|
||||
#: src/pages/settings.jsx:649
|
||||
msgid "Note: This feature uses currently-logged-in instance server API."
|
||||
msgstr ""
|
||||
|
||||
#: src/pages/settings.jsx:665
|
||||
#: src/pages/settings.jsx:666
|
||||
msgid "Cloak mode <0>(<1>Text</1> → <2>████</2>)</0>"
|
||||
msgstr ""
|
||||
|
||||
#: src/pages/settings.jsx:674
|
||||
#: src/pages/settings.jsx:675
|
||||
msgid "Replace text as blocks, useful when taking screenshots, for privacy reasons."
|
||||
msgstr ""
|
||||
|
||||
#: src/pages/settings.jsx:699
|
||||
#: src/pages/settings.jsx:700
|
||||
msgid "About"
|
||||
msgstr ""
|
||||
|
||||
#: src/pages/settings.jsx:738
|
||||
#: src/pages/settings.jsx:739
|
||||
msgid "<0>Built</0> by <1>@cheeaun</1>"
|
||||
msgstr ""
|
||||
|
||||
#: src/pages/settings.jsx:767
|
||||
#: src/pages/settings.jsx:768
|
||||
msgid "Sponsor"
|
||||
msgstr ""
|
||||
|
||||
#: src/pages/settings.jsx:775
|
||||
#: src/pages/settings.jsx:776
|
||||
msgid "Donate"
|
||||
msgstr ""
|
||||
|
||||
#: src/pages/settings.jsx:783
|
||||
#: src/pages/settings.jsx:784
|
||||
msgid "Privacy Policy"
|
||||
msgstr ""
|
||||
|
||||
#: src/pages/settings.jsx:790
|
||||
#: src/pages/settings.jsx:791
|
||||
msgid "<0>Site:</0> {0}"
|
||||
msgstr ""
|
||||
|
||||
#: src/pages/settings.jsx:797
|
||||
#: src/pages/settings.jsx:798
|
||||
msgid "<0>Version:</0> <1/> {0}"
|
||||
msgstr ""
|
||||
|
||||
#: src/pages/settings.jsx:812
|
||||
#: src/pages/settings.jsx:813
|
||||
msgid "Version string copied"
|
||||
msgstr ""
|
||||
|
||||
#: src/pages/settings.jsx:815
|
||||
#: src/pages/settings.jsx:816
|
||||
msgid "Unable to copy version string"
|
||||
msgstr ""
|
||||
|
||||
#: src/pages/settings.jsx:1015
|
||||
#: src/pages/settings.jsx:1020
|
||||
#: src/pages/settings.jsx:1050
|
||||
#: src/pages/settings.jsx:1055
|
||||
msgid "Failed to update subscription. Please try again."
|
||||
msgstr ""
|
||||
|
||||
#: src/pages/settings.jsx:1026
|
||||
#: src/pages/settings.jsx:1061
|
||||
msgid "Failed to remove subscription. Please try again."
|
||||
msgstr ""
|
||||
|
||||
#: src/pages/settings.jsx:1033
|
||||
#: src/pages/settings.jsx:1068
|
||||
msgid "Push Notifications (beta)"
|
||||
msgstr ""
|
||||
|
||||
#: src/pages/settings.jsx:1055
|
||||
#: src/pages/settings.jsx:1090
|
||||
msgid "Push notifications are blocked. Please enable them in your browser settings."
|
||||
msgstr ""
|
||||
|
||||
#: src/pages/settings.jsx:1064
|
||||
#: src/pages/settings.jsx:1099
|
||||
msgid "Allow from <0>{0}</0>"
|
||||
msgstr ""
|
||||
|
||||
#: src/pages/settings.jsx:1073
|
||||
#: src/pages/settings.jsx:1108
|
||||
msgid "anyone"
|
||||
msgstr ""
|
||||
|
||||
#: src/pages/settings.jsx:1077
|
||||
#: src/pages/settings.jsx:1112
|
||||
msgid "people I follow"
|
||||
msgstr ""
|
||||
|
||||
#: src/pages/settings.jsx:1081
|
||||
#: src/pages/settings.jsx:1116
|
||||
msgid "followers"
|
||||
msgstr ""
|
||||
|
||||
#: src/pages/settings.jsx:1114
|
||||
#: src/pages/settings.jsx:1149
|
||||
msgid "Follows"
|
||||
msgstr ""
|
||||
|
||||
#: src/pages/settings.jsx:1122
|
||||
#: src/pages/settings.jsx:1157
|
||||
msgid "Polls"
|
||||
msgstr ""
|
||||
|
||||
#: src/pages/settings.jsx:1126
|
||||
#: src/pages/settings.jsx:1161
|
||||
msgid "Post edits"
|
||||
msgstr ""
|
||||
|
||||
#: src/pages/settings.jsx:1147
|
||||
#: src/pages/settings.jsx:1182
|
||||
msgid "Push permission was not granted since your last login. You'll need to <0><1>log in</1> again to grant push permission</0>."
|
||||
msgstr ""
|
||||
|
||||
#: src/pages/settings.jsx:1163
|
||||
#: src/pages/settings.jsx:1198
|
||||
msgid "NOTE: Push notifications only work for <0>one account</0>."
|
||||
msgstr ""
|
||||
|
||||
|
|
6
src/locales/zh-CN.po
generated
6
src/locales/zh-CN.po
generated
|
@ -8,7 +8,7 @@ msgstr ""
|
|||
"Language: zh\n"
|
||||
"Project-Id-Version: phanpy\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"PO-Revision-Date: 2024-11-03 07:11\n"
|
||||
"PO-Revision-Date: 2024-11-03 09:32\n"
|
||||
"Last-Translator: \n"
|
||||
"Language-Team: Chinese Simplified\n"
|
||||
"Plural-Forms: nplurals=1; plural=0;\n"
|
||||
|
@ -2725,7 +2725,7 @@ msgstr "内容"
|
|||
#. js-lingui-explicit-id
|
||||
#: src/pages/catchup.jsx:1471
|
||||
msgid "group.filter"
|
||||
msgstr ""
|
||||
msgstr "分组"
|
||||
|
||||
#: src/pages/catchup.jsx:1486
|
||||
msgid "Authors"
|
||||
|
@ -2765,7 +2765,7 @@ msgstr "嘟文按信息密度或深度排序。较短的嘟文“更轻”,而
|
|||
|
||||
#: src/pages/catchup.jsx:1610
|
||||
msgid "Group: Authors"
|
||||
msgstr "排序: 作者"
|
||||
msgstr "分组: 作者"
|
||||
|
||||
#: src/pages/catchup.jsx:1613
|
||||
msgid "Posts are grouped by authors, sorted by posts count per author."
|
||||
|
|
|
@ -561,6 +561,11 @@
|
|||
display: flex;
|
||||
align-items: center;
|
||||
gap: 4px;
|
||||
|
||||
small {
|
||||
flex: 1;
|
||||
min-width: 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -14,6 +14,7 @@ import targetLanguages from '../data/lingva-target-languages';
|
|||
import { api } from '../utils/api';
|
||||
import getTranslateTargetLanguage from '../utils/get-translate-target-language';
|
||||
import localeCode2Text from '../utils/localeCode2Text';
|
||||
import prettyBytes from '../utils/pretty-bytes';
|
||||
import {
|
||||
initSubscription,
|
||||
isPushSupported,
|
||||
|
@ -856,6 +857,13 @@ function Settings({ onClose }) {
|
|||
>
|
||||
Show keys count
|
||||
</button>{' '}
|
||||
<button
|
||||
type="button"
|
||||
class="plain2 small"
|
||||
onClick={async () => alert(await getCachesSize())}
|
||||
>
|
||||
Show cache size
|
||||
</button>{' '}
|
||||
<button
|
||||
type="button"
|
||||
class="plain2 small"
|
||||
|
@ -902,6 +910,33 @@ async function getCachesKeys() {
|
|||
return total;
|
||||
}
|
||||
|
||||
async function getCachesSize() {
|
||||
const keys = await caches.keys();
|
||||
let total = {};
|
||||
let TOTAL = 0;
|
||||
for (const key of keys) {
|
||||
const cache = await caches.open(key);
|
||||
const k = await cache.keys();
|
||||
for (const item of k) {
|
||||
try {
|
||||
const response = await cache.match(item);
|
||||
const blob = await response.blob();
|
||||
total[key] = (total[key] || 0) + blob.size;
|
||||
TOTAL += blob.size;
|
||||
} catch (e) {
|
||||
alert('Failed to get cache size for ' + item);
|
||||
alert(e);
|
||||
}
|
||||
}
|
||||
}
|
||||
return {
|
||||
...Object.fromEntries(
|
||||
Object.entries(total).map(([k, v]) => [k, prettyBytes(v)]),
|
||||
),
|
||||
TOTAL: prettyBytes(TOTAL),
|
||||
};
|
||||
}
|
||||
|
||||
function clearCacheKey(key) {
|
||||
return caches.delete(key);
|
||||
}
|
||||
|
|
|
@ -9,6 +9,10 @@ const notificationTypeKeys = {
|
|||
poll: ['status'],
|
||||
update: ['status'],
|
||||
};
|
||||
|
||||
const GROUP_TYPES = ['favourite', 'reblog', 'follow'];
|
||||
const groupable = (type) => GROUP_TYPES.includes(type);
|
||||
|
||||
export function fixNotifications(notifications) {
|
||||
return notifications.filter((notification) => {
|
||||
const { type, id, createdAt } = notification;
|
||||
|
@ -85,8 +89,8 @@ export function groupNotifications2(groupNotifications) {
|
|||
} = gn;
|
||||
const date = createdAt ? new Date(createdAt).toLocaleDateString() : '';
|
||||
let virtualType = type;
|
||||
const sameCount =
|
||||
notificationsCount > 0 && notificationsCount === sampleAccounts?.length;
|
||||
// const sameCount =
|
||||
notificationsCount > 0 && notificationsCount === sampleAccounts?.length;
|
||||
// if (sameCount && (type === 'favourite' || type === 'reblog')) {
|
||||
if (type === 'favourite' || type === 'reblog') {
|
||||
virtualType = 'favourite+reblog';
|
||||
|
@ -94,7 +98,9 @@ export function groupNotifications2(groupNotifications) {
|
|||
// const key = `${status?.id}-${virtualType}-${date}-${sameCount ? 1 : 0}`;
|
||||
const key = `${status?.id}-${virtualType}-${date}`;
|
||||
const mappedNotification = notificationsMap[key];
|
||||
if (mappedNotification) {
|
||||
if (!groupable(type)) {
|
||||
newGroupNotifications1.push(gn);
|
||||
} else if (mappedNotification) {
|
||||
// Merge sampleAccounts + merge _types
|
||||
sampleAccounts.forEach((a) => {
|
||||
const mappedAccount = mappedNotification.sampleAccounts.find(
|
||||
|
@ -199,7 +205,7 @@ export default function groupNotifications(notifications) {
|
|||
}
|
||||
const key = `${status?.id}-${virtualType}-${date}`;
|
||||
const mappedNotification = notificationsMap[key];
|
||||
if (virtualType === 'follow_request') {
|
||||
if (!groupable(type)) {
|
||||
cleanNotifications[j++] = notification;
|
||||
} else if (mappedNotification?.account) {
|
||||
const mappedAccount = mappedNotification._accounts.find(
|
||||
|
|
Loading…
Reference in a new issue