Translate toolbox

pull/256/head
Candid Dauth 2024-04-04 21:52:05 +02:00
rodzic 6ec952ca5a
commit 45e4171544
8 zmienionych plików z 140 dodań i 30 usunięć

Wyświetl plik

@ -96,6 +96,55 @@ const messagesDe = {
"units": `Einheiten`,
"units-metric": `Metrisch`,
"units-us": `US customary (Meilen und Füße)`
},
"toolbox-add-dropdown": {
"label": `Erstellen`,
"manage-types": `Objekttypen verwalten`
},
"toolbox-collab-maps-dropdown": {
"label": `Kollaborative Karten`,
"bookmark": `Karte „{{padName}}“ als Favoriten hinzufügen`,
"manage-bookmarks": `Favoriten verwalten`,
"create-map": `Neue Karte erstellen`,
"open-map": `Existierende Karte öffnen`,
"open-other-map": `Andere Karte öffnen`,
"close-map": `Karte „{{padName}}“ schließen`
},
"toolbox-help-dropdown": {
"label": `Hilfe`,
"documentation": `Benutzerhandbuch`,
"matrix-chat": `Matrix-Chat`,
"bugtracker": `Fehler melden`,
"forum": `Frage stellen`,
"about": `Über {{appName}}`
},
"toolbox-map-style-dropdown": {
"label": `Kartenstil`,
"openstreetmap": `OpenStreetMap`,
"google-maps": `Google Maps`,
"google-maps-satellite": `Google Maps (Satellit)`,
"bing-maps": `Bing Maps`
},
"toolbox-tools-dropdown": {
"label": `Werkzeuge`,
"share": `Teilen`,
"open-file": `Datei öffnen`,
"export": `Exportieren`,
"filter": `Filter`,
"settings": `Eigenschaften`,
"history": `Versionsgeschichte`,
"user-preferences": `Benutzereinstellungen`
},
"toolbox-views-dropdown": {
"label": `Ansichten`,
"save-current-view": `Ansicht speichern`,
"manage-views": `Ansichten verwalten`
}
};

Wyświetl plik

@ -96,6 +96,55 @@ const messagesEn = {
"units": `Units`,
"units-metric": `Metric`,
"units-us": `US customary (miles, feet)`
},
"toolbox-add-dropdown": {
"label": `Add`,
"manage-types": `Manage types`
},
"toolbox-collab-maps-dropdown": {
"label": `Collaborative maps`,
"bookmark": `Bookmark map “{{padName}}”`,
"manage-bookmarks": `Manage bookmarks`,
"create-map": `Create a new map`,
"open-map": `Open an existing map`,
"open-other-map": `Open another map`,
"close-map": `Close map “{{padName}}”`
},
"toolbox-help-dropdown": {
"label": `Help`,
"documentation": `Documentation`,
"matrix-chat": `Matrix chat room`,
"bugtracker": `Report a problem`,
"forum": `Ask a question`,
"about": `About {{appName}}`
},
"toolbox-map-style-dropdown": {
"label": `Map style`,
"openstreetmap": `OpenStreetMap`,
"google-maps": `Google Maps`,
"google-maps-satellite": `Google Maps (Satellite)`,
"bing-maps": `Bing Maps`
},
"toolbox-tools-dropdown": {
"label": `Tools`,
"share": `Share`,
"open-file": `Open file`,
"export": `Export`,
"filter": `Filter`,
"settings": `Settings`,
"history": `History`,
"user-preferences": `User preferences`
},
"toolbox-views-dropdown": {
"label": `Views`,
"save-current-view": `Save current view`,
"manage-views": `Manage views`
}
};

Wyświetl plik

