mirror of
https://github.com/cheeaun/phanpy.git
synced 2025-01-22 16:46:28 +01:00
Merge remote-tracking branch 'upstream/main' into feature/paste-attach
# Conflicts: # src/locales/en.po
This commit is contained in:
commit
2fbef61934
48 changed files with 5180 additions and 4791 deletions
2
.gitattributes
vendored
Normal file
2
.gitattributes
vendored
Normal file
|
@ -0,0 +1,2 @@
|
|||
*.po linguist-generated
|
||||
readme-assets/** linguist-documentation
|
6
.github/workflows/i18n-automerge.yml
vendored
6
.github/workflows/i18n-automerge.yml
vendored
|
@ -62,10 +62,10 @@ jobs:
|
|||
|
||||
# Better subject
|
||||
# "i18n updates ([LOCALES_CHANGED])"
|
||||
SUBJECT="i18n updates ($LOCALES_CHANGED)"
|
||||
|
||||
PR_NUMBER=$(echo ${{ github.event.pull_request.number }})
|
||||
gh pr merge $PR_NUMBER --author "github-actions[bot]@users.noreply.github.com" --squash --subject "$SUBJECT" || true
|
||||
SUBJECT="i18n updates ($LOCALES_CHANGED) (#$PR_NUMBER)"
|
||||
|
||||
gh pr merge $PR_NUMBER --squash --subject "$SUBJECT" || true
|
||||
fi
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
|
|
|
@ -296,6 +296,7 @@ Costs involved in running and developing this web app:
|
|||
|
||||
<!-- i18n volunteers start -->
|
||||
- <img src="https://crowdin-static.downloads.crowdin.com/avatar/12571163/medium/9f3ea938f4243f5ffe2a43f814ddc9e8_default.png" alt="" width="16" height="16" /> alidsds11 (Arabic)
|
||||
- <img src="https://crowdin-static.downloads.crowdin.com/avatar/16180744/medium/5b04ae975b23895635130d7a176515cb_default.png" alt="" width="16" height="16" /> alternative (Korean)
|
||||
- <img src="https://crowdin-static.downloads.crowdin.com/avatar/13170041/medium/603136896af17fc005fd592ce3f48717_default.png" alt="" width="16" height="16" /> BoFFire (Arabic, French, Kabyle)
|
||||
- <img src="https://crowdin-static.downloads.crowdin.com/avatar/12898464/medium/d3758a76b894bade4bf271c9b32ea69b.png" alt="" width="16" height="16" /> Brawaru (Russian)
|
||||
- <img src="https://crowdin-static.downloads.crowdin.com/avatar/15460040/medium/1cfcfe5f5511b783b5d9f2b968bad819.png" alt="" width="16" height="16" /> cbasje (Dutch)
|
||||
|
@ -329,15 +330,16 @@ Costs involved in running and developing this web app:
|
|||
- <img src="https://crowdin-static.downloads.crowdin.com/avatar/16527325/medium/37ebb27e7a50f7f85ae93beafc7028a2.jpg" alt="" width="16" height="16" /> rezahosseinzadeh (Persian)
|
||||
- <img src="https://crowdin-static.downloads.crowdin.com/avatar/13422319/medium/66632a98d73d48e36753d94ebcec9d4f.png" alt="" width="16" height="16" /> rwmpelstilzchen (Esperanto, Hebrew)
|
||||
- <img src="https://crowdin-static.downloads.crowdin.com/avatar/16538605/medium/bcdb6e3286b7d6237923f3a9383eed29.png" alt="" width="16" height="16" /> SadmL (Russian)
|
||||
- <img src="https://crowdin-static.downloads.crowdin.com/avatar/16539171/medium/0ce95ef6b3b0566136191fbedc1563d0.png" alt="" width="16" height="16" /> SadmL_AI (Russian)
|
||||
- <img src="https://crowdin-static.downloads.crowdin.com/avatar/14565190/medium/79100599131b7776e9803e4b696915a3_default.png" alt="" width="16" height="16" /> Sky_NiniKo (French)
|
||||
- <img src="https://crowdin-static.downloads.crowdin.com/avatar/16532441/medium/1a47e8d80c95636e02d2260f6e233ca5.png" alt="" width="16" height="16" /> Su5hicz (Czech)
|
||||
- <img src="https://crowdin-static.downloads.crowdin.com/avatar/16533843/medium/7314c15492ef90118c33a80a427e6c87_default.png" alt="" width="16" height="16" /> Talos00 (Italian)
|
||||
- <img src="https://crowdin-static.downloads.crowdin.com/avatar/16530049/medium/683f3581620c6b4a5c753b416ed695a7.jpeg" alt="" width="16" height="16" /> tferrermo (Spanish)
|
||||
- <img src="https://crowdin-static.downloads.crowdin.com/avatar/16527851/medium/649e5a9a8a8cc61ced670d89e9cca082.png" alt="" width="16" height="16" /> tux93 (German)
|
||||
- <img src="https://crowdin-static.downloads.crowdin.com/avatar/16529833/medium/2991a65722acd721849656223014cd49.png" alt="" width="16" height="16" /> Urbestro (Esperanto, Spanish)
|
||||
- <img src="https://crowdin-static.downloads.crowdin.com/avatar/16539171/medium/db6fb87481026c72b895adfb94e17d2c_default.png" alt="" width="16" height="16" /> UsualUsername (Russian)
|
||||
- <img src="https://crowdin-static.downloads.crowdin.com/avatar/14427566/medium/ab733b5044c21867fc5a9d1b22cd2c03.png" alt="" width="16" height="16" /> Vac31. (Lithuanian)
|
||||
- <img src="https://crowdin-static.downloads.crowdin.com/avatar/16026914/medium/e3ca187f354a298ef0c9d02a0ed17be7.jpg" alt="" width="16" height="16" /> valtlai (Finnish)
|
||||
- <img src="https://crowdin-static.downloads.crowdin.com/avatar/16563757/medium/af4556c13862d1fd593b51084a159b75_default.png" alt="" width="16" height="16" /> voyagercy (Chinese Traditional)
|
||||
- <img src="https://crowdin-static.downloads.crowdin.com/avatar/15982109/medium/9c03062bdc1d3c6d384dbfead97c26ba.jpeg" alt="" width="16" height="16" /> xabi_itzultzaile (Basque)
|
||||
- <img src="https://crowdin-static.downloads.crowdin.com/avatar/16556017/medium/216e0f7a0c35b079920366939a3aaca7_default.png" alt="" width="16" height="16" /> xen4n (Ukrainian)
|
||||
- <img src="https://crowdin-static.downloads.crowdin.com/avatar/16532657/medium/f309f319266e1ff95f3070eab0c9a9d9_default.png" alt="" width="16" height="16" /> xqueralt (Catalan)
|
||||
|
|
58
package-lock.json
generated
58
package-lock.json
generated
|
@ -35,7 +35,7 @@
|
|||
"preact": "~10.23.2",
|
||||
"punycode": "~2.3.1",
|
||||
"react-hotkeys-hook": "~4.5.1",
|
||||
"react-intersection-observer": "~9.13.0",
|
||||
"react-intersection-observer": "~9.13.1",
|
||||
"react-quick-pinch-zoom": "~5.1.0",
|
||||
"react-router-dom": "6.6.2",
|
||||
"string-length": "6.0.0",
|
||||
|
@ -61,7 +61,7 @@
|
|||
"vite": "~5.4.3",
|
||||
"vite-plugin-generate-file": "~0.2.0",
|
||||
"vite-plugin-html-config": "~2.0.2",
|
||||
"vite-plugin-pwa": "~0.20.3",
|
||||
"vite-plugin-pwa": "~0.20.5",
|
||||
"vite-plugin-remove-console": "~2.2.0",
|
||||
"vite-plugin-run": "~0.5.2",
|
||||
"workbox-cacheable-response": "~7.1.0",
|
||||
|
@ -5798,13 +5798,12 @@
|
|||
}
|
||||
},
|
||||
"node_modules/debug": {
|
||||
"version": "4.3.4",
|
||||
"resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz",
|
||||
"integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==",
|
||||
"version": "4.3.7",
|
||||
"resolved": "https://registry.npmjs.org/debug/-/debug-4.3.7.tgz",
|
||||
"integrity": "sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"ms": "2.1.2"
|
||||
"ms": "^2.1.3"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=6.0"
|
||||
|
@ -7861,11 +7860,10 @@
|
|||
"integrity": "sha512-iSAJLHYKnX41mKcJKjqvnAN9sf0LMDTXDEvFv+ffuRR9a1MIuXLjMNL6EsnDHSkKLTWNqQQ5uo61P4EbU4NU+Q=="
|
||||
},
|
||||
"node_modules/ms": {
|
||||
"version": "2.1.2",
|
||||
"resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
|
||||
"integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==",
|
||||
"dev": true,
|
||||
"license": "MIT"
|
||||
"version": "2.1.3",
|
||||
"resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz",
|
||||
"integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==",
|
||||
"dev": true
|
||||
},
|
||||
"node_modules/mute-stream": {
|
||||
"version": "0.0.8",
|
||||
|
@ -8320,9 +8318,9 @@
|
|||
"dev": true
|
||||
},
|
||||
"node_modules/picocolors": {
|
||||
"version": "1.0.1",
|
||||
"resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.1.tgz",
|
||||
"integrity": "sha512-anP1Z8qwhkbmu7MFP5iTt+wQKXgwzf7zTyGlcdzabySa9vd0Xt392U0rVmz9poOaBj0uHJKyyo9/upk0HrEQew=="
|
||||
"version": "1.1.0",
|
||||
"resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.0.tgz",
|
||||
"integrity": "sha512-TQ92mBOW0l3LeMeyLV6mzy/kWr8lkd/hp3mTg7wYK7zJhuBStmGMBG0BdeDZS/dZx1IukaX6Bk11zcln25o1Aw=="
|
||||
},
|
||||
"node_modules/picomatch": {
|
||||
"version": "2.3.1",
|
||||
|
@ -9281,9 +9279,9 @@
|
|||
}
|
||||
},
|
||||
"node_modules/react-intersection-observer": {
|
||||
"version": "9.13.0",
|
||||
"resolved": "https://registry.npmjs.org/react-intersection-observer/-/react-intersection-observer-9.13.0.tgz",
|
||||
"integrity": "sha512-y0UvBfjDiXqC8h0EWccyaj4dVBWMxgEx0t5RGNzQsvkfvZwugnKwxpu70StY4ivzYuMajavwUDjH4LJyIki9Lw==",
|
||||
"version": "9.13.1",
|
||||
"resolved": "https://registry.npmjs.org/react-intersection-observer/-/react-intersection-observer-9.13.1.tgz",
|
||||
"integrity": "sha512-tSzDaTy0qwNPLJHg8XZhlyHTgGW6drFKTtvjdL+p6um12rcnp8Z5XstE+QNBJ7c64n5o0Lj4ilUleA41bmDoMw==",
|
||||
"peerDependencies": {
|
||||
"react": "^15.0.0 || ^16.0.0 || ^17.0.0 || ^18.0.0 || ^19.0.0",
|
||||
"react-dom": "^15.0.0 || ^16.0.0 || ^17.0.0 || ^18.0.0 || ^19.0.0"
|
||||
|
@ -10090,12 +10088,12 @@
|
|||
"dev": true
|
||||
},
|
||||
"node_modules/tinyglobby": {
|
||||
"version": "0.2.0",
|
||||
"resolved": "https://registry.npmjs.org/tinyglobby/-/tinyglobby-0.2.0.tgz",
|
||||
"integrity": "sha512-+clyYQfAnNlt5a1x7CCQ6RLuTIztDfDAl6mAANvqRUlz6sVy5znCzJOhais8G6oyUyoeeaorLopO3HptVP8niA==",
|
||||
"version": "0.2.6",
|
||||
"resolved": "https://registry.npmjs.org/tinyglobby/-/tinyglobby-0.2.6.tgz",
|
||||
"integrity": "sha512-NbBoFBpqfcgd1tCiO8Lkfdk+xrA7mlLR9zgvZcZWQQwU63XAfUePyd6wZBaU93Hqw347lHnwFzttAkemHzzz4g==",
|
||||
"dev": true,
|
||||
"dependencies": {
|
||||
"fdir": "^6.2.0",
|
||||
"fdir": "^6.3.0",
|
||||
"picomatch": "^4.0.2"
|
||||
},
|
||||
"engines": {
|
||||
|
@ -10103,9 +10101,9 @@
|
|||
}
|
||||
},
|
||||
"node_modules/tinyglobby/node_modules/fdir": {
|
||||
"version": "6.2.0",
|
||||
"resolved": "https://registry.npmjs.org/fdir/-/fdir-6.2.0.tgz",
|
||||
"integrity": "sha512-9XaWcDl0riOX5j2kYfy0kKdg7skw3IY6kA4LFT8Tk2yF9UdrADUy8D6AJuBLtf7ISm/MksumwAHE3WVbMRyCLw==",
|
||||
"version": "6.3.0",
|
||||
"resolved": "https://registry.npmjs.org/fdir/-/fdir-6.3.0.tgz",
|
||||
"integrity": "sha512-QOnuT+BOtivR77wYvCWHfGt9s4Pz1VIMbD463vegT5MLqNXy8rYFT/lPVEqf/bhYeT6qmqrNHhsX+rWwe3rOCQ==",
|
||||
"dev": true,
|
||||
"peerDependencies": {
|
||||
"picomatch": "^3 || ^4"
|
||||
|
@ -10623,12 +10621,12 @@
|
|||
}
|
||||
},
|
||||
"node_modules/vite-plugin-pwa": {
|
||||
"version": "0.20.3",
|
||||
"resolved": "https://registry.npmjs.org/vite-plugin-pwa/-/vite-plugin-pwa-0.20.3.tgz",
|
||||
"integrity": "sha512-aqCOWWSwfX4o6H+6NyEvhzFs3eENBqYFKUK4FYx5OZ3jGio73BE189bPz9+BBgjHBLozldQVSmZTHySVC2zNkg==",
|
||||
"version": "0.20.5",
|
||||
"resolved": "https://registry.npmjs.org/vite-plugin-pwa/-/vite-plugin-pwa-0.20.5.tgz",
|
||||
"integrity": "sha512-aweuI/6G6n4C5Inn0vwHumElU/UEpNuO+9iZzwPZGTCH87TeZ6YFMrEY6ZUBQdIHHlhTsbMDryFARcSuOdsz9Q==",
|
||||
"dev": true,
|
||||
"dependencies": {
|
||||
"debug": "^4.3.4",
|
||||
"debug": "^4.3.6",
|
||||
"pretty-bytes": "^6.1.1",
|
||||
"tinyglobby": "^0.2.0",
|
||||
"workbox-build": "^7.1.0",
|
||||
|
@ -10641,7 +10639,7 @@
|
|||
"url": "https://github.com/sponsors/antfu"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"@vite-pwa/assets-generator": "^0.2.4",
|
||||
"@vite-pwa/assets-generator": "^0.2.6",
|
||||
"vite": "^3.1.0 || ^4.0.0 || ^5.0.0",
|
||||
"workbox-build": "^7.1.0",
|
||||
"workbox-window": "^7.1.0"
|
||||
|
|
|
@ -43,7 +43,7 @@
|
|||
"preact": "~10.23.2",
|
||||
"punycode": "~2.3.1",
|
||||
"react-hotkeys-hook": "~4.5.1",
|
||||
"react-intersection-observer": "~9.13.0",
|
||||
"react-intersection-observer": "~9.13.1",
|
||||
"react-quick-pinch-zoom": "~5.1.0",
|
||||
"react-router-dom": "6.6.2",
|
||||
"string-length": "6.0.0",
|
||||
|
@ -69,7 +69,7 @@
|
|||
"vite": "~5.4.3",
|
||||
"vite-plugin-generate-file": "~0.2.0",
|
||||
"vite-plugin-html-config": "~2.0.2",
|
||||
"vite-plugin-pwa": "~0.20.3",
|
||||
"vite-plugin-pwa": "~0.20.5",
|
||||
"vite-plugin-remove-console": "~2.2.0",
|
||||
"vite-plugin-run": "~0.5.2",
|
||||
"workbox-cacheable-response": "~7.1.0",
|
||||
|
|
26
src/app.css
26
src/app.css
|
@ -367,6 +367,10 @@ a[href^='http'][rel*='nofollow']:visited:not(:has(div)) {
|
|||
border-bottom: var(--hairline-width) solid var(--divider-color);
|
||||
--line-dir: var(--to-forward);
|
||||
}
|
||||
.timeline:not(.contextual) > li + li {
|
||||
content-visibility: auto;
|
||||
contain-intrinsic-size: auto 160px;
|
||||
}
|
||||
.timeline.flat > li {
|
||||
border-bottom: none;
|
||||
}
|
||||
|
@ -2902,3 +2906,25 @@ ul.link-list li a .icon {
|
|||
width: 10em;
|
||||
}
|
||||
}
|
||||
|
||||
/* DEBUG */
|
||||
|
||||
.debug-info {
|
||||
font-size: smaller;
|
||||
summary {
|
||||
height: 1em;
|
||||
width: 100%;
|
||||
list-style: none;
|
||||
display: inline-block;
|
||||
}
|
||||
summary::-webkit-details-marker {
|
||||
display: none;
|
||||
}
|
||||
|
||||
p,
|
||||
ol,
|
||||
ul {
|
||||
margin-block-start: 0;
|
||||
padding-block-start: 0;
|
||||
}
|
||||
}
|
||||
|
|
26
src/app.jsx
26
src/app.jsx
|
@ -301,9 +301,33 @@ subscribe(states, (changes) => {
|
|||
}
|
||||
});
|
||||
|
||||
const BENCHES = new Map();
|
||||
window.__BENCH_RESULTS = new Map();
|
||||
window.__BENCHMARK = {
|
||||
start(name) {
|
||||
if (!import.meta.env.DEV && !import.meta.env.PHANPY_DEV) return;
|
||||
// If already started, ignore
|
||||
if (BENCHES.has(name)) return;
|
||||
const start = performance.now();
|
||||
BENCHES.set(name, start);
|
||||
},
|
||||
end(name) {
|
||||
if (!import.meta.env.DEV && !import.meta.env.PHANPY_DEV) return;
|
||||
const start = BENCHES.get(name);
|
||||
if (start) {
|
||||
const end = performance.now();
|
||||
const duration = end - start;
|
||||
__BENCH_RESULTS.set(name, duration);
|
||||
BENCHES.delete(name);
|
||||
}
|
||||
},
|
||||
};
|
||||
|
||||
function App() {
|
||||
const [isLoggedIn, setIsLoggedIn] = useState(false);
|
||||
const [uiState, setUIState] = useState('loading');
|
||||
__BENCHMARK.start('app-init');
|
||||
__BENCHMARK.start('time-to-home');
|
||||
useLingui();
|
||||
|
||||
useEffect(() => {
|
||||
|
@ -351,6 +375,7 @@ function App() {
|
|||
} else {
|
||||
setUIState('error');
|
||||
}
|
||||
__BENCHMARK.end('app-init');
|
||||
})();
|
||||
} else {
|
||||
window.__IGNORE_GET_ACCOUNT_ERROR__ = true;
|
||||
|
@ -393,6 +418,7 @@ function App() {
|
|||
} else {
|
||||
setUIState('default');
|
||||
}
|
||||
__BENCHMARK.end('app-init');
|
||||
}
|
||||
|
||||
// Cleanup
|
||||
|
|
|
@ -2146,7 +2146,7 @@ function EditProfileSheet({ onClose = () => {} }) {
|
|||
>
|
||||
<p>
|
||||
<label>
|
||||
Name{' '}
|
||||
<Trans>Name</Trans>{' '}
|
||||
<input
|
||||
type="text"
|
||||
name="display_name"
|
||||
|
|
|
@ -1186,6 +1186,11 @@ function Compose({
|
|||
<option value="public">
|
||||
<Trans>Public</Trans>
|
||||
</option>
|
||||
{(supports('@pleroma/local-visibility-post') || supports('@akkoma/local-visibility-post')) &&
|
||||
<option value="local">
|
||||
<Trans>Local</Trans>
|
||||
</option>
|
||||
}
|
||||
<option value="unlisted">
|
||||
<Trans>Unlisted</Trans>
|
||||
</option>
|
||||
|
|
|
@ -49,7 +49,7 @@ export default function Poll({
|
|||
// };
|
||||
// }, [expired, expiresAtDate]);
|
||||
|
||||
const pollVotesCount = votersCount || votesCount;
|
||||
const pollVotesCount = multiple ? votersCount : votesCount;
|
||||
let roundPrecision = 0;
|
||||
|
||||
if (pollVotesCount <= 1000) {
|
||||
|
|
|
@ -91,6 +91,7 @@ const memFetchAccount = pmem(throttle(fetchAccount));
|
|||
|
||||
const visibilityText = {
|
||||
public: msg`Public`,
|
||||
local: msg`Local`,
|
||||
unlisted: msg`Unlisted`,
|
||||
private: msg`Followers only`,
|
||||
direct: msg`Private mention`,
|
||||
|
@ -2640,9 +2641,9 @@ function Card({ card, selfReferential, instance }) {
|
|||
[hasIframeHTML],
|
||||
);
|
||||
|
||||
const [blurhashImage, setBlurhashImage] = useState(null);
|
||||
if (hasText && (image || (type === 'photo' && blurhash))) {
|
||||
const domain = getDomain(url);
|
||||
let blurhashImage;
|
||||
const rgbAverageColor =
|
||||
image && blurhash ? getBlurHashAverageColor(blurhash) : null;
|
||||
if (!image) {
|
||||
|
@ -2659,11 +2660,17 @@ function Card({ card, selfReferential, instance }) {
|
|||
const imageData = ctx.createImageData(w, h);
|
||||
imageData.data.set(blurhashPixels);
|
||||
ctx.putImageData(imageData, 0, 0);
|
||||
if (window.OffscreenCanvas) {
|
||||
const blob = canvas.convertToBlob();
|
||||
blurhashImage = URL.createObjectURL(blob);
|
||||
} else {
|
||||
blurhashImage = canvas.toDataURL();
|
||||
try {
|
||||
if (window.OffscreenCanvas) {
|
||||
canvas.convertToBlob().then((blob) => {
|
||||
setBlurhashImage(URL.createObjectURL(blob));
|
||||
});
|
||||
} else {
|
||||
setBlurhashImage(canvas.toDataURL());
|
||||
}
|
||||
} catch (e) {
|
||||
// Silently fail
|
||||
console.error(e);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
import { t, Trans } from '@lingui/macro';
|
||||
import { plural, t, Trans } from '@lingui/macro';
|
||||
import { memo } from 'preact/compat';
|
||||
import {
|
||||
useCallback,
|
||||
|
@ -69,6 +69,7 @@ function Timeline({
|
|||
const scrollableRef = useRef();
|
||||
|
||||
console.debug('RENDER Timeline', id, refresh);
|
||||
__BENCHMARK.start(`timeline-${id}-load`);
|
||||
|
||||
const mediaFirst = useMemo(() => isMediaFirstInstance(), []);
|
||||
|
||||
|
@ -119,6 +120,7 @@ function Timeline({
|
|||
setShowMore(false);
|
||||
}
|
||||
setUIState('default');
|
||||
__BENCHMARK.end(`timeline-${id}-load`);
|
||||
} catch (e) {
|
||||
console.error(e);
|
||||
setUIState('error');
|
||||
|
@ -583,9 +585,12 @@ const TimelineItem = memo(
|
|||
let fItems = filteredItems(items, filterContext);
|
||||
let title = '';
|
||||
if (type === 'boosts') {
|
||||
title = `${fItems.length} Boosts`;
|
||||
title = plural(fItems.length, {
|
||||
one: '# Boost',
|
||||
other: '# Boosts',
|
||||
});
|
||||
} else if (type === 'pinned') {
|
||||
title = 'Pinned posts';
|
||||
title = t`Pinned posts`;
|
||||
}
|
||||
const isCarousel = type === 'boosts' || type === 'pinned';
|
||||
if (isCarousel) {
|
||||
|
|
|
@ -27,7 +27,7 @@
|
|||
"code": "eo-UY",
|
||||
"nativeName": "Esperanto",
|
||||
"name": "Esperanto",
|
||||
"completion": 30
|
||||
"completion": 61
|
||||
},
|
||||
{
|
||||
"code": "es-ES",
|
||||
|
@ -45,7 +45,7 @@
|
|||
"code": "fa-IR",
|
||||
"nativeName": "فارسی",
|
||||
"name": "Persian",
|
||||
"completion": 73
|
||||
"completion": 77
|
||||
},
|
||||
{
|
||||
"code": "fi-FI",
|
||||
|
@ -75,7 +75,7 @@
|
|||
"code": "it-IT",
|
||||
"nativeName": "italiano",
|
||||
"name": "Italian",
|
||||
"completion": 34
|
||||
"completion": 95
|
||||
},
|
||||
{
|
||||
"code": "ja-JP",
|
||||
|
@ -93,7 +93,7 @@
|
|||
"code": "ko-KR",
|
||||
"nativeName": "한국어",
|
||||
"name": "Korean",
|
||||
"completion": 86
|
||||
"completion": 97
|
||||
},
|
||||
{
|
||||
"code": "lt-LT",
|
||||
|
@ -105,13 +105,13 @@
|
|||
"code": "nl-NL",
|
||||
"nativeName": "Nederlands",
|
||||
"name": "Dutch",
|
||||
"completion": 48
|
||||
"completion": 84
|
||||
},
|
||||
{
|
||||
"code": "pl-PL",
|
||||
"nativeName": "polski",
|
||||
"name": "Polish",
|
||||
"completion": 1
|
||||
"completion": 2
|
||||
},
|
||||
{
|
||||
"code": "pt-BR",
|
||||
|
@ -153,6 +153,6 @@
|
|||
"code": "zh-TW",
|
||||
"nativeName": "繁體中文",
|
||||
"name": "Traditional Chinese",
|
||||
"completion": 14
|
||||
"completion": 15
|
||||
}
|
||||
]
|
24
src/locales/ar-SA.po
generated
24
src/locales/ar-SA.po
generated
|
@ -8,7 +8,7 @@ msgstr ""
|
|||
"Language: ar\n"
|
||||
"Project-Id-Version: phanpy\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"PO-Revision-Date: 2024-08-31 15:33\n"
|
||||
"PO-Revision-Date: 2024-09-06 02:31\n"
|
||||
"Last-Translator: \n"
|
||||
"Language-Team: Arabic\n"
|
||||
"Plural-Forms: nplurals=6; plural=(n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 && n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5);\n"
|
||||
|
@ -606,7 +606,7 @@ msgstr ""
|
|||
|
||||
#: src/components/compose.jsx:1118
|
||||
#: src/components/status.jsx:1961
|
||||
#: src/components/timeline.jsx:979
|
||||
#: src/components/timeline.jsx:982
|
||||
msgid "Content warning"
|
||||
msgstr ""
|
||||
|
||||
|
@ -849,13 +849,13 @@ msgstr ""
|
|||
|
||||
#: src/components/compose.jsx:3454
|
||||
#: src/components/media-modal.jsx:387
|
||||
#: src/components/timeline.jsx:884
|
||||
#: src/components/timeline.jsx:887
|
||||
msgid "Previous"
|
||||
msgstr ""
|
||||
|
||||
#: src/components/compose.jsx:3472
|
||||
#: src/components/media-modal.jsx:406
|
||||
#: src/components/timeline.jsx:901
|
||||
#: src/components/timeline.jsx:904
|
||||
msgid "Next"
|
||||
msgstr ""
|
||||
|
||||
|
@ -1207,7 +1207,7 @@ msgstr ""
|
|||
#: src/components/status.jsx:3406
|
||||
#: src/components/status.jsx:3502
|
||||
#: src/components/status.jsx:3580
|
||||
#: src/components/timeline.jsx:968
|
||||
#: src/components/timeline.jsx:971
|
||||
#: src/pages/catchup.jsx:75
|
||||
#: src/pages/catchup.jsx:1859
|
||||
msgid "Filtered"
|
||||
|
@ -2306,13 +2306,21 @@ msgstr "منشورات جديدة"
|
|||
msgid "Try again"
|
||||
msgstr "حاول مجددًا"
|
||||
|
||||
#: src/components/timeline.jsx:941
|
||||
#: src/components/timeline.jsx:948
|
||||
#: src/components/timeline.jsx:586
|
||||
msgid "{0, plural, one {# Boost} other {# Boosts}}"
|
||||
msgstr ""
|
||||
|
||||
#: src/components/timeline.jsx:591
|
||||
msgid "Pinned posts"
|
||||
msgstr ""
|
||||
|
||||
#: src/components/timeline.jsx:944
|
||||
#: src/components/timeline.jsx:951
|
||||
#: src/pages/catchup.jsx:1876
|
||||
msgid "Thread"
|
||||
msgstr "مناقشة"
|
||||
|
||||
#: src/components/timeline.jsx:963
|
||||
#: src/components/timeline.jsx:966
|
||||
msgid "<0>Filtered</0>: <1>{0}</1>"
|
||||
msgstr ""
|
||||
|
||||
|
|
35
src/locales/ca-ES.po
generated
35
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-09-01 07:36\n"
|
||||
"PO-Revision-Date: 2024-09-07 04:12\n"
|
||||
"Last-Translator: \n"
|
||||
"Language-Team: Catalan\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
|
@ -484,6 +484,11 @@ msgstr "Desa i tanca"
|
|||
msgid "Unable to update profile."
|
||||
msgstr "No ha estat possible actualitzar el perfil."
|
||||
|
||||
#: src/components/account-info.jsx:2149
|
||||
#: src/components/list-add-edit.jsx:102
|
||||
msgid "Name"
|
||||
msgstr "Nom"
|
||||
|
||||
#: src/components/account-info.jsx:2162
|
||||
msgid "Bio"
|
||||
msgstr "Biografia"
|
||||
|
@ -606,7 +611,7 @@ msgstr "El fitxer adjunt #{i} ha fallat"
|
|||
|
||||
#: src/components/compose.jsx:1118
|
||||
#: src/components/status.jsx:1961
|
||||
#: src/components/timeline.jsx:979
|
||||
#: src/components/timeline.jsx:982
|
||||
msgid "Content warning"
|
||||
msgstr "Avís de contingut"
|
||||
|
||||
|
@ -849,13 +854,13 @@ msgstr "Escriviu per cercar un GIF"
|
|||
|
||||
#: src/components/compose.jsx:3454
|
||||
#: src/components/media-modal.jsx:387
|
||||
#: src/components/timeline.jsx:884
|
||||
#: src/components/timeline.jsx:887
|
||||
msgid "Previous"
|
||||
msgstr "Anterior"
|
||||
|
||||
#: src/components/compose.jsx:3472
|
||||
#: src/components/media-modal.jsx:406
|
||||
#: src/components/timeline.jsx:901
|
||||
#: src/components/timeline.jsx:904
|
||||
msgid "Next"
|
||||
msgstr "Següent"
|
||||
|
||||
|
@ -1120,10 +1125,6 @@ msgstr "No s'ha pogut editar la llista."
|
|||
msgid "Unable to create list."
|
||||
msgstr "No s'ha pogut crear la llista."
|
||||
|
||||
#: src/components/list-add-edit.jsx:102
|
||||
msgid "Name"
|
||||
msgstr "Nom"
|
||||
|
||||
#: src/components/list-add-edit.jsx:122
|
||||
msgid "Show replies to list members"
|
||||
msgstr "Mostra les respostes dels membres de la llista"
|
||||
|
@ -1207,7 +1208,7 @@ msgstr "Filtrat: {filterTitleStr}"
|
|||
#: src/components/status.jsx:3406
|
||||
#: src/components/status.jsx:3502
|
||||
#: src/components/status.jsx:3580
|
||||
#: src/components/timeline.jsx:968
|
||||
#: src/components/timeline.jsx:971
|
||||
#: src/pages/catchup.jsx:75
|
||||
#: src/pages/catchup.jsx:1859
|
||||
msgid "Filtered"
|
||||
|
@ -2307,13 +2308,21 @@ msgstr "Publicacions noves"
|
|||
msgid "Try again"
|
||||
msgstr "Torna-ho a provar"
|
||||
|
||||
#: src/components/timeline.jsx:941
|
||||
#: src/components/timeline.jsx:948
|
||||
#: src/components/timeline.jsx:586
|
||||
msgid "{0, plural, one {# Boost} other {# Boosts}}"
|
||||
msgstr "{0, plural, one {# impuls} other {# impulsos}}"
|
||||
|
||||
#: src/components/timeline.jsx:591
|
||||
msgid "Pinned posts"
|
||||
msgstr "Publicacions fixades"
|
||||
|
||||
#: src/components/timeline.jsx:944
|
||||
#: src/components/timeline.jsx:951
|
||||
#: src/pages/catchup.jsx:1876
|
||||
msgid "Thread"
|
||||
msgstr "Fil"
|
||||
|
||||
#: src/components/timeline.jsx:963
|
||||
#: src/components/timeline.jsx:966
|
||||
msgid "<0>Filtered</0>: <1>{0}</1>"
|
||||
msgstr "<0>Filtrat</0>: <1>{0}</1>"
|
||||
|
||||
|
@ -2594,7 +2603,7 @@ msgstr "Posem-nos al dia"
|
|||
|
||||
#: src/pages/catchup.jsx:940
|
||||
msgid "Let's catch up on the posts from your followings."
|
||||
msgstr "Poseu-vos al dia amb les publicacions de les persones que segueixes."
|
||||
msgstr "Poseu-vos al dia amb les publicacions de les persones que seguiu."
|
||||
|
||||
#: src/pages/catchup.jsx:944
|
||||
msgid "Show me all posts from…"
|
||||
|
|
24
src/locales/cs-CZ.po
generated
24
src/locales/cs-CZ.po
generated
|
@ -8,7 +8,7 @@ msgstr ""
|
|||
"Language: cs\n"
|
||||
"Project-Id-Version: phanpy\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"PO-Revision-Date: 2024-08-31 15:34\n"
|
||||
"PO-Revision-Date: 2024-09-06 02:32\n"
|
||||
"Last-Translator: \n"
|
||||
"Language-Team: Czech\n"
|
||||
"Plural-Forms: nplurals=4; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 3;\n"
|
||||
|
@ -606,7 +606,7 @@ msgstr "Příloha #{i} selhala"
|
|||
|
||||
#: src/components/compose.jsx:1118
|
||||
#: src/components/status.jsx:1961
|
||||
#: src/components/timeline.jsx:979
|
||||
#: src/components/timeline.jsx:982
|
||||
msgid "Content warning"
|
||||
msgstr "Varování o obsahu"
|
||||
|
||||
|
@ -849,13 +849,13 @@ msgstr "Zadejte pro vyhledávání GIFů"
|
|||
|
||||
#: src/components/compose.jsx:3454
|
||||
#: src/components/media-modal.jsx:387
|
||||
#: src/components/timeline.jsx:884
|
||||
#: src/components/timeline.jsx:887
|
||||
msgid "Previous"
|
||||
msgstr "Zpět"
|
||||
|
||||
#: src/components/compose.jsx:3472
|
||||
#: src/components/media-modal.jsx:406
|
||||
#: src/components/timeline.jsx:901
|
||||
#: src/components/timeline.jsx:904
|
||||
msgid "Next"
|
||||
msgstr "Další"
|
||||
|
||||
|
@ -1207,7 +1207,7 @@ msgstr "Filtrováno: {filterTitleStr}"
|
|||
#: src/components/status.jsx:3406
|
||||
#: src/components/status.jsx:3502
|
||||
#: src/components/status.jsx:3580
|
||||
#: src/components/timeline.jsx:968
|
||||
#: src/components/timeline.jsx:971
|
||||
#: src/pages/catchup.jsx:75
|
||||
#: src/pages/catchup.jsx:1859
|
||||
msgid "Filtered"
|
||||
|
@ -2306,13 +2306,21 @@ msgstr "Nové příspěvky"
|
|||
msgid "Try again"
|
||||
msgstr "Zkuste to znovu"
|
||||
|
||||
#: src/components/timeline.jsx:941
|
||||
#: src/components/timeline.jsx:948
|
||||
#: src/components/timeline.jsx:586
|
||||
msgid "{0, plural, one {# Boost} other {# Boosts}}"
|
||||
msgstr ""
|
||||
|
||||
#: src/components/timeline.jsx:591
|
||||
msgid "Pinned posts"
|
||||
msgstr ""
|
||||
|
||||
#: src/components/timeline.jsx:944
|
||||
#: src/components/timeline.jsx:951
|
||||
#: src/pages/catchup.jsx:1876
|
||||
msgid "Thread"
|
||||
msgstr "Vlákno"
|
||||
|
||||
#: src/components/timeline.jsx:963
|
||||
#: src/components/timeline.jsx:966
|
||||
msgid "<0>Filtered</0>: <1>{0}</1>"
|
||||
msgstr "<0>Filtrované</0>: <1>{0}</1>"
|
||||
|
||||
|
|
24
src/locales/de-DE.po
generated
24
src/locales/de-DE.po
generated
|
@ -8,7 +8,7 @@ msgstr ""
|
|||
"Language: de\n"
|
||||
"Project-Id-Version: phanpy\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"PO-Revision-Date: 2024-08-31 15:33\n"
|
||||
"PO-Revision-Date: 2024-09-06 02:32\n"
|
||||
"Last-Translator: \n"
|
||||
"Language-Team: German\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
|
@ -606,7 +606,7 @@ msgstr "Anhang #{i} fehlgeschlagen"
|
|||
|
||||
#: src/components/compose.jsx:1118
|
||||
#: src/components/status.jsx:1961
|
||||
#: src/components/timeline.jsx:979
|
||||
#: src/components/timeline.jsx:982
|
||||
msgid "Content warning"
|
||||
msgstr "Inhaltswarnung"
|
||||
|
||||
|
@ -849,13 +849,13 @@ msgstr "Eintippen, um GIFs zu suchen"
|
|||
|
||||
#: src/components/compose.jsx:3454
|
||||
#: src/components/media-modal.jsx:387
|
||||
#: src/components/timeline.jsx:884
|
||||
#: src/components/timeline.jsx:887
|
||||
msgid "Previous"
|
||||
msgstr "Zurück"
|
||||
|
||||
#: src/components/compose.jsx:3472
|
||||
#: src/components/media-modal.jsx:406
|
||||
#: src/components/timeline.jsx:901
|
||||
#: src/components/timeline.jsx:904
|
||||
msgid "Next"
|
||||
msgstr "Weiter"
|
||||
|
||||
|
@ -1207,7 +1207,7 @@ msgstr "Gefiltert: {filterTitleStr}"
|
|||
#: src/components/status.jsx:3406
|
||||
#: src/components/status.jsx:3502
|
||||
#: src/components/status.jsx:3580
|
||||
#: src/components/timeline.jsx:968
|
||||
#: src/components/timeline.jsx:971
|
||||
#: src/pages/catchup.jsx:75
|
||||
#: src/pages/catchup.jsx:1859
|
||||
msgid "Filtered"
|
||||
|
@ -2306,13 +2306,21 @@ msgstr "Neue Posts"
|
|||
msgid "Try again"
|
||||
msgstr "Erneut versuchen"
|
||||
|
||||
#: src/components/timeline.jsx:941
|
||||
#: src/components/timeline.jsx:948
|
||||
#: src/components/timeline.jsx:586
|
||||
msgid "{0, plural, one {# Boost} other {# Boosts}}"
|
||||
msgstr ""
|
||||
|
||||
#: src/components/timeline.jsx:591
|
||||
msgid "Pinned posts"
|
||||
msgstr ""
|
||||
|
||||
#: src/components/timeline.jsx:944
|
||||
#: src/components/timeline.jsx:951
|
||||
#: src/pages/catchup.jsx:1876
|
||||
msgid "Thread"
|
||||
msgstr "Thread"
|
||||
|
||||
#: src/components/timeline.jsx:963
|
||||
#: src/components/timeline.jsx:966
|
||||
msgid "<0>Filtered</0>: <1>{0}</1>"
|
||||
msgstr "<0>Herausgefiltert</0>: <1>{0}</1>"
|
||||
|
||||
|
|
633
src/locales/en.po
generated
633
src/locales/en.po
generated
File diff suppressed because it is too large
Load diff
1163
src/locales/eo-UY.po
generated
1163
src/locales/eo-UY.po
generated
File diff suppressed because it is too large
Load diff
509
src/locales/es-ES.po
generated
509
src/locales/es-ES.po
generated
File diff suppressed because it is too large
Load diff
98
src/locales/eu-ES.po
generated
98
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-08-31 16:29\n"
|
||||
"PO-Revision-Date: 2024-09-06 13:24\n"
|
||||
"Last-Translator: \n"
|
||||
"Language-Team: Basque\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
|
@ -606,7 +606,7 @@ msgstr "#{i} eranskinak huts egin du"
|
|||
|
||||
#: src/components/compose.jsx:1118
|
||||
#: src/components/status.jsx:1961
|
||||
#: src/components/timeline.jsx:979
|
||||
#: src/components/timeline.jsx:982
|
||||
msgid "Content warning"
|
||||
msgstr "Edukiari buruzko abisua"
|
||||
|
||||
|
@ -770,7 +770,7 @@ msgstr "Sortu deskribapena…"
|
|||
|
||||
#: src/components/compose.jsx:2532
|
||||
msgid "Failed to generate description{0}"
|
||||
msgstr "Ezin iza da deskribapena sortu{0}"
|
||||
msgstr "Ezin izan da deskribapena sortu{0}"
|
||||
|
||||
#: src/components/compose.jsx:2547
|
||||
msgid "({0}) <0>— experimental</0>"
|
||||
|
@ -849,13 +849,13 @@ msgstr "Idatzi GIFak bilatzeko"
|
|||
|
||||
#: src/components/compose.jsx:3454
|
||||
#: src/components/media-modal.jsx:387
|
||||
#: src/components/timeline.jsx:884
|
||||
#: src/components/timeline.jsx:887
|
||||
msgid "Previous"
|
||||
msgstr "Aurrekoa"
|
||||
|
||||
#: src/components/compose.jsx:3472
|
||||
#: src/components/media-modal.jsx:406
|
||||
#: src/components/timeline.jsx:901
|
||||
#: src/components/timeline.jsx:904
|
||||
msgid "Next"
|
||||
msgstr "Hurrengoa"
|
||||
|
||||
|
@ -1207,7 +1207,7 @@ msgstr "Iragazita: {filterTitleStr}"
|
|||
#: src/components/status.jsx:3406
|
||||
#: src/components/status.jsx:3502
|
||||
#: src/components/status.jsx:3580
|
||||
#: src/components/timeline.jsx:968
|
||||
#: src/components/timeline.jsx:971
|
||||
#: src/pages/catchup.jsx:75
|
||||
#: src/pages/catchup.jsx:1859
|
||||
msgid "Filtered"
|
||||
|
@ -1367,7 +1367,7 @@ msgstr "Federatua"
|
|||
|
||||
#: src/components/nav-menu.jsx:415
|
||||
msgid "Shortcuts / Columns…"
|
||||
msgstr "Laster-teklak / Zutabeak…"
|
||||
msgstr "Lasterbideak / Zutabeak…"
|
||||
|
||||
#: src/components/nav-menu.jsx:425
|
||||
#: src/components/nav-menu.jsx:439
|
||||
|
@ -1772,7 +1772,7 @@ msgstr "Multimedia bakarrik"
|
|||
#: src/components/shortcuts-settings.jsx:232
|
||||
#: src/components/shortcuts.jsx:186
|
||||
msgid "Shortcuts"
|
||||
msgstr "Laster-teklak"
|
||||
msgstr "Lasterbideak"
|
||||
|
||||
#: src/components/shortcuts-settings.jsx:240
|
||||
msgid "beta"
|
||||
|
@ -1780,7 +1780,7 @@ msgstr "beta"
|
|||
|
||||
#: src/components/shortcuts-settings.jsx:246
|
||||
msgid "Specify a list of shortcuts that'll appear as:"
|
||||
msgstr "Zehaztu laster-teklen zerrenda bat honela agertzeko:"
|
||||
msgstr "Zehaztu lasterbideen zerrenda bat honela agertzeko:"
|
||||
|
||||
#: src/components/shortcuts-settings.jsx:252
|
||||
msgid "Floating button"
|
||||
|
@ -1814,7 +1814,7 @@ msgstr "Editatu"
|
|||
|
||||
#: src/components/shortcuts-settings.jsx:397
|
||||
msgid "Add more than one shortcut/column to make this work."
|
||||
msgstr "Gehitu laster-tekla / zutabe bat baino gehiago erabili ahal izateko."
|
||||
msgstr "Gehitu lasterbide / zutabe bat baino gehiago erabili ahal izateko."
|
||||
|
||||
#: src/components/shortcuts-settings.jsx:408
|
||||
msgid "No columns yet. Tap on the Add column button."
|
||||
|
@ -1822,7 +1822,7 @@ msgstr "Oraindik ez dago zutaberik. Egin tap Gehitu zutabea botoian."
|
|||
|
||||
#: src/components/shortcuts-settings.jsx:409
|
||||
msgid "No shortcuts yet. Tap on the Add shortcut button."
|
||||
msgstr "Oraindik ez dago laster-teklarik. Egin tap Gehitu laster-tekla botoian."
|
||||
msgstr "Oraindik ez dago lasterbiderik. Egin tap Gehitu lasterbidea botoian."
|
||||
|
||||
#: src/components/shortcuts-settings.jsx:412
|
||||
msgid "Not sure what to add?<0/>Try adding <1>Home / Following and Notifications</1> first."
|
||||
|
@ -1834,7 +1834,7 @@ msgstr "{SHORTCUTS_LIMIT} zutabe gehienez"
|
|||
|
||||
#: src/components/shortcuts-settings.jsx:441
|
||||
msgid "Max {SHORTCUTS_LIMIT} shortcuts"
|
||||
msgstr "{SHORTCUTS_LIMIT} laster-tekla gehienez"
|
||||
msgstr "{SHORTCUTS_LIMIT} lasterbide gehienez"
|
||||
|
||||
#: src/components/shortcuts-settings.jsx:455
|
||||
msgid "Import/export"
|
||||
|
@ -1846,7 +1846,7 @@ msgstr "Gehitu zutabea…"
|
|||
|
||||
#: src/components/shortcuts-settings.jsx:466
|
||||
msgid "Add shortcut…"
|
||||
msgstr "Gehitu laster-tekla…"
|
||||
msgstr "Gehitu lasterbidea…"
|
||||
|
||||
#: src/components/shortcuts-settings.jsx:513
|
||||
msgid "Specific list is optional. For multi-column mode, list is required, else the column will not be shown."
|
||||
|
@ -1862,11 +1862,11 @@ msgstr "Traola bat baino gehiago onartzen dira. Espazioen bidez bereizita."
|
|||
|
||||
#: src/components/shortcuts-settings.jsx:584
|
||||
msgid "Edit shortcut"
|
||||
msgstr "Editatu laster-tekla"
|
||||
msgstr "Editatu lasterbidea"
|
||||
|
||||
#: src/components/shortcuts-settings.jsx:584
|
||||
msgid "Add shortcut"
|
||||
msgstr "Gehitu laster-tekla"
|
||||
msgstr "Gehitu lasterbidea"
|
||||
|
||||
#: src/components/shortcuts-settings.jsx:620
|
||||
msgid "Timeline"
|
||||
|
@ -1878,7 +1878,7 @@ msgstr "Zerrenda"
|
|||
|
||||
#: src/components/shortcuts-settings.jsx:785
|
||||
msgid "Import/Export <0>Shortcuts</0>"
|
||||
msgstr "Inportatu / Esportatu <0>Laster-teklak</0>"
|
||||
msgstr "Inportatu / Esportatu <0>Lasterbideak</0>"
|
||||
|
||||
#: src/components/shortcuts-settings.jsx:795
|
||||
msgid "Import"
|
||||
|
@ -1886,23 +1886,23 @@ msgstr "Inportatu"
|
|||
|
||||
#: src/components/shortcuts-settings.jsx:803
|
||||
msgid "Paste shortcuts here"
|
||||
msgstr "Itsatsi laster-teklak hemen"
|
||||
msgstr "Itsatsi lasterbideak hemen"
|
||||
|
||||
#: src/components/shortcuts-settings.jsx:819
|
||||
msgid "Downloading saved shortcuts from instance server…"
|
||||
msgstr "Gordetako laster-teklak zerbitzaritik deskargatzen…"
|
||||
msgstr "Gordetako lasterbideak zerbitzaritik deskargatzen…"
|
||||
|
||||
#: src/components/shortcuts-settings.jsx:848
|
||||
msgid "Unable to download shortcuts"
|
||||
msgstr "Ezin dira laster-teklak deskargatu"
|
||||
msgstr "Ezin dira lasterbideak deskargatu"
|
||||
|
||||
#: src/components/shortcuts-settings.jsx:851
|
||||
msgid "Download shortcuts from instance server"
|
||||
msgstr "Deskargatu laster-teklak zerbitzaritik"
|
||||
msgstr "Deskargatu lasterbideak zerbitzaritik"
|
||||
|
||||
#: src/components/shortcuts-settings.jsx:909
|
||||
msgid "* Exists in current shortcuts"
|
||||
msgstr "* Laster-tekla badago lehendik ere"
|
||||
msgstr "* Lasterbidea badago lehendik ere"
|
||||
|
||||
#: src/components/shortcuts-settings.jsx:914
|
||||
msgid "List may not work if it's from a different account."
|
||||
|
@ -1914,24 +1914,24 @@ msgstr "Ezarpenen formatu baliogabea"
|
|||
|
||||
#: src/components/shortcuts-settings.jsx:932
|
||||
msgid "Append to current shortcuts?"
|
||||
msgstr "Gehitu uneko laster-teklei?"
|
||||
msgstr "Gehitu uneko lasterbideei?"
|
||||
|
||||
#: src/components/shortcuts-settings.jsx:935
|
||||
msgid "Only shortcuts that don’t exist in current shortcuts will be appended."
|
||||
msgstr "Uneko laster-tekletan ez daudenak gehituko dira soilik."
|
||||
msgstr "Uneko lasterbideetan ez daudenak gehituko dira soilik."
|
||||
|
||||
#: src/components/shortcuts-settings.jsx:957
|
||||
msgid "No new shortcuts to import"
|
||||
msgstr "Ez dago inportatzeko laster-tekla berririk"
|
||||
msgstr "Ez dago inportatzeko lasterbide berririk"
|
||||
|
||||
#: src/components/shortcuts-settings.jsx:972
|
||||
msgid "Shortcuts imported. Exceeded max {SHORTCUTS_LIMIT}, so the rest are not imported."
|
||||
msgstr "Laster-teklak inportatu dira. {SHORTCUTS_LIMIT} muga gainditu da, gainerakoak ez dira inportatuko."
|
||||
msgstr "Lasterbideak inportatu dira. {SHORTCUTS_LIMIT} muga gainditu da, gainerakoak ez dira inportatuko."
|
||||
|
||||
#: src/components/shortcuts-settings.jsx:973
|
||||
#: src/components/shortcuts-settings.jsx:997
|
||||
msgid "Shortcuts imported"
|
||||
msgstr "Laster-teklak inportatu dira"
|
||||
msgstr "Lasterbideak inportatu dira"
|
||||
|
||||
#: src/components/shortcuts-settings.jsx:983
|
||||
msgid "Import & append…"
|
||||
|
@ -1939,11 +1939,11 @@ msgstr "Inportatu eta gehitu…"
|
|||
|
||||
#: src/components/shortcuts-settings.jsx:991
|
||||
msgid "Override current shortcuts?"
|
||||
msgstr "Uneko laster-teklak gainidatzi?"
|
||||
msgstr "Uneko lasterbideak gainidatzi?"
|
||||
|
||||
#: src/components/shortcuts-settings.jsx:992
|
||||
msgid "Import shortcuts?"
|
||||
msgstr "Laster-teklak inportatu?"
|
||||
msgstr "Lasterbideak inportatu?"
|
||||
|
||||
#: src/components/shortcuts-settings.jsx:1006
|
||||
msgid "or override…"
|
||||
|
@ -1959,19 +1959,19 @@ msgstr "Esportatu"
|
|||
|
||||
#: src/components/shortcuts-settings.jsx:1030
|
||||
msgid "Shortcuts copied"
|
||||
msgstr "Laster-teklak kopiatu dira"
|
||||
msgstr "Lasterbideak kopiatu dira"
|
||||
|
||||
#: src/components/shortcuts-settings.jsx:1033
|
||||
msgid "Unable to copy shortcuts"
|
||||
msgstr "Ezin dira laster-teklak kopiatu"
|
||||
msgstr "Ezin dira lasterbideak kopiatu"
|
||||
|
||||
#: src/components/shortcuts-settings.jsx:1047
|
||||
msgid "Shortcut settings copied"
|
||||
msgstr "Laster-teklen ezarpenak kopiatu dira"
|
||||
msgstr "Lasterbideen ezarpenak kopiatu dira"
|
||||
|
||||
#: src/components/shortcuts-settings.jsx:1050
|
||||
msgid "Unable to copy shortcut settings"
|
||||
msgstr "Ezin dira laster-teklen ezarpenak kopiatu"
|
||||
msgstr "Ezin dira lasterbideen ezarpenak kopiatu"
|
||||
|
||||
#: src/components/shortcuts-settings.jsx:1080
|
||||
msgid "Share"
|
||||
|
@ -1979,15 +1979,15 @@ msgstr "Partekatu"
|
|||
|
||||
#: src/components/shortcuts-settings.jsx:1119
|
||||
msgid "Saving shortcuts to instance server…"
|
||||
msgstr "Laster-teklak zerbitzarian gordetzen…"
|
||||
msgstr "Lasterbideak zerbitzarian gordetzen…"
|
||||
|
||||
#: src/components/shortcuts-settings.jsx:1126
|
||||
msgid "Shortcuts saved"
|
||||
msgstr "Laster-teklak gorde dira"
|
||||
msgstr "Lasterbideak gorde dira"
|
||||
|
||||
#: src/components/shortcuts-settings.jsx:1131
|
||||
msgid "Unable to save shortcuts"
|
||||
msgstr "Ezin dira laster-teklak gorde"
|
||||
msgstr "Ezin dira lasterbideak gorde"
|
||||
|
||||
#: src/components/shortcuts-settings.jsx:1134
|
||||
msgid "Sync to instance server"
|
||||
|
@ -1999,7 +1999,7 @@ msgstr "{0, plural, one {karaktere #} other {# karaktere}}"
|
|||
|
||||
#: src/components/shortcuts-settings.jsx:1154
|
||||
msgid "Raw Shortcuts JSON"
|
||||
msgstr "Laster-teklen JSON gordina"
|
||||
msgstr "Lasterbideen JSON gordina"
|
||||
|
||||
#: src/components/shortcuts-settings.jsx:1167
|
||||
msgid "Import/export settings from/to instance server (Very experimental)"
|
||||
|
@ -2306,13 +2306,21 @@ msgstr "Bidalketa berriak"
|
|||
msgid "Try again"
|
||||
msgstr "Saiatu berriro"
|
||||
|
||||
#: src/components/timeline.jsx:941
|
||||
#: src/components/timeline.jsx:948
|
||||
#: src/components/timeline.jsx:586
|
||||
msgid "{0, plural, one {# Boost} other {# Boosts}}"
|
||||
msgstr "{0, plural, one {Bultzada #} other {# bultzada}}"
|
||||
|
||||
#: src/components/timeline.jsx:591
|
||||
msgid "Pinned posts"
|
||||
msgstr "Finkatutako bidalketak"
|
||||
|
||||
#: src/components/timeline.jsx:944
|
||||
#: src/components/timeline.jsx:951
|
||||
#: src/pages/catchup.jsx:1876
|
||||
msgid "Thread"
|
||||
msgstr "Haria"
|
||||
|
||||
#: src/components/timeline.jsx:963
|
||||
#: src/components/timeline.jsx:966
|
||||
msgid "<0>Filtered</0>: <1>{0}</1>"
|
||||
msgstr "<0>Iragazita</0>: <1>{0}</1>"
|
||||
|
||||
|
@ -2963,19 +2971,19 @@ msgstr "Kendu traola"
|
|||
|
||||
#: src/pages/hashtag.jsx:442
|
||||
msgid "{SHORTCUTS_LIMIT, plural, one {Max # shortcut reached. Unable to add shortcut.} other {Max # shortcuts reached. Unable to add shortcut.}}"
|
||||
msgstr "{SHORTCUTS_LIMIT, plural, one {Gehienezko # laster-teklara iritsi zara. Ezin da laster-tekla gehitu.} other {Gehienezko # laster-teklatara iritsi zara. Ezin da laster-tekla gehitu.}}"
|
||||
msgstr "{SHORTCUTS_LIMIT, plural, one {Gehienezko lasterbidera (#) iritsi zara. Ezin da lasterbidea gehitu.} other {Gehienezko # lasterbideetara iritsi zara. Ezin da lasterbidea gehitu.}}"
|
||||
|
||||
#: src/pages/hashtag.jsx:471
|
||||
msgid "This shortcut already exists"
|
||||
msgstr "Laster-tekla badago lehendik ere"
|
||||
msgstr "Lasterbidea badago lehendik ere"
|
||||
|
||||
#: src/pages/hashtag.jsx:474
|
||||
msgid "Hashtag shortcut added"
|
||||
msgstr "Traolaren laster-tekla gehitu da"
|
||||
msgstr "Traolaren lasterbidea gehitu da"
|
||||
|
||||
#: src/pages/hashtag.jsx:480
|
||||
msgid "Add to Shortcuts"
|
||||
msgstr "Gehitu laster-tekletara"
|
||||
msgstr "Gehitu lasterbideetara"
|
||||
|
||||
#: src/pages/hashtag.jsx:486
|
||||
#: src/pages/public.jsx:139
|
||||
|
@ -3426,7 +3434,7 @@ msgstr "Alpha fasean dagoen ezaugarria. Taldekatzea hobetu lezake, baina oinarri
|
|||
|
||||
#: src/pages/settings.jsx:625
|
||||
msgid "\"Cloud\" import/export for shortcuts settings"
|
||||
msgstr "Laster-teklen hodeiko inportazio / esportazio ezarpenak"
|
||||
msgstr "Lasterbideen hodeiko inportazio / esportazio ezarpenak"
|
||||
|
||||
#: src/pages/settings.jsx:630
|
||||
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."
|
||||
|
@ -3507,7 +3515,7 @@ msgstr "edonor"
|
|||
|
||||
#: src/pages/settings.jsx:995
|
||||
msgid "people I follow"
|
||||
msgstr "jarraitzen dudan jendea"
|
||||
msgstr "jarraitzen diodan jendea"
|
||||
|
||||
#: src/pages/settings.jsx:999
|
||||
msgid "followers"
|
||||
|
|
647
src/locales/fa-IR.po
generated
647
src/locales/fa-IR.po
generated
File diff suppressed because it is too large
Load diff
24
src/locales/fi-FI.po
generated
24
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-09-01 11:50\n"
|
||||
"PO-Revision-Date: 2024-09-06 08:08\n"
|
||||
"Last-Translator: \n"
|
||||
"Language-Team: Finnish\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
|
@ -606,7 +606,7 @@ msgstr "Liite #{i} epäonnistui"
|
|||
|
||||
#: src/components/compose.jsx:1118
|
||||
#: src/components/status.jsx:1961
|
||||
#: src/components/timeline.jsx:979
|
||||
#: src/components/timeline.jsx:982
|
||||
msgid "Content warning"
|
||||
msgstr "Sisältövaroitus"
|
||||
|
||||
|
@ -849,13 +849,13 @@ msgstr "Hae GIF-kuvia kirjoittamalla"
|
|||
|
||||
#: src/components/compose.jsx:3454
|
||||
#: src/components/media-modal.jsx:387
|
||||
#: src/components/timeline.jsx:884
|
||||
#: src/components/timeline.jsx:887
|
||||
msgid "Previous"
|
||||
msgstr "Edellinen"
|
||||
|
||||
#: src/components/compose.jsx:3472
|
||||
#: src/components/media-modal.jsx:406
|
||||
#: src/components/timeline.jsx:901
|
||||
#: src/components/timeline.jsx:904
|
||||
msgid "Next"
|
||||
msgstr "Seuraava"
|
||||
|
||||
|
@ -1207,7 +1207,7 @@ msgstr "Suodatettu: {filterTitleStr}"
|
|||
#: src/components/status.jsx:3406
|
||||
#: src/components/status.jsx:3502
|
||||
#: src/components/status.jsx:3580
|
||||
#: src/components/timeline.jsx:968
|
||||
#: src/components/timeline.jsx:971
|
||||
#: src/pages/catchup.jsx:75
|
||||
#: src/pages/catchup.jsx:1859
|
||||
msgid "Filtered"
|
||||
|
@ -2306,13 +2306,21 @@ msgstr "Uudet julkaisut"
|
|||
msgid "Try again"
|
||||
msgstr "Yritä uudelleen"
|
||||
|
||||
#: src/components/timeline.jsx:941
|
||||
#: src/components/timeline.jsx:948
|
||||
#: src/components/timeline.jsx:586
|
||||
msgid "{0, plural, one {# Boost} other {# Boosts}}"
|
||||
msgstr "{0, plural, one {# tehostus} other {# tehostusta}}"
|
||||
|
||||
#: src/components/timeline.jsx:591
|
||||
msgid "Pinned posts"
|
||||
msgstr "Kiinnitetyt julkaisut"
|
||||
|
||||
#: src/components/timeline.jsx:944
|
||||
#: src/components/timeline.jsx:951
|
||||
#: src/pages/catchup.jsx:1876
|
||||
msgid "Thread"
|
||||
msgstr "Ketju"
|
||||
|
||||
#: src/components/timeline.jsx:963
|
||||
#: src/components/timeline.jsx:966
|
||||
msgid "<0>Filtered</0>: <1>{0}</1>"
|
||||
msgstr "<0>Suodatettu</0>: <1>{0}</1>"
|
||||
|
||||
|
|
515
src/locales/fr-FR.po
generated
515
src/locales/fr-FR.po
generated
File diff suppressed because it is too large
Load diff
459
src/locales/gl-ES.po
generated
459
src/locales/gl-ES.po
generated
File diff suppressed because it is too large
Load diff
24
src/locales/he-IL.po
generated
24
src/locales/he-IL.po
generated
|
@ -8,7 +8,7 @@ msgstr ""
|
|||
"Language: he\n"
|
||||
"Project-Id-Version: phanpy\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"PO-Revision-Date: 2024-08-31 22:48\n"
|
||||
"PO-Revision-Date: 2024-09-06 02:32\n"
|
||||
"Last-Translator: \n"
|
||||
"Language-Team: Hebrew\n"
|
||||
"Plural-Forms: nplurals=4; plural=n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n%100==4 ? 2 : 3;\n"
|
||||
|
@ -606,7 +606,7 @@ msgstr ""
|
|||
|
||||
#: src/components/compose.jsx:1118
|
||||
#: src/components/status.jsx:1961
|
||||
#: src/components/timeline.jsx:979
|
||||
#: src/components/timeline.jsx:982
|
||||
msgid "Content warning"
|
||||
msgstr ""
|
||||
|
||||
|
@ -849,13 +849,13 @@ msgstr ""
|
|||
|
||||
#: src/components/compose.jsx:3454
|
||||
#: src/components/media-modal.jsx:387
|
||||
#: src/components/timeline.jsx:884
|
||||
#: src/components/timeline.jsx:887
|
||||
msgid "Previous"
|
||||
msgstr ""
|
||||
|
||||
#: src/components/compose.jsx:3472
|
||||
#: src/components/media-modal.jsx:406
|
||||
#: src/components/timeline.jsx:901
|
||||
#: src/components/timeline.jsx:904
|
||||
msgid "Next"
|
||||
msgstr ""
|
||||
|
||||
|
@ -1207,7 +1207,7 @@ msgstr ""
|
|||
#: src/components/status.jsx:3406
|
||||
#: src/components/status.jsx:3502
|
||||
#: src/components/status.jsx:3580
|
||||
#: src/components/timeline.jsx:968
|
||||
#: src/components/timeline.jsx:971
|
||||
#: src/pages/catchup.jsx:75
|
||||
#: src/pages/catchup.jsx:1859
|
||||
msgid "Filtered"
|
||||
|
@ -2306,13 +2306,21 @@ msgstr ""
|
|||
msgid "Try again"
|
||||
msgstr ""
|
||||
|
||||
#: src/components/timeline.jsx:941
|
||||
#: src/components/timeline.jsx:948
|
||||
#: src/components/timeline.jsx:586
|
||||
msgid "{0, plural, one {# Boost} other {# Boosts}}"
|
||||
msgstr ""
|
||||
|
||||
#: src/components/timeline.jsx:591
|
||||
msgid "Pinned posts"
|
||||
msgstr ""
|
||||
|
||||
#: src/components/timeline.jsx:944
|
||||
#: src/components/timeline.jsx:951
|
||||
#: src/pages/catchup.jsx:1876
|
||||
msgid "Thread"
|
||||
msgstr ""
|
||||
|
||||
#: src/components/timeline.jsx:963
|
||||
#: src/components/timeline.jsx:966
|
||||
msgid "<0>Filtered</0>: <1>{0}</1>"
|
||||
msgstr ""
|
||||
|
||||
|
|
1633
src/locales/it-IT.po
generated
1633
src/locales/it-IT.po
generated
File diff suppressed because it is too large
Load diff
24
src/locales/ja-JP.po
generated
24
src/locales/ja-JP.po
generated
|
@ -8,7 +8,7 @@ msgstr ""
|
|||
"Language: ja\n"
|
||||
"Project-Id-Version: phanpy\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"PO-Revision-Date: 2024-08-31 15:33\n"
|
||||
"PO-Revision-Date: 2024-09-06 02:32\n"
|
||||
"Last-Translator: \n"
|
||||
"Language-Team: Japanese\n"
|
||||
"Plural-Forms: nplurals=1; plural=0;\n"
|
||||
|
@ -606,7 +606,7 @@ msgstr ""
|
|||
|
||||
#: src/components/compose.jsx:1118
|
||||
#: src/components/status.jsx:1961
|
||||
#: src/components/timeline.jsx:979
|
||||
#: src/components/timeline.jsx:982
|
||||
msgid "Content warning"
|
||||
msgstr ""
|
||||
|
||||
|
@ -849,13 +849,13 @@ msgstr ""
|
|||
|
||||
#: src/components/compose.jsx:3454
|
||||
#: src/components/media-modal.jsx:387
|
||||
#: src/components/timeline.jsx:884
|
||||
#: src/components/timeline.jsx:887
|
||||
msgid "Previous"
|
||||
msgstr "前へ"
|
||||
|
||||
#: src/components/compose.jsx:3472
|
||||
#: src/components/media-modal.jsx:406
|
||||
#: src/components/timeline.jsx:901
|
||||
#: src/components/timeline.jsx:904
|
||||
msgid "Next"
|
||||
msgstr "次へ"
|
||||
|
||||
|
@ -1207,7 +1207,7 @@ msgstr ""
|
|||
#: src/components/status.jsx:3406
|
||||
#: src/components/status.jsx:3502
|
||||
#: src/components/status.jsx:3580
|
||||
#: src/components/timeline.jsx:968
|
||||
#: src/components/timeline.jsx:971
|
||||
#: src/pages/catchup.jsx:75
|
||||
#: src/pages/catchup.jsx:1859
|
||||
msgid "Filtered"
|
||||
|
@ -2306,13 +2306,21 @@ msgstr ""
|
|||
msgid "Try again"
|
||||
msgstr ""
|
||||
|
||||
#: src/components/timeline.jsx:941
|
||||
#: src/components/timeline.jsx:948
|
||||
#: src/components/timeline.jsx:586
|
||||
msgid "{0, plural, one {# Boost} other {# Boosts}}"
|
||||
msgstr ""
|
||||
|
||||
#: src/components/timeline.jsx:591
|
||||
msgid "Pinned posts"
|
||||
msgstr ""
|
||||
|
||||
#: src/components/timeline.jsx:944
|
||||
#: src/components/timeline.jsx:951
|
||||
#: src/pages/catchup.jsx:1876
|
||||
msgid "Thread"
|
||||
msgstr "スレッド"
|
||||
|
||||
#: src/components/timeline.jsx:963
|
||||
#: src/components/timeline.jsx:966
|
||||
msgid "<0>Filtered</0>: <1>{0}</1>"
|
||||
msgstr ""
|
||||
|
||||
|
|
24
src/locales/kab.po
generated
24
src/locales/kab.po
generated
|
@ -8,7 +8,7 @@ msgstr ""
|
|||
"Language: kab\n"
|
||||
"Project-Id-Version: phanpy\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"PO-Revision-Date: 2024-09-02 07:56\n"
|
||||
"PO-Revision-Date: 2024-09-06 14:22\n"
|
||||
"Last-Translator: \n"
|
||||
"Language-Team: Kabyle\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
|
@ -606,7 +606,7 @@ msgstr "Amedday #{i} yecceḍ"
|
|||
|
||||
#: src/components/compose.jsx:1118
|
||||
#: src/components/status.jsx:1961
|
||||
#: src/components/timeline.jsx:979
|
||||
#: src/components/timeline.jsx:982
|
||||
msgid "Content warning"
|
||||
msgstr "Yir agbur"
|
||||
|
||||
|
@ -849,13 +849,13 @@ msgstr "Aru i unadi n GIFs"
|
|||
|
||||
#: src/components/compose.jsx:3454
|
||||
#: src/components/media-modal.jsx:387
|
||||
#: src/components/timeline.jsx:884
|
||||
#: src/components/timeline.jsx:887
|
||||
msgid "Previous"
|
||||
msgstr "Uzwir"
|
||||
|
||||
#: src/components/compose.jsx:3472
|
||||
#: src/components/media-modal.jsx:406
|
||||
#: src/components/timeline.jsx:901
|
||||
#: src/components/timeline.jsx:904
|
||||
msgid "Next"
|
||||
msgstr "Uḍfir"
|
||||
|
||||
|
@ -1207,7 +1207,7 @@ msgstr "Yettwasizdeg: {filterTitleStr}"
|
|||
#: src/components/status.jsx:3406
|
||||
#: src/components/status.jsx:3502
|
||||
#: src/components/status.jsx:3580
|
||||
#: src/components/timeline.jsx:968
|
||||
#: src/components/timeline.jsx:971
|
||||
#: src/pages/catchup.jsx:75
|
||||
#: src/pages/catchup.jsx:1859
|
||||
msgid "Filtered"
|
||||
|
@ -2306,13 +2306,21 @@ msgstr "Tisuffaɣ timaynutin"
|
|||
msgid "Try again"
|
||||
msgstr "Ɛreḍ tikkelt-nniḍen"
|
||||
|
||||
#: src/components/timeline.jsx:941
|
||||
#: src/components/timeline.jsx:948
|
||||
#: src/components/timeline.jsx:586
|
||||
msgid "{0, plural, one {# Boost} other {# Boosts}}"
|
||||
msgstr "{0, plural, one {# n uzuzer} other {# n yizurar}}"
|
||||
|
||||
#: src/components/timeline.jsx:591
|
||||
msgid "Pinned posts"
|
||||
msgstr "Tisuffaɣ yettwasenṭḍen"
|
||||
|
||||
#: src/components/timeline.jsx:944
|
||||
#: src/components/timeline.jsx:951
|
||||
#: src/pages/catchup.jsx:1876
|
||||
msgid "Thread"
|
||||
msgstr "Asqerdec"
|
||||
|
||||
#: src/components/timeline.jsx:963
|
||||
#: src/components/timeline.jsx:966
|
||||
msgid "<0>Filtered</0>: <1>{0}</1>"
|
||||
msgstr "<0>Yettwasizdeg</0>: <1>{0}</1>"
|
||||
|
||||
|
|
212
src/locales/ko-KR.po
generated
212
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-09-01 12:49\n"
|
||||
"PO-Revision-Date: 2024-09-06 02:32\n"
|
||||
"Last-Translator: \n"
|
||||
"Language-Team: Korean\n"
|
||||
"Plural-Forms: nplurals=1; plural=0;\n"
|
||||
|
@ -550,7 +550,7 @@ msgstr "저장되지 않은 변경 사항이 있습니다. 해당 게시물을
|
|||
#: src/components/compose.jsx:1328
|
||||
#: src/components/compose.jsx:1589
|
||||
msgid "{maxMediaAttachments, plural, one {You can only attach up to 1 file.} other {You can only attach up to # files.}}"
|
||||
msgstr ""
|
||||
msgstr "{maxMediaAttachments, plural, one {파일은 1개까지만 첨부할 수 있습니다.} other {파일은 #개 까지만 첨부할 수 있습니다.}}"
|
||||
|
||||
#: src/components/compose.jsx:778
|
||||
msgid "Pop out"
|
||||
|
@ -562,15 +562,15 @@ msgstr "최소화"
|
|||
|
||||
#: src/components/compose.jsx:821
|
||||
msgid "Looks like you closed the parent window."
|
||||
msgstr ""
|
||||
msgstr "Parent window를 닫으신거 같습니다."
|
||||
|
||||
#: src/components/compose.jsx:828
|
||||
msgid "Looks like you already have a compose field open in the parent window and currently publishing. Please wait for it to be done and try again later."
|
||||
msgstr ""
|
||||
msgstr "Parent window에 이미 작성 필드가 열려 있고 현재 게시 중인 것 같습니다. 완료될 때까지 기다렸다가 나중에 다시 시도하세요."
|
||||
|
||||
#: src/components/compose.jsx:833
|
||||
msgid "Looks like you already have a compose field open in the parent window. Popping in this window will discard the changes you made in the parent window. Continue?"
|
||||
msgstr ""
|
||||
msgstr "Parent window에 이미 작성 필드가 열려 있는 것 같습니다. 이 창을 열면 Parent window에서 변경한 내용이 취소됩니다. 계속하시겠습니까?"
|
||||
|
||||
#: src/components/compose.jsx:875
|
||||
msgid "Pop in"
|
||||
|
@ -606,7 +606,7 @@ msgstr "첨부 파일 #{i} 실패"
|
|||
|
||||
#: src/components/compose.jsx:1118
|
||||
#: src/components/status.jsx:1961
|
||||
#: src/components/timeline.jsx:979
|
||||
#: src/components/timeline.jsx:982
|
||||
msgid "Content warning"
|
||||
msgstr "열람 주의"
|
||||
|
||||
|
@ -849,13 +849,13 @@ msgstr "움짤을 검색하려면 입력하세요"
|
|||
|
||||
#: src/components/compose.jsx:3454
|
||||
#: src/components/media-modal.jsx:387
|
||||
#: src/components/timeline.jsx:884
|
||||
#: src/components/timeline.jsx:887
|
||||
msgid "Previous"
|
||||
msgstr "이전"
|
||||
|
||||
#: src/components/compose.jsx:3472
|
||||
#: src/components/media-modal.jsx:406
|
||||
#: src/components/timeline.jsx:901
|
||||
#: src/components/timeline.jsx:904
|
||||
msgid "Next"
|
||||
msgstr "다음"
|
||||
|
||||
|
@ -1201,13 +1201,13 @@ msgstr "민감한 매체"
|
|||
|
||||
#: src/components/media-post.jsx:132
|
||||
msgid "Filtered: {filterTitleStr}"
|
||||
msgstr ""
|
||||
msgstr "필터됨: {filterTitleStr}"
|
||||
|
||||
#: src/components/media-post.jsx:133
|
||||
#: src/components/status.jsx:3406
|
||||
#: src/components/status.jsx:3502
|
||||
#: src/components/status.jsx:3580
|
||||
#: src/components/timeline.jsx:968
|
||||
#: src/components/timeline.jsx:971
|
||||
#: src/pages/catchup.jsx:75
|
||||
#: src/pages/catchup.jsx:1859
|
||||
msgid "Filtered"
|
||||
|
@ -1448,15 +1448,15 @@ msgstr "조정 경고"
|
|||
|
||||
#: src/components/notification.jsx:267
|
||||
msgid "An admin from <0>{from}</0> has suspended <1>{targetName}</1>, which means you can no longer receive updates from them or interact with them."
|
||||
msgstr ""
|
||||
msgstr "<0>{from}</0> 의 관리자가 <1>{targetName}</1> 를 일시 중단하였습니다, 이는 더 이상 업데이트를 받거나 상호 작용할 수 없다는 의미입니다."
|
||||
|
||||
#: src/components/notification.jsx:273
|
||||
msgid "An admin from <0>{from}</0> has blocked <1>{targetName}</1>. Affected followers: {followersCount}, followings: {followingCount}."
|
||||
msgstr ""
|
||||
msgstr "<0>{from}</0>의 관리자가 <1>{targetName}</1>를 차단하였습니다. 영향을 받는 팔로워: {followersCount}, 팔로잉: {followingCount}."
|
||||
|
||||
#: src/components/notification.jsx:279
|
||||
msgid "You have blocked <0>{targetName}</0>. Removed followers: {followersCount}, followings: {followingCount}."
|
||||
msgstr ""
|
||||
msgstr "당신은 <0>{targetName}</0>를 차단하였습니다. 제거된 팔로워: {followersCount}, 팔로잉: {followingCount}."
|
||||
|
||||
#: src/components/notification.jsx:287
|
||||
msgid "Your account has received a moderation warning."
|
||||
|
@ -1524,7 +1524,7 @@ msgstr "투표함"
|
|||
|
||||
#: src/components/poll.jsx:116
|
||||
msgid "{optionVotesCount, plural, one {# vote} other {# votes}}"
|
||||
msgstr ""
|
||||
msgstr "{optionVotesCount, plural, one {# vote} other {# votes}}"
|
||||
|
||||
#: src/components/poll.jsx:136
|
||||
#: src/components/poll.jsx:219
|
||||
|
@ -1697,23 +1697,23 @@ msgstr "신고 <0>및 프로필 차단</0>"
|
|||
|
||||
#: src/components/search-form.jsx:202
|
||||
msgid "{query} <0>‒ accounts, hashtags & posts</0>"
|
||||
msgstr ""
|
||||
msgstr "{query} <0>‒ 계정, 해시태그 & 포스트</0>"
|
||||
|
||||
#: src/components/search-form.jsx:215
|
||||
msgid "Posts with <0>{query}</0>"
|
||||
msgstr ""
|
||||
msgstr "<0>{query}</0>이/가 포함된 게시물"
|
||||
|
||||
#: src/components/search-form.jsx:227
|
||||
msgid "Posts tagged with <0>#{0}</0>"
|
||||
msgstr ""
|
||||
msgstr "<0>#{0}</0>로 태그된 게시물"
|
||||
|
||||
#: src/components/search-form.jsx:241
|
||||
msgid "Look up <0>{query}</0>"
|
||||
msgstr ""
|
||||
msgstr "<0>{query}</0> 찾기"
|
||||
|
||||
#: src/components/search-form.jsx:252
|
||||
msgid "Accounts with <0>{query}</0>"
|
||||
msgstr ""
|
||||
msgstr "<0>{query}</0>이/가 포함된 계정"
|
||||
|
||||
#: src/components/shortcuts-settings.jsx:48
|
||||
msgid "Home / Following"
|
||||
|
@ -1721,7 +1721,7 @@ msgstr "홈·팔로잉"
|
|||
|
||||
#: src/components/shortcuts-settings.jsx:51
|
||||
msgid "Public (Local / Federated)"
|
||||
msgstr ""
|
||||
msgstr "공개(로컬/연합)"
|
||||
|
||||
#: src/components/shortcuts-settings.jsx:53
|
||||
msgid "Account"
|
||||
|
@ -1737,7 +1737,7 @@ msgstr "리스트 ID"
|
|||
|
||||
#: src/components/shortcuts-settings.jsx:70
|
||||
msgid "Local only"
|
||||
msgstr ""
|
||||
msgstr "로컬만"
|
||||
|
||||
#: src/components/shortcuts-settings.jsx:75
|
||||
#: src/components/shortcuts-settings.jsx:84
|
||||
|
@ -1814,7 +1814,7 @@ msgstr "고치기"
|
|||
|
||||
#: src/components/shortcuts-settings.jsx:397
|
||||
msgid "Add more than one shortcut/column to make this work."
|
||||
msgstr ""
|
||||
msgstr "바로 가기/열을 두 개 이상 추가하여 작동하도록 합니다."
|
||||
|
||||
#: src/components/shortcuts-settings.jsx:408
|
||||
msgid "No columns yet. Tap on the Add column button."
|
||||
|
@ -1854,11 +1854,11 @@ msgstr ""
|
|||
|
||||
#: src/components/shortcuts-settings.jsx:514
|
||||
msgid "For multi-column mode, search term is required, else the column will not be shown."
|
||||
msgstr ""
|
||||
msgstr "멀티 칼럼 모드의 경우 검색어가 필수이며, 그렇지 않으면 칼럼이 표시되지 않습니다."
|
||||
|
||||
#: src/components/shortcuts-settings.jsx:515
|
||||
msgid "Multiple hashtags are supported. Space-separated."
|
||||
msgstr ""
|
||||
msgstr "멀티 해시태그가 지원됩니다. (띄어쓰기로 구분)"
|
||||
|
||||
#: src/components/shortcuts-settings.jsx:584
|
||||
msgid "Edit shortcut"
|
||||
|
@ -1898,7 +1898,7 @@ msgstr "바로 가기 받을 수 없음"
|
|||
|
||||
#: src/components/shortcuts-settings.jsx:851
|
||||
msgid "Download shortcuts from instance server"
|
||||
msgstr ""
|
||||
msgstr "인스턴스 서버에서 바로 가기 받기"
|
||||
|
||||
#: src/components/shortcuts-settings.jsx:909
|
||||
msgid "* Exists in current shortcuts"
|
||||
|
@ -1922,7 +1922,7 @@ msgstr ""
|
|||
|
||||
#: src/components/shortcuts-settings.jsx:957
|
||||
msgid "No new shortcuts to import"
|
||||
msgstr ""
|
||||
msgstr "가져올 바로가기가 없습니다"
|
||||
|
||||
#: src/components/shortcuts-settings.jsx:972
|
||||
msgid "Shortcuts imported. Exceeded max {SHORTCUTS_LIMIT}, so the rest are not imported."
|
||||
|
@ -1931,7 +1931,7 @@ msgstr "바로 가기를 가져왔습니다. 최다치인 {SHORTCUTS_LIMIT}개
|
|||
#: src/components/shortcuts-settings.jsx:973
|
||||
#: src/components/shortcuts-settings.jsx:997
|
||||
msgid "Shortcuts imported"
|
||||
msgstr ""
|
||||
msgstr "바로가기 복사됨"
|
||||
|
||||
#: src/components/shortcuts-settings.jsx:983
|
||||
msgid "Import & append…"
|
||||
|
@ -1939,7 +1939,7 @@ msgstr "가져와서 덧붙이기…"
|
|||
|
||||
#: src/components/shortcuts-settings.jsx:991
|
||||
msgid "Override current shortcuts?"
|
||||
msgstr ""
|
||||
msgstr "현재 바로가기를 덮어쓸까요?"
|
||||
|
||||
#: src/components/shortcuts-settings.jsx:992
|
||||
msgid "Import shortcuts?"
|
||||
|
@ -2306,13 +2306,21 @@ msgstr "새 게시물"
|
|||
msgid "Try again"
|
||||
msgstr "재시도"
|
||||
|
||||
#: src/components/timeline.jsx:941
|
||||
#: src/components/timeline.jsx:948
|
||||
#: src/components/timeline.jsx:586
|
||||
msgid "{0, plural, one {# Boost} other {# Boosts}}"
|
||||
msgstr ""
|
||||
|
||||
#: src/components/timeline.jsx:591
|
||||
msgid "Pinned posts"
|
||||
msgstr ""
|
||||
|
||||
#: src/components/timeline.jsx:944
|
||||
#: src/components/timeline.jsx:951
|
||||
#: src/pages/catchup.jsx:1876
|
||||
msgid "Thread"
|
||||
msgstr "글타래"
|
||||
|
||||
#: src/components/timeline.jsx:963
|
||||
#: src/components/timeline.jsx:966
|
||||
msgid "<0>Filtered</0>: <1>{0}</1>"
|
||||
msgstr "<0>필터됨</0>: <1>{0}</1>"
|
||||
|
||||
|
@ -2342,7 +2350,7 @@ msgstr "번역 실패"
|
|||
|
||||
#: src/compose.jsx:32
|
||||
msgid "Editing source status"
|
||||
msgstr ""
|
||||
msgstr "소스 상태 고치기"
|
||||
|
||||
#: src/compose.jsx:34
|
||||
msgid "Replying to @{0}"
|
||||
|
@ -2358,7 +2366,7 @@ msgstr "창 닫기"
|
|||
|
||||
#: src/compose.jsx:86
|
||||
msgid "Login required."
|
||||
msgstr ""
|
||||
msgstr "로그인이 필요합니다."
|
||||
|
||||
#: src/compose.jsx:90
|
||||
#: src/pages/http-route.jsx:91
|
||||
|
@ -2368,7 +2376,7 @@ msgstr "홈 가기"
|
|||
|
||||
#: src/pages/account-statuses.jsx:233
|
||||
msgid "Account posts"
|
||||
msgstr ""
|
||||
msgstr "계정 게시물"
|
||||
|
||||
#: src/pages/account-statuses.jsx:240
|
||||
msgid "{accountDisplay} (+ Replies)"
|
||||
|
@ -2380,15 +2388,15 @@ msgstr "{accountDisplay} (- 부스트)"
|
|||
|
||||
#: src/pages/account-statuses.jsx:244
|
||||
msgid "{accountDisplay} (#{tagged})"
|
||||
msgstr ""
|
||||
msgstr "{accountDisplay} (#{tagged})"
|
||||
|
||||
#: src/pages/account-statuses.jsx:246
|
||||
msgid "{accountDisplay} (Media)"
|
||||
msgstr ""
|
||||
msgstr "{accountDisplay} (매체)"
|
||||
|
||||
#: src/pages/account-statuses.jsx:252
|
||||
msgid "{accountDisplay} ({monthYear})"
|
||||
msgstr ""
|
||||
msgstr "{accountDisplay} ({monthYear})"
|
||||
|
||||
#: src/pages/account-statuses.jsx:321
|
||||
msgid "Clear filters"
|
||||
|
@ -2396,7 +2404,7 @@ msgstr "필터 초기화"
|
|||
|
||||
#: src/pages/account-statuses.jsx:324
|
||||
msgid "Clear"
|
||||
msgstr ""
|
||||
msgstr "초기화"
|
||||
|
||||
#: src/pages/account-statuses.jsx:338
|
||||
msgid "Showing post with replies"
|
||||
|
@ -2416,15 +2424,15 @@ msgstr "- 부스트"
|
|||
|
||||
#: src/pages/account-statuses.jsx:360
|
||||
msgid "Showing posts with media"
|
||||
msgstr ""
|
||||
msgstr "매체와 함께 게시글 보여주기"
|
||||
|
||||
#: src/pages/account-statuses.jsx:377
|
||||
msgid "Showing posts tagged with #{0}"
|
||||
msgstr ""
|
||||
msgstr "#{0} 으로 태그된 게시물 보여주기"
|
||||
|
||||
#: src/pages/account-statuses.jsx:416
|
||||
msgid "Showing posts in {0}"
|
||||
msgstr ""
|
||||
msgstr "{0} 에서 게시글 보여주기"
|
||||
|
||||
#: src/pages/account-statuses.jsx:505
|
||||
msgid "Nothing to see here yet."
|
||||
|
@ -2451,7 +2459,7 @@ msgstr "내 인스턴스로 전환 (<0>{currentInstance}</0>)"
|
|||
|
||||
#: src/pages/account-statuses.jsx:646
|
||||
msgid "Month"
|
||||
msgstr ""
|
||||
msgstr "월"
|
||||
|
||||
#: src/pages/accounts.jsx:55
|
||||
msgid "Current"
|
||||
|
@ -2467,7 +2475,7 @@ msgstr "이 계정으로 전환"
|
|||
|
||||
#: src/pages/accounts.jsx:132
|
||||
msgid "Switch in new tab/window"
|
||||
msgstr ""
|
||||
msgstr "새 탭/창으로 변경하기"
|
||||
|
||||
#: src/pages/accounts.jsx:146
|
||||
msgid "View profile…"
|
||||
|
@ -2479,7 +2487,7 @@ msgstr "기본 계정으로 삼기"
|
|||
|
||||
#: src/pages/accounts.jsx:173
|
||||
msgid "Log out <0>@{0}</0>?"
|
||||
msgstr ""
|
||||
msgstr "로그아웃 <0>@{0}</0>?"
|
||||
|
||||
#: src/pages/accounts.jsx:196
|
||||
msgid "Log out…"
|
||||
|
@ -2495,7 +2503,7 @@ msgstr "참고: <0>기본 계정</0>은 언제나 가장 먼저 뜹니다. 교
|
|||
|
||||
#: src/pages/bookmarks.jsx:25
|
||||
msgid "No bookmarks yet. Go bookmark something!"
|
||||
msgstr ""
|
||||
msgstr "아직 북마크한 것이 없습니다. 북마크 하나 해보세요!"
|
||||
|
||||
#: src/pages/bookmarks.jsx:26
|
||||
msgid "Unable to load bookmarks."
|
||||
|
@ -2555,11 +2563,11 @@ msgstr "12시간 이상"
|
|||
|
||||
#: src/pages/catchup.jsx:73
|
||||
msgid "Followed tags"
|
||||
msgstr ""
|
||||
msgstr "팔로우한 태그"
|
||||
|
||||
#: src/pages/catchup.jsx:74
|
||||
msgid "Groups"
|
||||
msgstr ""
|
||||
msgstr "그룹"
|
||||
|
||||
#: src/pages/catchup.jsx:596
|
||||
msgid "Showing {selectedFilterCategory, select, all {all posts} original {original posts} replies {replies} boosts {boosts} followedTags {followed tags} groups {groups} filtered {filtered posts}}, {sortBy, select, createdAt {{sortOrder, select, asc {oldest} desc {latest}}} reblogsCount {{sortOrder, select, asc {fewest boosts} desc {most boosts}}} favouritesCount {{sortOrder, select, asc {fewest likes} desc {most likes}}} repliesCount {{sortOrder, select, asc {fewest replies} desc {most replies}}} density {{sortOrder, select, asc {least dense} desc {most dense}}}} first{groupBy, select, account {, grouped by authors} other {}}"
|
||||
|
@ -2654,13 +2662,13 @@ msgstr "인기 링크"
|
|||
|
||||
#: src/pages/catchup.jsx:1260
|
||||
msgid "Shared by {0}"
|
||||
msgstr ""
|
||||
msgstr "{0} 이 공유함"
|
||||
|
||||
#: src/pages/catchup.jsx:1299
|
||||
#: src/pages/mentions.jsx:147
|
||||
#: src/pages/search.jsx:222
|
||||
msgid "All"
|
||||
msgstr ""
|
||||
msgstr "전체"
|
||||
|
||||
#: src/pages/catchup.jsx:1384
|
||||
msgid "{0, plural, one {# author} other {# authors}}"
|
||||
|
@ -2736,15 +2744,15 @@ msgstr "맨 위로"
|
|||
|
||||
#: src/pages/catchup.jsx:1858
|
||||
msgid "Filtered: {0}"
|
||||
msgstr ""
|
||||
msgstr "필터됨: {0}"
|
||||
|
||||
#: src/pages/favourites.jsx:25
|
||||
msgid "No likes yet. Go like something!"
|
||||
msgstr ""
|
||||
msgstr "아직 좋아요가 없습니다. 좋아요를 눌러보세요!"
|
||||
|
||||
#: src/pages/favourites.jsx:26
|
||||
msgid "Unable to load likes."
|
||||
msgstr ""
|
||||
msgstr "좋아요를 불러올 수 없음"
|
||||
|
||||
#: src/pages/filters.jsx:23
|
||||
msgid "Home and lists"
|
||||
|
@ -2752,7 +2760,7 @@ msgstr "홈 및 리스트"
|
|||
|
||||
#: src/pages/filters.jsx:25
|
||||
msgid "Public timelines"
|
||||
msgstr ""
|
||||
msgstr "공개 타임라인"
|
||||
|
||||
#: src/pages/filters.jsx:26
|
||||
msgid "Conversations"
|
||||
|
@ -2764,7 +2772,7 @@ msgstr "프로필"
|
|||
|
||||
#: src/pages/filters.jsx:42
|
||||
msgid "Never"
|
||||
msgstr ""
|
||||
msgstr "안 함"
|
||||
|
||||
#: src/pages/filters.jsx:103
|
||||
#: src/pages/filters.jsx:228
|
||||
|
@ -2777,7 +2785,7 @@ msgstr ""
|
|||
|
||||
#: src/pages/filters.jsx:166
|
||||
msgid "Unable to load filters."
|
||||
msgstr ""
|
||||
msgstr "필터를 로드할 수 없음."
|
||||
|
||||
#: src/pages/filters.jsx:170
|
||||
msgid "No filters yet."
|
||||
|
@ -2785,7 +2793,7 @@ msgstr "아직 아무 필터도 없습니다."
|
|||
|
||||
#: src/pages/filters.jsx:177
|
||||
msgid "Add filter"
|
||||
msgstr ""
|
||||
msgstr "필터 추가"
|
||||
|
||||
#: src/pages/filters.jsx:228
|
||||
msgid "Edit filter"
|
||||
|
@ -2821,7 +2829,7 @@ msgstr "{0, plural, other {검색어 #개}}"
|
|||
|
||||
#: src/pages/filters.jsx:466
|
||||
msgid "Filter from…"
|
||||
msgstr ""
|
||||
msgstr "…로 부터 필터"
|
||||
|
||||
#: src/pages/filters.jsx:492
|
||||
msgid "* Not implemented yet"
|
||||
|
@ -2837,7 +2845,7 @@ msgstr "만기 변경"
|
|||
|
||||
#: src/pages/filters.jsx:507
|
||||
msgid "Expiry"
|
||||
msgstr ""
|
||||
msgstr "만기"
|
||||
|
||||
#: src/pages/filters.jsx:526
|
||||
msgid "Filtered post will be…"
|
||||
|
@ -2861,7 +2869,7 @@ msgstr "필터를 지울 수 없습니다."
|
|||
|
||||
#: src/pages/filters.jsx:608
|
||||
msgid "Expired"
|
||||
msgstr ""
|
||||
msgstr "만료됨"
|
||||
|
||||
#: src/pages/filters.jsx:610
|
||||
msgid "Expiring <0/>"
|
||||
|
@ -2869,7 +2877,7 @@ msgstr "<0/> 만료됨"
|
|||
|
||||
#: src/pages/filters.jsx:614
|
||||
msgid "Never expires"
|
||||
msgstr ""
|
||||
msgstr "만기 없음"
|
||||
|
||||
#: src/pages/followed-hashtags.jsx:70
|
||||
msgid "{0, plural, one {# hashtag} other {# hashtags}}"
|
||||
|
@ -2918,7 +2926,7 @@ msgstr "해당 태그를 포함한 게시물을 불러올 수 없습니다"
|
|||
|
||||
#: src/pages/hashtag.jsx:208
|
||||
msgid "Unfollow #{hashtag}?"
|
||||
msgstr ""
|
||||
msgstr "#{hashtag} 를 그만 팔로우할까요?"
|
||||
|
||||
#: src/pages/hashtag.jsx:223
|
||||
msgid "Unfollowed #{hashtag}"
|
||||
|
@ -2934,11 +2942,11 @@ msgstr "팔로잉…"
|
|||
|
||||
#: src/pages/hashtag.jsx:282
|
||||
msgid "Unfeatured on profile"
|
||||
msgstr ""
|
||||
msgstr "프로필에 표시되지 않음"
|
||||
|
||||
#: src/pages/hashtag.jsx:296
|
||||
msgid "Unable to unfeature on profile"
|
||||
msgstr ""
|
||||
msgstr "프로필에 표시되지 않음 기능을 사용할 수 없습니다."
|
||||
|
||||
#: src/pages/hashtag.jsx:305
|
||||
#: src/pages/hashtag.jsx:321
|
||||
|
@ -3049,11 +3057,11 @@ msgstr "아직 아무 리스트도 없습니다."
|
|||
#: src/pages/login.jsx:86
|
||||
#: src/pages/login.jsx:99
|
||||
msgid "Failed to register application"
|
||||
msgstr ""
|
||||
msgstr "앱 등록에 실패함"
|
||||
|
||||
#: src/pages/login.jsx:185
|
||||
msgid "instance domain"
|
||||
msgstr ""
|
||||
msgstr "인스턴스 도메인"
|
||||
|
||||
#: src/pages/login.jsx:209
|
||||
msgid "e.g. “mastodon.social”"
|
||||
|
@ -3101,7 +3109,7 @@ msgstr "날 팔로하지 않는 사람"
|
|||
|
||||
#: src/pages/notifications.jsx:99
|
||||
msgid "With a new account"
|
||||
msgstr ""
|
||||
msgstr "새 계정으로"
|
||||
|
||||
#: src/pages/notifications.jsx:100
|
||||
msgid "Who unsolicitedly private mention you"
|
||||
|
@ -3109,7 +3117,7 @@ msgstr ""
|
|||
|
||||
#: src/pages/notifications.jsx:101
|
||||
msgid "Who are limited by server moderators"
|
||||
msgstr ""
|
||||
msgstr "모더레이터를 통해 제한된 유저"
|
||||
|
||||
#: src/pages/notifications.jsx:523
|
||||
#: src/pages/notifications.jsx:844
|
||||
|
@ -3167,11 +3175,11 @@ msgstr "다음 사용자로부터 알림을 제외:"
|
|||
|
||||
#: src/pages/notifications.jsx:893
|
||||
msgid "Filter"
|
||||
msgstr ""
|
||||
msgstr "필터"
|
||||
|
||||
#: src/pages/notifications.jsx:896
|
||||
msgid "Ignore"
|
||||
msgstr ""
|
||||
msgstr "무시"
|
||||
|
||||
#: src/pages/notifications.jsx:969
|
||||
msgid "Updated <0>{0}</0>"
|
||||
|
@ -3179,15 +3187,15 @@ msgstr "<0>{0}</0> 업데이트됨"
|
|||
|
||||
#: src/pages/notifications.jsx:1037
|
||||
msgid "View notifications from <0>@{0}</0>"
|
||||
msgstr ""
|
||||
msgstr "<0>@{0}</0> 로부터 받은 알림 보기"
|
||||
|
||||
#: src/pages/notifications.jsx:1058
|
||||
msgid "Notifications from <0>@{0}</0>"
|
||||
msgstr ""
|
||||
msgstr "<0>@{0}</0> 로부터 받은 알림"
|
||||
|
||||
#: src/pages/notifications.jsx:1125
|
||||
msgid "Notifications from @{0} will not be filtered from now on."
|
||||
msgstr ""
|
||||
msgstr "<0>@{0}</0> 로부터 받은 알림은 이제부터 필터링되지 않습니다."
|
||||
|
||||
#: src/pages/notifications.jsx:1130
|
||||
msgid "Unable to accept notification request"
|
||||
|
@ -3195,7 +3203,7 @@ msgstr ""
|
|||
|
||||
#: src/pages/notifications.jsx:1135
|
||||
msgid "Allow"
|
||||
msgstr ""
|
||||
msgstr "수락"
|
||||
|
||||
#: src/pages/notifications.jsx:1155
|
||||
msgid "Notifications from @{0} will not show up in Filtered notifications from now on."
|
||||
|
@ -3203,7 +3211,7 @@ msgstr ""
|
|||
|
||||
#: src/pages/notifications.jsx:1160
|
||||
msgid "Unable to dismiss notification request"
|
||||
msgstr ""
|
||||
msgstr "알림 요청을 해제할 수 없습니다."
|
||||
|
||||
#: src/pages/notifications.jsx:1165
|
||||
msgid "Dismiss"
|
||||
|
@ -3215,47 +3223,47 @@ msgstr "닫힘"
|
|||
|
||||
#: src/pages/public.jsx:27
|
||||
msgid "Local timeline ({instance})"
|
||||
msgstr ""
|
||||
msgstr "로컬 타임라인 ({instance})"
|
||||
|
||||
#: src/pages/public.jsx:28
|
||||
msgid "Federated timeline ({instance})"
|
||||
msgstr ""
|
||||
msgstr "연합 타임라인 ({instance})"
|
||||
|
||||
#: src/pages/public.jsx:90
|
||||
msgid "Local timeline"
|
||||
msgstr ""
|
||||
msgstr "로컬 타임라인"
|
||||
|
||||
#: src/pages/public.jsx:90
|
||||
msgid "Federated timeline"
|
||||
msgstr ""
|
||||
msgstr "연합 타임라인"
|
||||
|
||||
#: src/pages/public.jsx:96
|
||||
msgid "No one has posted anything yet."
|
||||
msgstr ""
|
||||
msgstr "아직 아무도 게시물을 쓰지 않았습니다."
|
||||
|
||||
#: src/pages/public.jsx:123
|
||||
msgid "Switch to Federated"
|
||||
msgstr ""
|
||||
msgstr "연합으로 변경하기"
|
||||
|
||||
#: src/pages/public.jsx:130
|
||||
msgid "Switch to Local"
|
||||
msgstr ""
|
||||
msgstr "로컬로 변경하기"
|
||||
|
||||
#: src/pages/search.jsx:43
|
||||
msgid "Search: {q} (Posts)"
|
||||
msgstr ""
|
||||
msgstr "검색: {q} (게시물)"
|
||||
|
||||
#: src/pages/search.jsx:46
|
||||
msgid "Search: {q} (Accounts)"
|
||||
msgstr ""
|
||||
msgstr "검색: {q} (계정)"
|
||||
|
||||
#: src/pages/search.jsx:49
|
||||
msgid "Search: {q} (Hashtags)"
|
||||
msgstr ""
|
||||
msgstr "검색: {q} (해시태그)"
|
||||
|
||||
#: src/pages/search.jsx:52
|
||||
msgid "Search: {q}"
|
||||
msgstr ""
|
||||
msgstr "검색: {q}"
|
||||
|
||||
#: src/pages/search.jsx:232
|
||||
#: src/pages/search.jsx:314
|
||||
|
@ -3426,7 +3434,7 @@ msgstr "알파 단계 기능입니다. 묶음의 크기가 커질 수도 있지
|
|||
|
||||
#: src/pages/settings.jsx:625
|
||||
msgid "\"Cloud\" import/export for shortcuts settings"
|
||||
msgstr ""
|
||||
msgstr "바로 가기 설정을 위해 \"클라우드\" 가져오기/내보내기"
|
||||
|
||||
#: src/pages/settings.jsx:630
|
||||
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."
|
||||
|
@ -3434,7 +3442,7 @@ msgstr ""
|
|||
|
||||
#: src/pages/settings.jsx:641
|
||||
msgid "Note: This feature uses currently-logged-in instance server API."
|
||||
msgstr ""
|
||||
msgstr "알림: 이 기능은 현재 로그인한 인스턴스 서버 API를 사용합니다."
|
||||
|
||||
#: src/pages/settings.jsx:658
|
||||
msgid "Cloak mode <0>(<1>Text</1> → <2>████</2>)</0>"
|
||||
|
@ -3487,7 +3495,7 @@ msgstr "구독을 갱신하는 데 실패했습니다. 다시 시도해 보세
|
|||
|
||||
#: src/pages/settings.jsx:944
|
||||
msgid "Failed to remove subscription. Please try again."
|
||||
msgstr ""
|
||||
msgstr "구독을 삭제하는 데 실패했습니다. 다시 시도하세요."
|
||||
|
||||
#: src/pages/settings.jsx:951
|
||||
msgid "Push Notifications (beta)"
|
||||
|
@ -3495,7 +3503,7 @@ msgstr "푸시 알림 (베타)"
|
|||
|
||||
#: src/pages/settings.jsx:973
|
||||
msgid "Push notifications are blocked. Please enable them in your browser settings."
|
||||
msgstr ""
|
||||
msgstr "푸시 알림이 차단되었습니다. 브라우저 설정에서 푸시 알림을 활성화하세요."
|
||||
|
||||
#: src/pages/settings.jsx:982
|
||||
msgid "Allow from <0>{0}</0>"
|
||||
|
@ -3527,7 +3535,7 @@ msgstr "게시물 수정"
|
|||
|
||||
#: src/pages/settings.jsx:1065
|
||||
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 ""
|
||||
msgstr "마지막 로그인 이후 푸시 권한이 부여되지 않았습니다. <0>푸시 권한을 다시 얻으려면<1>로그인</1>을</0>해야합니다."
|
||||
|
||||
#: src/pages/settings.jsx:1081
|
||||
msgid "NOTE: Push notifications only work for <0>one account</0>."
|
||||
|
@ -3539,19 +3547,19 @@ msgstr "게시물"
|
|||
|
||||
#: src/pages/status.jsx:786
|
||||
msgid "You're not logged in. Interactions (reply, boost, etc) are not possible."
|
||||
msgstr ""
|
||||
msgstr "로그인하지 않았습니다. 상호작용(댓글, 부스트 등) 은 불가능합니다."
|
||||
|
||||
#: src/pages/status.jsx:799
|
||||
msgid "This post is from another instance (<0>{instance}</0>). Interactions (reply, boost, etc) are not possible."
|
||||
msgstr ""
|
||||
msgstr "이 게시글은 다른 인스턴스 (<0>{instance}</0>) 에서 작성돠었습니다. 상호작용(댓글, 부스트 등) 은 불가능합니다."
|
||||
|
||||
#: src/pages/status.jsx:827
|
||||
msgid "Error: {e}"
|
||||
msgstr ""
|
||||
msgstr "오류: {e}"
|
||||
|
||||
#: src/pages/status.jsx:834
|
||||
msgid "Switch to my instance to enable interactions"
|
||||
msgstr ""
|
||||
msgstr "내 인스턴스를 변경해 상호작용을 활성화시키기"
|
||||
|
||||
#: src/pages/status.jsx:936
|
||||
msgid "Unable to load replies."
|
||||
|
@ -3576,15 +3584,15 @@ msgstr ""
|
|||
|
||||
#: src/pages/status.jsx:1209
|
||||
msgid "Switch to Full view"
|
||||
msgstr ""
|
||||
msgstr "전체 화면으로 전환"
|
||||
|
||||
#: src/pages/status.jsx:1227
|
||||
msgid "Show all sensitive content"
|
||||
msgstr ""
|
||||
msgstr "모든 민감한 내용 보기"
|
||||
|
||||
#: src/pages/status.jsx:1232
|
||||
msgid "Experimental"
|
||||
msgstr ""
|
||||
msgstr "시범적"
|
||||
|
||||
#: src/pages/status.jsx:1241
|
||||
msgid "Unable to switch"
|
||||
|
@ -3688,7 +3696,7 @@ msgstr ""
|
|||
|
||||
#: src/pages/welcome.jsx:160
|
||||
msgid "Grouped notifications"
|
||||
msgstr ""
|
||||
msgstr "그룹 알림"
|
||||
|
||||
#: src/pages/welcome.jsx:163
|
||||
msgid "Similar notifications are grouped and collapsed to reduce clutter."
|
||||
|
@ -3696,7 +3704,7 @@ msgstr ""
|
|||
|
||||
#: src/pages/welcome.jsx:172
|
||||
msgid "Screenshot of multi-column UI"
|
||||
msgstr ""
|
||||
msgstr "멀티 칼럼 UI 스크린샷"
|
||||
|
||||
#: src/pages/welcome.jsx:176
|
||||
msgid "Single or multi-column"
|
||||
|
@ -3708,7 +3716,7 @@ msgstr "기본적으로는 젠 모드를 추구하는 분들을 위해 한 칼
|
|||
|
||||
#: src/pages/welcome.jsx:188
|
||||
msgid "Screenshot of multi-hashtag timeline with a form to add more hashtags"
|
||||
msgstr ""
|
||||
msgstr "해시태그를 더 추가할 수 있는 양식이 있는 멀티 해시태그 타임라인 스크린샷"
|
||||
|
||||
#: src/pages/welcome.jsx:192
|
||||
msgid "Multi-hashtag timeline"
|
||||
|
@ -3724,9 +3732,9 @@ msgstr "웹브라우저에서 팝업 윈도를 차단한 것 같습니다."
|
|||
|
||||
#: src/utils/show-compose.js:16
|
||||
msgid "A draft post is currently minimized. Post or discard it before creating a new one."
|
||||
msgstr ""
|
||||
msgstr "게시글 초고가 현재 최소화되어있습니다. 새로운 게시글을 작성하기 전 올리거나 지우세요."
|
||||
|
||||
#: src/utils/show-compose.js:21
|
||||
msgid "A post is currently open. Post or discard it before creating a new one."
|
||||
msgstr ""
|
||||
msgstr "게시글이 현재 열려있습니다. 새로운 게시글을 작성하기 전 올리거나 지우세요."
|
||||
|
||||
|
|
24
src/locales/lt-LT.po
generated
24
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-08-31 16:29\n"
|
||||
"PO-Revision-Date: 2024-09-06 02:32\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"
|
||||
|
@ -606,7 +606,7 @@ msgstr "Nepavyko #{i} priedas."
|
|||
|
||||
#: src/components/compose.jsx:1118
|
||||
#: src/components/status.jsx:1961
|
||||
#: src/components/timeline.jsx:979
|
||||
#: src/components/timeline.jsx:982
|
||||
msgid "Content warning"
|
||||
msgstr "Turinio įspėjimas"
|
||||
|
||||
|
@ -849,13 +849,13 @@ msgstr "Rašyk, kad ieškotum GIF"
|
|||
|
||||
#: src/components/compose.jsx:3454
|
||||
#: src/components/media-modal.jsx:387
|
||||
#: src/components/timeline.jsx:884
|
||||
#: src/components/timeline.jsx:887
|
||||
msgid "Previous"
|
||||
msgstr "Ankstesnis"
|
||||
|
||||
#: src/components/compose.jsx:3472
|
||||
#: src/components/media-modal.jsx:406
|
||||
#: src/components/timeline.jsx:901
|
||||
#: src/components/timeline.jsx:904
|
||||
msgid "Next"
|
||||
msgstr "Kitas"
|
||||
|
||||
|
@ -1207,7 +1207,7 @@ msgstr "Filtruota: {filterTitleStr}"
|
|||
#: src/components/status.jsx:3406
|
||||
#: src/components/status.jsx:3502
|
||||
#: src/components/status.jsx:3580
|
||||
#: src/components/timeline.jsx:968
|
||||
#: src/components/timeline.jsx:971
|
||||
#: src/pages/catchup.jsx:75
|
||||
#: src/pages/catchup.jsx:1859
|
||||
msgid "Filtered"
|
||||
|
@ -2306,13 +2306,21 @@ msgstr ""
|
|||
msgid "Try again"
|
||||
msgstr ""
|
||||
|
||||
#: src/components/timeline.jsx:941
|
||||
#: src/components/timeline.jsx:948
|
||||
#: src/components/timeline.jsx:586
|
||||
msgid "{0, plural, one {# Boost} other {# Boosts}}"
|
||||
msgstr ""
|
||||
|
||||
#: src/components/timeline.jsx:591
|
||||
msgid "Pinned posts"
|
||||
msgstr ""
|
||||
|
||||
#: src/components/timeline.jsx:944
|
||||
#: src/components/timeline.jsx:951
|
||||
#: src/pages/catchup.jsx:1876
|
||||
msgid "Thread"
|
||||
msgstr "Gija"
|
||||
|
||||
#: src/components/timeline.jsx:963
|
||||
#: src/components/timeline.jsx:966
|
||||
msgid "<0>Filtered</0>: <1>{0}</1>"
|
||||
msgstr ""
|
||||
|
||||
|
|
1217
src/locales/nl-NL.po
generated
1217
src/locales/nl-NL.po
generated
File diff suppressed because it is too large
Load diff
24
src/locales/oc-FR.po
generated
24
src/locales/oc-FR.po
generated
|
@ -8,7 +8,7 @@ msgstr ""
|
|||
"Language: oc\n"
|
||||
"Project-Id-Version: phanpy\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"PO-Revision-Date: 2024-08-31 15:33\n"
|
||||
"PO-Revision-Date: 2024-09-06 02:32\n"
|
||||
"Last-Translator: \n"
|
||||
"Language-Team: Occitan\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
|
||||
|
@ -606,7 +606,7 @@ msgstr ""
|
|||
|
||||
#: src/components/compose.jsx:1118
|
||||
#: src/components/status.jsx:1961
|
||||
#: src/components/timeline.jsx:979
|
||||
#: src/components/timeline.jsx:982
|
||||
msgid "Content warning"
|
||||
msgstr ""
|
||||
|
||||
|
@ -849,13 +849,13 @@ msgstr ""
|
|||
|
||||
#: src/components/compose.jsx:3454
|
||||
#: src/components/media-modal.jsx:387
|
||||
#: src/components/timeline.jsx:884
|
||||
#: src/components/timeline.jsx:887
|
||||
msgid "Previous"
|
||||
msgstr ""
|
||||
|
||||
#: src/components/compose.jsx:3472
|
||||
#: src/components/media-modal.jsx:406
|
||||
#: src/components/timeline.jsx:901
|
||||
#: src/components/timeline.jsx:904
|
||||
msgid "Next"
|
||||
msgstr ""
|
||||
|
||||
|
@ -1207,7 +1207,7 @@ msgstr ""
|
|||
#: src/components/status.jsx:3406
|
||||
#: src/components/status.jsx:3502
|
||||
#: src/components/status.jsx:3580
|
||||
#: src/components/timeline.jsx:968
|
||||
#: src/components/timeline.jsx:971
|
||||
#: src/pages/catchup.jsx:75
|
||||
#: src/pages/catchup.jsx:1859
|
||||
msgid "Filtered"
|
||||
|
@ -2306,13 +2306,21 @@ msgstr ""
|
|||
msgid "Try again"
|
||||
msgstr ""
|
||||
|
||||
#: src/components/timeline.jsx:941
|
||||
#: src/components/timeline.jsx:948
|
||||
#: src/components/timeline.jsx:586
|
||||
msgid "{0, plural, one {# Boost} other {# Boosts}}"
|
||||
msgstr ""
|
||||
|
||||
#: src/components/timeline.jsx:591
|
||||
msgid "Pinned posts"
|
||||
msgstr ""
|
||||
|
||||
#: src/components/timeline.jsx:944
|
||||
#: src/components/timeline.jsx:951
|
||||
#: src/pages/catchup.jsx:1876
|
||||
msgid "Thread"
|
||||
msgstr ""
|
||||
|
||||
#: src/components/timeline.jsx:963
|
||||
#: src/components/timeline.jsx:966
|
||||
msgid "<0>Filtered</0>: <1>{0}</1>"
|
||||
msgstr ""
|
||||
|
||||
|
|
32
src/locales/pl-PL.po
generated
32
src/locales/pl-PL.po
generated
|
@ -8,7 +8,7 @@ msgstr ""
|
|||
"Language: pl\n"
|
||||
"Project-Id-Version: phanpy\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"PO-Revision-Date: 2024-08-31 15:34\n"
|
||||
"PO-Revision-Date: 2024-09-06 02:32\n"
|
||||
"Last-Translator: \n"
|
||||
"Language-Team: Polish\n"
|
||||
"Plural-Forms: nplurals=4; plural=(n==1 ? 0 : (n%10>=2 && n%10<=4) && (n%100<12 || n%100>14) ? 1 : n!=1 && (n%10>=0 && n%10<=1) || (n%10>=5 && n%10<=9) || (n%100>=12 && n%100<=14) ? 2 : 3);\n"
|
||||
|
@ -75,20 +75,20 @@ msgstr "{followersCount, plural, one {# obserwujący} few {# obserwujących} man
|
|||
#: src/components/account-block.jsx:205
|
||||
#: src/components/account-info.jsx:680
|
||||
msgid "Verified"
|
||||
msgstr "Własność tego odnośnika została potwierdzona"
|
||||
msgstr "Zweryfikowany"
|
||||
|
||||
#: src/components/account-block.jsx:220
|
||||
#: src/components/account-info.jsx:777
|
||||
msgid "Joined <0>{0}</0>"
|
||||
msgstr ""
|
||||
msgstr "Jest tutaj od <0>{0}</0>"
|
||||
|
||||
#: src/components/account-info.jsx:57
|
||||
msgid "Forever"
|
||||
msgstr ""
|
||||
msgstr "Na zawsze"
|
||||
|
||||
#: src/components/account-info.jsx:377
|
||||
msgid "Unable to load account."
|
||||
msgstr ""
|
||||
msgstr "Nie można załadować konta."
|
||||
|
||||
#: src/components/account-info.jsx:385
|
||||
msgid "Go to account page"
|
||||
|
@ -606,7 +606,7 @@ msgstr ""
|
|||
|
||||
#: src/components/compose.jsx:1118
|
||||
#: src/components/status.jsx:1961
|
||||
#: src/components/timeline.jsx:979
|
||||
#: src/components/timeline.jsx:982
|
||||
msgid "Content warning"
|
||||
msgstr ""
|
||||
|
||||
|
@ -849,13 +849,13 @@ msgstr ""
|
|||
|
||||
#: src/components/compose.jsx:3454
|
||||
#: src/components/media-modal.jsx:387
|
||||
#: src/components/timeline.jsx:884
|
||||
#: src/components/timeline.jsx:887
|
||||
msgid "Previous"
|
||||
msgstr ""
|
||||
|
||||
#: src/components/compose.jsx:3472
|
||||
#: src/components/media-modal.jsx:406
|
||||
#: src/components/timeline.jsx:901
|
||||
#: src/components/timeline.jsx:904
|
||||
msgid "Next"
|
||||
msgstr ""
|
||||
|
||||
|
@ -1207,7 +1207,7 @@ msgstr ""
|
|||
#: src/components/status.jsx:3406
|
||||
#: src/components/status.jsx:3502
|
||||
#: src/components/status.jsx:3580
|
||||
#: src/components/timeline.jsx:968
|
||||
#: src/components/timeline.jsx:971
|
||||
#: src/pages/catchup.jsx:75
|
||||
#: src/pages/catchup.jsx:1859
|
||||
msgid "Filtered"
|
||||
|
@ -2306,13 +2306,21 @@ msgstr ""
|
|||
msgid "Try again"
|
||||
msgstr ""
|
||||
|
||||
#: src/components/timeline.jsx:941
|
||||
#: src/components/timeline.jsx:948
|
||||
#: src/components/timeline.jsx:586
|
||||
msgid "{0, plural, one {# Boost} other {# Boosts}}"
|
||||
msgstr ""
|
||||
|
||||
#: src/components/timeline.jsx:591
|
||||
msgid "Pinned posts"
|
||||
msgstr ""
|
||||
|
||||
#: src/components/timeline.jsx:944
|
||||
#: src/components/timeline.jsx:951
|
||||
#: src/pages/catchup.jsx:1876
|
||||
msgid "Thread"
|
||||
msgstr ""
|
||||
|
||||
#: src/components/timeline.jsx:963
|
||||
#: src/components/timeline.jsx:966
|
||||
msgid "<0>Filtered</0>: <1>{0}</1>"
|
||||
msgstr ""
|
||||
|
||||
|
|
561
src/locales/pt-BR.po
generated
561
src/locales/pt-BR.po
generated
File diff suppressed because it is too large
Load diff
671
src/locales/pt-PT.po
generated
671
src/locales/pt-PT.po
generated
File diff suppressed because it is too large
Load diff
437
src/locales/ru-RU.po
generated
437
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-08-31 17:49\n"
|
||||
"PO-Revision-Date: 2024-09-07 05:11\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"
|
||||
|
@ -37,7 +37,7 @@ msgstr "Бот"
|
|||
|
||||
#: src/components/account-block.jsx:166
|
||||
#: src/components/account-info.jsx:639
|
||||
#: src/components/status.jsx:439
|
||||
#: src/components/status.jsx:440
|
||||
#: src/pages/catchup.jsx:1454
|
||||
msgid "Group"
|
||||
msgstr "Группа"
|
||||
|
@ -110,14 +110,14 @@ msgstr "Посты"
|
|||
|
||||
#: src/components/account-info.jsx:427
|
||||
#: src/components/account-info.jsx:1115
|
||||
#: src/components/compose.jsx:2451
|
||||
#: src/components/compose.jsx:2456
|
||||
#: src/components/media-alt-modal.jsx:45
|
||||
#: src/components/media-modal.jsx:283
|
||||
#: src/components/status.jsx:1635
|
||||
#: src/components/status.jsx:1652
|
||||
#: src/components/status.jsx:1776
|
||||
#: src/components/status.jsx:2371
|
||||
#: src/components/status.jsx:2374
|
||||
#: src/components/status.jsx:1636
|
||||
#: src/components/status.jsx:1653
|
||||
#: src/components/status.jsx:1777
|
||||
#: src/components/status.jsx:2372
|
||||
#: src/components/status.jsx:2375
|
||||
#: src/pages/account-statuses.jsx:528
|
||||
#: src/pages/accounts.jsx:109
|
||||
#: src/pages/hashtag.jsx:199
|
||||
|
@ -186,7 +186,7 @@ msgid "Original"
|
|||
msgstr "Оригинальные"
|
||||
|
||||
#: src/components/account-info.jsx:859
|
||||
#: src/components/status.jsx:2162
|
||||
#: src/components/status.jsx:2163
|
||||
#: src/pages/catchup.jsx:71
|
||||
#: src/pages/catchup.jsx:1428
|
||||
#: src/pages/catchup.jsx:2039
|
||||
|
@ -282,30 +282,30 @@ msgid "Add/Remove from Lists"
|
|||
msgstr "Управление списками"
|
||||
|
||||
#: src/components/account-info.jsx:1299
|
||||
#: src/components/status.jsx:1078
|
||||
#: src/components/status.jsx:1079
|
||||
msgid "Link copied"
|
||||
msgstr "Ссылка скопирована"
|
||||
|
||||
#: src/components/account-info.jsx:1302
|
||||
#: src/components/status.jsx:1081
|
||||
#: src/components/status.jsx:1082
|
||||
msgid "Unable to copy link"
|
||||
msgstr "Не удалось скопировать ссылку"
|
||||
|
||||
#: src/components/account-info.jsx:1308
|
||||
#: src/components/shortcuts-settings.jsx:1056
|
||||
#: src/components/status.jsx:1087
|
||||
#: src/components/status.jsx:3114
|
||||
#: src/components/status.jsx:1088
|
||||
#: src/components/status.jsx:3115
|
||||
msgid "Copy"
|
||||
msgstr "Копировать"
|
||||
|
||||
#: src/components/account-info.jsx:1323
|
||||
#: src/components/shortcuts-settings.jsx:1074
|
||||
#: src/components/status.jsx:1103
|
||||
#: src/components/status.jsx:1104
|
||||
msgid "Sharing doesn't seem to work."
|
||||
msgstr "Кажется, функция «Поделиться» не работает."
|
||||
|
||||
#: src/components/account-info.jsx:1329
|
||||
#: src/components/status.jsx:1109
|
||||
#: src/components/status.jsx:1110
|
||||
msgid "Share…"
|
||||
msgstr "Поделиться…"
|
||||
|
||||
|
@ -406,10 +406,10 @@ msgstr "Подписаться"
|
|||
#: src/components/account-info.jsx:2086
|
||||
#: src/components/account-sheet.jsx:37
|
||||
#: src/components/compose.jsx:797
|
||||
#: src/components/compose.jsx:2407
|
||||
#: src/components/compose.jsx:2880
|
||||
#: src/components/compose.jsx:3088
|
||||
#: src/components/compose.jsx:3318
|
||||
#: src/components/compose.jsx:2412
|
||||
#: src/components/compose.jsx:2885
|
||||
#: src/components/compose.jsx:3093
|
||||
#: src/components/compose.jsx:3323
|
||||
#: src/components/drafts.jsx:58
|
||||
#: src/components/embed-modal.jsx:12
|
||||
#: src/components/generic-accounts.jsx:142
|
||||
|
@ -422,9 +422,9 @@ msgstr "Подписаться"
|
|||
#: src/components/shortcuts-settings.jsx:227
|
||||
#: src/components/shortcuts-settings.jsx:580
|
||||
#: src/components/shortcuts-settings.jsx:780
|
||||
#: src/components/status.jsx:2839
|
||||
#: src/components/status.jsx:3078
|
||||
#: src/components/status.jsx:3576
|
||||
#: src/components/status.jsx:2840
|
||||
#: src/components/status.jsx:3079
|
||||
#: src/components/status.jsx:3577
|
||||
#: src/pages/accounts.jsx:36
|
||||
#: src/pages/catchup.jsx:1564
|
||||
#: src/pages/filters.jsx:224
|
||||
|
@ -484,6 +484,11 @@ msgstr "Сохранить и закрыть"
|
|||
msgid "Unable to update profile."
|
||||
msgstr "Не удалось обновить профиль."
|
||||
|
||||
#: src/components/account-info.jsx:2149
|
||||
#: src/components/list-add-edit.jsx:102
|
||||
msgid "Name"
|
||||
msgstr "Название"
|
||||
|
||||
#: src/components/account-info.jsx:2162
|
||||
msgid "Bio"
|
||||
msgstr "О себе"
|
||||
|
@ -547,8 +552,8 @@ msgstr "У вас есть несохраненные изменения. Отм
|
|||
|
||||
#: src/components/compose.jsx:614
|
||||
#: src/components/compose.jsx:630
|
||||
#: src/components/compose.jsx:1328
|
||||
#: src/components/compose.jsx:1589
|
||||
#: src/components/compose.jsx:1333
|
||||
#: src/components/compose.jsx:1594
|
||||
msgid "{maxMediaAttachments, plural, one {You can only attach up to 1 file.} other {You can only attach up to # files.}}"
|
||||
msgstr "{maxMediaAttachments, plural, one {Вы можете прикрепить только 1 файл.} other {Вы можете прикрепить до # файлов.}}"
|
||||
|
||||
|
@ -605,8 +610,8 @@ msgid "Attachment #{i} failed"
|
|||
msgstr "Не удалось прикрепить вложение №{i}"
|
||||
|
||||
#: src/components/compose.jsx:1118
|
||||
#: src/components/status.jsx:1961
|
||||
#: src/components/timeline.jsx:979
|
||||
#: src/components/status.jsx:1962
|
||||
#: src/components/timeline.jsx:982
|
||||
msgid "Content warning"
|
||||
msgstr "Предупреждение о содержании"
|
||||
|
||||
|
@ -620,246 +625,253 @@ msgstr "Предупреждение о содержании или медиаф
|
|||
msgid "Public"
|
||||
msgstr "Публичный"
|
||||
|
||||
#: src/components/compose.jsx:1173
|
||||
#: src/components/compose.jsx:1174
|
||||
#: src/components/nav-menu.jsx:386
|
||||
#: src/components/shortcuts-settings.jsx:162
|
||||
#: src/components/status.jsx:94
|
||||
msgid "Local"
|
||||
msgstr "Локальная"
|
||||
|
||||
#: src/components/compose.jsx:1178
|
||||
#: src/components/status.jsx:95
|
||||
#: src/pages/settings.jsx:300
|
||||
msgid "Unlisted"
|
||||
msgstr "Без включения в поиск"
|
||||
|
||||
#: src/components/compose.jsx:1176
|
||||
#: src/components/status.jsx:95
|
||||
#: src/components/compose.jsx:1181
|
||||
#: src/components/status.jsx:96
|
||||
#: src/pages/settings.jsx:303
|
||||
msgid "Followers only"
|
||||
msgstr "Только для подписчиков"
|
||||
|
||||
#: src/components/compose.jsx:1179
|
||||
#: src/components/status.jsx:96
|
||||
#: src/components/status.jsx:1839
|
||||
#: src/components/compose.jsx:1184
|
||||
#: src/components/status.jsx:97
|
||||
#: src/components/status.jsx:1840
|
||||
msgid "Private mention"
|
||||
msgstr "Личное упоминание"
|
||||
|
||||
#: src/components/compose.jsx:1188
|
||||
#: src/components/compose.jsx:1193
|
||||
msgid "Post your reply"
|
||||
msgstr "Опубликовать ответ"
|
||||
|
||||
#: src/components/compose.jsx:1190
|
||||
#: src/components/compose.jsx:1195
|
||||
msgid "Edit your post"
|
||||
msgstr "Редактировать свой пост"
|
||||
|
||||
#: src/components/compose.jsx:1191
|
||||
#: src/components/compose.jsx:1196
|
||||
msgid "What are you doing?"
|
||||
msgstr "Начните писать свои мысли"
|
||||
|
||||
#: src/components/compose.jsx:1266
|
||||
#: src/components/compose.jsx:1271
|
||||
msgid "Mark media as sensitive"
|
||||
msgstr "Отметить медиафайл как деликатный"
|
||||
|
||||
#: src/components/compose.jsx:1364
|
||||
#: src/components/compose.jsx:1369
|
||||
msgid "Add poll"
|
||||
msgstr "Добавить голосование"
|
||||
|
||||
#: src/components/compose.jsx:1386
|
||||
#: src/components/compose.jsx:1391
|
||||
msgid "Add custom emoji"
|
||||
msgstr "Добавить пользовательские эмодзи"
|
||||
|
||||
#: src/components/compose.jsx:1470
|
||||
#: src/components/compose.jsx:1475
|
||||
#: src/components/keyboard-shortcuts-help.jsx:143
|
||||
#: src/components/status.jsx:830
|
||||
#: src/components/status.jsx:1615
|
||||
#: src/components/status.jsx:831
|
||||
#: src/components/status.jsx:1616
|
||||
#: src/components/status.jsx:2267
|
||||
#: src/components/status.jsx:1617
|
||||
#: src/components/status.jsx:2268
|
||||
msgid "Reply"
|
||||
msgstr "Ответить"
|
||||
|
||||
#: src/components/compose.jsx:1472
|
||||
#: src/components/compose.jsx:1477
|
||||
msgid "Update"
|
||||
msgstr "Сохранить"
|
||||
|
||||
#: src/components/compose.jsx:1473
|
||||
#: src/components/compose.jsx:1478
|
||||
msgctxt "Submit button in composer"
|
||||
msgid "Post"
|
||||
msgstr "Опубликовать"
|
||||
|
||||
#: src/components/compose.jsx:1601
|
||||
#: src/components/compose.jsx:1606
|
||||
msgid "Downloading GIF…"
|
||||
msgstr "Загружаем GIF-анимацию…"
|
||||
|
||||
#: src/components/compose.jsx:1629
|
||||
#: src/components/compose.jsx:1634
|
||||
msgid "Failed to download GIF"
|
||||
msgstr "Не удалось загрузить GIF-анимацию"
|
||||
|
||||
#: src/components/compose.jsx:1740
|
||||
#: src/components/compose.jsx:1817
|
||||
#: src/components/compose.jsx:1745
|
||||
#: src/components/compose.jsx:1822
|
||||
#: src/components/nav-menu.jsx:287
|
||||
msgid "More…"
|
||||
msgstr "Ещё…"
|
||||
|
||||
#: src/components/compose.jsx:2220
|
||||
#: src/components/compose.jsx:2225
|
||||
msgid "Uploaded"
|
||||
msgstr "Загружено"
|
||||
|
||||
#: src/components/compose.jsx:2233
|
||||
#: src/components/compose.jsx:2238
|
||||
msgid "Image description"
|
||||
msgstr "Описание изображения"
|
||||
|
||||
#: src/components/compose.jsx:2234
|
||||
#: src/components/compose.jsx:2239
|
||||
msgid "Video description"
|
||||
msgstr "Описание видео"
|
||||
|
||||
#: src/components/compose.jsx:2235
|
||||
#: src/components/compose.jsx:2240
|
||||
msgid "Audio description"
|
||||
msgstr "Описание аудио"
|
||||
|
||||
#: src/components/compose.jsx:2271
|
||||
#: src/components/compose.jsx:2291
|
||||
#: src/components/compose.jsx:2276
|
||||
#: src/components/compose.jsx:2296
|
||||
msgid "File size too large. Uploading might encounter issues. Try reduce the file size from {0} to {1} or lower."
|
||||
msgstr "Файл слишком большой — при загрузке могут возникнуть проблемы. Попробуйте уменьшить размер с {0} до {1} или меньше."
|
||||
|
||||
#: src/components/compose.jsx:2283
|
||||
#: src/components/compose.jsx:2303
|
||||
#: src/components/compose.jsx:2288
|
||||
#: src/components/compose.jsx:2308
|
||||
msgid "Dimension too large. Uploading might encounter issues. Try reduce dimension from {0}×{1}px to {2}×{3}px."
|
||||
msgstr "Сильно большое разрешение — при загрузке могут возникнуть проблемы. Попробуйте уменьшить разрешение с {0}×{1}px до {2}×{3}px."
|
||||
|
||||
#: src/components/compose.jsx:2311
|
||||
#: src/components/compose.jsx:2316
|
||||
msgid "Frame rate too high. Uploading might encounter issues."
|
||||
msgstr "Слишком высокая частота кадров — при загрузке могут возникнуть проблемы."
|
||||
|
||||
#: src/components/compose.jsx:2371
|
||||
#: src/components/compose.jsx:2621
|
||||
#: src/components/compose.jsx:2376
|
||||
#: src/components/compose.jsx:2626
|
||||
#: src/components/shortcuts-settings.jsx:723
|
||||
#: src/pages/catchup.jsx:1074
|
||||
#: src/pages/filters.jsx:412
|
||||
msgid "Remove"
|
||||
msgstr "Убрать"
|
||||
|
||||
#: src/components/compose.jsx:2388
|
||||
#: src/components/compose.jsx:2393
|
||||
#: src/compose.jsx:83
|
||||
msgid "Error"
|
||||
msgstr "Ошибка"
|
||||
|
||||
#: src/components/compose.jsx:2413
|
||||
#: src/components/compose.jsx:2418
|
||||
msgid "Edit image description"
|
||||
msgstr "Редактировать описание изображения"
|
||||
|
||||
#: src/components/compose.jsx:2414
|
||||
#: src/components/compose.jsx:2419
|
||||
msgid "Edit video description"
|
||||
msgstr "Редактировать описание видео"
|
||||
|
||||
#: src/components/compose.jsx:2415
|
||||
#: src/components/compose.jsx:2420
|
||||
msgid "Edit audio description"
|
||||
msgstr "Редактировать описание аудио"
|
||||
|
||||
#: src/components/compose.jsx:2460
|
||||
#: src/components/compose.jsx:2509
|
||||
#: src/components/compose.jsx:2465
|
||||
#: src/components/compose.jsx:2514
|
||||
msgid "Generating description. Please wait…"
|
||||
msgstr "Создаём описание. Один момент, пожалуйста…"
|
||||
|
||||
#: src/components/compose.jsx:2480
|
||||
#: src/components/compose.jsx:2485
|
||||
msgid "Failed to generate description: {0}"
|
||||
msgstr "Не удалось создать описание: {0}"
|
||||
|
||||
#: src/components/compose.jsx:2481
|
||||
#: src/components/compose.jsx:2486
|
||||
msgid "Failed to generate description"
|
||||
msgstr "Не удалось создать описание"
|
||||
|
||||
#: src/components/compose.jsx:2493
|
||||
#: src/components/compose.jsx:2499
|
||||
#: src/components/compose.jsx:2545
|
||||
#: src/components/compose.jsx:2498
|
||||
#: src/components/compose.jsx:2504
|
||||
#: src/components/compose.jsx:2550
|
||||
msgid "Generate description…"
|
||||
msgstr "Автоматическое описание…"
|
||||
|
||||
#: src/components/compose.jsx:2532
|
||||
#: src/components/compose.jsx:2537
|
||||
msgid "Failed to generate description{0}"
|
||||
msgstr "Не удалось создать описание: {0}"
|
||||
|
||||
#: src/components/compose.jsx:2547
|
||||
#: src/components/compose.jsx:2552
|
||||
msgid "({0}) <0>— experimental</0>"
|
||||
msgstr "({0}) <0>— экспериментальная функция</0>"
|
||||
|
||||
#: src/components/compose.jsx:2566
|
||||
#: src/components/compose.jsx:2571
|
||||
msgid "Done"
|
||||
msgstr "Готово"
|
||||
|
||||
#: src/components/compose.jsx:2602
|
||||
#: src/components/compose.jsx:2607
|
||||
msgid "Choice {0}"
|
||||
msgstr "Вариант №{0}"
|
||||
|
||||
#: src/components/compose.jsx:2649
|
||||
#: src/components/compose.jsx:2654
|
||||
msgid "Multiple choices"
|
||||
msgstr "Разрешить несколько ответов"
|
||||
|
||||
#: src/components/compose.jsx:2652
|
||||
#: src/components/compose.jsx:2657
|
||||
msgid "Duration"
|
||||
msgstr "Продолжительность"
|
||||
|
||||
#: src/components/compose.jsx:2683
|
||||
#: src/components/compose.jsx:2688
|
||||
msgid "Remove poll"
|
||||
msgstr "Убрать опрос"
|
||||
|
||||
#: src/components/compose.jsx:2897
|
||||
#: src/components/compose.jsx:2902
|
||||
msgid "Search accounts"
|
||||
msgstr "Поиск пользователей"
|
||||
|
||||
#: src/components/compose.jsx:2938
|
||||
#: src/components/compose.jsx:2943
|
||||
#: src/components/shortcuts-settings.jsx:712
|
||||
#: src/pages/list.jsx:359
|
||||
msgid "Add"
|
||||
msgstr "Добавить"
|
||||
|
||||
#: src/components/compose.jsx:2951
|
||||
#: src/components/compose.jsx:2956
|
||||
#: src/components/generic-accounts.jsx:227
|
||||
msgid "Error loading accounts"
|
||||
msgstr "Ошибка поиска пользователей"
|
||||
|
||||
#: src/components/compose.jsx:3094
|
||||
#: src/components/compose.jsx:3099
|
||||
msgid "Custom emojis"
|
||||
msgstr "Пользовательские эмодзи"
|
||||
|
||||
#: src/components/compose.jsx:3114
|
||||
#: src/components/compose.jsx:3119
|
||||
msgid "Search emoji"
|
||||
msgstr "Поиск эмодзи"
|
||||
|
||||
#: src/components/compose.jsx:3145
|
||||
#: src/components/compose.jsx:3150
|
||||
msgid "Error loading custom emojis"
|
||||
msgstr "Ошибка загрузки пользовательских эмодзи"
|
||||
|
||||
#: src/components/compose.jsx:3156
|
||||
#: src/components/compose.jsx:3161
|
||||
msgid "Recently used"
|
||||
msgstr "Недавно использованные"
|
||||
|
||||
#: src/components/compose.jsx:3157
|
||||
#: src/components/compose.jsx:3162
|
||||
msgid "Others"
|
||||
msgstr "Прочие"
|
||||
|
||||
#: src/components/compose.jsx:3195
|
||||
#: src/components/compose.jsx:3200
|
||||
msgid "{0} more…"
|
||||
msgstr "Ещё {0}…"
|
||||
|
||||
#: src/components/compose.jsx:3333
|
||||
#: src/components/compose.jsx:3338
|
||||
msgid "Search GIFs"
|
||||
msgstr "Поиск GIF-анимации"
|
||||
|
||||
#: src/components/compose.jsx:3348
|
||||
#: src/components/compose.jsx:3353
|
||||
msgid "Powered by GIPHY"
|
||||
msgstr "При помощи GIPHY"
|
||||
|
||||
#: src/components/compose.jsx:3356
|
||||
#: src/components/compose.jsx:3361
|
||||
msgid "Type to search GIFs"
|
||||
msgstr "Начните набирать для поиска GIF-анимаций"
|
||||
|
||||
#: src/components/compose.jsx:3454
|
||||
#: src/components/compose.jsx:3459
|
||||
#: src/components/media-modal.jsx:387
|
||||
#: src/components/timeline.jsx:884
|
||||
#: src/components/timeline.jsx:887
|
||||
msgid "Previous"
|
||||
msgstr "Назад"
|
||||
|
||||
#: src/components/compose.jsx:3472
|
||||
#: src/components/compose.jsx:3477
|
||||
#: src/components/media-modal.jsx:406
|
||||
#: src/components/timeline.jsx:901
|
||||
#: src/components/timeline.jsx:904
|
||||
msgid "Next"
|
||||
msgstr "Вперёд"
|
||||
|
||||
#: src/components/compose.jsx:3489
|
||||
#: src/components/compose.jsx:3494
|
||||
msgid "Error loading GIFs"
|
||||
msgstr "Ошибка поиска GIF-анимаций"
|
||||
|
||||
|
@ -882,7 +894,7 @@ msgstr "Не удалось удалить черновик. Попробуйт
|
|||
|
||||
#: src/components/drafts.jsx:127
|
||||
#: src/components/list-add-edit.jsx:183
|
||||
#: src/components/status.jsx:1250
|
||||
#: src/components/status.jsx:1251
|
||||
#: src/pages/filters.jsx:587
|
||||
msgid "Delete…"
|
||||
msgstr "Удалить…"
|
||||
|
@ -1082,10 +1094,10 @@ msgid "<0>l</0> or <1>f</1>"
|
|||
msgstr "<0>l</0> или <1>f</1>"
|
||||
|
||||
#: src/components/keyboard-shortcuts-help.jsx:164
|
||||
#: src/components/status.jsx:838
|
||||
#: src/components/status.jsx:2293
|
||||
#: src/components/status.jsx:2325
|
||||
#: src/components/status.jsx:839
|
||||
#: src/components/status.jsx:2294
|
||||
#: src/components/status.jsx:2326
|
||||
#: src/components/status.jsx:2327
|
||||
msgid "Boost"
|
||||
msgstr "Продвинуть"
|
||||
|
||||
|
@ -1094,9 +1106,9 @@ msgid "<0>Shift</0> + <1>b</1>"
|
|||
msgstr "<0>Shift</0> + <1>b</1>"
|
||||
|
||||
#: src/components/keyboard-shortcuts-help.jsx:172
|
||||
#: src/components/status.jsx:923
|
||||
#: src/components/status.jsx:2350
|
||||
#: src/components/status.jsx:924
|
||||
#: src/components/status.jsx:2351
|
||||
#: src/components/status.jsx:2352
|
||||
msgid "Bookmark"
|
||||
msgstr "Закладка"
|
||||
|
||||
|
@ -1120,10 +1132,6 @@ msgstr "Не удалось изменить список."
|
|||
msgid "Unable to create list."
|
||||
msgstr "Не удалось создать список."
|
||||
|
||||
#: src/components/list-add-edit.jsx:102
|
||||
msgid "Name"
|
||||
msgstr "Название"
|
||||
|
||||
#: src/components/list-add-edit.jsx:122
|
||||
msgid "Show replies to list members"
|
||||
msgstr "Показать ответы участникам списка"
|
||||
|
@ -1159,15 +1167,15 @@ msgid "Media description"
|
|||
msgstr "Описание медиа"
|
||||
|
||||
#: src/components/media-alt-modal.jsx:57
|
||||
#: src/components/status.jsx:967
|
||||
#: src/components/status.jsx:994
|
||||
#: src/components/status.jsx:968
|
||||
#: src/components/status.jsx:995
|
||||
#: src/components/translation-block.jsx:195
|
||||
msgid "Translate"
|
||||
msgstr "Перевести"
|
||||
|
||||
#: src/components/media-alt-modal.jsx:68
|
||||
#: src/components/status.jsx:981
|
||||
#: src/components/status.jsx:1008
|
||||
#: src/components/status.jsx:982
|
||||
#: src/components/status.jsx:1009
|
||||
msgid "Speak"
|
||||
msgstr "Произнести"
|
||||
|
||||
|
@ -1204,10 +1212,10 @@ msgid "Filtered: {filterTitleStr}"
|
|||
msgstr "Отфильтровано: {filterTitleStr}"
|
||||
|
||||
#: src/components/media-post.jsx:133
|
||||
#: src/components/status.jsx:3406
|
||||
#: src/components/status.jsx:3502
|
||||
#: src/components/status.jsx:3580
|
||||
#: src/components/timeline.jsx:968
|
||||
#: src/components/status.jsx:3407
|
||||
#: src/components/status.jsx:3503
|
||||
#: src/components/status.jsx:3581
|
||||
#: src/components/timeline.jsx:971
|
||||
#: src/pages/catchup.jsx:75
|
||||
#: src/pages/catchup.jsx:1859
|
||||
msgid "Filtered"
|
||||
|
@ -1355,11 +1363,6 @@ msgstr "Войти"
|
|||
msgid "Trending"
|
||||
msgstr "В тренде"
|
||||
|
||||
#: src/components/nav-menu.jsx:386
|
||||
#: src/components/shortcuts-settings.jsx:162
|
||||
msgid "Local"
|
||||
msgstr "Локальная"
|
||||
|
||||
#: src/components/nav-menu.jsx:392
|
||||
#: src/components/shortcuts-settings.jsx:162
|
||||
msgid "Federated"
|
||||
|
@ -1491,8 +1494,8 @@ msgid "[Unknown notification type: {type}]"
|
|||
msgstr "[Неизвестный тип уведомления: {type}]"
|
||||
|
||||
#: src/components/notification.jsx:425
|
||||
#: src/components/status.jsx:937
|
||||
#: src/components/status.jsx:947
|
||||
#: src/components/status.jsx:938
|
||||
#: src/components/status.jsx:948
|
||||
msgid "Boosted/Liked by…"
|
||||
msgstr "Продвинули/Отметили как \"нравится\"…"
|
||||
|
||||
|
@ -1514,9 +1517,9 @@ msgid "Learn more <0/>"
|
|||
msgstr "Подробнее <0/>"
|
||||
|
||||
#: src/components/notification.jsx:680
|
||||
#: src/components/status.jsx:189
|
||||
#: src/components/status.jsx:190
|
||||
msgid "Read more →"
|
||||
msgstr "Читать дальше →"
|
||||
msgstr "Читать далее →"
|
||||
|
||||
#: src/components/poll.jsx:110
|
||||
msgid "Voted"
|
||||
|
@ -1807,7 +1810,7 @@ msgid "Move down"
|
|||
msgstr "Переместить вниз"
|
||||
|
||||
#: src/components/shortcuts-settings.jsx:376
|
||||
#: src/components/status.jsx:1215
|
||||
#: src/components/status.jsx:1216
|
||||
#: src/pages/list.jsx:170
|
||||
msgid "Edit"
|
||||
msgstr "Редактировать"
|
||||
|
@ -2005,291 +2008,291 @@ msgstr "Исходный JSON ярлыков"
|
|||
msgid "Import/export settings from/to instance server (Very experimental)"
|
||||
msgstr "Импорт/экспорт настроек с сервера инстанса (Очень экспериментально)"
|
||||
|
||||
#: src/components/status.jsx:463
|
||||
#: src/components/status.jsx:464
|
||||
msgid "<0/> <1>boosted</1>"
|
||||
msgstr "<0/> <1>продвинул(а)</1>"
|
||||
|
||||
#: src/components/status.jsx:562
|
||||
#: src/components/status.jsx:563
|
||||
msgid "Sorry, your current logged-in instance can't interact with this post from another instance."
|
||||
msgstr "К сожалению, ваша текущая учетная запись не может взаимодействовать с этим постом из другого инстанса."
|
||||
|
||||
#: src/components/status.jsx:715
|
||||
#: src/components/status.jsx:716
|
||||
msgid "Unliked @{0}'s post"
|
||||
msgstr "Удалена отметка \"нравится\" у поста от @{0}"
|
||||
|
||||
#: src/components/status.jsx:716
|
||||
#: src/components/status.jsx:717
|
||||
msgid "Liked @{0}'s post"
|
||||
msgstr "Понравился пост от @{0}"
|
||||
|
||||
#: src/components/status.jsx:755
|
||||
#: src/components/status.jsx:756
|
||||
msgid "Unbookmarked @{0}'s post"
|
||||
msgstr "Удалена закладка поста от @{0}"
|
||||
|
||||
#: src/components/status.jsx:756
|
||||
#: src/components/status.jsx:757
|
||||
msgid "Bookmarked @{0}'s post"
|
||||
msgstr "Добавлена закладка поста от @{0}"
|
||||
|
||||
#: src/components/status.jsx:838
|
||||
#: src/components/status.jsx:900
|
||||
#: src/components/status.jsx:2293
|
||||
#: src/components/status.jsx:2325
|
||||
#: src/components/status.jsx:839
|
||||
#: src/components/status.jsx:901
|
||||
#: src/components/status.jsx:2294
|
||||
#: src/components/status.jsx:2326
|
||||
msgid "Unboost"
|
||||
msgstr "Прекратить продвигать"
|
||||
|
||||
#: src/components/status.jsx:854
|
||||
#: src/components/status.jsx:2308
|
||||
#: src/components/status.jsx:855
|
||||
#: src/components/status.jsx:2309
|
||||
msgid "Quote"
|
||||
msgstr "Цитировать"
|
||||
|
||||
#: src/components/status.jsx:862
|
||||
#: src/components/status.jsx:2317
|
||||
#: src/components/status.jsx:863
|
||||
#: src/components/status.jsx:2318
|
||||
msgid "Some media have no descriptions."
|
||||
msgstr "Некоторые медиа не имеют описаний."
|
||||
|
||||
#: src/components/status.jsx:869
|
||||
#: src/components/status.jsx:870
|
||||
msgid "Old post (<0>{0}</0>)"
|
||||
msgstr "Старый пост (<0>{0}</0>)"
|
||||
|
||||
#: src/components/status.jsx:888
|
||||
#: src/components/status.jsx:1340
|
||||
#: src/components/status.jsx:889
|
||||
#: src/components/status.jsx:1341
|
||||
msgid "Unboosted @{0}'s post"
|
||||
msgstr "Прекратил(а) продвигать пост @{0}"
|
||||
|
||||
#: src/components/status.jsx:889
|
||||
#: src/components/status.jsx:1341
|
||||
#: src/components/status.jsx:890
|
||||
#: src/components/status.jsx:1342
|
||||
msgid "Boosted @{0}'s post"
|
||||
msgstr "Продвинул(а) пост @{0}"
|
||||
|
||||
#: src/components/status.jsx:901
|
||||
#: src/components/status.jsx:902
|
||||
msgid "Boost…"
|
||||
msgstr "Продвинуть…"
|
||||
|
||||
#: src/components/status.jsx:913
|
||||
#: src/components/status.jsx:1625
|
||||
#: src/components/status.jsx:2338
|
||||
#: src/components/status.jsx:914
|
||||
#: src/components/status.jsx:1626
|
||||
#: src/components/status.jsx:2339
|
||||
msgid "Unlike"
|
||||
msgstr "Не нравится"
|
||||
|
||||
#: src/components/status.jsx:914
|
||||
#: src/components/status.jsx:1625
|
||||
#: src/components/status.jsx:915
|
||||
#: src/components/status.jsx:1626
|
||||
#: src/components/status.jsx:2338
|
||||
#: src/components/status.jsx:1627
|
||||
#: src/components/status.jsx:2339
|
||||
#: src/components/status.jsx:2340
|
||||
msgid "Like"
|
||||
msgstr "Нравится"
|
||||
|
||||
#: src/components/status.jsx:923
|
||||
#: src/components/status.jsx:2350
|
||||
#: src/components/status.jsx:924
|
||||
#: src/components/status.jsx:2351
|
||||
msgid "Unbookmark"
|
||||
msgstr "Удалить закладку"
|
||||
|
||||
#: src/components/status.jsx:1031
|
||||
#: src/components/status.jsx:1032
|
||||
msgid "View post by <0>@{0}</0>"
|
||||
msgstr "Посмотреть пост <0>@{0}</0>"
|
||||
|
||||
#: src/components/status.jsx:1052
|
||||
#: src/components/status.jsx:1053
|
||||
msgid "Show Edit History"
|
||||
msgstr "Показать историю редактирования"
|
||||
|
||||
#: src/components/status.jsx:1055
|
||||
#: src/components/status.jsx:1056
|
||||
msgid "Edited: {editedDateText}"
|
||||
msgstr "Отредактировано: {editedDateText}"
|
||||
|
||||
#: src/components/status.jsx:1122
|
||||
#: src/components/status.jsx:3083
|
||||
#: src/components/status.jsx:1123
|
||||
#: src/components/status.jsx:3084
|
||||
msgid "Embed post"
|
||||
msgstr "Встроить пост"
|
||||
|
||||
#: src/components/status.jsx:1136
|
||||
#: src/components/status.jsx:1137
|
||||
msgid "Conversation unmuted"
|
||||
msgstr "Обсуждение не игнорируется"
|
||||
|
||||
#: src/components/status.jsx:1136
|
||||
#: src/components/status.jsx:1137
|
||||
msgid "Conversation muted"
|
||||
msgstr "Обсуждение игнорируется"
|
||||
|
||||
#: src/components/status.jsx:1142
|
||||
#: src/components/status.jsx:1143
|
||||
msgid "Unable to unmute conversation"
|
||||
msgstr "Не удалось прекратить игнорировать обсуждение"
|
||||
|
||||
#: src/components/status.jsx:1143
|
||||
#: src/components/status.jsx:1144
|
||||
msgid "Unable to mute conversation"
|
||||
msgstr "Не удалось игнорировать обсуждение"
|
||||
|
||||
#: src/components/status.jsx:1152
|
||||
#: src/components/status.jsx:1153
|
||||
msgid "Unmute conversation"
|
||||
msgstr "Не игнорировать обсуждение"
|
||||
|
||||
#: src/components/status.jsx:1159
|
||||
#: src/components/status.jsx:1160
|
||||
msgid "Mute conversation"
|
||||
msgstr "Игнорировать обсуждение"
|
||||
|
||||
#: src/components/status.jsx:1175
|
||||
#: src/components/status.jsx:1176
|
||||
msgid "Post unpinned from profile"
|
||||
msgstr "Пост откреплён из профиля"
|
||||
|
||||
#: src/components/status.jsx:1176
|
||||
#: src/components/status.jsx:1177
|
||||
msgid "Post pinned to profile"
|
||||
msgstr "Пост прикреплён к профилю"
|
||||
|
||||
#: src/components/status.jsx:1181
|
||||
#: src/components/status.jsx:1182
|
||||
msgid "Unable to unpin post"
|
||||
msgstr "Не удалось открепить пост"
|
||||
|
||||
#: src/components/status.jsx:1181
|
||||
#: src/components/status.jsx:1182
|
||||
msgid "Unable to pin post"
|
||||
msgstr "Не удалось закрепить пост"
|
||||
|
||||
#: src/components/status.jsx:1190
|
||||
#: src/components/status.jsx:1191
|
||||
msgid "Unpin from profile"
|
||||
msgstr "Открепить от профиля"
|
||||
|
||||
#: src/components/status.jsx:1197
|
||||
#: src/components/status.jsx:1198
|
||||
msgid "Pin to profile"
|
||||
msgstr "Закрепить в профиле"
|
||||
|
||||
#: src/components/status.jsx:1226
|
||||
#: src/components/status.jsx:1227
|
||||
msgid "Delete this post?"
|
||||
msgstr "Удалить этот пост?"
|
||||
|
||||
#: src/components/status.jsx:1239
|
||||
#: src/components/status.jsx:1240
|
||||
msgid "Post deleted"
|
||||
msgstr "Пост удален"
|
||||
|
||||
#: src/components/status.jsx:1242
|
||||
#: src/components/status.jsx:1243
|
||||
msgid "Unable to delete post"
|
||||
msgstr "Не удалось удалить пост"
|
||||
|
||||
#: src/components/status.jsx:1270
|
||||
#: src/components/status.jsx:1271
|
||||
msgid "Report post…"
|
||||
msgstr "Пожаловаться на пост…"
|
||||
|
||||
#: src/components/status.jsx:1626
|
||||
#: src/components/status.jsx:1662
|
||||
#: src/components/status.jsx:2339
|
||||
#: src/components/status.jsx:1627
|
||||
#: src/components/status.jsx:1663
|
||||
#: src/components/status.jsx:2340
|
||||
msgid "Liked"
|
||||
msgstr "Нравится"
|
||||
|
||||
#: src/components/status.jsx:1659
|
||||
#: src/components/status.jsx:2326
|
||||
#: src/components/status.jsx:1660
|
||||
#: src/components/status.jsx:2327
|
||||
msgid "Boosted"
|
||||
msgstr "Продвинут"
|
||||
|
||||
#: src/components/status.jsx:1669
|
||||
#: src/components/status.jsx:2351
|
||||
#: src/components/status.jsx:1670
|
||||
#: src/components/status.jsx:2352
|
||||
msgid "Bookmarked"
|
||||
msgstr "Добавлен в закладки"
|
||||
|
||||
#: src/components/status.jsx:1673
|
||||
#: src/components/status.jsx:1674
|
||||
msgid "Pinned"
|
||||
msgstr "Закреплён"
|
||||
|
||||
#: src/components/status.jsx:1718
|
||||
#: src/components/status.jsx:2170
|
||||
#: src/components/status.jsx:1719
|
||||
#: src/components/status.jsx:2171
|
||||
msgid "Deleted"
|
||||
msgstr "Удалён"
|
||||
|
||||
#: src/components/status.jsx:1759
|
||||
#: src/components/status.jsx:1760
|
||||
msgid "{repliesCount, plural, one {# reply} other {# replies}}"
|
||||
msgstr "{repliesCount, plural, one {# ответ} other {# ответ(а/ов)}}"
|
||||
|
||||
#: src/components/status.jsx:1848
|
||||
#: src/components/status.jsx:1849
|
||||
msgid "Thread{0}"
|
||||
msgstr "Обсуждение{0}"
|
||||
|
||||
#: src/components/status.jsx:1924
|
||||
#: src/components/status.jsx:1986
|
||||
#: src/components/status.jsx:2071
|
||||
#: src/components/status.jsx:1925
|
||||
#: src/components/status.jsx:1987
|
||||
#: src/components/status.jsx:2072
|
||||
msgid "Show less"
|
||||
msgstr "Свернуть/скрыть"
|
||||
|
||||
#: src/components/status.jsx:1924
|
||||
#: src/components/status.jsx:1986
|
||||
#: src/components/status.jsx:1925
|
||||
#: src/components/status.jsx:1987
|
||||
msgid "Show content"
|
||||
msgstr "Показать содержимое"
|
||||
|
||||
#: src/components/status.jsx:2071
|
||||
#: src/components/status.jsx:2072
|
||||
msgid "Show media"
|
||||
msgstr "Показать медиа"
|
||||
|
||||
#: src/components/status.jsx:2191
|
||||
#: src/components/status.jsx:2192
|
||||
msgid "Edited"
|
||||
msgstr "Отредактировано"
|
||||
|
||||
#: src/components/status.jsx:2268
|
||||
#: src/components/status.jsx:2269
|
||||
msgid "Comments"
|
||||
msgstr "Комментарии"
|
||||
|
||||
#: src/components/status.jsx:2844
|
||||
#: src/components/status.jsx:2845
|
||||
msgid "Edit History"
|
||||
msgstr "История изменений"
|
||||
|
||||
#: src/components/status.jsx:2848
|
||||
#: src/components/status.jsx:2849
|
||||
msgid "Failed to load history"
|
||||
msgstr "Не удалось загрузить историю"
|
||||
|
||||
#: src/components/status.jsx:2853
|
||||
#: src/components/status.jsx:2854
|
||||
msgid "Loading…"
|
||||
msgstr "Загрузка…"
|
||||
|
||||
#: src/components/status.jsx:3088
|
||||
#: src/components/status.jsx:3089
|
||||
msgid "HTML Code"
|
||||
msgstr "HTML-код"
|
||||
|
||||
#: src/components/status.jsx:3105
|
||||
#: src/components/status.jsx:3106
|
||||
msgid "HTML code copied"
|
||||
msgstr "HTML-код скопирован"
|
||||
|
||||
#: src/components/status.jsx:3108
|
||||
#: src/components/status.jsx:3109
|
||||
msgid "Unable to copy HTML code"
|
||||
msgstr "Не удалось скопировать HTML-код"
|
||||
|
||||
#: src/components/status.jsx:3120
|
||||
#: src/components/status.jsx:3121
|
||||
msgid "Media attachments:"
|
||||
msgstr "Медиа-вложения:"
|
||||
|
||||
#: src/components/status.jsx:3142
|
||||
#: src/components/status.jsx:3143
|
||||
msgid "Account Emojis:"
|
||||
msgstr "Эмодзи пользователя:"
|
||||
|
||||
#: src/components/status.jsx:3173
|
||||
#: src/components/status.jsx:3218
|
||||
#: src/components/status.jsx:3174
|
||||
#: src/components/status.jsx:3219
|
||||
msgid "static URL"
|
||||
msgstr "статический URL"
|
||||
|
||||
#: src/components/status.jsx:3187
|
||||
#: src/components/status.jsx:3188
|
||||
msgid "Emojis:"
|
||||
msgstr "Эмодзи:"
|
||||
|
||||
#: src/components/status.jsx:3232
|
||||
#: src/components/status.jsx:3233
|
||||
msgid "Notes:"
|
||||
msgstr "Заметки:"
|
||||
|
||||
#: src/components/status.jsx:3236
|
||||
#: src/components/status.jsx:3237
|
||||
msgid "This is static, unstyled and scriptless. You may need to apply your own styles and edit as needed."
|
||||
msgstr "Это статическое, нестилизованное и не требующее сценариев. Возможно, вам придется применить свои собственные стили и отредактировать их по мере необходимости."
|
||||
|
||||
#: src/components/status.jsx:3242
|
||||
#: src/components/status.jsx:3243
|
||||
msgid "Polls are not interactive, becomes a list with vote counts."
|
||||
msgstr "Опросы не интерактивны, они представляют собой список с подсчетом голосов."
|
||||
|
||||
#: src/components/status.jsx:3247
|
||||
#: src/components/status.jsx:3248
|
||||
msgid "Media attachments can be images, videos, audios or any file types."
|
||||
msgstr "Медиа-вложения могут быть изображениями, видео, аудио или определёнными типами файлов."
|
||||
|
||||
#: src/components/status.jsx:3253
|
||||
#: src/components/status.jsx:3254
|
||||
msgid "Post could be edited or deleted later."
|
||||
msgstr "Пост может быть отредактирован или удален позже."
|
||||
|
||||
#: src/components/status.jsx:3259
|
||||
#: src/components/status.jsx:3260
|
||||
msgid "Preview"
|
||||
msgstr "Предпросмотр"
|
||||
|
||||
#: src/components/status.jsx:3268
|
||||
#: src/components/status.jsx:3269
|
||||
msgid "Note: This preview is lightly styled."
|
||||
msgstr "Примечание: Этот предварительный просмотр слегка стилизован."
|
||||
|
||||
#: src/components/status.jsx:3510
|
||||
#: src/components/status.jsx:3511
|
||||
msgid "<0/> <1/> boosted"
|
||||
msgstr "<0/> <1/> продвинули"
|
||||
|
||||
|
@ -2306,13 +2309,21 @@ msgstr "Новые посты"
|
|||
msgid "Try again"
|
||||
msgstr "Повторите попытку"
|
||||
|
||||
#: src/components/timeline.jsx:941
|
||||
#: src/components/timeline.jsx:948
|
||||
#: src/components/timeline.jsx:586
|
||||
msgid "{0, plural, one {# Boost} other {# Boosts}}"
|
||||
msgstr "{0, plural, one {# Продвижение} other {# Продвижения}}"
|
||||
|
||||
#: src/components/timeline.jsx:591
|
||||
msgid "Pinned posts"
|
||||
msgstr "Закреплённые посты"
|
||||
|
||||
#: src/components/timeline.jsx:944
|
||||
#: src/components/timeline.jsx:951
|
||||
#: src/pages/catchup.jsx:1876
|
||||
msgid "Thread"
|
||||
msgstr "Обсуждение"
|
||||
|
||||
#: src/components/timeline.jsx:963
|
||||
#: src/components/timeline.jsx:966
|
||||
msgid "<0>Filtered</0>: <1>{0}</1>"
|
||||
msgstr "<0>Отфильтровано</0>: <1>{0}</1>"
|
||||
|
||||
|
|
24
src/locales/th-TH.po
generated
24
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-08-31 15:34\n"
|
||||
"PO-Revision-Date: 2024-09-06 02:32\n"
|
||||
"Last-Translator: \n"
|
||||
"Language-Team: Thai\n"
|
||||
"Plural-Forms: nplurals=1; plural=0;\n"
|
||||
|
@ -606,7 +606,7 @@ msgstr ""
|
|||
|
||||
#: src/components/compose.jsx:1118
|
||||
#: src/components/status.jsx:1961
|
||||
#: src/components/timeline.jsx:979
|
||||
#: src/components/timeline.jsx:982
|
||||
msgid "Content warning"
|
||||
msgstr ""
|
||||
|
||||
|
@ -849,13 +849,13 @@ msgstr ""
|
|||
|
||||
#: src/components/compose.jsx:3454
|
||||
#: src/components/media-modal.jsx:387
|
||||
#: src/components/timeline.jsx:884
|
||||
#: src/components/timeline.jsx:887
|
||||
msgid "Previous"
|
||||
msgstr ""
|
||||
|
||||
#: src/components/compose.jsx:3472
|
||||
#: src/components/media-modal.jsx:406
|
||||
#: src/components/timeline.jsx:901
|
||||
#: src/components/timeline.jsx:904
|
||||
msgid "Next"
|
||||
msgstr ""
|
||||
|
||||
|
@ -1207,7 +1207,7 @@ msgstr ""
|
|||
#: src/components/status.jsx:3406
|
||||
#: src/components/status.jsx:3502
|
||||
#: src/components/status.jsx:3580
|
||||
#: src/components/timeline.jsx:968
|
||||
#: src/components/timeline.jsx:971
|
||||
#: src/pages/catchup.jsx:75
|
||||
#: src/pages/catchup.jsx:1859
|
||||
msgid "Filtered"
|
||||
|
@ -2306,13 +2306,21 @@ msgstr ""
|
|||
msgid "Try again"
|
||||
msgstr ""
|
||||
|
||||
#: src/components/timeline.jsx:941
|
||||
#: src/components/timeline.jsx:948
|
||||
#: src/components/timeline.jsx:586
|
||||
msgid "{0, plural, one {# Boost} other {# Boosts}}"
|
||||
msgstr ""
|
||||
|
||||
#: src/components/timeline.jsx:591
|
||||
msgid "Pinned posts"
|
||||
msgstr ""
|
||||
|
||||
#: src/components/timeline.jsx:944
|
||||
#: src/components/timeline.jsx:951
|
||||
#: src/pages/catchup.jsx:1876
|
||||
msgid "Thread"
|
||||
msgstr ""
|
||||
|
||||
#: src/components/timeline.jsx:963
|
||||
#: src/components/timeline.jsx:966
|
||||
msgid "<0>Filtered</0>: <1>{0}</1>"
|
||||
msgstr ""
|
||||
|
||||
|
|
24
src/locales/uk-UA.po
generated
24
src/locales/uk-UA.po
generated
|
@ -8,7 +8,7 @@ msgstr ""
|
|||
"Language: uk\n"
|
||||
"Project-Id-Version: phanpy\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"PO-Revision-Date: 2024-09-01 17:35\n"
|
||||
"PO-Revision-Date: 2024-09-06 02:32\n"
|
||||
"Last-Translator: \n"
|
||||
"Language-Team: Ukrainian\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"
|
||||
|
@ -606,7 +606,7 @@ msgstr "Помилка вкладення #{i}"
|
|||
|
||||
#: src/components/compose.jsx:1118
|
||||
#: src/components/status.jsx:1961
|
||||
#: src/components/timeline.jsx:979
|
||||
#: src/components/timeline.jsx:982
|
||||
msgid "Content warning"
|
||||
msgstr "Попередження про вміст"
|
||||
|
||||
|
@ -849,13 +849,13 @@ msgstr ""
|
|||
|
||||
#: src/components/compose.jsx:3454
|
||||
#: src/components/media-modal.jsx:387
|
||||
#: src/components/timeline.jsx:884
|
||||
#: src/components/timeline.jsx:887
|
||||
msgid "Previous"
|
||||
msgstr ""
|
||||
|
||||
#: src/components/compose.jsx:3472
|
||||
#: src/components/media-modal.jsx:406
|
||||
#: src/components/timeline.jsx:901
|
||||
#: src/components/timeline.jsx:904
|
||||
msgid "Next"
|
||||
msgstr ""
|
||||
|
||||
|
@ -1207,7 +1207,7 @@ msgstr ""
|
|||
#: src/components/status.jsx:3406
|
||||
#: src/components/status.jsx:3502
|
||||
#: src/components/status.jsx:3580
|
||||
#: src/components/timeline.jsx:968
|
||||
#: src/components/timeline.jsx:971
|
||||
#: src/pages/catchup.jsx:75
|
||||
#: src/pages/catchup.jsx:1859
|
||||
msgid "Filtered"
|
||||
|
@ -2306,13 +2306,21 @@ msgstr ""
|
|||
msgid "Try again"
|
||||
msgstr ""
|
||||
|
||||
#: src/components/timeline.jsx:941
|
||||
#: src/components/timeline.jsx:948
|
||||
#: src/components/timeline.jsx:586
|
||||
msgid "{0, plural, one {# Boost} other {# Boosts}}"
|
||||
msgstr ""
|
||||
|
||||
#: src/components/timeline.jsx:591
|
||||
msgid "Pinned posts"
|
||||
msgstr ""
|
||||
|
||||
#: src/components/timeline.jsx:944
|
||||
#: src/components/timeline.jsx:951
|
||||
#: src/pages/catchup.jsx:1876
|
||||
msgid "Thread"
|
||||
msgstr ""
|
||||
|
||||
#: src/components/timeline.jsx:963
|
||||
#: src/components/timeline.jsx:966
|
||||
msgid "<0>Filtered</0>: <1>{0}</1>"
|
||||
msgstr ""
|
||||
|
||||
|
|
571
src/locales/zh-CN.po
generated
571
src/locales/zh-CN.po
generated
File diff suppressed because it is too large
Load diff
46
src/locales/zh-TW.po
generated
46
src/locales/zh-TW.po
generated
|
@ -8,7 +8,7 @@ msgstr ""
|
|||
"Language: zh\n"
|
||||
"Project-Id-Version: phanpy\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"PO-Revision-Date: 2024-09-01 12:49\n"
|
||||
"PO-Revision-Date: 2024-09-06 02:32\n"
|
||||
"Last-Translator: \n"
|
||||
"Language-Team: Chinese Traditional\n"
|
||||
"Plural-Forms: nplurals=1; plural=0;\n"
|
||||
|
@ -284,7 +284,7 @@ msgstr "從列表中新增/刪除"
|
|||
#: src/components/account-info.jsx:1299
|
||||
#: src/components/status.jsx:1078
|
||||
msgid "Link copied"
|
||||
msgstr ""
|
||||
msgstr "連結已複製"
|
||||
|
||||
#: src/components/account-info.jsx:1302
|
||||
#: src/components/status.jsx:1081
|
||||
|
@ -331,15 +331,15 @@ msgstr ""
|
|||
|
||||
#: src/components/account-info.jsx:1442
|
||||
msgid "Remove <0>@{username}</0> from followers?"
|
||||
msgstr ""
|
||||
msgstr "要把 <0>@{username}</0> 從跟隨者中移除嗎?"
|
||||
|
||||
#: src/components/account-info.jsx:1462
|
||||
msgid "@{username} removed from followers"
|
||||
msgstr ""
|
||||
msgstr "已把 @{username} 從跟隨者中移除"
|
||||
|
||||
#: src/components/account-info.jsx:1474
|
||||
msgid "Remove follower…"
|
||||
msgstr ""
|
||||
msgstr "移除跟隨者..."
|
||||
|
||||
#: src/components/account-info.jsx:1485
|
||||
msgid "Block <0>@{username}</0>?"
|
||||
|
@ -351,7 +351,7 @@ msgstr ""
|
|||
|
||||
#: src/components/account-info.jsx:1514
|
||||
msgid "Blocked @{username}"
|
||||
msgstr ""
|
||||
msgstr "已把 @{username} 封鎖"
|
||||
|
||||
#: src/components/account-info.jsx:1522
|
||||
msgid "Unable to unblock @{username}"
|
||||
|
@ -446,12 +446,12 @@ msgstr ""
|
|||
|
||||
#: src/components/account-info.jsx:1899
|
||||
msgid "Unable to add to list."
|
||||
msgstr ""
|
||||
msgstr "無法新增到列表"
|
||||
|
||||
#: src/components/account-info.jsx:1918
|
||||
#: src/pages/lists.jsx:104
|
||||
msgid "Unable to load lists."
|
||||
msgstr ""
|
||||
msgstr "無法載入列表"
|
||||
|
||||
#: src/components/account-info.jsx:1922
|
||||
msgid "No lists."
|
||||
|
@ -482,7 +482,7 @@ msgstr ""
|
|||
|
||||
#: src/components/account-info.jsx:2142
|
||||
msgid "Unable to update profile."
|
||||
msgstr ""
|
||||
msgstr "無法更新個人資料"
|
||||
|
||||
#: src/components/account-info.jsx:2162
|
||||
msgid "Bio"
|
||||
|
@ -582,7 +582,7 @@ msgstr ""
|
|||
|
||||
#: src/components/compose.jsx:895
|
||||
msgid "Replying to @{0}’s post"
|
||||
msgstr ""
|
||||
msgstr "正在回覆 @{0} 的文章"
|
||||
|
||||
#: src/components/compose.jsx:908
|
||||
msgid "Editing source post"
|
||||
|
@ -606,7 +606,7 @@ msgstr ""
|
|||
|
||||
#: src/components/compose.jsx:1118
|
||||
#: src/components/status.jsx:1961
|
||||
#: src/components/timeline.jsx:979
|
||||
#: src/components/timeline.jsx:982
|
||||
msgid "Content warning"
|
||||
msgstr ""
|
||||
|
||||
|
@ -713,7 +713,7 @@ msgstr ""
|
|||
#: src/components/compose.jsx:2271
|
||||
#: src/components/compose.jsx:2291
|
||||
msgid "File size too large. Uploading might encounter issues. Try reduce the file size from {0} to {1} or lower."
|
||||
msgstr ""
|
||||
msgstr "檔案大小太大,上載可能會遇到問題。請嘗試把檔案大小從 {0} 縮小到 {1} 或更小"
|
||||
|
||||
#: src/components/compose.jsx:2283
|
||||
#: src/components/compose.jsx:2303
|
||||
|
@ -849,13 +849,13 @@ msgstr ""
|
|||
|
||||
#: src/components/compose.jsx:3454
|
||||
#: src/components/media-modal.jsx:387
|
||||
#: src/components/timeline.jsx:884
|
||||
#: src/components/timeline.jsx:887
|
||||
msgid "Previous"
|
||||
msgstr ""
|
||||
|
||||
#: src/components/compose.jsx:3472
|
||||
#: src/components/media-modal.jsx:406
|
||||
#: src/components/timeline.jsx:901
|
||||
#: src/components/timeline.jsx:904
|
||||
msgid "Next"
|
||||
msgstr ""
|
||||
|
||||
|
@ -885,7 +885,7 @@ msgstr ""
|
|||
#: src/components/status.jsx:1250
|
||||
#: src/pages/filters.jsx:587
|
||||
msgid "Delete…"
|
||||
msgstr ""
|
||||
msgstr "移除..."
|
||||
|
||||
#: src/components/drafts.jsx:146
|
||||
msgid "Error fetching reply-to status!"
|
||||
|
@ -1207,7 +1207,7 @@ msgstr ""
|
|||
#: src/components/status.jsx:3406
|
||||
#: src/components/status.jsx:3502
|
||||
#: src/components/status.jsx:3580
|
||||
#: src/components/timeline.jsx:968
|
||||
#: src/components/timeline.jsx:971
|
||||
#: src/pages/catchup.jsx:75
|
||||
#: src/pages/catchup.jsx:1859
|
||||
msgid "Filtered"
|
||||
|
@ -2306,13 +2306,21 @@ msgstr ""
|
|||
msgid "Try again"
|
||||
msgstr ""
|
||||
|
||||
#: src/components/timeline.jsx:941
|
||||
#: src/components/timeline.jsx:948
|
||||
#: src/components/timeline.jsx:586
|
||||
msgid "{0, plural, one {# Boost} other {# Boosts}}"
|
||||
msgstr ""
|
||||
|
||||
#: src/components/timeline.jsx:591
|
||||
msgid "Pinned posts"
|
||||
msgstr ""
|
||||
|
||||
#: src/components/timeline.jsx:944
|
||||
#: src/components/timeline.jsx:951
|
||||
#: src/pages/catchup.jsx:1876
|
||||
msgid "Thread"
|
||||
msgstr ""
|
||||
|
||||
#: src/components/timeline.jsx:963
|
||||
#: src/components/timeline.jsx:966
|
||||
msgid "<0>Filtered</0>: <1>{0}</1>"
|
||||
msgstr ""
|
||||
|
||||
|
|
|
@ -1262,11 +1262,27 @@ function Catchup() {
|
|||
{sharers.map((s) => {
|
||||
const { avatarStatic, displayName } = s;
|
||||
return (
|
||||
<Avatar
|
||||
url={avatarStatic}
|
||||
size="s"
|
||||
alt={displayName}
|
||||
/>
|
||||
<button
|
||||
type="button"
|
||||
class="plain"
|
||||
style={{
|
||||
padding: 0,
|
||||
}}
|
||||
onClick={(e) => {
|
||||
e.preventDefault();
|
||||
e.stopPropagation();
|
||||
// Reset and filter to author
|
||||
const { id } = s;
|
||||
setSelectedAuthor(id);
|
||||
setSelectedFilterCategory('all');
|
||||
}}
|
||||
>
|
||||
<Avatar
|
||||
url={avatarStatic}
|
||||
size="s"
|
||||
alt={displayName}
|
||||
/>
|
||||
</button>
|
||||
);
|
||||
})}
|
||||
</Trans>
|
||||
|
|
|
@ -28,6 +28,7 @@ function Following({ title, path, id, ...props }) {
|
|||
|
||||
async function fetchHome(firstLoad) {
|
||||
if (firstLoad || !homeIterator.current) {
|
||||
__BENCHMARK.start('fetch-home-first');
|
||||
homeIterator.current = masto.v1.timelines.home.list({ limit: LIMIT });
|
||||
}
|
||||
if (supportsPixelfed && homeIterator.current?.nextParams) {
|
||||
|
@ -64,6 +65,8 @@ function Following({ title, path, id, ...props }) {
|
|||
return bDate - aDate;
|
||||
});
|
||||
}
|
||||
__BENCHMARK.end('fetch-home-first');
|
||||
__BENCHMARK.end('time-to-home');
|
||||
return {
|
||||
...results,
|
||||
value,
|
||||
|
|
|
@ -58,9 +58,32 @@ function Login() {
|
|||
|
||||
const submitInstance = (instanceURL) => {
|
||||
if (!instanceURL) return;
|
||||
store.local.set('instanceURL', instanceURL);
|
||||
|
||||
(async () => {
|
||||
// WEB_DOMAIN vs LOCAL_DOMAIN negotiation time
|
||||
// https://docs.joinmastodon.org/admin/config/#web_domain
|
||||
try {
|
||||
const res = await fetch(`https://${instanceURL}/.well-known/host-meta`); // returns XML
|
||||
const text = await res.text();
|
||||
// Parse XML
|
||||
const parser = new DOMParser();
|
||||
const xmlDoc = parser.parseFromString(text, 'text/xml');
|
||||
// Get Link[template]
|
||||
const link = xmlDoc.getElementsByTagName('Link')[0];
|
||||
const template = link.getAttribute('template');
|
||||
const url = URL.parse(template);
|
||||
const { host } = url; // host includes the port
|
||||
if (instanceURL !== host) {
|
||||
console.log(`💫 ${instanceURL} -> ${host}`);
|
||||
instanceURL = host;
|
||||
}
|
||||
} catch (e) {
|
||||
// Silently fail
|
||||
console.error(e);
|
||||
}
|
||||
|
||||
store.local.set('instanceURL', instanceURL);
|
||||
|
||||
setUIState('loading');
|
||||
try {
|
||||
const { client_id, client_secret, vapid_key } =
|
||||
|
|
|
@ -826,6 +826,23 @@ function Settings({ onClose }) {
|
|||
</p>
|
||||
)}
|
||||
</section>
|
||||
{(import.meta.env.DEV || import.meta.env.PHANPY_DEV) && (
|
||||
<details class="debug-info">
|
||||
<summary></summary>
|
||||
<p>Debugging</p>
|
||||
{__BENCH_RESULTS?.size > 0 && (
|
||||
<ul>
|
||||
{Array.from(__BENCH_RESULTS.entries()).map(
|
||||
([name, duration]) => (
|
||||
<li>
|
||||
<b>{name}</b>: {duration}ms
|
||||
</li>
|
||||
),
|
||||
)}
|
||||
</ul>
|
||||
)}
|
||||
</details>
|
||||
)}
|
||||
</main>
|
||||
</div>
|
||||
);
|
||||
|
|
|
@ -8,11 +8,12 @@ const locales = [
|
|||
...navigator.languages,
|
||||
];
|
||||
|
||||
const localeTargetLanguages = localeMatch(
|
||||
locales,
|
||||
translationTargetLanguages.map((l) => l.code.replace('_', '-')), // The underscore will fail Intl.Locale inside `match`
|
||||
'en',
|
||||
);
|
||||
const localeTargetLanguages = () =>
|
||||
localeMatch(
|
||||
locales,
|
||||
translationTargetLanguages.map((l) => l.code.replace('_', '-')), // The underscore will fail Intl.Locale inside `match`
|
||||
'en',
|
||||
);
|
||||
|
||||
function getTranslateTargetLanguage(fromSettings = false) {
|
||||
if (fromSettings) {
|
||||
|
@ -21,7 +22,7 @@ function getTranslateTargetLanguage(fromSettings = false) {
|
|||
return contentTranslationTargetLanguage;
|
||||
}
|
||||
}
|
||||
return localeTargetLanguages;
|
||||
return localeTargetLanguages();
|
||||
}
|
||||
|
||||
export default getTranslateTargetLanguage;
|
||||
|
|
|
@ -7,6 +7,8 @@ import { getCurrentInstance } from './store-utils';
|
|||
// Non-semver(?) UA string detection
|
||||
const containPixelfed = /pixelfed/i;
|
||||
const notContainPixelfed = /^(?!.*pixelfed).*$/i;
|
||||
const containPleroma = /pleroma/i;
|
||||
const containAkkoma = /akkoma/i;
|
||||
const platformFeatures = {
|
||||
'@mastodon/lists': notContainPixelfed,
|
||||
'@mastodon/filters': notContainPixelfed,
|
||||
|
@ -20,6 +22,8 @@ const platformFeatures = {
|
|||
'@pixelfed/trending': containPixelfed,
|
||||
'@pixelfed/home-include-reblogs': containPixelfed,
|
||||
'@pixelfed/global-feed': containPixelfed,
|
||||
'@pleroma/local-visibility-post': containPleroma,
|
||||
'@akkoma/local-visibility-post': containAkkoma,
|
||||
};
|
||||
const supportsCache = {};
|
||||
|
||||
|
|
|
@ -3,4 +3,5 @@ export default {
|
|||
unlisted: 'group',
|
||||
private: 'lock',
|
||||
direct: 'message',
|
||||
local: 'building',
|
||||
};
|
||||
|
|
Loading…
Reference in a new issue