Compare commits

...
Author SHA1 Message Date
tdgao c6c671c668 feat: update account settings 2fa set up to use 2fa code component 2026-06-30 11:13:55 -06:00
tdgao dc569ecd89 feat: improve 2fa UX 2026-06-30 10:58:29 -06:00
tdgao 7bfb418a11 Merge branch 'main' into truman/reusable-2fa-code-component 2026-06-30 10:33:07 -06:00
ThatGravyBoatandGitHub b569354793 fix: packs not being validated correctly (#6533) 2026-06-30 14:02:58 +00:00
Michael H. b667b3ae9e fix: remove sccache s3 2026-06-30 11:41:08 +02:00
coolbotandGitHub 16de6182e4 Add nag for custom license info. (#6564)
* add nag for custom license info

* preppr
2026-06-30 02:25:13 +00:00
Calum H.andGitHub 364fed52dd feat: changelog (#6563) 2026-06-30 01:57:11 +02:00
Calum H.andGitHub 0fe695721a fix: try fix app freezing on instance page load (#6562)
* fix: app freezing fix

* fix: fmt
2026-06-30 01:55:55 +02:00
Calum H.andGitHub 692f22b749 feat: changelog 0.15.3 (#6560)
feat: changlog 0.15.3
2026-06-30 00:54:16 +02:00
Calum H.andGitHub ed7792097d fix: better handling of larger instances for ExportModal (#6559) 2026-06-30 00:51:25 +02:00
Prospector c56ce6c9ee changelog 2026-06-29 13:45:04 -07:00
Calum H.andGitHub 91bc58b8ee fix: cleanup stale db entry on rename instance file (#6549)
fix: race on renaming instance file
2026-06-29 17:36:46 +00:00
Truman GaoandGitHub 38d757b66a fix: analytics colour pick is not excluding unknown (#6552)
* fix: analytics colour picking not excluding unknown

* feat: improve colours, better accessibility
2026-06-29 17:17:03 +00:00
Calum H.andGitHub 862b54f00d refactor: instance export modal (#6543)
* refactor: export modal w the design system

* fix: lint

* fix: rev

* fix: lint

* fix: qa
2026-06-29 17:01:00 +00:00
Calum H.andGitHub c2f4835fe7 fix: spacing + friends (#6550) 2026-06-29 17:00:59 +00:00
ThatGravyBoatandGitHub b97c191d75 fix(docs): create version endpoint missing file_types field (#6551) 2026-06-29 16:22:08 +00:00
Truman GaoandGitHub b0c6a06909 feat: update versions table (#6502)
* feat: add new versions table, move environments column to be feature flag toggled, and add header/cell class props to Table.vue

* feat: implement much better table column widths

* feat: update version filter control to use multiselect

* feat: implement clicking table row to go to version

* feat: mobile pass on versions table

* feat: use multiselect for platform, and fix game version show all versions when dont exist

* pnpm prepr

* feat: replace dashboard projects table with new table

* feat: update projects so its out of card

* fix: version actions buttons column width

* feat: implement overflow on loaders cell

* update platform and version width

* feat: update project icon

* feat: change edit links to use floating action bar

* pnpm prepr
2026-06-29 15:01:07 +00:00
ThatGravyBoatandGitHub fc3e384f54 fix: tech review card not refreshing on status change (#6508)
fix: tech rev card not refreshing on status change
2026-06-29 14:40:20 +00:00
Calum H.andGitHub 87ff8fd4d9 fix: server panel not using correct endpoint for mrpack reupload (#6539)
fix: server panel not using correct endpoint for local modpack reupload
2026-06-29 14:39:03 +00:00
Calum H.andGitHub 288c1fb970 fix: reduce ping timeout in app to 5 sec not 30 sec (#6545)
* fix: reduce ping timeout in app to 5 sec not 30 sec

* feat: readd comment
2026-06-29 14:38:51 +00:00
Calum H.andGitHub f6e6ac28d4 fix: change fs watcher to rely more on instance ids than path (#6547)
* fix: change fs watcher to rely more on instance ids than path

* fix: fmt
2026-06-29 14:38:44 +00:00
Calum H.andGitHub 4a972bca73 fix: change logic when selecting filters in Worlds.vue (#6548) 2026-06-29 14:38:37 +00:00
Calum H.andGitHub b09c26f616 fix: console sizing issues (#6540)
fix: console sizing issues (for good)
2026-06-29 14:38:30 +00:00
ArthurandGitHub 204bd52a5a fix: modpack content modal toggle state (#6532)
Fix modpack content modal toggle state
2026-06-29 14:04:55 +00:00
Calum H.andGitHub b59f327b04 feat: add chaos cubed skins (#6463) 2026-06-29 12:18:15 +00:00
Modrinth BotandGitHub 89e643fa50 New translations from Crowdin (main) (#6542) 2026-06-29 12:04:10 +00:00
Calum H.andGitHub cee25fdbbc fix: unlinking local mrpack does not show content afterwards (#6541) 2026-06-29 11:58:43 +00:00
Calum H.andGitHub b95a2d875a feat: changelog app 0.15.1 (#6522) 2026-06-26 16:42:19 +00:00
Calum H.andGitHub 1067b02830 fix: logs using id not path (#6511)
* fix: logs using id not path

* fix: lint
2026-06-26 17:50:26 +02:00
Calum H.andGitHub ebf4a6ef5f fix: bulk update updating linked content (#6517)
* fix: bulk update updating linked content

* fix: disabled content sometimes desyncing

* fix: bad filter

* fix: fmt
2026-06-26 17:50:15 +02:00
Calum H.andGitHub e4376c2b15 fix: clamp negative playtime (#6519)
* fix: clamp negative playtime

* fix: remove triggers use instant
2026-06-26 17:50:03 +02:00
Michael H. 5fe07de187 chore: bump mold and add mold to other jobs 2026-06-26 17:22:46 +02:00
tdgao 129dfa66ca feat: implement 2fa code input component 2026-06-15 22:27:40 -07:00
201 changed files with 16997 additions and 2676 deletions
+3 -7
View File
@@ -76,13 +76,6 @@ jobs:
env:
SCCACHE_DIR: ${{ needs.skip-if-clean.outputs.internal == 'true' && '/mnt/sccache' || '' }}
SCCACHE_CACHE_SIZE: ${{ needs.skip-if-clean.outputs.internal == 'true' && '10G' || '' }}
SCCACHE_MULTILEVEL_CHAIN: ${{ needs.skip-if-clean.outputs.internal == 'true' && 'disk,s3' || '' }}
SCCACHE_S3_KEY_PREFIX: ${{ needs.skip-if-clean.outputs.internal == 'true' && format('{0}/', github.repository) || '' }}
SCCACHE_BUCKET: ${{ secrets.SCCACHE_BUCKET }}
SCCACHE_REGION: ${{ secrets.SCCACHE_REGION }}
SCCACHE_ENDPOINT: ${{ secrets.SCCACHE_ENDPOINT }}
AWS_ACCESS_KEY_ID: ${{ secrets.SCCACHE_S3_ACCESS_KEY_ID }}
AWS_SECRET_ACCESS_KEY: ${{ secrets.SCCACHE_S3_SECRET_ACCESS_KEY }}
RUSTC_WRAPPER: ${{ needs.skip-if-clean.outputs.internal == 'true' && 'sccache' || '' }}
needs: [skip-if-clean]
if: ${{ needs.skip-if-clean.outputs.skip != 'true' }}
@@ -96,6 +89,9 @@ jobs:
rustflags: ''
cache: false
- name: Setup mold
uses: rui314/setup-mold@9c9c13bf4c3f1adef0cc596abc155580bcb04444 # v1 / Mold 2.41.0
- name: Cache Cargo registry and index
uses: actions/cache@27d5ce7f107fe9357f9df03efb73ab90386fccae # v5.0.5
with:
-7
View File
@@ -78,13 +78,6 @@ jobs:
GIT_HASH: ${{ github.sha }}
SCCACHE_DIR: ${{ needs.skip-if-clean.outputs.internal == 'true' && '/mnt/sccache' || '' }}
SCCACHE_CACHE_SIZE: ${{ needs.skip-if-clean.outputs.internal == 'true' && '10G' || '' }}
SCCACHE_MULTILEVEL_CHAIN: ${{ needs.skip-if-clean.outputs.internal == 'true' && 'disk,s3' || '' }}
SCCACHE_S3_KEY_PREFIX: ${{ needs.skip-if-clean.outputs.internal == 'true' && format('{0}/', github.repository) || '' }}
SCCACHE_BUCKET: ${{ secrets.SCCACHE_BUCKET }}
SCCACHE_REGION: ${{ secrets.SCCACHE_REGION }}
SCCACHE_ENDPOINT: ${{ secrets.SCCACHE_ENDPOINT }}
AWS_ACCESS_KEY_ID: ${{ secrets.SCCACHE_S3_ACCESS_KEY_ID }}
AWS_SECRET_ACCESS_KEY: ${{ secrets.SCCACHE_S3_SECRET_ACCESS_KEY }}
RUSTC_WRAPPER: ${{ needs.skip-if-clean.outputs.internal == 'true' && 'sccache' || '' }}
steps:
- name: Check out code
+4
View File
@@ -84,6 +84,10 @@ jobs:
rustflags: ''
target: ${{ contains(matrix.platform, 'macos') && 'x86_64-apple-darwin' || '' }}
- name: Setup mold
if: contains(matrix.platform, 'ubuntu')
uses: rui314/setup-mold@9c9c13bf4c3f1adef0cc596abc155580bcb04444 # v1 / Mold 2.41.0
- name: Setup sccache
uses: mozilla-actions/sccache-action@9e7fa8a12102821edf02ca5dbea1acd0f89a2696 # v0.0.10
+3 -7
View File
@@ -81,13 +81,6 @@ jobs:
# blacksmith runner)
SCCACHE_DIR: ${{ needs.skip-if-clean.outputs.internal == 'true' && '/mnt/sccache' || '' }}
SCCACHE_CACHE_SIZE: ${{ needs.skip-if-clean.outputs.internal == 'true' && '10G' || '' }}
SCCACHE_MULTILEVEL_CHAIN: ${{ needs.skip-if-clean.outputs.internal == 'true' && 'disk,s3' || '' }}
SCCACHE_S3_KEY_PREFIX: ${{ needs.skip-if-clean.outputs.internal == 'true' && format('{0}/', github.repository) || '' }}
SCCACHE_BUCKET: ${{ secrets.SCCACHE_BUCKET }}
SCCACHE_REGION: ${{ secrets.SCCACHE_REGION }}
SCCACHE_ENDPOINT: ${{ secrets.SCCACHE_ENDPOINT }}
AWS_ACCESS_KEY_ID: ${{ secrets.SCCACHE_S3_ACCESS_KEY_ID }}
AWS_SECRET_ACCESS_KEY: ${{ secrets.SCCACHE_S3_SECRET_ACCESS_KEY }}
RUSTC_WRAPPER: ${{ needs.skip-if-clean.outputs.internal == 'true' && 'sccache' || '' }}
steps:
@@ -129,6 +122,9 @@ jobs:
components: clippy, rustfmt
cache: false
- name: Setup mold
uses: rui314/setup-mold@9c9c13bf4c3f1adef0cc596abc155580bcb04444 # v1 / Mold 2.41.0
- name: Cache Cargo registry and index
uses: actions/cache@27d5ce7f107fe9357f9df03efb73ab90386fccae #v5.0.5
with:
+5 -6
View File
@@ -1341,12 +1341,11 @@ async function processPendingSurveys() {
const creds = await getCreds().catch(handleError)
const userId = creds?.user_id
const instances = await list().catch(handleError)
const isActivePlayer =
instances.findIndex(
(instance) =>
isWithinLastTwoWeeks(instance.last_played) && !isWithinLastTwoWeeks(instance.created),
) >= 0
const instances = (await list().catch(handleError)) ?? []
const isActivePlayer = instances.some(
(instance) =>
isWithinLastTwoWeeks(instance.last_played) && !isWithinLastTwoWeeks(instance.created),
)
let surveys = []
try {
@@ -1,28 +1,32 @@
<script setup>
import { WrenchIcon, XIcon } from '@modrinth/assets'
import { XIcon } from '@modrinth/assets'
import {
Accordion,
ButtonStyled,
Checkbox,
commonMessages,
defineMessages,
FileTreeSelect,
injectNotificationManager,
NewModal,
StyledInput,
useVIntl,
} from '@modrinth/ui'
import { save } from '@tauri-apps/plugin-dialog'
import { readDir, stat } from '@tauri-apps/plugin-fs'
import { ref } from 'vue'
import { PackageIcon, VersionIcon } from '@/assets/icons'
import ModalWrapper from '@/components/ui/modal/ModalWrapper.vue'
import { export_instance_mrpack, get_pack_export_candidates } from '@/helpers/instance'
import { PackageIcon } from '@/assets/icons'
import {
export_instance_mrpack,
get_full_path,
get_pack_export_candidates,
} from '@/helpers/instance'
const { handleError } = injectNotificationManager()
const { formatMessage } = useVIntl()
const messages = defineMessages({
header: { id: 'app.export-modal.header', defaultMessage: 'Export modpack' },
modpackNameLabel: { id: 'app.export-modal.modpack-name-label', defaultMessage: 'Modpack Name' },
modpackNameLabel: { id: 'app.export-modal.modpack-name-label', defaultMessage: 'Modpack name' },
modpackNamePlaceholder: {
id: 'app.export-modal.modpack-name-placeholder',
defaultMessage: 'Modpack name',
@@ -39,15 +43,7 @@ const messages = defineMessages({
id: 'app.export-modal.description-placeholder',
defaultMessage: 'Enter modpack description...',
},
selectFilesLabel: {
id: 'app.export-modal.select-files-label',
defaultMessage: 'Configure which files are included in this export',
},
exportButton: { id: 'app.export-modal.export-button', defaultMessage: 'Export' },
includeFile: {
id: 'app.export-modal.include-file-accessibility-label',
defaultMessage: 'Include "{file}"?',
},
})
const props = defineProps({
@@ -59,8 +55,9 @@ const props = defineProps({
defineExpose({
show: () => {
resetExportState()
exportModal.value.show()
initFiles()
void initFiles().catch(handleError)
},
})
@@ -69,62 +66,33 @@ const nameInput = ref(props.instance.name)
const exportDescription = ref('')
const versionInput = ref('1.0.0')
const files = ref([])
const folders = ref([])
const selectedFilePaths = ref([])
const fileTreeKey = ref(0)
const filesLoadId = ref(0)
const instanceRoot = ref('')
const loadedDirectories = ref(new Set())
const initFiles = async () => {
const newFolders = new Map()
const sep = '/'
files.value = []
await get_pack_export_candidates(props.instance.id).then((filePaths) =>
filePaths
.map((folder) => ({
path: folder,
name: folder.split(sep).pop(),
selected:
folder.startsWith('mods') ||
folder.startsWith('datapacks') ||
folder.startsWith('resourcepacks') ||
folder.startsWith('shaderpacks') ||
folder.startsWith('config'),
disabled:
folder === 'profile.json' ||
folder.startsWith('modrinth_logs') ||
folder.startsWith('.fabric') ||
folder.startsWith('__MACOSX'),
}))
.forEach((pathData) => {
const parent = pathData.path.split(sep).slice(0, -1).join(sep)
if (parent !== '') {
if (newFolders.has(parent)) {
newFolders.get(parent).push(pathData)
} else {
newFolders.set(parent, [pathData])
}
} else {
files.value.push(pathData)
}
}),
)
folders.value = [...newFolders.entries()].map(([name, value]) => [
{
name,
showingMore: false,
},
value,
async function initFiles() {
const loadId = ++filesLoadId.value
const [filePaths, root] = await Promise.all([
get_pack_export_candidates(props.instance.id),
get_full_path(props.instance.id),
])
if (loadId !== filesLoadId.value) return
instanceRoot.value = root
const exportCandidates = await Promise.all(
filePaths.map((path) => buildExportCandidateItem(root, path)),
)
if (loadId !== filesLoadId.value) return
files.value = exportCandidates
selectedFilePaths.value = files.value
.filter((file) => !file.disabled && isDefaultSelectedExportCandidate(file.path))
.map((file) => file.path)
}
await initFiles()
const exportPack = async () => {
const filesToExport = files.value.filter((file) => file.selected).map((file) => file.path)
folders.value.forEach((args) => {
args[1].forEach((child) => {
if (child.selected) {
filesToExport.push(child.path)
}
})
})
const outputPath = await save({
defaultPath: `${nameInput.value} ${versionInput.value}.mrpack`,
filters: [
@@ -139,7 +107,7 @@ const exportPack = async () => {
export_instance_mrpack(
props.instance.id,
outputPath,
filesToExport,
selectedFilePaths.value,
versionInput.value,
exportDescription.value,
nameInput.value,
@@ -147,94 +115,176 @@ const exportPack = async () => {
exportModal.value.hide()
}
}
function resetExportState() {
nameInput.value = props.instance.name
exportDescription.value = ''
versionInput.value = '1.0.0'
files.value = []
selectedFilePaths.value = []
fileTreeKey.value += 1
instanceRoot.value = ''
loadedDirectories.value = new Set()
}
async function loadExportDirectory(path) {
if (!path || !instanceRoot.value || loadedDirectories.value.has(path)) return
const loadId = filesLoadId.value
loadedDirectories.value.add(path)
try {
const entries = await readDir(`${instanceRoot.value}/${path}`)
const childItems = await Promise.all(
entries.map((entry) => buildExportDirectoryChildItem(instanceRoot.value, path, entry)),
)
if (loadId !== filesLoadId.value) return
appendExportItems(childItems)
} catch {
loadedDirectories.value.delete(path)
}
}
async function buildExportCandidateItem(instanceRoot, path) {
try {
const entries = await readDir(`${instanceRoot}/${path}`)
const metadata = await getExportCandidateMetadata(instanceRoot, path)
return {
path,
type: 'directory',
disabled: isExportCandidateDisabled(path),
modified: metadata.modified,
count: entries.length,
}
} catch {
return buildExportFileItem(instanceRoot, path)
}
}
async function buildExportDirectoryChildItem(instanceRoot, parentPath, entry) {
const path = `${parentPath}/${entry.name}`
if (entry.isDirectory) {
const metadata = await getExportCandidateMetadata(instanceRoot, path)
return {
path,
type: 'directory',
disabled: isExportCandidateDisabled(path),
modified: metadata.modified,
}
}
return buildExportFileItem(instanceRoot, path)
}
async function buildExportFileItem(instanceRoot, path) {
const metadata = await getExportCandidateMetadata(instanceRoot, path)
return {
path,
type: 'file',
disabled: isExportCandidateDisabled(path),
size: metadata.size,
modified: metadata.modified,
}
}
function appendExportItems(items) {
const nextFiles = new Map(files.value.map((file) => [normalizeExportPath(file.path), file]))
for (const item of items) {
nextFiles.set(normalizeExportPath(item.path), item)
}
files.value = [...nextFiles.values()]
}
async function getExportCandidateMetadata(instanceRoot, path) {
try {
const metadata = await stat(`${instanceRoot}/${path}`)
return {
size: metadata.size,
modified: metadata.mtime ? Math.floor(metadata.mtime.getTime() / 1000) : undefined,
}
} catch {
return {}
}
}
function normalizeExportPath(path) {
return path.replaceAll('\\', '/').split('/').filter(Boolean).join('/')
}
function isDefaultSelectedExportCandidate(path) {
return (
path.startsWith('mods') ||
path.startsWith('datapacks') ||
path.startsWith('resourcepacks') ||
path.startsWith('shaderpacks') ||
path.startsWith('config')
)
}
function isExportCandidateDisabled(path) {
return (
path === 'profile.json' ||
path.startsWith('modrinth_logs') ||
path.startsWith('.fabric') ||
path.startsWith('__MACOSX')
)
}
</script>
<template>
<ModalWrapper ref="exportModal" :header="formatMessage(messages.header)">
<div class="flex flex-col gap-4 w-[40rem]">
<NewModal
ref="exportModal"
:header="formatMessage(messages.header)"
scrollable
width="46rem"
max-width="calc(100vw - 2rem)"
>
<div class="flex flex-col gap-4">
<div class="grid grid-cols-2 gap-4">
<div class="labeled_input">
<p>{{ formatMessage(messages.modpackNameLabel) }}</p>
<div class="labeled_input w-full">
<p class="text-contrast font-semibold">{{ formatMessage(messages.modpackNameLabel) }}</p>
<StyledInput
v-model="nameInput"
:icon="PackageIcon"
type="text"
:placeholder="formatMessage(messages.modpackNamePlaceholder)"
clearable
wrapper-class="w-full"
/>
</div>
<div class="labeled_input">
<p>{{ formatMessage(messages.versionNumberLabel) }}</p>
<div class="labeled_input w-full">
<p class="text-contrast font-semibold">
{{ formatMessage(messages.versionNumberLabel) }}
</p>
<StyledInput
v-model="versionInput"
:icon="VersionIcon"
type="text"
:placeholder="formatMessage(messages.versionNumberPlaceholder)"
clearable
wrapper-class="w-full"
/>
</div>
</div>
<div class="flex flex-col gap-2">
<p class="m-0">{{ formatMessage(commonMessages.descriptionLabel) }}</p>
<div class="flex flex-col gap-2 min-w-0">
<p class="m-0 text-contrast font-semibold">
{{ formatMessage(commonMessages.descriptionLabel) }}
</p>
<StyledInput
v-model="exportDescription"
multiline
:placeholder="formatMessage(messages.descriptionPlaceholder)"
wrapper-class="w-full"
/>
</div>
<Accordion
class="w-full bg-surface-4 border border-solid border-surface-5 rounded-2xl overflow-clip"
button-class="p-4 w-full border-b border-solid border-b-surface-5 bg-surface-2 -mb-px hover:brightness-[--hover-brightness] group"
>
<template #title>
<span class="flex items-center gap-3 text-contrast group-active:scale-[0.98]">
<WrenchIcon aria-hidden="true" class="size-5 text-secondary" />
Configure which files are included in this export
</span>
</template>
<div class="flex flex-col [&>*:nth-child(even)]:bg-surface-3">
<div v-for="[path, children] in folders" :key="path.name" class="flex flex-col">
<Accordion
class="flex flex-col"
button-class="flex gap-3 pr-4 hover:bg-surface-5 group"
>
<template #title>
<Checkbox
:model-value="children.every((child) => child.selected)"
:indeterminate="
!children.every((child) => child.selected) &&
children.some((child) => child.selected)
"
:description="formatMessage(messages.includeFile, { file: path.name })"
class="pl-4 py-2"
:disabled="children.every((x) => x.disabled)"
@update:model-value="
(newValue) => children.forEach((child) => (child.selected = newValue))
"
@click.stop
/>
<span class="ml-2 group-active:scale-95">{{ path.name }}/</span>
</template>
<div v-for="child in children" :key="child.path">
<Checkbox
v-model="child.selected"
:label="child.name"
class="w-full px-8 py-2 hover:bg-surface-4 text-primary"
:disabled="child.disabled"
/>
</div>
</Accordion>
</div>
<Checkbox
v-for="file in files"
:key="file.path"
v-model="file.selected"
:label="file.name"
:disabled="file.disabled"
class="w-full px-4 py-2 hover:bg-surface-4 text-primary"
/>
</div>
</Accordion>
<FileTreeSelect
:key="fileTreeKey"
v-model="selectedFilePaths"
class="min-w-0"
:items="files"
@navigate="loadExportDirectory"
/>
</div>
<template #actions>
<div class="flex items-center justify-end gap-2">
<ButtonStyled type="outlined">
<button @click="exportModal.hide">
@@ -249,6 +299,6 @@ const exportPack = async () => {
</button>
</ButtonStyled>
</div>
</div>
</ModalWrapper>
</template>
</NewModal>
</template>
@@ -1,5 +1,5 @@
<script setup lang="ts">
import { MailIcon, SendIcon, UserIcon, UserPlusIcon, XIcon } from '@modrinth/assets'
import { MailIcon, SearchIcon, SendIcon, UserIcon, UserPlusIcon, XIcon } from '@modrinth/assets'
import {
Avatar,
ButtonStyled,
@@ -301,11 +301,12 @@ const messages = defineMessages({
</ButtonStyled>
<StyledInput
v-model="search"
:icon="SearchIcon"
type="text"
:placeholder="formatMessage(messages.searchFriends)"
clearable
variant="outlined"
wrapper-class="flex-1"
input-class="!bg-transparent !border !border-solid !border-button-bg !text-primary !placeholder:text-primary"
wrapper-class="flex-1 [&>svg]:!text-primary [&>svg]:!opacity-100"
@keyup.esc="search = ''"
/>
</template>
+1
View File
@@ -97,6 +97,7 @@ type ReleaseChannel = 'release' | 'beta' | 'alpha'
export type InstanceLoader = 'vanilla' | 'forge' | 'fabric' | 'quilt' | 'neoforge'
type ContentFile = {
enabled: boolean
metadata?: {
project_id: string
version_id: string
+30 -23
View File
@@ -404,28 +404,35 @@ export async function refreshServerData(
): Promise<void> {
const refreshTime = Date.now()
serverData.refreshing = true
await get_server_status(address, protocolVersion)
.then((status) => {
if (serverData.lastSuccessfulRefresh && serverData.lastSuccessfulRefresh > refreshTime) {
// Don't update if there was a more recent successful refresh
return
}
serverData.lastSuccessfulRefresh = Date.now()
serverData.status = status
if (status.description) {
serverData.rawMotd = status.description
serverData.renderedMotd = autoToHTML(status.description)
}
})
.finally(() => {
serverData.refreshing = false
})
.catch((err) => {
console.error(`Refreshing addr ${address}`, protocolVersion, err)
if (!protocolVersion?.legacy) {
refreshServerData(serverData, { version: 74, legacy: true }, address)
}
})
try {
const status = await get_server_status(address, protocolVersion)
if (serverData.lastSuccessfulRefresh && serverData.lastSuccessfulRefresh > refreshTime) {
// Don't update if there was a more recent successful refresh
return
}
serverData.lastSuccessfulRefresh = Date.now()
serverData.status = status
if (status.description) {
serverData.rawMotd = status.description
serverData.renderedMotd = autoToHTML(status.description)
} else {
delete serverData.rawMotd
delete serverData.renderedMotd
}
} catch (err) {
console.error(`Refreshing addr ${address}`, protocolVersion, err)
if (!protocolVersion?.legacy) {
await refreshServerData(serverData, { version: 74, legacy: true }, address)
return
}
if (!serverData.lastSuccessfulRefresh || serverData.lastSuccessfulRefresh <= refreshTime) {
delete serverData.status
delete serverData.rawMotd
delete serverData.renderedMotd
}
} finally {
serverData.refreshing = false
}
}
export function refreshServers(
@@ -444,7 +451,7 @@ export function refreshServers(
}
})
// noinspection ES6MissingAwait - handled with .then by refreshServerData already
// noinspection ES6MissingAwait - handled by refreshServerData
Object.keys(serverData).forEach((address) =>
refreshServerData(serverData[address], protocolVersion, address),
)
@@ -122,9 +122,6 @@
"app.export-modal.modpack-name-placeholder": {
"message": "إسم حزمة التعديل"
},
"app.export-modal.select-files-label": {
"message": "أختيار الملفات التي سيتم تصديرها"
},
"app.export-modal.version-number-label": {
"message": "رقم الإصدار"
},
+139 -22
View File
@@ -11,6 +11,33 @@
"app.action-bar.hide-more-running-instances": {
"message": "Skrýt více spuštěných instancí"
},
"app.action-bar.install.dismiss": {
"message": "Zavřít"
},
"app.action-bar.install.failed": {
"message": "Instalace selhala"
},
"app.action-bar.install.failed-app-closed": {
"message": "Instalace selhala kvůli zavření aplikace."
},
"app.action-bar.install.failed-network": {
"message": "Instalace selhala kvůli chybě sítě."
},
"app.action-bar.install.failed-unknown": {
"message": "Instalace selhala kvůli neznámé chybě."
},
"app.action-bar.install.open-instance": {
"message": "Otevřít instanci"
},
"app.action-bar.install.retry": {
"message": "Zkusit znovu"
},
"app.action-bar.install.unknown-instance": {
"message": "Neznámá instance"
},
"app.action-bar.installs": {
"message": "Instalace"
},
"app.action-bar.make-primary-instance": {
"message": "Nastavit jako primární instanci"
},
@@ -33,7 +60,7 @@
"message": "Zastavit instanci"
},
"app.action-bar.update": {
"message": "Aktualizace"
"message": "Aktualizovat"
},
"app.action-bar.view-active-downloads": {
"message": "Zobrazit probíhající stahování"
@@ -101,8 +128,14 @@
"app.appearance-settings.show-play-time.title": {
"message": "Zobrazit odehraný čas"
},
"app.appearance-settings.skip-non-essential-warnings.description": {
"message": "Automaticky přeskočí nízko riziková potrvzení jako duplicitní instalace modpacků, běžné mazání obsahu, hromadné aktualizace, odpojování modpacků a výzvy k opravě. Nebezpečná upozornění se budou nadále zobrazovat."
},
"app.appearance-settings.skip-non-essential-warnings.title": {
"message": "Přeskočit nedůležitá upozornění"
},
"app.appearance-settings.toggle-sidebar.description": {
"message": "Umožní přepínat zobrazení postranního panelu."
"message": "Umožňí přepínat zobrazení postranního panelu."
},
"app.appearance-settings.toggle-sidebar.title": {
"message": "Přepnout postranní panel"
@@ -141,10 +174,10 @@
"message": "Zpět k instanci"
},
"app.browse.discover-content": {
"message": "Objevovat obsah"
"message": "Objevit obsah"
},
"app.browse.discover-servers": {
"message": "Objevovat servery"
"message": "Objevit servery"
},
"app.browse.hide-added-servers": {
"message": "Skrýt již přidané servery"
@@ -159,7 +192,7 @@
"message": "Instalování"
},
"app.content-install.no-compatible-versions": {
"message": "Žádná dostupná verze se neshoduje s verzí {compatibilityLabel}. Vyber verzi, abys ji i přesto nainstaloval/a. Závislosti nebudou automaticky nainstalovány."
"message": "Žádné dostupné verze se neshodují s {compatibilityLabel}. Vyberte verzi, kterou chcete přesto nainstalovat. Závislosti nebudou nainstalovány automaticky."
},
"app.export-modal.description-placeholder": {
"message": "Zadej popis modpacku..."
@@ -170,24 +203,72 @@
"app.export-modal.header": {
"message": "Exportovat modpack"
},
"app.export-modal.include-file-accessibility-label": {
"message": "Zahrnout \"{file}\"?"
},
"app.export-modal.modpack-name-label": {
"message": "Název modpacku"
},
"app.export-modal.modpack-name-placeholder": {
"message": "Název modpacku"
},
"app.export-modal.select-files-label": {
"message": "Nastavte, které soubory mají být do tohoto exportu zahrnuty"
},
"app.export-modal.version-number-label": {
"message": "Číslo verze"
},
"app.export-modal.version-number-placeholder": {
"message": "1.0.0"
},
"app.install.phase.downloading_content": {
"message": "Stahování obsahu"
},
"app.install.phase.downloading_minecraft": {
"message": "Stahování Minecraftu"
},
"app.install.phase.downloading_pack_file": {
"message": "Stahování pack souboru"
},
"app.install.phase.extracting_overrides": {
"message": "Rozbalování souborů overrides"
},
"app.install.phase.finalizing": {
"message": "Dokončení instalace"
},
"app.install.phase.preparing_instance": {
"message": "Příprava instance"
},
"app.install.phase.preparing_java": {
"message": "Příprava Javy"
},
"app.install.phase.preparing_java.downloading": {
"message": "Stahování Javy {version}"
},
"app.install.phase.preparing_java.extracting": {
"message": "Rozbalování Javy {version}"
},
"app.install.phase.preparing_java.fetching-metadata": {
"message": "Získávání Javy {version}"
},
"app.install.phase.preparing_java.resolving": {
"message": "Připravení Javy {version}"
},
"app.install.phase.preparing_java.validating": {
"message": "Validace Javy {version}"
},
"app.install.phase.reading_pack_manifest": {
"message": "Čtení pack manifestu"
},
"app.install.phase.resolving_loader": {
"message": "Vyhodnocování loaderu"
},
"app.install.phase.resolving_minecraft": {
"message": "Vyhodnocování Minecraftu"
},
"app.install.phase.resolving_pack": {
"message": "Vyhodnocování obsahu"
},
"app.install.phase.rolling_back": {
"message": "Obnovování do předchozího stavu"
},
"app.install.phase.running_loader_processors": {
"message": "Spuštění loader procesů"
},
"app.instance.confirm-delete.admonition-body": {
"message": "Všechna data tvé instance budou trvale smazána, včetně světů, konfigurací a veškerého nainstalovaného obsahu."
},
@@ -195,7 +276,7 @@
"message": "Tato akce nemůže být vrácena"
},
"app.instance.confirm-delete.delete-button": {
"message": "Odstranit instanci"
"message": "Smazat instanci"
},
"app.instance.confirm-delete.header": {
"message": "Odstranění instance"
@@ -212,6 +293,15 @@
"app.instance.modpack-already-installed.instance": {
"message": "Instance"
},
"app.instance.mods.bulk-update.downloading-projects": {
"message": "Stahování {current, number}/{total, number} projektů..."
},
"app.instance.mods.bulk-update.finishing": {
"message": "Dokončení aktualizace..."
},
"app.instance.mods.bulk-update.resolving-versions": {
"message": "Vyhodnocování verzí..."
},
"app.instance.mods.content-type-project": {
"message": "projekt"
},
@@ -236,8 +326,20 @@
"app.instance.worlds.browse-servers": {
"message": "Procházet servery"
},
"app.instance.worlds.delete-world-modal.delete-button": {
"message": "Smazat svět"
},
"app.instance.worlds.delete-world-modal.title": {
"message": "Smazat svět"
},
"app.instance.worlds.delete-world-modal.warning-body": {
"message": "Tento svět bude trvale smazán z této instance. Tuto akci nelze vrátit zpět."
},
"app.instance.worlds.delete-world-modal.warning-header": {
"message": "Mazání {name}"
},
"app.instance.worlds.filter-modded": {
"message": "Módovaný"
"message": "Módované"
},
"app.instance.worlds.filter-offline": {
"message": "Offline"
@@ -249,10 +351,22 @@
"message": "Vanilla"
},
"app.instance.worlds.no-worlds-description": {
"message": "Přidej server nebo začni procházet"
"message": "Začněte přidáním serveru nebo procházením obsahu"
},
"app.instance.worlds.no-worlds-heading": {
"message": "Žádné servery nebo světy nebyly přidány"
"message": "Nejsou přidané žádné servery nebo světy"
},
"app.instance.worlds.remove-server-modal.remove-button": {
"message": "Odebrat server"
},
"app.instance.worlds.remove-server-modal.title": {
"message": "Odebrat server"
},
"app.instance.worlds.remove-server-modal.warning-body": {
"message": "Tento server bude odebrán z vašeho seznamu serverů i ze seznamu serverů ve hře. Pokud znáte jeho adresu, můžete ho později znovu přidat."
},
"app.instance.worlds.remove-server-modal.warning-header": {
"message": "Odebírání {name}"
},
"app.instance.worlds.search-worlds-placeholder": {
"message": "Hledat v {count} světech..."
@@ -339,7 +453,7 @@
"message": "Smazat skin"
},
"app.skins.delete-modal.description": {
"message": "Tahle akce navždy smaže vybraný skin a nejde vrátit zpět."
"message": "Tímto dojde k trvalému smazání vybreného skinu. Tuto akci nelze vrátit zpět."
},
"app.skins.delete-modal.title": {
"message": "Opravdu chceš smazat tenhle skin?"
@@ -468,19 +582,19 @@
"message": "Nadšený Modrinth Bot"
},
"app.skins.sign-in.title": {
"message": "Přihlas se prosím"
"message": "Přihlaš se prosím"
},
"app.skins.title": {
"message": "Výběr skinu"
},
"app.update-popup.body.download-complete": {
"message": "Stahování aplikace Modrinth v{version} bylo dokončeno. Aktualizujte ji znovunačtením nebo se automaticky aktualizuje po zavření."
"message": "Stahování Modrinth App v{version} bylo dokončeno. Aktualizujte ji znovunačtením nebo se automaticky aktualizuje po zavření."
},
"app.update-popup.body.linux": {
"message": "Aplikace Modrinth v{version} je k dispozici. Aktualizujte ji pomocí svého správce balíčků, abyste získali nejnovější funkce a opravy!"
"message": "Modrinth App v{version} je k dispozici. Aktualizujte ji pomocí svého správce balíčků, abyste získali nejnovější funkce a opravy!"
},
"app.update-popup.body.metered": {
"message": "Aplikace Modrinth v{version} je nyní k dispozici! Protože jste v měřené síti, nebyla stažena automaticky."
"message": "Modrinth App v{version} je nyní k dispozici! Protože jste v měřené síti, nebyla stažena automaticky."
},
"app.update-popup.changelog": {
"message": "Seznam změn"
@@ -693,13 +807,13 @@
"message": "Jméno"
},
"instance.settings.tabs.general.update-channel": {
"message": "Aktualizační kanál"
"message": "Kanál aktualiza"
},
"instance.settings.tabs.general.update-channel.alpha": {
"message": "Alfa"
},
"instance.settings.tabs.general.update-channel.alpha.description": {
"message": "Vydané, beta a alfa verze se zobrazí jako dostupné aktualizace."
"message": "Verze typu release, beta a alpha se budou zobrazovat jako dostupné aktualizace."
},
"instance.settings.tabs.general.update-channel.beta": {
"message": "Beta"
@@ -839,6 +953,9 @@
"instance.worlds.copy_address": {
"message": "Kopírovat adresu"
},
"instance.worlds.create_shortcut": {
"message": "Vytvořit záložku"
},
"instance.worlds.dont_show_on_home": {
"message": "Nezobrazovat na domovské stránce"
},
@@ -164,18 +164,12 @@
"app.export-modal.header": {
"message": "Eksporter modpack"
},
"app.export-modal.include-file-accessibility-label": {
"message": "Inkludere \"{file}\"?"
},
"app.export-modal.modpack-name-label": {
"message": "Modpack Navn"
},
"app.export-modal.modpack-name-placeholder": {
"message": "Modpack navn"
},
"app.export-modal.select-files-label": {
"message": "Konfigurer hvilke filer inkludere i denne eksport"
},
"app.export-modal.version-number-label": {
"message": "Versionsnummer"
},
+123 -6
View File
@@ -11,6 +11,33 @@
"app.action-bar.hide-more-running-instances": {
"message": "Weitere laufende Instanzen ausblenden"
},
"app.action-bar.install.dismiss": {
"message": "Ignorieren"
},
"app.action-bar.install.failed": {
"message": "Installation fehlgeschlagen"
},
"app.action-bar.install.failed-app-closed": {
"message": "Installation aufgrund des Schließens der App fehlgeschlagen."
},
"app.action-bar.install.failed-network": {
"message": "Installation aufgrund eines Netzwerkfehlers fehlgeschlagen."
},
"app.action-bar.install.failed-unknown": {
"message": "Installation aufgrund eines unbekannten Fehlers fehlgeschlagen."
},
"app.action-bar.install.open-instance": {
"message": "Instanz öffnen"
},
"app.action-bar.install.retry": {
"message": "Wiederholen"
},
"app.action-bar.install.unknown-instance": {
"message": "Unbekannte Instanz"
},
"app.action-bar.installs": {
"message": "Installationen"
},
"app.action-bar.make-primary-instance": {
"message": "Zur primären Instanz machen"
},
@@ -101,6 +128,12 @@
"app.appearance-settings.show-play-time.title": {
"message": "Spielzeit anzeigen"
},
"app.appearance-settings.skip-non-essential-warnings.description": {
"message": "Überspringt automatisch Bestätigungen mit geringem Risiko, wie z. B. die doppelte Installation von Modpacks, das Löschen normaler Inhalte, Massenaktualisierungen, das Trennen von Modpacks und Reparaturen. Warnungen bei gefährlichen Aktionen werden weiterhin angezeigt."
},
"app.appearance-settings.skip-non-essential-warnings.title": {
"message": "Nicht essenzielle Warnungen überspringen"
},
"app.appearance-settings.toggle-sidebar.description": {
"message": "Ermöglicht das Umschalten der Seitenleiste."
},
@@ -170,24 +203,72 @@
"app.export-modal.header": {
"message": "Modpack exportieren"
},
"app.export-modal.include-file-accessibility-label": {
"message": "\"{file}\" einschliessen?"
},
"app.export-modal.modpack-name-label": {
"message": "Modpaketname"
},
"app.export-modal.modpack-name-placeholder": {
"message": "Modpaketname"
},
"app.export-modal.select-files-label": {
"message": "Konfiguriere, welche Dateien in diesem Export miteinbezogen werden"
},
"app.export-modal.version-number-label": {
"message": "Versionsnummer"
},
"app.export-modal.version-number-placeholder": {
"message": "1.0.0"
},
"app.install.phase.downloading_content": {
"message": "Lade Inhalte herunter"
},
"app.install.phase.downloading_minecraft": {
"message": "Lade Minecraft herunter"
},
"app.install.phase.downloading_pack_file": {
"message": "Lade Packdatei herunter"
},
"app.install.phase.extracting_overrides": {
"message": "Überschreibungen extrahieren"
},
"app.install.phase.finalizing": {
"message": "Abschliessen"
},
"app.install.phase.preparing_instance": {
"message": "Instanz präparieren"
},
"app.install.phase.preparing_java": {
"message": "Java präparieren"
},
"app.install.phase.preparing_java.downloading": {
"message": "Java {version} herunterladen"
},
"app.install.phase.preparing_java.extracting": {
"message": "Java {version} extrahieren"
},
"app.install.phase.preparing_java.fetching-metadata": {
"message": "Java {version} wird heruntergeladen"
},
"app.install.phase.preparing_java.resolving": {
"message": "Java {version} präparieren"
},
"app.install.phase.preparing_java.validating": {
"message": "Java {version} validieren"
},
"app.install.phase.reading_pack_manifest": {
"message": "Paketmanifest wird gelesen"
},
"app.install.phase.resolving_loader": {
"message": "Loader wird ermittelt"
},
"app.install.phase.resolving_minecraft": {
"message": "Minecraft wird ermittelt"
},
"app.install.phase.resolving_pack": {
"message": "Inhalte werden ermittelt"
},
"app.install.phase.rolling_back": {
"message": "Wird rückgängig gemacht"
},
"app.install.phase.running_loader_processors": {
"message": "Loader-Prozesse werden ausgeführt"
},
"app.instance.confirm-delete.admonition-body": {
"message": "Alle Daten deiner Instanz werden permanent gelöscht, inlusive deiner Welten, Konfigurationen und allen installierten Inhalten."
},
@@ -212,6 +293,15 @@
"app.instance.modpack-already-installed.instance": {
"message": "Instanz"
},
"app.instance.mods.bulk-update.downloading-projects": {
"message": "Lade {current, number}/{total, number} Projekte..."
},
"app.instance.mods.bulk-update.finishing": {
"message": "Update abschliessen..."
},
"app.instance.mods.bulk-update.resolving-versions": {
"message": "Versionen werden ermittelt..."
},
"app.instance.mods.content-type-project": {
"message": "Projekt"
},
@@ -236,6 +326,18 @@
"app.instance.worlds.browse-servers": {
"message": "Server durchsuchen"
},
"app.instance.worlds.delete-world-modal.delete-button": {
"message": "Welt löschen"
},
"app.instance.worlds.delete-world-modal.title": {
"message": "Welt löschen"
},
"app.instance.worlds.delete-world-modal.warning-body": {
"message": "Diese Welt wird permanent gelöscht von dieser Instanz, dies kann nicht rückgängig gemacht werden."
},
"app.instance.worlds.delete-world-modal.warning-header": {
"message": "Lösche {name}"
},
"app.instance.worlds.filter-modded": {
"message": "Modifiziert"
},
@@ -254,6 +356,18 @@
"app.instance.worlds.no-worlds-heading": {
"message": "Keine Server oder Welten hinzugefügt"
},
"app.instance.worlds.remove-server-modal.remove-button": {
"message": "Server entfernen"
},
"app.instance.worlds.remove-server-modal.title": {
"message": "Server entfernen"
},
"app.instance.worlds.remove-server-modal.warning-body": {
"message": "Dieser Server wird aus deiner Serverliste und aus der Serverliste im Spiel entfernt. Du kannst ihn später wieder hinzufügen, wenn du die Adresse kennst."
},
"app.instance.worlds.remove-server-modal.warning-header": {
"message": "Entferne {name}"
},
"app.instance.worlds.search-worlds-placeholder": {
"message": "Durchsuche {count} Welten..."
},
@@ -839,6 +953,9 @@
"instance.worlds.copy_address": {
"message": "Adresse kopieren"
},
"instance.worlds.create_shortcut": {
"message": "Shortcut erstellen"
},
"instance.worlds.dont_show_on_home": {
"message": "Nicht auf Startseite anzeigen"
},
+123 -6
View File
@@ -11,6 +11,33 @@
"app.action-bar.hide-more-running-instances": {
"message": "Weitere laufende Instanzen ausblenden"
},
"app.action-bar.install.dismiss": {
"message": "Ausblenden"
},
"app.action-bar.install.failed": {
"message": "Installation fehlgeschlagen"
},
"app.action-bar.install.failed-app-closed": {
"message": "Installation aufgrund des Schließens der App fehlgeschlagen."
},
"app.action-bar.install.failed-network": {
"message": "Installation aufgrund eines Netzwerkfehlers fehlgeschlagen."
},
"app.action-bar.install.failed-unknown": {
"message": "Installation aufgrund eines unbekannten Fehlers fehlgeschlagen."
},
"app.action-bar.install.open-instance": {
"message": "Instanz öffnen"
},
"app.action-bar.install.retry": {
"message": "Erneut versuchen"
},
"app.action-bar.install.unknown-instance": {
"message": "Unbekannte Instanz"
},
"app.action-bar.installs": {
"message": "Installationen"
},
"app.action-bar.make-primary-instance": {
"message": "Zur primären Instanz machen"
},
@@ -101,6 +128,12 @@
"app.appearance-settings.show-play-time.title": {
"message": "Spielzeit anzeigen"
},
"app.appearance-settings.skip-non-essential-warnings.description": {
"message": "Überspringt automatisch Bestätigungen mit geringem Risiko, wie z. B. die doppelte Installation von Modpacks, das Löschen normaler Inhalte, Massenaktualisierungen, das Trennen von Modpacks und Reparaturen. Warnungen bei gefährlichen Aktionen werden weiterhin angezeigt."
},
"app.appearance-settings.skip-non-essential-warnings.title": {
"message": "Unwichtige Warnungen überspringen"
},
"app.appearance-settings.toggle-sidebar.description": {
"message": "Ermöglicht das Umschalten der Seitenleiste."
},
@@ -170,24 +203,72 @@
"app.export-modal.header": {
"message": "Modpack exportieren"
},
"app.export-modal.include-file-accessibility-label": {
"message": "\"{file}\" einschließen?"
},
"app.export-modal.modpack-name-label": {
"message": "Modpackname"
},
"app.export-modal.modpack-name-placeholder": {
"message": "Modpackname"
},
"app.export-modal.select-files-label": {
"message": "Konfiguriere, welche Dateien in diesen Export enthalten sind"
},
"app.export-modal.version-number-label": {
"message": "Versionsnummer"
},
"app.export-modal.version-number-placeholder": {
"message": "1.0.0"
},
"app.install.phase.downloading_content": {
"message": "Inhalte werden heruntergeladen"
},
"app.install.phase.downloading_minecraft": {
"message": "Minecraft wird heruntergeladen"
},
"app.install.phase.downloading_pack_file": {
"message": "Paketdatei wird herunterladen"
},
"app.install.phase.extracting_overrides": {
"message": "Überschreibungen werden extrahiert"
},
"app.install.phase.finalizing": {
"message": "Wird finalisiert"
},
"app.install.phase.preparing_instance": {
"message": "Instanz wird vorbereitet"
},
"app.install.phase.preparing_java": {
"message": "Java wird vorbereitet"
},
"app.install.phase.preparing_java.downloading": {
"message": "Java {version} wird heruntergeladen"
},
"app.install.phase.preparing_java.extracting": {
"message": "Java {version} wird extrahiert"
},
"app.install.phase.preparing_java.fetching-metadata": {
"message": "Java {version} wird heruntergeladen"
},
"app.install.phase.preparing_java.resolving": {
"message": "Java {version} wird vorbereitet"
},
"app.install.phase.preparing_java.validating": {
"message": "Java {version} wird validiert"
},
"app.install.phase.reading_pack_manifest": {
"message": "Paketmanifest wird gelesen"
},
"app.install.phase.resolving_loader": {
"message": "Loader wird ermittelt"
},
"app.install.phase.resolving_minecraft": {
"message": "Minecraft wird ermittelt"
},
"app.install.phase.resolving_pack": {
"message": "Inhalte werden ermittelt"
},
"app.install.phase.rolling_back": {
"message": "Wird rückgängig gemacht"
},
"app.install.phase.running_loader_processors": {
"message": "Loader-Prozesse werden ausgeführt"
},
"app.instance.confirm-delete.admonition-body": {
"message": "Alle Daten deiner Instanz werden permanent gelöscht, einschließlich deiner Welten, Konfigurationen und allen installierten Inhalten."
},
@@ -212,6 +293,15 @@
"app.instance.modpack-already-installed.instance": {
"message": "Instanz"
},
"app.instance.mods.bulk-update.downloading-projects": {
"message": "{current, number}/{total, number} Projekte werden heruntergelanden..."
},
"app.instance.mods.bulk-update.finishing": {
"message": "Update wird fertiggestellt..."
},
"app.instance.mods.bulk-update.resolving-versions": {
"message": "Versionen werden ermittelt..."
},
"app.instance.mods.content-type-project": {
"message": "Projekt"
},
@@ -236,6 +326,18 @@
"app.instance.worlds.browse-servers": {
"message": "Server durchsuchen"
},
"app.instance.worlds.delete-world-modal.delete-button": {
"message": "Welt löschen"
},
"app.instance.worlds.delete-world-modal.title": {
"message": "Welt löschen"
},
"app.instance.worlds.delete-world-modal.warning-body": {
"message": "Die Welt wird permanent von der Instanz gelöscht. Diese Aktion kann nicht rückgängig gemacht werden."
},
"app.instance.worlds.delete-world-modal.warning-header": {
"message": "{name} wird gelöscht"
},
"app.instance.worlds.filter-modded": {
"message": "Modifiziert"
},
@@ -254,6 +356,18 @@
"app.instance.worlds.no-worlds-heading": {
"message": "Keine Server oder Welten hinzugefügt"
},
"app.instance.worlds.remove-server-modal.remove-button": {
"message": "Server entfernen"
},
"app.instance.worlds.remove-server-modal.title": {
"message": "Server entfernen"
},
"app.instance.worlds.remove-server-modal.warning-body": {
"message": "Dieser Server wird aus deiner Serverliste und aus der Serverliste im Spiel entfernt. Du kannst ihn später wieder hinzufügen, wenn du die Adresse kennst."
},
"app.instance.worlds.remove-server-modal.warning-header": {
"message": "{name} wird entfernt"
},
"app.instance.worlds.search-worlds-placeholder": {
"message": "Durchsuche {count} Welten..."
},
@@ -839,6 +953,9 @@
"instance.worlds.copy_address": {
"message": "Adresse kopieren"
},
"instance.worlds.create_shortcut": {
"message": "Verknüpfung erstellen"
},
"instance.worlds.dont_show_on_home": {
"message": "Nicht auf der Startseite anzeigen"
},
@@ -203,18 +203,12 @@
"app.export-modal.header": {
"message": "Export modpack"
},
"app.export-modal.include-file-accessibility-label": {
"message": "Include \"{file}\"?"
},
"app.export-modal.modpack-name-label": {
"message": "Modpack Name"
"message": "Modpack name"
},
"app.export-modal.modpack-name-placeholder": {
"message": "Modpack name"
},
"app.export-modal.select-files-label": {
"message": "Configure which files are included in this export"
},
"app.export-modal.version-number-label": {
"message": "Version number"
},
@@ -542,6 +536,9 @@
"app.skins.section.builders-and-biomes": {
"message": "Builders & Biomes"
},
"app.skins.section.chaos-cubed": {
"message": "Chaos Cubed"
},
"app.skins.section.chase-the-skies": {
"message": "Chase the Skies"
},
+123 -6
View File
@@ -11,6 +11,33 @@
"app.action-bar.hide-more-running-instances": {
"message": "Ocultar más instancias en ejecución"
},
"app.action-bar.install.dismiss": {
"message": "Descartar"
},
"app.action-bar.install.failed": {
"message": "La instalación falló"
},
"app.action-bar.install.failed-app-closed": {
"message": "La instalación falló porque la aplicación se cerró."
},
"app.action-bar.install.failed-network": {
"message": "La instalación falló debido a un error de red."
},
"app.action-bar.install.failed-unknown": {
"message": "La instalación falló debido a un error desconocido."
},
"app.action-bar.install.open-instance": {
"message": "Abrir instancia"
},
"app.action-bar.install.retry": {
"message": "Reintentar"
},
"app.action-bar.install.unknown-instance": {
"message": "Instancia desconocida"
},
"app.action-bar.installs": {
"message": "Instalaciones"
},
"app.action-bar.make-primary-instance": {
"message": "Hacer instancia principal"
},
@@ -101,6 +128,12 @@
"app.appearance-settings.show-play-time.title": {
"message": "Mostrar tiempo de juego"
},
"app.appearance-settings.skip-non-essential-warnings.description": {
"message": "Omite automáticamente las confirmaciones de bajo riesgo, como las instalaciones duplicadas de paquetes de mods, la eliminación de contenido normal, las actualizaciones masivas, la desvinculación de paquetes de mods y las solicitudes de reparación. Las advertencias peligrosas seguirán mostrándose."
},
"app.appearance-settings.skip-non-essential-warnings.title": {
"message": "Omitir advertencias que no sean esenciales"
},
"app.appearance-settings.toggle-sidebar.description": {
"message": "Permite mostrar u ocultar la barra lateral."
},
@@ -170,24 +203,72 @@
"app.export-modal.header": {
"message": "Exportar modpack"
},
"app.export-modal.include-file-accessibility-label": {
"message": "¿Incluir \"{file}\"?"
},
"app.export-modal.modpack-name-label": {
"message": "Nombre del modpack"
},
"app.export-modal.modpack-name-placeholder": {
"message": "Nombre del modpack"
},
"app.export-modal.select-files-label": {
"message": "Configura que archivos incluir en esta exportación"
},
"app.export-modal.version-number-label": {
"message": "Número de la versión"
},
"app.export-modal.version-number-placeholder": {
"message": "1.0.0"
},
"app.install.phase.downloading_content": {
"message": "Descargando contenido"
},
"app.install.phase.downloading_minecraft": {
"message": "Descargando Minecraft"
},
"app.install.phase.downloading_pack_file": {
"message": "Descargando el archivo del paquete"
},
"app.install.phase.extracting_overrides": {
"message": "Extracción de anulaciones"
},
"app.install.phase.finalizing": {
"message": "Finalizando"
},
"app.install.phase.preparing_instance": {
"message": "Preparando la instancia"
},
"app.install.phase.preparing_java": {
"message": "Preparando Java"
},
"app.install.phase.preparing_java.downloading": {
"message": "Descargando Java {version}"
},
"app.install.phase.preparing_java.extracting": {
"message": "Descomprimiendo Java {version}"
},
"app.install.phase.preparing_java.fetching-metadata": {
"message": "Obteniendo Java {version}"
},
"app.install.phase.preparing_java.resolving": {
"message": "Preparando Java {version}"
},
"app.install.phase.preparing_java.validating": {
"message": "Validación de Java {version}"
},
"app.install.phase.reading_pack_manifest": {
"message": "Leer el manifiesto del paquete"
},
"app.install.phase.resolving_loader": {
"message": "Resolviendo el cargador"
},
"app.install.phase.resolving_minecraft": {
"message": "Resolviendo Minecraft"
},
"app.install.phase.resolving_pack": {
"message": "Resolviendo el contenido"
},
"app.install.phase.rolling_back": {
"message": "Revertir"
},
"app.install.phase.running_loader_processors": {
"message": "Ejecutando los procesadores del cargador"
},
"app.instance.confirm-delete.admonition-body": {
"message": "Todos los datos de tu instancia se eliminarán permanentemente, incluidos tus mundos, configuraciones y todo el contenido instalado."
},
@@ -212,6 +293,15 @@
"app.instance.modpack-already-installed.instance": {
"message": "Instancia"
},
"app.instance.mods.bulk-update.downloading-projects": {
"message": "Descargando {current, number}/{total, number} proyectos..."
},
"app.instance.mods.bulk-update.finishing": {
"message": "Finalizando la actualización..."
},
"app.instance.mods.bulk-update.resolving-versions": {
"message": "Resolviendo versiones..."
},
"app.instance.mods.content-type-project": {
"message": "proyecto"
},
@@ -236,6 +326,18 @@
"app.instance.worlds.browse-servers": {
"message": "Explorar servidores"
},
"app.instance.worlds.delete-world-modal.delete-button": {
"message": "Eliminar mundo"
},
"app.instance.worlds.delete-world-modal.title": {
"message": "Eliminar mundo"
},
"app.instance.worlds.delete-world-modal.warning-body": {
"message": "Este mundo se eliminará de forma permanente de esta instancia. Esta acción no se puede deshacer."
},
"app.instance.worlds.delete-world-modal.warning-header": {
"message": "Eliminando {name}"
},
"app.instance.worlds.filter-modded": {
"message": "Con mods"
},
@@ -254,6 +356,18 @@
"app.instance.worlds.no-worlds-heading": {
"message": "No hay servidores ni mundos añadidos"
},
"app.instance.worlds.remove-server-modal.remove-button": {
"message": "Eliminar servidor"
},
"app.instance.worlds.remove-server-modal.title": {
"message": "Eliminar servidor"
},
"app.instance.worlds.remove-server-modal.warning-body": {
"message": "Este servidor se eliminará de tu lista de servidores y de la lista de servidores del juego. Puedes volver a agregarlo más adelante si conoces la dirección."
},
"app.instance.worlds.remove-server-modal.warning-header": {
"message": "Se está eliminando {name}"
},
"app.instance.worlds.search-worlds-placeholder": {
"message": "Buscar en {count} mundos..."
},
@@ -839,6 +953,9 @@
"instance.worlds.copy_address": {
"message": "Copiar dirección"
},
"instance.worlds.create_shortcut": {
"message": "Crear un acceso directo"
},
"instance.worlds.dont_show_on_home": {
"message": "No mostrar en la página de inicio"
},
+12 -6
View File
@@ -11,6 +11,18 @@
"app.action-bar.hide-more-running-instances": {
"message": "Ocultar más instancias en ejecución"
},
"app.action-bar.install.dismiss": {
"message": "Descartar"
},
"app.action-bar.install.failed": {
"message": "La instalación falló"
},
"app.action-bar.install.failed-app-closed": {
"message": "La instalación falló porque la aplicación se cerró."
},
"app.action-bar.install.failed-network": {
"message": "La instalación falló debido a un error de red."
},
"app.action-bar.make-primary-instance": {
"message": "Establecer como instancia principal"
},
@@ -170,18 +182,12 @@
"app.export-modal.header": {
"message": "Exportar modpack"
},
"app.export-modal.include-file-accessibility-label": {
"message": "¿Incluir \"{file}\"?"
},
"app.export-modal.modpack-name-label": {
"message": "Nombre del modpack"
},
"app.export-modal.modpack-name-placeholder": {
"message": "Nombre del modpack"
},
"app.export-modal.select-files-label": {
"message": "Configura que archivos se incluirán en esta instancia"
},
"app.export-modal.version-number-label": {
"message": "Número de versión"
},
+285 -6
View File
@@ -2,12 +2,42 @@
"app.action-bar.downloading-java": {
"message": "Ladataan Java-versiota {version}"
},
"app.action-bar.downloading-update": {
"message": "Ladataan päivitystä"
},
"app.action-bar.downloads": {
"message": "Lataukset"
},
"app.action-bar.hide-more-running-instances": {
"message": "Piilota enemmän käynnissä olevia instansseja"
},
"app.action-bar.install.dismiss": {
"message": "Hylkää"
},
"app.action-bar.install.failed": {
"message": "Asennus epäonnistui"
},
"app.action-bar.install.failed-app-closed": {
"message": "Asennus epäonnistui sovelluksen sulkeutumisen vuoksi."
},
"app.action-bar.install.failed-network": {
"message": "Asennus epäonnistui verkkovirheen vuoksi."
},
"app.action-bar.install.failed-unknown": {
"message": "Asennus epäonnistui tuntemattoman virheen vuoksi."
},
"app.action-bar.install.open-instance": {
"message": "Avaa instanssi"
},
"app.action-bar.install.retry": {
"message": "Yritä uudelleen"
},
"app.action-bar.install.unknown-instance": {
"message": "Tuntematon instanssi"
},
"app.action-bar.installs": {
"message": "Asennukset"
},
"app.action-bar.make-primary-instance": {
"message": "Aseta ensisijaiseksi instanssiksi"
},
@@ -20,12 +50,18 @@
"app.action-bar.primary-instance": {
"message": "Ensisijainen instanssi"
},
"app.action-bar.reload-to-update": {
"message": "Lataa uudelleen päivittääksesi"
},
"app.action-bar.show-more-running-instances": {
"message": "Näytä enemmän käynnissä olevia instansseja"
},
"app.action-bar.stop-instance": {
"message": "Pysäytä instanssi"
},
"app.action-bar.update": {
"message": "Päivitä"
},
"app.action-bar.view-active-downloads": {
"message": "Näytä aktiiviset lataukset"
},
@@ -86,6 +122,18 @@
"app.appearance-settings.select-option": {
"message": "Valitse vaihtoehto"
},
"app.appearance-settings.show-play-time.description": {
"message": "Näyttää, kuinka paljon aikaa olet käyttänyt instanssin pelaamiseen."
},
"app.appearance-settings.show-play-time.title": {
"message": "Näyttää peliaika"
},
"app.appearance-settings.skip-non-essential-warnings.description": {
"message": "Ohittaa automaattisesti vähäriskiset vahvistukset, kuten modpackien kaksoisasennukset, tavallisen sisällön poistamisen, massapäivitykset, modpackien linkityksen poistamisen ja korjauskehotteet. Vaaralliset varoitukset näytetään silti."
},
"app.appearance-settings.skip-non-essential-warnings.title": {
"message": "Ohita ei olennaiset varoitukset"
},
"app.appearance-settings.toggle-sidebar.description": {
"message": "Laittaa päälle mahdollisuuden kytkeä sivupalkkia."
},
@@ -155,24 +203,72 @@
"app.export-modal.header": {
"message": "Vie modipaketti"
},
"app.export-modal.include-file-accessibility-label": {
"message": "Sisällytä \"{file}\"?"
},
"app.export-modal.modpack-name-label": {
"message": "Modipaketin nimi"
},
"app.export-modal.modpack-name-placeholder": {
"message": "Modipaketin nimi"
},
"app.export-modal.select-files-label": {
"message": "Muuta mitkä tiedostot sisältyvät tähän vientiin"
},
"app.export-modal.version-number-label": {
"message": "Versio numero"
},
"app.export-modal.version-number-placeholder": {
"message": "1.0.0"
},
"app.install.phase.downloading_content": {
"message": "Ladataan sisältöä"
},
"app.install.phase.downloading_minecraft": {
"message": "Ladataan Minecraftia"
},
"app.install.phase.downloading_pack_file": {
"message": "Ladataan paketti tiedostoja"
},
"app.install.phase.extracting_overrides": {
"message": "Puretaan ohituksia"
},
"app.install.phase.finalizing": {
"message": "Viimeistellään"
},
"app.install.phase.preparing_instance": {
"message": "Valmistellaan instanssia"
},
"app.install.phase.preparing_java": {
"message": "Valmistellaan Javaa"
},
"app.install.phase.preparing_java.downloading": {
"message": "Ladataan Java {version}"
},
"app.install.phase.preparing_java.extracting": {
"message": "Puretaan Java {version}"
},
"app.install.phase.preparing_java.fetching-metadata": {
"message": "Haetaan Java {version}"
},
"app.install.phase.preparing_java.resolving": {
"message": "Valmistellaan Java {version}"
},
"app.install.phase.preparing_java.validating": {
"message": "Tarkistetaan Java {version}"
},
"app.install.phase.reading_pack_manifest": {
"message": "Luetaan paketin manifestia"
},
"app.install.phase.resolving_loader": {
"message": "Ratkaistaan lataajaa"
},
"app.install.phase.resolving_minecraft": {
"message": "Ratkaistaan Minecraftia"
},
"app.install.phase.resolving_pack": {
"message": "Ratkaistaan sisältöä"
},
"app.install.phase.rolling_back": {
"message": "Palautetaan muutoksia"
},
"app.install.phase.running_loader_processors": {
"message": "Suoritetaan lataajan käsittelijöitä"
},
"app.instance.confirm-delete.admonition-body": {
"message": "Kaikki sinun instanssisi data poistetaan pysyvästi, sisältäen maailmasi, konfiguraatiosi ja asennetun sisällön."
},
@@ -197,6 +293,15 @@
"app.instance.modpack-already-installed.instance": {
"message": "Instanssi"
},
"app.instance.mods.bulk-update.downloading-projects": {
"message": "Ladataan {current, number}/{total, number} projekteja..."
},
"app.instance.mods.bulk-update.finishing": {
"message": "Viimeistellään päivitystä..."
},
"app.instance.mods.bulk-update.resolving-versions": {
"message": "Selvitetään versioita..."
},
"app.instance.mods.content-type-project": {
"message": "projekti"
},
@@ -221,6 +326,18 @@
"app.instance.worlds.browse-servers": {
"message": "Selaa palvelimia"
},
"app.instance.worlds.delete-world-modal.delete-button": {
"message": "Poista maailma"
},
"app.instance.worlds.delete-world-modal.title": {
"message": "Poista maailma"
},
"app.instance.worlds.delete-world-modal.warning-body": {
"message": "Tämä maailma poistetaan pysyvästi tästä instanssista. Tätä toimintoa ei voi kumota."
},
"app.instance.worlds.delete-world-modal.warning-header": {
"message": "Poistetaan {name}"
},
"app.instance.worlds.filter-modded": {
"message": "Modattu"
},
@@ -239,6 +356,18 @@
"app.instance.worlds.no-worlds-heading": {
"message": "Ei palvelimia tai maailmoja lisättynä"
},
"app.instance.worlds.remove-server-modal.remove-button": {
"message": "Poista palvelin"
},
"app.instance.worlds.remove-server-modal.title": {
"message": "Poista palvelin"
},
"app.instance.worlds.remove-server-modal.warning-body": {
"message": "Tämä palvelin poistetaan palvelinluettelostasi ja pelin sisäisestä palvelinluettelosta. Voit lisätä sen myöhemmin uudelleen, jos tiedät osoitteen."
},
"app.instance.worlds.remove-server-modal.warning-header": {
"message": "Poistetaan {name}"
},
"app.instance.worlds.search-worlds-placeholder": {
"message": "Hae {count} maailmasta..."
},
@@ -311,15 +440,147 @@
"app.settings.tabs.resource-management": {
"message": "Resurssien hallinta"
},
"app.skins.add-button": {
"message": "Lisää ulkoasu"
},
"app.skins.add-button.drag-and-drop": {
"message": "Raahaa ja pudota"
},
"app.skins.apply-button": {
"message": "Käytä"
},
"app.skins.delete-button": {
"message": "Poista ulkoasu"
},
"app.skins.delete-modal.description": {
"message": "Tämä poistaa valitun skinin pysyvästi. Tätä toimintoa ei voi kumota."
},
"app.skins.delete-modal.title": {
"message": "Haluatko varmasti poistaa ulkoasun?"
},
"app.skins.dropped-file-error.text": {
"message": "Tiedoston lukeminen epäonnistui."
},
"app.skins.dropped-file-error.title": {
"message": "Virhe prosessoidessa tiedostoa"
},
"app.skins.edit-button": {
"message": "Muokkaa ulkoasua"
},
"app.skins.modal.add-skin-button": {
"message": "Lisää ulkoasu"
},
"app.skins.modal.add-title": {
"message": "Lisätään ulkoasua"
},
"app.skins.modal.arm-style-section": {
"message": "Käsien tyyli"
},
"app.skins.modal.arm-style-slim": {
"message": "Ohut"
},
"app.skins.modal.arm-style-wide": {
"message": "Paksu"
},
"app.skins.modal.cape-fallback-name": {
"message": "Viitta"
},
"app.skins.modal.cape-section": {
"message": "Viitta"
},
"app.skins.modal.edit-title": {
"message": "Muokataan ulkoasua"
},
"app.skins.modal.make-edit-first-tooltip": {
"message": "Tee muokkaus ulkoasuun ensin!"
},
"app.skins.modal.no-cape-tooltip": {
"message": "Ei viittaa"
},
"app.skins.modal.none-cape-option": {
"message": "Ei mitään"
},
"app.skins.modal.replace-texture-button": {
"message": "Korvaa tekstuuri"
},
"app.skins.modal.save-skin-button": {
"message": "Tallenna ulkoasu"
},
"app.skins.modal.saving-tooltip": {
"message": "Tallennetaan..."
},
"app.skins.modal.texture-section": {
"message": "Tekstuuri"
},
"app.skins.modal.upload-skin-first-tooltip": {
"message": "Lataa ulkoasu ensin!"
},
"app.skins.preview.edit-button": {
"message": "Muokkaa ulkoasua"
},
"app.skins.previewing-badge": {
"message": "Esikatsellaan"
},
"app.skins.rate-limit.text": {
"message": "Vaihdat ulkoasua liian usein. Mojangin palvelimet ovat estäneet uudet pyynnöt väliaikaisesti. Yritä hetken kuluttua uudelleen."
},
"app.skins.rate-limit.title": {
"message": "Hidasta vähän!"
},
"app.skins.reorder-error.text": {
"message": "Ulkoasujen järjestystä ei voitu tallentaa."
},
"app.skins.reorder-error.title": {
"message": "Skinien järjestyksen muuttaminen epäonnistui"
},
"app.skins.section.builders-and-biomes": {
"message": "Builders & Biomes"
},
"app.skins.section.chase-the-skies": {
"message": "Chase the Skies"
},
"app.skins.section.default-skins": {
"message": "Oletus ulkoasut"
},
"app.skins.section.minecon-earth-2017": {
"message": "MINECON Earth 2017"
},
"app.skins.section.modrinth": {
"message": "Modrinth"
},
"app.skins.section.modrinth-pride": {
"message": "Modrinth Pride"
},
"app.skins.section.modrinth-pride.tooltip": {
"message": "Sait nämä skinit lahjoittamalla Modrinthin Pride-keräykseen Pride-kuukauden aikana."
},
"app.skins.section.mounts-of-mayhem": {
"message": "Sekasorron ratsut"
},
"app.skins.section.saved-skins": {
"message": "Tallennetut ulkoasut"
},
"app.skins.section.striding-hero": {
"message": "Striding Hero"
},
"app.skins.section.the-copper-age": {
"message": "The Copper Age"
},
"app.skins.section.the-garden-awakens": {
"message": "The Garden Awakens"
},
"app.skins.section.tiny-takeover": {
"message": "Pienten vallankumous"
},
"app.skins.sign-in.button": {
"message": "Kirjaudu sisään"
},
"app.skins.sign-in.description": {
"message": "Kirjaudu Minecraft-tilillesi käyttääksesi Modrinth-sovelluksen ulkoasujen hallintaominaisuuksia."
},
"app.skins.sign-in.rinthbot-alt": {
"message": "Innostunut Modrinth Botti"
},
"app.skins.sign-in.title": {
"message": "Kirjaudu sisään"
},
@@ -545,15 +806,30 @@
"instance.settings.tabs.general.name": {
"message": "Nimi"
},
"instance.settings.tabs.general.update-channel": {
"message": "Päivitys kanava"
},
"instance.settings.tabs.general.update-channel.alpha": {
"message": "Alfa"
},
"instance.settings.tabs.general.update-channel.alpha.description": {
"message": "Release-, beta- ja alpha-versiot näytetään saatavilla olevina päivityksinä."
},
"instance.settings.tabs.general.update-channel.beta": {
"message": "Beta"
},
"instance.settings.tabs.general.update-channel.beta.description": {
"message": "Release- ja beta-versiot näytetään saatavilla olevina päivityksinä."
},
"instance.settings.tabs.general.update-channel.release": {
"message": "Julkaisu"
},
"instance.settings.tabs.general.update-channel.release.description": {
"message": "Vain release-versiot näytetään saatavilla olevina päivityksinä."
},
"instance.settings.tabs.general.update-channel.select": {
"message": "Valitse päivitys kanava"
},
"instance.settings.tabs.hooks": {
"message": "Aloitustoiminnot"
},
@@ -677,6 +953,9 @@
"instance.worlds.copy_address": {
"message": "Kopioi osoite"
},
"instance.worlds.create_shortcut": {
"message": "Luo pikakuvake"
},
"instance.worlds.dont_show_on_home": {
"message": "Älä näytä koti näkymässä"
},
@@ -164,18 +164,12 @@
"app.export-modal.header": {
"message": "Iluwas ang modpack"
},
"app.export-modal.include-file-accessibility-label": {
"message": "Salihin ang \"{file}\"?"
},
"app.export-modal.modpack-name-label": {
"message": "Pangalan ng Modpack"
},
"app.export-modal.modpack-name-placeholder": {
"message": "Pangalan ng modpack"
},
"app.export-modal.select-files-label": {
"message": "Isaayos kung anong mga file ang isasali sa pagluwas"
},
"app.export-modal.version-number-label": {
"message": "Numero ng bersiyon"
},
+123 -6
View File
@@ -11,6 +11,33 @@
"app.action-bar.hide-more-running-instances": {
"message": "Masquer plus d'instances en exécution"
},
"app.action-bar.install.dismiss": {
"message": "Rejeter"
},
"app.action-bar.install.failed": {
"message": "Échec de l'installation"
},
"app.action-bar.install.failed-app-closed": {
"message": "Échec de l'installation dû à la fermeture de l'app."
},
"app.action-bar.install.failed-network": {
"message": "Échec de l'installation dû à une erreur réseau."
},
"app.action-bar.install.failed-unknown": {
"message": "Échec de l'installation dû à une erreur inconnue."
},
"app.action-bar.install.open-instance": {
"message": "Ouvrir l'instance"
},
"app.action-bar.install.retry": {
"message": "Réessayer"
},
"app.action-bar.install.unknown-instance": {
"message": "Instance inconnue"
},
"app.action-bar.installs": {
"message": "Installations"
},
"app.action-bar.make-primary-instance": {
"message": "Définir en tante qu'instance première"
},
@@ -101,6 +128,12 @@
"app.appearance-settings.show-play-time.title": {
"message": "Afficher le temps de jeu"
},
"app.appearance-settings.skip-non-essential-warnings.description": {
"message": "Ignore automatiquement les confirmations à faible risque, comme l'installation de modpacks en double, la suppression de contenu standard, les mises à jour groupées, la dissociation des modpacks et les demandes de réparation. Les avertissements concernant les actions dangereuses continueront d'être affichés."
},
"app.appearance-settings.skip-non-essential-warnings.title": {
"message": "Cacher les alertes non essentielles"
},
"app.appearance-settings.toggle-sidebar.description": {
"message": "Permet d'ouvrir ou de fermer la barre latérale."
},
@@ -170,24 +203,72 @@
"app.export-modal.header": {
"message": "Exporter le modpack"
},
"app.export-modal.include-file-accessibility-label": {
"message": "Inclure « {file} » ?"
},
"app.export-modal.modpack-name-label": {
"message": "Nom du modpack"
},
"app.export-modal.modpack-name-placeholder": {
"message": "Nom du modpack"
},
"app.export-modal.select-files-label": {
"message": "Configurez quels fichiers sont inclus dans cette exportation"
},
"app.export-modal.version-number-label": {
"message": "Numéro de version"
},
"app.export-modal.version-number-placeholder": {
"message": "1.0.0"
},
"app.install.phase.downloading_content": {
"message": "Téléchargement du contenu"
},
"app.install.phase.downloading_minecraft": {
"message": "Téléchargement de Minecraft"
},
"app.install.phase.downloading_pack_file": {
"message": "Téléchargement du fichier de pack"
},
"app.install.phase.extracting_overrides": {
"message": "Extraction des fichiers personnalisés"
},
"app.install.phase.finalizing": {
"message": "Finalisation"
},
"app.install.phase.preparing_instance": {
"message": "Préparation de l'instance"
},
"app.install.phase.preparing_java": {
"message": "Préparation de Java"
},
"app.install.phase.preparing_java.downloading": {
"message": "Téléchargement de Java {version}"
},
"app.install.phase.preparing_java.extracting": {
"message": "Extraction de Java {version}"
},
"app.install.phase.preparing_java.fetching-metadata": {
"message": "Récupération de Java {version}"
},
"app.install.phase.preparing_java.resolving": {
"message": "Préparation de Java {version}"
},
"app.install.phase.preparing_java.validating": {
"message": "Validation de Java {version}"
},
"app.install.phase.reading_pack_manifest": {
"message": "Lecture du manifeste du pack"
},
"app.install.phase.resolving_loader": {
"message": "Résolution du loader"
},
"app.install.phase.resolving_minecraft": {
"message": "Résolution de Minecraft"
},
"app.install.phase.resolving_pack": {
"message": "Résolution du contenu"
},
"app.install.phase.rolling_back": {
"message": "Annulation"
},
"app.install.phase.running_loader_processors": {
"message": "Exécution des processeurs du chargeur"
},
"app.instance.confirm-delete.admonition-body": {
"message": "Toutes les données pour votre instance seront supprimées à jamais, y compris vos mondes, vos configurations, et le contenu installé."
},
@@ -212,6 +293,15 @@
"app.instance.modpack-already-installed.instance": {
"message": "Instance"
},
"app.instance.mods.bulk-update.downloading-projects": {
"message": "Téléchargement de {current, number}/{total, number} projets..."
},
"app.instance.mods.bulk-update.finishing": {
"message": "Finalisation de la mise à jour..."
},
"app.instance.mods.bulk-update.resolving-versions": {
"message": "Résolution des versions..."
},
"app.instance.mods.content-type-project": {
"message": "projet"
},
@@ -236,6 +326,18 @@
"app.instance.worlds.browse-servers": {
"message": "Parcourir des serveurs"
},
"app.instance.worlds.delete-world-modal.delete-button": {
"message": "Supprimer le monde"
},
"app.instance.worlds.delete-world-modal.title": {
"message": "Supprimer le monde"
},
"app.instance.worlds.delete-world-modal.warning-body": {
"message": "Ce monde sera définitivement supprimé de cette instance. Cette action est irréversible."
},
"app.instance.worlds.delete-world-modal.warning-header": {
"message": "Suppression de {name}"
},
"app.instance.worlds.filter-modded": {
"message": "Moddé"
},
@@ -254,6 +356,18 @@
"app.instance.worlds.no-worlds-heading": {
"message": "Aucun serveur ou monde ajoutés"
},
"app.instance.worlds.remove-server-modal.remove-button": {
"message": "Enlever le serveur"
},
"app.instance.worlds.remove-server-modal.title": {
"message": "Enlever le serveur"
},
"app.instance.worlds.remove-server-modal.warning-body": {
"message": "Ce serveur sera enlevé de votre liste de serveur et de la liste de serveur en jeu. Vous pourrez le rajouter plus tard si vous connaissez son adresse."
},
"app.instance.worlds.remove-server-modal.warning-header": {
"message": "Retrait de {name}"
},
"app.instance.worlds.search-worlds-placeholder": {
"message": "Rechercher {count} mondes..."
},
@@ -836,6 +950,9 @@
"instance.worlds.copy_address": {
"message": "Copier l'adresse"
},
"instance.worlds.create_shortcut": {
"message": "Créer un raccourci"
},
"instance.worlds.dont_show_on_home": {
"message": "Ne pas montrer dans l'Accueil"
},
@@ -11,6 +11,12 @@
"app.action-bar.hide-more-running-instances": {
"message": "További futó példányok elrejtése"
},
"app.action-bar.install.retry": {
"message": "Újra"
},
"app.action-bar.install.unknown-instance": {
"message": "Ismeretlen profil"
},
"app.action-bar.make-primary-instance": {
"message": "Beállítás elsődleges példányként"
},
@@ -170,24 +176,21 @@
"app.export-modal.header": {
"message": "Modcsomag exportálása"
},
"app.export-modal.include-file-accessibility-label": {
"message": "Tartalmaz „{file}” fájlokat?"
},
"app.export-modal.modpack-name-label": {
"message": "A modcsomag neve"
},
"app.export-modal.modpack-name-placeholder": {
"message": "A modcsomag neve"
},
"app.export-modal.select-files-label": {
"message": "Állítsd be, hogy mely fájlok kerüljenek bele az exportba"
},
"app.export-modal.version-number-label": {
"message": "Verziószám"
},
"app.export-modal.version-number-placeholder": {
"message": "1.0.0"
},
"app.install.phase.resolving_loader": {
"message": ""
},
"app.instance.confirm-delete.admonition-body": {
"message": "Az profilodhoz tartozó összes adat véglegesen törlődik, beleértve a világokat, a beállításokat és az összes telepített tartalmat."
},
@@ -170,18 +170,12 @@
"app.export-modal.header": {
"message": "Ekspor paket mod"
},
"app.export-modal.include-file-accessibility-label": {
"message": "Sertakan \"{file}\"?"
},
"app.export-modal.modpack-name-label": {
"message": "Nama Paket Mod"
},
"app.export-modal.modpack-name-placeholder": {
"message": "Nama paket mod"
},
"app.export-modal.select-files-label": {
"message": "Konfigurasikan berkas mana yang disertakan dalam pengeksporan ini"
},
"app.export-modal.version-number-label": {
"message": "Nomor versi"
},
+123 -6
View File
@@ -11,6 +11,33 @@
"app.action-bar.hide-more-running-instances": {
"message": "Mostra meno istanze in esecuzione"
},
"app.action-bar.install.dismiss": {
"message": "Ignora"
},
"app.action-bar.install.failed": {
"message": "Installazione fallita"
},
"app.action-bar.install.failed-app-closed": {
"message": "Installazione fallita: l'app è stata chiusa."
},
"app.action-bar.install.failed-network": {
"message": "Installazione fallita: errore di rete."
},
"app.action-bar.install.failed-unknown": {
"message": "Installazione fallita: errore sconosciuto."
},
"app.action-bar.install.open-instance": {
"message": "Apri istanza"
},
"app.action-bar.install.retry": {
"message": "Riprova"
},
"app.action-bar.install.unknown-instance": {
"message": "Istanza sconosciuta"
},
"app.action-bar.installs": {
"message": "Installazioni"
},
"app.action-bar.make-primary-instance": {
"message": "Rendi primaria"
},
@@ -101,6 +128,12 @@
"app.appearance-settings.show-play-time.title": {
"message": "Mostra le ore di gioco"
},
"app.appearance-settings.skip-non-essential-warnings.description": {
"message": "Salta automaticamente le conferme a basso rischio, come l'installazione di pacchetti di mod duplicati, la normale eliminazione di contenuti, gli aggiornamenti simultanei, lo scollegare i pacchetti di mod e le richieste di riparazione. Le avvertenze verranno comunque mostrate."
},
"app.appearance-settings.skip-non-essential-warnings.title": {
"message": "Salta le conferme poco importanti"
},
"app.appearance-settings.toggle-sidebar.description": {
"message": "Mostra o nascondi la barra laterale."
},
@@ -170,24 +203,72 @@
"app.export-modal.header": {
"message": "Esporta pacchetto"
},
"app.export-modal.include-file-accessibility-label": {
"message": "Includere \"{file}\" nell'esportazione?"
},
"app.export-modal.modpack-name-label": {
"message": "Nome del pacchetto"
},
"app.export-modal.modpack-name-placeholder": {
"message": "Nome del pacchetto"
},
"app.export-modal.select-files-label": {
"message": "Seleziona i file da includere in questa esportazione"
},
"app.export-modal.version-number-label": {
"message": "Numero di versione"
},
"app.export-modal.version-number-placeholder": {
"message": "1.0.0"
},
"app.install.phase.downloading_content": {
"message": "Download dei contenuti"
},
"app.install.phase.downloading_minecraft": {
"message": "Download di Minecraft"
},
"app.install.phase.downloading_pack_file": {
"message": "Download del pacchetto"
},
"app.install.phase.extracting_overrides": {
"message": "Estrazione degli override"
},
"app.install.phase.finalizing": {
"message": "Finalizzazione"
},
"app.install.phase.preparing_instance": {
"message": "Preparazione dell'istanza"
},
"app.install.phase.preparing_java": {
"message": "Preparazione di Java"
},
"app.install.phase.preparing_java.downloading": {
"message": "Download di Java {version}"
},
"app.install.phase.preparing_java.extracting": {
"message": "Estrazione di Java {version}"
},
"app.install.phase.preparing_java.fetching-metadata": {
"message": "Recupero di Java {version}"
},
"app.install.phase.preparing_java.resolving": {
"message": "Preparazione di Java {version}"
},
"app.install.phase.preparing_java.validating": {
"message": "Validazione di Java {version}"
},
"app.install.phase.reading_pack_manifest": {
"message": "Lettura del manifesto"
},
"app.install.phase.resolving_loader": {
"message": "Risoluzione del loader"
},
"app.install.phase.resolving_minecraft": {
"message": "Risoluzione di Minecraft"
},
"app.install.phase.resolving_pack": {
"message": "Risoluzione dei contenuti"
},
"app.install.phase.rolling_back": {
"message": "Tornando indietro"
},
"app.install.phase.running_loader_processors": {
"message": "Esecuzione dei processori del loader"
},
"app.instance.confirm-delete.admonition-body": {
"message": "Tutti i dati della tua istanza verranno eliminati permanentemente, inclusi i tuoi mondi, configurazioni e tutti i contenuti installati."
},
@@ -212,6 +293,15 @@
"app.instance.modpack-already-installed.instance": {
"message": "Istanza"
},
"app.instance.mods.bulk-update.downloading-projects": {
"message": "{current, number}/{total, number} progetti scaricati..."
},
"app.instance.mods.bulk-update.finishing": {
"message": "Finalizzando l'aggiornamento..."
},
"app.instance.mods.bulk-update.resolving-versions": {
"message": "Risolvendo le versioni..."
},
"app.instance.mods.content-type-project": {
"message": "progetto"
},
@@ -233,6 +323,18 @@
"app.instance.worlds.browse-servers": {
"message": "Esplora i server"
},
"app.instance.worlds.delete-world-modal.delete-button": {
"message": "Elimina mondo"
},
"app.instance.worlds.delete-world-modal.title": {
"message": "Eliminare il mondo"
},
"app.instance.worlds.delete-world-modal.warning-body": {
"message": "Questo mondo verrà eliminato permanentemente da questa istanza. Questa azione non può essere annullata."
},
"app.instance.worlds.delete-world-modal.warning-header": {
"message": "Eliminare {name}"
},
"app.instance.worlds.filter-modded": {
"message": "Moddato"
},
@@ -251,6 +353,18 @@
"app.instance.worlds.no-worlds-heading": {
"message": "Nessun server o mondo aggiunto"
},
"app.instance.worlds.remove-server-modal.remove-button": {
"message": "Rimuovi server"
},
"app.instance.worlds.remove-server-modal.title": {
"message": "Rimuovere il server"
},
"app.instance.worlds.remove-server-modal.warning-body": {
"message": "Questo server verrà rimosso dalla tua lista di server nell'app e nel gioco. Potrai aggiungerlo nuovamente se conosci l'indirizzo."
},
"app.instance.worlds.remove-server-modal.warning-header": {
"message": "Rimuovere {name}"
},
"app.instance.worlds.search-worlds-placeholder": {
"message": "Cerca tra {count} mondi..."
},
@@ -836,6 +950,9 @@
"instance.worlds.copy_address": {
"message": "Copia indirizzo"
},
"instance.worlds.create_shortcut": {
"message": "Crea collegamento"
},
"instance.worlds.dont_show_on_home": {
"message": "Non mostrare nella home"
},
@@ -306,7 +306,7 @@
"message": "マントなし"
},
"app.skins.modal.replace-texture-button": {
"message": "置きかえる"
"message": "アップロード"
},
"app.skins.modal.texture-section": {
"message": "テクスチャ"
@@ -164,18 +164,12 @@
"app.export-modal.header": {
"message": "모드팩 내보내기"
},
"app.export-modal.include-file-accessibility-label": {
"message": "\"{file}\"(을)를 포함할까요?"
},
"app.export-modal.modpack-name-label": {
"message": "모드팩 이름"
},
"app.export-modal.modpack-name-placeholder": {
"message": "모드팩 이름"
},
"app.export-modal.select-files-label": {
"message": "내보내기에 어느 파일이 포함될지 구성"
},
"app.export-modal.version-number-label": {
"message": "버전 구분"
},
@@ -155,18 +155,12 @@
"app.export-modal.header": {
"message": "Eksport pek mod"
},
"app.export-modal.include-file-accessibility-label": {
"message": "Sertakan \"{file}\"?"
},
"app.export-modal.modpack-name-label": {
"message": "Nama Pek Mod"
},
"app.export-modal.modpack-name-placeholder": {
"message": "Nama pek mod"
},
"app.export-modal.select-files-label": {
"message": "Konfigurasikan fail yang disertakan dalam eksport ini"
},
"app.export-modal.version-number-label": {
"message": "Nombor versi"
},
@@ -33,7 +33,7 @@
"message": "Stop instantie"
},
"app.action-bar.update": {
"message": "Updaten"
"message": "Bijwerken"
},
"app.action-bar.view-active-downloads": {
"message": "Bekijk actieve downloads"
@@ -60,7 +60,7 @@
"message": "Wijzig de pagina waarop de launcher opent."
},
"app.appearance-settings.default-landing-page.home": {
"message": "Home"
"message": "Start"
},
"app.appearance-settings.default-landing-page.library": {
"message": "Bibliotheek"
@@ -170,18 +170,12 @@
"app.export-modal.header": {
"message": "Exporteer modpack"
},
"app.export-modal.include-file-accessibility-label": {
"message": "Betrek \"{file}\"?"
},
"app.export-modal.modpack-name-label": {
"message": "Modpack Naam"
},
"app.export-modal.modpack-name-placeholder": {
"message": "Modpack naam"
},
"app.export-modal.select-files-label": {
"message": "Configureer welke bestanden bij deze export zijn betrokken"
},
"app.export-modal.version-number-label": {
"message": "Versie nummer"
},
+125 -8
View File
@@ -11,6 +11,33 @@
"app.action-bar.hide-more-running-instances": {
"message": "Ukryj włączone instancje"
},
"app.action-bar.install.dismiss": {
"message": "Odrzuć"
},
"app.action-bar.install.failed": {
"message": "Instalacja nie powiodła się"
},
"app.action-bar.install.failed-app-closed": {
"message": "Instalacja nie powiodła się z powodu zamknięcia aplikacji."
},
"app.action-bar.install.failed-network": {
"message": "Instalacja nie powiodła się z powodu problemów z połączeniem."
},
"app.action-bar.install.failed-unknown": {
"message": "Instalacja nie powiodła się z nieznanych przyczyn."
},
"app.action-bar.install.open-instance": {
"message": "Otwórz instancję"
},
"app.action-bar.install.retry": {
"message": "Spróbuj ponownie"
},
"app.action-bar.install.unknown-instance": {
"message": "Nieznana instancja"
},
"app.action-bar.installs": {
"message": "Instalacje"
},
"app.action-bar.make-primary-instance": {
"message": "Ustaw jako główną instancję"
},
@@ -51,7 +78,7 @@
"message": "Zaawansowane renderowanie"
},
"app.appearance-settings.color-theme.description": {
"message": "Wybierz preferowany motyw w Modrinth App."
"message": "Wybierz preferowany motyw w Modrinth app."
},
"app.appearance-settings.color-theme.title": {
"message": "Motyw"
@@ -101,6 +128,12 @@
"app.appearance-settings.show-play-time.title": {
"message": "Pokaż czas gry"
},
"app.appearance-settings.skip-non-essential-warnings.description": {
"message": "Automatycznie pomija mało znaczące potwierdzenia takie jak duplikaty instalacji paczek modów, usuwanie zwykłej zawartości, masowe aktualizacje, odłączanie paczek modów i naprawianie. Ostrzeżenia o potencjalnie niebezpiecznych akcjach będą nadal pokazywane."
},
"app.appearance-settings.skip-non-essential-warnings.title": {
"message": "Pomiń mało znaczące ostrzeżenia"
},
"app.appearance-settings.toggle-sidebar.description": {
"message": "Umożliwia przełączenie paska bocznego."
},
@@ -170,24 +203,72 @@
"app.export-modal.header": {
"message": "Eksportuj paczkę modów"
},
"app.export-modal.include-file-accessibility-label": {
"message": "Dołączyć \"{file}\"?"
},
"app.export-modal.modpack-name-label": {
"message": "Nazwa paczki modów"
},
"app.export-modal.modpack-name-placeholder": {
"message": "Nazwa paczki modów"
},
"app.export-modal.select-files-label": {
"message": "Skonfiguruje jakie pliki zostaną załączone w tym eksporcie"
},
"app.export-modal.version-number-label": {
"message": "Numer wersji"
},
"app.export-modal.version-number-placeholder": {
"message": "1.0.0"
},
"app.install.phase.downloading_content": {
"message": "Pobieranie zawartości"
},
"app.install.phase.downloading_minecraft": {
"message": "Pobieranie Minecraft"
},
"app.install.phase.downloading_pack_file": {
"message": "Pobieranie pliku paczki"
},
"app.install.phase.extracting_overrides": {
"message": "Wyodrębnianie nadpisań"
},
"app.install.phase.finalizing": {
"message": "Finalizowanie"
},
"app.install.phase.preparing_instance": {
"message": "Przygotowywanie instancji"
},
"app.install.phase.preparing_java": {
"message": "Przygotowywanie środowiska Java"
},
"app.install.phase.preparing_java.downloading": {
"message": "Pobieranie Java {version}"
},
"app.install.phase.preparing_java.extracting": {
"message": "Wypakowywanie Javy {version}"
},
"app.install.phase.preparing_java.fetching-metadata": {
"message": "Pobieranie Javy {version}"
},
"app.install.phase.preparing_java.resolving": {
"message": "Przygotowywanie Java {version}"
},
"app.install.phase.preparing_java.validating": {
"message": "Sprawdzanie Java {version}"
},
"app.install.phase.reading_pack_manifest": {
"message": "Ustalanie manifestu paczki"
},
"app.install.phase.resolving_loader": {
"message": "Ustalanie programu ładującego"
},
"app.install.phase.resolving_minecraft": {
"message": "Ustalanie wersji Minecraft"
},
"app.install.phase.resolving_pack": {
"message": "Ustalanie treści"
},
"app.install.phase.rolling_back": {
"message": "Przywracanie"
},
"app.install.phase.running_loader_processors": {
"message": "Uruchamianie procesorów programu ładującego"
},
"app.instance.confirm-delete.admonition-body": {
"message": "Wszystkie dane z Twojej instancji zostaną trwale usunięte, w tym Twoje światy, pliki konfiguracji i jakakolwiek dodana zawartość."
},
@@ -212,6 +293,15 @@
"app.instance.modpack-already-installed.instance": {
"message": "Instalacja"
},
"app.instance.mods.bulk-update.downloading-projects": {
"message": "Pobieranie {current, number}/{total, number} projektów..."
},
"app.instance.mods.bulk-update.finishing": {
"message": "Kończenie aktualizacji..."
},
"app.instance.mods.bulk-update.resolving-versions": {
"message": "Sprawdzanie wersji..."
},
"app.instance.mods.content-type-project": {
"message": "projekt"
},
@@ -233,6 +323,18 @@
"app.instance.worlds.browse-servers": {
"message": "Szukaj serwerów"
},
"app.instance.worlds.delete-world-modal.delete-button": {
"message": "Usuń świat"
},
"app.instance.worlds.delete-world-modal.title": {
"message": "Usuń świat"
},
"app.instance.worlds.delete-world-modal.warning-body": {
"message": "Ten świat zostanie trwale usunięty z tej instancji. Tej akcji nie będzie można cofnąć."
},
"app.instance.worlds.delete-world-modal.warning-header": {
"message": "Usuwanie {name}"
},
"app.instance.worlds.filter-modded": {
"message": "Zmodowany"
},
@@ -251,6 +353,18 @@
"app.instance.worlds.no-worlds-heading": {
"message": "Nie dodano żadnych światów ani serwerów"
},
"app.instance.worlds.remove-server-modal.remove-button": {
"message": "Usuń serwer"
},
"app.instance.worlds.remove-server-modal.title": {
"message": "Usuń serwer"
},
"app.instance.worlds.remove-server-modal.warning-body": {
"message": "Ten serwer zostanie trwale usunięty z tej instancji. Tej akcji nie będzie można cofnąć."
},
"app.instance.worlds.remove-server-modal.warning-header": {
"message": "Usuwanie {name}"
},
"app.instance.worlds.search-worlds-placeholder": {
"message": "Szukaj wśród {count} światów..."
},
@@ -339,7 +453,7 @@
"message": "To trwale usunie wybraną skórkę. Tej akcji nie można odwrócić."
},
"app.skins.delete-modal.title": {
"message": "Czy na pewno chcesz usunąć tą skórkę?"
"message": "Czy na pewno chcesz usunąć tę skórkę?"
},
"app.skins.dropped-file-error.text": {
"message": "Nie udało się odczytać wybranego pliku."
@@ -836,6 +950,9 @@
"instance.worlds.copy_address": {
"message": "Kopiuj adres"
},
"instance.worlds.create_shortcut": {
"message": "Utwórz skrót"
},
"instance.worlds.dont_show_on_home": {
"message": "Nie pokazuj na stronie głównej"
},
+123 -6
View File
@@ -11,6 +11,33 @@
"app.action-bar.hide-more-running-instances": {
"message": "Ocultar mais instâncias em execução"
},
"app.action-bar.install.dismiss": {
"message": "Dispensar"
},
"app.action-bar.install.failed": {
"message": "Instalação falha"
},
"app.action-bar.install.failed-app-closed": {
"message": "A instalação falhou devido ao aplicativo ter fechado."
},
"app.action-bar.install.failed-network": {
"message": "A instalação falhou devido a um erro na rede."
},
"app.action-bar.install.failed-unknown": {
"message": "A instalação falhou devido a um erro desconhecido."
},
"app.action-bar.install.open-instance": {
"message": "Abrir instância"
},
"app.action-bar.install.retry": {
"message": "Tentar novamente"
},
"app.action-bar.install.unknown-instance": {
"message": "Instância desconhecida"
},
"app.action-bar.installs": {
"message": "Instalações"
},
"app.action-bar.make-primary-instance": {
"message": "Tornar instância principal"
},
@@ -101,6 +128,12 @@
"app.appearance-settings.show-play-time.title": {
"message": "Exibir tempo jogado"
},
"app.appearance-settings.skip-non-essential-warnings.description": {
"message": "Pula automaticamente as confirmações desnecessárias como duplica de instalação de pacotes de mods, exclusão de conteúdo normal, atualizações em massa, desvinculo de pacotes de mods e diálogos de reparo. Os avisos de perigo ainda serão exibidos."
},
"app.appearance-settings.skip-non-essential-warnings.title": {
"message": "Pular avisos desnecessários"
},
"app.appearance-settings.toggle-sidebar.description": {
"message": "Permite alternar a barra lateral."
},
@@ -170,24 +203,72 @@
"app.export-modal.header": {
"message": "Exportar pacote de mods"
},
"app.export-modal.include-file-accessibility-label": {
"message": "Incluir \"{file}\"?"
},
"app.export-modal.modpack-name-label": {
"message": "Nome do pacote de mods"
},
"app.export-modal.modpack-name-placeholder": {
"message": "Nome do pacote de mods"
},
"app.export-modal.select-files-label": {
"message": "Configure quais arquivos serão incluídos na exportação"
},
"app.export-modal.version-number-label": {
"message": "Número da versão"
},
"app.export-modal.version-number-placeholder": {
"message": "1.0.0"
},
"app.install.phase.downloading_content": {
"message": "Instalando conteúdo"
},
"app.install.phase.downloading_minecraft": {
"message": "Instalando Minecraft"
},
"app.install.phase.downloading_pack_file": {
"message": "Instalando arquivo de pacote"
},
"app.install.phase.extracting_overrides": {
"message": "Extraindo substitutos"
},
"app.install.phase.finalizing": {
"message": "Finalizando"
},
"app.install.phase.preparing_instance": {
"message": "Preparando instância"
},
"app.install.phase.preparing_java": {
"message": "Preparando Java"
},
"app.install.phase.preparing_java.downloading": {
"message": "Baixando Java {version}"
},
"app.install.phase.preparing_java.extracting": {
"message": "Extraindo Java {version}"
},
"app.install.phase.preparing_java.fetching-metadata": {
"message": "Obtendo Java {version}"
},
"app.install.phase.preparing_java.resolving": {
"message": "Preparando Java {version}"
},
"app.install.phase.preparing_java.validating": {
"message": "Validando Java {version}"
},
"app.install.phase.reading_pack_manifest": {
"message": "Lendo manifestação de pacote"
},
"app.install.phase.resolving_loader": {
"message": "Resolvendo loader"
},
"app.install.phase.resolving_minecraft": {
"message": "Resolvendo Minecraft"
},
"app.install.phase.resolving_pack": {
"message": "Resolvendo conteúdo"
},
"app.install.phase.rolling_back": {
"message": "Indo de volta"
},
"app.install.phase.running_loader_processors": {
"message": "Executando processadores de loader"
},
"app.instance.confirm-delete.admonition-body": {
"message": "Todos os dados para sua instância serão excluídos permanentemente, incluindo seus mundos, configs e todo o conteúdo instalado."
},
@@ -212,6 +293,15 @@
"app.instance.modpack-already-installed.instance": {
"message": "Instância"
},
"app.instance.mods.bulk-update.downloading-projects": {
"message": "Instalando {current, number}/{total, number} projeto(s)..."
},
"app.instance.mods.bulk-update.finishing": {
"message": "Finalizando atualização..."
},
"app.instance.mods.bulk-update.resolving-versions": {
"message": "Resolvendo versões..."
},
"app.instance.mods.content-type-project": {
"message": "projeto"
},
@@ -236,6 +326,18 @@
"app.instance.worlds.browse-servers": {
"message": "Explorar servidores"
},
"app.instance.worlds.delete-world-modal.delete-button": {
"message": "Excluir mundo"
},
"app.instance.worlds.delete-world-modal.title": {
"message": "Excluir mundo"
},
"app.instance.worlds.delete-world-modal.warning-body": {
"message": "Este mundo será permanentemente excluído desta instância. Esta ação não pode ser desfeita."
},
"app.instance.worlds.delete-world-modal.warning-header": {
"message": "Excluindo {name}"
},
"app.instance.worlds.filter-modded": {
"message": "Modificado"
},
@@ -254,6 +356,18 @@
"app.instance.worlds.no-worlds-heading": {
"message": "Nenhum servidor ou mundo adicionado"
},
"app.instance.worlds.remove-server-modal.remove-button": {
"message": "Remover servidor"
},
"app.instance.worlds.remove-server-modal.title": {
"message": "Remover servidor"
},
"app.instance.worlds.remove-server-modal.warning-body": {
"message": "O servidor será removido da lista de servidores e da lista de servidores no jogo. Você pode re-adicioná-lo depois se souber o endereço."
},
"app.instance.worlds.remove-server-modal.warning-header": {
"message": "Removendo {name}"
},
"app.instance.worlds.search-worlds-placeholder": {
"message": "Buscar {count} mundos..."
},
@@ -839,6 +953,9 @@
"instance.worlds.copy_address": {
"message": "Copiar endereço"
},
"instance.worlds.create_shortcut": {
"message": "Criar atalho"
},
"instance.worlds.dont_show_on_home": {
"message": "Não exibir na página inicial"
},
+120 -6
View File
@@ -11,6 +11,33 @@
"app.action-bar.hide-more-running-instances": {
"message": "Скрыть другие активные сборки"
},
"app.action-bar.install.dismiss": {
"message": "Закрыть"
},
"app.action-bar.install.failed": {
"message": "Установка не удалась"
},
"app.action-bar.install.failed-app-closed": {
"message": "Установка не удалась из-за закрытия приложения."
},
"app.action-bar.install.failed-network": {
"message": "Установка не удалась из-за сетевой ошибки."
},
"app.action-bar.install.failed-unknown": {
"message": "Установка не удалась из-за неизвестной ошибки."
},
"app.action-bar.install.open-instance": {
"message": "Открыть сборку"
},
"app.action-bar.install.retry": {
"message": "Повторить"
},
"app.action-bar.install.unknown-instance": {
"message": "Неизвестная сборка"
},
"app.action-bar.installs": {
"message": "Установки"
},
"app.action-bar.make-primary-instance": {
"message": "Сделать основной сборкой"
},
@@ -101,6 +128,12 @@
"app.appearance-settings.show-play-time.title": {
"message": "Время игры"
},
"app.appearance-settings.skip-non-essential-warnings.description": {
"message": "Автоматически пропускает подтверждения с низким уровнем риска, такие как установка дубликатов сборок, обычное удаление контента, массовые обновления, отключение сборок и запросы на восстановление. Опасные предупреждения по-прежнему будут отображаться."
},
"app.appearance-settings.skip-non-essential-warnings.title": {
"message": "Пропустить несущественные предупреждения"
},
"app.appearance-settings.toggle-sidebar.description": {
"message": "Показывать кнопку скрытия боковой панели."
},
@@ -170,24 +203,69 @@
"app.export-modal.header": {
"message": "Экспорт сборки"
},
"app.export-modal.include-file-accessibility-label": {
"message": "Добавить «{file}» в экспорт?"
},
"app.export-modal.modpack-name-label": {
"message": "Название сборки"
},
"app.export-modal.modpack-name-placeholder": {
"message": "Название сборки"
},
"app.export-modal.select-files-label": {
"message": "Выберите файлы для экспорта"
},
"app.export-modal.version-number-label": {
"message": "Номер версии"
},
"app.export-modal.version-number-placeholder": {
"message": "1.0.0"
},
"app.install.phase.downloading_content": {
"message": "Скачивание контента"
},
"app.install.phase.downloading_minecraft": {
"message": "Скачивание Minecraft"
},
"app.install.phase.downloading_pack_file": {
"message": "Скачивание файла сборки"
},
"app.install.phase.extracting_overrides": {
"message": "Извлечение переопределений"
},
"app.install.phase.finalizing": {
"message": "Завершение"
},
"app.install.phase.preparing_instance": {
"message": "Подготовка сборки"
},
"app.install.phase.preparing_java": {
"message": "Подготовка Java"
},
"app.install.phase.preparing_java.downloading": {
"message": "Скачивание Java {version}"
},
"app.install.phase.preparing_java.extracting": {
"message": "Распаковка Java {version}"
},
"app.install.phase.preparing_java.fetching-metadata": {
"message": "Получение Java {version}"
},
"app.install.phase.preparing_java.resolving": {
"message": "Подготовка Java {version}"
},
"app.install.phase.preparing_java.validating": {
"message": "Проверка Java {version}"
},
"app.install.phase.reading_pack_manifest": {
"message": "Чтение манифеста сборки"
},
"app.install.phase.resolving_minecraft": {
"message": "Загрузка версий"
},
"app.install.phase.resolving_pack": {
"message": "Загрузка контента"
},
"app.install.phase.rolling_back": {
"message": "Откат"
},
"app.install.phase.running_loader_processors": {
"message": "Запуск процессоров загрузчика"
},
"app.instance.confirm-delete.admonition-body": {
"message": "Все данные сборки будут удалены навсегда, в том числе миры, настройки и весь установленный контент."
},
@@ -212,6 +290,15 @@
"app.instance.modpack-already-installed.instance": {
"message": "Сборка"
},
"app.instance.mods.bulk-update.downloading-projects": {
"message": "Скачивание {current, number}/{total, number} проектов..."
},
"app.instance.mods.bulk-update.finishing": {
"message": "Завершение обновления..."
},
"app.instance.mods.bulk-update.resolving-versions": {
"message": "Загрузка версий..."
},
"app.instance.mods.content-type-project": {
"message": "проект"
},
@@ -233,6 +320,18 @@
"app.instance.worlds.browse-servers": {
"message": "Найти серверы"
},
"app.instance.worlds.delete-world-modal.delete-button": {
"message": "Удалить"
},
"app.instance.worlds.delete-world-modal.title": {
"message": "Удаление мира"
},
"app.instance.worlds.delete-world-modal.warning-body": {
"message": "Этот мир будет удалён навсегда из этой сборки. Отменить это действие нельзя."
},
"app.instance.worlds.delete-world-modal.warning-header": {
"message": "Удаление {name}"
},
"app.instance.worlds.filter-modded": {
"message": "Модовые"
},
@@ -251,6 +350,18 @@
"app.instance.worlds.no-worlds-heading": {
"message": "Нет серверов и миров"
},
"app.instance.worlds.remove-server-modal.remove-button": {
"message": "Удалить"
},
"app.instance.worlds.remove-server-modal.title": {
"message": "Удаление сервера"
},
"app.instance.worlds.remove-server-modal.warning-body": {
"message": "Этот сервер будет удалён из списка серверов, в том числе и в игре. Его можно вернуть, зная адрес."
},
"app.instance.worlds.remove-server-modal.warning-header": {
"message": "Удаление {name}"
},
"app.modal.install-to-play.content-required": {
"message": "Требуется дополнительный контент"
},
@@ -830,6 +941,9 @@
"instance.worlds.copy_address": {
"message": "Копировать адрес"
},
"instance.worlds.create_shortcut": {
"message": "Создать ярлык"
},
"instance.worlds.dont_show_on_home": {
"message": "Не показывать на главной"
},
+10 -1
View File
@@ -1,4 +1,10 @@
{
"app.action-bar.install.failed": {
"message": "Neuspešna instalacija"
},
"app.action-bar.install.failed-app-closed": {
"message": "Neuspešna instalacija zbog zatvaranja aplikacije."
},
"app.auth-servers.unreachable.body": {
"message": "Minecraft serveri za autentifikaciju su možda trenutno nedostupni. Molimo vas da proverite vašu internet vezu i pokušajte ponovo kasnije."
},
@@ -156,11 +162,14 @@
"message": "Minecraft svet"
},
"instance.edit-world.title": {
"message": "Izmeni svet"
"message": "Promeni svet"
},
"instance.server-modal.placeholder-name": {
"message": "Minecraft Server"
},
"instance.settings.tabs.general": {
"message": "Generalno"
},
"instance.settings.tabs.general.deleting.button": {
"message": "Brisanje..."
},
+133 -7
View File
@@ -11,6 +11,33 @@
"app.action-bar.hide-more-running-instances": {
"message": "Göm fler aktiva instanser"
},
"app.action-bar.install.dismiss": {
"message": "Avvisa"
},
"app.action-bar.install.failed": {
"message": "Installationen misslyckades"
},
"app.action-bar.install.failed-app-closed": {
"message": "Installationen misslyckades för att appen stängdes."
},
"app.action-bar.install.failed-network": {
"message": "Installationen misslyckades av ett nätverksfel."
},
"app.action-bar.install.failed-unknown": {
"message": "Installationen misslyckades med ett okänt fel."
},
"app.action-bar.install.open-instance": {
"message": "Öppna instans"
},
"app.action-bar.install.retry": {
"message": "Försök igen"
},
"app.action-bar.install.unknown-instance": {
"message": "Okänd instans"
},
"app.action-bar.installs": {
"message": "Installationer"
},
"app.action-bar.make-primary-instance": {
"message": "Gör till primärinstans"
},
@@ -24,7 +51,7 @@
"message": "Primärinstans"
},
"app.action-bar.reload-to-update": {
"message": "Ladda om för att uppdatera"
"message": "Uppdatera (ladda om)"
},
"app.action-bar.show-more-running-instances": {
"message": "Visa fler aktiva instanser"
@@ -74,9 +101,15 @@
"app.appearance-settings.hide-nametag.title": {
"message": "Dölj namnskylt"
},
"app.appearance-settings.jump-back-into-worlds.description": {
"message": "Inkluderar de senaste världarna i \"Hoppa tillbaka i världar\" på hemsidan."
},
"app.appearance-settings.jump-back-into-worlds.title": {
"message": "Hoppa tillbaka i världar"
},
"app.appearance-settings.minimize-launcher.description": {
"message": "Minimerar launchern när Minecraft startas."
},
"app.appearance-settings.minimize-launcher.title": {
"message": "Minimera programstartare"
},
@@ -95,6 +128,12 @@
"app.appearance-settings.show-play-time.title": {
"message": "Visa speltid"
},
"app.appearance-settings.skip-non-essential-warnings.description": {
"message": "Hoppar över bekräftelser med låg risk, såsom installation av dubbla modpaket, radering av vanligt innehåll, massuppdateringar, avlänkning av modpaket och reparationsmeddelanden. Varningar om farliga händelser visas fortfarande."
},
"app.appearance-settings.skip-non-essential-warnings.title": {
"message": "Hoppa över icke nödvändiga varningar"
},
"app.appearance-settings.toggle-sidebar.description": {
"message": "Låter dig växla sidofältet."
},
@@ -146,6 +185,9 @@
"app.browse.project-type.modpacks": {
"message": "Modpaket"
},
"app.browse.server-instance-content-warning": {
"message": "Att lägga till innehåll kan bryta kompatibiliteten när du ansluter dig till servern. Allt tillagt innehåll kommer att förloras när du uppdaterar serverinstansen."
},
"app.browse.server.installing": {
"message": "Installerar"
},
@@ -161,24 +203,66 @@
"app.export-modal.header": {
"message": "Exportera modpaket"
},
"app.export-modal.include-file-accessibility-label": {
"message": "Inkludera \"{file}\"?"
},
"app.export-modal.modpack-name-label": {
"message": "Modpaketets namn"
},
"app.export-modal.modpack-name-placeholder": {
"message": "Modpaketets namn"
},
"app.export-modal.select-files-label": {
"message": "Konfigurera vilka filer som inkluderas i denna export"
},
"app.export-modal.version-number-label": {
"message": "Versionsnummer"
},
"app.export-modal.version-number-placeholder": {
"message": "1.0.0"
},
"app.install.phase.downloading_content": {
"message": "Laddar ner innehåll"
},
"app.install.phase.downloading_minecraft": {
"message": "Laddar ner Minecraft"
},
"app.install.phase.downloading_pack_file": {
"message": "Laddar ner pack fil"
},
"app.install.phase.extracting_overrides": {
"message": "Extraherar överskrivningar"
},
"app.install.phase.finalizing": {
"message": "Avslutar"
},
"app.install.phase.preparing_instance": {
"message": "Förbereder instans"
},
"app.install.phase.preparing_java": {
"message": "Förbereder Java"
},
"app.install.phase.preparing_java.downloading": {
"message": "Laddar ner Java {version}"
},
"app.install.phase.preparing_java.extracting": {
"message": "Extraherar Java {version}"
},
"app.install.phase.preparing_java.fetching-metadata": {
"message": "Hämtar Java {version}"
},
"app.install.phase.preparing_java.resolving": {
"message": "Förbereder Java {version}"
},
"app.install.phase.preparing_java.validating": {
"message": "Bekräftar Java {version}"
},
"app.install.phase.reading_pack_manifest": {
"message": "Läser pack information"
},
"app.install.phase.resolving_loader": {
"message": "Laddar ner loadern"
},
"app.install.phase.resolving_minecraft": {
"message": "Laddar ner Minecraft"
},
"app.install.phase.resolving_pack": {
"message": "Laddar ner innehåll"
},
"app.instance.confirm-delete.admonition-body": {
"message": "All data från din instans kommer permanent raderas, däribland dina världar, konfigurationer samt allt installerat innehåll."
},
@@ -203,6 +287,15 @@
"app.instance.modpack-already-installed.instance": {
"message": "Instans"
},
"app.instance.mods.bulk-update.downloading-projects": {
"message": "Laddar ner {current, number}/{total, number} projekt..."
},
"app.instance.mods.bulk-update.finishing": {
"message": "Slutför uppdatering..."
},
"app.instance.mods.bulk-update.resolving-versions": {
"message": "Laddar versioner..."
},
"app.instance.mods.content-type-project": {
"message": "projekt"
},
@@ -227,6 +320,15 @@
"app.instance.worlds.browse-servers": {
"message": "Utforska servrar"
},
"app.instance.worlds.delete-world-modal.delete-button": {
"message": "Ta bort värld"
},
"app.instance.worlds.delete-world-modal.title": {
"message": "Ta bort värld"
},
"app.instance.worlds.delete-world-modal.warning-header": {
"message": "Raderar {name}"
},
"app.instance.worlds.filter-modded": {
"message": "Moddad"
},
@@ -245,6 +347,15 @@
"app.instance.worlds.no-worlds-heading": {
"message": "Inga servrar eller världar tillagda"
},
"app.instance.worlds.remove-server-modal.remove-button": {
"message": "Ta bort server"
},
"app.instance.worlds.remove-server-modal.title": {
"message": "Ta bort server"
},
"app.instance.worlds.remove-server-modal.warning-header": {
"message": "Raderar {name}"
},
"app.instance.worlds.search-worlds-placeholder": {
"message": "Sök {count} världar..."
},
@@ -287,6 +398,9 @@
"app.project.install-button.already-installed": {
"message": "Detta projekt är redan installerat"
},
"app.project.install-context.back-to-browse": {
"message": "Tillbaka till upptäck"
},
"app.project.install-context.install-content-to-instance": {
"message": "Installera innehåll till instans"
},
@@ -401,6 +515,12 @@
"app.skins.rate-limit.title": {
"message": "Sakta ner!"
},
"app.skins.reorder-error.text": {
"message": "Ditt utseende kunde inte sparas."
},
"app.skins.section.builders-and-biomes": {
"message": "Builders & Biomes"
},
"app.skins.section.chase-the-skies": {
"message": "Chase the Skies"
},
@@ -425,6 +545,9 @@
"app.skins.section.saved-skins": {
"message": "Sparade utseenden"
},
"app.skins.section.striding-hero": {
"message": "Striding Hero"
},
"app.skins.section.the-copper-age": {
"message": "The Copper Age"
},
@@ -815,6 +938,9 @@
"instance.worlds.copy_address": {
"message": "Kopiera adress"
},
"instance.worlds.create_shortcut": {
"message": "Skapa genväg"
},
"instance.worlds.dont_show_on_home": {
"message": "Visa inte på Startsidan"
},
@@ -170,18 +170,12 @@
"app.export-modal.header": {
"message": "ส่งออกแพ็กม็อด"
},
"app.export-modal.include-file-accessibility-label": {
"message": "รวมถึง \"{file}\" ใช่หรือไม่"
},
"app.export-modal.modpack-name-label": {
"message": "ชื่อแพ็กม็อด"
},
"app.export-modal.modpack-name-placeholder": {
"message": "ชื่อแพ็กม็อด"
},
"app.export-modal.select-files-label": {
"message": "กำหนดไฟล์ที่ต้องการจะส่งออก"
},
"app.export-modal.version-number-label": {
"message": "หมายเลขเวอร์ชัน"
},
+123 -6
View File
@@ -11,6 +11,33 @@
"app.action-bar.hide-more-running-instances": {
"message": "Diğer çalışan kurulumları gizle"
},
"app.action-bar.install.dismiss": {
"message": "Reddet"
},
"app.action-bar.install.failed": {
"message": "Yükleme yapılamadı"
},
"app.action-bar.install.failed-app-closed": {
"message": "Yükleme uygulama kapandığından yapılamadı."
},
"app.action-bar.install.failed-network": {
"message": "Yükleme ağ hatasından dolayı yapılamadı."
},
"app.action-bar.install.failed-unknown": {
"message": "Yükleme bilinmeyen bir hatadan yapılamadı."
},
"app.action-bar.install.open-instance": {
"message": "Kurulumu aç"
},
"app.action-bar.install.retry": {
"message": "Yeniden Dene"
},
"app.action-bar.install.unknown-instance": {
"message": "Bilinmeyen kurulum"
},
"app.action-bar.installs": {
"message": "Yüklenenler"
},
"app.action-bar.make-primary-instance": {
"message": "Birincil kurulum yap"
},
@@ -101,6 +128,12 @@
"app.appearance-settings.show-play-time.title": {
"message": "Oynama Süresini Göster"
},
"app.appearance-settings.skip-non-essential-warnings.description": {
"message": "Mükerrer mod paketi kurulumları, normal içerik silme, toplu güncellemeler, mod paketi bağlantısını kesme ve onarım uyarıları gibi düşük riskli onayları otomatik olarak atlar. Tehlikeli uyarılar gösterilmeye devam edecektir."
},
"app.appearance-settings.skip-non-essential-warnings.title": {
"message": "Gerekli olmayan uyarıları atla"
},
"app.appearance-settings.toggle-sidebar.description": {
"message": "Kenar çubuğunu ayarlama özelliğini aktifleştirir."
},
@@ -170,24 +203,72 @@
"app.export-modal.header": {
"message": "Mod paketini dışa aktar"
},
"app.export-modal.include-file-accessibility-label": {
"message": "\"{file}\" dahil mi?"
},
"app.export-modal.modpack-name-label": {
"message": "Mod Paketi Adı"
},
"app.export-modal.modpack-name-placeholder": {
"message": "Mod paketi adı"
},
"app.export-modal.select-files-label": {
"message": "Bu dışa aktarmaya hangi dosyaların dahil edileceğini yapılandırma"
},
"app.export-modal.version-number-label": {
"message": "Sürüm numarası"
},
"app.export-modal.version-number-placeholder": {
"message": "1.0.0"
},
"app.install.phase.downloading_content": {
"message": "İçerik indiriliyor"
},
"app.install.phase.downloading_minecraft": {
"message": "Minecraft yükleniyor"
},
"app.install.phase.downloading_pack_file": {
"message": "Paket dosyaları yükleniyor"
},
"app.install.phase.extracting_overrides": {
"message": "Geçersiz kılmalar ayıklanıyor"
},
"app.install.phase.finalizing": {
"message": "Tamamlanıyor"
},
"app.install.phase.preparing_instance": {
"message": "Kurulum hazırlanıyor"
},
"app.install.phase.preparing_java": {
"message": "Java Hazırlanıyor"
},
"app.install.phase.preparing_java.downloading": {
"message": "Java {version} İndiriliyor"
},
"app.install.phase.preparing_java.extracting": {
"message": "Java {version} ayıklanıyor"
},
"app.install.phase.preparing_java.fetching-metadata": {
"message": "Java {version} getiriliyor"
},
"app.install.phase.preparing_java.resolving": {
"message": "Java {version} Hazırlanıyor"
},
"app.install.phase.preparing_java.validating": {
"message": "Java {version} doğrulanıyor"
},
"app.install.phase.reading_pack_manifest": {
"message": "Paket manifesti okunuyor"
},
"app.install.phase.resolving_loader": {
"message": "Yükleyici çözümleniyor"
},
"app.install.phase.resolving_minecraft": {
"message": "Minecraft çözümleniyor"
},
"app.install.phase.resolving_pack": {
"message": "İçerik çözümleniyor"
},
"app.install.phase.rolling_back": {
"message": "Değişiklikler geri alınıyor"
},
"app.install.phase.running_loader_processors": {
"message": "Yükleyici işlemcileri çalıştırılıyor"
},
"app.instance.confirm-delete.admonition-body": {
"message": "Dünyalarınız, yapılandırmalarınız ve yüklü tüm içerikler ve tüm veriler kalıcı olarak silinecek."
},
@@ -212,6 +293,15 @@
"app.instance.modpack-already-installed.instance": {
"message": "Kurulum"
},
"app.instance.mods.bulk-update.downloading-projects": {
"message": "{current, number}/{total, number} proje indiriliyor..."
},
"app.instance.mods.bulk-update.finishing": {
"message": "Güncelleme tamamlanıyor..."
},
"app.instance.mods.bulk-update.resolving-versions": {
"message": "Sürümler çözümleniyor..."
},
"app.instance.mods.content-type-project": {
"message": "proje"
},
@@ -236,6 +326,18 @@
"app.instance.worlds.browse-servers": {
"message": "Sunucuları Keşfet"
},
"app.instance.worlds.delete-world-modal.delete-button": {
"message": "Dünya Sil"
},
"app.instance.worlds.delete-world-modal.title": {
"message": "Dünyayı sil"
},
"app.instance.worlds.delete-world-modal.warning-body": {
"message": "Bu dünya, bu profilden kalıcı olarak silinecek. Bu işlem geri alınamaz."
},
"app.instance.worlds.delete-world-modal.warning-header": {
"message": "{name} Siliniyor"
},
"app.instance.worlds.filter-modded": {
"message": "Modlu"
},
@@ -254,6 +356,18 @@
"app.instance.worlds.no-worlds-heading": {
"message": "Eklenmiş sunucu veya dünya yok"
},
"app.instance.worlds.remove-server-modal.remove-button": {
"message": "Sunucuyu kaldır"
},
"app.instance.worlds.remove-server-modal.title": {
"message": "Sunucuyu kaldır"
},
"app.instance.worlds.remove-server-modal.warning-body": {
"message": "Bu sunucu, sunucu listenizden ve oyun içi sunucu listesinden kaldırılacaktır. Adresini biliyorsanız daha sonra tekrar ekleyebilirsiniz."
},
"app.instance.worlds.remove-server-modal.warning-header": {
"message": "{name} kaldırılıyor"
},
"app.instance.worlds.search-worlds-placeholder": {
"message": "{count} dünya ara..."
},
@@ -839,6 +953,9 @@
"instance.worlds.copy_address": {
"message": "Adresi kopyala"
},
"instance.worlds.create_shortcut": {
"message": "Kısayol yap"
},
"instance.worlds.dont_show_on_home": {
"message": "Ana sayfada gösterme"
},
@@ -170,18 +170,12 @@
"app.export-modal.header": {
"message": "Експортувати збірку"
},
"app.export-modal.include-file-accessibility-label": {
"message": "Уключити «{file}»?"
},
"app.export-modal.modpack-name-label": {
"message": "Назва збірки"
},
"app.export-modal.modpack-name-placeholder": {
"message": "Назва збірки"
},
"app.export-modal.select-files-label": {
"message": "Змініть файли, які додані до експорту"
},
"app.export-modal.version-number-label": {
"message": "Номер версії"
},
@@ -170,18 +170,12 @@
"app.export-modal.header": {
"message": "Xuất modpack"
},
"app.export-modal.include-file-accessibility-label": {
"message": "Bao gồm \"{file}\"?"
},
"app.export-modal.modpack-name-label": {
"message": "Tên modpack"
},
"app.export-modal.modpack-name-placeholder": {
"message": "Tên modpack"
},
"app.export-modal.select-files-label": {
"message": "Cấu hình các tệp nào được bao gồm trong quá trình xuất phiên bản này"
},
"app.export-modal.version-number-label": {
"message": "Phiên bản"
},
+132 -15
View File
@@ -11,6 +11,33 @@
"app.action-bar.hide-more-running-instances": {
"message": "隐藏更多运行中的实例"
},
"app.action-bar.install.dismiss": {
"message": "忽略"
},
"app.action-bar.install.failed": {
"message": "安装失败"
},
"app.action-bar.install.failed-app-closed": {
"message": "由于应用关闭,安装失败。"
},
"app.action-bar.install.failed-network": {
"message": "由于网络错误,安装失败。"
},
"app.action-bar.install.failed-unknown": {
"message": "由于未知错误,安装失败。"
},
"app.action-bar.install.open-instance": {
"message": "打开实例"
},
"app.action-bar.install.retry": {
"message": "重试"
},
"app.action-bar.install.unknown-instance": {
"message": "未知的实例"
},
"app.action-bar.installs": {
"message": "安装"
},
"app.action-bar.make-primary-instance": {
"message": "设为主实例"
},
@@ -101,6 +128,12 @@
"app.appearance-settings.show-play-time.title": {
"message": "显示总游玩时间"
},
"app.appearance-settings.skip-non-essential-warnings.description": {
"message": "自动跳过低风险确认,包括重复安装整合包、常规内容删除、批量更新、解除整合包关联及修复提示。危险警告仍会显示。"
},
"app.appearance-settings.skip-non-essential-warnings.title": {
"message": "跳过非必要的警告"
},
"app.appearance-settings.toggle-sidebar.description": {
"message": "启用切换侧边栏的功能。"
},
@@ -108,7 +141,7 @@
"message": "切换侧边栏"
},
"app.appearance-settings.unknown-pack-warning.description": {
"message": "如果你尝试安装一个未托管在 Modrinth 上的 Modrinth 包文件(.mrpack),我们会确保你在安装之前了解相关风险。"
"message": "如果你尝试安装一个未托管在 Modrinth 上的 Modrinth 整合包文件(.mrpack),我们会确保你在安装之前了解相关风险。"
},
"app.appearance-settings.unknown-pack-warning.title": {
"message": "安装未知整合包前提醒我"
@@ -120,7 +153,7 @@
"message": "无法连接到身份验证服务器"
},
"app.browse.add-servers-to-instance": {
"message": "正在添加服务器到实例"
"message": "添加服务器到实例"
},
"app.browse.add-to-an-instance": {
"message": "添加到实例"
@@ -170,24 +203,72 @@
"app.export-modal.header": {
"message": "导出整合包"
},
"app.export-modal.include-file-accessibility-label": {
"message": "包含 \"{file}\""
},
"app.export-modal.modpack-name-label": {
"message": "整合包名称"
},
"app.export-modal.modpack-name-placeholder": {
"message": "整合包名称"
},
"app.export-modal.select-files-label": {
"message": "配置此导出中包含哪些文件"
},
"app.export-modal.version-number-label": {
"message": "版本号"
},
"app.export-modal.version-number-placeholder": {
"message": "1.0.0"
},
"app.install.phase.downloading_content": {
"message": "正在下载内容"
},
"app.install.phase.downloading_minecraft": {
"message": "正在下载 Minecraft"
},
"app.install.phase.downloading_pack_file": {
"message": "正在下载包文件"
},
"app.install.phase.extracting_overrides": {
"message": "提取覆盖项"
},
"app.install.phase.finalizing": {
"message": "完成"
},
"app.install.phase.preparing_instance": {
"message": "准备实例"
},
"app.install.phase.preparing_java": {
"message": "正在准备 Java"
},
"app.install.phase.preparing_java.downloading": {
"message": "正在下载 Java {version}"
},
"app.install.phase.preparing_java.extracting": {
"message": "正在提取 Java {version}"
},
"app.install.phase.preparing_java.fetching-metadata": {
"message": "正在获取 Java {version}"
},
"app.install.phase.preparing_java.resolving": {
"message": "正在准备 Java {version}"
},
"app.install.phase.preparing_java.validating": {
"message": "正在校验 Java {version}"
},
"app.install.phase.reading_pack_manifest": {
"message": "正在读取整合包清单"
},
"app.install.phase.resolving_loader": {
"message": "正在解析加载器"
},
"app.install.phase.resolving_minecraft": {
"message": "正在解析 Minecraft"
},
"app.install.phase.resolving_pack": {
"message": "正在解析内容"
},
"app.install.phase.rolling_back": {
"message": "回滚"
},
"app.install.phase.running_loader_processors": {
"message": "正在运行加载处理器"
},
"app.instance.confirm-delete.admonition-body": {
"message": "你实例的所有数据将被永久删除,包括你的世界、配置和所有已安装的内容。"
},
@@ -212,6 +293,15 @@
"app.instance.modpack-already-installed.instance": {
"message": "实例"
},
"app.instance.mods.bulk-update.downloading-projects": {
"message": "正在下载 {current, number}/{total, number}个 项目……"
},
"app.instance.mods.bulk-update.finishing": {
"message": "正在结束更新……"
},
"app.instance.mods.bulk-update.resolving-versions": {
"message": "正在解析版本……"
},
"app.instance.mods.content-type-project": {
"message": "项目"
},
@@ -236,6 +326,18 @@
"app.instance.worlds.browse-servers": {
"message": "浏览服务器"
},
"app.instance.worlds.delete-world-modal.delete-button": {
"message": "删除世界"
},
"app.instance.worlds.delete-world-modal.title": {
"message": "删除世界"
},
"app.instance.worlds.delete-world-modal.warning-body": {
"message": "这个世界将会被永久删除,此操作无法撤销。"
},
"app.instance.worlds.delete-world-modal.warning-header": {
"message": "正在删除 {name}"
},
"app.instance.worlds.filter-modded": {
"message": "模组适配"
},
@@ -254,6 +356,18 @@
"app.instance.worlds.no-worlds-heading": {
"message": "未添加服务器或世界"
},
"app.instance.worlds.remove-server-modal.remove-button": {
"message": "删除服务器"
},
"app.instance.worlds.remove-server-modal.title": {
"message": "删除服务器"
},
"app.instance.worlds.remove-server-modal.warning-body": {
"message": "该服务器将会被移出你的服务器列表,也包括游戏内的服务器列表。之后如果你记得地址,仍可将其添加回来。"
},
"app.instance.worlds.remove-server-modal.warning-header": {
"message": "正在删除 {name}"
},
"app.instance.worlds.search-worlds-placeholder": {
"message": "搜索 {count} 个世界……"
},
@@ -651,7 +765,7 @@
"message": "将从设备中永久删除该实例,包括所有存档、配置文件及已安装内容。此操作不可撤销,请谨慎操作。"
},
"instance.settings.tabs.general.deleting.button": {
"message": "删除中..."
"message": "删除中……"
},
"instance.settings.tabs.general.duplicate-button": {
"message": "复制"
@@ -732,7 +846,7 @@
"message": "在游戏关闭后运行。"
},
"instance.settings.tabs.hooks.post-exit.enter": {
"message": "输入退出后运行的命令…"
"message": "输入退出后运行的命令…"
},
"instance.settings.tabs.hooks.pre-launch": {
"message": "启动前"
@@ -741,7 +855,7 @@
"message": "在实例启动前运行。"
},
"instance.settings.tabs.hooks.pre-launch.enter": {
"message": "输入启动前命令..."
"message": "输入启动前命令……"
},
"instance.settings.tabs.hooks.title": {
"message": "游戏启动钩子"
@@ -753,7 +867,7 @@
"message": "用于启动 Minecraft 的包装器命令。"
},
"instance.settings.tabs.hooks.wrapper.enter": {
"message": "输入封装命令..."
"message": "输入封装命令……"
},
"instance.settings.tabs.installation": {
"message": "安装"
@@ -819,7 +933,7 @@
"message": "游戏启动时的窗口高度。"
},
"instance.settings.tabs.window.height.enter": {
"message": "输入高度…"
"message": "输入高度…"
},
"instance.settings.tabs.window.width": {
"message": "宽度"
@@ -828,7 +942,7 @@
"message": "游戏启动时的窗口宽度。"
},
"instance.settings.tabs.window.width.enter": {
"message": "输入宽度…"
"message": "输入宽度…"
},
"instance.worlds.a_minecraft_server": {
"message": "Minecraft 服务器"
@@ -839,6 +953,9 @@
"instance.worlds.copy_address": {
"message": "复制地址"
},
"instance.worlds.create_shortcut": {
"message": "创建快照"
},
"instance.worlds.dont_show_on_home": {
"message": "在主界面隐藏"
},
@@ -927,7 +1044,7 @@
"message": "仍然安装"
},
"unknown-pack-warning-modal.malware-statement": {
"message": "恶意软件常常通过模组包文件在 Discord 等平台上分享而传播。"
"message": "恶意软件常常通过整合包文件在 Discord 等平台上分享而传播。"
},
"unknown-pack-warning-modal.warning.body": {
"message": "我们在 Modrinth 上找不到此文件。强烈建议你仅从可信来源安装文件。"
+124 -7
View File
@@ -11,6 +11,33 @@
"app.action-bar.hide-more-running-instances": {
"message": "隱藏更多執行中的實例"
},
"app.action-bar.install.dismiss": {
"message": "忽略"
},
"app.action-bar.install.failed": {
"message": "無法安裝"
},
"app.action-bar.install.failed-app-closed": {
"message": "由於應用程式關閉,無法安裝。"
},
"app.action-bar.install.failed-network": {
"message": "由於網路錯誤,無法安裝。"
},
"app.action-bar.install.failed-unknown": {
"message": "由於未知錯誤,無法安裝。"
},
"app.action-bar.install.open-instance": {
"message": "開啟實例"
},
"app.action-bar.install.retry": {
"message": "重試"
},
"app.action-bar.install.unknown-instance": {
"message": "未知的實例"
},
"app.action-bar.installs": {
"message": "安裝"
},
"app.action-bar.make-primary-instance": {
"message": "設為主要實例"
},
@@ -101,6 +128,12 @@
"app.appearance-settings.show-play-time.title": {
"message": "顯示遊玩時數"
},
"app.appearance-settings.skip-non-essential-warnings.description": {
"message": "自動跳過低風險操作的確認提示,例如重複安裝模組包、常規內容刪除、批次更新、取消連結模組包以及修復提示。高風險警告仍會顯示。"
},
"app.appearance-settings.skip-non-essential-warnings.title": {
"message": "跳過非必要的警告"
},
"app.appearance-settings.toggle-sidebar.description": {
"message": "啟用切換側邊欄的功能。"
},
@@ -162,7 +195,7 @@
"message": "沒有符合 {compatibilityLabel} 的可用版本。請選擇一個版本強制安裝。不會自動安裝相依模組。"
},
"app.export-modal.description-placeholder": {
"message": "輸入模組包描述..."
"message": "輸入模組包描述……"
},
"app.export-modal.export-button": {
"message": "匯出"
@@ -170,24 +203,72 @@
"app.export-modal.header": {
"message": "匯出模組包"
},
"app.export-modal.include-file-accessibility-label": {
"message": "要包含「{file}」嗎?"
},
"app.export-modal.modpack-name-label": {
"message": "模組包名稱"
},
"app.export-modal.modpack-name-placeholder": {
"message": "模組包名稱"
},
"app.export-modal.select-files-label": {
"message": "設定要包含在此匯出檔案中的檔案"
},
"app.export-modal.version-number-label": {
"message": "版本號碼"
},
"app.export-modal.version-number-placeholder": {
"message": "1.0.0"
},
"app.install.phase.downloading_content": {
"message": "正在下載內容"
},
"app.install.phase.downloading_minecraft": {
"message": "正在下載 Minecraft"
},
"app.install.phase.downloading_pack_file": {
"message": "正在下載模組包檔案"
},
"app.install.phase.extracting_overrides": {
"message": "正在解壓縮覆寫檔案"
},
"app.install.phase.finalizing": {
"message": "即將完成"
},
"app.install.phase.preparing_instance": {
"message": "正在準備實例"
},
"app.install.phase.preparing_java": {
"message": "正在準備 Java"
},
"app.install.phase.preparing_java.downloading": {
"message": "正在下載 Java {version}"
},
"app.install.phase.preparing_java.extracting": {
"message": "正在解壓縮 Java {version}"
},
"app.install.phase.preparing_java.fetching-metadata": {
"message": "正在擷取 Java {version}"
},
"app.install.phase.preparing_java.resolving": {
"message": "正在準備 Java {version}"
},
"app.install.phase.preparing_java.validating": {
"message": "正在驗證 Java {version}"
},
"app.install.phase.reading_pack_manifest": {
"message": "正在讀取模組包清單"
},
"app.install.phase.resolving_loader": {
"message": "正在解析載入器"
},
"app.install.phase.resolving_minecraft": {
"message": "正在解析 Minecraft"
},
"app.install.phase.resolving_pack": {
"message": "正在解析內容"
},
"app.install.phase.rolling_back": {
"message": "正在復原"
},
"app.install.phase.running_loader_processors": {
"message": "正在執行載入器處理程式"
},
"app.instance.confirm-delete.admonition-body": {
"message": "你實例中的所有資料將被永久刪除,包含你的世界、設定檔以及所有已安裝的內容。"
},
@@ -212,6 +293,15 @@
"app.instance.modpack-already-installed.instance": {
"message": "實例"
},
"app.instance.mods.bulk-update.downloading-projects": {
"message": "正在下載專案 {current, number}/{total, number}..."
},
"app.instance.mods.bulk-update.finishing": {
"message": "正在結束更新..."
},
"app.instance.mods.bulk-update.resolving-versions": {
"message": "正在解析版本..."
},
"app.instance.mods.content-type-project": {
"message": "專案"
},
@@ -236,6 +326,18 @@
"app.instance.worlds.browse-servers": {
"message": "瀏覽伺服器"
},
"app.instance.worlds.delete-world-modal.delete-button": {
"message": "刪除世界"
},
"app.instance.worlds.delete-world-modal.title": {
"message": "刪除世界"
},
"app.instance.worlds.delete-world-modal.warning-body": {
"message": "此世界將會被永久刪除,此操作無法復原。"
},
"app.instance.worlds.delete-world-modal.warning-header": {
"message": "正在刪除 {name}"
},
"app.instance.worlds.filter-modded": {
"message": "模組"
},
@@ -254,6 +356,18 @@
"app.instance.worlds.no-worlds-heading": {
"message": "未新增任何伺服器或世界"
},
"app.instance.worlds.remove-server-modal.remove-button": {
"message": "移除伺服器"
},
"app.instance.worlds.remove-server-modal.title": {
"message": "移除伺服器"
},
"app.instance.worlds.remove-server-modal.warning-body": {
"message": "這個伺服器將從你的伺服器清單中移除。如果你記得伺服器位址,稍後可以將其重新新增回來。"
},
"app.instance.worlds.remove-server-modal.warning-header": {
"message": "正在移除 {name}"
},
"app.instance.worlds.search-worlds-placeholder": {
"message": "搜尋 {count} 個世界..."
},
@@ -839,6 +953,9 @@
"instance.worlds.copy_address": {
"message": "複製位址"
},
"instance.worlds.create_shortcut": {
"message": "建立捷徑"
},
"instance.worlds.dont_show_on_home": {
"message": "不要在首頁顯示"
},
+6
View File
@@ -114,6 +114,10 @@ const messages = defineMessages({
id: 'app.skins.section.tiny-takeover',
defaultMessage: 'Tiny Takeover',
},
chaosCubedSection: {
id: 'app.skins.section.chaos-cubed',
defaultMessage: 'Chaos Cubed',
},
rateLimitTitle: {
id: 'app.skins.rate-limit.title',
defaultMessage: 'Slow down!',
@@ -447,6 +451,8 @@ function getDefaultSkinSectionTitle(section?: string) {
return formatMessage(messages.mountsOfMayhemSection)
case 'Tiny Takeover':
return formatMessage(messages.tinyTakeoverSection)
case 'Chaos Cubed':
return formatMessage(messages.chaosCubedSection)
case 'Default skins':
return formatMessage(messages.defaultSkinsSection)
default:
@@ -1,7 +1,11 @@
<template>
<div class="h-full w-full pt-6">
<div
class="h-full w-full pt-6"
:class="isContainedServerRoute ? 'box-border min-h-0 overflow-hidden' : ''"
>
<ServersManageRootLayout
:server-id="serverId"
:layout-mode="isContainedServerRoute ? 'contained' : 'page'"
:reload-page="() => router.go(0)"
:resolve-viewer="resolveViewer"
:show-copy-id-action="themeStore.devMode"
@@ -63,6 +67,8 @@ const queryClient = useQueryClient()
const themeStore = useTheming()
const breadcrumbs = useBreadcrumbs()
const isContainedServerRoute = computed(() => route.name === 'ServerManageOverview')
const serverId = computed(() => {
const rawId = route.params.id
return Array.isArray(rawId) ? rawId[0] : (rawId ?? '')
@@ -3,5 +3,5 @@ import { ServersManageOverviewPage } from '@modrinth/ui'
</script>
<template>
<ServersManageOverviewPage />
<ServersManageOverviewPage contained-console />
</template>
@@ -676,7 +676,7 @@ const handleOptionsClick = async (args: { option: string; item: unknown }) => {
break
case 'copy_path': {
if (instance.value) {
const fullPath = await get_full_path(instance.value?.path)
const fullPath = await get_full_path(instance.value.id)
await navigator.clipboard.writeText(fullPath)
}
break
@@ -1443,7 +1443,7 @@ onMounted(() => {
props.instance &&
event.instance_id === props.instance.id &&
event.event === 'synced' &&
props.instance.install_stage !== 'pack_installing' &&
props.instance.install_stage === 'installed' &&
!isBulkOperating.value
) {
await initProjects()
@@ -618,10 +618,7 @@ const filterOptions = computed(() => {
const hasSingleplayer = dedupedWorlds.value.some((x) => x.type === 'singleplayer')
const hasServer = dedupedWorlds.value.some((x) => x.type === 'server')
const hasStatusFilter =
selectedFilters.value.includes('online') || selectedFilters.value.includes('offline')
if (hasSingleplayer && hasServer && !hasStatusFilter) {
if (hasSingleplayer && hasServer) {
options.push({ id: 'singleplayer', label: formatMessage(commonMessages.singleplayerLabel) })
}
@@ -633,13 +630,11 @@ const filterOptions = computed(() => {
options.push({ id: 'vanilla', label: formatMessage(messages.vanillaFilter) })
options.push({ id: 'modded', label: formatMessage(messages.moddedFilter) })
}
if (!selectedFilters.value.includes('singleplayer')) {
const hasOnline = servers.some((x) => !!serverData.value[x.address]?.status)
const hasOffline = servers.some((x) => !serverData.value[x.address]?.status)
if (hasOnline && hasOffline) {
options.push({ id: 'online', label: formatMessage(messages.onlineFilter) })
options.push({ id: 'offline', label: formatMessage(messages.offlineFilter) })
}
const hasOnline = servers.some((x) => !!serverData.value[x.address]?.status)
const hasOffline = servers.some((x) => !serverData.value[x.address]?.status)
if (hasOnline && hasOffline) {
options.push({ id: 'online', label: formatMessage(messages.onlineFilter) })
options.push({ id: 'offline', label: formatMessage(messages.offlineFilter) })
}
}
@@ -5,16 +5,15 @@
:game-versions="gameVersions"
:versions="versions"
:project="project"
:show-environment-column="themeStore.featureFlags.show_version_environment_column"
:version-link="(version) => buildProjectHref(`/project/${project.id}/version/${version.id}`)"
>
<template #actions="{ version }">
<ButtonStyled circular type="transparent">
<ButtonStyled circular type="transparent" color="green">
<button
v-tooltip="`Install`"
:class="{
'group-hover:!bg-brand group-hover:[&>svg]:!text-brand-inverted':
!installed || version.id !== installedVersion,
}"
v-tooltip="
!installed ? 'Install' : version.id !== installedVersion ? 'Swap version' : ''
"
:disabled="installing || (installed && version.id === installedVersion)"
@click.stop="() => install(version.id)"
>
@@ -26,7 +25,6 @@
<ButtonStyled circular type="transparent">
<OverflowMenu
v-if="false"
class="group-hover:!bg-button-bg"
:options="[
{
id: 'install-elsewhere',
@@ -52,7 +50,6 @@
<a
v-else
v-tooltip="`Open in browser`"
class="group-hover:!bg-button-bg"
:href="`https://modrinth.com/${project.project_type}/${project.slug}/version/${version.id}`"
target="_blank"
>
@@ -77,6 +74,9 @@ import { useRoute } from 'vue-router'
import { SwapIcon } from '@/assets/icons/index.js'
import { get_game_versions, get_loaders } from '@/helpers/tags.js'
import { useTheming } from '@/store/theme.ts'
const themeStore = useTheming()
defineProps({
project: {
+1
View File
@@ -247,6 +247,7 @@ export default new createRouter({
name: 'Logs',
component: Instance.Logs,
meta: {
renderMode: 'fixed',
useRootContext: true,
breadcrumb: [{ name: '?Instance', link: '/instance/{id}/' }, { name: 'Logs' }],
},
+1
View File
@@ -8,6 +8,7 @@ export const DEFAULT_FEATURE_FLAGS = {
worlds_tab: false,
worlds_in_home: true,
server_project_qa: false,
show_version_environment_column: false,
server_ram_as_bytes_always_on: false,
always_show_app_controls: false,
skip_non_essential_warnings: false,
+1 -1
View File
@@ -47,7 +47,7 @@ async fn main() -> theseus::Result<()> {
for world in worlds {
println!(
"World: {:?}/{:?} played at {:?}: {:#?}",
world.profile,
world.instance_id,
world.world.name,
world.world.last_played,
world.world.details
+6 -1
View File
@@ -414,7 +414,7 @@ components:
- unknown
- signature
example: required-resource-pack
# https://github.com/modrinth/labrinth/blob/master/src/routes/version_creation.rs#L27-L57
# https://github.com/modrinth/code/blob/main/apps/labrinth/src/routes/v2/version_creation.rs#L32-L76
CreatableVersion:
allOf:
- $ref: '#/components/schemas/BaseVersion'
@@ -446,6 +446,11 @@ components:
- client_or_server_prefers_both
- unknown
description: The environment that this version is for.
file_types:
type: object
additionalProperties:
$ref: '#/components/schemas/FileTypeEnum'
description: A map of file parts to their associated file type, a file type is used for additional files such as sources jars.
required:
- file_parts
- project_id
@@ -41,38 +41,38 @@ export const VISIBLE_PROJECT_STATUS_CHANGE_EVENT_STATUS_SET =
export const LIGHT_LEGEND_PALETTE = [
'hsl(152, 100%, 34%)',
'hsl(26, 100%, 42%)',
'hsl(202, 100%, 35%)',
'hsl(327, 45%, 64%)',
'hsl(41, 100%, 45%)',
'hsl(250, 60%, 33%)',
'hsl(170, 43%, 47%)',
'hsl(330, 60%, 33%)',
'hsl(46, 100%, 36%)',
'hsl(167, 100%, 30%)',
'hsl(343, 38%, 45%)',
'hsl(222, 100%, 28%)',
'hsl(270, 62%, 60%)',
'hsl(32, 100%, 37%)',
'hsl(349, 57%, 51%)',
'hsl(191, 43%, 37%)',
'hsl(41, 79%, 46%)',
'hsl(203, 76%, 64%)',
'hsl(0, 93%, 62%)',
'hsl(143, 66%, 29%)',
'hsl(58, 89%, 25%)',
'hsl(311, 64%, 49%)',
'hsl(198, 91%, 32%)',
'hsl(12, 88%, 27%)',
'hsl(236, 61%, 60%)',
'hsl(102, 59%, 74%)',
'hsl(293, 76%, 79%)',
'hsl(67, 99%, 41%)',
'hsl(179, 100%, 50%)',
'hsl(102, 100%, 61%)',
'hsl(0, 100%, 32%)',
]
export const DARK_LEGEND_PALETTE = [
'hsl(145, 78%, 48%)',
'hsl(41, 100%, 50%)',
'hsl(202, 77%, 63%)',
'hsl(323, 66%, 72%)',
'hsl(56, 85%, 60%)',
'hsl(255, 92%, 80%)',
'hsl(12, 100%, 67%)',
'hsl(176, 58%, 56%)',
'hsl(60, 100%, 41%)',
'hsl(165, 80%, 38%)',
'hsl(341, 36%, 56%)',
'hsl(226, 60%, 49%)',
'hsl(252, 53%, 62%)',
'hsl(75, 59%, 50%)',
'hsl(195, 56%, 42%)',
'hsl(30, 59%, 56%)',
'hsl(41, 79%, 46%)',
'hsl(203, 76%, 64%)',
'hsl(0, 93%, 62%)',
'hsl(143, 66%, 29%)',
'hsl(58, 94%, 45%)',
'hsl(311, 64%, 49%)',
'hsl(198, 91%, 32%)',
'hsl(12, 88%, 27%)',
'hsl(236, 61%, 60%)',
'hsl(102, 59%, 74%)',
'hsl(293, 76%, 79%)',
'hsl(61, 92%, 33%)',
'hsl(179, 100%, 50%)',
'hsl(102, 100%, 61%)',
'hsl(0, 100%, 32%)',
]
@@ -288,6 +288,7 @@ type PaletteRankEntry = {
key: string
label: string
total: number
excludedFromRank?: boolean
}
function formatDatasetTooltip(projectName: string | undefined): string | undefined {
@@ -330,9 +331,12 @@ function buildPaletteColorsByDownloadRank(
const colorsByKey = new Map<string, string>()
if (palette.length === 0) return colorsByKey
const sortedEntries = [...entries].sort(
(a, b) => b.total - a.total || a.label.localeCompare(b.label) || a.key.localeCompare(b.key),
)
const compareEntries = (a: PaletteRankEntry, b: PaletteRankEntry) =>
b.total - a.total || a.label.localeCompare(b.label) || a.key.localeCompare(b.key)
const rankedEntries = entries.filter((entry) => !entry.excludedFromRank).sort(compareEntries)
const excludedEntries = entries.filter((entry) => entry.excludedFromRank).sort(compareEntries)
const sortedEntries = [...rankedEntries, ...excludedEntries]
sortedEntries.forEach((entry, index) => {
colorsByKey.set(entry.key, getPaletteColorForIndex(index, palette))
})
@@ -340,6 +344,27 @@ function buildPaletteColorsByDownloadRank(
return colorsByKey
}
function isExcludedFromPaletteRank(breakdownValues: readonly string[]): boolean {
return breakdownValues.some(
(value) =>
isUnknownAnalyticsBreakdownValue(value) || isNoDependentAnalyticsBreakdownValue(value),
)
}
function buildPaletteRankEntry(
key: string,
breakdownValues: readonly string[],
total: number,
formatLabel: (breakdownValues: readonly string[]) => string,
): PaletteRankEntry {
return {
key,
label: formatLabel(breakdownValues),
total,
excludedFromRank: isExcludedFromPaletteRank(breakdownValues),
}
}
export function getMetricValue(
point: Labrinth.Analytics.v3.ProjectAnalytics,
activeStat: AnalyticsDashboardStat,
@@ -499,11 +524,14 @@ export function buildChartDatasets(
})
const colorsByBreakdown = buildPaletteColorsByDownloadRank(
Array.from(dataByBreakdown.keys()).map((breakdownKey) => ({
key: breakdownKey,
label: formatChartBreakdownLabels(breakdownValuesByKey.get(breakdownKey) ?? []),
total: downloadTotalsByBreakdown.get(breakdownKey) ?? 0,
})),
Array.from(dataByBreakdown.keys()).map((breakdownKey) =>
buildPaletteRankEntry(
breakdownKey,
breakdownValuesByKey.get(breakdownKey) ?? [],
downloadTotalsByBreakdown.get(breakdownKey) ?? 0,
formatChartBreakdownLabels,
),
),
palette,
)
@@ -675,11 +703,14 @@ export function buildChartDatasets(
})
const colorsByBreakdown = buildPaletteColorsByDownloadRank(
Array.from(dataByProjectBreakdown.keys()).map((breakdownKey) => ({
key: breakdownKey,
label: formatChartBreakdownLabels(breakdownValuesByKey.get(breakdownKey) ?? []),
total: downloadTotalsByProjectBreakdown.get(breakdownKey) ?? 0,
})),
Array.from(dataByProjectBreakdown.keys()).map((breakdownKey) =>
buildPaletteRankEntry(
breakdownKey,
breakdownValuesByKey.get(breakdownKey) ?? [],
downloadTotalsByProjectBreakdown.get(breakdownKey) ?? 0,
formatChartBreakdownLabels,
),
),
palette,
)
@@ -193,6 +193,7 @@ async function setStatus(status: Labrinth.Projects.v2.ProjectStatus) {
isLoadingStatusAction.value = true
try {
await client.labrinth.projects_v2.edit(props.item.project.id, { status })
emit('refetch')
projectStatus.value = status
} catch (err) {
@@ -1206,7 +1207,7 @@ async function handleSubmitReview(verdict: 'safe' | 'unsafe') {
</OverflowMenu>
</ButtonStyled>
<ButtonStyled v-if="featureFlags.developerMode" type="outlined">
<button @click="emit('showMaliciousSummary', unsafeFiles)">Debug Summary</button>
<button @click="emit('showMaliciousSummary', unsafeFiles)">Debug</button>
</ButtonStyled>
</template>
</ThreadView>
@@ -21,6 +21,7 @@ export const DEFAULT_FEATURE_FLAGS = validateValues({
developerMode: false,
demoMode: false,
showVersionFilesInTable: false,
showVersionEnvironmentColumn: false,
showAdsWithPlus: false,
alwaysShowChecklistAsPopup: true,
testTaxForm: false,
@@ -356,18 +356,9 @@
"auth.reset-password.title.long": {
"message": "تغيير كلمة المرور"
},
"auth.sign-in.2fa.description": {
"message": "يرجى إدخال رمز التحقق الثنائي للمتابعة."
},
"auth.sign-in.2fa.label": {
"message": "أدخل رمز التحقق الثنائي"
},
"auth.sign-in.2fa.placeholder": {
"message": "أدخل الرمز..."
},
"auth.sign-in.sign-in-with": {
"message": "تسجيل الدخول باستخدام"
},
"auth.sign-in.title": {
"message": "تسجيل الدخول"
},
@@ -380,9 +371,6 @@
"auth.sign-up.title": {
"message": "إنشاء حساب"
},
"auth.sign-up.title.sign-up-with": {
"message": "سجّل باستخدام"
},
"auth.verify-email.action.account-settings": {
"message": "إعدادات الحساب"
},
@@ -926,18 +914,6 @@
"dashboard.projects.project.review-environment-metadata": {
"message": "يرجى مراجعة بيانات تعريف البيئة"
},
"dashboard.projects.sort.ascending": {
"message": "صعوداً"
},
"dashboard.projects.sort.descending": {
"message": "نزولا"
},
"dashboard.projects.sort.option.name": {
"message": "الإسم"
},
"dashboard.projects.sort.option.status": {
"message": "الحالة"
},
"dashboard.revenue.available-now": {
"message": "متاح الآن"
},
File diff suppressed because it is too large Load Diff
@@ -254,18 +254,9 @@
"auth.reset-password.title.long": {
"message": "Nulstil din adgangskode"
},
"auth.sign-in.2fa.description": {
"message": "Indtast en to-faktor-kode for at fortsætte."
},
"auth.sign-in.2fa.label": {
"message": "Indtast to-faktor-kode"
},
"auth.sign-in.2fa.placeholder": {
"message": "Indtast kode..."
},
"auth.sign-in.sign-in-with": {
"message": "Log ind med"
},
"auth.sign-in.title": {
"message": "Log ind"
},
@@ -278,9 +269,6 @@
"auth.sign-up.title": {
"message": "Tilmeld"
},
"auth.sign-up.title.sign-up-with": {
"message": "Tilmeld dig med"
},
"auth.verify-email.action.account-settings": {
"message": "Kontoindstillinger"
},
+326 -35
View File
@@ -23,6 +23,15 @@
"analytics.breakdown.country": {
"message": "Land"
},
"analytics.breakdown.dependent-on": {
"message": "Abhängig von"
},
"analytics.breakdown.dependent-project-download": {
"message": "Abhängiges Projekt"
},
"analytics.breakdown.dependent-project-type": {
"message": "Abhängiger Projekttyp"
},
"analytics.breakdown.download-reason": {
"message": "Download-Grund"
},
@@ -38,6 +47,9 @@
"analytics.breakdown.loader": {
"message": "Loader"
},
"analytics.breakdown.members": {
"message": "Mitglied"
},
"analytics.breakdown.monetization": {
"message": "Monetarisierung"
},
@@ -134,6 +146,24 @@
"analytics.chart.render-limit.header": {
"message": "Alle {count} Linien im Diagramm anzeigen?"
},
"analytics.chart.table-selection.all": {
"message": "Zeige alle {itemType, select, project {{count, plural, one {Projekt} other {Projekte}}} country {{count, plural, one {Land} other {Länder}}} monetization {{count, plural, one {Monetarisierungswert} other {Monetarisierungswerte}}} downloadSource {{count, plural, one {Downloadquelle} other {Downloadquellen}}} downloadReason {{count, plural, one {Downloadgrund} other {Downloadgründe}}} member {{count, plural, one {Mitglied} other {Mitglieder}}} projectVersion {{count, plural, one {Projektversion} other {Projektversionen}}} loader {{count, plural, one {Loader} other {Loader}}} gameVersion {{count, plural, one {Spielversion} other {Spielversionen}}} other {{count, plural, one {Artikel} other {Artikel}}}} aus der Tabelle"
},
"analytics.chart.table-selection.count": {
"message": "Zeige {count} {itemType, select, project {{count, plural, one {Projekt} other {Projekte}}} country {{count, plural, one {Land} other {Länder}}} monetization {{count, plural, one {Monetarisierungswert} other {Monetarisierungswerte}}} downloadSource {{count, plural, one {Downloadquelle} other {Downloadquellen}}} downloadReason {{count, plural, one {Downloadgrund} other {Downloadgründe}}} member {{count, plural, one {Mitglied} other {Mitglieder}}} projectVersion {{count, plural, one {Projektversion} other {Projektversionen}}} loader {{count, plural, one {Loader} other {Loader}}} gameVersion {{count, plural, one {Spielversion} other {Spielversionen}}} other {{count, plural, one {Artikel} other {Artikel}}}} aus der Tabelle"
},
"analytics.chart.table-selection.limited": {
"message": "Zeige {limit} {itemType, select, project {{limit, plural, one {Projekt} other {Projekte}}} country {{limit, plural, one {Land} other {Länder}}} monetization {{limit, plural, one {Monetarisierungswert} other {Monetarisierungswerte}}} downloadSource {{limit, plural, one {Downloadquelle} other {Downloadquellen}}} downloadReason {{limit, plural, one {Downloadgrund} other {Downloadgründe}}} member {{limit, plural, one {Mitglied} other {Mitglieder}}} projectVersion {{limit, plural, one {Projektversion} other {Projektversionen}}} loader {{limit, plural, one {Loader} other {Loader}}} gameVersion {{limit, plural, one {Spielversion} other {Spielversionen}}} other {{limit, plural, one {Artikel} other {Artikel}}}} aus der Tabelle"
},
"analytics.chart.table-selection.top": {
"message": "Zeige die top {count} {itemType, select, project {{count, plural, one {Projekt} other {Projekte}}} country {{count, plural, one {Land} other {Länder}}} monetization {{count, plural, one {Monetarisierungswert} other {Monetarisierungswerte}}} downloadSource {{count, plural, one {Downloadquelle} other {Downloadquellen}}} downloadReason {{count, plural, one {Downloadgrund} other {Downloadgründe}}} member {{count, plural, one {Mitglied} other {Mitglieder}}} projectVersion {{count, plural, one {Projektversion} other {Projektversionen}}} loader {{count, plural, one {Loader} other {Loader}}} gameVersion {{count, plural, one {Spielversion} other {Spielversionen}}} other {{count, plural, one {Artikel} other {Artikel}}}} aus der Tabelle"
},
"analytics.chart.tooltip.dependent-on-project": {
"message": "Abhängig von {project}"
},
"analytics.chart.tooltip.dependent-project-version": {
"message": "{dependentProject} abhängig von {dependencyProject}, {version}"
},
"analytics.chart.tooltip.duration.days": {
"message": "{count, plural, one {# Tag} other {# Tage}}"
},
@@ -218,9 +248,15 @@
"analytics.filter.search.countries": {
"message": "Länder suchen..."
},
"analytics.filter.search.dependent-projects": {
"message": "Projekte durchsuchen..."
},
"analytics.filter.search.download-sources": {
"message": "Download-Quellen suchen..."
},
"analytics.filter.search.members": {
"message": "Mitglieder durchsuchen..."
},
"analytics.filter.search.project-versions": {
"message": "Projektversionen suchen..."
},
@@ -467,6 +503,12 @@
"analytics.value.monetized": {
"message": "Monetarisiert"
},
"analytics.value.no-dependent": {
"message": "Keine"
},
"analytics.value.no-dependent-tooltip": {
"message": "Aus anderen Gründen als einer Abhängigkeit heruntergeladen"
},
"analytics.value.none": {
"message": "Keine"
},
@@ -689,12 +731,72 @@
"auth.authorize.authorize-app-name": {
"message": "{appName} autorisieren"
},
"auth.authorize.error.missing-parameters": {
"message": "Erforderliche Abfrageparameter für OAuth fehlen."
},
"auth.authorize.error.no-redirect-url": {
"message": "Keine Weiterleitungsziel in Antwort gefunden"
},
"auth.authorize.errro-title": {
"message": "Ein Fehler ist aufgetreten"
},
"auth.authorize.redirect-url": {
"message": "Du wirst zu <redirect-url>{url}</redirect-url> weitergeleitet"
},
"auth.continue-with-provider": {
"message": "Weiter mit {provider}"
},
"auth.create-account.age-requirement.warning-title": {
"message": "Mindestalter"
},
"auth.create-account.complete-sign-up": {
"message": "Registrierung abschließen"
},
"auth.create-account.date-of-birth.invalid.text": {
"message": "Bitte gib ein gültiges Geburtsdatum ein. Das Jahr darf nicht 0000 sein."
},
"auth.create-account.date-of-birth.invalid.title": {
"message": "Ungültiges Geburtsdatum"
},
"auth.create-account.date-of-birth.label": {
"message": "Geburtsdatum"
},
"auth.create-account.date-of-birth.placeholder": {
"message": "Wähle dein Geburtsdatum"
},
"auth.create-account.date-of-birth.required.text": {
"message": "Bitte gib dein Geburtsdatum ein, bevor du fortfährst."
},
"auth.create-account.date-of-birth.required.title": {
"message": "Geburtsdatum erforderlich"
},
"auth.create-account.date-of-birth.under13-helper": {
"message": "Du erfüllst das Mindestalter für die Erstellung eines Kontos bei Modrinth nicht."
},
"auth.create-account.info-panel.source-code-link": {
"message": "Relevanter Quellcode"
},
"auth.create-account.info-panel.text": {
"message": "Wir speichern dein Geburtsdatum nicht. Wir verwenden es ausschließlich bei der Registrierung, um die Einhaltung der COPPA-Vorschriften sicherzustellen."
},
"auth.create-account.page-title": {
"message": "Konto erstellen"
},
"auth.create-account.security-check.label": {
"message": "Sicherheitscheck"
},
"auth.create-account.subscribe.label": {
"message": "Haltet mich per E-Mail über coole Dinge auf dem Laufenden, an denen Modrinth gerade arbeitet"
},
"auth.create-account.title": {
"message": "Ein Konto erstellen"
},
"auth.create-account.username.label": {
"message": "Benutzername"
},
"auth.create-account.username.placeholder": {
"message": "Benutzername eingeben"
},
"auth.reset-password.method-choice.action": {
"message": "Wiederherstellungs-E-Mail senden"
},
@@ -729,23 +831,53 @@
"message": "Dein Passwort zurücksetzen"
},
"auth.sign-in.2fa.description": {
"message": "Bitte gib einen Zwei-Faktor-Code ein, um fortzufahren."
"message": "Gib den 6-stelligen Code aus deiner Authentifikator-App oder einen deiner Backup-Codes ein."
},
"auth.sign-in.2fa.label": {
"message": "Zwei-Faktor-Code eingeben"
"message": "Zwei-Faktor-Authentifizierung"
},
"auth.sign-in.2fa.placeholder": {
"message": "Code eingeben..."
},
"auth.sign-in.continue-with-email": {
"message": "Weiter mit E-Mail"
},
"auth.sign-in.continue-with-passkey": {
"message": "Weiter mit Passkey"
},
"auth.sign-in.create-account": {
"message": "Registrieren"
},
"auth.sign-in.forgot-password": {
"message": "Passwort vergessen"
},
"auth.sign-in.last-sign-in": {
"message": "Zuletzt benutzt"
},
"auth.sign-in.no-account": {
"message": "Kein Account?"
},
"auth.sign-in.sign-in-with": {
"message": "Anmelden mit"
"message": "Einloggen"
},
"auth.sign-in.title": {
"message": "Anmelden"
},
"auth.sign-up.age-requirement.warning-title": {
"message": "Mindestalter"
},
"auth.sign-up.continue-with-email": {
"message": "Mit E-Mail fortfahren"
},
"auth.sign-up.legal-dislaimer": {
"message": "Durch das erstellen eines Kontos stimmst du den <terms-link>Nutzungsbedingungen</terms-link> und <privacy-policy-link>Datenschutzrichtlinien</privacy-policy-link> von Modrinth zu."
},
"auth.sign-up.show-fewer-options": {
"message": "Weniger Optionen anzeigen"
},
"auth.sign-up.show-other-options": {
"message": "Andere Optionen anzeigen"
},
"auth.sign-up.sign-in-option.title": {
"message": "Du hast bereits ein Konto?"
},
@@ -753,11 +885,14 @@
"message": "Registrieren"
},
"auth.sign-up.title.sign-up-with": {
"message": "Registrieren mit"
"message": "Account erstellen"
},
"auth.verify-email.action.account-settings": {
"message": "Kontoeinstellungen"
},
"auth.verify-email.action.discover-mods": {
"message": "Mods entdecken"
},
"auth.verify-email.already-verified.description": {
"message": "Deine E-Mail ist bereits verifiziert!"
},
@@ -776,6 +911,15 @@
"auth.verify-email.failed-verification.title": {
"message": "E-Mail-Veifizierung fehlgeschlagen"
},
"auth.verify-email.notification.email-sent.description": {
"message": "Eine E-Mail an {email} wurde zur Verifikation deines Accounts geschickt."
},
"auth.verify-email.notification.email-sent.title": {
"message": "E-Mail gesendet"
},
"auth.verify-email.notification.error-occurred.title": {
"message": "Ein Fehler ist aufgetreten"
},
"auth.verify-email.post-verification.description": {
"message": "Deine E-Mail-Adresse wurde erfolgreich verifiziert!"
},
@@ -1490,9 +1634,6 @@
"dashboard.overview.notifications.loading": {
"message": "Benachrichtigungen werden geladen..."
},
"dashboard.projects.bulk-edit-hint": {
"message": "Du kannst mehrere Projekte gleichzeitig bearbeiten, indem du sie unten auswählst."
},
"dashboard.projects.bulk-edit.server-disabled": {
"message": "Serverprojekte understützen Massenbearbeitung nicht"
},
@@ -1568,24 +1709,6 @@
"dashboard.projects.project.review-environment-metadata": {
"message": "Bitte überprüfe die Umgebungsmetadaten"
},
"dashboard.projects.sort.ascending": {
"message": "Aufsteigend"
},
"dashboard.projects.sort.descending": {
"message": "Absteigend"
},
"dashboard.projects.sort.option.name": {
"message": "Name"
},
"dashboard.projects.sort.option.status": {
"message": "Status"
},
"dashboard.projects.sort.option.type": {
"message": "Art"
},
"dashboard.projects.table.icon": {
"message": "Icon"
},
"dashboard.projects.table.id": {
"message": "ID"
},
@@ -3327,43 +3450,76 @@
"message": "URL"
},
"project.settings.permissions.attention-needed.description.proj-approved": {
"message": "Bitte lege Nachweise vor, dass du die Erlaubnis zur Weiterverbreitung fgolgender Dateien hast; alle zurückgehaltenen Versionen werden automatisch veröffentlicht."
"message": "Bitte lege Nachweise vor, dass du die Erlaubnis zur Weiterverbreitung folgender Dateien hast. Danach werden die zurückgehaltenen Versionen automatisch veröffentlicht."
},
"project.settings.permissions.attention-needed.description.proj-draft": {
"message": "Bitte lege Nachweise vor, dass du die Erlaubnis zur Weiterverbreitung fgolgender Dateien hast, bevor du dein Projekt zur überprüfung einreichen kannst."
"message": "Bitte lege Nachweise vor, dass du die Erlaubnis zur Weiterverbreitung aller folgenden Dateien hast, bevor du dein Projekt zur Überprüfung einreichst."
},
"project.settings.permissions.attention-needed.title": {
"message": "Unbekannter eingebetteter Inhalt"
"message": "Unbekannter externer Inhalt"
},
"project.settings.permissions.bad-proof.description": {
"message": "Das Moderationsteam von Modrinth hat die von dir für einige externe Inhalte vorgelegten Berechtigungsnachweise abgelehnt. Bitte überprüfe die unten aufgeführten abgelehnten Einträge und lege zulässige Nachweise vor oder entfernen die Inhalte."
},
"project.settings.permissions.bad-proof.title": {
"message": "Manche Beweise wurden abgelehnt"
},
"project.settings.permissions.collapse-all": {
"message": "Alle minimieren"
},
"project.settings.permissions.completed.description": {
"message": "Alle externen Inhalte haben Quellenangaben."
"message": "Alle externen Inhalte sind mit Erlaubnisangaben versehen, und die Quellenangaben wurden angegeben."
},
"project.settings.permissions.completed.title": {
"message": "Zuordnungen abgschlossen!"
"message": "Genehmigungen abgeschlossen!"
},
"project.settings.permissions.empty-state.description": {
"message": "Keine deiner Versionen enrhalten externe Inhalte, also musst du dir keine Sorgen über die Einholung von Berechtigungen machen."
"message": "Keine der Versionen deines Projekts enthält externe Inhalte, weshalb du dir keine Gedanken über die Einholung von Genehmigungen machen musst."
},
"project.settings.permissions.empty-state.heading": {
"message": "Du bist startklar!"
},
"project.settings.permissions.expand-all": {
"message": "Alle anzeigen"
},
"project.settings.permissions.fail.description": {
"message": "Du hast keine Berechtigung, einige der von dir hinzugefügten externen Inhalte weiterzuverbreiten. Um auf Modrinth veröffentlichen zu können, entferne bitte die urheberrechtswidrigen Inhalte."
"message": "Möglicherweise verfügst du nicht über die erforderliche Genehmigung zur Weitergabe einiger externer Inhalte in deinem Projekt. Um dein Projekt auf Modrinth zu veröffentlichen, entferne bitte diese Inhalte oder lege einen Nachweis vor, dass du über die erforderliche Genehmigung zur Nutzung verfügst."
},
"project.settings.permissions.fail.title": {
"message": "Einige Inhalte können nicht enthalten sein"
},
"project.settings.permissions.info-banner.description": {
"message": "Wenn du Inhalte einbindest, welche nicht auf Modrinth gehostet werden, musst du uns deren Quelle mitteilen und bestätigen, dass du die Berechtigung zur Verbreitung der Dateien hast. In <link>unserer Anleitung (Englisch)</link> lernst du, wie du dies am besten machst!"
"message": "Wenn du Inhalte einbindest, welche nicht auf Modrinth gehostet werden, musst du uns deren Quelle mitteilen und bestätigen, dass du die Berechtigung zur Verbreitung der Dateien hast. Schau dir <link>unsere Ankündigung zu diesem neuen System</link> an, um mehr zu erfahren!"
},
"project.settings.permissions.info-banner.title": {
"message": "Lerne wie Zuschreibungen funktionieren"
"message": "Erfahre mehr über die Rechte zur Verbreitung"
},
"project.settings.permissions.learn-more": {
"message": "Mehr erfahren"
},
"project.settings.permissions.no-results": {
"message": "Keine externen Dateien übereinstimmen deiner Suche."
},
"project.settings.permissions.not-allowed.description": {
"message": "Einige der enthaltenen externen Inhalte dürfen auf Modrinth nicht verbreitet werden, da sie gegen unsere Inhaltsrichtlinien verstoßen und daher entfernt werden müssen."
},
"project.settings.permissions.pending-approval-count": {
"message": "{count, plural, =0 {Keine Quellenangaben müssen genehmigt werden} one {# Quellenangabe muss genehmigt werden} other {# Quellenangaben müssen genehmigt werden}}"
},
"project.settings.permissions.search-placeholder": {
"message": "Durchsuche {count} {count, plural, one {externes Projekt} other {externe Projekte}}..."
"message": "Durchsuche {count} {count, plural, one {Projekt} other {Projekten}}..."
},
"project.settings.permissions.sort.most-files": {
"message": "Meiste Dateien"
},
"project.settings.permissions.sort.recently-edited": {
"message": "Letztens bearbeitet"
},
"project.settings.permissions.sort.rejected": {
"message": "Abgelehnt"
},
"project.settings.permissions.sort.status": {
"message": "Status"
},
"project.settings.title": {
"message": "Einstellungen"
@@ -3923,6 +4079,48 @@
"settings.account.security.email.title": {
"message": "E-Mail"
},
"settings.account.security.passkey.add": {
"message": "Passkey hinzufügen"
},
"settings.account.security.passkey.add-modal.name.description": {
"message": "Stell sicher, dass du etwas nimmst, was du dir gut merken kannst, damit du den Passkey später identifizieren kannst."
},
"settings.account.security.passkey.add-modal.name.label": {
"message": "Name"
},
"settings.account.security.passkey.add-modal.name.placeholder": {
"message": "Mein Passkey"
},
"settings.account.security.passkey.description": {
"message": "Verwalte deine gespeicherten Passkeys oder füge einen neuen hinzu."
},
"settings.account.security.passkey.modal.added": {
"message": "Hinzugefügt {ago}"
},
"settings.account.security.passkey.modal.last-used": {
"message": "Zuletzt benutzt {ago}"
},
"settings.account.security.passkey.modal.loading": {
"message": "Passkeys laden..."
},
"settings.account.security.passkey.modal.never-used": {
"message": "Nie benutzt"
},
"settings.account.security.passkey.modal.no-passkeys": {
"message": "Du hast keine registrierten Passkeys."
},
"settings.account.security.passkey.remove.description": {
"message": "Dadurch wird der Passkey „{name}“ endgültig gelöscht. Du kannst dich mit ihm nicht mehr anmelden."
},
"settings.account.security.passkey.remove.title": {
"message": "Möchtest du diesen Passkey wirklich löschen?"
},
"settings.account.security.passkey.rename-modal.header": {
"message": "Passkey umbenennen"
},
"settings.account.security.passkey.title": {
"message": "Passkeys verwalten"
},
"settings.account.security.password.action.add": {
"message": "Passwort hinzufügen"
},
@@ -4535,6 +4733,48 @@
"ui.newsletter-button.tooltip": {
"message": "Abonniere den Modrinth Newsletter"
},
"version.all-versions": {
"message": "Alle Versionen"
},
"version.confirm-delete.description": {
"message": "Diese Version wird endgültig gelöscht. Dieser Vorgang kann nicht rückgängig gemacht werden."
},
"version.confirm-delete.proceed": {
"message": "Version löschen"
},
"version.confirm-delete.title": {
"message": "Willst du diese Version wirklich löschen?"
},
"version.dependency.view-project": {
"message": "Projekt anzeigen"
},
"version.dependency.view-version": {
"message": "Version anzeigen"
},
"version.download.download-dependency": {
"message": "Abhängigkeit herunterladen"
},
"version.download.no-primary-file": {
"message": "Fehler: Keine primäre Datei gefunden"
},
"version.download.optional-resource-pack": {
"message": "Optionales Ressourcenpaket"
},
"version.download.required-resource-pack": {
"message": "Erforderliches Ressourcenpaket"
},
"version.edit.button": {
"message": "Bearbeiten"
},
"version.edit.details": {
"message": "Details bearbeiten"
},
"version.edit.files": {
"message": "Dateien bearbeiten"
},
"version.edit.metadata": {
"message": "Metadaten bearbeiten"
},
"version.environment.none.description": {
"message": "Die Umgebung für diese Version wurde nicht angegeben."
},
@@ -4546,5 +4786,56 @@
},
"version.environment.unknown.title": {
"message": "Unbekannte Umgebung"
},
"version.package-as-mod.button": {
"message": "Als Mod verpacken"
},
"version.package-as-mod.description": {
"message": "Dadurch wird eine neue Version mit Unterstützung für die ausgewählten Mod-Loader erstellt. Du wirst zur neuen Version weitergeleitet und kannst diese nach deinen Wünschen bearbeiten."
},
"version.package-as-mod.header": {
"message": "Datenpaket als Mod packen"
},
"version.package-as-mod.mod-loaders": {
"message": "Modloader"
},
"version.package-as-mod.mod-loaders.description": {
"message": "Die Modloader, für die du dein Datenpaket packen möchtest."
},
"version.package-as-mod.mod-loaders.placeholder": {
"message": "Modloader auswählen..."
},
"version.package-as-mod.submit-button": {
"message": "Datenpaket packen"
},
"version.section.content.dev-info": {
"message": "Informationen für Entwickler"
},
"version.section.content.dev-info.gradle-snippet": {
"message": "build.gradle:"
},
"version.section.content.dev-info.maven-coordinates": {
"message": "Maven-Koordinaten:"
},
"version.section.content.dev-info.maven-description": {
"message": "Projekte auf Modrinth sind automatisch über ein Maven-Repository für die Verwendung mit JVM-Build-Tools wie <gradle-link>Gradle</gradle-link> verfügbar. Um mehr über die Maven-API von Modrinth zu erfahren, <article-link>klicke hier</article-link>."
},
"version.section.content.dev-info.maven-note": {
"message": "Hinweis: Falls verfügbar, solltest du stattdessen das Maven-Repository des Entwicklers verwenden, da dieses Informationen zu transitiven Abhängigkeiten enthält, die in der Maven-API von Modrinth fehlen. Außerdem kann es zu doppelten Abhängigkeiten kommen, wenn du für deine Abhängigkeiten sowohl Modrinth- als auch andere Maven-Repositorys verwendest, da die Gruppen-ID bei der Bereitstellung über die Maven-API von Modrinth abweicht."
},
"version.section.content.dev-info.version-id": {
"message": "Versions-ID:"
},
"version.supplementary-resources.copy-hash-sha1": {
"message": "SHA-1 kopieren"
},
"version.supplementary-resources.copy-hash-sha512": {
"message": "SHA-512 kopieren"
},
"version.unknown-embedded-content.description": {
"message": "Diese Version wird derzeit zurückgehalten und ist nicht öffentlich gelistet. Bitte lege Nachweise vor, dass du zur Verbreitung bestimmter darin enthaltener Dateien berechtigt bist."
},
"version.unknown-embedded-content.title": {
"message": "Wegen unbekannten eingebetteten Inhalten zurückgehalten"
}
}
+329 -38
View File
@@ -23,6 +23,15 @@
"analytics.breakdown.country": {
"message": "Land"
},
"analytics.breakdown.dependent-on": {
"message": "Abhängig von"
},
"analytics.breakdown.dependent-project-download": {
"message": "Abhängiges Projekt"
},
"analytics.breakdown.dependent-project-type": {
"message": "Abhängiger Projekttyp"
},
"analytics.breakdown.download-reason": {
"message": "Downloadgrund"
},
@@ -38,6 +47,9 @@
"analytics.breakdown.loader": {
"message": "Loader"
},
"analytics.breakdown.members": {
"message": "Mitglied"
},
"analytics.breakdown.monetization": {
"message": "Monetarisierung"
},
@@ -60,7 +72,7 @@
"message": "Alle anzeigen"
},
"analytics.chart.action.show-limited": {
"message": "Zeige limitierte"
"message": "Eingeschränkt anzeigen"
},
"analytics.chart.action.show-top-eight": {
"message": "Top 8 anzeigen"
@@ -75,13 +87,13 @@
"message": "Anmerkungen"
},
"analytics.chart.controls.aria": {
"message": "Steuerelemente für Analysediagramm, {activeCount}"
"message": "Einstellungselemente für Analysediagramm, {activeCount}"
},
"analytics.chart.controls.button": {
"message": "Einstellungen"
},
"analytics.chart.controls.dialog-aria": {
"message": "Steuerelemente für Analysediagramm"
"message": "Einstellungselemente für Analysediagramm"
},
"analytics.chart.controls.display": {
"message": "Anzeigen"
@@ -134,6 +146,24 @@
"analytics.chart.render-limit.header": {
"message": "Alle {count} Zeilen im Graphen anzeigen?"
},
"analytics.chart.table-selection.all": {
"message": "Zeige alle {itemType, select, project {{count, plural, one {Projekt} other {Projekte}}} country {{count, plural, one {Land} other {Länder}}} monetization {{count, plural, one {Monetarisierungswert} other {Monetarisierungswerte}}} downloadSource {{count, plural, one {Downloadquelle} other {Downloadquellen}}} downloadReason {{count, plural, one {Downloadgrund} other {Downloadgründe}}} member {{count, plural, one {Mitglied} other {Mitglieder}}} projectVersion {{count, plural, one {Projektversion} other {Projektversionen}}} loader {{count, plural, one {Loader} other {Loader}}} gameVersion {{count, plural, one {Spielversion} other {Spielversionen}}} other {{count, plural, one {Artikel} other {Artikel}}}} aus der Tabelle"
},
"analytics.chart.table-selection.count": {
"message": "Zeige {count} {itemType, select, project {{count, plural, one {Projekt} other {Projekte}}} country {{count, plural, one {Land} other {Länder}}} monetization {{count, plural, one {Monetarisierungswert} other {Monetarisierungswerte}}} downloadSource {{count, plural, one {Downloadquelle} other {Downloadquellen}}} downloadReason {{count, plural, one {Downloadgrund} other {Downloadgründe}}} member {{count, plural, one {Mitglied} other {Mitglieder}}} projectVersion {{count, plural, one {Projektversion} other {Projektversionen}}} loader {{count, plural, one {Loader} other {Loader}}} gameVersion {{count, plural, one {Spielversion} other {Spielversionen}}} other {{count, plural, one {Artikel} other {Artikel}}}} aus der Tabelle"
},
"analytics.chart.table-selection.limited": {
"message": "Zeige {limit} {itemType, select, project {{limit, plural, one {Projekt} other {Projekte}}} country {{limit, plural, one {Land} other {Länder}}} monetization {{limit, plural, one {Monetarisierungswert} other {Monetarisierungswerte}}} downloadSource {{limit, plural, one {Downloadquelle} other {Downloadquellen}}} downloadReason {{limit, plural, one {Downloadgrund} other {Downloadgründe}}} member {{limit, plural, one {Mitglied} other {Mitglieder}}} projectVersion {{limit, plural, one {Projektversion} other {Projektversionen}}} loader {{limit, plural, one {Loader} other {Loader}}} gameVersion {{limit, plural, one {Spielversion} other {Spielversionen}}} other {{limit, plural, one {Artikel} other {Artikel}}}} aus der Tabelle"
},
"analytics.chart.table-selection.top": {
"message": "Zeige die top {count} {itemType, select, project {{count, plural, one {Projekt} other {Projekte}}} country {{count, plural, one {Land} other {Länder}}} monetization {{count, plural, one {Monetarisierungswert} other {Monetarisierungswerte}}} downloadSource {{count, plural, one {Downloadquelle} other {Downloadquellen}}} downloadReason {{count, plural, one {Downloadgrund} other {Downloadgründe}}} member {{count, plural, one {Mitglied} other {Mitglieder}}} projectVersion {{count, plural, one {Projektversion} other {Projektversionen}}} loader {{count, plural, one {Loader} other {Loader}}} gameVersion {{count, plural, one {Spielversion} other {Spielversionen}}} other {{count, plural, one {Artikel} other {Artikel}}}} aus der Tabelle"
},
"analytics.chart.tooltip.dependent-on-project": {
"message": "Abhängig von {project}"
},
"analytics.chart.tooltip.dependent-project-version": {
"message": "{dependentProject} abhängig von {dependencyProject}, {version}"
},
"analytics.chart.tooltip.duration.days": {
"message": "{count, plural, one {# Tag} other {# Tage}}"
},
@@ -218,9 +248,15 @@
"analytics.filter.search.countries": {
"message": "Länder durchsuchen..."
},
"analytics.filter.search.dependent-projects": {
"message": "Projekte durchsuchen..."
},
"analytics.filter.search.download-sources": {
"message": "Download-Quellen durchsuchen..."
},
"analytics.filter.search.members": {
"message": "Mitglieder durchsuchen..."
},
"analytics.filter.search.project-versions": {
"message": "Projektversionen durchsuchen..."
},
@@ -467,6 +503,12 @@
"analytics.value.monetized": {
"message": "Monetarisiert"
},
"analytics.value.no-dependent": {
"message": "Keine"
},
"analytics.value.no-dependent-tooltip": {
"message": "Aus anderen Gründen als einer Abhängigkeit heruntergeladen"
},
"analytics.value.none": {
"message": "Keine"
},
@@ -689,12 +731,72 @@
"auth.authorize.authorize-app-name": {
"message": "Autorisiere {appName}"
},
"auth.authorize.error.missing-parameters": {
"message": "Erforderliche Abfrageparameter für OAuth fehlen."
},
"auth.authorize.error.no-redirect-url": {
"message": "Keine Weiterleitungsziel in Antwort gefunden"
},
"auth.authorize.errro-title": {
"message": "Ein Fehler ist aufgetreten"
},
"auth.authorize.redirect-url": {
"message": "Du wirst zu <redirect-url>{url}</redirect-url> weitergeleitet"
},
"auth.continue-with-provider": {
"message": "Weiter mit {provider}"
},
"auth.create-account.age-requirement.warning-title": {
"message": "Mindestalter"
},
"auth.create-account.complete-sign-up": {
"message": "Registrierung abschließen"
},
"auth.create-account.date-of-birth.invalid.text": {
"message": "Bitte gib ein gültiges Geburtsdatum ein. Das Jahr darf nicht 0000 sein."
},
"auth.create-account.date-of-birth.invalid.title": {
"message": "Ungültiges Geburtsdatum"
},
"auth.create-account.date-of-birth.label": {
"message": "Geburtsdatum"
},
"auth.create-account.date-of-birth.placeholder": {
"message": "Wähle dein Geburtsdatum"
},
"auth.create-account.date-of-birth.required.text": {
"message": "Bitte gib dein Geburtsdatum ein, bevor du fortfährst."
},
"auth.create-account.date-of-birth.required.title": {
"message": "Geburtsdatum erforderlich"
},
"auth.create-account.date-of-birth.under13-helper": {
"message": "Du erfüllst das Mindestalter für die Erstellung eines Kontos bei Modrinth nicht."
},
"auth.create-account.info-panel.source-code-link": {
"message": "Relevanter Quellcode"
},
"auth.create-account.info-panel.text": {
"message": "Wir speichern dein Geburtsdatum nicht. Wir verwenden es ausschließlich bei der Registrierung, um die Einhaltung der COPPA-Vorschriften sicherzustellen."
},
"auth.create-account.page-title": {
"message": "Konto erstellen"
},
"auth.create-account.security-check.label": {
"message": "Sicherheitscheck"
},
"auth.create-account.subscribe.label": {
"message": "Haltet mich per E-Mail über coole Dinge auf dem Laufenden, an denen Modrinth gerade arbeitet"
},
"auth.create-account.title": {
"message": "Ein Konto erstellen"
},
"auth.create-account.username.label": {
"message": "Benutzername"
},
"auth.create-account.username.placeholder": {
"message": "Benutzername eingeben"
},
"auth.reset-password.method-choice.action": {
"message": "E-Mail zur Wiederherstellung senden"
},
@@ -729,23 +831,53 @@
"message": "Dein Passwort zurücksetzen"
},
"auth.sign-in.2fa.description": {
"message": "Bitte gib einen Zwei-Faktor-Code ein, um fortzufahren."
"message": "Gib den 6-stelligen Code aus deiner Authentifikator-App oder einen deiner Backup-Codes ein."
},
"auth.sign-in.2fa.label": {
"message": "Zwei-Faktor-Code eingeben"
"message": "Zwei-Faktor-Authentifizierung"
},
"auth.sign-in.2fa.placeholder": {
"message": "Code eingeben..."
},
"auth.sign-in.continue-with-email": {
"message": "Weiter mit E-Mail"
},
"auth.sign-in.continue-with-passkey": {
"message": "Weiter mit Passkey"
},
"auth.sign-in.create-account": {
"message": "Registrieren"
},
"auth.sign-in.forgot-password": {
"message": "Passwort vergessen"
},
"auth.sign-in.last-sign-in": {
"message": "Zuletzt benutzt"
},
"auth.sign-in.no-account": {
"message": "Du hast kein Konto?"
},
"auth.sign-in.sign-in-with": {
"message": "Anmelden mit"
"message": "Bei Modrinth anmelden"
},
"auth.sign-in.title": {
"message": "Anmelden"
},
"auth.sign-up.age-requirement.warning-title": {
"message": "Mindestalter"
},
"auth.sign-up.continue-with-email": {
"message": "Mit E-Mail fortfahren"
},
"auth.sign-up.legal-dislaimer": {
"message": "Durch die Erstellung eines Kontos stimmst du den <terms-link>Nutzungsbedingungen</terms-link> und der <privacy-policy-link>Datenschutzerklärung</privacy-policy-link> von Modrinth zu."
},
"auth.sign-up.show-fewer-options": {
"message": "Zeige weniger Optionen"
},
"auth.sign-up.show-other-options": {
"message": "Zeige weitere Optionen"
},
"auth.sign-up.sign-in-option.title": {
"message": "Du hast bereits ein Konto?"
},
@@ -753,11 +885,14 @@
"message": "Registrieren"
},
"auth.sign-up.title.sign-up-with": {
"message": "Registrieren mit"
"message": "Ein Konto erstellen"
},
"auth.verify-email.action.account-settings": {
"message": "Kontoeinstellungen"
},
"auth.verify-email.action.discover-mods": {
"message": "Mods entdecken"
},
"auth.verify-email.already-verified.description": {
"message": "Deine E-Mail wurde bereits bestätigt!"
},
@@ -776,6 +911,15 @@
"auth.verify-email.failed-verification.title": {
"message": "E-Mail-Verifizierung fehlgeschlagen"
},
"auth.verify-email.notification.email-sent.description": {
"message": "Eine E-Mail mit einem Link zur Verifizierung deines Accounts wurde an {email} gesendet."
},
"auth.verify-email.notification.email-sent.title": {
"message": "E-Mail gesendet"
},
"auth.verify-email.notification.error-occurred.title": {
"message": "Ein Fehler ist aufgetreten"
},
"auth.verify-email.post-verification.description": {
"message": "Deine E-Mail-Adresse wurde erfolgreich bestätigt!"
},
@@ -1490,9 +1634,6 @@
"dashboard.overview.notifications.loading": {
"message": "Benachrichtigungen werden geladen..."
},
"dashboard.projects.bulk-edit-hint": {
"message": "Du kannst mehrere Projekte gleichzeitig bearbeiten, indem du sie unten auswählst."
},
"dashboard.projects.bulk-edit.server-disabled": {
"message": "Serverprojekte unterstützen Massenbearbeitung nicht"
},
@@ -1568,24 +1709,6 @@
"dashboard.projects.project.review-environment-metadata": {
"message": "Bitte überprüfe die Umgebungsmetadaten"
},
"dashboard.projects.sort.ascending": {
"message": "Aufsteigend"
},
"dashboard.projects.sort.descending": {
"message": "Absteigend"
},
"dashboard.projects.sort.option.name": {
"message": "Name"
},
"dashboard.projects.sort.option.status": {
"message": "Status"
},
"dashboard.projects.sort.option.type": {
"message": "Typ"
},
"dashboard.projects.table.icon": {
"message": "Icon"
},
"dashboard.projects.table.id": {
"message": "ID"
},
@@ -3327,43 +3450,76 @@
"message": "URL"
},
"project.settings.permissions.attention-needed.description.proj-approved": {
"message": "Bitte lege Nachweise vor, dass du die Erlaubnis zur Weiterverbreitung folgender Dateien hast; alle zurückgehaltenen Versionen werden automatisch veröffentlicht."
"message": "Bitte lege Nachweise vor, dass du die Erlaubnis zur Weiterverbreitung folgender Dateien hast. Danach werden die zurückgehaltenen Versionen automatisch veröffentlicht."
},
"project.settings.permissions.attention-needed.description.proj-draft": {
"message": "Bitte lege Nachweise vor, dass du die Erlaubnis zur Weiterverbreitung aller folgenden Dateien hast, bevor du dein Projekt zur Überprüfung einreichen kannst."
"message": "Bitte lege Nachweise vor, dass du die Erlaubnis zur Weiterverbreitung aller folgenden Dateien hast, bevor du dein Projekt zur Überprüfung einreichst."
},
"project.settings.permissions.attention-needed.title": {
"message": "Unbekannter eingebetteter Inhalt"
"message": "Unbekannter externer Inhalt"
},
"project.settings.permissions.bad-proof.description": {
"message": "Das Moderationsteam von Modrinth hat die von dir für einige externe Inhalte vorgelegten Berechtigungsnachweise abgelehnt. Bitte überprüfe die unten aufgeführten abgelehnten Einträge und lege zulässige Nachweise vor oder entfernen die Inhalte."
},
"project.settings.permissions.bad-proof.title": {
"message": "Einige Nachweise wurden abgelehnt"
},
"project.settings.permissions.collapse-all": {
"message": "Alle ausblenden"
},
"project.settings.permissions.completed.description": {
"message": "Alle externen Inhalte haben Quellenangaben."
"message": "Alle externen Inhalte sind mit Erlaubnisangaben versehen, und die Quellenangaben wurden angegeben."
},
"project.settings.permissions.completed.title": {
"message": "Quellenangaben vollständig!"
"message": "Genehmigungen abgeschlossen!"
},
"project.settings.permissions.empty-state.description": {
"message": "Keine deiner Versionen enthält externe Inhalte, du musst du dir keine Gedanken über die Einholung von Genehmigungen machen."
"message": "Keine der Versionen deines Projekts enthält externe Inhalte, weshalb du dir keine Gedanken über die Einholung von Genehmigungen machen musst."
},
"project.settings.permissions.empty-state.heading": {
"message": "Du bist startklar!"
},
"project.settings.permissions.expand-all": {
"message": "Alle anzeigen"
},
"project.settings.permissions.fail.description": {
"message": "Du hast keine Berechtigung, einige der von dir hinzugefügten externen Inhalte weiterzuverbreiten. Entferne die urheberrechtsverletzenden Inhalte, um auf Modrinth veröffentlichen zu können."
"message": "Möglicherweise verfügst du nicht über die erforderliche Genehmigung zur Weitergabe einiger externer Inhalte in deinem Projekt. Um dein Projekt auf Modrinth zu veröffentlichen, entferne bitte diese Inhalte oder lege einen Nachweis vor, dass du über die erforderliche Genehmigung zur Nutzung verfügst."
},
"project.settings.permissions.fail.title": {
"message": "Bestimmte Inhalte können nicht enthalten sein"
},
"project.settings.permissions.info-banner.description": {
"message": "Wenn du Inhalte einbindest, welche nicht auf Modrinth gehostet werden, musst du uns deren Quelle mitteilen und bestätigen, dass du die Berechtigung zur Verbreitung der Dateien hast. In <link>unserer Anleitung</link> lernst du, wie du dies am besten machst!"
"message": "Wenn du Inhalte einbindest, welche nicht auf Modrinth gehostet werden, musst du uns deren Quelle mitteilen und bestätigen, dass du die Berechtigung zur Verbreitung der Dateien hast. Schau dir <link>unsere Ankündigung zu diesem neuen System</link> an, um mehr zu erfahren!"
},
"project.settings.permissions.info-banner.title": {
"message": "So funktionieren Quellenangaben"
"message": "Erfahre mehr über die Rechte zur Verbreitung"
},
"project.settings.permissions.learn-more": {
"message": "Mehr erfahren"
},
"project.settings.permissions.no-results": {
"message": "Keine externen Dateien entsprechen deiner Suche."
},
"project.settings.permissions.not-allowed.description": {
"message": "Einige der enthaltenen externen Inhalte dürfen auf Modrinth nicht verbreitet werden, da sie gegen unsere Inhaltsrichtlinien verstoßen und daher entfernt werden müssen."
},
"project.settings.permissions.pending-approval-count": {
"message": "{count, plural, =0 {Keine Quellenangaben müssen genehmigt werden} one {# Quellenangabe muss genehmigt werden} other {# Quellenangaben müssen genehmigt werden}}"
},
"project.settings.permissions.search-placeholder": {
"message": "Durchsuche {count} {count, plural, one {externes Projekt} other {externe Projekte}}..."
"message": "Durchsuche {count} {count, plural, one {Projekt} other {Projekten}}..."
},
"project.settings.permissions.sort.most-files": {
"message": "Meiste Dateien"
},
"project.settings.permissions.sort.recently-edited": {
"message": "Kürzlich bearbeitet"
},
"project.settings.permissions.sort.rejected": {
"message": "Abgelehnt"
},
"project.settings.permissions.sort.status": {
"message": "Status"
},
"project.settings.title": {
"message": "Einstellungen"
@@ -3923,6 +4079,48 @@
"settings.account.security.email.title": {
"message": "E-Mail"
},
"settings.account.security.passkey.add": {
"message": "Passkey hinzufügen"
},
"settings.account.security.passkey.add-modal.name.description": {
"message": "Stell sicher, dass du etwas nimmst, was du dir gut merken kannst, damit du den Passkey später identifizieren kannst."
},
"settings.account.security.passkey.add-modal.name.label": {
"message": "Name"
},
"settings.account.security.passkey.add-modal.name.placeholder": {
"message": "Mein Passkey"
},
"settings.account.security.passkey.description": {
"message": "Verwalte deine gespeicherten Passkeys oder füge einen neuen hinzu."
},
"settings.account.security.passkey.modal.added": {
"message": "Vor {ago} hinzugefügt"
},
"settings.account.security.passkey.modal.last-used": {
"message": "Zuletzt {ago} verwendet"
},
"settings.account.security.passkey.modal.loading": {
"message": "Passkeys werden geladen…"
},
"settings.account.security.passkey.modal.never-used": {
"message": "Nie verwendet"
},
"settings.account.security.passkey.modal.no-passkeys": {
"message": "Du hast keine registrierten Passkeys."
},
"settings.account.security.passkey.remove.description": {
"message": "Dadurch wird der Passkey „{name}“ endgültig gelöscht. Du kannst dich mit ihm nicht mehr anmelden."
},
"settings.account.security.passkey.remove.title": {
"message": "Möchtest du diesen Passkey wirklich löschen?"
},
"settings.account.security.passkey.rename-modal.header": {
"message": "Passkey umbenennen"
},
"settings.account.security.passkey.title": {
"message": "Passkeys verwalten"
},
"settings.account.security.password.action.add": {
"message": "Passwort hinzufügen"
},
@@ -4535,6 +4733,48 @@
"ui.newsletter-button.tooltip": {
"message": "Abonniere den Modrinth-Newsletter"
},
"version.all-versions": {
"message": "Alle Versionen"
},
"version.confirm-delete.description": {
"message": "Diese Version wird endgültig gelöscht. Dieser Vorgang kann nicht rückgängig gemacht werden."
},
"version.confirm-delete.proceed": {
"message": "Version löschen"
},
"version.confirm-delete.title": {
"message": "Möchtest du diese Version wirklich löschen?"
},
"version.dependency.view-project": {
"message": "Projekt anzeigen"
},
"version.dependency.view-version": {
"message": "Version anzeigen"
},
"version.download.download-dependency": {
"message": "Abhängigkeit herunterladen"
},
"version.download.no-primary-file": {
"message": "Fehler: Keine primäre Datei gefunden"
},
"version.download.optional-resource-pack": {
"message": "Optionales Ressourcenpaket"
},
"version.download.required-resource-pack": {
"message": "Erforderliches Ressourcenpaket"
},
"version.edit.button": {
"message": "Bearbeiten"
},
"version.edit.details": {
"message": "Details bearbeiten"
},
"version.edit.files": {
"message": "Dateien bearbeiten"
},
"version.edit.metadata": {
"message": "Metadaten bearbeiten"
},
"version.environment.none.description": {
"message": "Die Umgebung für diese Version wurde nicht angegeben."
},
@@ -4546,5 +4786,56 @@
},
"version.environment.unknown.title": {
"message": "Unbekannte Umgebung"
},
"version.package-as-mod.button": {
"message": "Als Mod verpacken"
},
"version.package-as-mod.description": {
"message": "Dadurch wird eine neue Version mit Unterstützung für die ausgewählten Mod-Loader erstellt. Du wirst zur neuen Version weitergeleitet und kannst diese nach deinen Wünschen bearbeiten."
},
"version.package-as-mod.header": {
"message": "Datenpaket als Mod packen"
},
"version.package-as-mod.mod-loaders": {
"message": "Modloader"
},
"version.package-as-mod.mod-loaders.description": {
"message": "Die Modloader, für die du dein Datenpaket packen möchtest."
},
"version.package-as-mod.mod-loaders.placeholder": {
"message": "Modloader auswählen..."
},
"version.package-as-mod.submit-button": {
"message": "Datenpaket packen"
},
"version.section.content.dev-info": {
"message": "Informationen für Entwickler"
},
"version.section.content.dev-info.gradle-snippet": {
"message": "build.gradle:"
},
"version.section.content.dev-info.maven-coordinates": {
"message": "Maven-Koordinaten:"
},
"version.section.content.dev-info.maven-description": {
"message": "Projekte auf Modrinth sind automatisch über ein Maven-Repository für die Verwendung mit JVM-Build-Tools wie <gradle-link>Gradle</gradle-link> verfügbar. Um mehr über die Maven-API von Modrinth zu erfahren, <article-link>klicke hier</article-link>."
},
"version.section.content.dev-info.maven-note": {
"message": "Hinweis: Falls verfügbar, solltest du stattdessen das Maven-Repository des Entwicklers verwenden, da dieses Informationen zu transitiven Abhängigkeiten enthält, die in der Maven-API von Modrinth fehlen. Außerdem kann es zu doppelten Abhängigkeiten kommen, wenn du für deine Abhängigkeiten sowohl Modrinth- als auch andere Maven-Repositorys verwendest, da die Gruppen-ID bei der Bereitstellung über die Maven-API von Modrinth abweicht."
},
"version.section.content.dev-info.version-id": {
"message": "Versions-ID:"
},
"version.supplementary-resources.copy-hash-sha1": {
"message": "SHA-1 kopieren"
},
"version.supplementary-resources.copy-hash-sha512": {
"message": "SHA-512 kopieren"
},
"version.unknown-embedded-content.description": {
"message": "Diese Version wird derzeit zurückgehalten und ist nicht öffentlich gelistet. Bitte lege Nachweise vor, dass du zur Verbreitung bestimmter darin enthaltener Dateien berechtigt bist."
},
"version.unknown-embedded-content.title": {
"message": "Wegen unbekannten eingebetteten Inhalten zurückgehalten"
}
}
+7 -19
View File
@@ -1634,9 +1634,6 @@
"dashboard.overview.notifications.loading": {
"message": "Loading notifications..."
},
"dashboard.projects.bulk-edit-hint": {
"message": "You can edit multiple projects at once by selecting them below."
},
"dashboard.projects.bulk-edit.server-disabled": {
"message": "Server projects do not support bulk editing"
},
@@ -1712,23 +1709,11 @@
"dashboard.projects.project.review-environment-metadata": {
"message": "Please review environment metadata"
},
"dashboard.projects.sort.ascending": {
"message": "Ascending"
"dashboard.projects.selection-bar.aria-label": {
"message": "Selected projects actions"
},
"dashboard.projects.sort.descending": {
"message": "Descending"
},
"dashboard.projects.sort.option.name": {
"message": "Name"
},
"dashboard.projects.sort.option.status": {
"message": "Status"
},
"dashboard.projects.sort.option.type": {
"message": "Type"
},
"dashboard.projects.table.icon": {
"message": "Icon"
"dashboard.projects.selection-bar.selected-count": {
"message": "{count, plural, one {# project selected} other {# projects selected}}"
},
"dashboard.projects.table.id": {
"message": "ID"
@@ -1736,6 +1721,9 @@
"dashboard.projects.table.name": {
"message": "Name"
},
"dashboard.projects.table.select-all-bulk-editable": {
"message": "Select all projects that support bulk editing"
},
"dashboard.projects.table.status": {
"message": "Status"
},
+284 -35
View File
@@ -731,12 +731,72 @@
"auth.authorize.authorize-app-name": {
"message": "Autorizar {appName}"
},
"auth.authorize.error.missing-parameters": {
"message": "Faltan los parámetros de consulta OAuth obligatorios."
},
"auth.authorize.error.no-redirect-url": {
"message": "No se encontró una ubicación de redirección en la respuesta"
},
"auth.authorize.errro-title": {
"message": "Se produjo un error"
},
"auth.authorize.redirect-url": {
"message": "Serás redirigido a <redirect-url>{url}</redirect-url>"
},
"auth.continue-with-provider": {
"message": "Continuar con {provider}"
},
"auth.create-account.age-requirement.warning-title": {
"message": "Requisito de edad"
},
"auth.create-account.complete-sign-up": {
"message": "Completar el registro"
},
"auth.create-account.date-of-birth.invalid.text": {
"message": "Por favor, ingresa una fecha de nacimiento válida. El año no puede ser 0000."
},
"auth.create-account.date-of-birth.invalid.title": {
"message": "Fecha de nacimiento no válida"
},
"auth.create-account.date-of-birth.label": {
"message": "Fecha de nacimiento"
},
"auth.create-account.date-of-birth.placeholder": {
"message": "Selecciona tu fecha de nacimiento"
},
"auth.create-account.date-of-birth.required.text": {
"message": "Por favor, ingresa tu fecha de nacimiento antes de continuar."
},
"auth.create-account.date-of-birth.required.title": {
"message": "Se requiere la fecha de nacimiento"
},
"auth.create-account.date-of-birth.under13-helper": {
"message": "No cumples con el requisito de edad para crear una cuenta en Modrinth."
},
"auth.create-account.info-panel.source-code-link": {
"message": "Código fuente relevante"
},
"auth.create-account.info-panel.text": {
"message": "No almacenamos tu fecha de nacimiento. Solo la utilizamos durante el registro para verificar el cumplimiento de la ley COPPA."
},
"auth.create-account.page-title": {
"message": "Crear cuenta"
},
"auth.create-account.security-check.label": {
"message": "Control de seguridad"
},
"auth.create-account.subscribe.label": {
"message": "Manténme al tanto de las cosas geniales en las que está trabajando Modrinth por correo electrónico"
},
"auth.create-account.title": {
"message": "Crear una cuenta"
},
"auth.create-account.username.label": {
"message": "Nombre de usuario"
},
"auth.create-account.username.placeholder": {
"message": "Ingresa tu nombre de usuario"
},
"auth.reset-password.method-choice.action": {
"message": "Enviar correo de recuperación"
},
@@ -771,23 +831,53 @@
"message": "Restablece tu contraseña"
},
"auth.sign-in.2fa.description": {
"message": "Por favor, introduce un código de verificación en dos pasos para continuar."
"message": "Ingresa el código de 6 dígitos de tu aplicación de autenticación o uno de tus códigos de respaldo."
},
"auth.sign-in.2fa.label": {
"message": "Introduce el código de verificación en dos pasos"
"message": "Autenticación de dos factores"
},
"auth.sign-in.2fa.placeholder": {
"message": "Introduce el código..."
},
"auth.sign-in.continue-with-email": {
"message": "Continuar con el correo electrónico"
},
"auth.sign-in.continue-with-passkey": {
"message": "Continuar con la clave de acceso"
},
"auth.sign-in.create-account": {
"message": "Registrarse"
},
"auth.sign-in.forgot-password": {
"message": "Olvidé mi contraseña"
},
"auth.sign-in.last-sign-in": {
"message": "Último inicio de sesión"
},
"auth.sign-in.no-account": {
"message": "¿No tienes una cuenta?"
},
"auth.sign-in.sign-in-with": {
"message": "Iniciar sesión con"
"message": "Inicia sesión en Modrinth"
},
"auth.sign-in.title": {
"message": "Iniciar sesión"
},
"auth.sign-up.age-requirement.warning-title": {
"message": "Requisito de edad"
},
"auth.sign-up.continue-with-email": {
"message": "Continuar con el correo electrónico"
},
"auth.sign-up.legal-dislaimer": {
"message": "Al crear una cuenta, aceptas los <terms-link>Términos</terms-link> y la <privacy-policy-link>Política de privacidad</privacy-policy-link> de Modrinth."
},
"auth.sign-up.show-fewer-options": {
"message": "Mostrar menos opciones"
},
"auth.sign-up.show-other-options": {
"message": "Mostrar otras opciones"
},
"auth.sign-up.sign-in-option.title": {
"message": "¿Ya tienes una cuenta?"
},
@@ -795,11 +885,14 @@
"message": "Registrarse"
},
"auth.sign-up.title.sign-up-with": {
"message": "Registrarse con"
"message": "Crear una cuenta"
},
"auth.verify-email.action.account-settings": {
"message": "Configuración de cuenta"
},
"auth.verify-email.action.discover-mods": {
"message": "Descubre mods"
},
"auth.verify-email.already-verified.description": {
"message": "¡Tu correo ya está verificado!"
},
@@ -818,6 +911,15 @@
"auth.verify-email.failed-verification.title": {
"message": "Error al verificar el correo"
},
"auth.verify-email.notification.email-sent.description": {
"message": "Se ha enviado un correo electrónico con un enlace para verificar tu cuenta a {email}."
},
"auth.verify-email.notification.email-sent.title": {
"message": "Correo electrónico enviado"
},
"auth.verify-email.notification.error-occurred.title": {
"message": "Se produjo un error"
},
"auth.verify-email.post-verification.description": {
"message": "¡Tu correo ha sido verificado correctamente!"
},
@@ -1532,9 +1634,6 @@
"dashboard.overview.notifications.loading": {
"message": "Cargando notificaciones..."
},
"dashboard.projects.bulk-edit-hint": {
"message": "Puedes editar varios proyectos a la vez seleccionándolos a continuación."
},
"dashboard.projects.bulk-edit.server-disabled": {
"message": "Los proyectos no son compatible con la edición masiva de servidores"
},
@@ -1610,24 +1709,6 @@
"dashboard.projects.project.review-environment-metadata": {
"message": "Por favor revisa los metadatos de entorno"
},
"dashboard.projects.sort.ascending": {
"message": "Ascendente"
},
"dashboard.projects.sort.descending": {
"message": "Descendente"
},
"dashboard.projects.sort.option.name": {
"message": "Nombre"
},
"dashboard.projects.sort.option.status": {
"message": "Estado"
},
"dashboard.projects.sort.option.type": {
"message": "Tipo"
},
"dashboard.projects.table.icon": {
"message": "Icono"
},
"dashboard.projects.table.id": {
"message": "ID"
},
@@ -3369,43 +3450,76 @@
"message": "URL"
},
"project.settings.permissions.attention-needed.description.proj-approved": {
"message": "Por favor, proporciona pruebas de que tienes permiso para redistribuir todos estos archivos y cualquier versión retenida se publicará automáticamente."
"message": "Por favor, proporcione prueba de que tiene permiso para redistribuir todos los siguientes archivos. Una vez completado, las versiones retenidas se publicarán automáticamente."
},
"project.settings.permissions.attention-needed.description.proj-draft": {
"message": "Por favor, proporciona pruebas de que tienes permiso para redistribuir todos estos archivos antes de enviar tu proyecto a revisión."
"message": "Por favor, proporcione prueba de que tiene permiso para redistribuir todos los siguientes archivos antes de enviar su proyecto para revisión."
},
"project.settings.permissions.attention-needed.title": {
"message": "Incluye contenido desconocido"
"message": "Contenido externo desconocido"
},
"project.settings.permissions.bad-proof.description": {
"message": "El equipo de moderación de Modrinth ha rechazado la información de permisos que proporcionaste para algún contenido externo. Por favor, revise los elementos rechazados a continuación y proporcione pruebas aceptables o elimine el contenido."
},
"project.settings.permissions.bad-proof.title": {
"message": "Algunas pruebas fueron rechazadas."
},
"project.settings.permissions.collapse-all": {
"message": "Colapsar todo"
},
"project.settings.permissions.completed.description": {
"message": "Todo el contenido externo proporciona atribuciones."
"message": "Todo el contenido externo tiene información de permisos y se han proporcionado las atribuciones."
},
"project.settings.permissions.completed.title": {
"message": Atribuciones completadas!"
"message": Permisos completados!"
},
"project.settings.permissions.empty-state.description": {
"message": "Ninguna de tus versiones presenta contenido externo, por lo que no necesitas preocuparte de obtener permisos."
"message": "Ninguna de las versiones de tu proyecto contiene contenido externo, así que no necesitas preocuparte por obtener permisos."
},
"project.settings.permissions.empty-state.heading": {
"message": "¡Ya estás listo!"
},
"project.settings.permissions.expand-all": {
"message": "Expandir todo"
},
"project.settings.permissions.fail.description": {
"message": "No tienes permiso de redistribuir parte del contenido externo que añadiste. Para poder publicar en Modrinth, quite el contenido infractor."
"message": "Es posible que no tengas permiso para redistribuir parte del contenido externo en tu proyecto. Para publicar en Modrinth, por favor elimina este contenido o proporciona prueba de que tienes permiso para usarlo."
},
"project.settings.permissions.fail.title": {
"message": "No se puede incluir parte del contenido"
},
"project.settings.permissions.info-banner.description": {
"message": "Si incluyes contenido que no está alojado en Modrinth, debes indicarnos de dónde es y verificar que tienes permiso para distribuir los archivos. ¡Mira <link>nuestra guía</link> para saber cómo hacerlo correctamente!"
"message": "Si incluyes contenido que no esté alojado en Modrinth, debes informarnos de dónde proviene y verificar que tienes permiso para distribuir los archivos. Consulta <link>nuestro anuncio de este nuevo sistema</link> para obtener más información."
},
"project.settings.permissions.info-banner.title": {
"message": "Aprende cómo funcionan las atribuciones"
"message": "Aprende sobre los permisos de distribución"
},
"project.settings.permissions.learn-more": {
"message": "Aprender más"
},
"project.settings.permissions.no-results": {
"message": "No hay archivos externos que coincidan con tu búsqueda."
},
"project.settings.permissions.not-allowed.description": {
"message": "Parte del contenido externo incluido no puede ser distribuido en Modrinth porque viola nuestras Reglas de Contenido y debe ser eliminado."
},
"project.settings.permissions.pending-approval-count": {
"message": "{count, plural, =0 {No se necesita aprobación para las atribuciones} one {# atribución necesita aprobación} other {# atribuciones necesitan aprobación}}"
},
"project.settings.permissions.search-placeholder": {
"message": "Busca {count} {count, plural, one {proyecto externo} other {proyectos externos}}..."
"message": "Buscar {count} {count, plural, one {proyecto} other {proyectos}}..."
},
"project.settings.permissions.sort.most-files": {
"message": "La mayoría de los archivos"
},
"project.settings.permissions.sort.recently-edited": {
"message": "Recientemente editado"
},
"project.settings.permissions.sort.rejected": {
"message": "Rechazado"
},
"project.settings.permissions.sort.status": {
"message": "Estado"
},
"project.settings.title": {
"message": "Configuración"
@@ -3965,6 +4079,48 @@
"settings.account.security.email.title": {
"message": "Correo electrónico"
},
"settings.account.security.passkey.add": {
"message": "Agregar clave de acceso"
},
"settings.account.security.passkey.add-modal.name.description": {
"message": "Asegúrate de elegir algo fácil de recordar, para que puedas identificar esta contraseña más adelante."
},
"settings.account.security.passkey.add-modal.name.label": {
"message": "Nombre"
},
"settings.account.security.passkey.add-modal.name.placeholder": {
"message": "Mi clave de acceso"
},
"settings.account.security.passkey.description": {
"message": "Administra tus claves de acceso registradas o agrega una nueva."
},
"settings.account.security.passkey.modal.added": {
"message": "Agregado {ago}"
},
"settings.account.security.passkey.modal.last-used": {
"message": "Último uso {ago}"
},
"settings.account.security.passkey.modal.loading": {
"message": "Cargando claves de acceso…"
},
"settings.account.security.passkey.modal.never-used": {
"message": "Nunca usado"
},
"settings.account.security.passkey.modal.no-passkeys": {
"message": "No tienes ninguna clave de acceso registrada."
},
"settings.account.security.passkey.remove.description": {
"message": "Esto eliminará de forma permanente la clave de acceso \"{name}\". Ya no podrás iniciar sesión con ella."
},
"settings.account.security.passkey.remove.title": {
"message": "¿Estás seguro de que quieres eliminar esta clave de acceso?"
},
"settings.account.security.passkey.rename-modal.header": {
"message": "Renombrar clave de acceso"
},
"settings.account.security.passkey.title": {
"message": "Administrar claves de acceso"
},
"settings.account.security.password.action.add": {
"message": "Añadir contraseña"
},
@@ -4577,6 +4733,48 @@
"ui.newsletter-button.tooltip": {
"message": "Suscríbete a las noticias de Modrinth"
},
"version.all-versions": {
"message": "Todas las versiones"
},
"version.confirm-delete.description": {
"message": "Esta versión será eliminada permanentemente. Esta acción no se puede deshacer."
},
"version.confirm-delete.proceed": {
"message": "Eliminar versión"
},
"version.confirm-delete.title": {
"message": "¿Estás seguro de que quieres eliminar esta versión?"
},
"version.dependency.view-project": {
"message": "Ver proyecto"
},
"version.dependency.view-version": {
"message": "Ver versión"
},
"version.download.download-dependency": {
"message": "Descargar dependencia"
},
"version.download.no-primary-file": {
"message": "Error: No se encontró el archivo principal"
},
"version.download.optional-resource-pack": {
"message": "Paquete de recursos opcional"
},
"version.download.required-resource-pack": {
"message": "Paquete de recursos requerido"
},
"version.edit.button": {
"message": "Editar"
},
"version.edit.details": {
"message": "Editar detalles"
},
"version.edit.files": {
"message": "Editar archivos"
},
"version.edit.metadata": {
"message": "Editar metadatos"
},
"version.environment.none.description": {
"message": "No se ha especificado el entorno para esta versión."
},
@@ -4588,5 +4786,56 @@
},
"version.environment.unknown.title": {
"message": "Entorno desconocido"
},
"version.package-as-mod.button": {
"message": "Empaquetar como mod"
},
"version.package-as-mod.description": {
"message": "Esto creará una nueva versión con soporte para los cargadores de mods seleccionados. Serás redirigido a la nueva versión y podrás editarla a tu gusto."
},
"version.package-as-mod.header": {
"message": "Empaquetar datapack como mod"
},
"version.package-as-mod.mod-loaders": {
"message": "Cargadores de mods"
},
"version.package-as-mod.mod-loaders.description": {
"message": "Los cargadores de mods para los que te gustaría empaquetar tu paquete de datos"
},
"version.package-as-mod.mod-loaders.placeholder": {
"message": "Elige cargadores de mods..."
},
"version.package-as-mod.submit-button": {
"message": "Paquete de datos"
},
"version.section.content.dev-info": {
"message": "Información del desarrollador"
},
"version.section.content.dev-info.gradle-snippet": {
"message": "build.gradle:"
},
"version.section.content.dev-info.maven-coordinates": {
"message": "Coordenadas de Maven:"
},
"version.section.content.dev-info.maven-description": {
"message": "Los proyectos en Modrinth están automáticamente disponibles a través de un repositorio Maven para su uso con herramientas de construcción de JVM como <gradle-link>Gradle</gradle-link>. Para obtener más información sobre la API de Modrinth Maven, <article-link>haga clic aquí</article-link>."
},
"version.section.content.dev-info.maven-note": {
"message": "Nota: Cuando esté disponible, deberías usar el repositorio maven del creador en su lugar, ya que tendrá información sobre las dependencias transitivas que la API de Modrinth Maven no tiene. También puedes terminar con dependencias duplicadas si usas una mezcla de repositorios Maven de Modrinth y no Modrinth para tus dependencias, porque el identificador de grupo será diferente cuando se sirva a través de la API de Maven de Modrinth."
},
"version.section.content.dev-info.version-id": {
"message": "ID de versión:"
},
"version.supplementary-resources.copy-hash-sha1": {
"message": "Copiar SHA-1"
},
"version.supplementary-resources.copy-hash-sha512": {
"message": "Copiar SHA-512"
},
"version.unknown-embedded-content.description": {
"message": "Esta versión está actualmente retenida y no está listada públicamente. Por favor, proporcione prueba de que tiene permiso para redistribuir ciertos archivos incluidos."
},
"version.unknown-embedded-content.title": {
"message": "Retenido debido a contenido incrustado desconocido"
}
}
+136 -43
View File
@@ -770,18 +770,9 @@
"auth.reset-password.title.long": {
"message": "Restablecer tu contraseña"
},
"auth.sign-in.2fa.description": {
"message": "Por favor introduce el código de autenticación de dos factores para continuar."
},
"auth.sign-in.2fa.label": {
"message": "Introduce el código de autenticación de dos factores"
},
"auth.sign-in.2fa.placeholder": {
"message": "Introducir código..."
},
"auth.sign-in.sign-in-with": {
"message": "Iniciar sesión con"
},
"auth.sign-in.title": {
"message": "Iniciar sesión"
},
@@ -794,9 +785,6 @@
"auth.sign-up.title": {
"message": "Registro"
},
"auth.sign-up.title.sign-up-with": {
"message": "Registrarse con"
},
"auth.verify-email.action.account-settings": {
"message": "Ajustes de cuenta"
},
@@ -1529,9 +1517,6 @@
"dashboard.overview.notifications.loading": {
"message": "Cargando notificaciones..."
},
"dashboard.projects.bulk-edit-hint": {
"message": "Puedes editar múltiples proyectos a la vez seleccionándolos abajo."
},
"dashboard.projects.bulk-edit.server-disabled": {
"message": "Proyectos de servidor no soportan edición masiva"
},
@@ -1604,24 +1589,6 @@
"dashboard.projects.project.review-environment-metadata": {
"message": "Por favor revise el entorno del metadata"
},
"dashboard.projects.sort.ascending": {
"message": "Ascendiendo"
},
"dashboard.projects.sort.descending": {
"message": "Descendiendo"
},
"dashboard.projects.sort.option.name": {
"message": "Nombre"
},
"dashboard.projects.sort.option.status": {
"message": "Estado"
},
"dashboard.projects.sort.option.type": {
"message": "Tipo"
},
"dashboard.projects.table.icon": {
"message": "Icono"
},
"dashboard.projects.table.id": {
"message": "ID"
},
@@ -3363,43 +3330,76 @@
"message": "URL"
},
"project.settings.permissions.attention-needed.description.proj-approved": {
"message": "Por favor, proporciona pruebas de que tienes permiso para redistribuir todos estos archivos y cualquier versión retenida se publicará automáticamente."
"message": "Por favor, proporciona una prueba de que tienes permiso para redistribuir todos los siguientes archivos. Una vez completado, las versiones retenidas se publicarán automáticamente."
},
"project.settings.permissions.attention-needed.description.proj-draft": {
"message": "Por favor, proporciona pruebas de que tienes permiso para redistribuir todos estos archivos antes de enviar tu proyecto a revisión."
"message": "Por favor, proporciona una prueba de que tiene permiso para redistribuir todos los siguientes archivos antes de enviar su proyecto para su revisión."
},
"project.settings.permissions.attention-needed.title": {
"message": "Incluye contenido desconocido"
"message": "Contenido externo desconocido"
},
"project.settings.permissions.bad-proof.description": {
"message": "El equipo de moderación de Modrinth ha rechazado la información de permisos que proporcionaste para cierto contenido externo. Revisa los elementos rechazados a continuación y proporciona una prueba aceptable o elimina el contenido."
},
"project.settings.permissions.bad-proof.title": {
"message": "Algunas pruebas fueron rechazadas"
},
"project.settings.permissions.collapse-all": {
"message": "Desbloquear todo"
},
"project.settings.permissions.completed.description": {
"message": "Todo el contenido externo proporciona atribuciones."
"message": "Todo el contenido externo cuenta con información de permisos y se han proporcionado las atribuciones correspondientes."
},
"project.settings.permissions.completed.title": {
"message": Atribuciones completadas!"
"message": Permisos completados!"
},
"project.settings.permissions.empty-state.description": {
"message": "Ninguna de tus versiones presenta contenido externo, por lo que no necesitas preocuparte de obtener permisos."
"message": "Ninguna de las versiones de tu proyecto contiene contenido externo, por lo que no necesitas preocuparte por obtener permisos."
},
"project.settings.permissions.empty-state.heading": {
"message": "¡Ya estás listo!"
},
"project.settings.permissions.expand-all": {
"message": "Expandir todo"
},
"project.settings.permissions.fail.description": {
"message": "No tienes permiso de redistribuir parte del contenido externo que añadiste. Para poder publicar en Modrinth, quita el contenido infractor."
"message": "Es posible que no tengas permiso para redistribuir parte del contenido externo en tu proyecto. Para publicar en Modrinth, por favor elimina este contenido o proporciona una prueba de que tienes permiso para usarlo."
},
"project.settings.permissions.fail.title": {
"message": "No se puede incluir parte del contenido"
},
"project.settings.permissions.info-banner.description": {
"message": "Si incluyes contenido que no está alojado en Modrinth, necesitas comunicarnos de dónde viene y verificar que tienes permiso para distribuir los archivos. ¡Mira <link>nuestra guía</link> para saber cómo hacerlo correctamente!"
"message": "Si incluyes contenido que no esté alojado en Modrinth, debes informarnos de dónde proviene y verificar que tienes permiso para distribuir los archivos. ¡Consulta <link>nuestro anuncio de este nuevo sistema</link> para obtener más información!"
},
"project.settings.permissions.info-banner.title": {
"message": "Aprende cómo funcionan las atribuciones"
"message": "Más información sobre los permisos de distribución"
},
"project.settings.permissions.learn-more": {
"message": "Saber más"
},
"project.settings.permissions.no-results": {
"message": "No hay archivos externos que coincidan con tu búsqueda."
},
"project.settings.permissions.not-allowed.description": {
"message": "Parte del contenido externo incluido no puede distribuirse en Modrinth porque infringe nuestras Normas de Contenido y debe eliminarse."
},
"project.settings.permissions.pending-approval-count": {
"message": "{count, plural, =0 {No hay atribuciones que necesiten aprobación} one {Una atribución necesita aprobación} other {# atribuciones necesitan aprobación}}"
},
"project.settings.permissions.search-placeholder": {
"message": "Buscar {count} {count, plural, one {proyecto externo} other {proyectos externos}}..."
"message": "Buscar {count} {count, plural, one {proyecto} other {proyectos}}..."
},
"project.settings.permissions.sort.most-files": {
"message": "La mayoría de los archivos"
},
"project.settings.permissions.sort.recently-edited": {
"message": "Recientemente editado"
},
"project.settings.permissions.sort.rejected": {
"message": "Rechazado"
},
"project.settings.permissions.sort.status": {
"message": "Estado"
},
"project.settings.title": {
"message": "Ajustes"
@@ -4571,6 +4571,48 @@
"ui.newsletter-button.tooltip": {
"message": "Suscríbete al boletín de noticias de Modrinth"
},
"version.all-versions": {
"message": "Todas las versiones"
},
"version.confirm-delete.description": {
"message": "Esta versión será permanentemente eliminado. Esta acción no se puede deshacer."
},
"version.confirm-delete.proceed": {
"message": "Eliminar versión"
},
"version.confirm-delete.title": {
"message": "¿Estás seguro de que quieres eliminar esta versión?"
},
"version.dependency.view-project": {
"message": "Ver proyecto"
},
"version.dependency.view-version": {
"message": "Ver versión"
},
"version.download.download-dependency": {
"message": "Descargar dependencia"
},
"version.download.no-primary-file": {
"message": "Error: No se encontró el archivo principal"
},
"version.download.optional-resource-pack": {
"message": "Resourse pack opcional"
},
"version.download.required-resource-pack": {
"message": "Resourse pack requerido"
},
"version.edit.button": {
"message": "Editar"
},
"version.edit.details": {
"message": "Editar detalles"
},
"version.edit.files": {
"message": "Editar archivos"
},
"version.edit.metadata": {
"message": "Editar metadatos"
},
"version.environment.none.description": {
"message": "El entorno para esta versión no ha sido especificado."
},
@@ -4582,5 +4624,56 @@
},
"version.environment.unknown.title": {
"message": "Entorno desconocido"
},
"version.package-as-mod.button": {
"message": "Paquete como mod"
},
"version.package-as-mod.description": {
"message": "Esto creará una nueva versión con soporte a los loader seleccionados. Serás redireccionado a la nueva versión para que puedas editarla a tu gusto."
},
"version.package-as-mod.header": {
"message": "Empaquetar datapack como mod"
},
"version.package-as-mod.mod-loaders": {
"message": "Loaders de mods"
},
"version.package-as-mod.mod-loaders.description": {
"message": "Los loaders para los que te gustaría empaquetar tu datapack."
},
"version.package-as-mod.mod-loaders.placeholder": {
"message": "Elige los loaders..."
},
"version.package-as-mod.submit-button": {
"message": "Empaquetar datapack"
},
"version.section.content.dev-info": {
"message": "Información del desarrollador"
},
"version.section.content.dev-info.gradle-snippet": {
"message": "build.gradle:"
},
"version.section.content.dev-info.maven-coordinates": {
"message": "Coordenadas de Maven:"
},
"version.section.content.dev-info.maven-description": {
"message": "Los proyectos en Modrinth están disponibles automáticamente a través de un repositorio Maven para su uso con herramientas de compilación JVM como <gradle-link>Gradle</gradle-link>. Para obtener más información sobre la API Maven de Modrinth, <article-link>presiona aquí</article-link>."
},
"version.section.content.dev-info.maven-note": {
"message": "Nota: Cuando esté disponible, debería usar el repositorio Maven del creador, ya que contendrá información de dependencia transitiva que la API Maven de Modrinth no tiene. También podría terminar con dependencias duplicadas si usa una combinación de repositorios Maven de Modrinth y de otros proveedores para sus dependencias, porque el identificador de grupo será diferente cuando se sirva a través de la API Maven de Modrinth."
},
"version.section.content.dev-info.version-id": {
"message": "ID de la versión:"
},
"version.supplementary-resources.copy-hash-sha1": {
"message": "Copiar SHA-1"
},
"version.supplementary-resources.copy-hash-sha512": {
"message": "Copiar SHA-512"
},
"version.unknown-embedded-content.description": {
"message": "Esta versión está actualmente retenida y no está listada públicamente. Por favor, proporcione prueba de que tiene permiso para redistribuir ciertos archivos incluidos."
},
"version.unknown-embedded-content.title": {
"message": "Retenido debido a contenido incrustado desconocido"
}
}
+24 -30
View File
@@ -8,6 +8,24 @@
"admin.billing.error.not-found": {
"message": "Käyttäjää ei löydetty"
},
"analytics.action.add": {
"message": "Lisää"
},
"analytics.action.cancel": {
"message": "Peruuta"
},
"analytics.action.refresh": {
"message": "Päivitä"
},
"analytics.action.reset": {
"message": "Palauta"
},
"analytics.breakdown.country": {
"message": "Valtio"
},
"analytics.breakdown.dependent-on": {
"message": "Riippuu kohteesta"
},
"app-marketing.download.description": {
"message": "Työpöytä sovelluksemme on saatavilla kaikilla alustoilla, valitse haluamasi versio."
},
@@ -254,18 +272,9 @@
"auth.reset-password.title.long": {
"message": "Palauta salasanasi"
},
"auth.sign-in.2fa.description": {
"message": "Syötä 2-vaiheisen tunnistautumisen koodi jatkaaksesi."
},
"auth.sign-in.2fa.label": {
"message": "Syötä 2-vaiheisen tunnistautumisen koodi"
},
"auth.sign-in.2fa.placeholder": {
"message": "Anna koodi..."
},
"auth.sign-in.sign-in-with": {
"message": "Kirjaudu sisään käyttäen"
},
"auth.sign-in.title": {
"message": "Kirjaudu sisään"
},
@@ -278,9 +287,6 @@
"auth.sign-up.title": {
"message": "Rekisteröidy"
},
"auth.sign-up.title.sign-up-with": {
"message": "Reskiteröidy käyttäen"
},
"auth.verify-email.action.account-settings": {
"message": "Tilin asetukset"
},
@@ -335,6 +341,12 @@
"collection.delete-modal.title": {
"message": "Oletko varma että haluat poistaa tämän kokoelman?"
},
"collection.description": {
"message": "{description} - Katso kokoelma {name}, jonka on luonut {username}, Modrinthissa"
},
"collection.description.following": {
"message": "Automattisesti luotu kokoelma kaikista projekteista joita seuraat."
},
"collection.editing": {
"message": "Muokataan kokoelmaa"
},
@@ -599,24 +611,6 @@
"dashboard.projects.project.icon-alt": {
"message": "Kuvake projektille {title}"
},
"dashboard.projects.sort.ascending": {
"message": "Nouseva"
},
"dashboard.projects.sort.descending": {
"message": "Laskeva"
},
"dashboard.projects.sort.option.name": {
"message": "Nimi"
},
"dashboard.projects.sort.option.status": {
"message": "Tila"
},
"dashboard.projects.sort.option.type": {
"message": "Tyyppi"
},
"dashboard.projects.table.icon": {
"message": "Kuvake"
},
"dashboard.projects.table.id": {
"message": "ID"
},
@@ -386,18 +386,9 @@
"auth.reset-password.title.long": {
"message": "Baguhin ang iyong password"
},
"auth.sign-in.2fa.description": {
"message": "Pakilagay ng two-factor code upang makapagpatuloy."
},
"auth.sign-in.2fa.label": {
"message": "Ilagay ang two-factor code"
},
"auth.sign-in.2fa.placeholder": {
"message": "Ilagay ang code..."
},
"auth.sign-in.sign-in-with": {
"message": "Mag-sign in gamit ang"
},
"auth.sign-in.title": {
"message": "Mag-sign In"
},
@@ -410,9 +401,6 @@
"auth.sign-up.title": {
"message": "Mag-sign Up"
},
"auth.sign-up.title.sign-up-with": {
"message": "Mag-sign up gamit ang"
},
"auth.verify-email.action.account-settings": {
"message": "Mga setting sa account"
},
@@ -1010,18 +998,6 @@
"dashboard.projects.project.review-environment-metadata": {
"message": "Pakisuri sa metadata sa environment"
},
"dashboard.projects.sort.option.name": {
"message": "Pangalan"
},
"dashboard.projects.sort.option.status": {
"message": "Estado"
},
"dashboard.projects.sort.option.type": {
"message": "Uri"
},
"dashboard.projects.table.icon": {
"message": "Ikono"
},
"dashboard.projects.table.id": {
"message": "ID"
},
@@ -2585,9 +2561,6 @@
"project.settings.general.url.title": {
"message": "URL"
},
"project.settings.permissions.info-banner.description": {
"message": "Kung magsasama ka ng mga kontentong hindi naka-host sa Modrinth, kailangan niyong ipaalam sa amin sa pinanggalingan nito at matiyak na pinahintulutang mapakalat ang mga file. Tingnan ang <link>aming gabay</link> upang matuto kung papaano ito magawa nang maayos!"
},
"project.settings.title": {
"message": "Mga Setting"
},
+284 -35
View File
@@ -731,12 +731,72 @@
"auth.authorize.authorize-app-name": {
"message": "Autoriser {appName}"
},
"auth.authorize.error.missing-parameters": {
"message": "Paramètres de requête d'authentification obligatoires manquants."
},
"auth.authorize.error.no-redirect-url": {
"message": "Pas d'adresse de redirection trouvée dans la réponse"
},
"auth.authorize.errro-title": {
"message": "Une Erreur est Survenue"
},
"auth.authorize.redirect-url": {
"message": "Vous serez redirigé vers <redirect-url>{url}</redirect-url>"
},
"auth.continue-with-provider": {
"message": "Continuer avec {provider}"
},
"auth.create-account.age-requirement.warning-title": {
"message": "Conditions d'âge"
},
"auth.create-account.complete-sign-up": {
"message": "Terminer l'inscription"
},
"auth.create-account.date-of-birth.invalid.text": {
"message": "Veuillez entrer une année de naissance valide. L'année ne peut pas être 0000."
},
"auth.create-account.date-of-birth.invalid.title": {
"message": "Date de naissance invalide"
},
"auth.create-account.date-of-birth.label": {
"message": "Date de naissance"
},
"auth.create-account.date-of-birth.placeholder": {
"message": "Choisissez votre date de naissance"
},
"auth.create-account.date-of-birth.required.text": {
"message": "Veuillez entrer votre date de naissance avant de continuer."
},
"auth.create-account.date-of-birth.required.title": {
"message": "Date de naissance requise"
},
"auth.create-account.date-of-birth.under13-helper": {
"message": "Vous ne rencontrez pas les conditions d'âge requises pour créer un compte sur Modrinth."
},
"auth.create-account.info-panel.source-code-link": {
"message": "Code source pertinent"
},
"auth.create-account.info-panel.text": {
"message": "Nous ne conservons pas votre date de naissance. Nous l'utilisons uniquement lors de l'inscription pour vérifier la conformité avec la loi COPPA."
},
"auth.create-account.page-title": {
"message": "Créer un Compte"
},
"auth.create-account.security-check.label": {
"message": "Vérification de sécurité"
},
"auth.create-account.subscribe.label": {
"message": "Me tenir au courant des trucs cools sur lesquels Modrinth travaille par e-mail"
},
"auth.create-account.title": {
"message": "Créer un Compte"
},
"auth.create-account.username.label": {
"message": "Pseudo"
},
"auth.create-account.username.placeholder": {
"message": "Entrez un pseudo"
},
"auth.reset-password.method-choice.action": {
"message": "Envoyez un e-mail de récupération"
},
@@ -771,23 +831,53 @@
"message": "Réinitialiser votre mot de passe"
},
"auth.sign-in.2fa.description": {
"message": "Veuillez entrer un code à double facteur pour continuer."
"message": "Entrez le code à 6 chiffres de votre application d'authentification, ou un de vos codes de secours."
},
"auth.sign-in.2fa.label": {
"message": "Saisir le code à double facteur"
"message": "Authentification à deux facteurs"
},
"auth.sign-in.2fa.placeholder": {
"message": "Saisir le code..."
},
"auth.sign-in.continue-with-email": {
"message": "Continuer avec un E-mail"
},
"auth.sign-in.continue-with-passkey": {
"message": "Continuer avec une clé d'accès"
},
"auth.sign-in.create-account": {
"message": "S'inscrire"
},
"auth.sign-in.forgot-password": {
"message": "Mot de passe oublié"
},
"auth.sign-in.last-sign-in": {
"message": "Dernière utilisation"
},
"auth.sign-in.no-account": {
"message": "Vous n'avez pas de compte ?"
},
"auth.sign-in.sign-in-with": {
"message": "Se connecter avec"
"message": "Se connecter à Modrinth"
},
"auth.sign-in.title": {
"message": "Se connecter"
},
"auth.sign-up.age-requirement.warning-title": {
"message": "Conditions d'âge"
},
"auth.sign-up.continue-with-email": {
"message": "Continuer avec un E-mail"
},
"auth.sign-up.legal-dislaimer": {
"message": "En créant un compte, vous acceptez les <terms-link>Conditions d'utilisation</terms-link> et la <privacy-policy-link>Politique de confidentialité</privacy-policy-link> de Modrinth."
},
"auth.sign-up.show-fewer-options": {
"message": "Voir moins d'options"
},
"auth.sign-up.show-other-options": {
"message": "Voir plus d'options"
},
"auth.sign-up.sign-in-option.title": {
"message": "Vous avez déjà un compte ?"
},
@@ -795,11 +885,14 @@
"message": "S'inscrire"
},
"auth.sign-up.title.sign-up-with": {
"message": "S'inscrire avec"
"message": "Créer un Compte"
},
"auth.verify-email.action.account-settings": {
"message": "Paramètres du compte"
},
"auth.verify-email.action.discover-mods": {
"message": "Découvrez des mods"
},
"auth.verify-email.already-verified.description": {
"message": "Votre adresse e-mail est déjà vérifiée !"
},
@@ -818,6 +911,15 @@
"auth.verify-email.failed-verification.title": {
"message": "La vérification de l'adresse e-mail a échouée"
},
"auth.verify-email.notification.email-sent.description": {
"message": "Un e-mail avec un lien pour vérifier votre compte a été envoyé à {email}."
},
"auth.verify-email.notification.email-sent.title": {
"message": "E-mail envoyé"
},
"auth.verify-email.notification.error-occurred.title": {
"message": "Une erreur est survenue"
},
"auth.verify-email.post-verification.description": {
"message": "Votre adresse e-mail a été vérifiée avec succès !"
},
@@ -1532,9 +1634,6 @@
"dashboard.overview.notifications.loading": {
"message": "Chargement des notifications..."
},
"dashboard.projects.bulk-edit-hint": {
"message": "Vous pouvez modifier plusieurs projets en même temps en les sélectionnant ci-dessous."
},
"dashboard.projects.bulk-edit.server-disabled": {
"message": "Les projets du serveur ne prennent pas en charge l'édition en masse"
},
@@ -1610,24 +1709,6 @@
"dashboard.projects.project.review-environment-metadata": {
"message": "Merci de revoir les métadonnées environnementales"
},
"dashboard.projects.sort.ascending": {
"message": "Ascendant"
},
"dashboard.projects.sort.descending": {
"message": "Descendant"
},
"dashboard.projects.sort.option.name": {
"message": "Nom"
},
"dashboard.projects.sort.option.status": {
"message": "Statut"
},
"dashboard.projects.sort.option.type": {
"message": "Type"
},
"dashboard.projects.table.icon": {
"message": "Icône"
},
"dashboard.projects.table.id": {
"message": "ID"
},
@@ -3369,43 +3450,76 @@
"message": "URL"
},
"project.settings.permissions.attention-needed.description.proj-approved": {
"message": "Veuillez prouver que vous avez la permission de redistribuer tous les fichiers suivants et que toutes les versions retenues seront automatiquement publiées."
"message": "Veuillez fournir la preuve que vous êtes autorisé à redistribuer tous les fichiers suivants. Une fois cette étape terminée, les versions actuellement retenues seront automatiquement publiées."
},
"project.settings.permissions.attention-needed.description.proj-draft": {
"message": "Veuillez fournir la preuve que vous avez l'autorisation de redistribuer tous les fichiers suivants avant de pouvoir soumettre votre projet pour évaluation."
"message": "Veuillez fournir la preuve que vous êtes autorisé à redistribuer tous les fichiers suivants avant de soumettre votre projet pour examen."
},
"project.settings.permissions.attention-needed.title": {
"message": "Contenu intégré inconnu"
"message": "Contenu externe inconnu"
},
"project.settings.permissions.bad-proof.description": {
"message": "L'équipe de modération de Modrinth a rejeté les informations d'autorisation que vous avez fournies pour certains contenus externes. Veuillez examiner les éléments rejetés ci-dessous et fournir une preuve acceptable lub supprimer le contenu."
},
"project.settings.permissions.bad-proof.title": {
"message": "Certaines preuves ont été rejetées"
},
"project.settings.permissions.collapse-all": {
"message": "Tout réduire"
},
"project.settings.permissions.completed.description": {
"message": "Tout le contenu externe est accompagné d'une attribution."
"message": "Toutes les informations d'autorisation et les attributions ont été fournies pour l'ensemble du contenu externe."
},
"project.settings.permissions.completed.title": {
"message": "Attributions terminées !"
"message": "Autorisations terminées !"
},
"project.settings.permissions.empty-state.description": {
"message": "Aucune de vos versions ne contient de contenu externe, vous n'avez donc pas à vous soucier d'obtenir d'autorisations."
"message": "Aucune des versions de votre projet ne contient de contenu externe, vous n'avez donc pas à vous soucier d'obtenir des autorisations."
},
"project.settings.permissions.empty-state.heading": {
"message": "Vous êtes prêt !"
},
"project.settings.permissions.expand-all": {
"message": "Tout développer"
},
"project.settings.permissions.fail.description": {
"message": "Vous n'êtes pas autorisé à rediffuser certains des contenus externes que vous avez ajoutés. Pour pouvoir publier sur Modrinth, veuillez supprimer les contenus litigieux."
"message": "Il se peut que vous n'ayez pas l'autorisation de redistribuer une partie du contenu externe de votre projet. Pour pouvoir publier na Modrinth, veuillez supprimer ce contenu ou fournir la preuve que vous avez l'autorisation de l'utiliser."
},
"project.settings.permissions.fail.title": {
"message": "Certains contenus ne peuvent pas être inclus"
},
"project.settings.permissions.info-banner.description": {
"message": "Si vous incluez du contenu qui nest pas sur Modrinth, vous devez nous faire savoir doù il vient et vérifier que vous avez la permission de distribuer les fichiers. Jettez un coup d’œil à <link>notre guide</link> pour apprendre comment faire cela proprement !"
"message": "Si vous incluez du contenu qui n'est pas hébergé sur Modrinth, vous devez nous indiquer sa provenance et vérifier que vous avez l'autorisation de distribuer te pliki. Découvrez <link>notre annonce de ce nouveau système</link> pour en savoir plus !"
},
"project.settings.permissions.info-banner.title": {
"message": "Découvrez comment fonctionnent les attributions"
"message": "En savoir plus sur les autorisations de distribution"
},
"project.settings.permissions.learn-more": {
"message": "En savoir plus"
},
"project.settings.permissions.no-results": {
"message": "Aucun fichier externe ne correspond à votre recherche."
},
"project.settings.permissions.not-allowed.description": {
"message": "Une partie du contenu externe inclus ne peut pas être distribuée sur Modrinth car elle enfreint nos règles relatives au contenu et doit être supprimée."
},
"project.settings.permissions.pending-approval-count": {
"message": "{count, plural, =0 {Aucune attribution n'a besoin d'approbation} one {# attribution a besoin d'approbation} other {# attributions ont besoin d'approbation}}"
},
"project.settings.permissions.search-placeholder": {
"message": "Rechercher {count} {count, plural, one {projet externe} other {projets externes}}..."
"message": "Rechercher {count} {count, plural, one {projet} other {projets}}..."
},
"project.settings.permissions.sort.most-files": {
"message": "La plupart des fichiers"
},
"project.settings.permissions.sort.recently-edited": {
"message": "Modifié récemment"
},
"project.settings.permissions.sort.rejected": {
"message": "Rejeté"
},
"project.settings.permissions.sort.status": {
"message": "Statut"
},
"project.settings.title": {
"message": "Paramètres"
@@ -3965,6 +4079,48 @@
"settings.account.security.email.title": {
"message": "E-mail"
},
"settings.account.security.passkey.add": {
"message": "Ajouter une clé d'accès"
},
"settings.account.security.passkey.add-modal.name.description": {
"message": "Veillez à choisir un nom facile à retenir, afin de pouvoir identifier tę klucz d'accès plus tard."
},
"settings.account.security.passkey.add-modal.name.label": {
"message": "Nom"
},
"settings.account.security.passkey.add-modal.name.placeholder": {
"message": "Ma clé d'accès"
},
"settings.account.security.passkey.description": {
"message": "Gérez vos clés d'accès enregistrées ou ajoutez-en une nouvelle."
},
"settings.account.security.passkey.modal.added": {
"message": "Ajouté il y a {ago}"
},
"settings.account.security.passkey.modal.last-used": {
"message": "Dernière utilisation il y a {ago}"
},
"settings.account.security.passkey.modal.loading": {
"message": "Chargement des clés d'accès…"
},
"settings.account.security.passkey.modal.never-used": {
"message": "Jamais utilisée"
},
"settings.account.security.passkey.modal.no-passkeys": {
"message": "Vous n'avez aucune clé d'accès enregistrée."
},
"settings.account.security.passkey.remove.description": {
"message": "Cela supprimera définitivement la clé d'accès \"{name}\". Vous ne pourrez plus l'utiliser pour vous connecter."
},
"settings.account.security.passkey.remove.title": {
"message": "Êtes-vous sûr de vouloir supprimer cette clé d'accès ?"
},
"settings.account.security.passkey.rename-modal.header": {
"message": "Renommer la clé d'accès"
},
"settings.account.security.passkey.title": {
"message": "Gérer les clés d'accès"
},
"settings.account.security.password.action.add": {
"message": "Ajouter un mot de passe"
},
@@ -4577,6 +4733,48 @@
"ui.newsletter-button.tooltip": {
"message": "S'abonner au journal Modrinth"
},
"version.all-versions": {
"message": "Toutes les versions"
},
"version.confirm-delete.description": {
"message": "Cette version sera définitivement supprimée. Cette action est irréversible."
},
"version.confirm-delete.proceed": {
"message": "Supprimer la version"
},
"version.confirm-delete.title": {
"message": "Êtes-vous sûr de vouloir supprimer cette version ?"
},
"version.dependency.view-project": {
"message": "Voir le projet"
},
"version.dependency.view-version": {
"message": "Voir la version"
},
"version.download.download-dependency": {
"message": "Télécharger la dépendance"
},
"version.download.no-primary-file": {
"message": "Erreur : aucun fichier principal trouvé"
},
"version.download.optional-resource-pack": {
"message": "Pack de ressources facultatif"
},
"version.download.required-resource-pack": {
"message": "Pack de ressources requis"
},
"version.edit.button": {
"message": "Modifier"
},
"version.edit.details": {
"message": "Modifier les détails"
},
"version.edit.files": {
"message": "Modifier los pliki"
},
"version.edit.metadata": {
"message": "Modifier les métadonnées"
},
"version.environment.none.description": {
"message": "L'environnement pour cette version n'a pas été spécifié."
},
@@ -4588,5 +4786,56 @@
},
"version.environment.unknown.title": {
"message": "Environnement Inconnue"
},
"version.package-as-mod.button": {
"message": "Packager comme mod"
},
"version.package-as-mod.description": {
"message": "Cela créera une nouvelle version prenant en charge les chargeurs de mods sélectionnés. Vous serez redirigé vers la nouvelle version et pourrez la modifier à votre guise."
},
"version.package-as-mod.header": {
"message": "Empaqueter le pack de données en mod"
},
"version.package-as-mod.mod-loaders": {
"message": "Chargeurs de mods"
},
"version.package-as-mod.mod-loaders.description": {
"message": "Les chargeurs de mods pour lesquels vous souhaitez packager votre data pack."
},
"version.package-as-mod.mod-loaders.placeholder": {
"message": "Choisir les chargeurs de mods..."
},
"version.package-as-mod.submit-button": {
"message": "Packager le data pack"
},
"version.section.content.dev-info": {
"message": "Informations de développement"
},
"version.section.content.dev-info.gradle-snippet": {
"message": "build.gradle :"
},
"version.section.content.dev-info.maven-coordinates": {
"message": "Coordonnées Maven :"
},
"version.section.content.dev-info.maven-description": {
"message": "Les projets sur Modrinth sont automatiquement disponibles via un dépôt Maven pour une utilisation avec des outils de build JVM tels que <gradle-link>Gradle</gradle-link>. Pour en savoir plus sur l'API Maven de Modrinth, <article-link>cliquez ici</article-link>."
},
"version.section.content.dev-info.maven-note": {
"message": "Remarque : Lorsque cela est possible, il est préférable d'utiliser le dépôt Maven du créateur, car il contient des informations sur les dépendances transitives que l'API Maven de Modrinth ne fournit pas. Vous risquez également de vous retrouver avec des dépendances en double si vous combinez des dépôts Maven Modrinth et non-Modrinth pour vos dépendances, car l'identifiant de groupe (group ID) différera lorsqu'il est fourni via l'API Maven de Modrinth."
},
"version.section.content.dev-info.version-id": {
"message": "ID de version :"
},
"version.supplementary-resources.copy-hash-sha1": {
"message": "Copier SHA-1"
},
"version.supplementary-resources.copy-hash-sha512": {
"message": "Copier SHA-512"
},
"version.unknown-embedded-content.description": {
"message": "Cette version est actuellement retenue et ne figure pas dans la liste publique. Veuillez fournir la preuve que vous êtes autorisé à redistribuer certains des fichiers inclus."
},
"version.unknown-embedded-content.title": {
"message": "Masqué en raison d'un contenu intégré inconnu"
}
}
@@ -254,18 +254,9 @@
"auth.reset-password.title.long": {
"message": "הפס סיסמתכם"
},
"auth.sign-in.2fa.description": {
"message": "כתבו את הקוד אימות דו-שלבי שלכם כדי להמשיך."
},
"auth.sign-in.2fa.label": {
"message": "כתבו את האימות דו-שלבי"
},
"auth.sign-in.2fa.placeholder": {
"message": "כתבו קוד..."
},
"auth.sign-in.sign-in-with": {
"message": "הכנס אם"
},
"auth.sign-in.title": {
"message": "הכנס"
},
@@ -278,9 +269,6 @@
"auth.sign-up.title": {
"message": "הרשם"
},
"auth.sign-up.title.sign-up-with": {
"message": "הרשם אם"
},
"auth.verify-email.action.account-settings": {
"message": "הגדרות חשבון"
},
+6 -39
View File
@@ -38,6 +38,9 @@
"analytics.breakdown.loader": {
"message": "Betöltő"
},
"analytics.breakdown.members": {
"message": "Tag"
},
"analytics.breakdown.monetization": {
"message": "Bevételszerzés"
},
@@ -221,6 +224,9 @@
"analytics.filter.search.download-sources": {
"message": "Letöltési források keresése..."
},
"analytics.filter.search.members": {
"message": "Tagok keresése... "
},
"analytics.filter.search.project-versions": {
"message": "Projektverziók keresése..."
},
@@ -680,18 +686,9 @@
"auth.reset-password.title.long": {
"message": "Jelszavad visszaállítása"
},
"auth.sign-in.2fa.description": {
"message": "Kérlek írd be a kétlépcsős hitelesítés kódját a folytatáshoz."
},
"auth.sign-in.2fa.label": {
"message": "Írd be a kétlépcsős hitelesítés kódját"
},
"auth.sign-in.2fa.placeholder": {
"message": "Kód beírása..."
},
"auth.sign-in.sign-in-with": {
"message": "Bejelentkezés ezzel"
},
"auth.sign-in.title": {
"message": "Bejelentkezés"
},
@@ -704,9 +701,6 @@
"auth.sign-up.title": {
"message": "Regisztráció"
},
"auth.sign-up.title.sign-up-with": {
"message": "Regisztráció ezzel"
},
"auth.verify-email.action.account-settings": {
"message": "Fiókbeállítások"
},
@@ -1388,9 +1382,6 @@
"dashboard.overview.notifications.loading": {
"message": "Értesítések betöltése..."
},
"dashboard.projects.bulk-edit-hint": {
"message": "Több projektet is szerkeszthetsz egyszerre, ha kiválasztod őket alább."
},
"dashboard.projects.empty": {
"message": "Még nincsenek projektjeid. Kattints a fenti zöld gombra a kezdéshez."
},
@@ -1451,24 +1442,6 @@
"dashboard.projects.project.review-environment-metadata": {
"message": "Kérlek ellenőrizd a környezeti metaadatokat"
},
"dashboard.projects.sort.ascending": {
"message": "Növekvő"
},
"dashboard.projects.sort.descending": {
"message": "Csökkenő"
},
"dashboard.projects.sort.option.name": {
"message": "Név"
},
"dashboard.projects.sort.option.status": {
"message": "Állapot"
},
"dashboard.projects.sort.option.type": {
"message": "Típus"
},
"dashboard.projects.table.icon": {
"message": "Ikon"
},
"dashboard.projects.table.id": {
"message": "Azonosító"
},
@@ -3128,18 +3101,12 @@
"project.settings.general.url.title": {
"message": "Link"
},
"project.settings.permissions.empty-state.description": {
"message": "Egyik verziód sem tartalmaz külső tartalmat, így nem kell aggódnod a jogosultságok beszerzése miatt."
},
"project.settings.permissions.empty-state.heading": {
"message": "Kész is van!"
},
"project.settings.permissions.learn-more": {
"message": "További információ"
},
"project.settings.permissions.search-placeholder": {
"message": "Keresés {count} külső projekt között..."
},
"project.settings.title": {
"message": "Beállítások"
},
@@ -473,18 +473,9 @@
"auth.reset-password.title.long": {
"message": "Atur ulang kata sandi Anda"
},
"auth.sign-in.2fa.description": {
"message": "Mohon masukkan kode autentikasi dwifaktor untuk melanjutkan."
},
"auth.sign-in.2fa.label": {
"message": "Masukkan kode dwifaktor"
},
"auth.sign-in.2fa.placeholder": {
"message": "Masukkan kode..."
},
"auth.sign-in.sign-in-with": {
"message": "Masuk dengan"
},
"auth.sign-in.title": {
"message": "Masuk"
},
@@ -497,9 +488,6 @@
"auth.sign-up.title": {
"message": "Daftar"
},
"auth.sign-up.title.sign-up-with": {
"message": "Daftar dengan"
},
"auth.verify-email.action.account-settings": {
"message": "Pengaturan akun"
},
+284 -35
View File
@@ -725,12 +725,72 @@
"auth.authorize.authorize-app-name": {
"message": "Autorizza {appName}"
},
"auth.authorize.error.missing-parameters": {
"message": "Parametri di query OAuth mancanti."
},
"auth.authorize.error.no-redirect-url": {
"message": "Nessun link di reindirizzamento trovato nella risposta"
},
"auth.authorize.errro-title": {
"message": "Si è verificato un errore"
},
"auth.authorize.redirect-url": {
"message": "Sarai reindirizzato a <redirect-url>{url}</redirect-url>"
},
"auth.continue-with-provider": {
"message": "Continua con {provider}"
},
"auth.create-account.age-requirement.warning-title": {
"message": "Età richiesta"
},
"auth.create-account.complete-sign-up": {
"message": "Completa la registrazione"
},
"auth.create-account.date-of-birth.invalid.text": {
"message": "Inserisci una data di nascita valida. L'anno non può essere 0000."
},
"auth.create-account.date-of-birth.invalid.title": {
"message": "Data di nascita non valida"
},
"auth.create-account.date-of-birth.label": {
"message": "Data di nascita"
},
"auth.create-account.date-of-birth.placeholder": {
"message": "Seleziona la tua data di nascita"
},
"auth.create-account.date-of-birth.required.text": {
"message": "Inserisci la tua data di nascita prima di continuare."
},
"auth.create-account.date-of-birth.required.title": {
"message": "Data di nascita richiesta"
},
"auth.create-account.date-of-birth.under13-helper": {
"message": "Non soddisfi i requisiti di età necessari per creare un account su Modrinth."
},
"auth.create-account.info-panel.source-code-link": {
"message": "Codice sorgente rilevante"
},
"auth.create-account.info-panel.text": {
"message": "Non memorizziamo la tua data di nascita. La utilizziamo solo durante la registrazione per verificare la conformità alla normativa COPPA."
},
"auth.create-account.page-title": {
"message": "Crea account"
},
"auth.create-account.security-check.label": {
"message": "Controllo di sicurezza"
},
"auth.create-account.subscribe.label": {
"message": "Tienimi aggiornato sulle fantastiche cose a cui Modrinth sta lavorando tramite email"
},
"auth.create-account.title": {
"message": "Crea un account"
},
"auth.create-account.username.label": {
"message": "Nome utente"
},
"auth.create-account.username.placeholder": {
"message": "Inserisci il nome utente"
},
"auth.reset-password.method-choice.action": {
"message": "Invia email di recupero"
},
@@ -765,23 +825,53 @@
"message": "Reimposta la password"
},
"auth.sign-in.2fa.description": {
"message": "Inserisci il codice 2FA per continuare."
"message": "Inserisci il codice a 6 cifre dalla tua app di autenticazione oppure uno dei tuoi codici di backup."
},
"auth.sign-in.2fa.label": {
"message": "Inserisci un codice 2FA"
"message": "Autenticazione a due fattori"
},
"auth.sign-in.2fa.placeholder": {
"message": "Inserisci il codice..."
},
"auth.sign-in.continue-with-email": {
"message": "Continua con l'email"
},
"auth.sign-in.continue-with-passkey": {
"message": "Continua con passkey"
},
"auth.sign-in.create-account": {
"message": "Registrati"
},
"auth.sign-in.forgot-password": {
"message": "Password dimenticata"
},
"auth.sign-in.last-sign-in": {
"message": "Ultimo utilizzo"
},
"auth.sign-in.no-account": {
"message": "Non hai un account?"
},
"auth.sign-in.sign-in-with": {
"message": "Accedi con"
"message": "Accedi a Modrinth"
},
"auth.sign-in.title": {
"message": "Accedi"
},
"auth.sign-up.age-requirement.warning-title": {
"message": "Età richiesta"
},
"auth.sign-up.continue-with-email": {
"message": "Continua con l'email"
},
"auth.sign-up.legal-dislaimer": {
"message": "Creando un''account, accetti i <terms-link>termini d''uso</terms-link> e l''<privacy-policy-link>informativa sulla privacy</privacy-policy-link> di Modrinth."
},
"auth.sign-up.show-fewer-options": {
"message": "Mostra meno opzioni"
},
"auth.sign-up.show-other-options": {
"message": "Mostra altre opzioni"
},
"auth.sign-up.sign-in-option.title": {
"message": "Hai già un account?"
},
@@ -789,11 +879,14 @@
"message": "Registrati"
},
"auth.sign-up.title.sign-up-with": {
"message": "Accedi con"
"message": "Crea un account"
},
"auth.verify-email.action.account-settings": {
"message": "Impostazioni account"
},
"auth.verify-email.action.discover-mods": {
"message": "Esplora mod"
},
"auth.verify-email.already-verified.description": {
"message": "La tua email è già stata verificata!"
},
@@ -812,6 +905,15 @@
"auth.verify-email.failed-verification.title": {
"message": "Errore nella verifica dell'email"
},
"auth.verify-email.notification.email-sent.description": {
"message": "È stata inviata un'email con il link per verificare il tuo account a {email}."
},
"auth.verify-email.notification.email-sent.title": {
"message": "Email inviata"
},
"auth.verify-email.notification.error-occurred.title": {
"message": "Si è verificato un errore"
},
"auth.verify-email.post-verification.description": {
"message": "Il tuo indirizzo email è stato verificato con successo!"
},
@@ -1526,9 +1628,6 @@
"dashboard.overview.notifications.loading": {
"message": "Caricando le notifiche..."
},
"dashboard.projects.bulk-edit-hint": {
"message": "Puoi modificare più progetti contemporaneamente selezionandoli qui sotto."
},
"dashboard.projects.bulk-edit.server-disabled": {
"message": "Non puoi modificare più server contemporaneamente"
},
@@ -1601,24 +1700,6 @@
"dashboard.projects.project.review-environment-metadata": {
"message": "Si prega di rivedere i metadati d'ambiente"
},
"dashboard.projects.sort.ascending": {
"message": "Crescente"
},
"dashboard.projects.sort.descending": {
"message": "Decrescente"
},
"dashboard.projects.sort.option.name": {
"message": "Nome"
},
"dashboard.projects.sort.option.status": {
"message": "Stato"
},
"dashboard.projects.sort.option.type": {
"message": "Tipo"
},
"dashboard.projects.table.icon": {
"message": "Icona"
},
"dashboard.projects.table.id": {
"message": "ID"
},
@@ -2052,7 +2133,7 @@
"message": "Avvia il tuo server"
},
"hosting-marketing.hero.host-with-modrinth": {
"message": "Affida il tuo prossimo server a Modrinth Hosting"
"message": "Scegli Modrinth Hosting per il tuo nuovo server"
},
"hosting-marketing.hero.hosting-description": {
"message": "Modrinth Hosting è il modo più facile per gestire il tuo server personale per Minecraft: Java Edition. Installa e gioca alle tue mod e pacchetti preferiti, tutto tramite la piattaforma Modrinth."
@@ -3360,43 +3441,76 @@
"message": "URL"
},
"project.settings.permissions.attention-needed.description.proj-approved": {
"message": "Dimostra di avere il permesso di ridistribuire tutti i seguenti file, e le versioni sospese verranno pubblicate automaticamente."
"message": "Dimostra di avere il permesso di ridistribuire tutti i file seguenti. Una volta fatto, le versioni sospese verranno pubblicate automaticamente."
},
"project.settings.permissions.attention-needed.description.proj-draft": {
"message": "Dimostra di avere il permesso di ridistribuire tutti i seguenti file prima di presentare il tuo progetto alla revisione."
"message": "Dimostra di avere il permesso di ridistribuire tutti i file seguenti prima di presentare il progetto alla revisione."
},
"project.settings.permissions.attention-needed.title": {
"message": "Contenuti di origine sconosciuta"
},
"project.settings.permissions.bad-proof.description": {
"message": "Il team di moderazione di Modrinth ha rifiutato i permessi che hai dimostrato per alcuni contenuti esterni. Ricontrolla gli elementi rifiutati riportati di seguito e fornisci delle prove valide oppure rimuovi i contenuti."
},
"project.settings.permissions.bad-proof.title": {
"message": "Alcune prove sono state rifiutate"
},
"project.settings.permissions.collapse-all": {
"message": "Comprimi tutto"
},
"project.settings.permissions.completed.description": {
"message": "Sono state fornite attribuzioni per tutti i contenuti esterni."
"message": "Tutti i contenuti esterni hanno ricevuto i permessi e tutte le attribuzioni sono state fornite."
},
"project.settings.permissions.completed.title": {
"message": "Attribuzioni complete!"
"message": "Permessi completi!"
},
"project.settings.permissions.empty-state.description": {
"message": "Nessuna versione include contenuti esterni, quindi non è necessario dimostrare alcun permesso."
"message": "Nessuna versione del progetto include contenuti esterni, quindi non è necessario dimostrare alcun permesso."
},
"project.settings.permissions.empty-state.heading": {
"message": "Tutto a posto!"
},
"project.settings.permissions.expand-all": {
"message": "Espandi tutto"
},
"project.settings.permissions.fail.description": {
"message": "Non hai il permesso di ridistribuire alcuni dei contenuti esterni che hai incluso. Per pubblicare su Modrinth, rimuovi i contenuti illeciti."
"message": "Potresti non avere il permesso di ridistribuire alcuni dei contenuti esterni contenuti nel progetto. Per pubblicare su Modrinth, rimuovili o dimostra di avere il permesso di usarli."
},
"project.settings.permissions.fail.title": {
"message": "Alcuni contenuti non possono essere pubblicati"
},
"project.settings.permissions.info-banner.description": {
"message": "Se includi dei contenuti esterni a Modrinth, devi dichiarare la loro origine e dimostrare di avere il permesso di ridistribuirli. Controlla la <link>nostra guida</link> per farlo nel modo giusto!"
"message": "Se includi dei contenuti esterni a Modrinth, devi dichiarare la loro origine e dimostrare di avere il permesso di ridistribuirli. Controlla <link>il nostro annuncio su questo nuovo sistema</link> per scoprire di più!"
},
"project.settings.permissions.info-banner.title": {
"message": "Come funzionano le attribuzioni"
"message": "Scopri di più sui permessi di distribuzione"
},
"project.settings.permissions.learn-more": {
"message": "Scopri di più"
},
"project.settings.permissions.no-results": {
"message": "Nessun file esterno corrisponde alla tua ricerca."
},
"project.settings.permissions.not-allowed.description": {
"message": "Alcuni dei contenuti esterni inclusi non possono essere distribuiti su Modrinth e devono essere rimossi in quanto violano le nostre Regole sui contenuti."
},
"project.settings.permissions.pending-approval-count": {
"message": "{count, plural, =0 {Nessuna attribuzione necessita} one {# attribuzione necessita} other {# attribuzioni necessitano}} di approvazione"
},
"project.settings.permissions.search-placeholder": {
"message": "Cerca tra {count, plural, one {# progetto esterno} other {# progetti esterni}}..."
"message": "Cerca tra {count} {count, plural, one {progetto} other {progetti}}..."
},
"project.settings.permissions.sort.most-files": {
"message": "Numero di file"
},
"project.settings.permissions.sort.recently-edited": {
"message": "Modificati di recente"
},
"project.settings.permissions.sort.rejected": {
"message": "Rifiutati"
},
"project.settings.permissions.sort.status": {
"message": "Stato"
},
"project.settings.title": {
"message": "Impostazioni"
@@ -3938,6 +4052,48 @@
"settings.account.security.email.title": {
"message": "Email"
},
"settings.account.security.passkey.add": {
"message": "Aggiungi passkey"
},
"settings.account.security.passkey.add-modal.name.description": {
"message": "Assicurati di scegliere un nome facile da ricordare, così da poter identificare la passkey più tardi."
},
"settings.account.security.passkey.add-modal.name.label": {
"message": "Nome"
},
"settings.account.security.passkey.add-modal.name.placeholder": {
"message": "Passkey personale"
},
"settings.account.security.passkey.description": {
"message": "Gestisci le tue passkey o aggiungine una nuova."
},
"settings.account.security.passkey.modal.added": {
"message": "Aggiunta {ago}"
},
"settings.account.security.passkey.modal.last-used": {
"message": "Ultimo utilizzo {ago}"
},
"settings.account.security.passkey.modal.loading": {
"message": "Caricando le passkey…"
},
"settings.account.security.passkey.modal.never-used": {
"message": "Mai usata"
},
"settings.account.security.passkey.modal.no-passkeys": {
"message": "Non hai passkey registrate."
},
"settings.account.security.passkey.remove.description": {
"message": "Questo rimuoverà la passkey \"{name}\" permanentemente. Non potrai più accedere con questa."
},
"settings.account.security.passkey.remove.title": {
"message": "Vuoi davvero eliminare questa passkey?"
},
"settings.account.security.passkey.rename-modal.header": {
"message": "Rinomina passkey"
},
"settings.account.security.passkey.title": {
"message": "Gestisci passkey"
},
"settings.account.security.password.action.add": {
"message": "Aggiungi password"
},
@@ -4550,6 +4706,48 @@
"ui.newsletter-button.tooltip": {
"message": "Iscriviti alla newsletter di Modrinth"
},
"version.all-versions": {
"message": "Tutte le versioni"
},
"version.confirm-delete.description": {
"message": "Questa versione verrà eliminata permanentemente. Questa azione non può essere annullata."
},
"version.confirm-delete.proceed": {
"message": "Elimina versione"
},
"version.confirm-delete.title": {
"message": "Vuoi davvero eliminare questa versione?"
},
"version.dependency.view-project": {
"message": "Mostra progetto"
},
"version.dependency.view-version": {
"message": "Mostra versione"
},
"version.download.download-dependency": {
"message": "Scarica dipendenza"
},
"version.download.no-primary-file": {
"message": "Errore: nessun file primario trovato"
},
"version.download.optional-resource-pack": {
"message": "Pacchetto di risorse facoltativo"
},
"version.download.required-resource-pack": {
"message": "Pacchetto di risorse obbligatorio"
},
"version.edit.button": {
"message": "Modifica"
},
"version.edit.details": {
"message": "Modifica dettagli"
},
"version.edit.files": {
"message": "Modifica file"
},
"version.edit.metadata": {
"message": "Modifica metadati"
},
"version.environment.none.description": {
"message": "L'ambiente per questa versione non è stato specificato."
},
@@ -4561,5 +4759,56 @@
},
"version.environment.unknown.title": {
"message": "Ambiente sconosciuto"
},
"version.package-as-mod.button": {
"message": "Impacchetta come mod"
},
"version.package-as-mod.description": {
"message": "Questo creerà una nuova versione con il supporto ai loader selezionati. Sarai reindirizzato alla nuova versione così da modificarla a tuo piacimento."
},
"version.package-as-mod.header": {
"message": "Impacchetta in una mod"
},
"version.package-as-mod.mod-loaders": {
"message": "Loader"
},
"version.package-as-mod.mod-loaders.description": {
"message": "I loader per cui verrà impacchettato il pacchetto di dati."
},
"version.package-as-mod.mod-loaders.placeholder": {
"message": "Scegli i loader..."
},
"version.package-as-mod.submit-button": {
"message": "Impacchetta"
},
"version.section.content.dev-info": {
"message": "Informazioni sullo sviluppatore"
},
"version.section.content.dev-info.gradle-snippet": {
"message": "build.gradle:"
},
"version.section.content.dev-info.maven-coordinates": {
"message": "Coordinate Maven:"
},
"version.section.content.dev-info.maven-description": {
"message": "I progetti su Modrinth sono automaticamente disponibili tramite una repository su Maven per uso con strumenti di sviluppo come <gradle-link>Gradle</gradle-link>. Per saperne di più sull'API Maven di Modrinth, <article-link>clicca qui</article-link>."
},
"version.section.content.dev-info.maven-note": {
"message": "Nota: quando disponibile, dovresti usare la repository Maven dell'autore, in quanto conterrà informazioni transitive sulle dipendenze che l'API Maven di Modrinth non ha. Inoltre, usando altre repository non di Modrinth insieme a queste, potresti finire con dipendenze duplicate, poiché l'identificatore del gruppo risulterà diverso quando fornito dall'API."
},
"version.section.content.dev-info.version-id": {
"message": "ID di versione:"
},
"version.supplementary-resources.copy-hash-sha1": {
"message": "Copia SHA-1"
},
"version.supplementary-resources.copy-hash-sha512": {
"message": "Copia SHA-512"
},
"version.unknown-embedded-content.description": {
"message": "Questa versione è attualmente sospesa e non elencata pubblicamente. Devi dimostrare di avere il permesso di ridistribuire alcuni dei file presenti."
},
"version.unknown-embedded-content.title": {
"message": "Sospesa per attribuzioni incomplete"
}
}
+63 -36
View File
@@ -48,7 +48,7 @@
"message": "メンバー"
},
"analytics.breakdown.monetization": {
"message": "収益"
"message": "収益の発生"
},
"analytics.breakdown.none.selected": {
"message": "分析 - デフォルト"
@@ -102,7 +102,7 @@
"message": "プロジェクトのイベントがありません。"
},
"analytics.chart.controls.previous-period": {
"message": "1期前の描画"
"message": "前の描画"
},
"analytics.chart.controls.project-events": {
"message": "プロジェクト"
@@ -158,6 +158,15 @@
"analytics.filter.search.countries": {
"message": "国を検索…"
},
"analytics.filter.search.dependent-projects": {
"message": "プロジェクトを検索..."
},
"analytics.filter.search.download-sources": {
"message": "ソースを検索..."
},
"analytics.filter.search.members": {
"message": "メンバーを検索..."
},
"analytics.filter.search.project-versions": {
"message": "プロジェクトバージョンを検索…"
},
@@ -167,9 +176,60 @@
"analytics.graph.title.downloads": {
"message": "ダウンロードの推移"
},
"analytics.graph.title.playtime": {
"message": "プレイ時間の推移"
},
"analytics.graph.title.revenue": {
"message": "収益の推移"
},
"analytics.graph.title.views": {
"message": "表示の推移"
},
"analytics.group-by.1h": {
"message": "1時間"
},
"analytics.group-by.6h": {
"message": "6時間"
},
"analytics.group-by.date": {
"message": "日付"
},
"analytics.group-by.day": {
"message": "1日"
},
"analytics.group-by.month": {
"message": "1月"
},
"analytics.group-by.selected.day": {
"message": "日足"
},
"analytics.group-by.selected.hour": {
"message": "1時間足"
},
"analytics.group-by.selected.month": {
"message": "月足"
},
"analytics.group-by.selected.six-hours": {
"message": "6時間足"
},
"analytics.group-by.selected.week": {
"message": "週足"
},
"analytics.group-by.selected.year": {
"message": "年足"
},
"analytics.group-by.week": {
"message": "1週"
},
"analytics.group-by.year": {
"message": "1年"
},
"analytics.loading.fetching-results": {
"message": "データを取得中..."
},
"analytics.options.loading": {
"message": "ロード中..."
},
"analytics.project-event.project-approved": {
"message": "承認済み"
},
@@ -201,7 +261,7 @@
"message": "ダウンロード"
},
"analytics.stat.monetization-banner.body": {
"message": "Modrinthを通じて行われた閲覧およびダウンロードが収益の対象となります。\nまた、Webからの場合は不正防止のためのフィルターを通過する必要があり、アプリからの場合は先述のフィルターに加え、Modrinthにログインされたユーザーに限ります。\n注意として、すべてのプロジェクトにおいて、収益の対象となる操作の割合はほぼ均一に保たれるため、最終的な収益で不公平が生まれることはありません。"
"message": "Modrinthを通じて行われた閲覧およびダウンロードが収益の対象となります。また、Webからの場合は不正防止のためのフィルターを通過する必要があり、アプリからの場合は先述のフィルターに加え、Modrinthにログインされたユーザーに限ります。注意として、すべてのプロジェクトにおいて、収益の対象となる操作の割合はほぼ均一に保たれるため、最終的な収益で不公平が生まれることはありません。"
},
"analytics.stat.monetization-banner.learn-more": {
"message": "もっと詳しく"
@@ -530,18 +590,9 @@
"auth.reset-password.title.long": {
"message": "パスワードを再設定する"
},
"auth.sign-in.2fa.description": {
"message": "続行するには二要素認証コードを入力してください。"
},
"auth.sign-in.2fa.label": {
"message": "二要素認証コードを入力"
},
"auth.sign-in.2fa.placeholder": {
"message": "コードを入力…"
},
"auth.sign-in.sign-in-with": {
"message": "外部アカウントでログイン"
},
"auth.sign-in.title": {
"message": "ログイン"
},
@@ -554,9 +605,6 @@
"auth.sign-up.title": {
"message": "アカウント作成"
},
"auth.sign-up.title.sign-up-with": {
"message": "外部アカウントで作成"
},
"auth.verify-email.action.account-settings": {
"message": "アカウント設定"
},
@@ -1163,9 +1211,6 @@
"dashboard.overview.notifications.loading": {
"message": "通知を読み込み中…"
},
"dashboard.projects.bulk-edit-hint": {
"message": "以下で選択することで、複数のプロジェクトを一括で編集できます。"
},
"dashboard.projects.bulk-edit.server-disabled": {
"message": "サーバープロジェクトでは一括編集を利用できません"
},
@@ -1238,24 +1283,6 @@
"dashboard.projects.project.review-environment-metadata": {
"message": "環境メタデータを確認してください"
},
"dashboard.projects.sort.ascending": {
"message": "昇順"
},
"dashboard.projects.sort.descending": {
"message": "降順"
},
"dashboard.projects.sort.option.name": {
"message": "名前"
},
"dashboard.projects.sort.option.status": {
"message": "ステータス"
},
"dashboard.projects.sort.option.type": {
"message": "種類"
},
"dashboard.projects.table.icon": {
"message": "アイコン"
},
"dashboard.projects.table.id": {
"message": "ID"
},
@@ -266,18 +266,9 @@
"auth.reset-password.title.long": {
"message": "비밀번호 재설정"
},
"auth.sign-in.2fa.description": {
"message": "진행하려면 2단계 인증 코드를 입력해 주세요."
},
"auth.sign-in.2fa.label": {
"message": "2단계 인증 코드 입력"
},
"auth.sign-in.2fa.placeholder": {
"message": "코드 입력..."
},
"auth.sign-in.sign-in-with": {
"message": "다음을 통해 로그인"
},
"auth.sign-in.title": {
"message": "로그인"
},
@@ -290,9 +281,6 @@
"auth.sign-up.title": {
"message": "회원 가입"
},
"auth.sign-up.title.sign-up-with": {
"message": "다음 계정으로 가입"
},
"auth.verify-email.action.account-settings": {
"message": "계정 설정"
},
@@ -1010,9 +998,6 @@
"dashboard.overview.notifications.loading": {
"message": "알림 불러오는 중..."
},
"dashboard.projects.bulk-edit-hint": {
"message": "아래에서 여러 프로젝트를 선택하면 한 번에 편집할 수 있습니다."
},
"dashboard.projects.bulk-edit.server-disabled": {
"message": "서버 프로젝트는 일괄 편집을 지원하지 않습니다"
},
@@ -1082,24 +1067,6 @@
"dashboard.projects.project.review-environment-metadata": {
"message": "환경 메타데이터를 검토해 주세요"
},
"dashboard.projects.sort.ascending": {
"message": "오름차순"
},
"dashboard.projects.sort.descending": {
"message": "내림차순"
},
"dashboard.projects.sort.option.name": {
"message": "이름"
},
"dashboard.projects.sort.option.status": {
"message": "상태"
},
"dashboard.projects.sort.option.type": {
"message": "유형"
},
"dashboard.projects.table.icon": {
"message": "아이콘"
},
"dashboard.projects.table.id": {
"message": "ID"
},
@@ -2804,45 +2771,15 @@
"project.settings.general.url.title": {
"message": "URL"
},
"project.settings.permissions.attention-needed.description.proj-approved": {
"message": "다음 파일들을 재배포할 권한이 있음을 증명하는 자료를 제출 바랍니다. 제출 시 보류된 버전은 자동으로 공개됩니다."
},
"project.settings.permissions.attention-needed.description.proj-draft": {
"message": "프로젝트 검토를 위해 제출하기 전에 다음 파일들을 재배포할 권한이 있음을 증명하는 자료를 제출해 주세요."
},
"project.settings.permissions.attention-needed.title": {
"message": "알 수 없는 내장 콘텐츠"
},
"project.settings.permissions.completed.description": {
"message": "모든 외부 콘텐츠에는 출처가 명시되어 있습니다."
},
"project.settings.permissions.completed.title": {
"message": "출처 표기 완료됨!"
},
"project.settings.permissions.empty-state.description": {
"message": "어떤 버전에도 외부 콘텐츠가 포함되어 있지 않으므로 권한을 얻는 걸 걱정하지 않아도 됩니다."
},
"project.settings.permissions.empty-state.heading": {
"message": "준비됨!"
},
"project.settings.permissions.fail.description": {
"message": "추가한 외부 콘텐츠 중 일부를 재배포할 권한이 없습니다. Modrinth에 게시하려면 저작권 침해 콘텐츠를 삭제해야 합니다."
},
"project.settings.permissions.fail.title": {
"message": "일부 콘텐츠는 포함될 수 없습니다"
},
"project.settings.permissions.info-banner.description": {
"message": "Modrinth에 호스팅되지 않은 콘텐츠를 포함하는 경우, 해당 콘텐츠의 출처를 알리고 파일 배포 권한이 있는지 확인해야 합니다. <link>저희 지침</link>을 참고해 어떻게 처리하는지 알아보세요!"
},
"project.settings.permissions.info-banner.title": {
"message": "출처 표기 방식 알아보기"
},
"project.settings.permissions.learn-more": {
"message": "더보기"
},
"project.settings.permissions.search-placeholder": {
"message": "{count}개의 {count, plural, other {외부 프로젝트}} 검색..."
},
"project.settings.title": {
"message": "설정"
},
@@ -656,18 +656,9 @@
"auth.reset-password.title.long": {
"message": "Tetap semula kata laluan anda"
},
"auth.sign-in.2fa.description": {
"message": "Sila masukkan kod dua faktor untuk meneruskan."
},
"auth.sign-in.2fa.label": {
"message": "Masukkan kod dua faktor"
},
"auth.sign-in.2fa.placeholder": {
"message": "Masukkan kod..."
},
"auth.sign-in.sign-in-with": {
"message": "Daftar masuk dengan"
},
"auth.sign-in.title": {
"message": "Daftar Masuk"
},
@@ -680,9 +671,6 @@
"auth.sign-up.title": {
"message": "Daftar"
},
"auth.sign-up.title.sign-up-with": {
"message": "Daftar dengan"
},
"auth.verify-email.action.account-settings": {
"message": "Tetapan akaun"
},
@@ -1379,9 +1367,6 @@
"dashboard.overview.notifications.loading": {
"message": "Sedang memuat pemberitahuan..."
},
"dashboard.projects.bulk-edit-hint": {
"message": "Anda boleh menyunting berbilang projek sekaligus dengan memilihnya di bawah."
},
"dashboard.projects.bulk-edit.server-disabled": {
"message": "Projek pelayan tidak menyokong penyuntingan pukal"
},
@@ -1451,24 +1436,6 @@
"dashboard.projects.project.review-environment-metadata": {
"message": "Sila semak metadata persekitaran"
},
"dashboard.projects.sort.ascending": {
"message": "Menaik"
},
"dashboard.projects.sort.descending": {
"message": "Menurun"
},
"dashboard.projects.sort.option.name": {
"message": "Nama"
},
"dashboard.projects.sort.option.status": {
"message": "Status"
},
"dashboard.projects.sort.option.type": {
"message": "Jenis"
},
"dashboard.projects.table.icon": {
"message": "Ikon"
},
"dashboard.projects.table.id": {
"message": "ID"
},
@@ -3179,45 +3146,15 @@
"project.settings.general.url.title": {
"message": "URL"
},
"project.settings.permissions.attention-needed.description.proj-approved": {
"message": "Sila berikan bukti bahawa anda mempunyai kebenaran untuk mengedarkan semula semua fail berikut dan sebarang versi yang ditahan akan diterbitkan secara automatik."
},
"project.settings.permissions.attention-needed.description.proj-draft": {
"message": "Sila berikan bukti bahawa anda mempunyai kebenaran untuk mengedarkan semula semua fail berikut sebelum anda boleh menghantar projek anda untuk semakan."
},
"project.settings.permissions.attention-needed.title": {
"message": "Kandungan terbenam yang tidak diketahui"
},
"project.settings.permissions.completed.description": {
"message": "Semua kandungan luaran mempunyai atribusi yang disediakan."
},
"project.settings.permissions.completed.title": {
"message": "Atribusi selesai!"
},
"project.settings.permissions.empty-state.description": {
"message": "Tiada satu pun versi anda mengandungi kandungan luaran, jadi anda tidak perlu risau tentang mendapatkan kebenaran."
},
"project.settings.permissions.empty-state.heading": {
"message": "Semuanya sudah siap!"
},
"project.settings.permissions.fail.description": {
"message": "Anda tidak mempunyai kebenaran untuk mengedarkan semula beberapa kandungan luaran yang ditambahkan. Untuk menerbitkan projek ini di Modrinth, sila buang kandungan yang melanggar hak."
},
"project.settings.permissions.fail.title": {
"message": "Sesetengah kandungan tidak boleh disertakan"
},
"project.settings.permissions.info-banner.description": {
"message": "Jika anda memasukkan kandungan yang tidak dihoskan di Modrinth, anda perlu memberitahu kami dari mana ia berasal dan mengesahkan bahawa anda mempunyai kebenaran untuk mengedarkan fail tersebut. Lihat <link>panduan kami</link> untuk mengetahui cara untuk melakukannya dengan betul!"
},
"project.settings.permissions.info-banner.title": {
"message": "Ketahui cara atribusi berfungsi"
},
"project.settings.permissions.learn-more": {
"message": "Ketahui lebih lanjut"
},
"project.settings.permissions.search-placeholder": {
"message": "Cari {count} {count, plural, other {projek luaran}}..."
},
"project.settings.title": {
"message": "Tetapan"
},
@@ -617,18 +617,9 @@
"auth.reset-password.title.long": {
"message": "Uw wachtwoord opnieuw instellen"
},
"auth.sign-in.2fa.description": {
"message": "Voer een tweestapsverificatie code in om verder te gaan."
},
"auth.sign-in.2fa.label": {
"message": "Voer twee factor code in"
},
"auth.sign-in.2fa.placeholder": {
"message": "Voer code in..."
},
"auth.sign-in.sign-in-with": {
"message": "Log in met"
},
"auth.sign-in.title": {
"message": "Log in"
},
@@ -638,9 +629,6 @@
"auth.sign-up.title": {
"message": "Aanmelden"
},
"auth.sign-up.title.sign-up-with": {
"message": "Meld je aan met"
},
"auth.verify-email.action.account-settings": {
"message": "Account instellingen"
},
@@ -1370,9 +1358,6 @@
"dashboard.overview.notifications.loading": {
"message": "Notificaties aan het laden..."
},
"dashboard.projects.bulk-edit-hint": {
"message": "U kunt meerdere projecten tegelijkertijd bijwerken door ze hieronder te selecteren."
},
"dashboard.projects.bulk-edit.server-disabled": {
"message": "Massa wijzigingen worden niet ondersteund door server projecten"
},
@@ -1424,12 +1409,6 @@
"dashboard.projects.project.review-environment-metadata": {
"message": "Controller project metadata alstublieft"
},
"dashboard.projects.sort.option.name": {
"message": "Naam"
},
"dashboard.projects.sort.option.status": {
"message": "Status"
},
"dashboard.projects.table.name": {
"message": "Naam"
},
@@ -254,18 +254,9 @@
"auth.reset-password.title.long": {
"message": "Tilbakestill passordet dit"
},
"auth.sign-in.2fa.description": {
"message": "Vennligst skriv inn en tofaktor-kode for å fortsette."
},
"auth.sign-in.2fa.label": {
"message": "Skriv inn tofaktor-kode"
},
"auth.sign-in.2fa.placeholder": {
"message": "Skriv inn kode..."
},
"auth.sign-in.sign-in-with": {
"message": "Logg inn med"
},
"auth.sign-in.title": {
"message": "Logg inn"
},
@@ -278,9 +269,6 @@
"auth.sign-up.title": {
"message": "Registrer deg"
},
"auth.sign-up.title.sign-up-with": {
"message": "Registrer deg med"
},
"auth.verify-email.action.account-settings": {
"message": "Kontoinstillinger"
},
@@ -863,9 +851,6 @@
"dashboard.organizations.title": {
"message": "Organiseringer"
},
"dashboard.projects.bulk-edit-hint": {
"message": "Du kan redigere flere prosjekt samtidig ved å velge dem nedafor."
},
"dashboard.projects.bulk-edit.server-disabled": {
"message": "Serverprosjekt støtter ikke massredigering"
},
+286 -37
View File
@@ -387,7 +387,7 @@
"message": "Rozkład:"
},
"analytics.query.label.grouped-by": {
"message": "Grupowane wg."
"message": "Grupowane wg"
},
"analytics.query.label.project": {
"message": "Projekt:"
@@ -731,12 +731,72 @@
"auth.authorize.authorize-app-name": {
"message": "Autoryzuj {appName}"
},
"auth.authorize.error.missing-parameters": {
"message": "Brak wymaganych parametrów zapytania OAuth."
},
"auth.authorize.error.no-redirect-url": {
"message": "Nie znaleziono lokalizacji przekierowania w odpowiedzi"
},
"auth.authorize.errro-title": {
"message": "Wystąpił błąd"
},
"auth.authorize.redirect-url": {
"message": "Zostaniesz przekierowany do <redirect-url>{url}</redirect-url>"
},
"auth.continue-with-provider": {
"message": "Kontynuuj przez {provider}"
},
"auth.create-account.age-requirement.warning-title": {
"message": "Wymaganie wiekowe"
},
"auth.create-account.complete-sign-up": {
"message": "Zakończ rejestrację"
},
"auth.create-account.date-of-birth.invalid.text": {
"message": "Prosimy o podanie prawidłowej daty urodzenia. Rok 0000 jest nieprawidłowy."
},
"auth.create-account.date-of-birth.invalid.title": {
"message": "Nieprawidłowa data urodzenia"
},
"auth.create-account.date-of-birth.label": {
"message": "Data urodzenia"
},
"auth.create-account.date-of-birth.placeholder": {
"message": "Wprowadź datę urodzenia"
},
"auth.create-account.date-of-birth.required.text": {
"message": "Prosimy o podanie twojej daty urodzenia przed kontynuowaniem."
},
"auth.create-account.date-of-birth.required.title": {
"message": "Wymagana data urodzenia"
},
"auth.create-account.date-of-birth.under13-helper": {
"message": "Nie spełniasz wymagań wiekowych, aby utworzyć konto na Modrinth."
},
"auth.create-account.info-panel.source-code-link": {
"message": "Kod źródłowy funkcji"
},
"auth.create-account.info-panel.text": {
"message": "Nie zapisujemy Twojej daty urodzenia. Sprawdzamy ją tylko podczas tworzenia konta, by potwierdzić zgodność z COPPA."
},
"auth.create-account.page-title": {
"message": "Utwórz konto"
},
"auth.create-account.security-check.label": {
"message": "Test bezpieczeństwa"
},
"auth.create-account.subscribe.label": {
"message": "Wysyłaj mi nowinki o Modrinth przez e-mail"
},
"auth.create-account.title": {
"message": "Utwórz konto"
},
"auth.create-account.username.label": {
"message": "Nazwa użytkownika"
},
"auth.create-account.username.placeholder": {
"message": "Wprowadź nazwę użytkownika"
},
"auth.reset-password.method-choice.action": {
"message": "Wyślij e-mail do odzyskania konta"
},
@@ -771,23 +831,53 @@
"message": "Zresetuj swoje hasło"
},
"auth.sign-in.2fa.description": {
"message": "Wprowadź otrzymany kod, aby kontynuować."
"message": "Wprowadź 6-znakowy kod z aplikacji autoryzującej lub jeden z kodów zapasowych."
},
"auth.sign-in.2fa.label": {
"message": "Wprowadź otrzymany kod"
"message": "Weryfikacja dwuetapowa"
},
"auth.sign-in.2fa.placeholder": {
"message": "Wprowadź kod..."
},
"auth.sign-in.continue-with-email": {
"message": "Kontynuuj przez e-mail"
},
"auth.sign-in.continue-with-passkey": {
"message": "Kontynuuj przez klucz logowania"
},
"auth.sign-in.create-account": {
"message": "Zarejestruj się"
},
"auth.sign-in.forgot-password": {
"message": "Nie pamiętam hasła"
},
"auth.sign-in.last-sign-in": {
"message": "Ostatnio użyty"
},
"auth.sign-in.no-account": {
"message": "Nie masz konta?"
},
"auth.sign-in.sign-in-with": {
"message": "Zaloguj się przez"
"message": "Zaloguj się na Modrinth"
},
"auth.sign-in.title": {
"message": "Zaloguj się"
},
"auth.sign-up.age-requirement.warning-title": {
"message": "Wymaganie wiekowe"
},
"auth.sign-up.continue-with-email": {
"message": "Kontynuuj przez e-mail"
},
"auth.sign-up.legal-dislaimer": {
"message": "Tworząc konto, wyrażasz zgodę na <terms-link>Warunki</terms-link> i <privacy-policy-link>Politykę Prywatności</privacy-policy-link> Modrinth."
},
"auth.sign-up.show-fewer-options": {
"message": "Pokaż mniej opcji"
},
"auth.sign-up.show-other-options": {
"message": "Pokaż inne opcje"
},
"auth.sign-up.sign-in-option.title": {
"message": "Masz już konto?"
},
@@ -795,11 +885,14 @@
"message": "Zarejestruj się"
},
"auth.sign-up.title.sign-up-with": {
"message": "Zarejestruj się przez"
"message": "Utwórz konto"
},
"auth.verify-email.action.account-settings": {
"message": "Ustawienia konta"
},
"auth.verify-email.action.discover-mods": {
"message": "Odkrywaj modyfikacje"
},
"auth.verify-email.already-verified.description": {
"message": "Twój e-mail jest już zweryfikowany!"
},
@@ -818,6 +911,15 @@
"auth.verify-email.failed-verification.title": {
"message": "Weryfikacja e-maila nie powiodła się"
},
"auth.verify-email.notification.email-sent.description": {
"message": "E-mail z linkiem do weryfikacji Twojego konta został wysłany na adres {email}."
},
"auth.verify-email.notification.email-sent.title": {
"message": "E-mail wysłany"
},
"auth.verify-email.notification.error-occurred.title": {
"message": "Wystąpił błąd"
},
"auth.verify-email.post-verification.description": {
"message": "Twój adres e-mail został pomyślnie zweryfikowany!"
},
@@ -1532,9 +1634,6 @@
"dashboard.overview.notifications.loading": {
"message": "Ładowanie powiadomień..."
},
"dashboard.projects.bulk-edit-hint": {
"message": "Możesz edytować kilka projektów naraz, zaznaczając je poniżej."
},
"dashboard.projects.bulk-edit.server-disabled": {
"message": "Projekty serwerów nie wspierają grupowej edycji"
},
@@ -1607,24 +1706,6 @@
"dashboard.projects.project.review-environment-metadata": {
"message": "Sprawdź metadane środowiska"
},
"dashboard.projects.sort.ascending": {
"message": "Rosnąco"
},
"dashboard.projects.sort.descending": {
"message": "Malejąco"
},
"dashboard.projects.sort.option.name": {
"message": "Nazwa"
},
"dashboard.projects.sort.option.status": {
"message": "Status"
},
"dashboard.projects.sort.option.type": {
"message": "Rodzaj"
},
"dashboard.projects.table.icon": {
"message": "Ikona"
},
"dashboard.projects.table.id": {
"message": "ID"
},
@@ -3363,43 +3444,76 @@
"message": "URL"
},
"project.settings.permissions.attention-needed.description.proj-approved": {
"message": "Prosimy o dostarczenie dowodu, że posiadasz pozwolenie na rozpowszechnianie wszystkich poniższych plików, a wszelkie wstrzymane wersje zostaną automatycznie opublikowane."
"message": "Prosimy o dostarczenie dowodu, że posiadasz pozwolenie na rozpowszechnianie wszystkich poniższych plików. Po dostarczeniu dowodu wszelkie wstrzymane wersje zostaną automatycznie opublikowane."
},
"project.settings.permissions.attention-needed.description.proj-draft": {
"message": "Przed przesłaniem projektu do oceny prosimy o pokazanie, że posiadasz pozwolenie na rozpowszechnianie wszystkich poniższych plików."
"message": "Przed przesłaniem projektu do przeglądu prosimy o pokazanie, że posiadasz pozwolenie na rozpowszechnianie wszystkich poniższych plików."
},
"project.settings.permissions.attention-needed.title": {
"message": "Nieznana osadzona treść"
"message": "Nieznana zewnętrzna zawartość"
},
"project.settings.permissions.bad-proof.description": {
"message": "Zespół moderatorów Modrinth odrzucił podane informacje o zezwoleniach dla niektórej zawartości. Podaj poprawne dowody lub usuń podaną niżej zawartość."
},
"project.settings.permissions.bad-proof.title": {
"message": "Niektóre dowody zostały odrzucone"
},
"project.settings.permissions.collapse-all": {
"message": "Zwiń wszystkie"
},
"project.settings.permissions.completed.description": {
"message": "Wszystkie zewnętrzne treści mają podane źródła."
"message": "Wszystkie zewnętrzne treści zawierają informacje o prawach autorskich, a źródła zostały podane."
},
"project.settings.permissions.completed.title": {
"message": "Atrybuty przypisane!"
"message": "Uprawnienia gotowe!"
},
"project.settings.permissions.empty-state.description": {
"message": "Żadna z Twoich wersji nie zawiera treści zewnętrznych, więc nie musisz martwić się o uzyskanie zezwoleń."
"message": "Żadne z wersji Twojego projektu nie zawiera zewnętrznej zawartości, więc nie musisz martwić się o uzyskanie zezwoleń."
},
"project.settings.permissions.empty-state.heading": {
"message": "Wszystko gotowe!"
},
"project.settings.permissions.expand-all": {
"message": "Rozwiń wszytkie"
},
"project.settings.permissions.fail.description": {
"message": "Nie masz uprawnień do redystrybucji części dodanych przez siebie treści zewnętrznych. Aby publikować na Modrinth, usuń treści naruszające prawa autorskie."
"message": "Możesz nie mieć uprawnień do redystrybucji kilku zewnętrznych treści w twoim projekcie. Żeby publikować na Modrinth, proszę usunąć tę treść albo \nwysłać dowód, który potwierdza, że masz permisje do użycia go."
},
"project.settings.permissions.fail.title": {
"message": "Niektórych treści nie można uwzględnić"
},
"project.settings.permissions.info-banner.description": {
"message": "Jeśli zamieszczasz treści, które nie są hostowane na Modrinth, musisz poinformować nas, skąd pochodzą i potwierdzić, że masz pozwolenie na ich dystrybucję. Sprawdź <link>nasz poradnik</link>, aby dowiedzieć się, jak to zrobić poprawnie!"
"message": "Jeśli zamieszczasz treści, które nie są hostowane na Modrinth, musisz poinformować nas, skąd pochodzą i potwierdzić, że masz pozwolenie na ich dystrybucję. Zobacz <link>nasze ogłoszenie o nowym systemie</link>, aby dowiedzieć się więcej!"
},
"project.settings.permissions.info-banner.title": {
"message": "Dowiedz się, jak działają atrybuty"
"message": "Dowiedz się więcej o uprawnieniach dystrybucji"
},
"project.settings.permissions.learn-more": {
"message": "Dowiedz się więcej"
},
"project.settings.permissions.no-results": {
"message": "Nie znaleziono żadnego pliku zewnętrznego pasującego do Twojego wyszukiwania."
},
"project.settings.permissions.not-allowed.description": {
"message": "Niektóra zewnętrzna zawartość na może być dystrybuowana przez Modrinth i musi być usunięta, ponieważ jest niezgodna z naszymi Zasadami dotyczącymi treści."
},
"project.settings.permissions.pending-approval-count": {
"message": "{count, plural, =0 {Żadna atrybucja nie potrzebuje sprawdzenia} one {# atrybucja potrzebuje sprawdzenia} few{# atrybucje potrzebują sprawdzenia} other {# atrybucji potrzebuje sprawdzenia}}"
},
"project.settings.permissions.search-placeholder": {
"message": "Szukaj w {count} {count, plural, one {projekcie zewnętrznym} other {projektach zewnętrznych}}..."
"message": "Szukaj wśród {count} {count, plural, one {projektu} other {projektów}}..."
},
"project.settings.permissions.sort.most-files": {
"message": "Najwięcej plików"
},
"project.settings.permissions.sort.recently-edited": {
"message": "Ostatnio edytowane"
},
"project.settings.permissions.sort.rejected": {
"message": "Odrzucone"
},
"project.settings.permissions.sort.status": {
"message": "Status"
},
"project.settings.title": {
"message": "Ustawienia"
@@ -3959,6 +4073,48 @@
"settings.account.security.email.title": {
"message": "E-mail"
},
"settings.account.security.passkey.add": {
"message": "Dodaj klucz logowania"
},
"settings.account.security.passkey.add-modal.name.description": {
"message": "Wybierz coś, co zapamiętasz, by móć później rozpoznać ten klucz logowania."
},
"settings.account.security.passkey.add-modal.name.label": {
"message": "Nazwa"
},
"settings.account.security.passkey.add-modal.name.placeholder": {
"message": "Moje klucze logowania"
},
"settings.account.security.passkey.description": {
"message": "Zarządzaj kluczami logowania lub dodaj nowe."
},
"settings.account.security.passkey.modal.added": {
"message": "Dodano {ago}"
},
"settings.account.security.passkey.modal.last-used": {
"message": "Ostatnio użyty {ago}"
},
"settings.account.security.passkey.modal.loading": {
"message": "Ładowanie kluczy logowania…"
},
"settings.account.security.passkey.modal.never-used": {
"message": "Nigdy nie użyty"
},
"settings.account.security.passkey.modal.no-passkeys": {
"message": "Nie masz żadnych kluczy logowania."
},
"settings.account.security.passkey.remove.description": {
"message": "To trwale usunie klucz logowania \"{name}\". Nie będzie można się nim zalogować."
},
"settings.account.security.passkey.remove.title": {
"message": "Czy na pewno chcesz usunąć ten klucz logowania?"
},
"settings.account.security.passkey.rename-modal.header": {
"message": "Zmień nazwę klucza logowania"
},
"settings.account.security.passkey.title": {
"message": "Zarządzaj kluczami logowania"
},
"settings.account.security.password.action.add": {
"message": "Dodaj hasło"
},
@@ -4146,7 +4302,7 @@
"message": "Kiedy autoryzujesz aplikacje ze swoim kontem Modrinth, dajesz jej dostęp do swojego konta. Możesz tutaj zawsze zarządzać oraz przeglądać stan aplikacji z dostępem do Twojego konta."
},
"settings.authorizations.empty-state": {
"message": "Nie udało się nam wyświetlić twoich zautoryzowanych aplikacji, pracujemy nad tym, aby to naprawić. Odwiedź tę stronę później, w innym czasie!"
"message": "Nie udało się nam wyświetlić twoich zautoryzowanych aplikacji, pracujemy nad tym, aby to naprawić. Odwiedź tę stronę później!"
},
"settings.authorizations.head-title": {
"message": "Autoryzacje"
@@ -4571,6 +4727,48 @@
"ui.newsletter-button.tooltip": {
"message": "Subskrybuj do newslettera Modrinth"
},
"version.all-versions": {
"message": "Wszystkie wersje"
},
"version.confirm-delete.description": {
"message": "Ta wersja zostanie trwale usunięta. Tej akcji nie będzie można cofnąć."
},
"version.confirm-delete.proceed": {
"message": "Usuń wersję"
},
"version.confirm-delete.title": {
"message": "Czy na pewno chcesz usunąć tę wersję?"
},
"version.dependency.view-project": {
"message": "Pokaż projekt"
},
"version.dependency.view-version": {
"message": "Pokaż wersję"
},
"version.download.download-dependency": {
"message": "Pobierz zależność"
},
"version.download.no-primary-file": {
"message": "Błąd: Nie znaleziono pliku głównego"
},
"version.download.optional-resource-pack": {
"message": "Opcjonalna paczka zasobów"
},
"version.download.required-resource-pack": {
"message": "Wymagana paczka zasobów"
},
"version.edit.button": {
"message": "Edytuj"
},
"version.edit.details": {
"message": "Edytuj szczegóły"
},
"version.edit.files": {
"message": "Edytuj pliki"
},
"version.edit.metadata": {
"message": "Edytuj metadane"
},
"version.environment.none.description": {
"message": "Środowisko dla tej wersji nie zostało określone."
},
@@ -4582,5 +4780,56 @@
},
"version.environment.unknown.title": {
"message": "Nieznane środowisko"
},
"version.package-as-mod.button": {
"message": "Zapakuj jako mod"
},
"version.package-as-mod.description": {
"message": "Stworzy to nową wersję wspierającą wybrane loadery modów. Po przekierowaniu możesz dalej edytować nową wersję."
},
"version.package-as-mod.header": {
"message": "Zapakuj paczkę danych jako mod"
},
"version.package-as-mod.mod-loaders": {
"message": "Loadery modów"
},
"version.package-as-mod.mod-loaders.description": {
"message": "Loadery modów, dla których ma być zapakowana ta paczka danych."
},
"version.package-as-mod.mod-loaders.placeholder": {
"message": "Wybierz loadery modów..."
},
"version.package-as-mod.submit-button": {
"message": "Zapakuj paczkę danych"
},
"version.section.content.dev-info": {
"message": "Informacje dla twórców"
},
"version.section.content.dev-info.gradle-snippet": {
"message": "build.gradle:"
},
"version.section.content.dev-info.maven-coordinates": {
"message": "Koordynaty Maven:"
},
"version.section.content.dev-info.maven-description": {
"message": "Projekty na Modrinth są automatycznie dostępne przez repozytorium Maven do użytku z narzędziami takimi jak <gradle-link>Gradle</gradle-link>. By dowiedzieć się więcej o API Maven Modrinth, <article-link>kliknij tutaj</article-link>."
},
"version.section.content.dev-info.maven-note": {
"message": "Uwaga: Jeśli jest to możliwe, zalecanie jest używanie repozytorium Maven od twórcy projektu, ponieważ może zawierać przejściowe informacje o zależnościach, o których nie wie API Maven Modrinth. Możesz także skończyć z duplikatami niektórych zależności mieszając repozytoria Maven z i spoza Modrinth, ponieważ identyfikatory grup będą się różnić."
},
"version.section.content.dev-info.version-id": {
"message": "Identyfikator wersji:"
},
"version.supplementary-resources.copy-hash-sha1": {
"message": "Kopiuj SHA-1"
},
"version.supplementary-resources.copy-hash-sha512": {
"message": "Kopiuj SHA-512"
},
"version.unknown-embedded-content.description": {
"message": "Ta wersja jest aktualnie wstrzymana i nie jest widoczna publicznie. Podaj dowód na to, że możesz rozpowszechniać niektóre zawarte pliki."
},
"version.unknown-embedded-content.title": {
"message": "Wstrzymane z powodu nieznanej zewnętrznej zawartości"
}
}
+284 -35
View File
@@ -731,12 +731,72 @@
"auth.authorize.authorize-app-name": {
"message": "Autorizar {appName}"
},
"auth.authorize.error.missing-parameters": {
"message": "Parâmetros de consulta OAuth necessários faltando."
},
"auth.authorize.error.no-redirect-url": {
"message": "Sem redirecionamento encontrado na resposta"
},
"auth.authorize.errro-title": {
"message": "Ocorreu Um Erro"
},
"auth.authorize.redirect-url": {
"message": "Você será redirecionado para <redirect-url>{url}</redirect-url>"
},
"auth.continue-with-provider": {
"message": "Continuar com {provider}"
},
"auth.create-account.age-requirement.warning-title": {
"message": "Requisito de idade"
},
"auth.create-account.complete-sign-up": {
"message": "Concluir registro"
},
"auth.create-account.date-of-birth.invalid.text": {
"message": "Insira uma data de nascimento válida. O ano não pode ser 0000."
},
"auth.create-account.date-of-birth.invalid.title": {
"message": "Data de nascimento inválida"
},
"auth.create-account.date-of-birth.label": {
"message": "Data de nascimento"
},
"auth.create-account.date-of-birth.placeholder": {
"message": "Selecione sua data de nascimento"
},
"auth.create-account.date-of-birth.required.text": {
"message": "Primeiro, insira sua data de nascimento para prosseguir."
},
"auth.create-account.date-of-birth.required.title": {
"message": "Data de nascimento necessária"
},
"auth.create-account.date-of-birth.under13-helper": {
"message": "Você não atende ao requisito de idade para criar uma conta no Modrinth."
},
"auth.create-account.info-panel.source-code-link": {
"message": "Código-fonte relevante"
},
"auth.create-account.info-panel.text": {
"message": "Não armazenamos sua data de nascimento. Só usamos durante o registro para validar os cumprimentos COPPA."
},
"auth.create-account.page-title": {
"message": "Criar conta"
},
"auth.create-account.security-check.label": {
"message": "Verificação de segurança"
},
"auth.create-account.subscribe.label": {
"message": "Mantenha-me informado por e-mail sobre coisas legais que o Modrinth está trabalhando"
},
"auth.create-account.title": {
"message": "Criar uma Conta"
},
"auth.create-account.username.label": {
"message": "Nome de usuário"
},
"auth.create-account.username.placeholder": {
"message": "Inserir nome de usuário"
},
"auth.reset-password.method-choice.action": {
"message": "Enviar e-mail de recuperação"
},
@@ -771,23 +831,53 @@
"message": "Redefina sua senha"
},
"auth.sign-in.2fa.description": {
"message": "Insira o código de dois fatores para prosseguir."
"message": "Insira o código de 6 dígitos do aplicativo de autenticação ou um dos códigos de backup."
},
"auth.sign-in.2fa.label": {
"message": "Insira o código de dois fatores"
"message": "Autenticação de dois fatores"
},
"auth.sign-in.2fa.placeholder": {
"message": "Insira o código..."
},
"auth.sign-in.continue-with-email": {
"message": "Continuar com e-mail"
},
"auth.sign-in.continue-with-passkey": {
"message": "Continuar com chave de acesso"
},
"auth.sign-in.create-account": {
"message": "Entrar"
},
"auth.sign-in.forgot-password": {
"message": "Esqueci a senha"
},
"auth.sign-in.last-sign-in": {
"message": "Último uso"
},
"auth.sign-in.no-account": {
"message": "Não possui uma conta?"
},
"auth.sign-in.sign-in-with": {
"message": "Iniciar sessão com"
"message": "Entrar no Modrinth"
},
"auth.sign-in.title": {
"message": "Iniciar sessão"
},
"auth.sign-up.age-requirement.warning-title": {
"message": "Requisito de idade"
},
"auth.sign-up.continue-with-email": {
"message": "Continuar com e-mail"
},
"auth.sign-up.legal-dislaimer": {
"message": "Ao criar uma conta, você concorda com os <terms-link>Termos</terms-link> e a <privacy-policy-link>Política de Privacidade</privacy-policy-link>."
},
"auth.sign-up.show-fewer-options": {
"message": "Exibir menos opções"
},
"auth.sign-up.show-other-options": {
"message": "Exibir outras opções"
},
"auth.sign-up.sign-in-option.title": {
"message": "Já possui uma conta?"
},
@@ -795,11 +885,14 @@
"message": "Criar conta"
},
"auth.sign-up.title.sign-up-with": {
"message": "Criar conta com"
"message": "Criar uma Conta"
},
"auth.verify-email.action.account-settings": {
"message": "Configuração da conta"
},
"auth.verify-email.action.discover-mods": {
"message": "Descobrir mods"
},
"auth.verify-email.already-verified.description": {
"message": "Seu e-mail já está verificado!"
},
@@ -818,6 +911,15 @@
"auth.verify-email.failed-verification.title": {
"message": "A verificação de e-mail falhou"
},
"auth.verify-email.notification.email-sent.description": {
"message": "Um e-mail foi enviado para {email} com um link para verificar sua conta."
},
"auth.verify-email.notification.email-sent.title": {
"message": "E-mail enviado"
},
"auth.verify-email.notification.error-occurred.title": {
"message": "Ocorreu um erro"
},
"auth.verify-email.post-verification.description": {
"message": "Seu e-mail foi verificado com sucesso!"
},
@@ -1529,9 +1631,6 @@
"dashboard.overview.notifications.loading": {
"message": "Carregando notificações..."
},
"dashboard.projects.bulk-edit-hint": {
"message": "Você pode editar vários projetos em simultâneo, selecionando-os abaixo."
},
"dashboard.projects.bulk-edit.server-disabled": {
"message": "Os projetos de servidor não suportam edição em massa"
},
@@ -1607,24 +1706,6 @@
"dashboard.projects.project.review-environment-metadata": {
"message": "Por favor, revise os metadados do ambiente"
},
"dashboard.projects.sort.ascending": {
"message": "Crescente"
},
"dashboard.projects.sort.descending": {
"message": "Decrescente"
},
"dashboard.projects.sort.option.name": {
"message": "Nome"
},
"dashboard.projects.sort.option.status": {
"message": "Status"
},
"dashboard.projects.sort.option.type": {
"message": "Tipo"
},
"dashboard.projects.table.icon": {
"message": "Ícone"
},
"dashboard.projects.table.id": {
"message": "ID"
},
@@ -3360,43 +3441,76 @@
"message": "URL"
},
"project.settings.permissions.attention-needed.description.proj-approved": {
"message": "Forneça a prova que possui permissão para redistribuir todos os seguintes arquivos e a versão retida será publicada automaticamente."
"message": "Forneça a prova que possui permissão para redistribuir todos os seguintes arquivos. Após a conclusão, as versões retidas serão publicadas automaticamente."
},
"project.settings.permissions.attention-needed.description.proj-draft": {
"message": "Forneça a prova que possui permissão para redistribuir todos os seguintes arquivos antes de apresentar seu projeto para revisão."
"message": "Forneça a prova que possui permissão para redistribuir todos os seguintes arquivos antes de enviar seu projeto para revisão."
},
"project.settings.permissions.attention-needed.title": {
"message": "Conteúdo incluso desconhecido"
"message": "Conteúdo externo desconhecido"
},
"project.settings.permissions.bad-proof.description": {
"message": "A equipe de moderação do Modrinth rejeitou as informações de permissão que você forneceu para alguns conteúdos externos. Por favor, revise os itens rejeitados abaixo e forneça provas aceitáveis ou remova o conteúdo."
},
"project.settings.permissions.bad-proof.title": {
"message": "Algumas provas foram rejeitadas"
},
"project.settings.permissions.collapse-all": {
"message": "Recolher tudo"
},
"project.settings.permissions.completed.description": {
"message": "Todos os conteúdos externos possuem atribuição inclusa."
"message": "Todo o conteúdo externo possui informações de permissão e as atribuições foram fornecidas."
},
"project.settings.permissions.completed.title": {
"message": "Atribuições concluídas!"
"message": "Permissões concluídas!"
},
"project.settings.permissions.empty-state.description": {
"message": "Nenhuma de suas versões contém conteúdo externo, não há o que se preocupar sobre adquirir permissões."
"message": "Nenhuma das versões do seu projeto contém conteúdo externo, não há o que se preocupar sobre adquirir permissões."
},
"project.settings.permissions.empty-state.heading": {
"message": "Tudo joia!"
},
"project.settings.permissions.expand-all": {
"message": "Expandir tudo"
},
"project.settings.permissions.fail.description": {
"message": "Você não possui permissão para redistribuir algum dos conteúdos externos que adicionou. Para poder publicar no Modrinth, remova os conteúdos que infringem."
"message": "Você pode não ter permissão para redistribuir parte do conteúdo externo do seu projeto. Para publicar no Modrinth, remova esse conteúdo ou forneça um comprovante de que você tem permissão para usá-lo."
},
"project.settings.permissions.fail.title": {
"message": "Alguns conteúdos não puderam ser incluídos"
},
"project.settings.permissions.info-banner.description": {
"message": "Se você incluir conteúdo que não é fornecido pelo Modrinth, você precisa nos contar de onde isso vem e verificar que você tem permissão para distribuir os arquivos. Veja <link>nosso guia</link> para saber mais como fazer do jeito certo!"
"message": "Se você incluir conteúdo que não é fornecido pelo Modrinth, você precisa nos contar de onde isso vem e verificar que você tem permissão para distribuir os arquivos. Confira <link>nosso anúncio sobre este novo sistema</link> para saber mais!"
},
"project.settings.permissions.info-banner.title": {
"message": "Saiba como atribuições funcionam"
"message": "Saiba mais sobre permissões de distribuição"
},
"project.settings.permissions.learn-more": {
"message": "Saber mais"
},
"project.settings.permissions.no-results": {
"message": "Nenhum arquivo externo corresponde à sua busca."
},
"project.settings.permissions.not-allowed.description": {
"message": "Alguns dos conteúdos externos incluídos não podem ser distribuídos no Modrinth porque violam nossas Regras de Conteúdo e devem ser removidos."
},
"project.settings.permissions.pending-approval-count": {
"message": "{count, plural, =0 {Nenhuma atribuição precisa de aprovação} one {# atribuição precisa de aprovação} other {# atribuições precisam de aprovação}}"
},
"project.settings.permissions.search-placeholder": {
"message": "Buscar {count} {count, plural,one {projeto externo} other {projetos externos}}..."
"message": "Buscar {count} {count, plural, one {projeto} other {projetos}}..."
},
"project.settings.permissions.sort.most-files": {
"message": "Maioria dos arquivos"
},
"project.settings.permissions.sort.recently-edited": {
"message": "Editado recentemente"
},
"project.settings.permissions.sort.rejected": {
"message": "Rejeitado"
},
"project.settings.permissions.sort.status": {
"message": "Status"
},
"project.settings.title": {
"message": "Configurações"
@@ -3956,6 +4070,48 @@
"settings.account.security.email.title": {
"message": "E-mail"
},
"settings.account.security.passkey.add": {
"message": "Adicionar chave de acesso"
},
"settings.account.security.passkey.add-modal.name.description": {
"message": "Certifique-se de adicionar algo memorável, para poder identificar mais tarde."
},
"settings.account.security.passkey.add-modal.name.label": {
"message": "Nome"
},
"settings.account.security.passkey.add-modal.name.placeholder": {
"message": "Minha chave de acesso"
},
"settings.account.security.passkey.description": {
"message": "Gerencie suas chaves de acesso registradas ou adicione uma nova."
},
"settings.account.security.passkey.modal.added": {
"message": "Adicionado {ago}"
},
"settings.account.security.passkey.modal.last-used": {
"message": "Usado pela última vez em {ago}"
},
"settings.account.security.passkey.modal.loading": {
"message": "Carregando chaves de acesso…"
},
"settings.account.security.passkey.modal.never-used": {
"message": "Nunca usado"
},
"settings.account.security.passkey.modal.no-passkeys": {
"message": "Você não possui chaves de acesso registradas."
},
"settings.account.security.passkey.remove.description": {
"message": "Isso removerá permanentemente a chave de acesso \"{name}\". Você não poderá mais entrar usando ela."
},
"settings.account.security.passkey.remove.title": {
"message": "Tem certeza que quer remover esta chave de acesso?"
},
"settings.account.security.passkey.rename-modal.header": {
"message": "Renomear chave de acesso"
},
"settings.account.security.passkey.title": {
"message": "Gerenciar chaves de acesso"
},
"settings.account.security.password.action.add": {
"message": "Adicionar senha"
},
@@ -4568,6 +4724,48 @@
"ui.newsletter-button.tooltip": {
"message": "Inscreva-se no boletim informativo do Modrinth"
},
"version.all-versions": {
"message": "Todas as versões"
},
"version.confirm-delete.description": {
"message": "Esta versão será excluída permanentemente. Esta ação não pode ser desfeita."
},
"version.confirm-delete.proceed": {
"message": "Excluir versão"
},
"version.confirm-delete.title": {
"message": "Tem certeza de que deseja excluir esta versão?"
},
"version.dependency.view-project": {
"message": "Ver projeto"
},
"version.dependency.view-version": {
"message": "Ver versão"
},
"version.download.download-dependency": {
"message": "Baixar dependência"
},
"version.download.no-primary-file": {
"message": "Erro: Nenhum arquivo primário encontrado"
},
"version.download.optional-resource-pack": {
"message": "Pacote de recursos opcional"
},
"version.download.required-resource-pack": {
"message": "Pacote de recursos necessário"
},
"version.edit.button": {
"message": "Editar"
},
"version.edit.details": {
"message": "Editar detalhes"
},
"version.edit.files": {
"message": "Editar arquivos"
},
"version.edit.metadata": {
"message": "Editar metadados"
},
"version.environment.none.description": {
"message": "O ambiente para esta versão não foi especificado."
},
@@ -4579,5 +4777,56 @@
},
"version.environment.unknown.title": {
"message": "Ambiente desconhecido"
},
"version.package-as-mod.button": {
"message": "Empacotar como mod"
},
"version.package-as-mod.description": {
"message": "Isso criará uma versão com suporte para os carregadores de mods selecionados. Você será redirecionado para a nova versão e poderá editá-la como quiser."
},
"version.package-as-mod.header": {
"message": "Empacotar pacote de dados como mod"
},
"version.package-as-mod.mod-loaders": {
"message": "Carregadores de mods"
},
"version.package-as-mod.mod-loaders.description": {
"message": "Os carregadores de mods para os quais você gostaria de empacotar seu pacote de dados."
},
"version.package-as-mod.mod-loaders.placeholder": {
"message": "Escolher carregadores de mods..."
},
"version.package-as-mod.submit-button": {
"message": "Empacotar pacote de dados"
},
"version.section.content.dev-info": {
"message": "Informações do desenvolvedor"
},
"version.section.content.dev-info.gradle-snippet": {
"message": "build.gradle:"
},
"version.section.content.dev-info.maven-coordinates": {
"message": "Coordenadas do Maven:"
},
"version.section.content.dev-info.maven-description": {
"message": "Os projetos no Modrinth são disponibilizados automaticamente através de um repositório Maven para uso com ferramentas de compilação JVM, como o <gradle-link>Gradle</gradle-link>. Para saber mais sobre a API Maven do Modrinth, <article-link>clique aqui</article-link>."
},
"version.section.content.dev-info.maven-note": {
"message": "Nota: Quando disponível, você deve usar o repositório Maven do criador, pois ele conterá informações de dependências transitivas que a API Maven do Modrinth não possui. Você também pode acabar com dependências duplicadas se usar uma mistura de repositórios Maven do Modrinth e de fora do Modrinth para suas dependências, porque o identificador de grupo (group identifier) será diferente quando servido através da API Maven do Modrinth."
},
"version.section.content.dev-info.version-id": {
"message": "ID da versão:"
},
"version.supplementary-resources.copy-hash-sha1": {
"message": "Copiar SHA-1"
},
"version.supplementary-resources.copy-hash-sha512": {
"message": "Copiar SHA-512"
},
"version.unknown-embedded-content.description": {
"message": "Esta versão está atualmente retida e não está listada publicamente. Por favor, forneça comprovante de que você tem permissão para redistribuir determinados arquivos incluídos."
},
"version.unknown-embedded-content.title": {
"message": "Retido devido a conteúdo incorporado desconhecido"
}
}
@@ -254,18 +254,9 @@
"auth.reset-password.title.long": {
"message": "Redefine a tua palavra-passe"
},
"auth.sign-in.2fa.description": {
"message": "Insere um código de dois fatores para continuar."
},
"auth.sign-in.2fa.label": {
"message": "Autenticação de dois fatores"
},
"auth.sign-in.2fa.placeholder": {
"message": "Inserir código..."
},
"auth.sign-in.sign-in-with": {
"message": "Iniciar sessão com"
},
"auth.sign-in.title": {
"message": "Iniciar sessão"
},
@@ -278,9 +269,6 @@
"auth.sign-up.title": {
"message": "Criar conta"
},
"auth.sign-up.title.sign-up-with": {
"message": "Criar conta com"
},
"auth.verify-email.action.account-settings": {
"message": "Definições de conta"
},
@@ -833,18 +821,6 @@
"dashboard.projects.links.wiki-page.label": {
"message": "Página da Wiki"
},
"dashboard.projects.sort.option.name": {
"message": "Nome"
},
"dashboard.projects.sort.option.status": {
"message": "Status"
},
"dashboard.projects.sort.option.type": {
"message": "Tipo"
},
"dashboard.projects.table.icon": {
"message": "Ícone"
},
"dashboard.projects.table.id": {
"message": "ID"
},
@@ -248,18 +248,9 @@
"auth.reset-password.title.long": {
"message": "Resetează-ți parola"
},
"auth.sign-in.2fa.description": {
"message": "Te rugăm să introduci codul de autorizare în doi pași (2FA) pentru a continua."
},
"auth.sign-in.2fa.label": {
"message": "Introduceți codul 2FA"
},
"auth.sign-in.2fa.placeholder": {
"message": "Introdu codul..."
},
"auth.sign-in.sign-in-with": {
"message": "Conectează-te cu"
},
"auth.sign-in.title": {
"message": "Conectare"
},
@@ -272,9 +263,6 @@
"auth.sign-up.title": {
"message": "Înregistrare"
},
"auth.sign-up.title.sign-up-with": {
"message": "Înregistrare cu"
},
"auth.verify-email.action.account-settings": {
"message": "Setările contului"
},
+293 -38
View File
@@ -23,6 +23,15 @@
"analytics.breakdown.country": {
"message": "Страна"
},
"analytics.breakdown.dependent-on": {
"message": "Зависит от"
},
"analytics.breakdown.dependent-project-download": {
"message": "Зависимый проект"
},
"analytics.breakdown.dependent-project-type": {
"message": "Тип зависимого проекта"
},
"analytics.breakdown.download-reason": {
"message": "Причина скачивания"
},
@@ -147,7 +156,7 @@
"message": "Зависит от {project}"
},
"analytics.chart.tooltip.dependent-project-version": {
"message": "{dependentProject} зависит от {dependencyProject} версии {version}"
"message": "{dependentProject} зависит от {dependencyProject}, версия {version}"
},
"analytics.chart.tooltip.duration.days": {
"message": "{count, plural, one {# день} few {# дня} other {# дней}}"
@@ -491,6 +500,9 @@
"analytics.value.no-dependent": {
"message": "Нет"
},
"analytics.value.no-dependent-tooltip": {
"message": "Скачано по иным причинам — не как зависимость"
},
"analytics.value.none": {
"message": "Нет"
},
@@ -713,12 +725,72 @@
"auth.authorize.authorize-app-name": {
"message": "Авторизация {appName}"
},
"auth.authorize.error.missing-parameters": {
"message": "Отсутствуют обязательные параметры запроса OAuth."
},
"auth.authorize.error.no-redirect-url": {
"message": "В ответе не найдена информация для перенаправления"
},
"auth.authorize.errro-title": {
"message": "Произошла ошибка"
},
"auth.authorize.redirect-url": {
"message": "Вы будете перенаправлены на <redirect-url>{url}</redirect-url>"
},
"auth.continue-with-provider": {
"message": "Продолжить с {provider}"
},
"auth.create-account.age-requirement.warning-title": {
"message": "Возрастное ограничение"
},
"auth.create-account.complete-sign-up": {
"message": "Завершить регистрацию"
},
"auth.create-account.date-of-birth.invalid.text": {
"message": "Введите корректную дату рождения."
},
"auth.create-account.date-of-birth.invalid.title": {
"message": "Неверная дата рождения"
},
"auth.create-account.date-of-birth.label": {
"message": "Дата рождения"
},
"auth.create-account.date-of-birth.placeholder": {
"message": "Укажите дату рождения"
},
"auth.create-account.date-of-birth.required.text": {
"message": "Сначала укажите дату рождения."
},
"auth.create-account.date-of-birth.required.title": {
"message": "Необходима дата рождения"
},
"auth.create-account.date-of-birth.under13-helper": {
"message": "Вы не подходите по возрастным требованиям для создания аккаунта на Modrinth."
},
"auth.create-account.info-panel.source-code-link": {
"message": "Соответствующий исходный код"
},
"auth.create-account.info-panel.text": {
"message": "Мы не храним вашу дату рождения. Она используется только при регистрации для соблюдения закона COPPA."
},
"auth.create-account.page-title": {
"message": "Создание аккаунта"
},
"auth.create-account.security-check.label": {
"message": "Проверка безопасности"
},
"auth.create-account.subscribe.label": {
"message": "Держите меня в курсе всего крутого, над чем работает Modrinth"
},
"auth.create-account.title": {
"message": "Создание аккаунта"
},
"auth.create-account.username.label": {
"message": "Имя пользователя"
},
"auth.create-account.username.placeholder": {
"message": "Введите имя"
},
"auth.reset-password.method-choice.action": {
"message": "Отправить письмо"
},
@@ -753,7 +825,7 @@
"message": "Сброс пароля"
},
"auth.sign-in.2fa.description": {
"message": "Введите код подтверждения из приложения."
"message": "Введите 6-значный код в вашем аутентификаторе, или один из резервных кодов."
},
"auth.sign-in.2fa.label": {
"message": "Двухфакторная аутентификация"
@@ -761,15 +833,45 @@
"auth.sign-in.2fa.placeholder": {
"message": "Введите код..."
},
"auth.sign-in.continue-with-email": {
"message": "Продолжить с почтой"
},
"auth.sign-in.continue-with-passkey": {
"message": "Продолжить с ключом доступа"
},
"auth.sign-in.create-account": {
"message": "Зарегистрироваться"
},
"auth.sign-in.forgot-password": {
"message": "Забыли пароль"
},
"auth.sign-in.last-sign-in": {
"message": "Активность"
},
"auth.sign-in.no-account": {
"message": "Нет аккаунта?"
},
"auth.sign-in.sign-in-with": {
"message": "Войдите через"
"message": "Вход на Modrinth"
},
"auth.sign-in.title": {
"message": "Вход"
},
"auth.sign-up.age-requirement.warning-title": {
"message": "Возрастное ограничение"
},
"auth.sign-up.continue-with-email": {
"message": "Продолжить с почтой"
},
"auth.sign-up.legal-dislaimer": {
"message": "Регистрируясь, вы принимаете наши <terms-link>условия</terms-link> и <privacy-policy-link>политику конфиденци­аль­ности</privacy-policy-link>."
},
"auth.sign-up.show-fewer-options": {
"message": "Меньше вариантов"
},
"auth.sign-up.show-other-options": {
"message": "Другие варианты"
},
"auth.sign-up.sign-in-option.title": {
"message": "Уже есть аккаунт?"
},
@@ -777,11 +879,14 @@
"message": "Регистрация"
},
"auth.sign-up.title.sign-up-with": {
"message": "Зарегистрируйтесь через"
"message": "Создать аккаунт"
},
"auth.verify-email.action.account-settings": {
"message": "Настройки аккаунта"
},
"auth.verify-email.action.discover-mods": {
"message": "Найти моды"
},
"auth.verify-email.already-verified.description": {
"message": "Ваша почта уже подтверждена!"
},
@@ -800,6 +905,15 @@
"auth.verify-email.failed-verification.title": {
"message": "Ошибка подтверждения"
},
"auth.verify-email.notification.email-sent.description": {
"message": "На {email} было отправлено письмо со ссылкой для подтверждения аккаунта."
},
"auth.verify-email.notification.email-sent.title": {
"message": "Письмо отправлено"
},
"auth.verify-email.notification.error-occurred.title": {
"message": "Произошла ошибка"
},
"auth.verify-email.post-verification.description": {
"message": "Адрес электронной почты успешно подтверждён!"
},
@@ -1514,9 +1628,6 @@
"dashboard.overview.notifications.loading": {
"message": "Загрузка уведомлений..."
},
"dashboard.projects.bulk-edit-hint": {
"message": "Можно редактировать сразу несколько проектов, выбрав их ниже."
},
"dashboard.projects.bulk-edit.server-disabled": {
"message": "Серверные проекты не поддерживают массовое редактирование"
},
@@ -1592,24 +1703,6 @@
"dashboard.projects.project.review-environment-metadata": {
"message": "Проверьте метаданные среды"
},
"dashboard.projects.sort.ascending": {
"message": "По возрастанию"
},
"dashboard.projects.sort.descending": {
"message": "По убыванию"
},
"dashboard.projects.sort.option.name": {
"message": "Название"
},
"dashboard.projects.sort.option.status": {
"message": "Статус"
},
"dashboard.projects.sort.option.type": {
"message": "Тип"
},
"dashboard.projects.table.icon": {
"message": "Иконка"
},
"dashboard.projects.table.id": {
"message": "ID"
},
@@ -3267,7 +3360,7 @@
"message": "Ваш проект не будет отображаться публично и будет доступен только по прямой ссылке.{requestedStatus, select, unlisted { В соответствии с выбранными вами <visibility-settings-link>настройками видимости</visibility-settings-link>, скорее всего, никаких действий не требуется.} other { Пожалуйста, устраните все замечания модерации, включая указанные в сообщениях ниже, прежде чем повторно отправлять проект на проверку.}}"
},
"project.moderation.admonition.withheld.header": {
"message": "Скрыто командой Modrinth"
"message": "Скрыт модератором"
},
"project.moderation.error.unauthorized": {
"message": "Нет доступа"
@@ -3351,43 +3444,70 @@
"message": "URL"
},
"project.settings.permissions.attention-needed.description.proj-approved": {
"message": "Пожалуйста, предоставьте доказательства, что у вас есть разрешение на распространение всех следующих файлов, а также любые скрытые версии будут опубликованы."
"message": "Пожалуйста, предоставьте доказательства, что у вас есть разрешение на распространение всех следующих файлов. После этого скрытые версии будут опубликованы."
},
"project.settings.permissions.attention-needed.description.proj-draft": {
"message": "Прежде чем отправить проект на рассмотрение, пожалуйста, подтвердите наличие у вас разрешения на распространение всех перечисленных ниже файлов."
"message": "Прежде чем отправить проект на рассмотрение, подтвердите наличие у вас разрешения на распространение всех перечисленных ниже файлов."
},
"project.settings.permissions.attention-needed.title": {
"message": "Неизвестный встроенный контент"
"message": "Неизвестный внешний контент"
},
"project.settings.permissions.bad-proof.description": {
"message": "Команда модераторов Modrinth отклонила предоставленные вами данные для разрешения доступа к некоторому стороннему контенту. Пожалуйста, просмотрите список отклоненных материалов ниже и предоставьте убедительные доказательства или удалите контент."
},
"project.settings.permissions.bad-proof.title": {
"message": "Часть доказательств отклонена"
},
"project.settings.permissions.collapse-all": {
"message": "Свернуть всё"
},
"project.settings.permissions.completed.description": {
"message": "Весь внешний контент сопровождается указанием авторства."
"message": "Для всего стороннего контента указаны разрешения и источники."
},
"project.settings.permissions.completed.title": {
"message": "Указание авторства завершено!"
"message": "Разрешения получены!"
},
"project.settings.permissions.empty-state.description": {
"message": "Ни одна из ваших версий не содержит внешнего контента, поэтому вам не нужно беспокоиться о получении разрешений."
"message": "Ни одна из версий вашего проекта не содержит внешнего контента, поэтому вам не нужно беспокоиться о получении разрешений."
},
"project.settings.permissions.empty-state.heading": {
"message": "Всё подтверждено!"
},
"project.settings.permissions.expand-all": {
"message": "Развернуть всё"
},
"project.settings.permissions.fail.description": {
"message": "Вам запрещено распространять часть добавленного вами внешнего контента. Для публикации на Modrinth удалите контент, нарушающий авторские права."
"message": "Возможно, у вас нет разрешения на распространение части стороннего контента в вашем проекте. Чтобы опубликовать проект на Modrinth, удалите этот контент или предоставьте доказательства того, что у вас есть разрешение на его использование."
},
"project.settings.permissions.fail.title": {
"message": "Некоторый контент не может быть включён"
},
"project.settings.permissions.info-banner.description": {
"message": "Если вы используете контент, который не размещен на Modrinth, вам необходимо сообщить нам, откуда он взят, и подтвердить наличие у вас разрешения на распространение файлов. Ознакомьтесь с <link>нашим руководством</link>, чтобы узнать, как это сделать правильно!"
},
"project.settings.permissions.info-banner.title": {
"message": "Узнайте, как работает атрибуция"
"message": "Узнайте о разрешениях на распространение"
},
"project.settings.permissions.learn-more": {
"message": "Подробнее"
},
"project.settings.permissions.no-results": {
"message": "Сторонние файлы не найдены."
},
"project.settings.permissions.not-allowed.description": {
"message": "Часть внешнего контента не может распространяться на Modrinth за нарушение правил контента и должна быть удалена."
},
"project.settings.permissions.search-placeholder": {
"message": "Поиск среди {count} {count, plural, one {внешнего проекта} other {внешних проектов}}..."
"message": "Поиск по {count, plural, one {# проекту} other {# проектам}}..."
},
"project.settings.permissions.sort.most-files": {
"message": "Количество файлов"
},
"project.settings.permissions.sort.recently-edited": {
"message": "Дата изменения"
},
"project.settings.permissions.sort.rejected": {
"message": "Отклонённые"
},
"project.settings.permissions.sort.status": {
"message": "Статус"
},
"project.settings.title": {
"message": "Настройки"
@@ -3929,6 +4049,48 @@
"settings.account.security.email.title": {
"message": "Почта"
},
"settings.account.security.passkey.add": {
"message": "Добавить ключ доступа"
},
"settings.account.security.passkey.add-modal.name.description": {
"message": "Выберите что-то запоминающееся, чтобы потом опознать этот ключ доступа."
},
"settings.account.security.passkey.add-modal.name.label": {
"message": "Название"
},
"settings.account.security.passkey.add-modal.name.placeholder": {
"message": "Мой ключ доступа"
},
"settings.account.security.passkey.description": {
"message": "Управляйте вашими кодами доступа, или добавьте новый."
},
"settings.account.security.passkey.modal.added": {
"message": "Добавлен {ago}"
},
"settings.account.security.passkey.modal.last-used": {
"message": "Активность {ago}"
},
"settings.account.security.passkey.modal.loading": {
"message": "Загрузка ключей доступа…"
},
"settings.account.security.passkey.modal.never-used": {
"message": "Не использовался"
},
"settings.account.security.passkey.modal.no-passkeys": {
"message": "Ключи доступа отсутствуют."
},
"settings.account.security.passkey.remove.description": {
"message": "Ключ доступа «{name}» будет удалён навсегда. Им нельзя будет воспользоваться для входа."
},
"settings.account.security.passkey.remove.title": {
"message": "Вы действительно хотите удалить этот ключ доступа?"
},
"settings.account.security.passkey.rename-modal.header": {
"message": "Переименовать ключ доступа"
},
"settings.account.security.passkey.title": {
"message": "Управление ключами доступа"
},
"settings.account.security.password.action.add": {
"message": "Добавить пароль"
},
@@ -4535,6 +4697,48 @@
"ui.newsletter-button.tooltip": {
"message": "Подписаться на рассылку от Modrinth"
},
"version.all-versions": {
"message": "Все версии"
},
"version.confirm-delete.description": {
"message": "Эта версия будет удалена навсегда. Отменить это действие нельзя."
},
"version.confirm-delete.proceed": {
"message": "Удалить версию"
},
"version.confirm-delete.title": {
"message": "Вы действительно хотите удалить эту версию?"
},
"version.dependency.view-project": {
"message": "Посмотреть проект"
},
"version.dependency.view-version": {
"message": "Посмотреть версию"
},
"version.download.download-dependency": {
"message": "Скачать зависимость"
},
"version.download.no-primary-file": {
"message": "Ошибка: основной файл не найден"
},
"version.download.optional-resource-pack": {
"message": "Необязательный набор ресурсов"
},
"version.download.required-resource-pack": {
"message": "Необходимый набор ресурсов"
},
"version.edit.button": {
"message": "Изменить"
},
"version.edit.details": {
"message": "Изменить сведения"
},
"version.edit.files": {
"message": "Изменить файлы"
},
"version.edit.metadata": {
"message": "Изменить метаданные"
},
"version.environment.none.description": {
"message": "Среда для этой версии не указана."
},
@@ -4546,5 +4750,56 @@
},
"version.environment.unknown.title": {
"message": "Неизвестная среда"
},
"version.package-as-mod.button": {
"message": "Собрать в мод"
},
"version.package-as-mod.description": {
"message": "Это создаст новую версию с поддержкой выбранного загрузчика. Вас перенаправит на новую версию и сможете изменить её по своему усмотрению."
},
"version.package-as-mod.header": {
"message": "Сборка набора данных в мод"
},
"version.package-as-mod.mod-loaders": {
"message": "Загрузчики"
},
"version.package-as-mod.mod-loaders.description": {
"message": "Загрузчики, для которых вы хотите собрать набор данных."
},
"version.package-as-mod.mod-loaders.placeholder": {
"message": "Выберите загрузчики..."
},
"version.package-as-mod.submit-button": {
"message": "Собрать набор данных"
},
"version.section.content.dev-info": {
"message": "Для разработчиков"
},
"version.section.content.dev-info.gradle-snippet": {
"message": "build.gradle:"
},
"version.section.content.dev-info.maven-coordinates": {
"message": "Координаты Maven:"
},
"version.section.content.dev-info.maven-description": {
"message": "Проекты на Modrinth автоматически доступны через репозиторий Maven для использования с инструментами сборки JVM, такими как <gradle-link>Gradle</gradle-link>. Чтобы узнать больше о Modrinth Maven API, <article-link>нажмите сюда</article-link>."
},
"version.section.content.dev-info.maven-note": {
"message": "Примечание: По возможности следует использовать Maven-репозиторий самого автора, так как он содержит информацию о транзитивных зависимостях, которой нет у Modrinth Maven API. Кроме того, вы можете столкнуться с дублированием зависимостей, если будете одновременно использовать Maven-репозитории Modrinth и сторонние репозитории для своих зависимостей, поскольку идентификатор группы будет отличаться при их получении через Modrinth Maven API."
},
"version.section.content.dev-info.version-id": {
"message": "ID версии:"
},
"version.supplementary-resources.copy-hash-sha1": {
"message": "Копировать SHA-1"
},
"version.supplementary-resources.copy-hash-sha512": {
"message": "Копировать SHA-512"
},
"version.unknown-embedded-content.description": {
"message": "Эта версия скрыта и не отображается. Предоставьте доказательства наличия разрешения на распространение некоторых файлов."
},
"version.unknown-embedded-content.title": {
"message": "Скрыто из-за неизвестного встроенного контента"
}
}
+55 -13
View File
@@ -8,6 +8,27 @@
"admin.billing.error.not-found": {
"message": "Korisnik nije pronađen"
},
"analytics.action.add": {
"message": "Dodaj"
},
"analytics.action.cancel": {
"message": "Otkaži"
},
"analytics.action.refresh": {
"message": "Osveži"
},
"analytics.action.reset": {
"message": "Resetiraj"
},
"analytics.breakdown.country": {
"message": "Država"
},
"analytics.chart.axis.playtime-hours": {
"message": "{hours} sati"
},
"analytics.chart.controls.active-count": {
"message": "{count} aktivnih"
},
"app-marketing.download.description": {
"message": "Naša desktop aplikacija je dostupna na svim platformama, izaberite željenu verziju."
},
@@ -60,7 +81,7 @@
"message": "Deli"
},
"app-marketing.hero.download-button": {
"message": "Preuzmite aplikaciju Modrint"
"message": "Preuzmite aplikaciju Modrinth"
},
"auth.authorize.action.authorize": {
"message": "Odobri"
@@ -113,18 +134,9 @@
"auth.reset-password.title.long": {
"message": "Resetujte svoju lozinku"
},
"auth.sign-in.2fa.description": {
"message": "Unesite kod za dvofaktorsku autentifikaciju da biste nastavili."
},
"auth.sign-in.2fa.label": {
"message": "Unesite kod za dvofaktorsku autentifikaciju"
},
"auth.sign-in.2fa.placeholder": {
"message": "Unesite kod..."
},
"auth.sign-in.sign-in-with": {
"message": "Prijavi se sa"
},
"auth.sign-in.title": {
"message": "Prijavi se"
},
@@ -137,9 +149,6 @@
"auth.sign-up.title": {
"message": "Registracija"
},
"auth.sign-up.title.sign-up-with": {
"message": "Prijavite se sa"
},
"auth.verify-email.action.account-settings": {
"message": "Podešavanja naloga"
},
@@ -1135,5 +1144,38 @@
},
"settings.sessions.unknown-platform": {
"message": "Nepoznata platforma"
},
"version.package-as-mod.submit-button": {
"message": "Spakiraj data pack"
},
"version.section.content.dev-info": {
"message": "Informacije sa programere"
},
"version.section.content.dev-info.gradle-snippet": {
"message": "sastavi sa gradle:"
},
"version.section.content.dev-info.maven-coordinates": {
"message": "Maven koordinate:"
},
"version.section.content.dev-info.maven-description": {
"message": "Projekti na Modrinthu su automatski dostupni putem Maven spremišta za korišćenje sa JVM alatima za izgradnju, kao što je <gradle-link>Gradle</gradle-link>. Da biste saznali više o Modrinth Maven API-ju, <article-link>kliknite ovde</article-link>."
},
"version.section.content.dev-info.maven-note": {
"message": "Napomena: Kada je dostupan, trebalo bi da koristite Maven repozitorijum autora umesto njega, jer će on imati informacije o tranzitivnim zavisnostima koje Modrinth Maven API nema. Takođe možete završiti sa dupliranim zavisnostima ako koristite kombinaciju Modrinth i ne-Modrinth Maven repozitorijuma za vaše zavisnosti, jer će identifikator grupe biti drugačiji kada se služi preko Modrinth Maven API-ja."
},
"version.section.content.dev-info.version-id": {
"message": "ID verzije:"
},
"version.supplementary-resources.copy-hash-sha1": {
"message": "Kopiraj SHA-1"
},
"version.supplementary-resources.copy-hash-sha512": {
"message": "Kopiraj SHA-512"
},
"version.unknown-embedded-content.description": {
"message": "Ova verzija je trenutno zadržana i nije javno objavljena. Molimo vas da dostavite dokaz da imate dozvolu za redistribuciju određenih uključenih datoteka."
},
"version.unknown-embedded-content.title": {
"message": "Zadržan sadržaj zbog nepoznatog ugrađenog sadržaja"
}
}
+91 -22
View File
@@ -194,9 +194,15 @@
"analytics.filter.search.countries": {
"message": "Sök länder..."
},
"analytics.filter.search.dependent-projects": {
"message": "Sök efter projekt..."
},
"analytics.filter.search.download-sources": {
"message": "Sök nedladdningskällor..."
},
"analytics.filter.search.members": {
"message": "Sök efter medlemmar..."
},
"analytics.filter.search.project-versions": {
"message": "Sök projektversioner..."
},
@@ -272,6 +278,9 @@
"analytics.project-event.project-unlisted": {
"message": "Projekt är avlistat"
},
"analytics.project-event.version-released": {
"message": "{version} släpptes"
},
"analytics.project-status.approved": {
"message": "Godkänd"
},
@@ -398,6 +407,9 @@
"analytics.title": {
"message": "Statistik"
},
"analytics.value.no-dependent": {
"message": "Ingen"
},
"analytics.value.none": {
"message": "Ingen"
},
@@ -623,6 +635,18 @@
"auth.authorize.redirect-url": {
"message": "Du kommer bli flyttad till <redirect-url>{url}</redirect-url>"
},
"auth.create-account.page-title": {
"message": "Skapa konto"
},
"auth.create-account.title": {
"message": "Skapa ett konto"
},
"auth.create-account.username.label": {
"message": "Användarnamn"
},
"auth.create-account.username.placeholder": {
"message": "Ange användarnamn"
},
"auth.reset-password.method-choice.action": {
"message": "Skicka återställningsmejl"
},
@@ -657,23 +681,53 @@
"message": "Återställ ditt lösenord"
},
"auth.sign-in.2fa.description": {
"message": "Ange din tvåfaktorskod för att fortsätta."
"message": "Ange 6-siffriga koden från din autentiseringsapp, eller en av dina reservkoder."
},
"auth.sign-in.2fa.label": {
"message": "Ange tvåfaktorskod"
"message": "Tvåfaktorsautentisering"
},
"auth.sign-in.2fa.placeholder": {
"message": "Ange kod..."
},
"auth.sign-in.continue-with-email": {
"message": "Fortsätt med e-post"
},
"auth.sign-in.continue-with-passkey": {
"message": "Fortsätt med passkey"
},
"auth.sign-in.create-account": {
"message": "Registrera"
},
"auth.sign-in.forgot-password": {
"message": "Glömt lösenord"
},
"auth.sign-in.last-sign-in": {
"message": "Användes senast"
},
"auth.sign-in.no-account": {
"message": "Har du inget konto?"
},
"auth.sign-in.sign-in-with": {
"message": "Logga in med"
"message": "Logga in på Modrinth"
},
"auth.sign-in.title": {
"message": "Logga in"
},
"auth.sign-up.age-requirement.warning-title": {
"message": "Ålderskrav"
},
"auth.sign-up.continue-with-email": {
"message": "Fortsätt med e-post"
},
"auth.sign-up.legal-dislaimer": {
"message": "Genom att skapa ett konto godkänner du Modrinths <terms-link>villkor</terms-link> och <privacy-policy-link>sekretesspolicy</privacy-policy-link>."
},
"auth.sign-up.show-fewer-options": {
"message": "Visa färre inloggningsmetoder"
},
"auth.sign-up.show-other-options": {
"message": "Visa andra inloggningsmetoder"
},
"auth.sign-up.sign-in-option.title": {
"message": "Har du redan ett konto?"
},
@@ -681,11 +735,14 @@
"message": "Registrera dig"
},
"auth.sign-up.title.sign-up-with": {
"message": "Registrera dig med"
"message": "Skapa ett konto"
},
"auth.verify-email.action.account-settings": {
"message": "Kontoinställningar"
},
"auth.verify-email.action.discover-mods": {
"message": "Upptäck moddar"
},
"auth.verify-email.already-verified.description": {
"message": "Din e-post är redan verifierad!"
},
@@ -704,6 +761,15 @@
"auth.verify-email.failed-verification.title": {
"message": "Verifiering av e-post misslyckades"
},
"auth.verify-email.notification.email-sent.description": {
"message": "Ett e-postmeddelande med en verifieringslänk har skickats till {email}."
},
"auth.verify-email.notification.email-sent.title": {
"message": "E-postmeddelande skickat"
},
"auth.verify-email.notification.error-occurred.title": {
"message": "Ett fel inträffade"
},
"auth.verify-email.post-verification.description": {
"message": "Din e-postadress har verifierats!"
},
@@ -827,6 +893,18 @@
"conversation-thread.action.withhold": {
"message": "Tillhandahåll"
},
"conversation-thread.action.withhold-with-reply": {
"message": "Tillbakahåll med svar"
},
"conversation-thread.closed-thread.description": {
"message": "Den här tråden är stängd och nya meddelanden kan inte skickas."
},
"conversation-thread.error.closing-report": {
"message": "Fel vid stängning av rapport"
},
"conversation-thread.error.reopening-report": {
"message": "Fel vid öppning av rapport"
},
"conversation-thread.error.sending-message": {
"message": "Kunde inte skicka meddelande"
},
@@ -842,9 +920,15 @@
"conversation-thread.reply-modal.confirmation.label": {
"message": "Jag förstår att moderatorerna inte aktivt övervakar tråden."
},
"conversation-thread.reply-modal.description": {
"message": "Ditt projekt är redan godkänt. Moderatorteamet övervakar därför inte aktivt den här tråden. De kan dock fortfarande se ditt inlägg om det uppstår något problem med ditt projekt."
},
"conversation-thread.reply-modal.header": {
"message": "Svara tråden"
},
"conversation-thread.reply-modal.help-center-note": {
"message": "Ifall du behöver komma i kontakt med moderatorteamet, vänligen använd <help-center-link>Modrinth hjälpcenter</help-center-link> och klicka på den blåa bubblan nere till höger för att kontakta support."
},
"conversation-thread.resubmit-modal.confirmation.description": {
"message": "Bekräfta att jag tagit itu med meddelandena från moderatorerna"
},
@@ -1334,6 +1418,9 @@
"dashboard.discord-roles.role.big-creator": {
"message": "1 mn nedladdningar"
},
"dashboard.discord-roles.role.creator": {
"message": "Kreatör"
},
"dashboard.discord-roles.role.pride": {
"message": "Pride 2026"
},
@@ -1427,24 +1514,6 @@
"dashboard.projects.project.icon-alt": {
"message": "Ikon för {title}"
},
"dashboard.projects.sort.ascending": {
"message": "Stigande"
},
"dashboard.projects.sort.descending": {
"message": "Fallande"
},
"dashboard.projects.sort.option.name": {
"message": "Namn"
},
"dashboard.projects.sort.option.status": {
"message": "Status"
},
"dashboard.projects.sort.option.type": {
"message": "Typ"
},
"dashboard.projects.table.icon": {
"message": "Ikon"
},
"dashboard.projects.table.id": {
"message": "ID"
},
@@ -446,18 +446,9 @@
"auth.reset-password.title.long": {
"message": "ตั้งรหัสผ่านของคุณใหม่"
},
"auth.sign-in.2fa.description": {
"message": "โปรดป้อนรหัสการยืนยันตัวตนแบบ 2 ชั้นเพื่อดำเนินการต่อ"
},
"auth.sign-in.2fa.label": {
"message": "ป้อนรหัสการยืนยันตัวตนแบบ 2 ชั้น"
},
"auth.sign-in.2fa.placeholder": {
"message": "ป้อนรหัส"
},
"auth.sign-in.sign-in-with": {
"message": "ลงชื่อเข้าใช้ด้วย"
},
"auth.sign-in.title": {
"message": "ลงชื่อเข้าใช้"
},
@@ -470,9 +461,6 @@
"auth.sign-up.title": {
"message": "ลงทะเบียน"
},
"auth.sign-up.title.sign-up-with": {
"message": "สมัครใช้งานด้วย"
},
"auth.verify-email.action.account-settings": {
"message": "ตั้งค่าบัญชี"
},
+158 -53
View File
@@ -692,9 +692,57 @@
"auth.authorize.error.no-redirect-url": {
"message": "Yanıtta yönlendirme konumu bulunamadı"
},
"auth.authorize.errro-title": {
"message": "Bir hata ile karşılaşıldı"
},
"auth.authorize.redirect-url": {
"message": "<redirect-url>{url}</redirect-url> adresine yönlendirileceksiniz"
},
"auth.create-account.age-requirement.warning-title": {
"message": "Yaş gereksinimi"
},
"auth.create-account.complete-sign-up": {
"message": "Kaydolmayı bitir"
},
"auth.create-account.date-of-birth.invalid.text": {
"message": "Lütfen geçerli bir doğum tarihi girin. Doğum tarihiniz 0000 olamaz."
},
"auth.create-account.date-of-birth.invalid.title": {
"message": "Geçersiz doğum tarihi"
},
"auth.create-account.date-of-birth.label": {
"message": "Doğum tarihi"
},
"auth.create-account.date-of-birth.placeholder": {
"message": "Doğum tarihinizi seçin"
},
"auth.create-account.date-of-birth.required.text": {
"message": "Lütfen devam etmeden önce doğum tarihinizi girin."
},
"auth.create-account.date-of-birth.required.title": {
"message": "Doğum tarihi gerekli"
},
"auth.create-account.date-of-birth.under13-helper": {
"message": "Modrinth'de hesap oluşturmak için yaş gereksinimini karşılamıyorsunuz."
},
"auth.create-account.page-title": {
"message": "Hesap oluştur"
},
"auth.create-account.security-check.label": {
"message": "Güvenlik kontrolü"
},
"auth.create-account.subscribe.label": {
"message": "Modrinth'in çalıştığı güzel şeylerden beni email ile bilgilendir"
},
"auth.create-account.title": {
"message": "Hesap oluştur"
},
"auth.create-account.username.label": {
"message": "Kullanıcı adı"
},
"auth.create-account.username.placeholder": {
"message": "Kullanıcı adı giriniz"
},
"auth.reset-password.method-choice.action": {
"message": "Kurtarma e-postası gönder"
},
@@ -728,24 +776,51 @@
"auth.reset-password.title.long": {
"message": "Parolanızı sıfırlayın"
},
"auth.sign-in.2fa.description": {
"message": "Lütfen devam etmek için bir çift aşamalı kod girin."
},
"auth.sign-in.2fa.label": {
"message": "Çift aşamalı kodu girin"
"message": "İki aşamalı doğrulama"
},
"auth.sign-in.2fa.placeholder": {
"message": "Kodu girin..."
},
"auth.sign-in.continue-with-email": {
"message": "Email ile devam et"
},
"auth.sign-in.continue-with-passkey": {
"message": "Giriş anahtarı ile devam et"
},
"auth.sign-in.create-account": {
"message": "Kayıt ol"
},
"auth.sign-in.forgot-password": {
"message": "Şifremi unuttum"
},
"auth.sign-in.last-sign-in": {
"message": "Son kullanılan hesap"
},
"auth.sign-in.no-account": {
"message": "Hesabınız yok mu?"
},
"auth.sign-in.sign-in-with": {
"message": "Şununla giriş yap"
"message": "Modrinth'e giriş yapın"
},
"auth.sign-in.title": {
"message": "Giriş Yap"
},
"auth.sign-up.age-requirement.warning-title": {
"message": "Yaş zorunluluğu"
},
"auth.sign-up.continue-with-email": {
"message": "Email ile devam edin"
},
"auth.sign-up.legal-dislaimer": {
"message": "Bir hesap oluşturarak, Modrinth'in <terms-link>Kurallar</terms-link> ve <privacy-policy-link>Gizlilik İlkeleri </privacy-policy-link>'ni kabul etmiş bulunursunuz."
},
"auth.sign-up.show-fewer-options": {
"message": "Daha az seçenek göster"
},
"auth.sign-up.show-other-options": {
"message": "Diğer seçenekleri göster"
},
"auth.sign-up.sign-in-option.title": {
"message": "Zaten bir hesabınız var mı?"
},
@@ -753,11 +828,14 @@
"message": "Kaydol"
},
"auth.sign-up.title.sign-up-with": {
"message": "Şunlarla giriş yapın"
"message": "Hesap oluştur"
},
"auth.verify-email.action.account-settings": {
"message": "Hesap ayarları"
},
"auth.verify-email.action.discover-mods": {
"message": "Mod'ları keşfedin"
},
"auth.verify-email.already-verified.description": {
"message": "E-postan zaten doğrulanmış!"
},
@@ -776,6 +854,12 @@
"auth.verify-email.failed-verification.title": {
"message": "E-posta doğrulaması başarısız"
},
"auth.verify-email.notification.email-sent.title": {
"message": "Sana bir Email gönderdik"
},
"auth.verify-email.notification.error-occurred.title": {
"message": "Bir hata yaşandı"
},
"auth.verify-email.post-verification.description": {
"message": "E-posta adresiniz başarıyla doğrulandı!"
},
@@ -1490,9 +1574,6 @@
"dashboard.overview.notifications.loading": {
"message": "Bildirimler yükleniyor..."
},
"dashboard.projects.bulk-edit-hint": {
"message": "Aşağıdan seçerek birden fazla projeyi düzenleyebilirsiniz."
},
"dashboard.projects.bulk-edit.server-disabled": {
"message": "Sunucu projeleri toplu düzenlemeyi desteklemez"
},
@@ -1568,24 +1649,6 @@
"dashboard.projects.project.review-environment-metadata": {
"message": "Lütfen ortam meta verilerini inceleyin"
},
"dashboard.projects.sort.ascending": {
"message": "Artan"
},
"dashboard.projects.sort.descending": {
"message": "Azalan sırada sırala"
},
"dashboard.projects.sort.option.name": {
"message": "İsim"
},
"dashboard.projects.sort.option.status": {
"message": "Durum"
},
"dashboard.projects.sort.option.type": {
"message": "Tip"
},
"dashboard.projects.table.icon": {
"message": "Simge"
},
"dashboard.projects.table.id": {
"message": "Kimlik"
},
@@ -3317,44 +3380,32 @@
"project.settings.general.url.title": {
"message": "URL"
},
"project.settings.permissions.attention-needed.description.proj-approved": {
"message": "Lütfen aşağıdaki dosyaların tümünü yeniden dağıtma izniniz olduğuna dair kanıt sunun; böylece bekletilen tüm sürümler otomatik olarak yayınlanacaktır."
},
"project.settings.permissions.attention-needed.description.proj-draft": {
"message": "Projenizi inceleme için göndermeden önce, lütfen aşağıdaki dosyaların tümünü yeniden dağıtma izniniz olduğuna dair kanıt sunun."
},
"project.settings.permissions.attention-needed.title": {
"message": "Bilinmeyen gömülü içerik"
},
"project.settings.permissions.completed.description": {
"message": "Tüm harici içeriklere atıfta bulunulmuştur."
},
"project.settings.permissions.completed.title": {
"message": "Atamalar tamamlandı!"
},
"project.settings.permissions.empty-state.description": {
"message": "Sürümlerinizin hiçbiri harici içerik içermez, bu nedenle izin alma konusunda endişelenmenize gerek yoktur."
"message": "İzinler tamamlandı!"
},
"project.settings.permissions.empty-state.heading": {
"message": "Hazırsınız!"
},
"project.settings.permissions.fail.description": {
"message": "Eklediğiniz bazı harici içerikleri yeniden dağıtma izniniz yok. Modrinth'te yayınlamak için lütfen ihlalde bulunan içeriği kaldırın."
"project.settings.permissions.expand-all": {
"message": "Hepsini genişlet"
},
"project.settings.permissions.fail.title": {
"message": "Bazı içerikler dahil edilemez"
},
"project.settings.permissions.info-banner.description": {
"message": "Eğer Modrinth'te barındırılmayan içerik ekliyorsanız, bu içeriğin nereden geldiğini ve dosyaları dağıtmak için yetkininize sahip olduğunuzu bize bildirmelisiniz. Bunu nasıl doğru bir şekilde yapacağınızı öğrenmek için <link>rehberimizi</link> inceleyin!"
},
"project.settings.permissions.info-banner.title": {
"message": "Atıfların nasıl çalıştığını öğrenin"
},
"project.settings.permissions.learn-more": {
"message": "Daha Fazla Bilgi edinin"
},
"project.settings.permissions.search-placeholder": {
"message": "{count} {count, plural, one {harici proje} other {harici proje}} aranıyor..."
"project.settings.permissions.sort.most-files": {
"message": "Çoğu dosyalar"
},
"project.settings.permissions.sort.recently-edited": {
"message": "Yakın zamanda düzenlenenler"
},
"project.settings.permissions.sort.rejected": {
"message": "Reddedildi"
},
"project.settings.permissions.sort.status": {
"message": "Durum"
},
"project.settings.title": {
"message": "Ayarlar"
@@ -3914,6 +3965,42 @@
"settings.account.security.email.title": {
"message": "Eposta"
},
"settings.account.security.passkey.add": {
"message": "Giriş anahtarı ekle"
},
"settings.account.security.passkey.add-modal.name.description": {
"message": "Giriş anahtarınızı hatırlamanız için akılda kalıcı bir şey seçin."
},
"settings.account.security.passkey.add-modal.name.label": {
"message": "İsim"
},
"settings.account.security.passkey.add-modal.name.placeholder": {
"message": "Giriş anahtarım"
},
"settings.account.security.passkey.description": {
"message": "Giriş anahtarlarınızı yönetin, veya yeni bir tane ekleyin."
},
"settings.account.security.passkey.modal.added": {
"message": "{ago} eklendi"
},
"settings.account.security.passkey.modal.loading": {
"message": "Giriş anahtarları yükleniyor…"
},
"settings.account.security.passkey.modal.never-used": {
"message": "Hiçbir zaman kullanılmadı"
},
"settings.account.security.passkey.modal.no-passkeys": {
"message": "Hiçbir giriş anahtarın kayıtlı değil."
},
"settings.account.security.passkey.remove.title": {
"message": "Bu giriş anahtarını kaldırmak için emin misin?"
},
"settings.account.security.passkey.rename-modal.header": {
"message": "Giriş anahtarını yeniden adlandır"
},
"settings.account.security.passkey.title": {
"message": "Giriş anahtarlarını yönet"
},
"settings.account.security.password.action.add": {
"message": "Parola ekle"
},
@@ -4526,6 +4613,18 @@
"ui.newsletter-button.tooltip": {
"message": "Modrinth haber mektuplarına abone ol"
},
"version.all-versions": {
"message": "Tüm sürümler"
},
"version.confirm-delete.description": {
"message": "Bu sürüm kalıcı olarak silinecektir. Bu seçim geri alınamaz."
},
"version.confirm-delete.proceed": {
"message": "Sürümü sil"
},
"version.confirm-delete.title": {
"message": "Bu sürümü silmek istediğinizden emin misiniz?"
},
"version.environment.none.description": {
"message": "Bu sürüm için ortam belirtilmemiş."
},
@@ -4537,5 +4636,11 @@
},
"version.environment.unknown.title": {
"message": "Bilinmeyen ortam"
},
"version.package-as-mod.mod-loaders": {
"message": "Mod yükleyicileri"
},
"version.package-as-mod.mod-loaders.placeholder": {
"message": "Mod yükleyici seç..."
}
}
@@ -560,18 +560,9 @@
"auth.reset-password.title.long": {
"message": "Скидання пароля"
},
"auth.sign-in.2fa.description": {
"message": "Будь ласка, укажіть код двофакторної автентифікації, щоб продовжити."
},
"auth.sign-in.2fa.label": {
"message": "Укажіть код двофакторної автентифікації"
},
"auth.sign-in.2fa.placeholder": {
"message": "Уведіть код…"
},
"auth.sign-in.sign-in-with": {
"message": "Увійдіть за допомогою"
},
"auth.sign-in.title": {
"message": "Вхід"
},
@@ -584,9 +575,6 @@
"auth.sign-up.title": {
"message": "Реєстрація"
},
"auth.sign-up.title.sign-up-with": {
"message": "Реєстрація за допомогою"
},
"auth.verify-email.action.account-settings": {
"message": "Налаштування облікового запису"
},
@@ -1313,9 +1301,6 @@
"dashboard.overview.notifications.loading": {
"message": "Завантаження сповіщень…"
},
"dashboard.projects.bulk-edit-hint": {
"message": "Ви можете редагувати кілька проєктів одночасно, вибравши їх нижче."
},
"dashboard.projects.bulk-edit.server-disabled": {
"message": "Проєкти сервера не підтримують масове редагування"
},
@@ -1388,24 +1373,6 @@
"dashboard.projects.project.review-environment-metadata": {
"message": "Перегляньте метадані середовища"
},
"dashboard.projects.sort.ascending": {
"message": "Зростання"
},
"dashboard.projects.sort.descending": {
"message": "Спадання"
},
"dashboard.projects.sort.option.name": {
"message": "Назва"
},
"dashboard.projects.sort.option.status": {
"message": "Статус"
},
"dashboard.projects.sort.option.type": {
"message": "Тип"
},
"dashboard.projects.table.icon": {
"message": "Значок"
},
"dashboard.projects.table.id": {
"message": "ID"
},
@@ -3110,45 +3077,15 @@
"project.settings.general.url.title": {
"message": "URL"
},
"project.settings.permissions.attention-needed.description.proj-approved": {
"message": "Будь ласка, надайте підтвердження того, що ви маєте дозвіл на повторне розповсюдження всіх наведених нижче файлів, і будь-які приховані версії буде автоматично опубліковано."
},
"project.settings.permissions.attention-needed.description.proj-draft": {
"message": "Будь ласка, надайте підтвердження того, що у вас є дозвіл на повторне розповсюдження всіх наведених нижче файлів, перш ніж ви зможете подати свій проєкт на розгляд."
},
"project.settings.permissions.attention-needed.title": {
"message": "Невідомий убудований уміст"
},
"project.settings.permissions.completed.description": {
"message": "Весь зовнішній вміст має посилання на авторство."
},
"project.settings.permissions.completed.title": {
"message": "Авторство завершено!"
},
"project.settings.permissions.empty-state.description": {
"message": "Жодна з ваших версій не містить зовнішнього вмісту, тому вам не потрібно турбуватися про отримання дозволів."
},
"project.settings.permissions.empty-state.heading": {
"message": "Усе готово!"
},
"project.settings.permissions.fail.description": {
"message": "Ви не маєте дозволу на повторне розповсюдження зовнішнього вмісту, який ви додали. Щоб опублікувати на Modrinth, видаліть правопорушний вміст."
},
"project.settings.permissions.fail.title": {
"message": "Деякий уміст не можна включити"
},
"project.settings.permissions.info-banner.description": {
"message": "Якщо ви додаєте вміст, який не розміщено на Modrinth, вам потрібно повідомити нам, звідки він походить, і підтвердити, що у вас є дозвіл на розповсюдження файлів. Перегляньте <link>наш посібник</link>, щоб дізнатися, як це зробити правильно!"
},
"project.settings.permissions.info-banner.title": {
"message": "Дізнайтеся, як працює авторство"
},
"project.settings.permissions.learn-more": {
"message": "Дізнатися більше"
},
"project.settings.permissions.search-placeholder": {
"message": "Пошук {count} {count, plural, one {зовнішнього проєкту} few {зовнішніх проєктів} many {зовнішніх проєктів} other {зовнішніх проєктів}}…"
},
"project.settings.title": {
"message": "Налаштування"
},
@@ -728,18 +728,9 @@
"auth.reset-password.title.long": {
"message": "Đặt lại mật khẩu của bạn"
},
"auth.sign-in.2fa.description": {
"message": "Vui lòng nhập mã xác thực hai bước để tiếp tục."
},
"auth.sign-in.2fa.label": {
"message": "Nhập mã xác thực hai bước"
},
"auth.sign-in.2fa.placeholder": {
"message": "Nhập mã..."
},
"auth.sign-in.sign-in-with": {
"message": "Đăng nhập bằng"
},
"auth.sign-in.title": {
"message": "Đăng nhập"
},
@@ -752,9 +743,6 @@
"auth.sign-up.title": {
"message": "Đăng ký"
},
"auth.sign-up.title.sign-up-with": {
"message": "Đăng ký bằng"
},
"auth.verify-email.action.account-settings": {
"message": "Thiết đặt tài khoản"
},
@@ -1490,9 +1478,6 @@
"dashboard.overview.notifications.loading": {
"message": "Đang tải thông báo..."
},
"dashboard.projects.bulk-edit-hint": {
"message": "Bạn có thể sửa đổi nhiều dự án cùng một lúc bằng cách chọn chúng ở dưới."
},
"dashboard.projects.bulk-edit.server-disabled": {
"message": "Dự án máy chủ không hỗ trợ sửa đổi nhiều mục cùng một lúc"
},
@@ -1568,24 +1553,6 @@
"dashboard.projects.project.review-environment-metadata": {
"message": "Vui lòng xem lại thông tin dữ liệu"
},
"dashboard.projects.sort.ascending": {
"message": "Từ dưới lên"
},
"dashboard.projects.sort.descending": {
"message": "Từ trên xuống"
},
"dashboard.projects.sort.option.name": {
"message": "Tên"
},
"dashboard.projects.sort.option.status": {
"message": "Trạng thái"
},
"dashboard.projects.sort.option.type": {
"message": "Loại"
},
"dashboard.projects.table.icon": {
"message": "B.tượng"
},
"dashboard.projects.table.id": {
"message": "ID"
},
@@ -3326,45 +3293,15 @@
"project.settings.general.url.title": {
"message": "URL"
},
"project.settings.permissions.attention-needed.description.proj-approved": {
"message": "Vui lòng đưa ra bằng chứng cho rằng bạn có quyền để đăng lại mọi tệp trên và bất kỳ phiên bản nào bị giữ lại sẽ tự động được đăng tải."
},
"project.settings.permissions.attention-needed.description.proj-draft": {
"message": "Vui lòng đưa ra bằng chứng cho rằng bạn có quyền để đăng lại mọi tệp trên trước khi bạn có thể đăng tải để kiểm duyệt."
},
"project.settings.permissions.attention-needed.title": {
"message": "Nội dung nhúng không xác định"
},
"project.settings.permissions.completed.description": {
"message": "Mọi nội dung ngoài đều có sự quy kết."
},
"project.settings.permissions.completed.title": {
"message": "Đã hoàn thành quy kết!"
},
"project.settings.permissions.empty-state.description": {
"message": "Không phiên bản nào của bạn đều có nội dung ngoài, nên bạn không cần lo lắng về quyền."
},
"project.settings.permissions.empty-state.heading": {
"message": "Mọi thứ đều sẵn sàng!"
},
"project.settings.permissions.fail.description": {
"message": "Bạn không có quyền đăng tải một số nội dung bạn đã thêm. Để đăng lên Modrinth, xóa nội dung bản quyền."
},
"project.settings.permissions.fail.title": {
"message": "Một số nội dung không thể bao gồm"
},
"project.settings.permissions.info-banner.description": {
"message": "Nếu bạn đăng nội dung không dược chủ trì trên modrinth, bạn cần cho chúng tôi biết nó đến từ đâu và xác minh mạn có quyền để đăng tải những tệp đó. Hãy xem <link>hướng dẫn</link> để biết về cách làm điều này đúng cách!"
},
"project.settings.permissions.info-banner.title": {
"message": "Tìm hiểu cách quy kết hoạt động"
},
"project.settings.permissions.learn-more": {
"message": "Tìm hiểu thêm"
},
"project.settings.permissions.search-placeholder": {
"message": "Tìm kiếm trong {count} {count, plural,other {dự án ngoài}}..."
},
"project.settings.title": {
"message": "Cài đặt"
},
+346 -55
View File
@@ -23,6 +23,15 @@
"analytics.breakdown.country": {
"message": "国家和地区"
},
"analytics.breakdown.dependent-on": {
"message": "依赖于"
},
"analytics.breakdown.dependent-project-download": {
"message": "依赖的项目"
},
"analytics.breakdown.dependent-project-type": {
"message": "依赖的项目类型"
},
"analytics.breakdown.download-reason": {
"message": "下载原因"
},
@@ -38,6 +47,9 @@
"analytics.breakdown.loader": {
"message": "加载器"
},
"analytics.breakdown.members": {
"message": "成员"
},
"analytics.breakdown.monetization": {
"message": "收益"
},
@@ -60,7 +72,7 @@
"message": "显示所有"
},
"analytics.chart.action.show-limited": {
"message": "显示有限的"
"message": "限制显示数量"
},
"analytics.chart.action.show-top-eight": {
"message": "显示前8名"
@@ -134,6 +146,24 @@
"analytics.chart.render-limit.header": {
"message": "是否在图中显示全部 {count} 行?"
},
"analytics.chart.table-selection.all": {
"message": "在表格中显示所有 {itemType, select, project {{count, plural, one {项目} other {项目}}} country {{count, plural, one {国家或地区} other {国家或地区}}} monetization {{count, plural, one {变现金额} other {变现金额}}} downloadSource {{count, plural, one {下载源} other {下载源}}} downloadReason {{count, plural, one {下载原因} other {下载原因}}} member {{count, plural, one {成员} other {成员}}} projectVersion {{count, plural, one {项目版本} other {项目版本}}} loader {{count, plural, one {加载器} other {加载器}}} gameVersion {{count, plural, one {游戏版本} other {游戏版本}}} other {{count, plural, one {物品} other {物品}}}}"
},
"analytics.chart.table-selection.count": {
"message": "显示表格中的 {count} {itemType, select, project {{count, plural, one {项目} other {项目}}} country {{count, plural, one {国家或地区} other {国家或地区}}} monetization {{count, plural, one {变现价值} other {变现价值}}} downloadSource {{count, plural, one {下载来源} other {下载来源}}} downloadReason {{count, plural, one {下载原因} other {下载原因}}} member {{count, plural, one {成员} other {成员}}} projectVersion {{count, plural, one {项目版本} other {项目版本}}} loader {{count, plural, one {加载器} other {加载器}}} gameVersion {{count, plural, one {游戏版本} other {游戏版本}}} other {{count, plural, one {项} other {项}}}}"
},
"analytics.chart.table-selection.limited": {
"message": "显示表格中的 {limit} {itemType, select, project {{limit, plural, one {项目} other {项目}}} country {{limit, plural, one {国家或地区} other {国家或地区}}} monetization {{limit, plural, one {变现价值} other {变现价值}}} downloadSource {{limit, plural, one {下载来源} other {下载来源}}} downloadReason {{limit, plural, one {下载原因} other {下载原因}}} member {{limit, plural, one {成员} other {成员}}} projectVersion {{limit, plural, one {项目版本} other {项目版本}}} loader {{limit, plural, one {加载器} other {加载器}}} gameVersion {{limit, plural, one {游戏版本} other {游戏版本}}} other {{limit, plural, one {项} other {项}}}}"
},
"analytics.chart.table-selection.top": {
"message": "显示表格中的前 {count} {itemType, select, project {{count, plural, one {项目} other {项目}}} country {{count, plural, one {国家或地区} other {国家或地区}}} monetization {{count, plural, one {变现价值} other {变现价值}}} downloadSource {{count, plural, one {下载来源} other {下载来源}}} downloadReason {{count, plural, one {下载原因} other {下载原因}}} member {{count, plural, one {成员} other {成员}}} projectVersion {{count, plural, one {项目版本} other {项目版本}}} loader {{count, plural, one {加载器} other {加载器}}} gameVersion {{count, plural, one {游戏版本} other {游戏版本}}} other {{count, plural, one {项} other {项}}}}"
},
"analytics.chart.tooltip.dependent-on-project": {
"message": "依赖 {project}"
},
"analytics.chart.tooltip.dependent-project-version": {
"message": "{dependentProject} 依赖 {dependencyProject}{version}"
},
"analytics.chart.tooltip.duration.days": {
"message": "{count, plural, other {# 天}}"
},
@@ -218,9 +248,15 @@
"analytics.filter.search.countries": {
"message": "搜索国家/地区…"
},
"analytics.filter.search.dependent-projects": {
"message": "搜索项目……"
},
"analytics.filter.search.download-sources": {
"message": "搜索下载源…"
},
"analytics.filter.search.members": {
"message": "搜索成员……"
},
"analytics.filter.search.project-versions": {
"message": "搜索项目版本…"
},
@@ -464,6 +500,12 @@
"analytics.value.monetized": {
"message": "商业化"
},
"analytics.value.no-dependent": {
"message": "无"
},
"analytics.value.no-dependent-tooltip": {
"message": "在作为非依赖原因下载"
},
"analytics.value.none": {
"message": "无"
},
@@ -686,12 +728,72 @@
"auth.authorize.authorize-app-name": {
"message": "授权给 {appName}"
},
"auth.authorize.error.missing-parameters": {
"message": "缺少必需的 OAuth 查询参数。"
},
"auth.authorize.error.no-redirect-url": {
"message": "在响应中未找到重定向位置"
},
"auth.authorize.errro-title": {
"message": "一个错误发生了"
},
"auth.authorize.redirect-url": {
"message": "你将跳转至 <redirect-url>{url}</redirect-url>"
},
"auth.continue-with-provider": {
"message": "使用 {provider} 继续"
},
"auth.create-account.age-requirement.warning-title": {
"message": "年龄要求"
},
"auth.create-account.complete-sign-up": {
"message": "完成注册"
},
"auth.create-account.date-of-birth.invalid.text": {
"message": "请输入一个出生日期,年份不能是0000。"
},
"auth.create-account.date-of-birth.invalid.title": {
"message": "无效的出生日期"
},
"auth.create-account.date-of-birth.label": {
"message": "生日"
},
"auth.create-account.date-of-birth.placeholder": {
"message": "请填写你的生日"
},
"auth.create-account.date-of-birth.required.text": {
"message": "请先输入您的生日。"
},
"auth.create-account.date-of-birth.required.title": {
"message": "需提供出生日期"
},
"auth.create-account.date-of-birth.under13-helper": {
"message": "你还未满足在 Modrinth 上创建账号的年龄需求。"
},
"auth.create-account.info-panel.source-code-link": {
"message": "相关源代码"
},
"auth.create-account.info-panel.text": {
"message": "我们不会存储你的出生日期,仅在注册时使用其验证是否符合《儿童在线隐私保护法》的相关要求。"
},
"auth.create-account.page-title": {
"message": "创建账号"
},
"auth.create-account.security-check.label": {
"message": "验证码"
},
"auth.create-account.subscribe.label": {
"message": "通过邮件订阅 Modrinth 的最新资讯"
},
"auth.create-account.title": {
"message": "创建账户"
},
"auth.create-account.username.label": {
"message": "用户名"
},
"auth.create-account.username.placeholder": {
"message": "请输入用户名"
},
"auth.reset-password.method-choice.action": {
"message": "发送密码重置邮件"
},
@@ -726,23 +828,53 @@
"message": "重置你的密码"
},
"auth.sign-in.2fa.description": {
"message": "请输入双重验证代码以便继续操作。"
"message": "请输入你从验证器应用获取的 6 位验证码,或输入任意一条备用码。"
},
"auth.sign-in.2fa.label": {
"message": "输入双重验证代码"
"message": "双因素验证"
},
"auth.sign-in.2fa.placeholder": {
"message": "输入验证码…"
},
"auth.sign-in.continue-with-email": {
"message": "使用邮箱继续"
},
"auth.sign-in.continue-with-passkey": {
"message": "使用通行密钥继续"
},
"auth.sign-in.create-account": {
"message": "注册"
},
"auth.sign-in.forgot-password": {
"message": "忘记密码"
},
"auth.sign-in.last-sign-in": {
"message": "最后一次登录"
},
"auth.sign-in.no-account": {
"message": "没有账号?"
},
"auth.sign-in.sign-in-with": {
"message": "通过以下方式登录"
"message": "登录到Modrinth"
},
"auth.sign-in.title": {
"message": "登录"
},
"auth.sign-up.age-requirement.warning-title": {
"message": "年龄限制"
},
"auth.sign-up.continue-with-email": {
"message": "使用邮箱继续"
},
"auth.sign-up.legal-dislaimer": {
"message": "创建账户即表示你同意 Modrinth 的<terms-link>使用条款</terms-link>和<privacy-policy-link>隐私政策</privacy-policy-link>。"
},
"auth.sign-up.show-fewer-options": {
"message": "显示较少选项"
},
"auth.sign-up.show-other-options": {
"message": "显示其他选项"
},
"auth.sign-up.sign-in-option.title": {
"message": "已有账户?"
},
@@ -750,11 +882,14 @@
"message": "注册"
},
"auth.sign-up.title.sign-up-with": {
"message": "通过以下方式注册"
"message": "创建账号"
},
"auth.verify-email.action.account-settings": {
"message": "账户设置"
},
"auth.verify-email.action.discover-mods": {
"message": "发现模组"
},
"auth.verify-email.already-verified.description": {
"message": "你的电子邮箱已被验证!"
},
@@ -773,6 +908,15 @@
"auth.verify-email.failed-verification.title": {
"message": "电子邮箱验证失败"
},
"auth.verify-email.notification.email-sent.description": {
"message": "一封包含账号验证链接的邮件已发至你的邮箱 {email}。"
},
"auth.verify-email.notification.email-sent.title": {
"message": "邮件发送成功"
},
"auth.verify-email.notification.error-occurred.title": {
"message": "出了一些错误"
},
"auth.verify-email.post-verification.description": {
"message": "你的电子邮箱地址已成功验证!"
},
@@ -1487,9 +1631,6 @@
"dashboard.overview.notifications.loading": {
"message": "加载通知…"
},
"dashboard.projects.bulk-edit-hint": {
"message": "你可以通过下方复选框选择多个项目来一次性编辑。"
},
"dashboard.projects.bulk-edit.server-disabled": {
"message": "服务器项目不支持批量编辑"
},
@@ -1565,24 +1706,6 @@
"dashboard.projects.project.review-environment-metadata": {
"message": "请复核运行环境元数据"
},
"dashboard.projects.sort.ascending": {
"message": "正序"
},
"dashboard.projects.sort.descending": {
"message": "降序"
},
"dashboard.projects.sort.option.name": {
"message": "名称"
},
"dashboard.projects.sort.option.status": {
"message": "状态"
},
"dashboard.projects.sort.option.type": {
"message": "类型"
},
"dashboard.projects.table.icon": {
"message": "图标"
},
"dashboard.projects.table.id": {
"message": "ID"
},
@@ -2019,7 +2142,7 @@
"message": "你的下一个服务器,就交给 Modrinth Hosting"
},
"hosting-marketing.hero.hosting-description": {
"message": "Modrinth Hosting 可让你以最便捷的方式,托管你专属的 Minecraft Java 版服务器。无缝安装并畅玩你心爱的模组和模组包,全在 Modrinth 平台搞定。"
"message": "Modrinth Hosting 可让你以最便捷的方式,托管你专属的 Minecraft Java 版服务器。无缝安装并畅玩你心爱的模组和整合包,全在 Modrinth 平台搞定。"
},
"hosting-marketing.included.advanced-networking": {
"message": "高级网络管理"
@@ -2274,7 +2397,7 @@
"message": "更改界面主题"
},
"layout.action.create-new": {
"message": "新建…"
"message": "新建…"
},
"layout.action.external-projects": {
"message": "外部项目"
@@ -3072,7 +3195,7 @@
"message": "审核项目"
},
"project.actions.servers-promo.description": {
"message": "Modrinth Hosting,让联机从此简单"
"message": "Modrinth Hosting,让你轻松和朋友联机,毫无烦恼"
},
"project.actions.servers-promo.pricing": {
"message": "起步价{price}<small> / 每月</small>"
@@ -3321,19 +3444,28 @@
"message": "URL"
},
"project.settings.permissions.attention-needed.description.proj-approved": {
"message": "请提供证明你拥有重新分发以下所有文件的权限,任何未提供的版本将自动发布。"
"message": "请提供证明,表明您有权利对以下所有内容进行再次分发。 文件。一旦完成,未公开的版本将自动发布。"
},
"project.settings.permissions.attention-needed.description.proj-draft": {
"message": "在提交项目以供审查之前,请提供证明你有权重新分发以下所有文件。"
"message": "请提供证明,表明您有权利对以下所有内容进行再次分发。 在提交您的项目进行审核之前,请先整理好相关文件。"
},
"project.settings.permissions.attention-needed.title": {
"message": "未知的嵌入内容"
"message": "未知的外部内容"
},
"project.settings.permissions.bad-proof.description": {
"message": "Modrinth的管理团队已拒绝了你为外部内容提供的权限信息,请查看被拒绝的外部内容,并提供有效的证明或删除内容。"
},
"project.settings.permissions.bad-proof.title": {
"message": "有些证明被拒绝了"
},
"project.settings.permissions.collapse-all": {
"message": "折叠全部"
},
"project.settings.permissions.completed.description": {
"message": "所有外部内容均已注明出处。"
"message": "所有外部内容都带有许可信息并提供了相关出处信息。"
},
"project.settings.permissions.completed.title": {
"message": "署名完成!"
"message": "权限设置已完成!"
},
"project.settings.permissions.empty-state.description": {
"message": "你的所有版本都不包含外部内容,因此无需担心存在权限问题。"
@@ -3341,23 +3473,47 @@
"project.settings.permissions.empty-state.heading": {
"message": "搞定啦!"
},
"project.settings.permissions.expand-all": {
"message": "展开全部"
},
"project.settings.permissions.fail.description": {
"message": "你没有权限重新分发你添加的部分外部内容。为了在 Modrinth 上发布,请移除侵权内容。"
"message": "您可能无权限在您的项目中分发外部内容,如果您要在 Modrinth 上发布,请移除这些内容或是证明您有权限分发这些内容。"
},
"project.settings.permissions.fail.title": {
"message": "某些内容无法被包含"
},
"project.settings.permissions.info-banner.description": {
"message": "如果你使用了非 Modrinth 托管的内容,你需要告知我们这些内容的来源,并证明你有权分发这些文件。请查阅 <link>我们的指南</link> 了解如何正确操作"
"message": "如果你使用了非 Modrinth 托管的内容,你需要告知我们这些内容的来源,并证明你有权分发这些文件。请查阅 <link>我们关于这一新系统的公告</link> 获取更多信息"
},
"project.settings.permissions.info-banner.title": {
"message": "了解署名机制的工作原理"
"message": "了解有关分发权限的信息"
},
"project.settings.permissions.learn-more": {
"message": "了解详情"
},
"project.settings.permissions.no-results": {
"message": "没有与您的搜索结果相关的外部信息。"
},
"project.settings.permissions.not-allowed.description": {
"message": "由于这些外部内容违反了我们的内容规定,因此不能在 Modrinth 上发布,且必须被删除。"
},
"project.settings.permissions.pending-approval-count": {
"message": "{count, plural, =0 {无需审核的署名} one {# 条署名待审核} other {# 条署名待审核}}"
},
"project.settings.permissions.search-placeholder": {
"message": "搜索 {count}{count, plural,one {个外部项目}other {个外部项目}}……"
"message": "搜索 {count} {count, plural, one {项目} other {项目}}……"
},
"project.settings.permissions.sort.most-files": {
"message": "大多数文件"
},
"project.settings.permissions.sort.recently-edited": {
"message": "最近编辑过"
},
"project.settings.permissions.sort.rejected": {
"message": "已拒绝"
},
"project.settings.permissions.sort.status": {
"message": "状态"
},
"project.settings.title": {
"message": "设置"
@@ -3378,7 +3534,7 @@
"message": "版本"
},
"project.versions.withheld-versions-warning.description": {
"message": "{count, plural, other {版本}}已保留且未公开列出。请提供你有权重新分发此模组包{count, plural, other {版本}}所包含的某些文件的证明。"
"message": "{count, plural, other {上述版本}}已被暂留而未公开列出。请提供你有权再分发上述整合包{count, plural, other {版本}}所包含的某些文件的证明。"
},
"project.versions.withheld-versions-warning.title": {
"message": "{count, plural, one {版本 {version_name}} other {这些版本}} 因未知嵌入内容被保留"
@@ -3783,7 +3939,7 @@
"message": "没有告示"
},
"servers.plan.large.description": {
"message": "适合 15–25 名玩家使用,加模组包或重度添加模组。"
"message": "适合 15–25 名玩家使用,加整合包或重度添加模组。"
},
"servers.plan.medium.description": {
"message": "适合 6–15 名玩家使用,加多个模组。"
@@ -3917,6 +4073,48 @@
"settings.account.security.email.title": {
"message": "电子邮箱"
},
"settings.account.security.passkey.add": {
"message": "添加通行密钥"
},
"settings.account.security.passkey.add-modal.name.description": {
"message": "请确保你选择的名称易于记忆,方便你日后辨认出该通行密钥。"
},
"settings.account.security.passkey.add-modal.name.label": {
"message": "名称"
},
"settings.account.security.passkey.add-modal.name.placeholder": {
"message": "我的通行密钥"
},
"settings.account.security.passkey.description": {
"message": "管理已注册的通行密钥,或添加新的通行密钥。"
},
"settings.account.security.passkey.modal.added": {
"message": "{ago}添加"
},
"settings.account.security.passkey.modal.last-used": {
"message": "上次使用于{ago}"
},
"settings.account.security.passkey.modal.loading": {
"message": "正在加载通行密钥…"
},
"settings.account.security.passkey.modal.never-used": {
"message": "从未使用"
},
"settings.account.security.passkey.modal.no-passkeys": {
"message": "你还没有注册任何通行密钥。"
},
"settings.account.security.passkey.remove.description": {
"message": "该操作会移除通行密钥“{name}”,此后你将无法使用其登录。"
},
"settings.account.security.passkey.remove.title": {
"message": "你确定要移除此通行密钥吗?"
},
"settings.account.security.passkey.rename-modal.header": {
"message": "重命名通行密钥"
},
"settings.account.security.passkey.title": {
"message": "管理通行密钥"
},
"settings.account.security.password.action.add": {
"message": "添加密码"
},
@@ -3948,52 +4146,52 @@
"message": "账户安全"
},
"settings.account.security.two-factor.action.remove": {
"message": "移除双验证"
"message": "移除双因素验证"
},
"settings.account.security.two-factor.action.setup": {
"message": "设置双验证"
"message": "设置双因素验证"
},
"settings.account.security.two-factor.description": {
"message": "在登录时为的账户增加一层额外的安全保障。"
"message": "在登录时为的账户增加一层额外的安全保障。"
},
"settings.account.security.two-factor.modal.remove.header": {
"message": "移除双验证"
"message": "移除双因素验证"
},
"settings.account.security.two-factor.modal.setup.header": {
"message": "设置双验证"
"message": "设置双因素验证"
},
"settings.account.security.two-factor.title": {
"message": "双因素证"
"message": "双因素证"
},
"settings.account.two-factor.backup.intro": {
"message": "下载并将这些备用码保存在安全的地方。如果你无法访问设备,可以使用这些代码代替双重认证代码!你应该像保护密码一样保护这些代码。"
"message": "下载这些备用码,然后将其保存在安全的地方。如果你无法访问设备,可以用备用码代替双因素验证码!务必像保护密码一样保护备用码。"
},
"settings.account.two-factor.backup.single-use": {
"message": "备份代码只能使用一次。"
"message": "备码只能使用一次。"
},
"settings.account.two-factor.error.incorrect-code": {
"message": "代码错误"
"message": "输入的验证码不正确"
},
"settings.account.two-factor.field.code.description": {
"message": "请输入双验证码以继续操作。"
"message": "请输入双因素验证码以继续操作。"
},
"settings.account.two-factor.field.code.label": {
"message": "输入两步验证码"
"message": "输入双因素验证码"
},
"settings.account.two-factor.field.code.placeholder": {
"message": "输入代码……"
"message": "输入验证码…"
},
"settings.account.two-factor.setup.intro": {
"message": "双因素认证通过要求访问第二个设备来登录,从而保护你的账户安全。"
"message": "双因素验证需要访问另一部设备才能登录,从而保护你的账户安全。"
},
"settings.account.two-factor.setup.manual-secret": {
"message": "如果二维码无法扫描,你可以手动输入密码:"
},
"settings.account.two-factor.setup.scan": {
"message": "使用 <authy-link>Authy</authy-link>、<microsoft-authenticator-link>Microsoft Authenticator</microsoft-authenticator-link> 或任何其他双重身份验证应用程序扫描二维码即可开始。"
"message": "使用 <authy-link>Authy</authy-link>、<microsoft-authenticator-link>Microsoft Authenticator</microsoft-authenticator-link> 等双因素验证应用扫描二维码即可开始。"
},
"settings.account.two-factor.verify.description": {
"message": "输入证器提供的一次性验证码以验证访问权限。"
"message": "输入证器提供的一次性验证码以验证访问权限。"
},
"settings.account.two-factor.verify.label": {
"message": "验证码"
@@ -4529,6 +4727,48 @@
"ui.newsletter-button.tooltip": {
"message": "订阅 Modrinth 新闻"
},
"version.all-versions": {
"message": "所有版本"
},
"version.confirm-delete.description": {
"message": "这个版本将会被永久删除,此操作不可撤销。"
},
"version.confirm-delete.proceed": {
"message": "删除版本"
},
"version.confirm-delete.title": {
"message": "你确定想要删除此版本吗?"
},
"version.dependency.view-project": {
"message": "预览项目"
},
"version.dependency.view-version": {
"message": "预览版本"
},
"version.download.download-dependency": {
"message": "下载依赖项"
},
"version.download.no-primary-file": {
"message": "错误:找不到主文件"
},
"version.download.optional-resource-pack": {
"message": "可选资源包"
},
"version.download.required-resource-pack": {
"message": "必需的资源包"
},
"version.edit.button": {
"message": "编辑"
},
"version.edit.details": {
"message": "编辑项目信息"
},
"version.edit.files": {
"message": "编辑文件"
},
"version.edit.metadata": {
"message": "编辑元数据"
},
"version.environment.none.description": {
"message": "此版本的运行环境尚未指定。"
},
@@ -4540,5 +4780,56 @@
},
"version.environment.unknown.title": {
"message": "未知运行环境"
},
"version.package-as-mod.button": {
"message": "打包为模组"
},
"version.package-as-mod.description": {
"message": "这将创建一个支持所选模组加载器的新版本。页面将跳转至该新版本,你可按需编辑。"
},
"version.package-as-mod.header": {
"message": "将数据包打包为模组"
},
"version.package-as-mod.mod-loaders": {
"message": "模组加载器"
},
"version.package-as-mod.mod-loaders.description": {
"message": "您所希望为数据包打包支持的模组加载器。"
},
"version.package-as-mod.mod-loaders.placeholder": {
"message": "选择模组加载器……"
},
"version.package-as-mod.submit-button": {
"message": "打包数据包"
},
"version.section.content.dev-info": {
"message": "开发者信息"
},
"version.section.content.dev-info.gradle-snippet": {
"message": "build.gradle"
},
"version.section.content.dev-info.maven-coordinates": {
"message": "Maven 坐标:"
},
"version.section.content.dev-info.maven-description": {
"message": "Modrinth 上的项目会自动通过 Maven 仓库提供,以便与 <gradle-link>Gradle</gradle-link> 等 JVM 构建工具配合使用。要详细了解 Modrinth Maven API<article-link>请点击此处</article-link>。"
},
"version.section.content.dev-info.maven-note": {
"message": "注意:如果可用,你应当使用创作者的 Maven 仓库,因为它会包含 Modrinth Maven API 所不具备的传递依赖信息。如果混用 Modrinth 与非 Modrinth 的 Maven 仓库来获取依赖项,你还可能遇到依赖项重复的问题,因为通过 Modrinth Maven API 提供依赖时,组标识符会有所不同。"
},
"version.section.content.dev-info.version-id": {
"message": "版本 ID"
},
"version.supplementary-resources.copy-hash-sha1": {
"message": "复制 SHA-1 哈希值"
},
"version.supplementary-resources.copy-hash-sha512": {
"message": "复制 SHA-512 哈希值"
},
"version.unknown-embedded-content.description": {
"message": "此版本目前暂时没有公开发布,请提供相关证明以表明你有权利分发其中相关的一些文件。"
},
"version.unknown-embedded-content.title": {
"message": "由于存在未知的嵌入式内容而未显示"
}
}
+331 -37
View File
@@ -731,12 +731,72 @@
"auth.authorize.authorize-app-name": {
"message": "授權「{appName}」"
},
"auth.authorize.error.missing-parameters": {
"message": "缺少必要的 OAuth 查詢參數。"
},
"auth.authorize.error.no-redirect-url": {
"message": "找不到回應中的重新導向位置"
},
"auth.authorize.errro-title": {
"message": "發生錯誤"
},
"auth.authorize.redirect-url": {
"message": "系統會將你重新導向至 <redirect-url>{url}</redirect-url>"
},
"auth.continue-with-provider": {
"message": "使用 {provider} 繼續"
},
"auth.create-account.age-requirement.warning-title": {
"message": "年齡限制"
},
"auth.create-account.complete-sign-up": {
"message": "完成註冊"
},
"auth.create-account.date-of-birth.invalid.text": {
"message": "請輸入有效的出生日期。年份不能為0000。"
},
"auth.create-account.date-of-birth.invalid.title": {
"message": "出生日期無效"
},
"auth.create-account.date-of-birth.label": {
"message": "出生日期"
},
"auth.create-account.date-of-birth.placeholder": {
"message": "選取你的出生日期"
},
"auth.create-account.date-of-birth.required.text": {
"message": "請先輸入你的出生日期再繼續。"
},
"auth.create-account.date-of-birth.required.title": {
"message": "出生日期是必填欄位"
},
"auth.create-account.date-of-birth.under13-helper": {
"message": "你未達到建立 Modrinth 帳號的最低年齡限制。"
},
"auth.create-account.info-panel.source-code-link": {
"message": "相關原始碼"
},
"auth.create-account.info-panel.text": {
"message": "我們不會儲存你的出生日期,僅在註冊時用來驗證是否符合《兒童網路隱私保護法》(COPPA)的規範。"
},
"auth.create-account.page-title": {
"message": "建立帳號"
},
"auth.create-account.security-check.label": {
"message": "安全檢查"
},
"auth.create-account.subscribe.label": {
"message": "透過電子郵件通知我 Modrinth 的最新動態"
},
"auth.create-account.title": {
"message": "建立帳號"
},
"auth.create-account.username.label": {
"message": "使用者名稱"
},
"auth.create-account.username.placeholder": {
"message": "輸入使用者名稱"
},
"auth.reset-password.method-choice.action": {
"message": "傳送密碼重設電子郵件"
},
@@ -771,23 +831,53 @@
"message": "重設你的密碼"
},
"auth.sign-in.2fa.description": {
"message": "請輸入雙重驗證碼以繼續。"
"message": "請輸入驗證應用程式中的 6 位數驗證碼,或其中一個備用碼。"
},
"auth.sign-in.2fa.label": {
"message": "輸入雙重驗證"
"message": "雙重驗證"
},
"auth.sign-in.2fa.placeholder": {
"message": "輸入驗證碼..."
},
"auth.sign-in.continue-with-email": {
"message": "使用電子郵件地址繼續"
},
"auth.sign-in.continue-with-passkey": {
"message": "使用通行金鑰繼續"
},
"auth.sign-in.create-account": {
"message": "註冊"
},
"auth.sign-in.forgot-password": {
"message": "忘記密碼"
},
"auth.sign-in.last-sign-in": {
"message": "上次使用"
},
"auth.sign-in.no-account": {
"message": "還沒有帳號嗎?"
},
"auth.sign-in.sign-in-with": {
"message": "使用以下方式登入"
"message": "登入 Modrinth"
},
"auth.sign-in.title": {
"message": "登入"
},
"auth.sign-up.age-requirement.warning-title": {
"message": "年齡限制"
},
"auth.sign-up.continue-with-email": {
"message": "使用電子郵件地址繼續"
},
"auth.sign-up.legal-dislaimer": {
"message": "建立帳號即表示您同意 Modrinth 的《<terms-link>使用條款</terms-link>》及《<privacy-policy-link>隱私權政策</privacy-policy-link>》。"
},
"auth.sign-up.show-fewer-options": {
"message": "顯示較少選項"
},
"auth.sign-up.show-other-options": {
"message": "顯示其他選項"
},
"auth.sign-up.sign-in-option.title": {
"message": "已經有帳號了?"
},
@@ -795,11 +885,14 @@
"message": "註冊"
},
"auth.sign-up.title.sign-up-with": {
"message": "使用以下方式註冊"
"message": "建立帳號"
},
"auth.verify-email.action.account-settings": {
"message": "帳號設定"
},
"auth.verify-email.action.discover-mods": {
"message": "探索模組"
},
"auth.verify-email.already-verified.description": {
"message": "你的電子郵件地址已經完成過驗證!"
},
@@ -818,6 +911,15 @@
"auth.verify-email.failed-verification.title": {
"message": "電子郵件驗證失敗"
},
"auth.verify-email.notification.email-sent.description": {
"message": "驗證連結已傳送至你的電子信箱 {email} 。"
},
"auth.verify-email.notification.email-sent.title": {
"message": "電子郵件已送出"
},
"auth.verify-email.notification.error-occurred.title": {
"message": "發生錯誤"
},
"auth.verify-email.post-verification.description": {
"message": "你的電子郵件地址已成功驗證!"
},
@@ -1532,9 +1634,6 @@
"dashboard.overview.notifications.loading": {
"message": "正在載入通知..."
},
"dashboard.projects.bulk-edit-hint": {
"message": "你可以透過在下方選擇專案來同時編輯多個專案。"
},
"dashboard.projects.bulk-edit.server-disabled": {
"message": "伺服器專案不支援大量編輯"
},
@@ -1554,7 +1653,7 @@
"message": "編輯連結"
},
"dashboard.projects.links.changes-applied": {
"message": "變更將套用於<strong>{count}</strong> 個{count, plural, other {專案}}。"
"message": "變更將套用於 <strong>{count}</strong> 個{count, plural, other {專案}}。"
},
"dashboard.projects.links.description": {
"message": "你在下方指定的任何連結都將覆蓋到每個選定的專案中。留空的連結將被忽略。你可以使用垃圾桶按鈕從所有選定的專案中清除連結。"
@@ -1610,24 +1709,6 @@
"dashboard.projects.project.review-environment-metadata": {
"message": "請審查環境詮釋資料"
},
"dashboard.projects.sort.ascending": {
"message": "遞增"
},
"dashboard.projects.sort.descending": {
"message": "遞減"
},
"dashboard.projects.sort.option.name": {
"message": "名稱"
},
"dashboard.projects.sort.option.status": {
"message": "狀態"
},
"dashboard.projects.sort.option.type": {
"message": "類型"
},
"dashboard.projects.table.icon": {
"message": "圖示"
},
"dashboard.projects.table.id": {
"message": "ID"
},
@@ -2934,7 +3015,7 @@
"message": "下載次數:{count}"
},
"profile.label.joined": {
"message": "加入時間"
"message": "加入時間"
},
"profile.label.no-collections": {
"message": "這個使用者沒有任何收藏!"
@@ -3245,18 +3326,63 @@
"project.moderation.admonition.approved.header": {
"message": "專案已獲核准"
},
"project.moderation.admonition.draft.body": {
"message": "這是一個草稿專案,在送交審查並獲得 Modrinth 管理團隊核准之前,其他人無法查看。"
},
"project.moderation.admonition.draft.header": {
"message": "專案草稿"
"message": "草稿專案"
},
"project.moderation.admonition.draft.submit-for-review": {
"message": "完成所有必要步驟,並確保你的專案符合 Modrinth 的《<rules-link>內容規範</rules-link>》後,即可將專案送交審查。"
},
"project.moderation.admonition.rejected.address-all-concerns": {
"message": "在重新提交專案之前,請先處理管理團隊提出的所有疑慮,包括下方訊息中列出的任何問題。"
},
"project.moderation.admonition.rejected.header": {
"message": "需要修改"
},
"project.moderation.admonition.rejected.spam-notice": {
"message": "在未解決管理員提出的所有問題的情況下反覆提交專案,可能會導致帳號被停權。"
},
"project.moderation.admonition.under-review.body.1": {
"message": "你的專案已在佇列中,等待 Modrinth 管理團隊審查。"
},
"project.moderation.admonition.under-review.body.2": {
"message": "你的專案會先被掃描,再由管理員人工審核,以確保其符合 Modrinth 的《<rules-link>內容規範</rules-link>》與《<terms-link>服務條款</terms-link>》。"
},
"project.moderation.admonition.under-review.body.3": {
"message": "你仍可修改專案,這不會影響你在佇列中的位置。"
},
"project.moderation.admonition.under-review.body.4": {
"message": "我們的目標是在 24 至 48 小時內審查你提交的專案。部分專案可能需要較長時間,但這不代表你的專案有問題。"
},
"project.moderation.admonition.under-review.body.5": {
"message": "<emphasis>感謝你的耐心等候,我們的管理員正努力維護 Modrinth 的安全,我們期待能協助你分享你的內容!💚</emphasis>"
},
"project.moderation.admonition.under-review.header": {
"message": "專案審查中"
},
"project.moderation.admonition.withheld.body": {
"message": "你的專案不會公開顯示,只能透過直接連結存取。{requestedStatus, select, unlisted {根據你所選的<visibility-settings-link>瀏覽權限設定</visibility-settings-link>,你很可能無需採取任何行動。} other {在重新這個專案之前,請先處理管理團隊提出的所有疑慮,包括下方訊息中列出的任何問題。}}"
},
"project.moderation.admonition.withheld.header": {
"message": "由工作人員設為不公開"
},
"project.moderation.error.unauthorized": {
"message": "未經授權"
},
"project.moderation.thread.approved-warning": {
"message": "管理團隊不會主動查看這個討論串,但如果有需要,他們可能會查看討論串以獲取專案相關資訊。"
},
"project.moderation.thread.help-center-note.1": {
"message": "大多數的問題無法由內容管理員提供協助,且這個討論串的訊息不會通知工作人員。"
},
"project.moderation.thread.help-center-note.2": {
"message": "如果你需要協助或有其他疑問,請前往 <help-center-link>Modrinth 說明中心</help-center-link>,然後按一下藍色對話氣泡以聯絡客服團隊。"
},
"project.moderation.thread.private-description": {
"message": "這是你與 Modrinth 管理員之間的私人討論串。他們可能會就專案的相關問題向你傳送訊息。"
},
"project.moderation.thread.title": {
"message": "審核訊息"
},
@@ -3324,43 +3450,76 @@
"message": "網址"
},
"project.settings.permissions.attention-needed.description.proj-approved": {
"message": "請提供證明,以確認你擁有重新發布下列所有檔案的權限;此外,任何遭保留的版本都將自動發布。"
"message": "請提供證明,以確認你擁有重新發布下列所有檔案的權限。提供完成後,任何遭保留的版本都將自動發布。"
},
"project.settings.permissions.attention-needed.description.proj-draft": {
"message": "在提交專案進行審查之前,請先提供你擁有下列所有檔案重新發布權限的證明。"
},
"project.settings.permissions.attention-needed.title": {
"message": "未知的嵌入內容"
"message": "未知的外部內容"
},
"project.settings.permissions.bad-proof.description": {
"message": "Modrinth 的管理團隊拒絕了你針對部分外部內容所提供的授權資訊。請檢視以下被拒絕的項目,並提供可接受的證明文件,或移除該內容。"
},
"project.settings.permissions.bad-proof.title": {
"message": "部分證明被拒絕"
},
"project.settings.permissions.collapse-all": {
"message": "收起全部"
},
"project.settings.permissions.completed.description": {
"message": "所有外部內容均已標明出處。"
"message": "所有外部內容均已附有授權資訊,並標明出處。"
},
"project.settings.permissions.completed.title": {
"message": "出處標註已完成!"
"message": "授權設定已完成!"
},
"project.settings.permissions.empty-state.description": {
"message": "你的所有版本皆不含外部內容,因此無需擔心取得授權的問題。"
"message": "你的專案的所有版本皆不含外部內容,因此無需擔心取得授權的問題。"
},
"project.settings.permissions.empty-state.heading": {
"message": "一切就緒!"
},
"project.settings.permissions.expand-all": {
"message": "展開全部"
},
"project.settings.permissions.fail.description": {
"message": "你上傳的部分外部內容不具備重新發布權限。如要在 Modrinth 上發布,請移除侵權內容。"
"message": "專案中的部分外部內容可能不具備重新發布權限。如要在 Modrinth 上發布,請移除這些內容,或提供你擁有這些內容重新發布權限的證明。"
},
"project.settings.permissions.fail.title": {
"message": "部分內容無法包含在內"
},
"project.settings.permissions.info-banner.description": {
"message": "如果你包含的內容並非託管於 Modrinth,你需要告知我們其來源,並確認你擁有重新發布這些檔案的權限。請參閱我們<link>指南</link>以了解如何正確處理"
"message": "如果你包含的內容並非託管於 Modrinth,你需要告知我們其來源,並確認你擁有重新發布這些檔案的權限。請參閱我們<link>關於這個新系統的公告</link>以了解更多"
},
"project.settings.permissions.info-banner.title": {
"message": "了解引用標註的處理方式"
"message": "了解引用標註"
},
"project.settings.permissions.learn-more": {
"message": "了解更多"
},
"project.settings.permissions.no-results": {
"message": "沒有外部檔案符合你的搜尋字詞。"
},
"project.settings.permissions.not-allowed.description": {
"message": "部分外部內容因違反我們的《內容規範》,不得在 Modrinth 上發布,並且必須移除。"
},
"project.settings.permissions.pending-approval-count": {
"message": "{count, plural, =0 {沒有需要核准的引用標註} other {有 # 個引用標註需要核准}}"
},
"project.settings.permissions.search-placeholder": {
"message": "搜尋 {count} 個{count, plural, other {外部專案}}..."
"message": "搜尋 {count} 個{count, plural, other {專案}}..."
},
"project.settings.permissions.sort.most-files": {
"message": "檔案數量多寡"
},
"project.settings.permissions.sort.recently-edited": {
"message": "最近編輯時間"
},
"project.settings.permissions.sort.rejected": {
"message": "已拒絕"
},
"project.settings.permissions.sort.status": {
"message": "狀態"
},
"project.settings.title": {
"message": "設定"
@@ -3920,6 +4079,48 @@
"settings.account.security.email.title": {
"message": "電子郵件"
},
"settings.account.security.passkey.add": {
"message": "新增通行金鑰"
},
"settings.account.security.passkey.add-modal.name.description": {
"message": "請務必選擇容易記住的名稱,以便日後能辨識出這個通行金鑰。"
},
"settings.account.security.passkey.add-modal.name.label": {
"message": "名稱"
},
"settings.account.security.passkey.add-modal.name.placeholder": {
"message": "我的通行金鑰"
},
"settings.account.security.passkey.description": {
"message": "管理或新增你的通行金鑰。"
},
"settings.account.security.passkey.modal.added": {
"message": "新增時間:{ago}"
},
"settings.account.security.passkey.modal.last-used": {
"message": "上次使用:{ago}"
},
"settings.account.security.passkey.modal.loading": {
"message": "正在載入通行金鑰..."
},
"settings.account.security.passkey.modal.never-used": {
"message": "從未使用"
},
"settings.account.security.passkey.modal.no-passkeys": {
"message": "你還沒有新增任何通行金鑰。"
},
"settings.account.security.passkey.remove.description": {
"message": "這會永久移除通行金鑰「{name}」。你將無法再使用這個通行金鑰登入。"
},
"settings.account.security.passkey.remove.title": {
"message": "你確定要移除這個通行金鑰嗎?"
},
"settings.account.security.passkey.rename-modal.header": {
"message": "重新命名通行金鑰"
},
"settings.account.security.passkey.title": {
"message": "管理通行金鑰"
},
"settings.account.security.password.action.add": {
"message": "新增密碼"
},
@@ -4532,6 +4733,48 @@
"ui.newsletter-button.tooltip": {
"message": "訂閱 Modrinth 的最新消息"
},
"version.all-versions": {
"message": "所有版本"
},
"version.confirm-delete.description": {
"message": "這個版本將永久刪除。這個操作無法復原。"
},
"version.confirm-delete.proceed": {
"message": "刪除版本"
},
"version.confirm-delete.title": {
"message": "你確定要刪除這個版本嗎?"
},
"version.dependency.view-project": {
"message": "查看專案"
},
"version.dependency.view-version": {
"message": "查看版本"
},
"version.download.download-dependency": {
"message": "下載相依項"
},
"version.download.no-primary-file": {
"message": "錯誤:找不到主要檔案"
},
"version.download.optional-resource-pack": {
"message": "可選資源包"
},
"version.download.required-resource-pack": {
"message": "所需資源包"
},
"version.edit.button": {
"message": "編輯"
},
"version.edit.details": {
"message": "編輯詳細資訊"
},
"version.edit.files": {
"message": "編輯檔案"
},
"version.edit.metadata": {
"message": "編輯詮釋資料"
},
"version.environment.none.description": {
"message": "此版本的執行環境尚未指定。"
},
@@ -4543,5 +4786,56 @@
},
"version.environment.unknown.title": {
"message": "未知的執行環境"
},
"version.package-as-mod.button": {
"message": "打包為模組"
},
"version.package-as-mod.description": {
"message": "這將建立一個支援所選模組載入器的新版本。你將被重新導向到新版本,你可依個人偏好編輯它。"
},
"version.package-as-mod.header": {
"message": "將資料包打包為模組"
},
"version.package-as-mod.mod-loaders": {
"message": "模組載入器"
},
"version.package-as-mod.mod-loaders.description": {
"message": "你想要將資料包打包成哪些模組載入器所支援的形式。"
},
"version.package-as-mod.mod-loaders.placeholder": {
"message": "選擇模組載入器..."
},
"version.package-as-mod.submit-button": {
"message": "打包資料包"
},
"version.section.content.dev-info": {
"message": "開發者資訊"
},
"version.section.content.dev-info.gradle-snippet": {
"message": "build.gradle"
},
"version.section.content.dev-info.maven-coordinates": {
"message": "Maven 座標:"
},
"version.section.content.dev-info.maven-description": {
"message": "Modrinth 上的專案會透過 Maven 儲存庫自動提供,以便與 <gradle-link>Gradle</gradle-link> 等 JVM 建構工具搭配使用。<article-link>按這裡</article-link>深入了解 Modrinth Maven API。"
},
"version.section.content.dev-info.maven-note": {
"message": "注意:如有提供,你應該改用創作者的 Maven 儲存庫,因為該儲存庫包含 Modrinth Maven API 所沒有的遞移相依關係資訊。此外,若你同時使用 Modrinth 與非 Modrinth 的 Maven 儲存庫來取得相依項,可能會導致相依項重複,因為透過 Modrinth Maven API 提供時,群組識別碼將會有所不同。"
},
"version.section.content.dev-info.version-id": {
"message": "版本 ID"
},
"version.supplementary-resources.copy-hash-sha1": {
"message": "複製 SHA-1"
},
"version.supplementary-resources.copy-hash-sha512": {
"message": "複製 SHA-512"
},
"version.unknown-embedded-content.description": {
"message": "這個版本目前被保留且不公開。提供你擁有特定檔案重新發布權限的證明。"
},
"version.unknown-embedded-content.title": {
"message": "由於存在未知的嵌入內容而被保留"
}
}
+1 -1
View File
@@ -1017,7 +1017,7 @@
</div>
<div class="normal-page__content">
<div class="overflow-x-auto"><NavTabs :links="navLinks" replace class="mb-4" /></div>
<div class="mb-3 overflow-x-auto"><NavTabs :links="navLinks" replace class="mb-1" /></div>
<NuxtPage @on-download="triggerDownloadAnimation" @delete-version="deleteVersion" />
</div>
</div>
@@ -53,6 +53,7 @@
:project="project"
:versions="versionsWithDisplayUrl"
:show-files="flags.showVersionFilesInTable"
:show-environment-column="flags.showVersionEnvironmentColumn"
:current-member="!!currentMember"
:loaders="tags.loaders"
:game-versions="tags.gameVersions"
@@ -27,6 +27,7 @@
:project="project"
:versions="versions"
:show-files="flags.showVersionFilesInTable"
:show-environment-column="flags.showVersionEnvironmentColumn"
:current-member="!!currentMember"
:loaders="tags.loaders"
:game-versions="tags.gameVersions"
+314 -351
View File
@@ -157,181 +157,215 @@
</div>
</NewModal>
<ModalCreation ref="modal_creation" />
<section class="universal-card">
<div class="header__row">
<h2 class="header__title text-2xl">{{ formatMessage(messages.headTitle) }}</h2>
<div class="input-group">
<ButtonStyled color="brand">
<button @click="$refs.modal_creation.show($event)">
<PlusIcon />
{{ formatMessage(commonMessages.createAProjectButton) }}
</button>
</ButtonStyled>
</div>
</div>
<p v-if="projects.length < 1">
{{ formatMessage(messages.noProjectsYet) }}
</p>
<template v-else>
<p>{{ formatMessage(messages.bulkEditHint) }}</p>
<div class="input-group">
<ButtonStyled>
<button :disabled="selectedProjects.length === 0" @click="$refs.editLinksModal.show()">
<EditIcon />
{{ formatMessage(messages.editLinksButton) }}
</button>
</ButtonStyled>
<div class="push-right">
<div class="labeled-control-row">
{{ formatMessage(commonMessages.sortByLabel) }}
<Combobox
v-model="sortBy"
:searchable="false"
class="small-select"
:options="sortOptions"
@update:model-value="projects = updateSort(projects, sortBy, descending)"
/>
<ButtonStyled circular>
<button
v-tooltip="formatMessage(descending ? messages.descending : messages.ascending)"
@click="updateDescending()"
>
<SortDescIcon v-if="descending" />
<SortAscIcon v-else />
<section class="relative overflow-hidden rounded-2xl">
<Table
v-model:sort-column="sortColumn"
v-model:sort-direction="sortDirection"
:columns="projectTableColumns"
:data="sortedProjects"
row-key="id"
table-min-width="50rem"
table-layout="auto"
>
<template #header>
<div class="flex flex-col gap-3 md:flex-row md:items-center md:justify-between">
<h2 class="m-0 text-2xl font-semibold text-contrast">
{{ formatMessage(messages.headTitle) }}
</h2>
<div class="flex w-full flex-wrap items-center gap-2 md:w-auto">
<ButtonStyled color="brand">
<button @click="$refs.modal_creation.show($event)">
<PlusIcon />
{{ formatMessage(commonMessages.createAProjectButton) }}
</button>
</ButtonStyled>
</div>
</div>
</div>
<div class="grid-table">
<div class="grid-table__row grid-table__header">
<div>
<Checkbox
:model-value="allBulkEditableProjectsSelected"
@update:model-value="toggleAllBulkEditableProjects()"
/>
</div>
<div>{{ formatMessage(messages.iconHeader) }}</div>
<div>{{ formatMessage(messages.nameHeader) }}</div>
<div>{{ formatMessage(messages.idHeader) }}</div>
<div>{{ formatMessage(messages.typeHeader) }}</div>
<div>{{ formatMessage(messages.statusHeader) }}</div>
<div />
</template>
<template #empty-state>
<div class="flex h-64 items-center justify-center text-secondary">
{{ formatMessage(messages.noProjectsYet) }}
</div>
<div v-for="project in projects" :key="`project-${project.id}`" class="grid-table__row">
<div>
<Checkbox
v-tooltip="getBulkEditDisabledTooltip(project)"
:disabled="isProjectBulkEditDisabled(project)"
:model-value="selectedProjects.includes(project)"
@update:model-value="toggleProjectSelection(project)"
</template>
<template #header-select>
<div v-tooltip="formatMessage(messages.selectAllBulkEditableProjects)">
<Checkbox
:model-value="allBulkEditableProjectsSelected"
@update:model-value="toggleAllBulkEditableProjects()"
/>
</div>
</template>
<template #cell-select="{ row: project }">
<div>
<Checkbox
v-tooltip="getBulkEditDisabledTooltip(project)"
:disabled="isProjectBulkEditDisabled(project)"
:model-value="isProjectSelected(project)"
@update:model-value="toggleProjectSelection(project)"
/>
</div>
</template>
<template #cell-name="{ row: project }">
<nuxt-link class="project-name-cell" :to="getProjectUrl(project)">
<span
v-tooltip="project.title"
class="flex size-6 shrink-0 items-center justify-center overflow-hidden rounded text-primary"
>
<img
v-if="project.icon_url"
:src="project.icon_url"
:alt="formatMessage(messages.projectIconAlt, { title: project.title })"
class="h-6 w-6 rounded object-cover"
/>
<BoxIcon v-else class="h-full w-full" />
</span>
<span class="project-title">
<IssuesIcon
v-if="project.moderator_message"
:aria-label="formatMessage(messages.projectModeratorMessageAriaLabel)"
/>
</div>
<div>
<nuxt-link
tabindex="-1"
:to="`/${getProjectTypeForUrl(project.project_type, project.loaders)}/${
project.slug ? project.slug : project.id
}`"
>
<Avatar
:src="project.icon_url"
aria-hidden="true"
:alt="formatMessage(messages.projectIconAlt, { title: project.title })"
no-shadow
/>
</nuxt-link>
</div>
<div>
<span class="project-title">
<IssuesIcon
v-if="project.moderator_message"
:aria-label="formatMessage(messages.projectModeratorMessageAriaLabel)"
/>
<nuxt-link
class="hover-link wrap-as-needed"
:to="`/${getProjectTypeForUrl(project.project_type, project.loaders)}/${
project.slug ? project.slug : project.id
}`"
>
{{ project.title }}
</nuxt-link>
<span class="project-title-link wrap-as-needed">
{{ project.title }}
</span>
</div>
<div>
<CopyCode :text="project.id" />
</div>
<div>
{{ formatProjectType(getProjectTypeForUrl(project.project_type, project.loaders)) }}
</div>
<div>
<ProjectStatusBadge v-if="project.status" :status="project.status" />
</div>
<div class="flex !flex-row items-center !justify-end gap-2">
<ButtonStyled
v-if="projectsWithMigrationWarning.includes(project.id)"
circular
color="orange"
</span>
</nuxt-link>
</template>
<template #cell-id="{ row: project }">
<div class="flex items-center">
<CopyCode :text="project.id" />
</div>
</template>
<template #cell-type="{ row: project }">
<div class="flex items-center">
{{ getProjectDisplayType(project) }}
</div>
</template>
<template #cell-status="{ row: project }">
<div class="flex items-center">
<ProjectStatusBadge v-if="project.status" :status="project.status" />
</div>
</template>
<template #cell-actions="{ row: project }">
<div class="flex !flex-row items-center !justify-end gap-2">
<ButtonStyled
v-if="projectsWithMigrationWarning.includes(project.id)"
circular
color="orange"
>
<nuxt-link
v-tooltip="formatMessage(messages.reviewEnvironmentMetadata)"
:to="`${getProjectUrl(project)}?showEnvironmentMigrationWarning=true`"
>
<nuxt-link
v-tooltip="formatMessage(messages.reviewEnvironmentMetadata)"
:to="`/${getProjectTypeForUrl(project.project_type, project.loaders)}/${
project.slug ? project.slug : project.id
}?showEnvironmentMigrationWarning=true`"
>
<TriangleAlertIcon />
</nuxt-link>
</ButtonStyled>
<ButtonStyled circular>
<nuxt-link
v-tooltip="formatMessage(commonMessages.settingsLabel)"
:to="`/${getProjectTypeForUrl(project.project_type, project.loaders)}/${
project.slug ? project.slug : project.id
}/settings`"
>
<SettingsIcon />
</nuxt-link>
</ButtonStyled>
</div>
<TriangleAlertIcon />
</nuxt-link>
</ButtonStyled>
<ButtonStyled circular>
<nuxt-link
v-tooltip="formatMessage(commonMessages.settingsLabel)"
:to="`${getProjectUrl(project)}/settings`"
>
<SettingsIcon />
</nuxt-link>
</ButtonStyled>
</div>
</template>
</Table>
</section>
<FloatingActionBar
:shown="selectedProjects.length > 0"
:aria-label="formatMessage(messages.selectionActionBarAriaLabel)"
hide-when-modal-open
>
<div class="flex items-center gap-0.5">
<div
class="relative h-8 shrink-0"
:style="{ width: `${selectedProjectIconStackWidth}px` }"
aria-hidden="true"
>
<div
v-for="(project, index) in visibleSelectedProjects"
:key="project.id"
v-tooltip="project.title"
class="absolute top-0 flex h-8 w-8 items-center justify-center overflow-hidden rounded-lg border-[1.5px] border-solid border-surface-3 bg-surface-4"
:style="{
left: `${index * SELECTED_PROJECT_ICON_STACK_OFFSET}px`,
zIndex: visibleSelectedProjects.length - index,
}"
>
<img
v-if="project.icon_url"
:src="project.icon_url"
:alt="formatMessage(messages.projectIconAlt, { title: project.title })"
class="h-full w-full rounded-lg object-cover"
/>
<BoxIcon v-else class="h-full w-full text-primary" />
</div>
<div
v-if="selectedProjectOverflowCount > 0"
class="absolute top-0 flex h-8 w-8 items-center justify-center rounded-lg border-[1.5px] border-solid border-surface-3 bg-surface-4 text-xs font-bold text-contrast"
:style="{
left: `${visibleSelectedProjects.length * SELECTED_PROJECT_ICON_STACK_OFFSET}px`,
zIndex: 0,
}"
>
+{{ selectedProjectOverflowCount }}
</div>
</div>
</template>
</section>
<span class="px-3 py-2 text-base font-semibold tabular-nums text-contrast">
{{ formatMessage(messages.selectedProjectsCount, { count: selectedProjects.length }) }}
</span>
<div class="mx-0.5 h-6 w-px bg-surface-5" />
<ButtonStyled type="transparent">
<button
v-tooltip="formatMessage(commonMessages.clearButton)"
class="!text-primary"
@click="clearProjectSelection()"
>
<XIcon class="cq-show-icon hidden" />
<span class="bar-label">{{ formatMessage(commonMessages.clearButton) }}</span>
</button>
</ButtonStyled>
</div>
<div class="ml-auto flex items-center gap-0.5">
<ButtonStyled color="brand">
<button v-tooltip="formatMessage(messages.editLinksButton)" @click="showEditLinksModal()">
<EditIcon />
<span class="bar-label">{{ formatMessage(messages.editLinksButton) }}</span>
</button>
</ButtonStyled>
</div>
</FloatingActionBar>
</div>
</template>
<script setup>
import {
BoxIcon,
EditIcon,
IssuesIcon,
PlusIcon,
SaveIcon,
SettingsIcon,
SortAscIcon,
SortDescIcon,
TrashIcon,
TriangleAlertIcon,
XIcon,
} from '@modrinth/assets'
import {
Avatar,
ButtonStyled,
Checkbox,
Combobox,
commonMessages,
CopyCode,
defineMessages,
FloatingActionBar,
injectNotificationManager,
IntlFormatted,
NewModal,
ProjectStatusBadge,
StyledInput,
Table,
useVIntl,
} from '@modrinth/ui'
import { formatProjectType } from '@modrinth/utils'
@@ -360,6 +394,14 @@ const messages = defineMessages({
id: 'dashboard.projects.links.button.edit',
defaultMessage: 'Edit links',
},
selectedProjectsCount: {
id: 'dashboard.projects.selection-bar.selected-count',
defaultMessage: '{count, plural, one {# project selected} other {# projects selected}}',
},
selectionActionBarAriaLabel: {
id: 'dashboard.projects.selection-bar.aria-label',
defaultMessage: 'Selected projects actions',
},
editLinksHeader: {
id: 'dashboard.projects.links.header.edit',
defaultMessage: 'Edit links',
@@ -434,34 +476,6 @@ const messages = defineMessages({
id: 'dashboard.projects.empty',
defaultMessage: "You don't have any projects yet. Click the green button above to begin.",
},
bulkEditHint: {
id: 'dashboard.projects.bulk-edit-hint',
defaultMessage: 'You can edit multiple projects at once by selecting them below.',
},
ascending: {
id: 'dashboard.projects.sort.ascending',
defaultMessage: 'Ascending',
},
descending: {
id: 'dashboard.projects.sort.descending',
defaultMessage: 'Descending',
},
sortOptionName: {
id: 'dashboard.projects.sort.option.name',
defaultMessage: 'Name',
},
sortOptionStatus: {
id: 'dashboard.projects.sort.option.status',
defaultMessage: 'Status',
},
sortOptionType: {
id: 'dashboard.projects.sort.option.type',
defaultMessage: 'Type',
},
iconHeader: {
id: 'dashboard.projects.table.icon',
defaultMessage: 'Icon',
},
nameHeader: {
id: 'dashboard.projects.table.name',
defaultMessage: 'Name',
@@ -478,6 +492,10 @@ const messages = defineMessages({
id: 'dashboard.projects.table.status',
defaultMessage: 'Status',
},
selectAllBulkEditableProjects: {
id: 'dashboard.projects.table.select-all-bulk-editable',
defaultMessage: 'Select all projects that support bulk editing',
},
projectIconAlt: {
id: 'dashboard.projects.project.icon-alt',
defaultMessage: 'Icon for {title}',
@@ -505,14 +523,9 @@ useHead({ title: () => `${formatMessage(messages.headTitle)} - Modrinth` })
const user = await useUser()
const projects = ref([])
const projectsWithMigrationWarning = ref([])
const selectedProjects = ref([])
const sortBy = ref('Name')
const sortOptions = computed(() => [
{ value: 'Name', label: formatMessage(messages.sortOptionName) },
{ value: 'Status', label: formatMessage(messages.sortOptionStatus) },
{ value: 'Type', label: formatMessage(messages.sortOptionType) },
])
const descending = ref(false)
const selectedProjectIds = ref([])
const sortColumn = ref('name')
const sortDirection = ref('asc')
const editLinks = reactive({
showAffected: false,
source: { val: '', clear: false },
@@ -522,7 +535,62 @@ const editLinks = reactive({
})
const editLinksModal = ref(null)
const modal_creation = ref(null)
const sortCollator = new Intl.Collator(undefined, { numeric: true, sensitivity: 'base' })
const SELECTED_PROJECT_ICON_STACK_OFFSET = 24
const projectTableColumns = computed(() => [
{
key: 'select',
width: '3rem',
headerClass: '!text-center',
cellClass: '!overflow-visible',
},
{
key: 'name',
label: formatMessage(messages.nameHeader),
enableSorting: true,
defaultSortDirection: 'asc',
width: '22rem',
},
{
key: 'id',
label: formatMessage(messages.idHeader),
width: '13rem',
cellClass: '!overflow-visible',
},
{
key: 'type',
label: formatMessage(messages.typeHeader),
enableSorting: true,
width: '11rem',
},
{
key: 'status',
label: formatMessage(messages.statusHeader),
enableSorting: true,
width: '10rem',
cellClass: '!overflow-visible',
},
{
key: 'actions',
width: '6rem',
align: 'right',
cellClass: '!overflow-visible',
},
])
const sortedProjects = computed(() => {
const direction = sortDirection.value === 'desc' ? -1 : 1
return projects.value.slice().sort((left, right) => {
const result = sortCollator.compare(
getProjectSortValue(left, sortColumn.value),
getProjectSortValue(right, sortColumn.value),
)
return result * direction
})
})
function getLinkInputPlaceholder(clearLink, isDiscord = false) {
if (clearLink) {
@@ -545,16 +613,35 @@ const bulkEditableProjects = computed(() =>
projects.value.filter((project) => !isProjectBulkEditDisabled(project)),
)
const selectedProjects = computed(() =>
projects.value.filter((project) => selectedProjectIds.value.includes(project.id)),
)
const visibleSelectedProjects = computed(() => selectedProjects.value.slice(0, 3))
const selectedProjectOverflowCount = computed(() => Math.max(0, selectedProjects.value.length - 3))
const selectedProjectIconStackWidth = computed(() => {
if (selectedProjects.value.length === 0) return 0
return (
32 +
(visibleSelectedProjects.value.length - 1 + (selectedProjectOverflowCount.value > 0 ? 1 : 0)) *
SELECTED_PROJECT_ICON_STACK_OFFSET
)
})
const allBulkEditableProjectsSelected = computed(
() =>
bulkEditableProjects.value.length > 0 &&
bulkEditableProjects.value.every((project) => selectedProjects.value.includes(project)),
bulkEditableProjects.value.every((project) => selectedProjectIds.value.includes(project.id)),
)
function toggleAllBulkEditableProjects() {
selectedProjects.value = allBulkEditableProjectsSelected.value
selectedProjectIds.value = allBulkEditableProjectsSelected.value
? []
: bulkEditableProjects.value.slice()
: bulkEditableProjects.value.map((project) => project.id)
}
function isProjectSelected(project) {
return selectedProjectIds.value.includes(project.id)
}
function toggleProjectSelection(project) {
@@ -562,12 +649,24 @@ function toggleProjectSelection(project) {
return
}
if (selectedProjects.value.includes(project)) {
selectedProjects.value = selectedProjects.value.filter((it) => it !== project)
if (isProjectSelected(project)) {
selectedProjectIds.value = selectedProjectIds.value.filter((id) => id !== project.id)
return
}
selectedProjects.value = [...selectedProjects.value, project]
selectedProjectIds.value = [...selectedProjectIds.value, project.id]
}
function clearProjectSelection() {
selectedProjectIds.value = []
}
function showEditLinksModal() {
if (selectedProjects.value.length === 0) {
return
}
editLinksModal.value?.show()
}
function getBulkEditDisabledTooltip(project) {
@@ -578,40 +677,28 @@ function getBulkEditDisabledTooltip(project) {
return ''
}
function updateSort(list, sort, desc) {
let sortedArray = list
switch (sort) {
case 'Name':
sortedArray = list.slice().sort((a, b) => a.title.localeCompare(b.title))
break
case 'Status':
sortedArray = list.slice().sort((a, b) => {
if (a.status < b.status) return -1
if (a.status > b.status) return 1
return 0
})
break
case 'Type':
sortedArray = list.slice().sort((a, b) => {
if (a.project_type < b.project_type) return -1
if (a.project_type > b.project_type) return 1
return 0
})
break
function getProjectUrlType(project) {
return getProjectTypeForUrl(project.project_type, project.loaders)
}
function getProjectDisplayType(project) {
return formatProjectType(getProjectUrlType(project))
}
function getProjectUrl(project) {
return `/${getProjectUrlType(project)}/${project.slug ? project.slug : project.id}`
}
function getProjectSortValue(project, column) {
switch (column) {
case 'type':
return getProjectDisplayType(project)
case 'status':
return project.status ?? ''
case 'name':
default:
break
return project.title ?? ''
}
if (desc) sortedArray = sortedArray.reverse()
return sortedArray
}
function resort() {
projects.value = updateSort(projects.value, sortBy.value, descending.value)
}
function updateDescending() {
descending.value = !descending.value
resort()
}
async function bulkEditLinks() {
@@ -635,7 +722,7 @@ async function bulkEditLinks() {
text: formatMessage(messages.bulkEditSuccessText),
type: 'success',
})
selectedProjects.value = []
selectedProjectIds.value = []
editLinks.issues.val = ''
editLinks.source.val = ''
@@ -656,7 +743,7 @@ async function bulkEditLinks() {
await initUserProjects()
if (user.value?.projects) {
projects.value = updateSort(user.value.projects, 'Name', false)
projects.value = user.value.projects.slice()
// minecraft_java_server type determined from component on projectV3
projects.value = projects.value.map((project) => {
@@ -677,126 +764,20 @@ if (user.value?.projects) {
}
</script>
<style lang="scss" scoped>
.grid-table {
display: grid;
grid-template-columns:
min-content min-content minmax(min-content, 2fr)
minmax(min-content, 1fr) minmax(min-content, 1fr) minmax(min-content, 1fr) min-content;
border-radius: var(--size-rounded-sm);
overflow: hidden;
margin-top: var(--spacing-card-md);
outline: 1px solid transparent;
.grid-table__row {
display: contents;
> div {
display: flex;
flex-direction: column;
justify-content: center;
padding: var(--spacing-card-sm);
// Left edge of table
&:first-child {
padding-left: var(--spacing-card-bg);
}
// Right edge of table
&:last-child {
padding-right: var(--spacing-card-bg);
}
}
&:nth-child(2n + 1) > div {
background-color: var(--color-table-alternate-row);
}
&.grid-table__header > div {
background-color: var(--color-bg);
font-weight: bold;
color: var(--color-text-dark);
padding-top: var(--spacing-card-bg);
padding-bottom: var(--spacing-card-bg);
}
}
@media screen and (max-width: 750px) {
display: flex;
flex-direction: column;
.grid-table__row {
display: grid;
grid-template: 'checkbox icon name type settings' 'checkbox icon id status settings';
grid-template-columns:
min-content min-content minmax(min-content, 2fr)
minmax(min-content, 1fr) min-content;
:nth-child(1) {
grid-area: checkbox;
}
:nth-child(2) {
grid-area: icon;
}
:nth-child(3) {
grid-area: name;
}
:nth-child(4) {
grid-area: id;
padding-top: 0;
}
:nth-child(5) {
grid-area: type;
}
:nth-child(6) {
grid-area: status;
padding-top: 0;
}
:nth-child(7) {
grid-area: settings;
}
}
.grid-table__header {
grid-template: 'checkbox settings';
grid-template-columns: min-content minmax(min-content, 1fr);
:nth-child(2),
:nth-child(3),
:nth-child(4),
:nth-child(5),
:nth-child(6) {
display: none;
}
}
}
@media screen and (max-width: 560px) {
.grid-table__row {
display: grid;
grid-template: 'checkbox icon name settings' 'checkbox icon id settings' 'checkbox icon type settings' 'checkbox icon status settings';
grid-template-columns: min-content min-content minmax(min-content, 1fr) min-content;
:nth-child(5) {
padding-top: 0;
}
}
.grid-table__header {
grid-template: 'checkbox settings';
grid-template-columns: min-content minmax(min-content, 1fr);
}
}
.project-name-cell {
display: flex;
min-width: 0;
min-height: 3.5rem;
align-items: center;
gap: var(--spacing-card-sm);
color: inherit;
text-decoration: none;
}
.project-title {
display: flex;
flex-direction: row;
min-width: 0;
gap: var(--spacing-card-xs);
svg {
@@ -804,29 +785,11 @@ if (user.value?.projects) {
}
}
.status {
margin-top: var(--spacing-card-xs);
}
.hover-link:hover {
.project-name-cell:hover .project-title-link,
.project-name-cell:focus-visible .project-title-link {
text-decoration: underline;
}
.labeled-control-row {
flex: 1;
display: flex;
flex-direction: row;
min-width: 0;
align-items: center;
gap: var(--spacing-card-md);
white-space: nowrap;
}
.small-select {
width: -moz-fit-content;
width: fit-content;
}
.label-button[data-active='true'] {
--background-color: var(--color-red);
--text-color: var(--color-brand-inverted);
+40 -29
View File
@@ -183,24 +183,24 @@
>
<div class="flex flex-col gap-6">
<template v-if="auth.user.has_totp && twoFactorStep === 0">
<label for="two-factor-code">
<div class="flex flex-col gap-2.5">
<span class="text-md font-semibold text-contrast">{{
formatMessage(messages.twoFactorEnterCodeLabel)
}}</span>
<StyledInput
id="two-factor-code"
v-model="twoFactorCode"
:maxlength="11"
:placeholder="formatMessage(messages.twoFactorCodePlaceholder)"
@keyup.enter="removeTwoFactor()"
/>
<span class="label__description">{{
formatMessage(messages.twoFactorEnterCodeDescription)
}}</span>
</label>
<StyledInput
id="two-factor-code"
v-model="twoFactorCode"
:maxlength="11"
:placeholder="formatMessage(messages.twoFactorCodePlaceholder)"
@keyup.enter="removeTwoFactor()"
/>
<p v-if="twoFactorIncorrect" class="known-errors m-0">
{{ formatMessage(messages.twoFactorIncorrectError) }}
</p>
<p v-if="twoFactorIncorrect" class="known-errors m-0">
{{ formatMessage(messages.twoFactorIncorrectError) }}
</p>
</div>
<div class="flex justify-end gap-2.5">
<ButtonStyled>
<button @click="$refs.manageTwoFactorModal.hide()">
@@ -222,12 +222,13 @@
<p class="m-0">
<IntlFormatted :message-id="messages.twoFactorSetupScan">
<template #authy-link="{ children }">
<a href="https://authy.com/" target="_blank" rel="noreferrer">
<a class="underline" href="https://authy.com/" target="_blank" rel="noreferrer">
<component :is="() => children" />
</a>
</template>
<template #microsoft-authenticator-link="{ children }">
<a
class="underline"
href="https://www.microsoft.com/en-us/security/mobile-authenticator-app"
target="_blank"
rel="noreferrer"
@@ -252,25 +253,22 @@
</p>
</template>
<template v-if="twoFactorStep === 1">
<label for="verify-code">
<div class="flex flex-col gap-2.5">
<span class="text-md font-semibold text-contrast">{{
formatMessage(messages.twoFactorVerifyCodeLabel)
}}</span>
<TwoFactorAuthCodeInput
ref="twoFactorCodeInput"
v-model="twoFactorCode"
@keyup.enter="verifyTwoFactorCode()"
/>
<span class="label__description">{{
formatMessage(messages.twoFactorVerifyCodeDescription)
}}</span>
</label>
<StyledInput
id="verify-code"
v-model="twoFactorCode"
:maxlength="6"
autocomplete="one-time-code"
:placeholder="formatMessage(messages.twoFactorCodePlaceholder)"
@keyup.enter="verifyTwoFactorCode()"
/>
<p v-if="twoFactorIncorrect" class="known-errors m-0">
{{ formatMessage(messages.twoFactorIncorrectError) }}
</p>
<p v-if="twoFactorIncorrect" class="known-errors m-0">
{{ formatMessage(messages.twoFactorIncorrectError) }}
</p>
</div>
</template>
<template v-if="twoFactorStep === 2">
<p class="m-0">{{ formatMessage(messages.twoFactorBackupCodesIntro) }}</p>
@@ -478,6 +476,7 @@
</template>
<script setup>
import { nextTick, watch } from 'vue'
import {
CheckIcon,
DownloadIcon,
@@ -503,6 +502,7 @@ import {
NewModal,
StyledInput,
Table,
TwoFactorAuthCodeInput,
useVIntl,
} from '@modrinth/ui'
import KeyIcon from 'assets/icons/auth/key.svg'
@@ -878,9 +878,10 @@ const manageTwoFactorModal = ref()
const twoFactorSecret = ref(null)
const twoFactorFlow = ref(null)
const twoFactorStep = ref(0)
const twoFactorCodeInput = ref()
async function showTwoFactorModal() {
twoFactorStep.value = 0
twoFactorCode.value = null
twoFactorCode.value = ''
twoFactorIncorrect.value = false
if (auth.value.user.has_totp) {
manageTwoFactorModal.value.show()
@@ -890,7 +891,6 @@ async function showTwoFactorModal() {
twoFactorSecret.value = null
twoFactorFlow.value = null
backupCodes.value = []
manageTwoFactorModal.value.show()
startLoading()
try {
@@ -908,11 +908,22 @@ async function showTwoFactorModal() {
})
}
stopLoading()
manageTwoFactorModal.value.show()
}
const twoFactorIncorrect = ref(false)
const twoFactorCode = ref(null)
const twoFactorCode = ref('')
const backupCodes = ref([])
watch(twoFactorStep, async (step) => {
if (step !== 1) {
return
}
await nextTick()
twoFactorCodeInput.value?.focus()
})
async function verifyTwoFactorCode() {
startLoading()
try {
+3 -4
View File
@@ -1,5 +1,6 @@
use crate::validate::{
SupportedGameVersions, ValidationError, ValidationResult, filter_out_packs,
SupportedGameVersions, ValidationError, ValidationResult,
validate_pack_formats,
};
use std::io::Cursor;
use zip::ZipArchive;
@@ -29,8 +30,6 @@ impl super::Validator for FabricValidator {
));
}
filter_out_packs(archive)?;
Ok(ValidationResult::Pass)
Ok(validate_pack_formats(archive))
}
}
+4 -7
View File
@@ -1,5 +1,6 @@
use crate::validate::{
SupportedGameVersions, ValidationError, ValidationResult, filter_out_packs,
SupportedGameVersions, ValidationError, ValidationResult,
validate_pack_formats,
};
use chrono::DateTime;
use std::io::Cursor;
@@ -36,9 +37,7 @@ impl super::Validator for ForgeValidator {
));
}
filter_out_packs(archive)?;
Ok(ValidationResult::Pass)
Ok(validate_pack_formats(archive))
}
}
@@ -74,8 +73,6 @@ impl super::Validator for LegacyForgeValidator {
));
};
filter_out_packs(archive)?;
Ok(ValidationResult::Pass)
Ok(validate_pack_formats(archive))
}
}
+3 -4
View File
@@ -1,5 +1,6 @@
use crate::validate::{
SupportedGameVersions, ValidationError, ValidationResult, filter_out_packs,
SupportedGameVersions, ValidationError, ValidationResult,
validate_pack_formats,
};
use std::io::Cursor;
use zip::ZipArchive;
@@ -29,8 +30,6 @@ impl super::Validator for LiteLoaderValidator {
));
}
filter_out_packs(archive)?;
Ok(ValidationResult::Pass)
Ok(validate_pack_formats(archive))
}
}
+8 -7
View File
@@ -326,9 +326,10 @@ fn game_version_supported(
}
}
pub fn filter_out_packs(
archive: &mut ZipArchive<Cursor<bytes::Bytes>>,
) -> Result<ValidationResult, ValidationError> {
#[must_use]
pub fn validate_pack_formats(
archive: &mut ZipArchive<Cursor<Bytes>>,
) -> ValidationResult {
if (archive.by_name("modlist.html").is_ok()
&& archive.by_name("manifest.json").is_ok())
|| archive
@@ -338,10 +339,10 @@ pub fn filter_out_packs(
.file_names()
.any(|x| x.starts_with("override/mods/") && x.ends_with(".jar"))
{
return Ok(ValidationResult::Warning(
"Invalid modpack file. You must upload a valid .MRPACK file.",
));
return ValidationResult::Warning(
"Invalid modpack file. Modpacks must be uploaded in the .mrpack format, not as a ZIP file.",
);
}
Ok(ValidationResult::Pass)
ValidationResult::Pass
}
+3 -4
View File
@@ -1,5 +1,6 @@
use crate::validate::{
SupportedGameVersions, ValidationError, ValidationResult, filter_out_packs,
SupportedGameVersions, ValidationError, ValidationResult,
validate_pack_formats,
};
use std::io::Cursor;
use zip::ZipArchive;
@@ -33,8 +34,6 @@ impl super::Validator for NeoForgeValidator {
));
}
filter_out_packs(archive)?;
Ok(ValidationResult::Pass)
Ok(validate_pack_formats(archive))
}
}
+3 -4
View File
@@ -1,5 +1,6 @@
use crate::validate::{
SupportedGameVersions, ValidationError, ValidationResult, filter_out_packs,
SupportedGameVersions, ValidationError, ValidationResult,
validate_pack_formats,
};
use chrono::DateTime;
use std::io::Cursor;
@@ -34,8 +35,6 @@ impl super::Validator for QuiltValidator {
));
}
filter_out_packs(archive)?;
Ok(ValidationResult::Pass)
Ok(validate_pack_formats(archive))
}
}
+3 -4
View File
@@ -1,5 +1,6 @@
use crate::validate::{
SupportedGameVersions, ValidationError, ValidationResult, filter_out_packs,
SupportedGameVersions, ValidationError, ValidationResult,
validate_pack_formats,
};
use std::io::Cursor;
use zip::ZipArchive;
@@ -29,8 +30,6 @@ impl super::Validator for RiftValidator {
));
}
filter_out_packs(archive)?;
Ok(ValidationResult::Pass)
Ok(validate_pack_formats(archive))
}
}
@@ -0,0 +1,12 @@
{
"db_name": "SQLite",
"query": "\n\t\t\t\tUPDATE instance_content_entries\n\t\t\t\tSET file_id = ?, modified_at = ?\n\t\t\t\tWHERE instance_id = ? AND file_id = ?\n\t\t\t\t",
"describe": {
"columns": [],
"parameters": {
"Right": 4
},
"nullable": []
},
"hash": "028eb6e4c6e87388ea7a371bd7b41e2b10c828ab93140f6d9091fbc76e03cdec"
}
@@ -0,0 +1,12 @@
{
"db_name": "SQLite",
"query": "\n\t\tUPDATE instances\n\t\tSET\n\t\t\tsubmitted_time_played = CASE\n\t\t\t\tWHEN submitted_time_played < 0 THEN ?\n\t\t\t\tWHEN submitted_time_played > ? THEN ?\n\t\t\t\tELSE submitted_time_played + ?\n\t\t\tEND,\n\t\t\trecent_time_played = 0,\n\t\t\tmodified = ?\n\t\tWHERE id = ?\n\t\t",
"describe": {
"columns": [],
"parameters": {
"Right": 6
},
"nullable": []
},
"hash": "3af5ce6fdc84ce12da06b92950d0249bdc4023c0b3d0c683318079ce93c9dd56"
}

Some files were not shown because too many files have changed in this diff Show More