@ -8,6 +8,7 @@
import DropdownMenu from "../ui/dropdown-menu.vue";
import { injectContextRequired, requireClientContext, requireMapContext } from "../facil-map-context-provider/facil-map-context-provider.vue";
import { getOrderedTypes, sleep } from "facilmap-utils";
import { useI18n } from "../../utils/i18n";
const emit = defineEmits<{
"hide-sidebar": [];
@ -17,6 +18,7 @@
const client = requireClientContext(context);
const mapContext = requireMapContext(context);
const toasts = useToasts();
const i18n = useI18n();
const dialog = ref<
| "manage-types"
@ -42,7 +44,7 @@
:isDisabled="mapContext.interaction"
buttonClass="nav-link"
menuClass="dropdown-menu-end"
label="Add"
:label="i18n.t('toolbox-add-dropdown.label')"
>
<li v-for="type in orderedTypes" :key="type.id">
<a
@ -65,7 +67,7 @@
href="javascript:"
@click="dialog = 'manage-types'; emit('hide-sidebar')"
draggable="false"
>Manage types</a>
>{{i18n.t("toolbox-add-dropdown.manage-types")}}</a>
</li>
</DropdownMenu>

Wyświetl plik

@ -7,10 +7,12 @@
import DropdownMenu from "../ui/dropdown-menu.vue";
import { injectContextRequired, requireClientContext, requireMapContext } from "../facil-map-context-provider/facil-map-context-provider.vue";
import { normalizePadName } from "facilmap-utils";
import { useI18n } from "../../utils/i18n";
const context = injectContextRequired();
const client = requireClientContext(context);
const mapContext = requireMapContext(context);
const i18n = useI18n();
const emit = defineEmits<{
"hide-sidebar": [];
@ -44,7 +46,7 @@
:isDisabled="mapContext.interaction"
buttonClass="nav-link"
menuClass="dropdown-menu-end"
label="Collaborative maps"
:label="i18n.t('toolbox-collab-maps-dropdown.label')"
>
<li v-for="bookmark in storage.bookmarks" :key="bookmark.id">
<a
@ -66,7 +68,7 @@
href="javascript:"
@click="addBookmark()"
draggable="false"
>Bookmark {{normalizePadName(client.padData.name)}}</a>
>{{i18n.t('toolbox-collab-maps-dropdown.bookmark', { padName: normalizePadName(client.padData.name) })}}</a>
</li>
<li v-if="storage.bookmarks.length > 0">
@ -75,7 +77,7 @@
href="javascript:"
@click="dialog = 'manage-bookmarks'; emit('hide-sidebar')"
draggable="false"
>Manage bookmarks</a>
>{{i18n.t('toolbox-collab-maps-dropdown.manage-bookmarks')}}</a>
</li>
<li v-if="(client.padData && !isBookmarked) || storage.bookmarks.length > 0">
@ -88,7 +90,7 @@
href="javascript:"
@click="dialog = 'create-pad'; emit('hide-sidebar')"
draggable="false"
>Create a new map</a>
>{{i18n.t('toolbox-collab-maps-dropdown.create-map')}}</a>
</li>
<li>
@ -97,7 +99,7 @@
href="javascript:"
@click="dialog = 'open-map'; emit('hide-sidebar')"
draggable="false"
>Open {{client.padId ? "another" : "an existing"}} map</a>
>{{client.padId ? i18n.t("toolbox-collab-maps-dropdown.open-other-map") : i18n.t("toolbox-collab-maps-dropdown.open-map")}}</a>
</li>
<li v-if="client.padData">
@ -106,7 +108,7 @@
:href="`${context.baseUrl}#${hash}`"
@click.exact.prevent="client.openPad(undefined)"
draggable="false"
>Close {{client.padData.name}}</a>
>{{i18n.t("toolbox-collab-maps-dropdown.close-map", { padName: client.padData.name })}}</a>
</li>
</DropdownMenu>

Wyświetl plik

@ -4,8 +4,10 @@
import DropdownMenu from "../ui/dropdown-menu.vue";
import { injectContextRequired } from "../facil-map-context-provider/facil-map-context-provider.vue";
import Icon from "../ui/icon.vue";
import { useI18n } from "../../utils/i18n";
const context = injectContextRequired();
const i18n = useI18n();
const emit = defineEmits<{
"hide-sidebar": [];
@ -23,7 +25,7 @@
isLink
buttonClass="nav-link"
menuClass="dropdown-menu-end"
label="Help"
:label="i18n.t('toolbox-help-dropdown.label')"
>
<li>
<a
@ -32,7 +34,7 @@
target="_blank"
draggable="false"
>
<span>Documentation</span>
<span>{{i18n.t("toolbox-help-dropdown.documentation")}}</span>
<Icon icon="new-window"></Icon>
</a>
</li>
@ -44,7 +46,7 @@
target="_blank"
draggable="false"
>
<span>Matrix chat room</span>
<span>{{i18n.t("toolbox-help-dropdown.matrix-chat")}}</span>
<Icon icon="new-window"></Icon>
</a>
</li>
@ -56,7 +58,7 @@
target="_blank"
draggable="false"
>
<span>Report a problem</span>
<span>{{i18n.t("toolbox-help-dropdown.bugtracker")}}</span>
<Icon icon="new-window"></Icon>
</a>
</li>
@ -68,7 +70,7 @@
target="_blank"
draggable="false"
>
<span>Ask a question</span>
<span>{{i18n.t("toolbox-help-dropdown.forum")}}</span>
<Icon icon="new-window"></Icon>
</a>
</li>
@ -79,7 +81,7 @@
@click="dialog = 'about'; emit('hide-sidebar')"
href="javascript:"
draggable="false"
>About {{context.appName}}</a>
>{{i18n.t("toolbox-help-dropdown.about", { appName: context.appName })}}</a>
</li>
</DropdownMenu>

Wyświetl plik

@ -4,9 +4,11 @@
import DropdownMenu from "../ui/dropdown-menu.vue";
import { injectContextRequired, requireMapContext } from "../facil-map-context-provider/facil-map-context-provider.vue";
import Icon from "../ui/icon.vue";
import { useI18n } from "../../utils/i18n";
const context = injectContextRequired();
const mapContext = requireMapContext(context);
const i18n = useI18n();
const links = computed(() => {
const v = mapContext.value;
@ -52,7 +54,7 @@
isLink
buttonClass="nav-link"
menuClass="dropdown-menu-end"
label="Map style"
:label="i18n.t('toolbox-map-style-dropdown.label')"
>
<li v-for="layerInfo in baseLayers" :key="layerInfo.key">
<a
@ -89,7 +91,7 @@
target="_blank"
draggable="false"
>
<span>OpenStreetMap</span>
<span>{{i18n.t("toolbox-map-style-dropdown.openstreetmap")}}</span>
<Icon icon="new-window"></Icon>
</a>
</li>
@ -101,7 +103,7 @@
target="_blank"
draggable="false"
>
<span>Google Maps</span>
<span>{{i18n.t("toolbox-map-style-dropdown.google-maps")}}</span>
<Icon icon="new-window"></Icon>
</a>
</li>
@ -113,7 +115,7 @@
target="_blank"
draggable="false"
>
<span>Google Maps (Satellite)</span>
<span>{{i18n.t("toolbox-map-style-dropdown.google-maps-satellite")}}</span>
<Icon icon="new-window"></Icon>
</a>
</li>
@ -125,7 +127,7 @@
target="_blank"
draggable="false"
>
<span>Bing Maps</span>
<span>{{i18n.t("toolbox-map-style-dropdown.bing-maps")}}</span>
<Icon icon="new-window"></Icon>
</a>
</li>

Wyświetl plik

@ -8,9 +8,11 @@
import { injectContextRequired, requireClientContext } from "../facil-map-context-provider/facil-map-context-provider.vue";
import ExportDialog from "../export-dialog.vue";
import UserPreferencesDialog from "../user-preferences-dialog.vue";
import { useI18n } from "../../utils/i18n";
const context = injectContextRequired();
const client = requireClientContext(context);
const i18n = useI18n();
const importTabContext = toRef(() => context.components.importTab);
const props = defineProps<{
@ -38,7 +40,7 @@
isLink
buttonClass="nav-link"
menuClass="dropdown-menu-end"
label="Tools"
:label="i18n.t('toolbox-tools-dropdown.label')"
>
<li v-if="props.interactive">
<a
@ -46,7 +48,7 @@
href="javascript:"
@click="dialog = 'share'; emit('hide-sidebar')"
draggable="false"
>Share</a>
>{{i18n.t("toolbox-tools-dropdown.share")}}</a>
</li>
<li v-if="props.interactive && importTabContext">
@ -55,7 +57,7 @@
href="javascript:"
@click="importTabContext.openFilePicker(); emit('hide-sidebar')"
draggable="false"
>Open file</a>
>{{i18n.t("toolbox-tools-dropdown.open-file")}}</a>
</li>
<li v-if="client.padData">
@ -64,7 +66,7 @@
href="javascript:"
@click="dialog = 'export'; emit('hide-sidebar')"
draggable="false"
>Export</a>
>{{i18n.t("toolbox-tools-dropdown.export")}}</a>
</li>
<li v-if="client.padData">
@ -77,7 +79,7 @@
href="javascript:"
@click="dialog = 'edit-filter'; emit('hide-sidebar')"
draggable="false"
>Filter</a>
>{{i18n.t("toolbox-tools-dropdown.filter")}}</a>
</li>
<li v-if="client.writable == 2 && client.padData">
@ -86,7 +88,7 @@
href="javascript:"
@click="dialog = 'edit-pad'; emit('hide-sidebar')"
draggable="false"
>Settings</a>
>{{i18n.t("toolbox-tools-dropdown.settings")}}</a>
</li>
<li v-if="!client.readonly && client.padData">
@ -95,7 +97,7 @@
href="javascript:"
@click="dialog = 'history'; emit('hide-sidebar')"
draggable="false"
>History</a>
>{{i18n.t("toolbox-tools-dropdown.history")}}</a>
</li>
<li>
@ -108,7 +110,7 @@
href="javascript:"
@click="dialog = 'user-preferences'; emit('hide-sidebar')"
draggable="false"
>User preferences</a>
>{{i18n.t("toolbox-tools-dropdown.user-preferences")}}</a>
</li>
</DropdownMenu>

Wyświetl plik

@ -7,10 +7,12 @@
import DropdownMenu from "../ui/dropdown-menu.vue";
import { injectContextRequired, requireClientContext, requireMapContext } from "../facil-map-context-provider/facil-map-context-provider.vue";
import { getOrderedViews } from "facilmap-utils";
import { useI18n } from "../../utils/i18n";
const context = injectContextRequired();
const client = requireClientContext(context);
const mapContext = requireMapContext(context);
const i18n = useI18n();
const emit = defineEmits<{
"hide-sidebar": [];
@ -35,7 +37,7 @@
isLink
buttonClass="nav-link"
menuClass="dropdown-menu-end"
label="Views"
:label="i18n.t('toolbox-views-dropdown.label')"
>
<li v-for="view in orderedViews" :key="view.id">
<a
@ -56,7 +58,7 @@
href="javascript:"
@click="dialog = 'save-view'; emit('hide-sidebar')"
draggable="false"
>Save current view</a>
>{{i18n.t("toolbox-views-dropdown.save-current-view")}}</a>
</li>
<li v-if="client.writable == 2 && orderedViews.length > 0">
@ -65,7 +67,7 @@
href="javascript:"
@click="dialog = 'manage-views'; emit('hide-sidebar')"
draggable="false"
>Manage views</a>
>{{i18n.t("toolbox-views-dropdown.manage-views")}}</a>
</li>
</DropdownMenu>