Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
724c3b80ee | ||
|
|
a27d014c59 | ||
|
|
26bb947940 | ||
|
|
1131073323 | ||
|
|
59cfe50793 | ||
|
|
db07acc37c | ||
|
|
39628d84dc | ||
|
|
78901f2375 | ||
|
|
a4985a63a8 | ||
|
|
f7ec09942d | ||
|
|
c165fef588 | ||
|
|
4052523ba9 | ||
|
|
e30749a50e |
@@ -57,7 +57,12 @@ jobs:
|
||||
java-version: 17
|
||||
cache: gradle
|
||||
|
||||
# The action installs the legacy `tools` package by default, which the
|
||||
# runner's cmdline-tools 16 no longer carries ("Failed to find package
|
||||
# 'tools'"). Gradle fetches the platforms and build-tools it needs.
|
||||
- uses: android-actions/setup-android@v3
|
||||
with:
|
||||
packages: platform-tools
|
||||
|
||||
- name: Cache Android NDK / CMake
|
||||
uses: actions/cache@v4
|
||||
@@ -205,9 +210,12 @@ jobs:
|
||||
set -euo pipefail
|
||||
APK=android/app/build/outputs/apk/release/app-release.apk
|
||||
apksigner verify --verbose --print-certs "$APK"
|
||||
# build-tools 36 prints "Signer #1 certificate SHA-256 digest: …",
|
||||
# 37 prints "V3.0 Signer: certificate …" and "V2 Signer: …".
|
||||
signers() {
|
||||
apksigner verify --print-certs "$@" "$APK" \
|
||||
| sed -n 's/^Signer #[0-9]* certificate SHA-256 digest: //p'
|
||||
| sed -n -E 's/^(Signer #[0-9]+|V[0-9.]+ Signer:) certificate SHA-256 digest: //p' \
|
||||
| sort -u
|
||||
}
|
||||
MODERN=$(signers --min-sdk-version 28)
|
||||
LEGACY=$(signers --max-sdk-version 27)
|
||||
|
||||
@@ -58,10 +58,11 @@ import { useCalendarStore } from './src/stores/calendar-store';
|
||||
import { useContactsStore } from './src/stores/contacts-store';
|
||||
import { useEmailStore, viewerParamsForRow } from './src/stores/email-store';
|
||||
import { mailboxAccountId } from './src/lib/mailbox-tree';
|
||||
import { prefetchMessage } from './src/lib/email-detail-cache';
|
||||
import { loadDetail, prefetchMessage } from './src/lib/email-detail-cache';
|
||||
import { useHasCalendar, useHasContacts, useHasFiles } from './src/lib/capabilities';
|
||||
import { useSettingsStore } from './src/stores/settings-store';
|
||||
import { useLocaleStore } from './src/stores/locale-store';
|
||||
import { toast } from './src/stores/toast-store';
|
||||
import { useNetworkStore } from './src/stores/network-store';
|
||||
import { useUpdatesStore } from './src/stores/updates-store';
|
||||
import { UpdateBanner } from './src/components/UpdateBanner';
|
||||
@@ -70,7 +71,18 @@ import { ToastHost } from './src/components/ToastHost';
|
||||
import { UndoSnackbar } from './src/components/UndoSnackbar';
|
||||
import { AppIconBadge } from './src/components/AppIconBadge';
|
||||
import { getEmails } from './src/api/email';
|
||||
import { handleDeepLink, parseDeepLink, shareToDeepLink, type DeepLink } from './src/navigation/linking';
|
||||
import { signOutWidgets, startWidgetSync } from './src/widgets/sync';
|
||||
import { draftContextFromEmail } from './src/lib/draft-context';
|
||||
import {
|
||||
acceptSignInLink,
|
||||
handleDeepLink,
|
||||
parseDeepLink,
|
||||
routeParkedSignInLink,
|
||||
shareToDeepLink,
|
||||
type DeepLink,
|
||||
} from './src/navigation/linking';
|
||||
import { usePendingSignInLinkStore } from './src/navigation/pending-sign-in-link';
|
||||
import { MAX_ACCOUNTS } from './src/lib/account-utils';
|
||||
import { addShareListener, getInitialShare, shareAttachments } from './src/lib/share-intent';
|
||||
import { OfflineCacheBanner } from './src/components/OfflineCacheBanner';
|
||||
import { useOfflineCacheStore } from './src/stores/offline-cache-store';
|
||||
@@ -83,6 +95,10 @@ const Stack = createNativeStackNavigator<RootStackParamList>();
|
||||
const Tab = createBottomTabNavigator<MainTabsParamList>();
|
||||
const navigationRef = createNavigationContainerRef<RootStackParamList>();
|
||||
|
||||
// The launch URL is read once per process: Android hands the same intent back
|
||||
// on every getInitialURL(), and a sign-in link must not run twice.
|
||||
let initialSignInLinkRead = false;
|
||||
|
||||
async function navigateToNotificationTap(payload: NotificationTapPayload): Promise<void> {
|
||||
if (!navigationRef.isReady()) return;
|
||||
|
||||
@@ -131,16 +147,27 @@ async function openCalendarReminder(target: CalendarReminderTarget): Promise<voi
|
||||
// Deep links (bulwarkmobile://, webmail https permalinks, mailto:) and
|
||||
// Android share-sheet payloads all end up here once the navigator is ready.
|
||||
async function openDeepLink(link: DeepLink): Promise<void> {
|
||||
await handleDeepLink(link, {
|
||||
const opened = await handleDeepLink(link, {
|
||||
navigation: navigationRef,
|
||||
resolveThreadId: async (emailId) => {
|
||||
resolveThreadId: async (emailId, jmapAccountId) => {
|
||||
try {
|
||||
const [email] = await getEmails([emailId]);
|
||||
const [email] = await getEmails([emailId], jmapAccountId);
|
||||
return email?.threadId ?? null;
|
||||
} catch {
|
||||
return null;
|
||||
}
|
||||
},
|
||||
openDraft: async (emailId, jmapAccountId) => {
|
||||
try {
|
||||
// Cache first, so a draft read before still opens offline.
|
||||
const draft = draftContextFromEmail(await loadDetail(emailId, jmapAccountId), jmapAccountId);
|
||||
if (!navigationRef.isReady()) return false;
|
||||
navigationRef.navigate('Compose', { draft });
|
||||
return true;
|
||||
} catch {
|
||||
return false;
|
||||
}
|
||||
},
|
||||
switchAccount: async (accountId) => {
|
||||
const auth = useAuthStore.getState();
|
||||
if (auth.activeAccountId === accountId) return true;
|
||||
@@ -149,6 +176,9 @@ async function openDeepLink(link: DeepLink): Promise<void> {
|
||||
return useAuthStore.getState().activeAccountId === accountId;
|
||||
},
|
||||
});
|
||||
// A widget or a link elsewhere brought the app up for this; say it failed
|
||||
// rather than leave the user wondering why the app just opened.
|
||||
if (!opened) toast.error(useLocaleStore.getState().t('deep_link.open_failed', "Couldn't open this"));
|
||||
}
|
||||
|
||||
// Toasts and the undo bar show on whichever stack screen is up, so a failure
|
||||
@@ -385,6 +415,14 @@ export default function App() {
|
||||
return useNetworkStore.getState().init();
|
||||
}, []);
|
||||
|
||||
// Home-screen widgets follow the signed-in data; once the last account is
|
||||
// gone they are wiped so no mail stays visible on the launcher.
|
||||
React.useEffect(() => {
|
||||
if (isAuthenticated) return startWidgetSync();
|
||||
if (hasRestoredSession) void signOutWidgets();
|
||||
return undefined;
|
||||
}, [isAuthenticated, hasRestoredSession]);
|
||||
|
||||
// When the network flips back on while we're authenticated-but-offline
|
||||
// (no live JMAP session), retry the session so the user lands back on
|
||||
// live data without needing to relaunch.
|
||||
@@ -541,6 +579,52 @@ export default function App() {
|
||||
};
|
||||
}, [isAuthenticated]);
|
||||
|
||||
// Sign-in links (`bulwarkmail://pair?…` from the webmail's Link Mobile App,
|
||||
// `bulwarkmail://connect?…`) work signed out too, so unlike the links above
|
||||
// they are listened for from launch. They are parked for the login screen
|
||||
// (the signed-out one takes them as it mounts), marked as coming from
|
||||
// outside the app: any page or app can fire one, so the login screen asks
|
||||
// before it redeems or opens anything.
|
||||
React.useEffect(() => {
|
||||
if (!initialSignInLinkRead) {
|
||||
initialSignInLinkRead = true;
|
||||
void Linking.getInitialURL().then((url) => { acceptSignInLink(url); }).catch(() => undefined);
|
||||
}
|
||||
const subscription = Linking.addEventListener('url', ({ url }) => { acceptSignInLink(url); });
|
||||
return () => subscription.remove();
|
||||
}, []);
|
||||
|
||||
// Signed in, a sign-in link adds an account: open Add account, whose login
|
||||
// screen takes the parked link (or says why a refused one won't be used).
|
||||
// On a cold start the navigator mounts right after the auth gate flips, so
|
||||
// wait for it like a reminder tap does.
|
||||
const signInLinkPending = usePendingSignInLinkStore((s) => s.pending !== null || s.refusal !== null);
|
||||
const addAccountForLink = isAuthenticated && signInLinkPending;
|
||||
React.useEffect(() => {
|
||||
if (!addAccountForLink) return;
|
||||
let cancelled = false;
|
||||
void (async () => {
|
||||
for (let attempt = 0; attempt < 50 && !navigationRef.isReady(); attempt++) {
|
||||
await new Promise((resolve) => setTimeout(resolve, 100));
|
||||
if (cancelled) return;
|
||||
}
|
||||
if (cancelled || !navigationRef.isReady()) return;
|
||||
const route = routeParkedSignInLink(useAccountStore.getState().accounts.length);
|
||||
if (route === 'account-limit') {
|
||||
// Said like the Add account buttons say it, instead of opening a
|
||||
// screen whose sign-in can only fail.
|
||||
const t = useLocaleStore.getState().t;
|
||||
toast.error(
|
||||
t('settings.account.accounts.limit', 'Maximum of {count} accounts reached.', { count: MAX_ACCOUNTS }),
|
||||
t('login.mobile.err_account_limit_detail', 'Remove an account in Settings to add another one.'),
|
||||
);
|
||||
return;
|
||||
}
|
||||
if (route === 'add-account') navigationRef.navigate('AddAccount');
|
||||
})();
|
||||
return () => { cancelled = true; };
|
||||
}, [addAccountForLink]);
|
||||
|
||||
// Re-register the device with the configured relay once authenticated,
|
||||
// and whenever the FCM token rotates. Honours the user's notification
|
||||
// preference - flipping it off tears down THIS account's subscription so
|
||||
|
||||
@@ -28,6 +28,13 @@
|
||||
<category android:name="android.intent.category.BROWSABLE"/>
|
||||
<data android:scheme="bulwarkmobile"/>
|
||||
</intent-filter>
|
||||
<!-- Sign-in links from the webmail (bulwarkmail://pair?..., bulwarkmail://connect?...). -->
|
||||
<intent-filter>
|
||||
<action android:name="android.intent.action.VIEW"/>
|
||||
<category android:name="android.intent.category.DEFAULT"/>
|
||||
<category android:name="android.intent.category.BROWSABLE"/>
|
||||
<data android:scheme="bulwarkmail"/>
|
||||
</intent-filter>
|
||||
<intent-filter>
|
||||
<action android:name="android.intent.action.VIEW"/>
|
||||
<action android:name="android.intent.action.SENDTO"/>
|
||||
@@ -66,5 +73,232 @@
|
||||
</intent-filter>
|
||||
</service>
|
||||
<meta-data android:name="com.google.firebase.messaging.default_notification_channel_id" android:value="bulwark_mail"/>
|
||||
<!-- BEGIN WIDGETS: generated by scripts/sync-android-widgets.mjs, do not edit by hand -->
|
||||
<service android:name="com.reactnativeandroidwidget.RNWidgetCollectionService" android:permission="android.permission.BIND_REMOTEVIEWS"/>
|
||||
<receiver android:name=".widget.InboxWidget" android:exported="false" android:label="@string/widgetprovider_inboxwidget_label">
|
||||
<intent-filter>
|
||||
<action android:name="android.appwidget.action.APPWIDGET_UPDATE"/>
|
||||
<action android:name="com.anonymous.bulwarkmobile.WIDGET_CLICK"/>
|
||||
</intent-filter>
|
||||
<meta-data android:name="android.appwidget.provider" android:resource="@xml/widgetprovider_inboxwidget"/>
|
||||
</receiver>
|
||||
<receiver android:name=".widget.TriageWidget" android:exported="false" android:label="@string/widgetprovider_triagewidget_label">
|
||||
<intent-filter>
|
||||
<action android:name="android.appwidget.action.APPWIDGET_UPDATE"/>
|
||||
<action android:name="com.anonymous.bulwarkmobile.WIDGET_CLICK"/>
|
||||
</intent-filter>
|
||||
<meta-data android:name="android.appwidget.provider" android:resource="@xml/widgetprovider_triagewidget"/>
|
||||
</receiver>
|
||||
<receiver android:name=".widget.UnreadCountWidget" android:exported="false" android:label="@string/widgetprovider_unreadcountwidget_label">
|
||||
<intent-filter>
|
||||
<action android:name="android.appwidget.action.APPWIDGET_UPDATE"/>
|
||||
<action android:name="com.anonymous.bulwarkmobile.WIDGET_CLICK"/>
|
||||
</intent-filter>
|
||||
<meta-data android:name="android.appwidget.provider" android:resource="@xml/widgetprovider_unreadcountwidget"/>
|
||||
</receiver>
|
||||
<receiver android:name=".widget.LatestMessageWidget" android:exported="false" android:label="@string/widgetprovider_latestmessagewidget_label">
|
||||
<intent-filter>
|
||||
<action android:name="android.appwidget.action.APPWIDGET_UPDATE"/>
|
||||
<action android:name="com.anonymous.bulwarkmobile.WIDGET_CLICK"/>
|
||||
</intent-filter>
|
||||
<meta-data android:name="android.appwidget.provider" android:resource="@xml/widgetprovider_latestmessagewidget"/>
|
||||
</receiver>
|
||||
<receiver android:name=".widget.FolderCountsWidget" android:exported="false" android:label="@string/widgetprovider_foldercountswidget_label">
|
||||
<intent-filter>
|
||||
<action android:name="android.appwidget.action.APPWIDGET_UPDATE"/>
|
||||
<action android:name="com.anonymous.bulwarkmobile.WIDGET_CLICK"/>
|
||||
</intent-filter>
|
||||
<meta-data android:name="android.appwidget.provider" android:resource="@xml/widgetprovider_foldercountswidget"/>
|
||||
</receiver>
|
||||
<receiver android:name=".widget.MailShortcutsWidget" android:exported="false" android:label="@string/widgetprovider_mailshortcutswidget_label">
|
||||
<intent-filter>
|
||||
<action android:name="android.appwidget.action.APPWIDGET_UPDATE"/>
|
||||
<action android:name="com.anonymous.bulwarkmobile.WIDGET_CLICK"/>
|
||||
</intent-filter>
|
||||
<meta-data android:name="android.appwidget.provider" android:resource="@xml/widgetprovider_mailshortcutswidget"/>
|
||||
</receiver>
|
||||
<receiver android:name=".widget.AllAccountsWidget" android:exported="false" android:label="@string/widgetprovider_allaccountswidget_label">
|
||||
<intent-filter>
|
||||
<action android:name="android.appwidget.action.APPWIDGET_UPDATE"/>
|
||||
<action android:name="com.anonymous.bulwarkmobile.WIDGET_CLICK"/>
|
||||
</intent-filter>
|
||||
<meta-data android:name="android.appwidget.provider" android:resource="@xml/widgetprovider_allaccountswidget"/>
|
||||
</receiver>
|
||||
<receiver android:name=".widget.StarredWidget" android:exported="false" android:label="@string/widgetprovider_starredwidget_label">
|
||||
<intent-filter>
|
||||
<action android:name="android.appwidget.action.APPWIDGET_UPDATE"/>
|
||||
<action android:name="com.anonymous.bulwarkmobile.WIDGET_CLICK"/>
|
||||
</intent-filter>
|
||||
<meta-data android:name="android.appwidget.provider" android:resource="@xml/widgetprovider_starredwidget"/>
|
||||
</receiver>
|
||||
<receiver android:name=".widget.FavouritePeopleWidget" android:exported="false" android:label="@string/widgetprovider_favouritepeoplewidget_label">
|
||||
<intent-filter>
|
||||
<action android:name="android.appwidget.action.APPWIDGET_UPDATE"/>
|
||||
<action android:name="com.anonymous.bulwarkmobile.WIDGET_CLICK"/>
|
||||
</intent-filter>
|
||||
<meta-data android:name="android.appwidget.provider" android:resource="@xml/widgetprovider_favouritepeoplewidget"/>
|
||||
</receiver>
|
||||
<receiver android:name=".widget.MailSearchWidget" android:exported="false" android:label="@string/widgetprovider_mailsearchwidget_label">
|
||||
<intent-filter>
|
||||
<action android:name="android.appwidget.action.APPWIDGET_UPDATE"/>
|
||||
<action android:name="com.anonymous.bulwarkmobile.WIDGET_CLICK"/>
|
||||
</intent-filter>
|
||||
<meta-data android:name="android.appwidget.provider" android:resource="@xml/widgetprovider_mailsearchwidget"/>
|
||||
</receiver>
|
||||
<receiver android:name=".widget.OutboxWidget" android:exported="false" android:label="@string/widgetprovider_outboxwidget_label">
|
||||
<intent-filter>
|
||||
<action android:name="android.appwidget.action.APPWIDGET_UPDATE"/>
|
||||
<action android:name="com.anonymous.bulwarkmobile.WIDGET_CLICK"/>
|
||||
</intent-filter>
|
||||
<meta-data android:name="android.appwidget.provider" android:resource="@xml/widgetprovider_outboxwidget"/>
|
||||
</receiver>
|
||||
<receiver android:name=".widget.TagWidget" android:exported="false" android:label="@string/widgetprovider_tagwidget_label">
|
||||
<intent-filter>
|
||||
<action android:name="android.appwidget.action.APPWIDGET_UPDATE"/>
|
||||
<action android:name="com.anonymous.bulwarkmobile.WIDGET_CLICK"/>
|
||||
</intent-filter>
|
||||
<meta-data android:name="android.appwidget.provider" android:resource="@xml/widgetprovider_tagwidget"/>
|
||||
</receiver>
|
||||
<receiver android:name=".widget.LastDraftWidget" android:exported="false" android:label="@string/widgetprovider_lastdraftwidget_label">
|
||||
<intent-filter>
|
||||
<action android:name="android.appwidget.action.APPWIDGET_UPDATE"/>
|
||||
<action android:name="com.anonymous.bulwarkmobile.WIDGET_CLICK"/>
|
||||
</intent-filter>
|
||||
<meta-data android:name="android.appwidget.provider" android:resource="@xml/widgetprovider_lastdraftwidget"/>
|
||||
</receiver>
|
||||
<receiver android:name=".widget.AgendaWidget" android:exported="false" android:label="@string/widgetprovider_agendawidget_label">
|
||||
<intent-filter>
|
||||
<action android:name="android.appwidget.action.APPWIDGET_UPDATE"/>
|
||||
<action android:name="com.anonymous.bulwarkmobile.WIDGET_CLICK"/>
|
||||
</intent-filter>
|
||||
<meta-data android:name="android.appwidget.provider" android:resource="@xml/widgetprovider_agendawidget"/>
|
||||
</receiver>
|
||||
<receiver android:name=".widget.WeekWidget" android:exported="false" android:label="@string/widgetprovider_weekwidget_label">
|
||||
<intent-filter>
|
||||
<action android:name="android.appwidget.action.APPWIDGET_UPDATE"/>
|
||||
<action android:name="com.anonymous.bulwarkmobile.WIDGET_CLICK"/>
|
||||
</intent-filter>
|
||||
<meta-data android:name="android.appwidget.provider" android:resource="@xml/widgetprovider_weekwidget"/>
|
||||
</receiver>
|
||||
<receiver android:name=".widget.MonthWidget" android:exported="false" android:label="@string/widgetprovider_monthwidget_label">
|
||||
<intent-filter>
|
||||
<action android:name="android.appwidget.action.APPWIDGET_UPDATE"/>
|
||||
<action android:name="com.anonymous.bulwarkmobile.WIDGET_CLICK"/>
|
||||
</intent-filter>
|
||||
<meta-data android:name="android.appwidget.provider" android:resource="@xml/widgetprovider_monthwidget"/>
|
||||
</receiver>
|
||||
<receiver android:name=".widget.TodayEventsWidget" android:exported="false" android:label="@string/widgetprovider_todayeventswidget_label">
|
||||
<intent-filter>
|
||||
<action android:name="android.appwidget.action.APPWIDGET_UPDATE"/>
|
||||
<action android:name="com.anonymous.bulwarkmobile.WIDGET_CLICK"/>
|
||||
</intent-filter>
|
||||
<meta-data android:name="android.appwidget.provider" android:resource="@xml/widgetprovider_todayeventswidget"/>
|
||||
</receiver>
|
||||
<receiver android:name=".widget.NextEventWidget" android:exported="false" android:label="@string/widgetprovider_nexteventwidget_label">
|
||||
<intent-filter>
|
||||
<action android:name="android.appwidget.action.APPWIDGET_UPDATE"/>
|
||||
<action android:name="com.anonymous.bulwarkmobile.WIDGET_CLICK"/>
|
||||
</intent-filter>
|
||||
<meta-data android:name="android.appwidget.provider" android:resource="@xml/widgetprovider_nexteventwidget"/>
|
||||
</receiver>
|
||||
<receiver android:name=".widget.DateNextWidget" android:exported="false" android:label="@string/widgetprovider_datenextwidget_label">
|
||||
<intent-filter>
|
||||
<action android:name="android.appwidget.action.APPWIDGET_UPDATE"/>
|
||||
<action android:name="com.anonymous.bulwarkmobile.WIDGET_CLICK"/>
|
||||
</intent-filter>
|
||||
<meta-data android:name="android.appwidget.provider" android:resource="@xml/widgetprovider_datenextwidget"/>
|
||||
</receiver>
|
||||
<receiver android:name=".widget.UpNextWidget" android:exported="false" android:label="@string/widgetprovider_upnextwidget_label">
|
||||
<intent-filter>
|
||||
<action android:name="android.appwidget.action.APPWIDGET_UPDATE"/>
|
||||
<action android:name="com.anonymous.bulwarkmobile.WIDGET_CLICK"/>
|
||||
</intent-filter>
|
||||
<meta-data android:name="android.appwidget.provider" android:resource="@xml/widgetprovider_upnextwidget"/>
|
||||
</receiver>
|
||||
<receiver android:name=".widget.InvitationsWidget" android:exported="false" android:label="@string/widgetprovider_invitationswidget_label">
|
||||
<intent-filter>
|
||||
<action android:name="android.appwidget.action.APPWIDGET_UPDATE"/>
|
||||
<action android:name="com.anonymous.bulwarkmobile.WIDGET_CLICK"/>
|
||||
</intent-filter>
|
||||
<meta-data android:name="android.appwidget.provider" android:resource="@xml/widgetprovider_invitationswidget"/>
|
||||
</receiver>
|
||||
<receiver android:name=".widget.FreeTimeWidget" android:exported="false" android:label="@string/widgetprovider_freetimewidget_label">
|
||||
<intent-filter>
|
||||
<action android:name="android.appwidget.action.APPWIDGET_UPDATE"/>
|
||||
<action android:name="com.anonymous.bulwarkmobile.WIDGET_CLICK"/>
|
||||
</intent-filter>
|
||||
<meta-data android:name="android.appwidget.provider" android:resource="@xml/widgetprovider_freetimewidget"/>
|
||||
</receiver>
|
||||
<receiver android:name=".widget.TasksWidget" android:exported="false" android:label="@string/widgetprovider_taskswidget_label">
|
||||
<intent-filter>
|
||||
<action android:name="android.appwidget.action.APPWIDGET_UPDATE"/>
|
||||
<action android:name="com.anonymous.bulwarkmobile.WIDGET_CLICK"/>
|
||||
</intent-filter>
|
||||
<meta-data android:name="android.appwidget.provider" android:resource="@xml/widgetprovider_taskswidget"/>
|
||||
</receiver>
|
||||
<receiver android:name=".widget.TaskProgressWidget" android:exported="false" android:label="@string/widgetprovider_taskprogresswidget_label">
|
||||
<intent-filter>
|
||||
<action android:name="android.appwidget.action.APPWIDGET_UPDATE"/>
|
||||
<action android:name="com.anonymous.bulwarkmobile.WIDGET_CLICK"/>
|
||||
</intent-filter>
|
||||
<meta-data android:name="android.appwidget.provider" android:resource="@xml/widgetprovider_taskprogresswidget"/>
|
||||
</receiver>
|
||||
<receiver android:name=".widget.CountdownWidget" android:exported="false" android:label="@string/widgetprovider_countdownwidget_label">
|
||||
<intent-filter>
|
||||
<action android:name="android.appwidget.action.APPWIDGET_UPDATE"/>
|
||||
<action android:name="com.anonymous.bulwarkmobile.WIDGET_CLICK"/>
|
||||
</intent-filter>
|
||||
<meta-data android:name="android.appwidget.provider" android:resource="@xml/widgetprovider_countdownwidget"/>
|
||||
</receiver>
|
||||
<receiver android:name=".widget.BirthdaysWidget" android:exported="false" android:label="@string/widgetprovider_birthdayswidget_label">
|
||||
<intent-filter>
|
||||
<action android:name="android.appwidget.action.APPWIDGET_UPDATE"/>
|
||||
<action android:name="com.anonymous.bulwarkmobile.WIDGET_CLICK"/>
|
||||
</intent-filter>
|
||||
<meta-data android:name="android.appwidget.provider" android:resource="@xml/widgetprovider_birthdayswidget"/>
|
||||
</receiver>
|
||||
<receiver android:name=".widget.TodayHubWidget" android:exported="false" android:label="@string/widgetprovider_todayhubwidget_label">
|
||||
<intent-filter>
|
||||
<action android:name="android.appwidget.action.APPWIDGET_UPDATE"/>
|
||||
<action android:name="com.anonymous.bulwarkmobile.WIDGET_CLICK"/>
|
||||
</intent-filter>
|
||||
<meta-data android:name="android.appwidget.provider" android:resource="@xml/widgetprovider_todayhubwidget"/>
|
||||
</receiver>
|
||||
<receiver android:name=".widget.MailAndNextWidget" android:exported="false" android:label="@string/widgetprovider_mailandnextwidget_label">
|
||||
<intent-filter>
|
||||
<action android:name="android.appwidget.action.APPWIDGET_UPDATE"/>
|
||||
<action android:name="com.anonymous.bulwarkmobile.WIDGET_CLICK"/>
|
||||
</intent-filter>
|
||||
<meta-data android:name="android.appwidget.provider" android:resource="@xml/widgetprovider_mailandnextwidget"/>
|
||||
</receiver>
|
||||
<receiver android:name=".widget.RecentFilesWidget" android:exported="false" android:label="@string/widgetprovider_recentfileswidget_label">
|
||||
<intent-filter>
|
||||
<action android:name="android.appwidget.action.APPWIDGET_UPDATE"/>
|
||||
<action android:name="com.anonymous.bulwarkmobile.WIDGET_CLICK"/>
|
||||
</intent-filter>
|
||||
<meta-data android:name="android.appwidget.provider" android:resource="@xml/widgetprovider_recentfileswidget"/>
|
||||
</receiver>
|
||||
<receiver android:name=".widget.AttachmentsWidget" android:exported="false" android:label="@string/widgetprovider_attachmentswidget_label">
|
||||
<intent-filter>
|
||||
<action android:name="android.appwidget.action.APPWIDGET_UPDATE"/>
|
||||
<action android:name="com.anonymous.bulwarkmobile.WIDGET_CLICK"/>
|
||||
</intent-filter>
|
||||
<meta-data android:name="android.appwidget.provider" android:resource="@xml/widgetprovider_attachmentswidget"/>
|
||||
</receiver>
|
||||
<receiver android:name=".widget.VacationWidget" android:exported="false" android:label="@string/widgetprovider_vacationwidget_label">
|
||||
<intent-filter>
|
||||
<action android:name="android.appwidget.action.APPWIDGET_UPDATE"/>
|
||||
<action android:name="com.anonymous.bulwarkmobile.WIDGET_CLICK"/>
|
||||
</intent-filter>
|
||||
<meta-data android:name="android.appwidget.provider" android:resource="@xml/widgetprovider_vacationwidget"/>
|
||||
</receiver>
|
||||
<receiver android:name=".widget.StorageWidget" android:exported="false" android:label="@string/widgetprovider_storagewidget_label">
|
||||
<intent-filter>
|
||||
<action android:name="android.appwidget.action.APPWIDGET_UPDATE"/>
|
||||
<action android:name="com.anonymous.bulwarkmobile.WIDGET_CLICK"/>
|
||||
</intent-filter>
|
||||
<meta-data android:name="android.appwidget.provider" android:resource="@xml/widgetprovider_storagewidget"/>
|
||||
</receiver>
|
||||
<!-- END WIDGETS -->
|
||||
</application>
|
||||
</manifest>
|
||||
@@ -0,0 +1,40 @@
|
||||
// Generated by scripts/sync-android-widgets.mjs from src/widgets/catalog.json.
|
||||
// react-native-android-widget names a widget after its provider class, so each
|
||||
// widget needs its own subclass; the JS side (src/widgets/task-handler.tsx)
|
||||
// renders by that name.
|
||||
package com.anonymous.bulwarkmobile.widget
|
||||
|
||||
import com.reactnativeandroidwidget.RNWidgetProvider
|
||||
|
||||
class InboxWidget : RNWidgetProvider()
|
||||
class TriageWidget : RNWidgetProvider()
|
||||
class UnreadCountWidget : RNWidgetProvider()
|
||||
class LatestMessageWidget : RNWidgetProvider()
|
||||
class FolderCountsWidget : RNWidgetProvider()
|
||||
class MailShortcutsWidget : RNWidgetProvider()
|
||||
class AllAccountsWidget : RNWidgetProvider()
|
||||
class StarredWidget : RNWidgetProvider()
|
||||
class FavouritePeopleWidget : RNWidgetProvider()
|
||||
class MailSearchWidget : RNWidgetProvider()
|
||||
class OutboxWidget : RNWidgetProvider()
|
||||
class TagWidget : RNWidgetProvider()
|
||||
class LastDraftWidget : RNWidgetProvider()
|
||||
class AgendaWidget : RNWidgetProvider()
|
||||
class WeekWidget : RNWidgetProvider()
|
||||
class MonthWidget : RNWidgetProvider()
|
||||
class TodayEventsWidget : RNWidgetProvider()
|
||||
class NextEventWidget : RNWidgetProvider()
|
||||
class DateNextWidget : RNWidgetProvider()
|
||||
class UpNextWidget : RNWidgetProvider()
|
||||
class InvitationsWidget : RNWidgetProvider()
|
||||
class FreeTimeWidget : RNWidgetProvider()
|
||||
class TasksWidget : RNWidgetProvider()
|
||||
class TaskProgressWidget : RNWidgetProvider()
|
||||
class CountdownWidget : RNWidgetProvider()
|
||||
class BirthdaysWidget : RNWidgetProvider()
|
||||
class TodayHubWidget : RNWidgetProvider()
|
||||
class MailAndNextWidget : RNWidgetProvider()
|
||||
class RecentFilesWidget : RNWidgetProvider()
|
||||
class AttachmentsWidget : RNWidgetProvider()
|
||||
class VacationWidget : RNWidgetProvider()
|
||||
class StorageWidget : RNWidgetProvider()
|
||||
|
After Width: | Height: | Size: 38 KiB |
|
After Width: | Height: | Size: 25 KiB |
|
After Width: | Height: | Size: 20 KiB |
|
After Width: | Height: | Size: 19 KiB |
|
After Width: | Height: | Size: 8.6 KiB |
|
After Width: | Height: | Size: 13 KiB |
|
After Width: | Height: | Size: 20 KiB |
|
After Width: | Height: | Size: 11 KiB |
|
After Width: | Height: | Size: 15 KiB |
|
After Width: | Height: | Size: 22 KiB |
|
After Width: | Height: | Size: 19 KiB |
|
After Width: | Height: | Size: 11 KiB |
|
After Width: | Height: | Size: 13 KiB |
|
After Width: | Height: | Size: 20 KiB |
|
After Width: | Height: | Size: 12 KiB |
|
After Width: | Height: | Size: 9.8 KiB |
|
After Width: | Height: | Size: 28 KiB |
|
After Width: | Height: | Size: 10 KiB |
|
After Width: | Height: | Size: 22 KiB |
|
After Width: | Height: | Size: 18 KiB |
|
After Width: | Height: | Size: 18 KiB |
|
After Width: | Height: | Size: 7.9 KiB |
|
After Width: | Height: | Size: 7.5 KiB |
|
After Width: | Height: | Size: 7.3 KiB |
|
After Width: | Height: | Size: 38 KiB |
|
After Width: | Height: | Size: 21 KiB |
|
After Width: | Height: | Size: 41 KiB |
|
After Width: | Height: | Size: 23 KiB |
|
After Width: | Height: | Size: 9.2 KiB |
|
After Width: | Height: | Size: 18 KiB |
|
After Width: | Height: | Size: 13 KiB |
|
After Width: | Height: | Size: 13 KiB |
@@ -0,0 +1,9 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- Home-screen widget edge, drawn over the widget by layout/rn_widget.xml. -->
|
||||
<shape xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:shape="rectangle">
|
||||
<stroke
|
||||
android:width="1dp"
|
||||
android:color="@color/widget_frame" />
|
||||
<corners android:radius="@dimen/widget_radius" />
|
||||
</shape>
|
||||
@@ -0,0 +1,7 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- Home-screen widget root (layout/rn_widget.xml): its rounded outline is what the widget clips to. -->
|
||||
<shape xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:shape="rectangle">
|
||||
<solid android:color="@color/widget_surface" />
|
||||
<corners android:radius="@dimen/widget_radius" />
|
||||
</shape>
|
||||
@@ -0,0 +1,38 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- Night twin of layout/rn_widget.xml, which explains the override. -->
|
||||
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:tools="http://schemas.android.com/tools"
|
||||
android:id="@android:id/background"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:background="@drawable/widget_surface"
|
||||
android:clipToOutline="true"
|
||||
android:foreground="@drawable/widget_frame"
|
||||
tools:targetApi="31">
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/rn_widget_image_light"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:background="@android:color/transparent"
|
||||
android:scaleType="matrix"
|
||||
android:visibility="gone" />
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/rn_widget_image_dark"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:background="@android:color/transparent"
|
||||
android:scaleType="matrix"
|
||||
android:visibility="visible" />
|
||||
|
||||
<FrameLayout
|
||||
android:id="@+id/rn_widget_clickable_container"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent" />
|
||||
|
||||
<FrameLayout
|
||||
android:id="@+id/rn_widget_collection_container"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent" />
|
||||
</FrameLayout>
|
||||
@@ -0,0 +1,50 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!--
|
||||
Overrides react-native-android-widget's rn_widget.xml (same ids and children;
|
||||
layout-night/rn_widget.xml is its night twin).
|
||||
|
||||
The library draws each widget into one bitmap sized from the size the
|
||||
launcher reports, and pins it to the top left without scaling. When the real
|
||||
frame is smaller (after a rotation, or on a launcher that over-reports), the
|
||||
bitmap's bottom edge is cut off and takes the rounded corners and the border
|
||||
with it, so the bottom corners fall back to whatever the launcher clips to.
|
||||
This root always has the real size, so it owns the shape instead: it clips to
|
||||
a rounded outline (Android 12+; the launcher then leaves the corners to us),
|
||||
fills in where the bitmap falls short, and draws the frame on top.
|
||||
-->
|
||||
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:tools="http://schemas.android.com/tools"
|
||||
android:id="@android:id/background"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:background="@drawable/widget_surface"
|
||||
android:clipToOutline="true"
|
||||
android:foreground="@drawable/widget_frame"
|
||||
tools:targetApi="31">
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/rn_widget_image_light"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:background="@android:color/transparent"
|
||||
android:scaleType="matrix"
|
||||
android:visibility="visible" />
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/rn_widget_image_dark"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:background="@android:color/transparent"
|
||||
android:scaleType="matrix"
|
||||
android:visibility="gone" />
|
||||
|
||||
<FrameLayout
|
||||
android:id="@+id/rn_widget_clickable_container"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent" />
|
||||
|
||||
<FrameLayout
|
||||
android:id="@+id/rn_widget_collection_container"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent" />
|
||||
</FrameLayout>
|
||||
@@ -3,4 +3,6 @@
|
||||
<color name="splashscreen_background">#09090b</color>
|
||||
<!-- Matches the dark palette background (src/theme/tokens.ts). -->
|
||||
<color name="window_background">#09090b</color>
|
||||
<!-- DARK.bg in src/widgets/theme.ts. -->
|
||||
<color name="widget_surface">#0a0a0a</color>
|
||||
</resources>
|
||||
@@ -6,4 +6,8 @@
|
||||
<color name="colorPrimaryDark">#09090b</color>
|
||||
<!-- Behind the React root until the first frame; matches the light palette background (src/theme/tokens.ts). -->
|
||||
<color name="window_background">#ffffff</color>
|
||||
<!-- Home-screen widget surface (LIGHT.bg in src/widgets/theme.ts); it only shows where the drawn widget falls short of the launcher's frame. -->
|
||||
<color name="widget_surface">#ffffff</color>
|
||||
<!-- Home-screen widget edge, one colour for both schemes: the app can force a theme the launcher's night mode doesn't know about. -->
|
||||
<color name="widget_frame">#4d808080</color>
|
||||
</resources>
|
||||
@@ -0,0 +1,4 @@
|
||||
<resources>
|
||||
<!-- Home-screen widget corners; WIDGET_RADIUS in src/widgets/primitives.tsx. -->
|
||||
<dimen name="widget_radius">22dp</dimen>
|
||||
</resources>
|
||||
@@ -0,0 +1,68 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- Generated by scripts/sync-android-widgets.mjs from src/widgets/catalog.json. -->
|
||||
<resources>
|
||||
<string name="widgetprovider_inboxwidget_label">Inbox</string>
|
||||
<string name="widgetprovider_inboxwidget_description">Newest messages with sender, time and subject. Taller sizes add avatars and a line of preview.</string>
|
||||
<string name="widgetprovider_triagewidget_label">Triage</string>
|
||||
<string name="widgetprovider_triagewidget_description">One unread message at a time with archive, delete and reply buttons.</string>
|
||||
<string name="widgetprovider_unreadcountwidget_label">Unread count</string>
|
||||
<string name="widgetprovider_unreadcountwidget_description">Unread count for the inbox, with the latest senders.</string>
|
||||
<string name="widgetprovider_latestmessagewidget_label">Latest message</string>
|
||||
<string name="widgetprovider_latestmessagewidget_description">Only the newest unread message.</string>
|
||||
<string name="widgetprovider_foldercountswidget_label">Folder counts</string>
|
||||
<string name="widgetprovider_foldercountswidget_description">Unread counts for up to four folders.</string>
|
||||
<string name="widgetprovider_mailshortcutswidget_label">Shortcuts</string>
|
||||
<string name="widgetprovider_mailshortcutswidget_description">Compose, calendar, contacts and files.</string>
|
||||
<string name="widgetprovider_allaccountswidget_label">All accounts</string>
|
||||
<string name="widgetprovider_allaccountswidget_description">The unified inbox across every signed-in account.</string>
|
||||
<string name="widgetprovider_starredwidget_label">Starred</string>
|
||||
<string name="widgetprovider_starredwidget_description">Starred messages, newest first.</string>
|
||||
<string name="widgetprovider_favouritepeoplewidget_label">Favourite people</string>
|
||||
<string name="widgetprovider_favouritepeoplewidget_description">The people you hear from most, with their unread count.</string>
|
||||
<string name="widgetprovider_mailsearchwidget_label">Search mail</string>
|
||||
<string name="widgetprovider_mailsearchwidget_description">Search bar with your recent searches.</string>
|
||||
<string name="widgetprovider_outboxwidget_label">Scheduled and outbox</string>
|
||||
<string name="widgetprovider_outboxwidget_description">Scheduled messages and anything waiting in the outbox.</string>
|
||||
<string name="widgetprovider_tagwidget_label">Tag</string>
|
||||
<string name="widgetprovider_tagwidget_description">Unread count for your busiest tag.</string>
|
||||
<string name="widgetprovider_lastdraftwidget_label">Last draft</string>
|
||||
<string name="widgetprovider_lastdraftwidget_description">Back into the draft you left.</string>
|
||||
<string name="widgetprovider_agendawidget_label">Agenda</string>
|
||||
<string name="widgetprovider_agendawidget_description">Upcoming events by day with time, colour and place.</string>
|
||||
<string name="widgetprovider_weekwidget_label">This week</string>
|
||||
<string name="widgetprovider_weekwidget_description">The week at a glance from 8:00 to 18:00.</string>
|
||||
<string name="widgetprovider_monthwidget_label">Month</string>
|
||||
<string name="widgetprovider_monthwidget_description">Month grid with a dot per calendar and the next two events.</string>
|
||||
<string name="widgetprovider_todayeventswidget_label">Today</string>
|
||||
<string name="widgetprovider_todayeventswidget_description">Today\'s date with the rest of today and tomorrow.</string>
|
||||
<string name="widgetprovider_nexteventwidget_label">Next event</string>
|
||||
<string name="widgetprovider_nexteventwidget_description">What\'s next, when and where.</string>
|
||||
<string name="widgetprovider_datenextwidget_label">Date and next two</string>
|
||||
<string name="widgetprovider_datenextwidget_description">Today\'s date with the next two events.</string>
|
||||
<string name="widgetprovider_upnextwidget_label">Up next</string>
|
||||
<string name="widgetprovider_upnextwidget_description">Countdown to the next event with join and running-late buttons.</string>
|
||||
<string name="widgetprovider_invitationswidget_label">Invitations</string>
|
||||
<string name="widgetprovider_invitationswidget_description">Pending invitations with accept, maybe and decline.</string>
|
||||
<string name="widgetprovider_freetimewidget_label">Free time</string>
|
||||
<string name="widgetprovider_freetimewidget_description">When you\'re free this week.</string>
|
||||
<string name="widgetprovider_taskswidget_label">Tasks</string>
|
||||
<string name="widgetprovider_taskswidget_description">Open tasks with tick boxes that work from the home screen.</string>
|
||||
<string name="widgetprovider_taskprogresswidget_label">Task progress</string>
|
||||
<string name="widgetprovider_taskprogresswidget_description">How many tasks are done.</string>
|
||||
<string name="widgetprovider_countdownwidget_label">Countdown</string>
|
||||
<string name="widgetprovider_countdownwidget_description">Days until your next all-day event.</string>
|
||||
<string name="widgetprovider_birthdayswidget_label">Birthdays</string>
|
||||
<string name="widgetprovider_birthdayswidget_description">Upcoming birthdays from your contacts.</string>
|
||||
<string name="widgetprovider_todayhubwidget_label">Today overview</string>
|
||||
<string name="widgetprovider_todayhubwidget_description">Next event, newest unread mail and tasks due, in one widget.</string>
|
||||
<string name="widgetprovider_mailandnextwidget_label">Mail and next event</string>
|
||||
<string name="widgetprovider_mailandnextwidget_description">Unread mail on one side, the next event on the other.</string>
|
||||
<string name="widgetprovider_recentfileswidget_label">Recent files</string>
|
||||
<string name="widgetprovider_recentfileswidget_description">Recently changed items in Files.</string>
|
||||
<string name="widgetprovider_attachmentswidget_label">Recent attachments</string>
|
||||
<string name="widgetprovider_attachmentswidget_description">The newest attachments from your mail.</string>
|
||||
<string name="widgetprovider_vacationwidget_label">Vacation responder</string>
|
||||
<string name="widgetprovider_vacationwidget_description">Vacation responder status with an on/off switch.</string>
|
||||
<string name="widgetprovider_storagewidget_label">Storage</string>
|
||||
<string name="widgetprovider_storagewidget_description">How much of your mailbox quota is used.</string>
|
||||
</resources>
|
||||
@@ -0,0 +1,16 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- Generated by scripts/sync-android-widgets.mjs from src/widgets/catalog.json. -->
|
||||
<appwidget-provider xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:minWidth="250dp"
|
||||
android:minHeight="250dp"
|
||||
android:minResizeWidth="180dp"
|
||||
android:minResizeHeight="110dp"
|
||||
android:targetCellWidth="4"
|
||||
android:targetCellHeight="4"
|
||||
android:resizeMode="horizontal|vertical"
|
||||
android:description="@string/widgetprovider_agendawidget_description"
|
||||
android:initialLayout="@layout/rn_widget"
|
||||
android:previewImage="@drawable/agendawidget_preview"
|
||||
android:updatePeriodMillis="1800000"
|
||||
android:widgetCategory="home_screen">
|
||||
</appwidget-provider>
|
||||
@@ -0,0 +1,16 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- Generated by scripts/sync-android-widgets.mjs from src/widgets/catalog.json. -->
|
||||
<appwidget-provider xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:minWidth="250dp"
|
||||
android:minHeight="110dp"
|
||||
android:minResizeWidth="180dp"
|
||||
android:minResizeHeight="110dp"
|
||||
android:targetCellWidth="4"
|
||||
android:targetCellHeight="2"
|
||||
android:resizeMode="horizontal|vertical"
|
||||
android:description="@string/widgetprovider_allaccountswidget_description"
|
||||
android:initialLayout="@layout/rn_widget"
|
||||
android:previewImage="@drawable/allaccountswidget_preview"
|
||||
android:updatePeriodMillis="1800000"
|
||||
android:widgetCategory="home_screen">
|
||||
</appwidget-provider>
|
||||
@@ -0,0 +1,16 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- Generated by scripts/sync-android-widgets.mjs from src/widgets/catalog.json. -->
|
||||
<appwidget-provider xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:minWidth="250dp"
|
||||
android:minHeight="110dp"
|
||||
android:minResizeWidth="180dp"
|
||||
android:minResizeHeight="110dp"
|
||||
android:targetCellWidth="4"
|
||||
android:targetCellHeight="2"
|
||||
android:resizeMode="horizontal|vertical"
|
||||
android:description="@string/widgetprovider_attachmentswidget_description"
|
||||
android:initialLayout="@layout/rn_widget"
|
||||
android:previewImage="@drawable/attachmentswidget_preview"
|
||||
android:updatePeriodMillis="1800000"
|
||||
android:widgetCategory="home_screen">
|
||||
</appwidget-provider>
|
||||
@@ -0,0 +1,16 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- Generated by scripts/sync-android-widgets.mjs from src/widgets/catalog.json. -->
|
||||
<appwidget-provider xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:minWidth="250dp"
|
||||
android:minHeight="110dp"
|
||||
android:minResizeWidth="180dp"
|
||||
android:minResizeHeight="110dp"
|
||||
android:targetCellWidth="4"
|
||||
android:targetCellHeight="2"
|
||||
android:resizeMode="horizontal|vertical"
|
||||
android:description="@string/widgetprovider_birthdayswidget_description"
|
||||
android:initialLayout="@layout/rn_widget"
|
||||
android:previewImage="@drawable/birthdayswidget_preview"
|
||||
android:updatePeriodMillis="1800000"
|
||||
android:widgetCategory="home_screen">
|
||||
</appwidget-provider>
|
||||
@@ -0,0 +1,16 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- Generated by scripts/sync-android-widgets.mjs from src/widgets/catalog.json. -->
|
||||
<appwidget-provider xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:minWidth="110dp"
|
||||
android:minHeight="110dp"
|
||||
android:minResizeWidth="110dp"
|
||||
android:minResizeHeight="110dp"
|
||||
android:targetCellWidth="2"
|
||||
android:targetCellHeight="2"
|
||||
android:resizeMode="horizontal|vertical"
|
||||
android:description="@string/widgetprovider_countdownwidget_description"
|
||||
android:initialLayout="@layout/rn_widget"
|
||||
android:previewImage="@drawable/countdownwidget_preview"
|
||||
android:updatePeriodMillis="1800000"
|
||||
android:widgetCategory="home_screen">
|
||||
</appwidget-provider>
|
||||
@@ -0,0 +1,16 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- Generated by scripts/sync-android-widgets.mjs from src/widgets/catalog.json. -->
|
||||
<appwidget-provider xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:minWidth="110dp"
|
||||
android:minHeight="110dp"
|
||||
android:minResizeWidth="110dp"
|
||||
android:minResizeHeight="110dp"
|
||||
android:targetCellWidth="2"
|
||||
android:targetCellHeight="2"
|
||||
android:resizeMode="horizontal|vertical"
|
||||
android:description="@string/widgetprovider_datenextwidget_description"
|
||||
android:initialLayout="@layout/rn_widget"
|
||||
android:previewImage="@drawable/datenextwidget_preview"
|
||||
android:updatePeriodMillis="1800000"
|
||||
android:widgetCategory="home_screen">
|
||||
</appwidget-provider>
|
||||
@@ -0,0 +1,16 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- Generated by scripts/sync-android-widgets.mjs from src/widgets/catalog.json. -->
|
||||
<appwidget-provider xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:minWidth="250dp"
|
||||
android:minHeight="110dp"
|
||||
android:minResizeWidth="180dp"
|
||||
android:minResizeHeight="110dp"
|
||||
android:targetCellWidth="4"
|
||||
android:targetCellHeight="2"
|
||||
android:resizeMode="horizontal|vertical"
|
||||
android:description="@string/widgetprovider_favouritepeoplewidget_description"
|
||||
android:initialLayout="@layout/rn_widget"
|
||||
android:previewImage="@drawable/favouritepeoplewidget_preview"
|
||||
android:updatePeriodMillis="1800000"
|
||||
android:widgetCategory="home_screen">
|
||||
</appwidget-provider>
|
||||
@@ -0,0 +1,16 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- Generated by scripts/sync-android-widgets.mjs from src/widgets/catalog.json. -->
|
||||
<appwidget-provider xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:minWidth="110dp"
|
||||
android:minHeight="110dp"
|
||||
android:minResizeWidth="110dp"
|
||||
android:minResizeHeight="110dp"
|
||||
android:targetCellWidth="2"
|
||||
android:targetCellHeight="2"
|
||||
android:resizeMode="horizontal|vertical"
|
||||
android:description="@string/widgetprovider_foldercountswidget_description"
|
||||
android:initialLayout="@layout/rn_widget"
|
||||
android:previewImage="@drawable/foldercountswidget_preview"
|
||||
android:updatePeriodMillis="1800000"
|
||||
android:widgetCategory="home_screen">
|
||||
</appwidget-provider>
|
||||
@@ -0,0 +1,16 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- Generated by scripts/sync-android-widgets.mjs from src/widgets/catalog.json. -->
|
||||
<appwidget-provider xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:minWidth="250dp"
|
||||
android:minHeight="110dp"
|
||||
android:minResizeWidth="180dp"
|
||||
android:minResizeHeight="110dp"
|
||||
android:targetCellWidth="4"
|
||||
android:targetCellHeight="2"
|
||||
android:resizeMode="horizontal|vertical"
|
||||
android:description="@string/widgetprovider_freetimewidget_description"
|
||||
android:initialLayout="@layout/rn_widget"
|
||||
android:previewImage="@drawable/freetimewidget_preview"
|
||||
android:updatePeriodMillis="1800000"
|
||||
android:widgetCategory="home_screen">
|
||||
</appwidget-provider>
|
||||
@@ -0,0 +1,16 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- Generated by scripts/sync-android-widgets.mjs from src/widgets/catalog.json. -->
|
||||
<appwidget-provider xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:minWidth="250dp"
|
||||
android:minHeight="110dp"
|
||||
android:minResizeWidth="110dp"
|
||||
android:minResizeHeight="110dp"
|
||||
android:targetCellWidth="4"
|
||||
android:targetCellHeight="2"
|
||||
android:resizeMode="horizontal|vertical"
|
||||
android:description="@string/widgetprovider_inboxwidget_description"
|
||||
android:initialLayout="@layout/rn_widget"
|
||||
android:previewImage="@drawable/inboxwidget_preview"
|
||||
android:updatePeriodMillis="1800000"
|
||||
android:widgetCategory="home_screen">
|
||||
</appwidget-provider>
|
||||
@@ -0,0 +1,16 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- Generated by scripts/sync-android-widgets.mjs from src/widgets/catalog.json. -->
|
||||
<appwidget-provider xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:minWidth="250dp"
|
||||
android:minHeight="110dp"
|
||||
android:minResizeWidth="180dp"
|
||||
android:minResizeHeight="110dp"
|
||||
android:targetCellWidth="4"
|
||||
android:targetCellHeight="2"
|
||||
android:resizeMode="horizontal|vertical"
|
||||
android:description="@string/widgetprovider_invitationswidget_description"
|
||||
android:initialLayout="@layout/rn_widget"
|
||||
android:previewImage="@drawable/invitationswidget_preview"
|
||||
android:updatePeriodMillis="1800000"
|
||||
android:widgetCategory="home_screen">
|
||||
</appwidget-provider>
|
||||
@@ -0,0 +1,16 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- Generated by scripts/sync-android-widgets.mjs from src/widgets/catalog.json. -->
|
||||
<appwidget-provider xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:minWidth="110dp"
|
||||
android:minHeight="110dp"
|
||||
android:minResizeWidth="110dp"
|
||||
android:minResizeHeight="110dp"
|
||||
android:targetCellWidth="2"
|
||||
android:targetCellHeight="2"
|
||||
android:resizeMode="horizontal|vertical"
|
||||
android:description="@string/widgetprovider_lastdraftwidget_description"
|
||||
android:initialLayout="@layout/rn_widget"
|
||||
android:previewImage="@drawable/lastdraftwidget_preview"
|
||||
android:updatePeriodMillis="1800000"
|
||||
android:widgetCategory="home_screen">
|
||||
</appwidget-provider>
|
||||
@@ -0,0 +1,16 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- Generated by scripts/sync-android-widgets.mjs from src/widgets/catalog.json. -->
|
||||
<appwidget-provider xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:minWidth="110dp"
|
||||
android:minHeight="110dp"
|
||||
android:minResizeWidth="110dp"
|
||||
android:minResizeHeight="110dp"
|
||||
android:targetCellWidth="2"
|
||||
android:targetCellHeight="2"
|
||||
android:resizeMode="horizontal|vertical"
|
||||
android:description="@string/widgetprovider_latestmessagewidget_description"
|
||||
android:initialLayout="@layout/rn_widget"
|
||||
android:previewImage="@drawable/latestmessagewidget_preview"
|
||||
android:updatePeriodMillis="1800000"
|
||||
android:widgetCategory="home_screen">
|
||||
</appwidget-provider>
|
||||
@@ -0,0 +1,16 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- Generated by scripts/sync-android-widgets.mjs from src/widgets/catalog.json. -->
|
||||
<appwidget-provider xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:minWidth="250dp"
|
||||
android:minHeight="110dp"
|
||||
android:minResizeWidth="180dp"
|
||||
android:minResizeHeight="110dp"
|
||||
android:targetCellWidth="4"
|
||||
android:targetCellHeight="2"
|
||||
android:resizeMode="horizontal|vertical"
|
||||
android:description="@string/widgetprovider_mailandnextwidget_description"
|
||||
android:initialLayout="@layout/rn_widget"
|
||||
android:previewImage="@drawable/mailandnextwidget_preview"
|
||||
android:updatePeriodMillis="1800000"
|
||||
android:widgetCategory="home_screen">
|
||||
</appwidget-provider>
|
||||
@@ -0,0 +1,16 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- Generated by scripts/sync-android-widgets.mjs from src/widgets/catalog.json. -->
|
||||
<appwidget-provider xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:minWidth="250dp"
|
||||
android:minHeight="110dp"
|
||||
android:minResizeWidth="180dp"
|
||||
android:minResizeHeight="40dp"
|
||||
android:targetCellWidth="4"
|
||||
android:targetCellHeight="2"
|
||||
android:resizeMode="horizontal|vertical"
|
||||
android:description="@string/widgetprovider_mailsearchwidget_description"
|
||||
android:initialLayout="@layout/rn_widget"
|
||||
android:previewImage="@drawable/mailsearchwidget_preview"
|
||||
android:updatePeriodMillis="1800000"
|
||||
android:widgetCategory="home_screen">
|
||||
</appwidget-provider>
|
||||
@@ -0,0 +1,16 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- Generated by scripts/sync-android-widgets.mjs from src/widgets/catalog.json. -->
|
||||
<appwidget-provider xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:minWidth="110dp"
|
||||
android:minHeight="110dp"
|
||||
android:minResizeWidth="110dp"
|
||||
android:minResizeHeight="110dp"
|
||||
android:targetCellWidth="2"
|
||||
android:targetCellHeight="2"
|
||||
android:resizeMode="horizontal|vertical"
|
||||
android:description="@string/widgetprovider_mailshortcutswidget_description"
|
||||
android:initialLayout="@layout/rn_widget"
|
||||
android:previewImage="@drawable/mailshortcutswidget_preview"
|
||||
android:updatePeriodMillis="0"
|
||||
android:widgetCategory="home_screen">
|
||||
</appwidget-provider>
|
||||
@@ -0,0 +1,16 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- Generated by scripts/sync-android-widgets.mjs from src/widgets/catalog.json. -->
|
||||
<appwidget-provider xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:minWidth="250dp"
|
||||
android:minHeight="250dp"
|
||||
android:minResizeWidth="180dp"
|
||||
android:minResizeHeight="180dp"
|
||||
android:targetCellWidth="4"
|
||||
android:targetCellHeight="4"
|
||||
android:resizeMode="horizontal|vertical"
|
||||
android:description="@string/widgetprovider_monthwidget_description"
|
||||
android:initialLayout="@layout/rn_widget"
|
||||
android:previewImage="@drawable/monthwidget_preview"
|
||||
android:updatePeriodMillis="1800000"
|
||||
android:widgetCategory="home_screen">
|
||||
</appwidget-provider>
|
||||
@@ -0,0 +1,16 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- Generated by scripts/sync-android-widgets.mjs from src/widgets/catalog.json. -->
|
||||
<appwidget-provider xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:minWidth="110dp"
|
||||
android:minHeight="110dp"
|
||||
android:minResizeWidth="110dp"
|
||||
android:minResizeHeight="110dp"
|
||||
android:targetCellWidth="2"
|
||||
android:targetCellHeight="2"
|
||||
android:resizeMode="horizontal|vertical"
|
||||
android:description="@string/widgetprovider_nexteventwidget_description"
|
||||
android:initialLayout="@layout/rn_widget"
|
||||
android:previewImage="@drawable/nexteventwidget_preview"
|
||||
android:updatePeriodMillis="1800000"
|
||||
android:widgetCategory="home_screen">
|
||||
</appwidget-provider>
|
||||
@@ -0,0 +1,16 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- Generated by scripts/sync-android-widgets.mjs from src/widgets/catalog.json. -->
|
||||
<appwidget-provider xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:minWidth="250dp"
|
||||
android:minHeight="110dp"
|
||||
android:minResizeWidth="180dp"
|
||||
android:minResizeHeight="110dp"
|
||||
android:targetCellWidth="4"
|
||||
android:targetCellHeight="2"
|
||||
android:resizeMode="horizontal|vertical"
|
||||
android:description="@string/widgetprovider_outboxwidget_description"
|
||||
android:initialLayout="@layout/rn_widget"
|
||||
android:previewImage="@drawable/outboxwidget_preview"
|
||||
android:updatePeriodMillis="1800000"
|
||||
android:widgetCategory="home_screen">
|
||||
</appwidget-provider>
|
||||
@@ -0,0 +1,16 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- Generated by scripts/sync-android-widgets.mjs from src/widgets/catalog.json. -->
|
||||
<appwidget-provider xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:minWidth="250dp"
|
||||
android:minHeight="110dp"
|
||||
android:minResizeWidth="180dp"
|
||||
android:minResizeHeight="110dp"
|
||||
android:targetCellWidth="4"
|
||||
android:targetCellHeight="2"
|
||||
android:resizeMode="horizontal|vertical"
|
||||
android:description="@string/widgetprovider_recentfileswidget_description"
|
||||
android:initialLayout="@layout/rn_widget"
|
||||
android:previewImage="@drawable/recentfileswidget_preview"
|
||||
android:updatePeriodMillis="1800000"
|
||||
android:widgetCategory="home_screen">
|
||||
</appwidget-provider>
|
||||
@@ -0,0 +1,16 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- Generated by scripts/sync-android-widgets.mjs from src/widgets/catalog.json. -->
|
||||
<appwidget-provider xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:minWidth="250dp"
|
||||
android:minHeight="110dp"
|
||||
android:minResizeWidth="180dp"
|
||||
android:minResizeHeight="110dp"
|
||||
android:targetCellWidth="4"
|
||||
android:targetCellHeight="2"
|
||||
android:resizeMode="horizontal|vertical"
|
||||
android:description="@string/widgetprovider_starredwidget_description"
|
||||
android:initialLayout="@layout/rn_widget"
|
||||
android:previewImage="@drawable/starredwidget_preview"
|
||||
android:updatePeriodMillis="1800000"
|
||||
android:widgetCategory="home_screen">
|
||||
</appwidget-provider>
|
||||
@@ -0,0 +1,16 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- Generated by scripts/sync-android-widgets.mjs from src/widgets/catalog.json. -->
|
||||
<appwidget-provider xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:minWidth="110dp"
|
||||
android:minHeight="110dp"
|
||||
android:minResizeWidth="110dp"
|
||||
android:minResizeHeight="110dp"
|
||||
android:targetCellWidth="2"
|
||||
android:targetCellHeight="2"
|
||||
android:resizeMode="horizontal|vertical"
|
||||
android:description="@string/widgetprovider_storagewidget_description"
|
||||
android:initialLayout="@layout/rn_widget"
|
||||
android:previewImage="@drawable/storagewidget_preview"
|
||||
android:updatePeriodMillis="1800000"
|
||||
android:widgetCategory="home_screen">
|
||||
</appwidget-provider>
|
||||
@@ -0,0 +1,16 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- Generated by scripts/sync-android-widgets.mjs from src/widgets/catalog.json. -->
|
||||
<appwidget-provider xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:minWidth="110dp"
|
||||
android:minHeight="110dp"
|
||||
android:minResizeWidth="110dp"
|
||||
android:minResizeHeight="110dp"
|
||||
android:targetCellWidth="2"
|
||||
android:targetCellHeight="2"
|
||||
android:resizeMode="horizontal|vertical"
|
||||
android:description="@string/widgetprovider_tagwidget_description"
|
||||
android:initialLayout="@layout/rn_widget"
|
||||
android:previewImage="@drawable/tagwidget_preview"
|
||||
android:updatePeriodMillis="1800000"
|
||||
android:widgetCategory="home_screen">
|
||||
</appwidget-provider>
|
||||
@@ -0,0 +1,16 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- Generated by scripts/sync-android-widgets.mjs from src/widgets/catalog.json. -->
|
||||
<appwidget-provider xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:minWidth="110dp"
|
||||
android:minHeight="110dp"
|
||||
android:minResizeWidth="110dp"
|
||||
android:minResizeHeight="110dp"
|
||||
android:targetCellWidth="2"
|
||||
android:targetCellHeight="2"
|
||||
android:resizeMode="horizontal|vertical"
|
||||
android:description="@string/widgetprovider_taskprogresswidget_description"
|
||||
android:initialLayout="@layout/rn_widget"
|
||||
android:previewImage="@drawable/taskprogresswidget_preview"
|
||||
android:updatePeriodMillis="1800000"
|
||||
android:widgetCategory="home_screen">
|
||||
</appwidget-provider>
|
||||
@@ -0,0 +1,16 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- Generated by scripts/sync-android-widgets.mjs from src/widgets/catalog.json. -->
|
||||
<appwidget-provider xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:minWidth="250dp"
|
||||
android:minHeight="250dp"
|
||||
android:minResizeWidth="180dp"
|
||||
android:minResizeHeight="110dp"
|
||||
android:targetCellWidth="4"
|
||||
android:targetCellHeight="4"
|
||||
android:resizeMode="horizontal|vertical"
|
||||
android:description="@string/widgetprovider_taskswidget_description"
|
||||
android:initialLayout="@layout/rn_widget"
|
||||
android:previewImage="@drawable/taskswidget_preview"
|
||||
android:updatePeriodMillis="1800000"
|
||||
android:widgetCategory="home_screen">
|
||||
</appwidget-provider>
|
||||
@@ -0,0 +1,16 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- Generated by scripts/sync-android-widgets.mjs from src/widgets/catalog.json. -->
|
||||
<appwidget-provider xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:minWidth="250dp"
|
||||
android:minHeight="110dp"
|
||||
android:minResizeWidth="180dp"
|
||||
android:minResizeHeight="110dp"
|
||||
android:targetCellWidth="4"
|
||||
android:targetCellHeight="2"
|
||||
android:resizeMode="horizontal|vertical"
|
||||
android:description="@string/widgetprovider_todayeventswidget_description"
|
||||
android:initialLayout="@layout/rn_widget"
|
||||
android:previewImage="@drawable/todayeventswidget_preview"
|
||||
android:updatePeriodMillis="1800000"
|
||||
android:widgetCategory="home_screen">
|
||||
</appwidget-provider>
|
||||
@@ -0,0 +1,16 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- Generated by scripts/sync-android-widgets.mjs from src/widgets/catalog.json. -->
|
||||
<appwidget-provider xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:minWidth="250dp"
|
||||
android:minHeight="250dp"
|
||||
android:minResizeWidth="180dp"
|
||||
android:minResizeHeight="180dp"
|
||||
android:targetCellWidth="4"
|
||||
android:targetCellHeight="4"
|
||||
android:resizeMode="horizontal|vertical"
|
||||
android:description="@string/widgetprovider_todayhubwidget_description"
|
||||
android:initialLayout="@layout/rn_widget"
|
||||
android:previewImage="@drawable/todayhubwidget_preview"
|
||||
android:updatePeriodMillis="1800000"
|
||||
android:widgetCategory="home_screen">
|
||||
</appwidget-provider>
|
||||
@@ -0,0 +1,16 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- Generated by scripts/sync-android-widgets.mjs from src/widgets/catalog.json. -->
|
||||
<appwidget-provider xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:minWidth="250dp"
|
||||
android:minHeight="110dp"
|
||||
android:minResizeWidth="180dp"
|
||||
android:minResizeHeight="110dp"
|
||||
android:targetCellWidth="4"
|
||||
android:targetCellHeight="2"
|
||||
android:resizeMode="horizontal|vertical"
|
||||
android:description="@string/widgetprovider_triagewidget_description"
|
||||
android:initialLayout="@layout/rn_widget"
|
||||
android:previewImage="@drawable/triagewidget_preview"
|
||||
android:updatePeriodMillis="1800000"
|
||||
android:widgetCategory="home_screen">
|
||||
</appwidget-provider>
|
||||
@@ -0,0 +1,16 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- Generated by scripts/sync-android-widgets.mjs from src/widgets/catalog.json. -->
|
||||
<appwidget-provider xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:minWidth="110dp"
|
||||
android:minHeight="110dp"
|
||||
android:minResizeWidth="110dp"
|
||||
android:minResizeHeight="110dp"
|
||||
android:targetCellWidth="2"
|
||||
android:targetCellHeight="2"
|
||||
android:resizeMode="horizontal|vertical"
|
||||
android:description="@string/widgetprovider_unreadcountwidget_description"
|
||||
android:initialLayout="@layout/rn_widget"
|
||||
android:previewImage="@drawable/unreadcountwidget_preview"
|
||||
android:updatePeriodMillis="1800000"
|
||||
android:widgetCategory="home_screen">
|
||||
</appwidget-provider>
|
||||
@@ -0,0 +1,16 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- Generated by scripts/sync-android-widgets.mjs from src/widgets/catalog.json. -->
|
||||
<appwidget-provider xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:minWidth="250dp"
|
||||
android:minHeight="110dp"
|
||||
android:minResizeWidth="180dp"
|
||||
android:minResizeHeight="110dp"
|
||||
android:targetCellWidth="4"
|
||||
android:targetCellHeight="2"
|
||||
android:resizeMode="horizontal|vertical"
|
||||
android:description="@string/widgetprovider_upnextwidget_description"
|
||||
android:initialLayout="@layout/rn_widget"
|
||||
android:previewImage="@drawable/upnextwidget_preview"
|
||||
android:updatePeriodMillis="1800000"
|
||||
android:widgetCategory="home_screen">
|
||||
</appwidget-provider>
|
||||
@@ -0,0 +1,16 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- Generated by scripts/sync-android-widgets.mjs from src/widgets/catalog.json. -->
|
||||
<appwidget-provider xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:minWidth="110dp"
|
||||
android:minHeight="110dp"
|
||||
android:minResizeWidth="110dp"
|
||||
android:minResizeHeight="110dp"
|
||||
android:targetCellWidth="2"
|
||||
android:targetCellHeight="2"
|
||||
android:resizeMode="horizontal|vertical"
|
||||
android:description="@string/widgetprovider_vacationwidget_description"
|
||||
android:initialLayout="@layout/rn_widget"
|
||||
android:previewImage="@drawable/vacationwidget_preview"
|
||||
android:updatePeriodMillis="1800000"
|
||||
android:widgetCategory="home_screen">
|
||||
</appwidget-provider>
|
||||
@@ -0,0 +1,16 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- Generated by scripts/sync-android-widgets.mjs from src/widgets/catalog.json. -->
|
||||
<appwidget-provider xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:minWidth="250dp"
|
||||
android:minHeight="110dp"
|
||||
android:minResizeWidth="250dp"
|
||||
android:minResizeHeight="110dp"
|
||||
android:targetCellWidth="4"
|
||||
android:targetCellHeight="2"
|
||||
android:resizeMode="horizontal|vertical"
|
||||
android:description="@string/widgetprovider_weekwidget_description"
|
||||
android:initialLayout="@layout/rn_widget"
|
||||
android:previewImage="@drawable/weekwidget_preview"
|
||||
android:updatePeriodMillis="1800000"
|
||||
android:widgetCategory="home_screen">
|
||||
</appwidget-provider>
|
||||
@@ -26,8 +26,10 @@ module.exports = {
|
||||
expo: {
|
||||
name: 'Bulwark Mobile',
|
||||
slug: 'bulwark-mobile',
|
||||
// mailto: lets Android/iOS offer the app for mail links in other apps.
|
||||
scheme: ['bulwarkmobile', 'mailto'],
|
||||
// mailto: lets Android/iOS offer the app for mail links in other apps;
|
||||
// bulwarkmail: is the webmail's sign-in link (bulwarkmail://pair?...).
|
||||
// Android's manifest is maintained by hand and lists the same schemes.
|
||||
scheme: ['bulwarkmobile', 'bulwarkmail', 'mailto'],
|
||||
version: VERSION,
|
||||
orientation: 'portrait',
|
||||
icon: './assets/icon.png',
|
||||
|
||||
@@ -1,13 +1,22 @@
|
||||
import { createElement } from 'react';
|
||||
import { AppRegistry } from 'react-native';
|
||||
import { registerRootComponent } from 'expo';
|
||||
import { registerWidgetTaskHandler } from 'react-native-android-widget';
|
||||
|
||||
import { pushBackgroundTask } from './src/lib/push-background-task';
|
||||
import { widgetTaskHandler } from './src/widgets/task-handler';
|
||||
import { refreshWidgetsInBackground } from './src/widgets/sync';
|
||||
|
||||
// Runs in a fresh headless JS runtime when BulwarkPushTaskService is started
|
||||
// from BulwarkMessagingService on an FCM data message. Must be registered
|
||||
// before the native service tries to invoke the task.
|
||||
AppRegistry.registerHeadlessTask('BulwarkPushTask', () => pushBackgroundTask);
|
||||
// before the native service tries to invoke the task. New mail also refreshes
|
||||
// any home-screen widgets (a no-op when none are placed).
|
||||
AppRegistry.registerHeadlessTask('BulwarkPushTask', () => async (data: Parameters<typeof pushBackgroundTask>[0]) => {
|
||||
await Promise.allSettled([pushBackgroundTask(data), refreshWidgetsInBackground()]);
|
||||
});
|
||||
|
||||
// Home-screen widgets (Android): every widget event runs this headless task.
|
||||
registerWidgetTaskHandler(widgetTaskHandler);
|
||||
|
||||
// A headless push task evaluates this file too, so App is required when the
|
||||
// UI first renders instead of imported above: importing it here would load
|
||||
|
||||
@@ -460,12 +460,19 @@
|
||||
"email_step_title": "ما عنوان بريدك الإلكتروني؟",
|
||||
"email_step_title_add": "ما العنوان الآخر؟",
|
||||
"email_title": "استخدام عنوان بريدي الإلكتروني",
|
||||
"err_account_limit_detail": "أزِل حسابًا من الإعدادات لإضافة حساب آخر.",
|
||||
"err_bad_detail": "تحقق من بريدك الإلكتروني وكلمة المرور. إذا كان حسابك يستخدم تسجيل الدخول بخطوتين، فأنشئ كلمة مرور تطبيق في بريد الويب واستخدمها هنا.",
|
||||
"err_bad_title": "لم ينجح ذلك",
|
||||
"err_cert_detail": "تم رفض شهادة الأمان الخاصة بالخادم. إذا كان هذا خادمك الخاص، فتحقق من أن الشهادة صالحة وغير منتهية الصلاحية.",
|
||||
"err_cert_title": "تعذّر التحقق من {host}",
|
||||
"err_code_expired_detail": "رموز تسجيل الدخول صالحة لبضع دقائق فقط. أنشئ رمزًا جديدًا في بريد الويب وامسحه مجددًا.",
|
||||
"err_code_expired_detail": "رموز تسجيل الدخول صالحة لمدة دقيقتين. اعرض رمزًا جديدًا في بريد الويب وامسحه مجددًا.",
|
||||
"err_code_expired_or_used_detail": "اعرض رمزًا جديدًا في بريد الويب وامسحه مجددًا.",
|
||||
"err_code_expired_or_used_title": "انتهت صلاحية هذا الرمز أو تم استخدامه من قبل",
|
||||
"err_code_expired_title": "انتهت صلاحية هذا الرمز",
|
||||
"err_code_invalid_detail": "اعرض رمزًا جديدًا في بريد الويب (الإعدادات ← الأمان ← ربط تطبيق الجوال) وامسحه.",
|
||||
"err_code_invalid_title": "هذا الرمز غير صالح",
|
||||
"err_code_used_detail": "كل رمز يعمل مرة واحدة فقط. اعرض رمزًا جديدًا في بريد الويب وامسحه مجددًا.",
|
||||
"err_code_used_title": "تم استخدام هذا الرمز من قبل",
|
||||
"err_generic_detail": "حدث خطأ ما. حاول مرة أخرى.",
|
||||
"err_generic_title": "فشل تسجيل الدخول",
|
||||
"err_interrupted_detail": "لم تتطابق الاستجابة مع الطلب الذي بدأناه. حاول تسجيل الدخول مرة أخرى.",
|
||||
@@ -474,6 +481,17 @@
|
||||
"err_no_server_title": "لا يوجد خادم بريد على {host}",
|
||||
"err_no_webmail_detail": "لا يحتوي هذا الخادم على بريد ويب Bulwark ولا على تسجيل دخول عبر OAuth. استخدم كلمة مرور (أو كلمة مرور تطبيق) بدلًا من ذلك.",
|
||||
"err_no_webmail_title": "لا توجد صفحة تسجيل دخول على {host}",
|
||||
"err_pair_connect_detail": "اعرض رمزًا جديدًا على حاسوبك وامسحه مجددًا.",
|
||||
"err_pair_connect_title": "تم تسجيل الدخول، لكن تعذّر الاتصال بـ {host}",
|
||||
"err_pair_insecure_detail": "يريد {host} استخدام اتصال غير مشفّر.",
|
||||
"err_pair_network_detail": "تحقق من اتصالك ومن أن هاتفك يستطيع الوصول إلى بريد الويب، ثم حاول مرة أخرى.",
|
||||
"err_pair_rate_detail": "انتظر دقيقة، ثم حاول مرة أخرى.",
|
||||
"err_pair_server_detail": "حاول مرة أخرى باستخدام رمز جديد. إذا استمر الفشل، فاتصل بالمسؤول.",
|
||||
"err_pair_server_title": "تعذّر على بريد الويب إكمال تسجيل الدخول",
|
||||
"err_pair_unsupported_detail": "لا يدعم {host} رموز تسجيل الدخول. قد يحتاج إلى تحديث، أو أن الرابط يشير إلى عنوان خاطئ.",
|
||||
"err_pair_unsupported_title": "لا يمكن لبريد الويب هذا ربط الأجهزة",
|
||||
"err_pair_untrusted_detail": "أرسل {host} بيانات تسجيل دخول لخادم لا يستطيع التطبيق التحقق منه.",
|
||||
"err_pair_untrusted_title": "لا يمكن الوثوق بعملية تسجيل الدخول هذه",
|
||||
"err_rate_detail": "طلب منا الخادم الانتظار قليلًا. حاول مجددًا بعد قليل.",
|
||||
"err_rate_detail_seconds": "طلب منا الخادم الانتظار. حاول مجددًا بعد نحو {seconds} ث.",
|
||||
"err_rate_title": "محاولات كثيرة جدًا",
|
||||
@@ -487,6 +505,12 @@
|
||||
"know_server": "أعرف عنوان خادمي",
|
||||
"known_server_desc": "نعرف هذا الخادم بالفعل، لذا لا حاجة إلى إعداد",
|
||||
"known_server_title": "حساب آخر على {host}",
|
||||
"link_confirm_connect": "يطلب رابط تسجيل الدخول في هذه الصفحة. لا تتابع إلا إذا كنت تستخدم {host} لبريدك.",
|
||||
"link_confirm_connect_add": "يطلب رابط إضافة حساب بتسجيل الدخول في هذه الصفحة. لا تتابع إلا إذا كنت تستخدم {host} لبريدك.",
|
||||
"link_confirm_connect_title": "فتح صفحة تسجيل الدخول في {host}؟",
|
||||
"link_confirm_pair": "يسجّل هذا الرابط الدخول إلى حساب من {host}. لا تتابع إلا إذا كنت قد عرضت للتو رمز تسجيل دخول على حاسوبك.",
|
||||
"link_confirm_pair_add": "يضيف هذا الرابط حسابًا من {host} وينقل التطبيق إليه. لا تتابع إلا إذا كنت قد عرضت للتو رمز تسجيل دخول على حاسوبك.",
|
||||
"link_confirm_title": "تسجيل الدخول برابط؟",
|
||||
"looking_up": "جارٍ البحث عن خادمك…",
|
||||
"manual": "إدخال تفاصيل الخادم يدويًا",
|
||||
"notice_bad_qr": "هذا الرمز ليس رمز تسجيل دخول Bulwark",
|
||||
@@ -505,6 +529,12 @@
|
||||
"pairing_detail": "جارٍ إقران هذا الجهاز مع {host}…",
|
||||
"password_subtitle": "تُرسَل كلمة مرورك إلى هذا الخادم فقط، وتُخزَّن في سلسلة مفاتيح الجهاز.",
|
||||
"password_title": "تسجيل الدخول إلى {host}",
|
||||
"paste_button": "لصق",
|
||||
"paste_clipboard_empty": "لا يوجد شيء للصق. انسخ الرابط في بريد الويب أولًا.",
|
||||
"paste_hint": "في بريد الويب، افتح الإعدادات ← الأمان ← ربط تطبيق الجوال، وانسخ رابط تسجيل الدخول والصقه هنا.",
|
||||
"paste_invalid": "هذا ليس رابط تسجيل دخول Bulwark",
|
||||
"paste_label": "رابط تسجيل الدخول",
|
||||
"paste_title": "لصق رابط تسجيل الدخول",
|
||||
"provider_detail": "ستكتبها في صفحتهم. لا يخزّن Bulwark سوى رمز تسجيل دخول يمكنك إبطاله في أي وقت.",
|
||||
"provider_title": "تبقى كلمة مرورك لدى مزوّد خدمتك",
|
||||
"qr_hint": "يعرض قسم الإعدادات ← الأمان ← ربط تطبيق الجوال رمزًا. وجّه الكاميرا نحوه.",
|
||||
@@ -515,6 +545,7 @@
|
||||
"server_hint": "العنوان نفسه الذي تكتبه في المتصفح. سنضيف https:// نيابةً عنك.",
|
||||
"server_label": "عنوان الخادم",
|
||||
"server_not_found": "لم نتمكن من العثور على خادم للنطاق {domain}. إذا كنت تستضيف خادمك بنفسك، فالعنوان هو الذي تستخدمه لبريد الويب.",
|
||||
"server_paste_hint": "هل لديك رابط تسجيل دخول بدلًا من ذلك؟ الصقه هنا.",
|
||||
"server_scan_hint": "إذا لم تكن متأكدًا، فامسح رمز تسجيل الدخول بدلًا من ذلك، فهو يتضمن عنوان الخادم.",
|
||||
"server_subtitle": "أدخل العنوان الذي تستخدمه للوصول إلى بريد الويب.",
|
||||
"server_title": "ما عنوان خادمك؟",
|
||||
|
||||
@@ -460,12 +460,19 @@
|
||||
"email_step_title": "Quina és la vostra adreça electrònica?",
|
||||
"email_step_title_add": "Quina és l'altra adreça?",
|
||||
"email_title": "Utilitza la meva adreça electrònica",
|
||||
"err_account_limit_detail": "Suprimiu un compte a la configuració per afegir-ne un altre.",
|
||||
"err_bad_detail": "Comproveu el correu electrònic i la contrasenya. Si el vostre compte utilitza l'autenticació de dos factors, creeu una contrasenya d'aplicació al webmail i utilitzeu-la aquí.",
|
||||
"err_bad_title": "No ha funcionat",
|
||||
"err_cert_detail": "S'ha rebutjat el certificat de seguretat del servidor. Si és el vostre propi servidor, comproveu que el certificat sigui vàlid i no hagi caducat.",
|
||||
"err_cert_title": "No s'ha pogut verificar {host}",
|
||||
"err_code_expired_detail": "Els codis d'inici de sessió són vàlids durant uns minuts. Genereu-ne un de nou al webmail i torneu-lo a escanejar.",
|
||||
"err_code_expired_detail": "Els codis d'inici de sessió són vàlids durant dos minuts. Mostreu-ne un de nou al webmail i torneu-lo a escanejar.",
|
||||
"err_code_expired_or_used_detail": "Mostreu-ne un de nou al webmail i torneu-lo a escanejar.",
|
||||
"err_code_expired_or_used_title": "Aquest codi ha caducat o ja s'ha utilitzat",
|
||||
"err_code_expired_title": "Aquest codi ha caducat",
|
||||
"err_code_invalid_detail": "Mostreu un codi nou al webmail (Configuració → Seguretat → Enllaça l'aplicació mòbil) i escanegeu-lo.",
|
||||
"err_code_invalid_title": "Aquest codi no és vàlid",
|
||||
"err_code_used_detail": "Cada codi només funciona una vegada. Mostreu-ne un de nou al webmail i torneu-lo a escanejar.",
|
||||
"err_code_used_title": "Aquest codi ja s'ha utilitzat",
|
||||
"err_generic_detail": "Alguna cosa ha anat malament. Torneu-ho a provar.",
|
||||
"err_generic_title": "Ha fallat l'inici de sessió",
|
||||
"err_interrupted_detail": "La resposta no coincideix amb la sol·licitud que vam iniciar. Torneu a iniciar la sessió.",
|
||||
@@ -474,6 +481,17 @@
|
||||
"err_no_server_title": "No hi ha cap servidor de correu a {host}",
|
||||
"err_no_webmail_detail": "Aquest servidor no té webmail del Bulwark ni inici de sessió OAuth. Utilitzeu una contrasenya (o una contrasenya d'aplicació).",
|
||||
"err_no_webmail_title": "No hi ha cap pàgina d'inici de sessió a {host}",
|
||||
"err_pair_connect_detail": "Mostreu un codi nou a l'ordinador i torneu-lo a escanejar.",
|
||||
"err_pair_connect_title": "Sessió iniciada, però no s'ha pogut connectar a {host}",
|
||||
"err_pair_insecure_detail": "{host} vol utilitzar una connexió sense xifrar.",
|
||||
"err_pair_network_detail": "Comproveu la connexió i que el telèfon pugui accedir al webmail, i torneu-ho a provar.",
|
||||
"err_pair_rate_detail": "Espereu un minut i torneu-ho a provar.",
|
||||
"err_pair_server_detail": "Torneu-ho a provar amb un codi nou. Si continua fallant, consulteu l'administrador.",
|
||||
"err_pair_server_title": "El webmail no ha pogut completar l'inici de sessió",
|
||||
"err_pair_unsupported_detail": "{host} no admet codis d'inici de sessió. Potser necessita una actualització, o l'enllaç apunta a una adreça incorrecta.",
|
||||
"err_pair_unsupported_title": "Aquest webmail no pot enllaçar dispositius",
|
||||
"err_pair_untrusted_detail": "{host} ha enviat dades d'inici de sessió per a un servidor que l'aplicació no pot verificar.",
|
||||
"err_pair_untrusted_title": "No es pot confiar en aquest inici de sessió",
|
||||
"err_rate_detail": "El servidor ens ha demanat que esperem un moment. Torneu-ho a provar d'aquí a poc.",
|
||||
"err_rate_detail_seconds": "El servidor ens ha demanat que esperem. Torneu-ho a provar d'aquí a uns {seconds} segons.",
|
||||
"err_rate_title": "Massa intents",
|
||||
@@ -487,6 +505,12 @@
|
||||
"know_server": "Conec l'adreça del meu servidor",
|
||||
"known_server_desc": "Ja coneixem aquest servidor, així que no cal configurar res",
|
||||
"known_server_title": "Un altre compte a {host}",
|
||||
"link_confirm_connect": "Un enllaç demana iniciar la sessió en aquesta pàgina. Continueu només si utilitzeu {host} per al correu.",
|
||||
"link_confirm_connect_add": "Un enllaç demana afegir un compte iniciant la sessió en aquesta pàgina. Continueu només si utilitzeu {host} per al correu.",
|
||||
"link_confirm_connect_title": "Voleu obrir la pàgina d'inici de sessió de {host}?",
|
||||
"link_confirm_pair": "Aquest enllaç inicia la sessió en un compte de {host}. Continueu només si acabeu de mostrar un codi d'inici de sessió a l'ordinador.",
|
||||
"link_confirm_pair_add": "Aquest enllaç afegeix un compte de {host} i hi canvia l'aplicació. Continueu només si acabeu de mostrar un codi d'inici de sessió a l'ordinador.",
|
||||
"link_confirm_title": "Voleu iniciar la sessió amb un enllaç?",
|
||||
"looking_up": "S'està cercant el vostre servidor…",
|
||||
"manual": "Introdueix les dades del servidor manualment",
|
||||
"notice_bad_qr": "Aquest codi no és un codi d'inici de sessió del Bulwark",
|
||||
@@ -505,6 +529,12 @@
|
||||
"pairing_detail": "S'està aparellant aquest dispositiu amb {host}…",
|
||||
"password_subtitle": "La contrasenya només s'envia a aquest servidor i es desa al magatzem segur del dispositiu.",
|
||||
"password_title": "Inicia la sessió a {host}",
|
||||
"paste_button": "Enganxa",
|
||||
"paste_clipboard_empty": "No hi ha res per enganxar. Primer copieu l'enllaç al webmail.",
|
||||
"paste_hint": "Al webmail, obriu Configuració → Seguretat → Enllaça l'aplicació mòbil, copieu l'enllaç d'inici de sessió i enganxeu-lo aquí.",
|
||||
"paste_invalid": "Això no és un enllaç d'inici de sessió del Bulwark",
|
||||
"paste_label": "Enllaç d'inici de sessió",
|
||||
"paste_title": "Enganxa l'enllaç d'inici de sessió",
|
||||
"provider_detail": "L'escriureu a la seva pàgina. El Bulwark només desa un testimoni d'inici de sessió, que podeu revocar en qualsevol moment.",
|
||||
"provider_title": "La contrasenya es queda amb el vostre proveïdor",
|
||||
"qr_hint": "Configuració → Seguretat → Enllaça l'aplicació mòbil mostra un codi. Apunteu-hi la càmera.",
|
||||
@@ -515,6 +545,7 @@
|
||||
"server_hint": "La mateixa adreça que escriviu al navegador. Hi afegirem https://.",
|
||||
"server_label": "Adreça del servidor",
|
||||
"server_not_found": "No hem trobat cap servidor per a {domain}. Si l'allotgeu vosaltres, l'adreça és la que utilitzeu per al webmail.",
|
||||
"server_paste_hint": "Teniu un enllaç d'inici de sessió? Enganxeu-lo aquí.",
|
||||
"server_scan_hint": "Si no n'esteu segur, escanegeu un codi d'inici de sessió. Inclou l'adreça del servidor.",
|
||||
"server_subtitle": "Introduïu l'adreça que utilitzeu per accedir al webmail.",
|
||||
"server_title": "Quina és l'adreça del vostre servidor?",
|
||||
|
||||
@@ -460,12 +460,19 @@
|
||||
"email_step_title": "Jaká je vaše e-mailová adresa?",
|
||||
"email_step_title_add": "Jaká je ta druhá adresa?",
|
||||
"email_title": "Použít moji e-mailovou adresu",
|
||||
"err_account_limit_detail": "Chcete-li přidat další účet, odeberte některý v Nastavení.",
|
||||
"err_bad_detail": "Zkontrolujte e-mail a heslo. Pokud váš účet používá dvoufázové přihlášení, vytvořte ve webmailu heslo aplikace a použijte ho zde.",
|
||||
"err_bad_title": "To nevyšlo",
|
||||
"err_cert_detail": "Bezpečnostní certifikát serveru byl odmítnut. Pokud jde o váš vlastní server, zkontrolujte, zda je certifikát platný a nevypršel.",
|
||||
"err_cert_title": "{host} nelze ověřit",
|
||||
"err_code_expired_detail": "Přihlašovací kódy platí několik minut. Vygenerujte ve webmailu nový a naskenujte ho znovu.",
|
||||
"err_code_expired_detail": "Přihlašovací kódy platí dvě minuty. Zobrazte ve webmailu nový a naskenujte ho znovu.",
|
||||
"err_code_expired_or_used_detail": "Zobrazte ve webmailu nový a naskenujte ho znovu.",
|
||||
"err_code_expired_or_used_title": "Platnost kódu vypršela nebo už byl použit",
|
||||
"err_code_expired_title": "Platnost kódu vypršela",
|
||||
"err_code_invalid_detail": "Zobrazte ve webmailu nový kód (Nastavení → Zabezpečení → Propojit mobilní aplikaci) a naskenujte ho.",
|
||||
"err_code_invalid_title": "Tento kód není platný",
|
||||
"err_code_used_detail": "Každý kód funguje jen jednou. Zobrazte ve webmailu nový a naskenujte ho znovu.",
|
||||
"err_code_used_title": "Tento kód už byl použit",
|
||||
"err_generic_detail": "Něco se pokazilo. Zkuste to znovu.",
|
||||
"err_generic_title": "Přihlášení selhalo",
|
||||
"err_interrupted_detail": "Odpověď neodpovídala zahájenému požadavku. Zkuste se přihlásit znovu.",
|
||||
@@ -474,6 +481,17 @@
|
||||
"err_no_server_title": "Poštovní server nenalezen: {host}",
|
||||
"err_no_webmail_detail": "Tento server nemá webmail Bulwark ani přihlášení přes OAuth. Použijte heslo (nebo heslo aplikace).",
|
||||
"err_no_webmail_title": "Přihlašovací stránka nenalezena: {host}",
|
||||
"err_pair_connect_detail": "Zobrazte na počítači nový kód a naskenujte ho znovu.",
|
||||
"err_pair_connect_title": "Přihlášeno, ale nelze se připojit k {host}",
|
||||
"err_pair_insecure_detail": "{host} chce použít nešifrované spojení.",
|
||||
"err_pair_network_detail": "Zkontrolujte připojení a zda se telefon dostane k webmailu, a zkuste to znovu.",
|
||||
"err_pair_rate_detail": "Počkejte minutu a zkuste to znovu.",
|
||||
"err_pair_server_detail": "Zkuste to znovu s novým kódem. Pokud to stále selhává, obraťte se na správce.",
|
||||
"err_pair_server_title": "Webmail nemohl dokončit přihlášení",
|
||||
"err_pair_unsupported_detail": "{host} nepodporuje přihlašovací kódy. Možná potřebuje aktualizaci, nebo odkaz vede na špatnou adresu.",
|
||||
"err_pair_unsupported_title": "Tento webmail neumí propojovat zařízení",
|
||||
"err_pair_untrusted_detail": "{host} poslal přihlašovací údaje pro server, který aplikace nemůže ověřit.",
|
||||
"err_pair_untrusted_title": "Tomuto přihlášení nelze důvěřovat",
|
||||
"err_rate_detail": "Server nás požádal o chvíli strpení. Zkuste to brzy znovu.",
|
||||
"err_rate_detail_seconds": "Server nás požádal o strpení. Zkuste to znovu přibližně za {seconds} s.",
|
||||
"err_rate_title": "Příliš mnoho pokusů",
|
||||
@@ -487,6 +505,12 @@
|
||||
"know_server": "Znám adresu svého serveru",
|
||||
"known_server_desc": "Tento server už známe, takže není třeba nic nastavovat",
|
||||
"known_server_title": "Další účet na {host}",
|
||||
"link_confirm_connect": "Odkaz žádá o přihlášení na této stránce. Pokračujte, jen pokud {host} používáte pro svůj e-mail.",
|
||||
"link_confirm_connect_add": "Odkaz žádá o přidání účtu přihlášením na této stránce. Pokračujte, jen pokud {host} používáte pro svůj e-mail.",
|
||||
"link_confirm_connect_title": "Otevřít přihlašovací stránku {host}?",
|
||||
"link_confirm_pair": "Tento odkaz vás přihlásí k účtu z {host}. Pokračujte, jen pokud jste právě na počítači zobrazili přihlašovací kód.",
|
||||
"link_confirm_pair_add": "Tento odkaz přidá účet z {host} a přepne na něj aplikaci. Pokračujte, jen pokud jste právě na počítači zobrazili přihlašovací kód.",
|
||||
"link_confirm_title": "Přihlásit se pomocí odkazu?",
|
||||
"looking_up": "Hledání vašeho serveru…",
|
||||
"manual": "Zadat údaje serveru ručně",
|
||||
"notice_bad_qr": "Toto není přihlašovací kód Bulwark",
|
||||
@@ -505,6 +529,12 @@
|
||||
"pairing_detail": "Párování tohoto zařízení: {host}…",
|
||||
"password_subtitle": "Heslo se odešle pouze tomuto serveru a uloží se do úložiště klíčů v zařízení.",
|
||||
"password_title": "Přihlásit se k {host}",
|
||||
"paste_button": "Vložit",
|
||||
"paste_clipboard_empty": "Není co vložit. Nejprve zkopírujte odkaz ve webmailu.",
|
||||
"paste_hint": "Ve webmailu otevřete Nastavení → Zabezpečení → Propojit mobilní aplikaci, zkopírujte přihlašovací odkaz a vložte ho sem.",
|
||||
"paste_invalid": "Toto není přihlašovací odkaz Bulwark",
|
||||
"paste_label": "Přihlašovací odkaz",
|
||||
"paste_title": "Vložit přihlašovací odkaz",
|
||||
"provider_detail": "Zadáte ho na jeho stránce. Bulwark ukládá pouze přihlašovací token, který můžete kdykoli odvolat.",
|
||||
"provider_title": "Vaše heslo zůstává u poskytovatele",
|
||||
"qr_hint": "V Nastavení → Zabezpečení → Propojit mobilní aplikaci se zobrazí kód. Namiřte na něj fotoaparát.",
|
||||
@@ -515,6 +545,7 @@
|
||||
"server_hint": "Stejná adresa, jakou zadáváte v prohlížeči. https:// doplníme za vás.",
|
||||
"server_label": "Adresa serveru",
|
||||
"server_not_found": "Pro {domain} jsme nenašli žádný server. Pokud provozujete vlastní server, zadejte adresu, kterou používáte pro webmail.",
|
||||
"server_paste_hint": "Máte místo toho přihlašovací odkaz? Vložte ho sem.",
|
||||
"server_scan_hint": "Pokud si nejste jisti, naskenujte raději přihlašovací kód. Obsahuje adresu serveru.",
|
||||
"server_subtitle": "Zadejte adresu, přes kterou otevíráte webmail.",
|
||||
"server_title": "Jaká je adresa vašeho serveru?",
|
||||
|
||||
@@ -460,12 +460,19 @@
|
||||
"email_step_title": "Hvad er din e-mailadresse?",
|
||||
"email_step_title_add": "Hvad er den anden adresse?",
|
||||
"email_title": "Brug min e-mailadresse",
|
||||
"err_account_limit_detail": "Fjern en konto i Indstillinger for at tilføje en ny.",
|
||||
"err_bad_detail": "Tjek din e-mail og adgangskode. Hvis din konto bruger to-faktor-godkendelse, så opret en app-adgangskode i webmailen, og brug den her.",
|
||||
"err_bad_title": "Det virkede ikke",
|
||||
"err_cert_detail": "Serverens sikkerhedscertifikat blev afvist. Hvis det er din egen server, så tjek, at certifikatet er gyldigt og ikke udløbet.",
|
||||
"err_cert_title": "Kunne ikke verificere {host}",
|
||||
"err_code_expired_detail": "Loginkoder er kun gyldige i nogle få minutter. Generér en ny i webmailen, og scan igen.",
|
||||
"err_code_expired_detail": "Loginkoder er gyldige i to minutter. Vis en ny i webmailen, og scan igen.",
|
||||
"err_code_expired_or_used_detail": "Vis en ny i webmailen, og scan igen.",
|
||||
"err_code_expired_or_used_title": "Den kode er udløbet eller allerede brugt",
|
||||
"err_code_expired_title": "Koden er udløbet",
|
||||
"err_code_invalid_detail": "Vis en ny kode i webmailen (Indstillinger → Sikkerhed → Tilknyt mobilapp), og scan den.",
|
||||
"err_code_invalid_title": "Den kode er ikke gyldig",
|
||||
"err_code_used_detail": "Hver kode virker kun én gang. Vis en ny i webmailen, og scan igen.",
|
||||
"err_code_used_title": "Den kode er allerede brugt",
|
||||
"err_generic_detail": "Noget gik galt. Prøv igen.",
|
||||
"err_generic_title": "Login mislykkedes",
|
||||
"err_interrupted_detail": "Svaret matchede ikke den anmodning, vi startede. Prøv at logge ind igen.",
|
||||
@@ -474,6 +481,17 @@
|
||||
"err_no_server_title": "Ingen mailserver på {host}",
|
||||
"err_no_webmail_detail": "Denne server har hverken Bulwark-webmail eller OAuth-login. Brug i stedet en adgangskode (eller en app-adgangskode).",
|
||||
"err_no_webmail_title": "Ingen login-side på {host}",
|
||||
"err_pair_connect_detail": "Vis en ny kode på din computer, og scan igen.",
|
||||
"err_pair_connect_title": "Logget ind, men kunne ikke oprette forbindelse til {host}",
|
||||
"err_pair_insecure_detail": "{host} vil bruge en ukrypteret forbindelse.",
|
||||
"err_pair_network_detail": "Tjek din forbindelse, og at din telefon kan nå webmailen, og prøv så igen.",
|
||||
"err_pair_rate_detail": "Vent et minut, og prøv så igen.",
|
||||
"err_pair_server_detail": "Prøv igen med en ny kode. Hvis det bliver ved med at mislykkes, så kontakt din administrator.",
|
||||
"err_pair_server_title": "Webmailen kunne ikke gennemføre login",
|
||||
"err_pair_unsupported_detail": "{host} understøtter ikke loginkoder. Den skal måske opdateres, eller linket peger på den forkerte adresse.",
|
||||
"err_pair_unsupported_title": "Denne webmail kan ikke tilknytte enheder",
|
||||
"err_pair_untrusted_detail": "{host} sendte loginoplysninger til en server, som appen ikke kan bekræfte.",
|
||||
"err_pair_untrusted_title": "Dette login kan ikke betros",
|
||||
"err_rate_detail": "Serveren bad os vente et øjeblik. Prøv igen om lidt.",
|
||||
"err_rate_detail_seconds": "Serveren bad os vente. Prøv igen om cirka {seconds} sekunder.",
|
||||
"err_rate_title": "For mange forsøg",
|
||||
@@ -487,6 +505,12 @@
|
||||
"know_server": "Jeg kender min serveradresse",
|
||||
"known_server_desc": "Vi kender allerede denne server, så der skal ikke konfigureres noget",
|
||||
"known_server_title": "En anden konto på {host}",
|
||||
"link_confirm_connect": "Et link beder om at logge ind på denne side. Fortsæt kun, hvis du bruger {host} til din mail.",
|
||||
"link_confirm_connect_add": "Et link beder om at tilføje en konto ved at logge ind på denne side. Fortsæt kun, hvis du bruger {host} til din mail.",
|
||||
"link_confirm_connect_title": "Åbn login-siden for {host}?",
|
||||
"link_confirm_pair": "Dette link logger ind på en konto fra {host}. Fortsæt kun, hvis du lige har vist en loginkode på din computer.",
|
||||
"link_confirm_pair_add": "Dette link tilføjer en konto fra {host} og skifter appen til den. Fortsæt kun, hvis du lige har vist en loginkode på din computer.",
|
||||
"link_confirm_title": "Log ind med et link?",
|
||||
"looking_up": "Slår din server op…",
|
||||
"manual": "Indtast serveroplysninger manuelt",
|
||||
"notice_bad_qr": "Den kode er ikke en Bulwark-loginkode",
|
||||
@@ -505,6 +529,12 @@
|
||||
"pairing_detail": "Parrer denne enhed med {host}…",
|
||||
"password_subtitle": "Din adgangskode sendes kun til denne server og gemmes i enhedens nøglering.",
|
||||
"password_title": "Log ind på {host}",
|
||||
"paste_button": "Indsæt",
|
||||
"paste_clipboard_empty": "Der er intet at indsætte. Kopiér først linket i webmailen.",
|
||||
"paste_hint": "Åbn Indstillinger → Sikkerhed → Tilknyt mobilapp i webmailen, kopiér loginlinket, og indsæt det her.",
|
||||
"paste_invalid": "Det er ikke et Bulwark-loginlink",
|
||||
"paste_label": "Loginlink",
|
||||
"paste_title": "Indsæt loginlink",
|
||||
"provider_detail": "Du indtaster den på deres side. Bulwark gemmer kun et login-token, som du til enhver tid kan tilbagekalde.",
|
||||
"provider_title": "Din adgangskode bliver hos din udbyder",
|
||||
"qr_hint": "Indstillinger → Sikkerhed → Tilknyt mobilapp viser en kode. Ret kameraet mod den.",
|
||||
@@ -515,6 +545,7 @@
|
||||
"server_hint": "Samme adresse, som du skriver i browseren. Vi tilføjer https:// for dig.",
|
||||
"server_label": "Serveradresse",
|
||||
"server_not_found": "Vi kunne ikke finde en server for {domain}. Hvis du selv hoster, er det den adresse, du bruger til webmail.",
|
||||
"server_paste_hint": "Har du i stedet et loginlink? Indsæt det her.",
|
||||
"server_scan_hint": "Hvis du er i tvivl, så scan i stedet en loginkode. Den indeholder serveradressen.",
|
||||
"server_subtitle": "Indtast den adresse, du bruger til at nå din webmail.",
|
||||
"server_title": "Hvad er din serveradresse?",
|
||||
|
||||
@@ -460,12 +460,19 @@
|
||||
"email_step_title": "Wie lautet Ihre E-Mail-Adresse?",
|
||||
"email_step_title_add": "Wie lautet die andere Adresse?",
|
||||
"email_title": "Meine E-Mail-Adresse verwenden",
|
||||
"err_account_limit_detail": "Entfernen Sie in den Einstellungen ein Konto, um ein weiteres hinzuzufügen.",
|
||||
"err_bad_detail": "Prüfen Sie E-Mail-Adresse und Passwort. Wenn Ihr Konto die Zwei-Faktor-Anmeldung nutzt, erstellen Sie im Webmail ein App-Passwort und verwenden Sie es hier.",
|
||||
"err_bad_title": "Das hat nicht funktioniert",
|
||||
"err_cert_detail": "Das Sicherheitszertifikat des Servers wurde abgelehnt. Wenn dies Ihr eigener Server ist, prüfen Sie, ob das Zertifikat gültig und nicht abgelaufen ist.",
|
||||
"err_cert_title": "Überprüfung von {host} fehlgeschlagen",
|
||||
"err_code_expired_detail": "Anmeldecodes sind nur wenige Minuten gültig. Erzeugen Sie im Webmail einen neuen und scannen Sie erneut.",
|
||||
"err_code_expired_detail": "Anmeldecodes sind zwei Minuten gültig. Zeigen Sie im Webmail einen neuen an und scannen Sie erneut.",
|
||||
"err_code_expired_or_used_detail": "Zeigen Sie im Webmail einen neuen an und scannen Sie erneut.",
|
||||
"err_code_expired_or_used_title": "Dieser Code ist abgelaufen oder wurde bereits verwendet",
|
||||
"err_code_expired_title": "Dieser Code ist abgelaufen",
|
||||
"err_code_invalid_detail": "Zeigen Sie im Webmail einen neuen Code an (Einstellungen → Sicherheit → Mobile App verknüpfen) und scannen Sie ihn.",
|
||||
"err_code_invalid_title": "Dieser Code ist ungültig",
|
||||
"err_code_used_detail": "Jeder Code funktioniert nur einmal. Zeigen Sie im Webmail einen neuen an und scannen Sie erneut.",
|
||||
"err_code_used_title": "Dieser Code wurde bereits verwendet",
|
||||
"err_generic_detail": "Etwas ist schiefgelaufen. Versuchen Sie es erneut.",
|
||||
"err_generic_title": "Anmeldung fehlgeschlagen",
|
||||
"err_interrupted_detail": "Die Antwort passte nicht zur gestarteten Anfrage. Melden Sie sich erneut an.",
|
||||
@@ -474,6 +481,17 @@
|
||||
"err_no_server_title": "Kein Mailserver bei {host}",
|
||||
"err_no_webmail_detail": "Dieser Server hat weder ein Bulwark-Webmail noch eine OAuth-Anmeldung. Verwenden Sie stattdessen ein Passwort (oder ein App-Passwort).",
|
||||
"err_no_webmail_title": "Keine Anmeldeseite bei {host}",
|
||||
"err_pair_connect_detail": "Zeigen Sie auf Ihrem Computer einen neuen Code an und scannen Sie erneut.",
|
||||
"err_pair_connect_title": "Angemeldet, aber keine Verbindung zu {host}",
|
||||
"err_pair_insecure_detail": "{host} möchte eine unverschlüsselte Verbindung verwenden.",
|
||||
"err_pair_network_detail": "Prüfen Sie Ihre Verbindung und ob Ihr Telefon das Webmail erreichen kann, und versuchen Sie es dann erneut.",
|
||||
"err_pair_rate_detail": "Warten Sie eine Minute und versuchen Sie es dann erneut.",
|
||||
"err_pair_server_detail": "Versuchen Sie es mit einem neuen Code erneut. Wenn es weiterhin fehlschlägt, wenden Sie sich an Ihren Administrator.",
|
||||
"err_pair_server_title": "Das Webmail konnte die Anmeldung nicht abschließen",
|
||||
"err_pair_unsupported_detail": "{host} unterstützt keine Anmeldecodes. Eventuell ist ein Update nötig, oder der Link verweist auf die falsche Adresse.",
|
||||
"err_pair_unsupported_title": "Dieses Webmail kann keine Geräte verknüpfen",
|
||||
"err_pair_untrusted_detail": "{host} hat Anmeldedaten für einen Server gesendet, den die App nicht überprüfen kann.",
|
||||
"err_pair_untrusted_title": "Dieser Anmeldung kann nicht vertraut werden",
|
||||
"err_rate_detail": "Der Server hat uns gebeten, kurz zu warten. Versuchen Sie es gleich noch einmal.",
|
||||
"err_rate_detail_seconds": "Der Server hat uns gebeten zu warten. Versuchen Sie es in etwa {seconds} Sekunden erneut.",
|
||||
"err_rate_title": "Zu viele Versuche",
|
||||
@@ -487,6 +505,12 @@
|
||||
"know_server": "Ich kenne meine Serveradresse",
|
||||
"known_server_desc": "Diesen Server kennen wir bereits, daher ist keine Einrichtung nötig",
|
||||
"known_server_title": "Weiteres Konto auf {host}",
|
||||
"link_confirm_connect": "Ein Link möchte Sie auf dieser Seite anmelden. Fahren Sie nur fort, wenn Sie {host} für Ihre E-Mails verwenden.",
|
||||
"link_confirm_connect_add": "Ein Link möchte über die Anmeldung auf dieser Seite ein Konto hinzufügen. Fahren Sie nur fort, wenn Sie {host} für Ihre E-Mails verwenden.",
|
||||
"link_confirm_connect_title": "Anmeldeseite von {host} öffnen?",
|
||||
"link_confirm_pair": "Dieser Link meldet Sie bei einem Konto von {host} an. Fahren Sie nur fort, wenn Sie gerade auf Ihrem Computer einen Anmeldecode angezeigt haben.",
|
||||
"link_confirm_pair_add": "Dieser Link fügt ein Konto von {host} hinzu und wechselt die App zu diesem Konto. Fahren Sie nur fort, wenn Sie gerade auf Ihrem Computer einen Anmeldecode angezeigt haben.",
|
||||
"link_confirm_title": "Mit einem Link anmelden?",
|
||||
"looking_up": "Ihr Server wird gesucht…",
|
||||
"manual": "Serverdaten manuell eingeben",
|
||||
"notice_bad_qr": "Das ist kein Bulwark-Anmeldecode",
|
||||
@@ -505,6 +529,12 @@
|
||||
"pairing_detail": "Dieses Gerät wird mit {host} gekoppelt…",
|
||||
"password_subtitle": "Ihr Passwort wird nur an diesen Server gesendet und im Schlüsselbund des Geräts gespeichert.",
|
||||
"password_title": "Bei {host} anmelden",
|
||||
"paste_button": "Einfügen",
|
||||
"paste_clipboard_empty": "Nichts zum Einfügen. Kopieren Sie zuerst den Link im Webmail.",
|
||||
"paste_hint": "Öffnen Sie im Webmail Einstellungen → Sicherheit → Mobile App verknüpfen, kopieren Sie den Anmeldelink und fügen Sie ihn hier ein.",
|
||||
"paste_invalid": "Das ist kein Bulwark-Anmeldelink",
|
||||
"paste_label": "Anmeldelink",
|
||||
"paste_title": "Anmeldelink einfügen",
|
||||
"provider_detail": "Sie geben es auf dessen Seite ein. Bulwark speichert nur ein Anmeldetoken, das Sie jederzeit widerrufen können.",
|
||||
"provider_title": "Ihr Passwort bleibt bei Ihrem Anbieter",
|
||||
"qr_hint": "Einstellungen → Sicherheit → Mobile App verknüpfen zeigt einen Code an. Richten Sie die Kamera darauf.",
|
||||
@@ -515,6 +545,7 @@
|
||||
"server_hint": "Dieselbe Adresse, die Sie im Browser eingeben. https:// ergänzen wir für Sie.",
|
||||
"server_label": "Serveradresse",
|
||||
"server_not_found": "Für {domain} wurde kein Server gefunden. Wenn Sie selbst hosten, ist es die Adresse, die Sie für das Webmail verwenden.",
|
||||
"server_paste_hint": "Haben Sie stattdessen einen Anmeldelink? Fügen Sie ihn hier ein.",
|
||||
"server_scan_hint": "Wenn Sie unsicher sind, scannen Sie stattdessen einen Anmeldecode. Er enthält die Serveradresse.",
|
||||
"server_subtitle": "Geben Sie die Adresse ein, unter der Sie Ihr Webmail erreichen.",
|
||||
"server_title": "Wie lautet Ihre Serveradresse?",
|
||||
|
||||
@@ -249,6 +249,9 @@
|
||||
"color_tag": "Tag",
|
||||
"remove_color": "Remove tag"
|
||||
},
|
||||
"deep_link": {
|
||||
"open_failed": "Couldn't open this"
|
||||
},
|
||||
"email_composer": {
|
||||
"attach_camera": "Camera",
|
||||
"attachment_reminder_body": "Your message mentions \"{keyword}\" but no file is attached. Send anyway?",
|
||||
@@ -467,12 +470,19 @@
|
||||
"email_step_title": "What's your email address?",
|
||||
"email_step_title_add": "What's the other address?",
|
||||
"email_title": "Use my email address",
|
||||
"err_account_limit_detail": "Remove an account in Settings to add another one.",
|
||||
"err_bad_detail": "Check your email and password. If your account uses two-factor sign-in, create an app password in the webmail and use that here.",
|
||||
"err_bad_title": "That didn't work",
|
||||
"err_cert_detail": "The server's security certificate was rejected. If this is your own server, check the certificate is valid and not expired.",
|
||||
"err_cert_title": "Couldn't verify {host}",
|
||||
"err_code_expired_detail": "Sign-in codes are good for a few minutes. Generate a fresh one in the webmail and scan again.",
|
||||
"err_code_expired_detail": "Sign-in codes are good for two minutes. Show a new one in the webmail and scan again.",
|
||||
"err_code_expired_or_used_detail": "Show a new one in the webmail and scan again.",
|
||||
"err_code_expired_or_used_title": "That code has expired or was already used",
|
||||
"err_code_expired_title": "That code has expired",
|
||||
"err_code_invalid_detail": "Show a new code in the webmail (Settings → Security → Link Mobile App) and scan it.",
|
||||
"err_code_invalid_title": "That code isn't valid",
|
||||
"err_code_used_detail": "Each code works once. Show a new one in the webmail and scan again.",
|
||||
"err_code_used_title": "That code was already used",
|
||||
"err_generic_detail": "Something went wrong. Try again.",
|
||||
"err_generic_title": "Sign-in failed",
|
||||
"err_interrupted_detail": "The response didn't match the request we started. Try signing in again.",
|
||||
@@ -481,6 +491,17 @@
|
||||
"err_no_server_title": "No mail server at {host}",
|
||||
"err_no_webmail_detail": "This server has no Bulwark webmail and no OAuth sign-in. Use a password (or an app password) instead.",
|
||||
"err_no_webmail_title": "No sign-in page at {host}",
|
||||
"err_pair_connect_detail": "Show a new code on your computer and scan again.",
|
||||
"err_pair_connect_title": "Signed in, but couldn't connect to {host}",
|
||||
"err_pair_insecure_detail": "{host} wants to use an unencrypted connection.",
|
||||
"err_pair_network_detail": "Check your connection and that your phone can reach the webmail, then try again.",
|
||||
"err_pair_rate_detail": "Wait a minute, then try again.",
|
||||
"err_pair_server_detail": "Try again with a new code. If it keeps failing, ask your administrator.",
|
||||
"err_pair_server_title": "The webmail couldn't complete the sign-in",
|
||||
"err_pair_unsupported_detail": "{host} doesn't support sign-in codes. It may need an update, or the link points to the wrong address.",
|
||||
"err_pair_unsupported_title": "This webmail can't link devices",
|
||||
"err_pair_untrusted_detail": "{host} sent sign-in details for a server the app can't verify.",
|
||||
"err_pair_untrusted_title": "This sign-in can't be trusted",
|
||||
"err_rate_detail": "The server asked us to wait a moment. Try again shortly.",
|
||||
"err_rate_detail_seconds": "The server asked us to wait. Try again in about {seconds} seconds.",
|
||||
"err_rate_title": "Too many attempts",
|
||||
@@ -494,6 +515,12 @@
|
||||
"know_server": "I know my server address",
|
||||
"known_server_desc": "We already know this server, so there's no setup",
|
||||
"known_server_title": "Another account on {host}",
|
||||
"link_confirm_connect": "A link asks to sign in on this page. Only continue if you use {host} for your mail.",
|
||||
"link_confirm_connect_add": "A link asks to add an account by signing in on this page. Only continue if you use {host} for your mail.",
|
||||
"link_confirm_connect_title": "Open the sign-in page of {host}?",
|
||||
"link_confirm_pair": "This link signs in to an account from {host}. Only continue if you just showed a sign-in code on your computer.",
|
||||
"link_confirm_pair_add": "This link adds an account from {host} and switches the app to it. Only continue if you just showed a sign-in code on your computer.",
|
||||
"link_confirm_title": "Sign in with a link?",
|
||||
"looking_up": "Looking up your server…",
|
||||
"manual": "Enter server details manually",
|
||||
"notice_bad_qr": "That code isn't a Bulwark sign-in code",
|
||||
@@ -512,6 +539,12 @@
|
||||
"pairing_detail": "Pairing this device with {host}…",
|
||||
"password_subtitle": "Your password is sent to this server only, and stored in the device keychain.",
|
||||
"password_title": "Sign in to {host}",
|
||||
"paste_button": "Paste",
|
||||
"paste_clipboard_empty": "Nothing to paste. Copy the link in the webmail first.",
|
||||
"paste_hint": "In the webmail, open Settings → Security → Link Mobile App, copy the sign-in link and paste it here.",
|
||||
"paste_invalid": "That isn't a Bulwark sign-in link",
|
||||
"paste_label": "Sign-in link",
|
||||
"paste_title": "Paste sign-in link",
|
||||
"provider_detail": "You'll type it on their page. Bulwark only stores a sign-in token, which you can revoke at any time.",
|
||||
"provider_title": "Your password stays with your provider",
|
||||
"qr_hint": "Settings → Security → Link Mobile App shows a code. Point the camera at it.",
|
||||
@@ -522,6 +555,7 @@
|
||||
"server_hint": "Same address you type in the browser. We'll add https:// for you.",
|
||||
"server_label": "Server address",
|
||||
"server_not_found": "We couldn't find a server for {domain}. If you self-host, the address is the one you use for webmail.",
|
||||
"server_paste_hint": "Have a sign-in link instead? Paste it here.",
|
||||
"server_scan_hint": "If you're not sure, scan a sign-in code instead. It carries the server address.",
|
||||
"server_subtitle": "Enter the address you use to reach your webmail.",
|
||||
"server_title": "What's your server address?",
|
||||
@@ -1038,5 +1072,188 @@
|
||||
"severity_deprecated": "Required",
|
||||
"severity_security": "Security",
|
||||
"title": "App updates"
|
||||
},
|
||||
"widgets": {
|
||||
"attachments": {
|
||||
"empty": "No recent attachments",
|
||||
"from_mail": "from mail",
|
||||
"title": "Attachments",
|
||||
"unknown_sender": "Unknown sender"
|
||||
},
|
||||
"birthdays": {
|
||||
"empty": "No birthdays coming up",
|
||||
"empty_body": "Birthdays come from your contacts.",
|
||||
"in_days": "{count, plural, one {in # day} other {in # days}}",
|
||||
"send_wishes": "Send wishes",
|
||||
"title": "Birthdays",
|
||||
"wishes_subject": "Happy birthday!"
|
||||
},
|
||||
"calendar": {
|
||||
"agenda": "Agenda",
|
||||
"agenda_more": "{day}: {events}",
|
||||
"all_day": "All day",
|
||||
"join": "Join",
|
||||
"join_named": "Join {name}",
|
||||
"more_this_week": "{count, plural, one {# more this week} other {# more this week}}",
|
||||
"no_more_today": "No more events today",
|
||||
"nothing_planned": "Nothing on the calendar",
|
||||
"now": "Now",
|
||||
"open": "Open",
|
||||
"running_late": "Running late",
|
||||
"running_late_body": "I'm running a few minutes late for {title}.",
|
||||
"running_late_subject": "Running late: {title}",
|
||||
"today": "Today",
|
||||
"tomorrow": "Tomorrow",
|
||||
"unit_days": "{count, plural, one {day} other {days}}",
|
||||
"unit_hours": "{count, plural, one {hour} other {hours}}",
|
||||
"unit_minutes": "{count, plural, one {min} other {min}}",
|
||||
"unsupported": "Calendar isn't available on this server",
|
||||
"untitled": "(no title)",
|
||||
"video_call": "Video call"
|
||||
},
|
||||
"countdown": {
|
||||
"days": "{count, plural, one {day} other {days}}",
|
||||
"empty": "No upcoming events"
|
||||
},
|
||||
"draft": {
|
||||
"edited_at": "Edited {when}",
|
||||
"edited_minutes": "{count, plural, one {Edited # min ago} other {Edited # min ago}}",
|
||||
"edited_now": "Edited just now",
|
||||
"empty": "No drafts",
|
||||
"empty_body": "Messages you start and do not send wait here.",
|
||||
"keep_writing": "Keep writing",
|
||||
"title": "Drafts"
|
||||
},
|
||||
"files": {
|
||||
"empty": "No files yet",
|
||||
"recent": "Recently changed",
|
||||
"unsupported": "Files aren't available on this server"
|
||||
},
|
||||
"free": {
|
||||
"busy_until": "Busy until {time}",
|
||||
"free_rest": "Free for the rest of the day",
|
||||
"free_until": "Free until {time}",
|
||||
"mail": "Mail my free times",
|
||||
"mail_subject": "My free times this week",
|
||||
"no_calendar": "No calendar on this account",
|
||||
"then": "then {title}",
|
||||
"then_free": "then free"
|
||||
},
|
||||
"hub": {
|
||||
"all_clear": "You're all caught up",
|
||||
"mail_unread": "Mail · {count} unread",
|
||||
"next": "Next",
|
||||
"next_on": "Next · {day}",
|
||||
"no_events": "No upcoming events",
|
||||
"now": "Now",
|
||||
"tasks_due": "Tasks · {count} due"
|
||||
},
|
||||
"invites": {
|
||||
"accept": "Accept",
|
||||
"decline": "Decline",
|
||||
"empty": "No invitations waiting",
|
||||
"label": "Invitation · {name}",
|
||||
"label_plain": "Invitation",
|
||||
"maybe": "Maybe",
|
||||
"position": "{index} of {count}"
|
||||
},
|
||||
"mail": {
|
||||
"all_accounts": "All accounts",
|
||||
"all_caught_up": "All caught up",
|
||||
"archive": "Archive",
|
||||
"delete": "Delete",
|
||||
"empty_all_accounts": "Your inboxes are empty",
|
||||
"empty_inbox": "Your inbox is empty",
|
||||
"folders": "Folders",
|
||||
"in_outbox": "{count, plural, one {# change waiting} other {# changes waiting}}",
|
||||
"in_outbox_short": "{count} waiting",
|
||||
"inbox": "Inbox",
|
||||
"more_unread": "+{count} more unread",
|
||||
"no_starred": "No starred mail",
|
||||
"no_starred_body": "Star a message to keep it here.",
|
||||
"no_subject": "(no subject)",
|
||||
"no_unread": "No unread messages in your inbox.",
|
||||
"position": "{index} of {count}",
|
||||
"reply": "Reply",
|
||||
"scheduled": "Scheduled",
|
||||
"starred": "Starred",
|
||||
"unread": "unread"
|
||||
},
|
||||
"people": {
|
||||
"empty": "No favourites yet",
|
||||
"empty_body": "The people you hear from most show up here.",
|
||||
"favourites": "Favourites"
|
||||
},
|
||||
"relative": {
|
||||
"days": "{count, plural, one {in # day} other {in # days}}",
|
||||
"hours": "in {count} h",
|
||||
"minutes": "in {count} min",
|
||||
"now": "now"
|
||||
},
|
||||
"scheduled": {
|
||||
"day_at": "{day}, {time}",
|
||||
"empty": "Nothing scheduled",
|
||||
"empty_body": "Messages you schedule to send later show up here.",
|
||||
"no_recipient": "(no recipient)",
|
||||
"sending": "Sending now",
|
||||
"to": "To: {name}",
|
||||
"today_at": "Today, {time}",
|
||||
"tomorrow_at": "Tomorrow, {time}",
|
||||
"waiting": "Waiting for network",
|
||||
"waiting_body": "Changes you made offline go out when you are back online."
|
||||
},
|
||||
"search": {
|
||||
"no_recent": "Your recent searches show up here.",
|
||||
"placeholder": "Search mail…",
|
||||
"recent": "Recent searches"
|
||||
},
|
||||
"shortcuts": {
|
||||
"calendar": "Calendar",
|
||||
"compose": "Compose",
|
||||
"contacts": "Contacts",
|
||||
"files": "Files"
|
||||
},
|
||||
"state": {
|
||||
"error": "Couldn't show this widget",
|
||||
"loading": "Loading…",
|
||||
"open_app": "Open the app once if this stays empty.",
|
||||
"open_to_load": "Open Bulwark to load this",
|
||||
"signed_out": "Sign in to Bulwark"
|
||||
},
|
||||
"storage": {
|
||||
"no_limit": "No storage limit",
|
||||
"title": "Storage",
|
||||
"unavailable": "No quota information",
|
||||
"used_of": "{used} of {total}"
|
||||
},
|
||||
"tag": {
|
||||
"empty": "No tags yet",
|
||||
"empty_body": "Tags you add in the app show up here.",
|
||||
"messages": "{count, plural, one {message} other {messages}}",
|
||||
"total": "{count, plural, one {# message} other {# messages}}"
|
||||
},
|
||||
"tasks": {
|
||||
"all_done": "All done",
|
||||
"empty": "No open tasks",
|
||||
"mark_complete": "Mark as done",
|
||||
"mark_incomplete": "Mark as not done",
|
||||
"no_title": "(no title)",
|
||||
"off": "Tasks are off",
|
||||
"off_body": "Turn on tasks in the app's calendar settings",
|
||||
"open_count": "{count} open",
|
||||
"overdue": "Overdue",
|
||||
"still_open": "{count} still open",
|
||||
"title": "Tasks",
|
||||
"today": "Today",
|
||||
"tomorrow": "Tomorrow"
|
||||
},
|
||||
"vacation": {
|
||||
"active": "Active",
|
||||
"inactive": "Inactive",
|
||||
"subject": "Subject: {subject}",
|
||||
"title": "Vacation Responder",
|
||||
"unsupported": "Vacation replies aren't available",
|
||||
"until": "Until {date}"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -460,12 +460,19 @@
|
||||
"email_step_title": "¿Cuál es tu dirección de correo?",
|
||||
"email_step_title_add": "¿Cuál es la otra dirección?",
|
||||
"email_title": "Usar mi dirección de correo",
|
||||
"err_account_limit_detail": "Elimina una cuenta en Ajustes para añadir otra.",
|
||||
"err_bad_detail": "Comprueba tu correo y tu contraseña. Si tu cuenta usa autenticación de dos factores, crea una contraseña de aplicación en el webmail y úsala aquí.",
|
||||
"err_bad_title": "No ha funcionado",
|
||||
"err_cert_detail": "Se rechazó el certificado de seguridad del servidor. Si es tu propio servidor, comprueba que el certificado sea válido y no haya caducado.",
|
||||
"err_cert_title": "No se pudo verificar {host}",
|
||||
"err_code_expired_detail": "Los códigos de inicio de sesión son válidos durante unos minutos. Genera uno nuevo en el webmail y vuelve a escanearlo.",
|
||||
"err_code_expired_detail": "Los códigos de inicio de sesión son válidos durante dos minutos. Muestra uno nuevo en el webmail y vuelve a escanearlo.",
|
||||
"err_code_expired_or_used_detail": "Muestra uno nuevo en el webmail y vuelve a escanearlo.",
|
||||
"err_code_expired_or_used_title": "Ese código ha caducado o ya se ha usado",
|
||||
"err_code_expired_title": "Ese código ha caducado",
|
||||
"err_code_invalid_detail": "Muestra un código nuevo en el webmail (Configuración → Seguridad → Vincular aplicación móvil) y escanéalo.",
|
||||
"err_code_invalid_title": "Ese código no es válido",
|
||||
"err_code_used_detail": "Cada código funciona una sola vez. Muestra uno nuevo en el webmail y vuelve a escanearlo.",
|
||||
"err_code_used_title": "Ese código ya se ha usado",
|
||||
"err_generic_detail": "Algo salió mal. Inténtalo de nuevo.",
|
||||
"err_generic_title": "Error al iniciar sesión",
|
||||
"err_interrupted_detail": "La respuesta no coincide con la solicitud que iniciamos. Vuelve a iniciar sesión.",
|
||||
@@ -474,6 +481,17 @@
|
||||
"err_no_server_title": "No hay ningún servidor de correo en {host}",
|
||||
"err_no_webmail_detail": "Este servidor no tiene webmail de Bulwark ni inicio de sesión OAuth. Usa una contraseña (o una contraseña de aplicación).",
|
||||
"err_no_webmail_title": "No hay página de inicio de sesión en {host}",
|
||||
"err_pair_connect_detail": "Muestra un código nuevo en tu ordenador y vuelve a escanearlo.",
|
||||
"err_pair_connect_title": "Sesión iniciada, pero no se pudo conectar con {host}",
|
||||
"err_pair_insecure_detail": "{host} quiere usar una conexión sin cifrar.",
|
||||
"err_pair_network_detail": "Comprueba tu conexión y que tu teléfono pueda acceder al webmail, y vuelve a intentarlo.",
|
||||
"err_pair_rate_detail": "Espera un minuto y vuelve a intentarlo.",
|
||||
"err_pair_server_detail": "Vuelve a intentarlo con un código nuevo. Si sigue fallando, consulta a tu administrador.",
|
||||
"err_pair_server_title": "El webmail no ha podido completar el inicio de sesión",
|
||||
"err_pair_unsupported_detail": "{host} no admite códigos de inicio de sesión. Puede que necesite una actualización o que el enlace apunte a una dirección incorrecta.",
|
||||
"err_pair_unsupported_title": "Este webmail no puede vincular dispositivos",
|
||||
"err_pair_untrusted_detail": "{host} ha enviado datos de inicio de sesión para un servidor que la aplicación no puede verificar.",
|
||||
"err_pair_untrusted_title": "No se puede confiar en este inicio de sesión",
|
||||
"err_rate_detail": "El servidor nos pidió esperar un momento. Inténtalo de nuevo en breve.",
|
||||
"err_rate_detail_seconds": "El servidor nos pidió esperar. Inténtalo de nuevo en unos {seconds} segundos.",
|
||||
"err_rate_title": "Demasiados intentos",
|
||||
@@ -487,6 +505,12 @@
|
||||
"know_server": "Conozco la dirección de mi servidor",
|
||||
"known_server_desc": "Ya conocemos este servidor, así que no hay nada que configurar",
|
||||
"known_server_title": "Otra cuenta en {host}",
|
||||
"link_confirm_connect": "Un enlace pide iniciar sesión en esta página. Continúa solo si usas {host} para tu correo.",
|
||||
"link_confirm_connect_add": "Un enlace pide añadir una cuenta iniciando sesión en esta página. Continúa solo si usas {host} para tu correo.",
|
||||
"link_confirm_connect_title": "¿Abrir la página de inicio de sesión de {host}?",
|
||||
"link_confirm_pair": "Este enlace inicia sesión en una cuenta de {host}. Continúa solo si acabas de mostrar un código de inicio de sesión en tu ordenador.",
|
||||
"link_confirm_pair_add": "Este enlace añade una cuenta de {host} y cambia la aplicación a ella. Continúa solo si acabas de mostrar un código de inicio de sesión en tu ordenador.",
|
||||
"link_confirm_title": "¿Iniciar sesión con un enlace?",
|
||||
"looking_up": "Buscando tu servidor…",
|
||||
"manual": "Introducir los datos del servidor manualmente",
|
||||
"notice_bad_qr": "Ese código no es un código de inicio de sesión de Bulwark",
|
||||
@@ -505,6 +529,12 @@
|
||||
"pairing_detail": "Vinculando este dispositivo con {host}…",
|
||||
"password_subtitle": "Tu contraseña solo se envía a este servidor y se guarda en el almacén seguro del dispositivo.",
|
||||
"password_title": "Iniciar sesión en {host}",
|
||||
"paste_button": "Pegar",
|
||||
"paste_clipboard_empty": "No hay nada que pegar. Copia primero el enlace en el webmail.",
|
||||
"paste_hint": "En el webmail, abre Configuración → Seguridad → Vincular aplicación móvil, copia el enlace de inicio de sesión y pégalo aquí.",
|
||||
"paste_invalid": "Eso no es un enlace de inicio de sesión de Bulwark",
|
||||
"paste_label": "Enlace de inicio de sesión",
|
||||
"paste_title": "Pegar enlace de inicio de sesión",
|
||||
"provider_detail": "La escribirás en su página. Bulwark solo guarda un token de inicio de sesión, que puedes revocar en cualquier momento.",
|
||||
"provider_title": "Tu contraseña se queda con tu proveedor",
|
||||
"qr_hint": "Configuración → Seguridad → Vincular aplicación móvil muestra un código. Apunta la cámara hacia él.",
|
||||
@@ -515,6 +545,7 @@
|
||||
"server_hint": "La misma dirección que escribes en el navegador. Añadiremos https:// por ti.",
|
||||
"server_label": "Dirección del servidor",
|
||||
"server_not_found": "No encontramos ningún servidor para {domain}. Si lo alojas tú, la dirección es la que usas para el webmail.",
|
||||
"server_paste_hint": "¿Tienes un enlace de inicio de sesión? Pégalo aquí.",
|
||||
"server_scan_hint": "Si no estás seguro, escanea un código de inicio de sesión. Incluye la dirección del servidor.",
|
||||
"server_subtitle": "Introduce la dirección que usas para acceder a tu webmail.",
|
||||
"server_title": "¿Cuál es la dirección de tu servidor?",
|
||||
|
||||
@@ -460,12 +460,19 @@
|
||||
"email_step_title": "نشانی ایمیل شما چیست؟",
|
||||
"email_step_title_add": "نشانی دیگر چیست؟",
|
||||
"email_title": "استفاده از نشانی ایمیل من",
|
||||
"err_account_limit_detail": "برای افزودن حساب دیگر، یکی از حسابها را در تنظیمات حذف کنید.",
|
||||
"err_bad_detail": "ایمیل و رمز عبور خود را بررسی کنید. اگر حساب شما از ورود دو مرحلهای استفاده میکند، در ایمیل تحت وب یک رمز برنامه بسازید و آن را اینجا وارد کنید.",
|
||||
"err_bad_title": "موفق نشد",
|
||||
"err_cert_detail": "گواهی امنیتی سرور رد شد. اگر این سرور خودتان است، بررسی کنید گواهی معتبر باشد و منقضی نشده باشد.",
|
||||
"err_cert_title": "تأیید {host} ممکن نشد",
|
||||
"err_code_expired_detail": "کدهای ورود فقط چند دقیقه اعتبار دارند. در ایمیل تحت وب کد تازهای بسازید و دوباره اسکن کنید.",
|
||||
"err_code_expired_detail": "کدهای ورود دو دقیقه اعتبار دارند. در ایمیل تحت وب کد تازهای نمایش دهید و دوباره اسکن کنید.",
|
||||
"err_code_expired_or_used_detail": "در ایمیل تحت وب کد تازهای نمایش دهید و دوباره اسکن کنید.",
|
||||
"err_code_expired_or_used_title": "این کد منقضی شده یا قبلاً استفاده شده است",
|
||||
"err_code_expired_title": "این کد منقضی شده است",
|
||||
"err_code_invalid_detail": "در ایمیل تحت وب کد تازهای نمایش دهید (تنظیمات ← امنیت ← اتصال موبایل) و آن را اسکن کنید.",
|
||||
"err_code_invalid_title": "این کد معتبر نیست",
|
||||
"err_code_used_detail": "هر کد فقط یک بار کار میکند. در ایمیل تحت وب کد تازهای نمایش دهید و دوباره اسکن کنید.",
|
||||
"err_code_used_title": "این کد قبلاً استفاده شده است",
|
||||
"err_generic_detail": "مشکلی پیش آمد. دوباره امتحان کنید.",
|
||||
"err_generic_title": "ورود ناموفق بود",
|
||||
"err_interrupted_detail": "پاسخ با درخواستی که آغاز کردیم مطابقت نداشت. دوباره وارد شوید.",
|
||||
@@ -474,6 +481,17 @@
|
||||
"err_no_server_title": "سرور ایمیلی در {host} نیست",
|
||||
"err_no_webmail_detail": "این سرور نه ایمیل تحت وب Bulwark دارد و نه ورود با OAuth. بهجای آن از رمز عبور (یا رمز برنامه) استفاده کنید.",
|
||||
"err_no_webmail_title": "صفحه ورودی در {host} نیست",
|
||||
"err_pair_connect_detail": "روی رایانهتان کد تازهای نمایش دهید و دوباره اسکن کنید.",
|
||||
"err_pair_connect_title": "وارد شدید، اما اتصال به {host} ممکن نشد",
|
||||
"err_pair_insecure_detail": "{host} میخواهد از اتصال رمزگذارینشده استفاده کند.",
|
||||
"err_pair_network_detail": "اتصال خود را بررسی کنید و مطمئن شوید تلفنتان به ایمیل تحت وب دسترسی دارد، سپس دوباره امتحان کنید.",
|
||||
"err_pair_rate_detail": "یک دقیقه صبر کنید، سپس دوباره امتحان کنید.",
|
||||
"err_pair_server_detail": "با یک کد تازه دوباره امتحان کنید. اگر باز هم ناموفق بود، با مدیر سیستم تماس بگیرید.",
|
||||
"err_pair_server_title": "ایمیل تحت وب نتوانست ورود را کامل کند",
|
||||
"err_pair_unsupported_detail": "{host} از کدهای ورود پشتیبانی نمیکند. شاید نیاز به بهروزرسانی داشته باشد، یا پیوند به نشانی اشتباهی اشاره میکند.",
|
||||
"err_pair_unsupported_title": "این ایمیل تحت وب نمیتواند دستگاهها را متصل کند",
|
||||
"err_pair_untrusted_detail": "{host} اطلاعات ورود را برای سروری فرستاده که برنامه نمیتواند آن را تأیید کند.",
|
||||
"err_pair_untrusted_title": "به این ورود نمیتوان اعتماد کرد",
|
||||
"err_rate_detail": "سرور از ما خواست کمی صبر کنیم. کمی بعد دوباره امتحان کنید.",
|
||||
"err_rate_detail_seconds": "سرور از ما خواست صبر کنیم. حدود {seconds} ثانیه دیگر دوباره امتحان کنید.",
|
||||
"err_rate_title": "تلاشهای بیش از حد",
|
||||
@@ -487,6 +505,12 @@
|
||||
"know_server": "نشانی سرورم را میدانم",
|
||||
"known_server_desc": "این سرور را از قبل میشناسیم، پس نیازی به راهاندازی نیست",
|
||||
"known_server_title": "حسابی دیگر در {host}",
|
||||
"link_confirm_connect": "یک پیوند میخواهد در این صفحه وارد شوید. فقط اگر برای ایمیلتان از {host} استفاده میکنید ادامه دهید.",
|
||||
"link_confirm_connect_add": "یک پیوند میخواهد با ورود در این صفحه حسابی اضافه کنید. فقط اگر برای ایمیلتان از {host} استفاده میکنید ادامه دهید.",
|
||||
"link_confirm_connect_title": "صفحه ورود {host} باز شود؟",
|
||||
"link_confirm_pair": "این پیوند شما را به حسابی از {host} وارد میکند. فقط اگر همین حالا روی رایانهتان کد ورود نمایش دادهاید ادامه دهید.",
|
||||
"link_confirm_pair_add": "این پیوند حسابی از {host} را اضافه میکند و برنامه را به آن حساب میبرد. فقط اگر همین حالا روی رایانهتان کد ورود نمایش دادهاید ادامه دهید.",
|
||||
"link_confirm_title": "با پیوند وارد میشوید؟",
|
||||
"looking_up": "در حال جستجوی سرور شما…",
|
||||
"manual": "وارد کردن دستی مشخصات سرور",
|
||||
"notice_bad_qr": "این کد، کد ورود Bulwark نیست",
|
||||
@@ -505,6 +529,12 @@
|
||||
"pairing_detail": "در حال جفت کردن این دستگاه با {host}…",
|
||||
"password_subtitle": "رمز عبور شما فقط به این سرور فرستاده میشود و در انبار امن دستگاه ذخیره میشود.",
|
||||
"password_title": "ورود به {host}",
|
||||
"paste_button": "چسباندن",
|
||||
"paste_clipboard_empty": "چیزی برای چسباندن نیست. ابتدا پیوند را در ایمیل تحت وب کپی کنید.",
|
||||
"paste_hint": "در ایمیل تحت وب، تنظیمات ← امنیت ← اتصال موبایل را باز کنید، پیوند ورود را کپی کنید و اینجا بچسبانید.",
|
||||
"paste_invalid": "این پیوند ورود Bulwark نیست",
|
||||
"paste_label": "پیوند ورود",
|
||||
"paste_title": "چسباندن پیوند ورود",
|
||||
"provider_detail": "آن را در صفحه آنها وارد میکنید. Bulwark فقط یک توکن ورود نگه میدارد که هر زمان بخواهید میتوانید باطلش کنید.",
|
||||
"provider_title": "رمز عبور شما نزد ارائهدهندهتان میماند",
|
||||
"qr_hint": "در تنظیمات ← امنیت ← اتصال موبایل یک کد نمایش داده میشود. دوربین را به سمت آن بگیرید.",
|
||||
@@ -515,6 +545,7 @@
|
||||
"server_hint": "همان نشانیای که در مرورگر تایپ میکنید. https:// را خودمان اضافه میکنیم.",
|
||||
"server_label": "نشانی سرور",
|
||||
"server_not_found": "سروری برای {domain} پیدا نکردیم. اگر سرور خودتان را میزبانی میکنید، نشانی همان است که برای ایمیل تحت وب استفاده میکنید.",
|
||||
"server_paste_hint": "بهجای آن پیوند ورود دارید؟ اینجا بچسبانید.",
|
||||
"server_scan_hint": "اگر مطمئن نیستید، بهجای آن کد ورود را اسکن کنید. نشانی سرور در آن هست.",
|
||||
"server_subtitle": "نشانیای را که با آن به ایمیل تحت وب دسترسی دارید وارد کنید.",
|
||||
"server_title": "نشانی سرور شما چیست؟",
|
||||
|
||||
@@ -460,12 +460,19 @@
|
||||
"email_step_title": "Quelle est votre adresse e-mail ?",
|
||||
"email_step_title_add": "Quelle est l'autre adresse ?",
|
||||
"email_title": "Utiliser mon adresse e-mail",
|
||||
"err_account_limit_detail": "Supprimez un compte dans les Paramètres pour en ajouter un autre.",
|
||||
"err_bad_detail": "Vérifiez votre adresse e-mail et votre mot de passe. Si votre compte utilise l'authentification à deux facteurs, créez un mot de passe d'application dans le webmail et utilisez-le ici.",
|
||||
"err_bad_title": "Cela n'a pas fonctionné",
|
||||
"err_cert_detail": "Le certificat de sécurité du serveur a été refusé. S'il s'agit de votre propre serveur, vérifiez que le certificat est valide et n'a pas expiré.",
|
||||
"err_cert_title": "Impossible de vérifier {host}",
|
||||
"err_code_expired_detail": "Les codes de connexion ne sont valables que quelques minutes. Générez-en un nouveau dans le webmail et scannez-le à nouveau.",
|
||||
"err_code_expired_detail": "Les codes de connexion sont valables deux minutes. Affichez-en un nouveau dans le webmail et scannez-le à nouveau.",
|
||||
"err_code_expired_or_used_detail": "Affichez-en un nouveau dans le webmail et scannez-le à nouveau.",
|
||||
"err_code_expired_or_used_title": "Ce code a expiré ou a déjà été utilisé",
|
||||
"err_code_expired_title": "Ce code a expiré",
|
||||
"err_code_invalid_detail": "Affichez un nouveau code dans le webmail (Paramètres → Sécurité → Associer l'application mobile) et scannez-le.",
|
||||
"err_code_invalid_title": "Ce code n'est pas valide",
|
||||
"err_code_used_detail": "Chaque code ne fonctionne qu'une fois. Affichez-en un nouveau dans le webmail et scannez-le à nouveau.",
|
||||
"err_code_used_title": "Ce code a déjà été utilisé",
|
||||
"err_generic_detail": "Un problème est survenu. Réessayez.",
|
||||
"err_generic_title": "Échec de la connexion",
|
||||
"err_interrupted_detail": "La réponse ne correspondait pas à la requête que nous avions lancée. Essayez de vous reconnecter.",
|
||||
@@ -474,6 +481,17 @@
|
||||
"err_no_server_title": "Aucun serveur de messagerie sur {host}",
|
||||
"err_no_webmail_detail": "Ce serveur n'a ni webmail Bulwark ni connexion OAuth. Utilisez plutôt un mot de passe (ou un mot de passe d'application).",
|
||||
"err_no_webmail_title": "Aucune page de connexion sur {host}",
|
||||
"err_pair_connect_detail": "Affichez un nouveau code sur votre ordinateur et scannez-le à nouveau.",
|
||||
"err_pair_connect_title": "Connecté, mais impossible de joindre {host}",
|
||||
"err_pair_insecure_detail": "{host} veut utiliser une connexion non chiffrée.",
|
||||
"err_pair_network_detail": "Vérifiez votre connexion et que votre téléphone peut accéder au webmail, puis réessayez.",
|
||||
"err_pair_rate_detail": "Patientez une minute, puis réessayez.",
|
||||
"err_pair_server_detail": "Réessayez avec un nouveau code. Si le problème persiste, contactez votre administrateur.",
|
||||
"err_pair_server_title": "Le webmail n'a pas pu terminer la connexion",
|
||||
"err_pair_unsupported_detail": "{host} ne prend pas en charge les codes de connexion. Il a peut-être besoin d'une mise à jour, ou le lien pointe vers la mauvaise adresse.",
|
||||
"err_pair_unsupported_title": "Ce webmail ne peut pas associer d'appareils",
|
||||
"err_pair_untrusted_detail": "{host} a envoyé des informations de connexion pour un serveur que l'application ne peut pas vérifier.",
|
||||
"err_pair_untrusted_title": "Cette connexion n'est pas fiable",
|
||||
"err_rate_detail": "Le serveur nous a demandé de patienter un instant. Réessayez dans un moment.",
|
||||
"err_rate_detail_seconds": "Le serveur nous a demandé de patienter. Réessayez dans environ {seconds} secondes.",
|
||||
"err_rate_title": "Trop de tentatives",
|
||||
@@ -487,6 +505,12 @@
|
||||
"know_server": "Je connais l'adresse de mon serveur",
|
||||
"known_server_desc": "Nous connaissons déjà ce serveur, aucune configuration n'est donc nécessaire",
|
||||
"known_server_title": "Un autre compte sur {host}",
|
||||
"link_confirm_connect": "Un lien demande à vous connecter sur cette page. Ne continuez que si vous utilisez {host} pour vos e-mails.",
|
||||
"link_confirm_connect_add": "Un lien demande à ajouter un compte en vous connectant sur cette page. Ne continuez que si vous utilisez {host} pour vos e-mails.",
|
||||
"link_confirm_connect_title": "Ouvrir la page de connexion de {host} ?",
|
||||
"link_confirm_pair": "Ce lien vous connecte à un compte de {host}. Ne continuez que si vous venez d'afficher un code de connexion sur votre ordinateur.",
|
||||
"link_confirm_pair_add": "Ce lien ajoute un compte de {host} et fait basculer l'application sur ce compte. Ne continuez que si vous venez d'afficher un code de connexion sur votre ordinateur.",
|
||||
"link_confirm_title": "Se connecter avec un lien ?",
|
||||
"looking_up": "Recherche de votre serveur…",
|
||||
"manual": "Saisir les informations du serveur manuellement",
|
||||
"notice_bad_qr": "Ce code n'est pas un code de connexion Bulwark",
|
||||
@@ -505,6 +529,12 @@
|
||||
"pairing_detail": "Association de cet appareil avec {host}…",
|
||||
"password_subtitle": "Votre mot de passe n'est envoyé qu'à ce serveur et est stocké dans le trousseau de l'appareil.",
|
||||
"password_title": "Se connecter à {host}",
|
||||
"paste_button": "Coller",
|
||||
"paste_clipboard_empty": "Rien à coller. Copiez d'abord le lien dans le webmail.",
|
||||
"paste_hint": "Dans le webmail, ouvrez Paramètres → Sécurité → Associer l'application mobile, copiez le lien de connexion et collez-le ici.",
|
||||
"paste_invalid": "Ce n'est pas un lien de connexion Bulwark",
|
||||
"paste_label": "Lien de connexion",
|
||||
"paste_title": "Coller le lien de connexion",
|
||||
"provider_detail": "Vous le saisirez sur leur page. Bulwark ne stocke qu'un jeton de connexion, que vous pouvez révoquer à tout moment.",
|
||||
"provider_title": "Votre mot de passe reste chez votre fournisseur",
|
||||
"qr_hint": "Paramètres → Sécurité → Associer l'application mobile affiche un code. Pointez l'appareil photo dessus.",
|
||||
@@ -515,6 +545,7 @@
|
||||
"server_hint": "La même adresse que celle saisie dans le navigateur. Nous ajoutons https:// pour vous.",
|
||||
"server_label": "Adresse du serveur",
|
||||
"server_not_found": "Aucun serveur trouvé pour {domain}. Si vous l'hébergez vous-même, l'adresse est celle que vous utilisez pour le webmail.",
|
||||
"server_paste_hint": "Vous avez plutôt un lien de connexion ? Collez-le ici.",
|
||||
"server_scan_hint": "En cas de doute, scannez plutôt un code de connexion. Il contient l'adresse du serveur.",
|
||||
"server_subtitle": "Saisissez l'adresse que vous utilisez pour accéder à votre webmail.",
|
||||
"server_title": "Quelle est l'adresse de votre serveur ?",
|
||||
|
||||
@@ -460,12 +460,19 @@
|
||||
"email_step_title": "מה כתובת האימייל שלך?",
|
||||
"email_step_title_add": "מה הכתובת האחרת?",
|
||||
"email_title": "השתמש בכתובת האימייל שלי",
|
||||
"err_account_limit_detail": "הסר חשבון בהגדרות כדי להוסיף חשבון נוסף.",
|
||||
"err_bad_detail": "בדוק את האימייל והסיסמה. אם החשבון שלך משתמש באימות דו-שלבי, צור סיסמת אפליקציה בדואר האינטרנט והשתמש בה כאן.",
|
||||
"err_bad_title": "זה לא עבד",
|
||||
"err_cert_detail": "תעודת האבטחה של השרת נדחתה. אם זה השרת שלך, ודא שהתעודה תקפה ושתוקפה לא פג.",
|
||||
"err_cert_title": "לא ניתן לאמת את {host}",
|
||||
"err_code_expired_detail": "קודי התחברות תקפים לכמה דקות בלבד. צור קוד חדש בדואר האינטרנט וסרוק שוב.",
|
||||
"err_code_expired_detail": "קודי התחברות תקפים לשתי דקות. הצג קוד חדש בדואר האינטרנט וסרוק שוב.",
|
||||
"err_code_expired_or_used_detail": "הצג קוד חדש בדואר האינטרנט וסרוק שוב.",
|
||||
"err_code_expired_or_used_title": "תוקף הקוד פג או שהוא כבר נוצל",
|
||||
"err_code_expired_title": "תוקף הקוד פג",
|
||||
"err_code_invalid_detail": "הצג קוד חדש בדואר האינטרנט (הגדרות ← אבטחה ← הקשר יישום נייד) וסרוק אותו.",
|
||||
"err_code_invalid_title": "הקוד הזה אינו תקף",
|
||||
"err_code_used_detail": "כל קוד עובד פעם אחת בלבד. הצג קוד חדש בדואר האינטרנט וסרוק שוב.",
|
||||
"err_code_used_title": "הקוד הזה כבר נוצל",
|
||||
"err_generic_detail": "משהו השתבש. נסה שוב.",
|
||||
"err_generic_title": "ההתחברות נכשלה",
|
||||
"err_interrupted_detail": "התגובה לא תאמה לבקשה שהתחלנו. נסה להתחבר שוב.",
|
||||
@@ -474,6 +481,17 @@
|
||||
"err_no_server_title": "לא נמצא שרת דואר: {host}",
|
||||
"err_no_webmail_detail": "בשרת זה אין דואר אינטרנט של Bulwark ואין התחברות OAuth. השתמש במקום זאת בסיסמה (או בסיסמת אפליקציה).",
|
||||
"err_no_webmail_title": "אין דף התחברות: {host}",
|
||||
"err_pair_connect_detail": "הצג קוד חדש במחשב וסרוק שוב.",
|
||||
"err_pair_connect_title": "ההתחברות הצליחה, אך אין חיבור אל {host}",
|
||||
"err_pair_insecure_detail": "{host} רוצה להשתמש בחיבור לא מוצפן.",
|
||||
"err_pair_network_detail": "בדוק את החיבור ושהטלפון יכול להגיע לדואר האינטרנט, ונסה שוב.",
|
||||
"err_pair_rate_detail": "המתן דקה ונסה שוב.",
|
||||
"err_pair_server_detail": "נסה שוב עם קוד חדש. אם זה ממשיך להיכשל, פנה למנהל המערכת.",
|
||||
"err_pair_server_title": "דואר האינטרנט לא הצליח להשלים את ההתחברות",
|
||||
"err_pair_unsupported_detail": "{host} לא תומך בקודי התחברות. ייתכן שנדרש עדכון, או שהקישור מפנה לכתובת שגויה.",
|
||||
"err_pair_unsupported_title": "דואר האינטרנט הזה לא יכול לקשר מכשירים",
|
||||
"err_pair_untrusted_detail": "{host} שלח פרטי התחברות לשרת שהיישום לא יכול לאמת.",
|
||||
"err_pair_untrusted_title": "אי אפשר לסמוך על ההתחברות הזו",
|
||||
"err_rate_detail": "השרת ביקש שנמתין רגע. נסה שוב בקרוב.",
|
||||
"err_rate_detail_seconds": "השרת ביקש שנמתין. נסה שוב בעוד כ-{seconds} שניות.",
|
||||
"err_rate_title": "יותר מדי ניסיונות",
|
||||
@@ -487,6 +505,12 @@
|
||||
"know_server": "אני יודע את כתובת השרת שלי",
|
||||
"known_server_desc": "השרת הזה כבר מוכר לנו, כך שאין צורך בהגדרה",
|
||||
"known_server_title": "חשבון נוסף ב-{host}",
|
||||
"link_confirm_connect": "קישור מבקש להתחבר בדף הזה. המשך רק אם אתה משתמש ב-{host} לדואר שלך.",
|
||||
"link_confirm_connect_add": "קישור מבקש להוסיף חשבון באמצעות התחברות בדף הזה. המשך רק אם אתה משתמש ב-{host} לדואר שלך.",
|
||||
"link_confirm_connect_title": "לפתוח את דף ההתחברות של {host}?",
|
||||
"link_confirm_pair": "הקישור הזה מחבר לחשבון מ-{host}. המשך רק אם הצגת עכשיו קוד התחברות במחשב.",
|
||||
"link_confirm_pair_add": "הקישור הזה מוסיף חשבון מ-{host} ומעביר אליו את היישום. המשך רק אם הצגת עכשיו קוד התחברות במחשב.",
|
||||
"link_confirm_title": "להתחבר עם קישור?",
|
||||
"looking_up": "מחפש את השרת שלך…",
|
||||
"manual": "הזן את פרטי השרת ידנית",
|
||||
"notice_bad_qr": "הקוד הזה אינו קוד התחברות של Bulwark",
|
||||
@@ -505,6 +529,12 @@
|
||||
"pairing_detail": "מצמיד את המכשיר הזה אל {host}…",
|
||||
"password_subtitle": "הסיסמה שלך נשלחת לשרת הזה בלבד ונשמרת במחזיק המפתחות של המכשיר.",
|
||||
"password_title": "התחברות אל {host}",
|
||||
"paste_button": "הדבק",
|
||||
"paste_clipboard_empty": "אין מה להדביק. העתק קודם את הקישור בדואר האינטרנט.",
|
||||
"paste_hint": "בדואר האינטרנט, פתח את הגדרות ← אבטחה ← הקשר יישום נייד, העתק את קישור ההתחברות והדבק אותו כאן.",
|
||||
"paste_invalid": "זה לא קישור התחברות של Bulwark",
|
||||
"paste_label": "קישור התחברות",
|
||||
"paste_title": "הדבק קישור התחברות",
|
||||
"provider_detail": "תקליד אותה בדף שלהם. Bulwark שומרת רק אסימון התחברות, שאפשר לבטל בכל עת.",
|
||||
"provider_title": "הסיסמה שלך נשארת אצל הספק",
|
||||
"qr_hint": "בהגדרות ← אבטחה ← הקשר יישום נייד מוצג קוד. כוון אליו את המצלמה.",
|
||||
@@ -515,6 +545,7 @@
|
||||
"server_hint": "אותה כתובת שאתה מקליד בדפדפן. נוסיף בשבילך את https://.",
|
||||
"server_label": "כתובת השרת",
|
||||
"server_not_found": "לא מצאנו שרת עבור {domain}. אם אתה מארח בעצמך, הכתובת היא זו שבה אתה משתמש לדואר האינטרנט.",
|
||||
"server_paste_hint": "יש לך קישור התחברות במקום זאת? הדבק אותו כאן.",
|
||||
"server_scan_hint": "אם אינך בטוח, סרוק במקום זאת קוד התחברות. הוא כולל את כתובת השרת.",
|
||||
"server_subtitle": "הזן את הכתובת שבה אתה ניגש לדואר האינטרנט.",
|
||||
"server_title": "מה כתובת השרת שלך?",
|
||||
|
||||
@@ -460,12 +460,19 @@
|
||||
"email_step_title": "Mi az e-mail-címed?",
|
||||
"email_step_title_add": "Mi a másik cím?",
|
||||
"email_title": "E-mail-címem használata",
|
||||
"err_account_limit_detail": "Másik fiók hozzáadásához távolíts el egyet a Beállításokban.",
|
||||
"err_bad_detail": "Ellenőrizd az e-mail-címet és a jelszót. Ha a fiókod kétlépcsős bejelentkezést használ, hozz létre alkalmazásjelszót a webmailben, és azt használd itt.",
|
||||
"err_bad_title": "Ez nem sikerült",
|
||||
"err_cert_detail": "A szerver biztonsági tanúsítványát elutasítottuk. Ha ez a saját szervered, ellenőrizd, hogy a tanúsítvány érvényes és nem járt le.",
|
||||
"err_cert_title": "Nem sikerült ellenőrizni: {host}",
|
||||
"err_code_expired_detail": "A bejelentkezési kódok néhány percig érvényesek. Generálj újat a webmailben, és olvasd be újra.",
|
||||
"err_code_expired_detail": "A bejelentkezési kódok két percig érvényesek. Jeleníts meg újat a webmailben, és olvasd be újra.",
|
||||
"err_code_expired_or_used_detail": "Jeleníts meg újat a webmailben, és olvasd be újra.",
|
||||
"err_code_expired_or_used_title": "Ez a kód lejárt, vagy már felhasználták",
|
||||
"err_code_expired_title": "Ez a kód lejárt",
|
||||
"err_code_invalid_detail": "Jeleníts meg új kódot a webmailben (Beállítások → Biztonság → Mobilalkalmazás összekapcsolása), és olvasd be.",
|
||||
"err_code_invalid_title": "Ez a kód érvénytelen",
|
||||
"err_code_used_detail": "Minden kód csak egyszer használható. Jeleníts meg újat a webmailben, és olvasd be újra.",
|
||||
"err_code_used_title": "Ezt a kódot már felhasználták",
|
||||
"err_generic_detail": "Valami hiba történt. Próbáld újra.",
|
||||
"err_generic_title": "Sikertelen bejelentkezés",
|
||||
"err_interrupted_detail": "A válasz nem egyezett az elindított kéréssel. Próbálj meg újra bejelentkezni.",
|
||||
@@ -474,6 +481,17 @@
|
||||
"err_no_server_title": "Nincs levelezőszerver itt: {host}",
|
||||
"err_no_webmail_detail": "Ezen a szerveren nincs Bulwark webmail és OAuth-bejelentkezés sem. Használj inkább jelszót (vagy alkalmazásjelszót).",
|
||||
"err_no_webmail_title": "Nincs bejelentkezési oldal itt: {host}",
|
||||
"err_pair_connect_detail": "Jeleníts meg új kódot a számítógépen, és olvasd be újra.",
|
||||
"err_pair_connect_title": "Bejelentkezve, de nem sikerült csatlakozni: {host}",
|
||||
"err_pair_insecure_detail": "A(z) {host} titkosítatlan kapcsolatot akar használni.",
|
||||
"err_pair_network_detail": "Ellenőrizd a kapcsolatot, és hogy a telefonod eléri-e a webmailt, majd próbáld újra.",
|
||||
"err_pair_rate_detail": "Várj egy percet, majd próbáld újra.",
|
||||
"err_pair_server_detail": "Próbáld újra egy új kóddal. Ha továbbra sem sikerül, fordulj a rendszergazdához.",
|
||||
"err_pair_server_title": "A webmail nem tudta befejezni a bejelentkezést",
|
||||
"err_pair_unsupported_detail": "A(z) {host} nem támogatja a bejelentkezési kódokat. Lehet, hogy frissíteni kell, vagy a hivatkozás rossz címre mutat.",
|
||||
"err_pair_unsupported_title": "Ez a webmail nem tud eszközöket összekapcsolni",
|
||||
"err_pair_untrusted_detail": "A(z) {host} bejelentkezési adatokat küldött egy olyan szerverhez, amelyet az alkalmazás nem tud ellenőrizni.",
|
||||
"err_pair_untrusted_title": "Ebben a bejelentkezésben nem lehet megbízni",
|
||||
"err_rate_detail": "A szerver arra kért, hogy várjunk egy kicsit. Próbáld újra hamarosan.",
|
||||
"err_rate_detail_seconds": "A szerver arra kért, hogy várjunk. Próbáld újra kb. {seconds} másodperc múlva.",
|
||||
"err_rate_title": "Túl sok próbálkozás",
|
||||
@@ -487,6 +505,12 @@
|
||||
"know_server": "Ismerem a szerverem címét",
|
||||
"known_server_desc": "Ezt a szervert már ismerjük, így nincs mit beállítani",
|
||||
"known_server_title": "Másik fiók itt: {host}",
|
||||
"link_confirm_connect": "Egy hivatkozás bejelentkezést kér ezen az oldalon. Csak akkor folytasd, ha a(z) {host} címet használod a leveleidhez.",
|
||||
"link_confirm_connect_add": "Egy hivatkozás egy fiók hozzáadását kéri bejelentkezéssel ezen az oldalon. Csak akkor folytasd, ha a(z) {host} címet használod a leveleidhez.",
|
||||
"link_confirm_connect_title": "Megnyitod a(z) {host} bejelentkezési oldalát?",
|
||||
"link_confirm_pair": "Ez a hivatkozás bejelentkeztet egy fiókba itt: {host}. Csak akkor folytasd, ha az imént jelenítettél meg bejelentkezési kódot a számítógépeden.",
|
||||
"link_confirm_pair_add": "Ez a hivatkozás hozzáad egy fiókot innen: {host}, és átváltja rá az alkalmazást. Csak akkor folytasd, ha az imént jelenítettél meg bejelentkezési kódot a számítógépeden.",
|
||||
"link_confirm_title": "Bejelentkezel egy hivatkozással?",
|
||||
"looking_up": "Szerver keresése…",
|
||||
"manual": "Szerveradatok kézi megadása",
|
||||
"notice_bad_qr": "Ez nem Bulwark bejelentkezési kód",
|
||||
@@ -505,6 +529,12 @@
|
||||
"pairing_detail": "Az eszköz párosítása: {host}…",
|
||||
"password_subtitle": "A jelszavadat csak erre a szerverre küldjük el, és az eszköz kulcstárolójában tároljuk.",
|
||||
"password_title": "Bejelentkezés: {host}",
|
||||
"paste_button": "Beillesztés",
|
||||
"paste_clipboard_empty": "Nincs mit beilleszteni. Előbb másold ki a hivatkozást a webmailben.",
|
||||
"paste_hint": "A webmailben nyisd meg a Beállítások → Biztonság → Mobilalkalmazás összekapcsolása menüt, másold ki a bejelentkezési hivatkozást, és illeszd be ide.",
|
||||
"paste_invalid": "Ez nem Bulwark bejelentkezési hivatkozás",
|
||||
"paste_label": "Bejelentkezési hivatkozás",
|
||||
"paste_title": "Bejelentkezési hivatkozás beillesztése",
|
||||
"provider_detail": "A szolgáltató oldalán írod be. A Bulwark csak egy bejelentkezési tokent tárol, amelyet bármikor visszavonhatsz.",
|
||||
"provider_title": "A jelszavad a szolgáltatódnál marad",
|
||||
"qr_hint": "A Beállítások → Biztonság → Mobilalkalmazás összekapcsolása egy kódot jelenít meg. Irányítsd rá a kamerát.",
|
||||
@@ -515,6 +545,7 @@
|
||||
"server_hint": "Ugyanaz a cím, amelyet a böngészőbe írsz. A https:// előtagot mi tesszük hozzá.",
|
||||
"server_label": "Szervercím",
|
||||
"server_not_found": "Nem találtunk szervert ehhez: {domain}. Ha saját szervert üzemeltetsz, a webmailhez használt címet add meg.",
|
||||
"server_paste_hint": "Inkább bejelentkezési hivatkozásod van? Illeszd be ide.",
|
||||
"server_scan_hint": "Ha nem vagy biztos benne, olvass be inkább egy bejelentkezési kódot. Ez tartalmazza a szerver címét.",
|
||||
"server_subtitle": "Add meg a címet, amelyen a webmailt eléred.",
|
||||
"server_title": "Mi a szervered címe?",
|
||||
|
||||
@@ -460,12 +460,19 @@
|
||||
"email_step_title": "Qual è il tuo indirizzo email?",
|
||||
"email_step_title_add": "Qual è l'altro indirizzo?",
|
||||
"email_title": "Usa il mio indirizzo email",
|
||||
"err_account_limit_detail": "Rimuovi un account in Impostazioni per aggiungerne un altro.",
|
||||
"err_bad_detail": "Controlla email e password. Se il tuo account usa l'autenticazione a due fattori, crea una password per le app nella webmail e usala qui.",
|
||||
"err_bad_title": "Non ha funzionato",
|
||||
"err_cert_detail": "Il certificato di sicurezza del server è stato rifiutato. Se è il tuo server, verifica che il certificato sia valido e non scaduto.",
|
||||
"err_cert_title": "Impossibile verificare {host}",
|
||||
"err_code_expired_detail": "I codici di accesso sono validi per pochi minuti. Generane uno nuovo nella webmail e scansionalo di nuovo.",
|
||||
"err_code_expired_detail": "I codici di accesso sono validi per due minuti. Mostrane uno nuovo nella webmail e scansionalo di nuovo.",
|
||||
"err_code_expired_or_used_detail": "Mostrane uno nuovo nella webmail e scansionalo di nuovo.",
|
||||
"err_code_expired_or_used_title": "Questo codice è scaduto o è già stato usato",
|
||||
"err_code_expired_title": "Questo codice è scaduto",
|
||||
"err_code_invalid_detail": "Mostra un nuovo codice nella webmail (Impostazioni → Sicurezza → Collega l'app mobile) e scansionalo.",
|
||||
"err_code_invalid_title": "Questo codice non è valido",
|
||||
"err_code_used_detail": "Ogni codice funziona una sola volta. Mostrane uno nuovo nella webmail e scansionalo di nuovo.",
|
||||
"err_code_used_title": "Questo codice è già stato usato",
|
||||
"err_generic_detail": "Si è verificato un errore. Riprova.",
|
||||
"err_generic_title": "Accesso non riuscito",
|
||||
"err_interrupted_detail": "La risposta non corrisponde alla richiesta che abbiamo avviato. Prova ad accedere di nuovo.",
|
||||
@@ -474,6 +481,17 @@
|
||||
"err_no_server_title": "Nessun server di posta su {host}",
|
||||
"err_no_webmail_detail": "Questo server non ha una webmail Bulwark né l'accesso OAuth. Usa una password (o una password per le app).",
|
||||
"err_no_webmail_title": "Nessuna pagina di accesso su {host}",
|
||||
"err_pair_connect_detail": "Mostra un nuovo codice sul computer e scansionalo di nuovo.",
|
||||
"err_pair_connect_title": "Accesso eseguito, ma impossibile connettersi a {host}",
|
||||
"err_pair_insecure_detail": "{host} vuole usare una connessione non cifrata.",
|
||||
"err_pair_network_detail": "Controlla la connessione e che il telefono possa raggiungere la webmail, poi riprova.",
|
||||
"err_pair_rate_detail": "Attendi un minuto, poi riprova.",
|
||||
"err_pair_server_detail": "Riprova con un nuovo codice. Se continua a non funzionare, rivolgiti all'amministratore.",
|
||||
"err_pair_server_title": "La webmail non è riuscita a completare l'accesso",
|
||||
"err_pair_unsupported_detail": "{host} non supporta i codici di accesso. Potrebbe servire un aggiornamento, oppure il link punta all'indirizzo sbagliato.",
|
||||
"err_pair_unsupported_title": "Questa webmail non può collegare dispositivi",
|
||||
"err_pair_untrusted_detail": "{host} ha inviato dati di accesso per un server che l'app non può verificare.",
|
||||
"err_pair_untrusted_title": "Questo accesso non è affidabile",
|
||||
"err_rate_detail": "Il server ci ha chiesto di attendere un momento. Riprova tra poco.",
|
||||
"err_rate_detail_seconds": "Il server ci ha chiesto di attendere. Riprova tra circa {seconds} secondi.",
|
||||
"err_rate_title": "Troppi tentativi",
|
||||
@@ -487,6 +505,12 @@
|
||||
"know_server": "Conosco l'indirizzo del mio server",
|
||||
"known_server_desc": "Conosciamo già questo server, quindi non c'è nulla da configurare",
|
||||
"known_server_title": "Un altro account su {host}",
|
||||
"link_confirm_connect": "Un link chiede di accedere su questa pagina. Continua solo se usi {host} per la tua posta.",
|
||||
"link_confirm_connect_add": "Un link chiede di aggiungere un account accedendo su questa pagina. Continua solo se usi {host} per la tua posta.",
|
||||
"link_confirm_connect_title": "Aprire la pagina di accesso di {host}?",
|
||||
"link_confirm_pair": "Questo link ti fa accedere a un account di {host}. Continua solo se hai appena mostrato un codice di accesso sul computer.",
|
||||
"link_confirm_pair_add": "Questo link aggiunge un account di {host} e passa l'app a quell'account. Continua solo se hai appena mostrato un codice di accesso sul computer.",
|
||||
"link_confirm_title": "Accedere con un link?",
|
||||
"looking_up": "Ricerca del tuo server…",
|
||||
"manual": "Inserisci i dati del server manualmente",
|
||||
"notice_bad_qr": "Questo codice non è un codice di accesso Bulwark",
|
||||
@@ -505,6 +529,12 @@
|
||||
"pairing_detail": "Associazione di questo dispositivo con {host}…",
|
||||
"password_subtitle": "La password viene inviata solo a questo server e salvata nell'archivio sicuro del dispositivo.",
|
||||
"password_title": "Accedi a {host}",
|
||||
"paste_button": "Incolla",
|
||||
"paste_clipboard_empty": "Niente da incollare. Copia prima il link nella webmail.",
|
||||
"paste_hint": "Nella webmail apri Impostazioni → Sicurezza → Collega l'app mobile, copia il link di accesso e incollalo qui.",
|
||||
"paste_invalid": "Questo non è un link di accesso Bulwark",
|
||||
"paste_label": "Link di accesso",
|
||||
"paste_title": "Incolla link di accesso",
|
||||
"provider_detail": "La digiterai nella loro pagina. Bulwark salva solo un token di accesso, che puoi revocare in qualsiasi momento.",
|
||||
"provider_title": "La tua password resta al tuo provider",
|
||||
"qr_hint": "Impostazioni → Sicurezza → Collega l'app mobile mostra un codice. Inquadralo con la fotocamera.",
|
||||
@@ -515,6 +545,7 @@
|
||||
"server_hint": "Lo stesso indirizzo che digiti nel browser. Aggiungeremo noi https://.",
|
||||
"server_label": "Indirizzo del server",
|
||||
"server_not_found": "Non abbiamo trovato un server per {domain}. Se lo gestisci tu, l'indirizzo è quello che usi per la webmail.",
|
||||
"server_paste_hint": "Hai invece un link di accesso? Incollalo qui.",
|
||||
"server_scan_hint": "Se non sei sicuro, scansiona un codice di accesso: contiene l'indirizzo del server.",
|
||||
"server_subtitle": "Inserisci l'indirizzo che usi per raggiungere la tua webmail.",
|
||||
"server_title": "Qual è l'indirizzo del tuo server?",
|
||||
|
||||
@@ -460,12 +460,19 @@
|
||||
"email_step_title": "メールアドレスを入力してください",
|
||||
"email_step_title_add": "もう一つのメールアドレスを入力してください",
|
||||
"email_title": "メールアドレスを使用",
|
||||
"err_account_limit_detail": "別のアカウントを追加するには、設定でアカウントを削除してください。",
|
||||
"err_bad_detail": "メールアドレスとパスワードを確認してください。アカウントで二要素認証を使用している場合は、ウェブメールでアプリパスワードを作成し、ここで使用してください。",
|
||||
"err_bad_title": "サインインできませんでした",
|
||||
"err_cert_detail": "サーバーのセキュリティ証明書が拒否されました。ご自身のサーバーの場合は、証明書が有効で期限切れでないことを確認してください。",
|
||||
"err_cert_title": "{host}を検証できませんでした",
|
||||
"err_code_expired_detail": "サインインコードの有効期間は数分です。ウェブメールで新しいコードを生成して、もう一度スキャンしてください。",
|
||||
"err_code_expired_detail": "サインインコードの有効期間は2分です。ウェブメールで新しいコードを表示して、もう一度スキャンしてください。",
|
||||
"err_code_expired_or_used_detail": "ウェブメールで新しいコードを表示して、もう一度スキャンしてください。",
|
||||
"err_code_expired_or_used_title": "このコードは期限切れか、すでに使用されています",
|
||||
"err_code_expired_title": "コードの有効期限が切れています",
|
||||
"err_code_invalid_detail": "ウェブメールで新しいコードを表示し(「設定 → セキュリティ → モバイルアプリを連携」)、スキャンしてください。",
|
||||
"err_code_invalid_title": "このコードは無効です",
|
||||
"err_code_used_detail": "各コードは1回しか使えません。ウェブメールで新しいコードを表示して、もう一度スキャンしてください。",
|
||||
"err_code_used_title": "このコードはすでに使用されています",
|
||||
"err_generic_detail": "問題が発生しました。もう一度お試しください。",
|
||||
"err_generic_title": "サインインに失敗しました",
|
||||
"err_interrupted_detail": "応答が開始したリクエストと一致しませんでした。もう一度サインインしてください。",
|
||||
@@ -474,6 +481,17 @@
|
||||
"err_no_server_title": "{host}にメールサーバーがありません",
|
||||
"err_no_webmail_detail": "このサーバーには Bulwark ウェブメールも OAuth サインインもありません。代わりにパスワード(またはアプリパスワード)を使用してください。",
|
||||
"err_no_webmail_title": "{host}にサインインページがありません",
|
||||
"err_pair_connect_detail": "コンピューターで新しいコードを表示して、もう一度スキャンしてください。",
|
||||
"err_pair_connect_title": "サインインしましたが、{host} に接続できませんでした",
|
||||
"err_pair_insecure_detail": "{host} が暗号化されていない接続を使おうとしています。",
|
||||
"err_pair_network_detail": "接続状況と、スマートフォンからウェブメールにアクセスできるかを確認して、もう一度お試しください。",
|
||||
"err_pair_rate_detail": "1分待ってから、もう一度お試しください。",
|
||||
"err_pair_server_detail": "新しいコードでもう一度お試しください。それでも失敗する場合は、管理者にお問い合わせください。",
|
||||
"err_pair_server_title": "ウェブメールでサインインを完了できませんでした",
|
||||
"err_pair_unsupported_detail": "{host} はサインインコードに対応していません。アップデートが必要か、リンクのアドレスが間違っている可能性があります。",
|
||||
"err_pair_unsupported_title": "このウェブメールはデバイスを連携できません",
|
||||
"err_pair_untrusted_detail": "{host} から、アプリが検証できないサーバー用のサインイン情報が送られてきました。",
|
||||
"err_pair_untrusted_title": "このサインインは信頼できません",
|
||||
"err_rate_detail": "サーバーから少し待つよう求められました。しばらくしてからもう一度お試しください。",
|
||||
"err_rate_detail_seconds": "サーバーから待機するよう求められました。約{seconds}秒後にもう一度お試しください。",
|
||||
"err_rate_title": "試行回数が多すぎます",
|
||||
@@ -487,6 +505,12 @@
|
||||
"know_server": "サーバーアドレスがわかる",
|
||||
"known_server_desc": "このサーバーは登録済みのため、設定は不要です",
|
||||
"known_server_title": "{host}の別のアカウント",
|
||||
"link_confirm_connect": "リンクがこのページでのサインインを求めています。メールに {host} を使っている場合にのみ続行してください。",
|
||||
"link_confirm_connect_add": "リンクがこのページでサインインしてアカウントを追加するよう求めています。メールに {host} を使っている場合にのみ続行してください。",
|
||||
"link_confirm_connect_title": "{host} のサインインページを開きますか?",
|
||||
"link_confirm_pair": "このリンクは {host} のアカウントにサインインします。パソコンでサインインコードを表示したばかりの場合にのみ続行してください。",
|
||||
"link_confirm_pair_add": "このリンクは {host} のアカウントを追加し、アプリをそのアカウントに切り替えます。パソコンでサインインコードを表示したばかりの場合にのみ続行してください。",
|
||||
"link_confirm_title": "リンクでサインインしますか?",
|
||||
"looking_up": "サーバーを検索しています…",
|
||||
"manual": "サーバー情報を手動で入力",
|
||||
"notice_bad_qr": "このコードは Bulwark のサインインコードではありません",
|
||||
@@ -505,6 +529,12 @@
|
||||
"pairing_detail": "このデバイスを{host}とペアリングしています…",
|
||||
"password_subtitle": "パスワードはこのサーバーにのみ送信され、デバイスのキーチェーンに保存されます。",
|
||||
"password_title": "{host}にサインイン",
|
||||
"paste_button": "貼り付け",
|
||||
"paste_clipboard_empty": "貼り付ける内容がありません。先にウェブメールでリンクをコピーしてください。",
|
||||
"paste_hint": "ウェブメールで「設定 → セキュリティ → モバイルアプリを連携」を開き、サインインリンクをコピーしてここに貼り付けてください。",
|
||||
"paste_invalid": "これは Bulwark のサインインリンクではありません",
|
||||
"paste_label": "サインインリンク",
|
||||
"paste_title": "サインインリンクを貼り付け",
|
||||
"provider_detail": "パスワードはプロバイダーのページで入力します。Bulwark が保存するのはサインイントークンのみで、いつでも取り消すことができます。",
|
||||
"provider_title": "パスワードはプロバイダーにのみ送信されます",
|
||||
"qr_hint": "「設定 → セキュリティ → モバイルアプリを連携」でコードが表示されます。カメラをコードに向けてください。",
|
||||
@@ -515,6 +545,7 @@
|
||||
"server_hint": "ブラウザーで入力するものと同じアドレスです。https:// は自動で追加されます。",
|
||||
"server_label": "サーバーアドレス",
|
||||
"server_not_found": "{domain}のサーバーが見つかりませんでした。セルフホストしている場合は、ウェブメールで使用しているアドレスを入力してください。",
|
||||
"server_paste_hint": "代わりにサインインリンクをお持ちですか?ここに貼り付けてください。",
|
||||
"server_scan_hint": "わからない場合は、代わりにサインインコードをスキャンしてください。コードにサーバーアドレスが含まれています。",
|
||||
"server_subtitle": "ウェブメールへのアクセスに使用しているアドレスを入力してください。",
|
||||
"server_title": "サーバーアドレスを入力してください",
|
||||
|
||||
@@ -460,12 +460,19 @@
|
||||
"email_step_title": "이메일 주소가 무엇인가요?",
|
||||
"email_step_title_add": "다른 주소는 무엇인가요?",
|
||||
"email_title": "내 이메일 주소 사용",
|
||||
"err_account_limit_detail": "다른 계정을 추가하려면 설정에서 계정을 삭제하세요.",
|
||||
"err_bad_detail": "이메일과 비밀번호를 확인해 주세요. 계정에 2단계 인증을 사용 중이라면 웹메일에서 앱 비밀번호를 만들어 여기에 입력해 주세요.",
|
||||
"err_bad_title": "로그인하지 못했어요",
|
||||
"err_cert_detail": "서버의 보안 인증서가 거부되었어요. 직접 운영하는 서버라면 인증서가 유효하고 만료되지 않았는지 확인해 주세요.",
|
||||
"err_cert_title": "{host}을(를) 확인할 수 없어요",
|
||||
"err_code_expired_detail": "로그인 코드는 몇 분 동안만 유효해요. 웹메일에서 새 코드를 생성한 후 다시 스캔해 주세요.",
|
||||
"err_code_expired_detail": "로그인 코드는 2분 동안 유효해요. 웹메일에서 새 코드를 표시한 후 다시 스캔해 주세요.",
|
||||
"err_code_expired_or_used_detail": "웹메일에서 새 코드를 표시한 후 다시 스캔해 주세요.",
|
||||
"err_code_expired_or_used_title": "만료되었거나 이미 사용된 코드예요",
|
||||
"err_code_expired_title": "코드가 만료되었어요",
|
||||
"err_code_invalid_detail": "웹메일에서 새 코드를 표시한 후(설정 → 보안 → 모바일 앱 연결) 스캔해 주세요.",
|
||||
"err_code_invalid_title": "유효하지 않은 코드예요",
|
||||
"err_code_used_detail": "각 코드는 한 번만 사용할 수 있어요. 웹메일에서 새 코드를 표시한 후 다시 스캔해 주세요.",
|
||||
"err_code_used_title": "이미 사용된 코드예요",
|
||||
"err_generic_detail": "문제가 발생했어요. 다시 시도해 주세요.",
|
||||
"err_generic_title": "로그인 실패",
|
||||
"err_interrupted_detail": "응답이 시작한 요청과 일치하지 않아요. 다시 로그인해 주세요.",
|
||||
@@ -474,6 +481,17 @@
|
||||
"err_no_server_title": "{host}에 메일 서버가 없어요",
|
||||
"err_no_webmail_detail": "이 서버에는 Bulwark 웹메일과 OAuth 로그인이 없어요. 대신 비밀번호(또는 앱 비밀번호)를 사용해 주세요.",
|
||||
"err_no_webmail_title": "{host}에 로그인 페이지가 없어요",
|
||||
"err_pair_connect_detail": "컴퓨터에서 새 코드를 표시한 후 다시 스캔해 주세요.",
|
||||
"err_pair_connect_title": "로그인했지만 {host}에 연결하지 못했어요",
|
||||
"err_pair_insecure_detail": "{host}에서 암호화되지 않은 연결을 사용하려고 해요.",
|
||||
"err_pair_network_detail": "연결 상태와 휴대폰에서 웹메일에 접속할 수 있는지 확인한 후 다시 시도해 주세요.",
|
||||
"err_pair_rate_detail": "1분 정도 기다린 후 다시 시도해 주세요.",
|
||||
"err_pair_server_detail": "새 코드로 다시 시도해 주세요. 계속 실패하면 관리자에게 문의해 주세요.",
|
||||
"err_pair_server_title": "웹메일에서 로그인을 완료하지 못했어요",
|
||||
"err_pair_unsupported_detail": "{host}에서 로그인 코드를 지원하지 않아요. 업데이트가 필요하거나 링크가 잘못된 주소를 가리키고 있을 수 있어요.",
|
||||
"err_pair_unsupported_title": "이 웹메일은 기기를 연결할 수 없어요",
|
||||
"err_pair_untrusted_detail": "{host}에서 앱이 확인할 수 없는 서버의 로그인 정보를 보냈어요.",
|
||||
"err_pair_untrusted_title": "이 로그인은 신뢰할 수 없어요",
|
||||
"err_rate_detail": "서버에서 잠시 기다려 달라고 요청했어요. 잠시 후 다시 시도해 주세요.",
|
||||
"err_rate_detail_seconds": "서버에서 기다려 달라고 요청했어요. 약 {seconds}초 후에 다시 시도해 주세요.",
|
||||
"err_rate_title": "시도 횟수가 너무 많아요",
|
||||
@@ -487,6 +505,12 @@
|
||||
"know_server": "서버 주소를 알고 있어요",
|
||||
"known_server_desc": "이미 알고 있는 서버라서 설정이 필요 없어요",
|
||||
"known_server_title": "{host}의 다른 계정",
|
||||
"link_confirm_connect": "링크가 이 페이지에서 로그인하도록 요청하고 있어요. 메일에 {host}을(를) 사용하는 경우에만 계속하세요.",
|
||||
"link_confirm_connect_add": "링크가 이 페이지에서 로그인해 계정을 추가하도록 요청하고 있어요. 메일에 {host}을(를) 사용하는 경우에만 계속하세요.",
|
||||
"link_confirm_connect_title": "{host}의 로그인 페이지를 열까요?",
|
||||
"link_confirm_pair": "이 링크는 {host}의 계정으로 로그인해요. 방금 컴퓨터에서 로그인 코드를 표시한 경우에만 계속하세요.",
|
||||
"link_confirm_pair_add": "이 링크는 {host}의 계정을 추가하고 앱을 해당 계정으로 전환해요. 방금 컴퓨터에서 로그인 코드를 표시한 경우에만 계속하세요.",
|
||||
"link_confirm_title": "링크로 로그인할까요?",
|
||||
"looking_up": "서버를 찾는 중…",
|
||||
"manual": "서버 정보 직접 입력",
|
||||
"notice_bad_qr": "Bulwark 로그인 코드가 아니에요",
|
||||
@@ -505,6 +529,12 @@
|
||||
"pairing_detail": "이 기기를 {host}와(과) 페어링하는 중…",
|
||||
"password_subtitle": "비밀번호는 이 서버로만 전송되며 기기의 키체인에 저장돼요.",
|
||||
"password_title": "{host}에 로그인",
|
||||
"paste_button": "붙여넣기",
|
||||
"paste_clipboard_empty": "붙여넣을 내용이 없어요. 먼저 웹메일에서 링크를 복사해 주세요.",
|
||||
"paste_hint": "웹메일에서 설정 → 보안 → 모바일 앱 연결을 열고 로그인 링크를 복사해 여기에 붙여넣어 주세요.",
|
||||
"paste_invalid": "Bulwark 로그인 링크가 아니에요",
|
||||
"paste_label": "로그인 링크",
|
||||
"paste_title": "로그인 링크 붙여넣기",
|
||||
"provider_detail": "비밀번호는 제공업체의 페이지에서 입력해요. Bulwark는 로그인 토큰만 저장하며, 언제든지 해지할 수 있어요.",
|
||||
"provider_title": "비밀번호는 제공업체에만 전달돼요",
|
||||
"qr_hint": "설정 → 보안 → 모바일 앱 연결에서 코드가 표시돼요. 카메라를 코드에 비춰 주세요.",
|
||||
@@ -515,6 +545,7 @@
|
||||
"server_hint": "브라우저에 입력하는 주소와 같아요. https://는 자동으로 추가돼요.",
|
||||
"server_label": "서버 주소",
|
||||
"server_not_found": "{domain}의 서버를 찾을 수 없어요. 직접 호스팅하는 경우 웹메일에 사용하는 주소를 입력해 주세요.",
|
||||
"server_paste_hint": "로그인 링크가 있나요? 여기에 붙여넣어 주세요.",
|
||||
"server_scan_hint": "잘 모르겠다면 대신 로그인 코드를 스캔해 주세요. 코드에 서버 주소가 포함되어 있어요.",
|
||||
"server_subtitle": "웹메일에 접속할 때 사용하는 주소를 입력해 주세요.",
|
||||
"server_title": "서버 주소가 무엇인가요?",
|
||||
|
||||
@@ -460,12 +460,19 @@
|
||||
"email_step_title": "Kāda ir jūsu e-pasta adrese?",
|
||||
"email_step_title_add": "Kāda ir otra adrese?",
|
||||
"email_title": "Izmantot manu e-pasta adresi",
|
||||
"err_account_limit_detail": "Lai pievienotu citu kontu, noņemiet kādu kontu iestatījumos.",
|
||||
"err_bad_detail": "Pārbaudiet e-pasta adresi un paroli. Ja jūsu kontā tiek izmantota divpakāpju pierakstīšanās, izveidojiet lietotnes paroli tīmekļa pastā un izmantojiet to šeit.",
|
||||
"err_bad_title": "Tas neizdevās",
|
||||
"err_cert_detail": "Servera drošības sertifikāts tika noraidīts. Ja tas ir jūsu serveris, pārbaudiet, vai sertifikāts ir derīgs un tā termiņš nav beidzies.",
|
||||
"err_cert_title": "Neizdevās pārbaudīt: {host}",
|
||||
"err_code_expired_detail": "Pierakstīšanās kodi ir derīgi dažas minūtes. Izveidojiet jaunu tīmekļa pastā un skenējiet vēlreiz.",
|
||||
"err_code_expired_detail": "Pierakstīšanās kodi ir derīgi divas minūtes. Parādiet jaunu tīmekļa pastā un skenējiet vēlreiz.",
|
||||
"err_code_expired_or_used_detail": "Parādiet jaunu tīmekļa pastā un skenējiet vēlreiz.",
|
||||
"err_code_expired_or_used_title": "Šī koda derīgums ir beidzies, vai tas jau ir izmantots",
|
||||
"err_code_expired_title": "Šī koda derīgums ir beidzies",
|
||||
"err_code_invalid_detail": "Parādiet jaunu kodu tīmekļa pastā (Iestatījumi → Drošība → Saistīt mobilo lietotni) un noskenējiet to.",
|
||||
"err_code_invalid_title": "Šis kods nav derīgs",
|
||||
"err_code_used_detail": "Katrs kods darbojas tikai vienu reizi. Parādiet jaunu tīmekļa pastā un skenējiet vēlreiz.",
|
||||
"err_code_used_title": "Šis kods jau ir izmantots",
|
||||
"err_generic_detail": "Kaut kas nogāja greizi. Mēģiniet vēlreiz.",
|
||||
"err_generic_title": "Pierakstīšanās neizdevās",
|
||||
"err_interrupted_detail": "Atbilde neatbilda sāktajam pieprasījumam. Mēģiniet pierakstīties vēlreiz.",
|
||||
@@ -474,6 +481,17 @@
|
||||
"err_no_server_title": "Pasta serveris nav atrasts: {host}",
|
||||
"err_no_webmail_detail": "Šim serverim nav Bulwark tīmekļa pasta un OAuth pierakstīšanās. Tā vietā izmantojiet paroli (vai lietotnes paroli).",
|
||||
"err_no_webmail_title": "Pierakstīšanās lapa nav atrasta: {host}",
|
||||
"err_pair_connect_detail": "Parādiet jaunu kodu datorā un skenējiet vēlreiz.",
|
||||
"err_pair_connect_title": "Pierakstījāties, bet neizdevās izveidot savienojumu ar {host}",
|
||||
"err_pair_insecure_detail": "{host} vēlas izmantot nešifrētu savienojumu.",
|
||||
"err_pair_network_detail": "Pārbaudiet savienojumu un to, vai tālrunis var piekļūt tīmekļa pastam, un mēģiniet vēlreiz.",
|
||||
"err_pair_rate_detail": "Uzgaidiet minūti un mēģiniet vēlreiz.",
|
||||
"err_pair_server_detail": "Mēģiniet vēlreiz ar jaunu kodu. Ja tas joprojām neizdodas, sazinieties ar administratoru.",
|
||||
"err_pair_server_title": "Tīmekļa pasts nevarēja pabeigt pierakstīšanos",
|
||||
"err_pair_unsupported_detail": "{host} neatbalsta pierakstīšanās kodus. Iespējams, tam nepieciešams atjauninājums, vai saite norāda uz nepareizu adresi.",
|
||||
"err_pair_unsupported_title": "Šis tīmekļa pasts nevar saistīt ierīces",
|
||||
"err_pair_untrusted_detail": "{host} nosūtīja pierakstīšanās datus serverim, ko lietotne nevar pārbaudīt.",
|
||||
"err_pair_untrusted_title": "Šai pierakstīšanās reizei nevar uzticēties",
|
||||
"err_rate_detail": "Serveris lūdza brīdi uzgaidīt. Drīz mēģiniet vēlreiz.",
|
||||
"err_rate_detail_seconds": "Serveris lūdza uzgaidīt. Mēģiniet vēlreiz pēc aptuveni {seconds} s.",
|
||||
"err_rate_title": "Pārāk daudz mēģinājumu",
|
||||
@@ -487,6 +505,12 @@
|
||||
"know_server": "Es zinu sava servera adresi",
|
||||
"known_server_desc": "Šis serveris mums jau ir zināms, tāpēc nekas nav jāiestata",
|
||||
"known_server_title": "Vēl viens konts: {host}",
|
||||
"link_confirm_connect": "Saite aicina pierakstīties šajā lapā. Turpiniet tikai tad, ja izmantojat {host} savam e-pastam.",
|
||||
"link_confirm_connect_add": "Saite aicina pievienot kontu, pierakstoties šajā lapā. Turpiniet tikai tad, ja izmantojat {host} savam e-pastam.",
|
||||
"link_confirm_connect_title": "Atvērt {host} pierakstīšanās lapu?",
|
||||
"link_confirm_pair": "Šī saite pierakstās kontā no {host}. Turpiniet tikai tad, ja tikko datorā parādījāt pierakstīšanās kodu.",
|
||||
"link_confirm_pair_add": "Šī saite pievieno kontu no {host} un pārslēdz lietotni uz to. Turpiniet tikai tad, ja tikko datorā parādījāt pierakstīšanās kodu.",
|
||||
"link_confirm_title": "Pierakstīties ar saiti?",
|
||||
"looking_up": "Meklē jūsu serveri…",
|
||||
"manual": "Ievadīt servera datus manuāli",
|
||||
"notice_bad_qr": "Šis nav Bulwark pierakstīšanās kods",
|
||||
@@ -505,6 +529,12 @@
|
||||
"pairing_detail": "Šī ierīce tiek savienota pārī: {host}…",
|
||||
"password_subtitle": "Jūsu parole tiek nosūtīta tikai uz šo serveri un glabāta ierīces atslēgu krātuvē.",
|
||||
"password_title": "Pierakstīšanās: {host}",
|
||||
"paste_button": "Ielīmēt",
|
||||
"paste_clipboard_empty": "Nav ko ielīmēt. Vispirms nokopējiet saiti tīmekļa pastā.",
|
||||
"paste_hint": "Tīmekļa pastā atveriet Iestatījumi → Drošība → Saistīt mobilo lietotni, nokopējiet pierakstīšanās saiti un ielīmējiet to šeit.",
|
||||
"paste_invalid": "Šī nav Bulwark pierakstīšanās saite",
|
||||
"paste_label": "Pierakstīšanās saite",
|
||||
"paste_title": "Ielīmēt pierakstīšanās saiti",
|
||||
"provider_detail": "Jūs to ievadīsiet pakalpojumu sniedzēja lapā. Bulwark glabā tikai pierakstīšanās tokenu, ko varat jebkurā laikā atsaukt.",
|
||||
"provider_title": "Jūsu parole paliek pie pakalpojumu sniedzēja",
|
||||
"qr_hint": "Sadaļā Iestatījumi → Drošība → Saistīt mobilo lietotni tiek parādīts kods. Pavērsiet pret to kameru.",
|
||||
@@ -515,6 +545,7 @@
|
||||
"server_hint": "Tā pati adrese, ko rakstāt pārlūkā. https:// pievienosim mēs.",
|
||||
"server_label": "Servera adrese",
|
||||
"server_not_found": "Mēs neatradām serveri domēnam {domain}. Ja izmantojat savu serveri, norādiet adresi, ko lietojat tīmekļa pastam.",
|
||||
"server_paste_hint": "Jums ir pierakstīšanās saite? Ielīmējiet to šeit.",
|
||||
"server_scan_hint": "Ja šaubāties, tā vietā skenējiet pierakstīšanās kodu. Tajā ir servera adrese.",
|
||||
"server_subtitle": "Ievadiet adresi, ar kuru atverat savu tīmekļa pastu.",
|
||||
"server_title": "Kāda ir jūsu servera adrese?",
|
||||
|
||||
@@ -460,12 +460,19 @@
|
||||
"email_step_title": "Таны имэйл хаяг юу вэ?",
|
||||
"email_step_title_add": "Нөгөө хаяг юу вэ?",
|
||||
"email_title": "Имэйл хаягаа ашиглах",
|
||||
"err_account_limit_detail": "Өөр бүртгэл нэмэхийн тулд Тохиргооноос нэг бүртгэлийг хасна уу.",
|
||||
"err_bad_detail": "Имэйл болон нууц үгээ шалгана уу. Хэрэв таны бүртгэл хоёр шаттай нэвтрэлт ашигладаг бол вэбмэйлд аппын нууц үг үүсгээд энд ашиглана уу.",
|
||||
"err_bad_title": "Амжилтгүй боллоо",
|
||||
"err_cert_detail": "Серверийн аюулгүй байдлын гэрчилгээг татгалзсан. Хэрэв энэ таны өөрийн сервер бол гэрчилгээ хүчинтэй, хугацаа нь дуусаагүй эсэхийг шалгана уу.",
|
||||
"err_cert_title": "Баталгаажуулж чадсангүй: {host}",
|
||||
"err_code_expired_detail": "Нэвтрэх код хэдхэн минут хүчинтэй. Вэбмэйлд шинэ код үүсгээд дахин скан хийнэ үү.",
|
||||
"err_code_expired_detail": "Нэвтрэх код хоёр минут хүчинтэй. Вэбмэйлд шинэ код харуулаад дахин скан хийнэ үү.",
|
||||
"err_code_expired_or_used_detail": "Вэбмэйлд шинэ код харуулаад дахин скан хийнэ үү.",
|
||||
"err_code_expired_or_used_title": "Энэ кодын хугацаа дууссан эсвэл аль хэдийн ашиглагдсан",
|
||||
"err_code_expired_title": "Кодын хугацаа дууссан",
|
||||
"err_code_invalid_detail": "Вэбмэйлд шинэ код харуулаад (Тохиргоо → Аюулгүй байдал → Мобайл програмыг холбох) скан хийнэ үү.",
|
||||
"err_code_invalid_title": "Энэ код хүчингүй байна",
|
||||
"err_code_used_detail": "Код бүр зөвхөн нэг удаа ажиллана. Вэбмэйлд шинэ код харуулаад дахин скан хийнэ үү.",
|
||||
"err_code_used_title": "Энэ код аль хэдийн ашиглагдсан",
|
||||
"err_generic_detail": "Ямар нэг алдаа гарлаа. Дахин оролдоно уу.",
|
||||
"err_generic_title": "Нэвтэрч чадсангүй",
|
||||
"err_interrupted_detail": "Хариу нь бидний эхлүүлсэн хүсэлттэй таарахгүй байна. Дахин нэвтэрч үзнэ үү.",
|
||||
@@ -474,6 +481,17 @@
|
||||
"err_no_server_title": "Мэйл сервер алга: {host}",
|
||||
"err_no_webmail_detail": "Энэ серверт Bulwark вэбмэйл болон OAuth нэвтрэлт байхгүй. Оронд нь нууц үг (эсвэл аппын нууц үг) ашиглана уу.",
|
||||
"err_no_webmail_title": "Нэвтрэх хуудас алга: {host}",
|
||||
"err_pair_connect_detail": "Компьютер дээрээ шинэ код харуулаад дахин скан хийнэ үү.",
|
||||
"err_pair_connect_title": "Нэвтэрсэн ч {host} руу холбогдож чадсангүй",
|
||||
"err_pair_insecure_detail": "{host} шифрлэгдээгүй холболт ашиглахыг хүсэж байна.",
|
||||
"err_pair_network_detail": "Холболтоо болон утас тань вэбмэйлд хүрч чадаж байгаа эсэхийг шалгаад дахин оролдоно уу.",
|
||||
"err_pair_rate_detail": "Нэг минут хүлээгээд дахин оролдоно уу.",
|
||||
"err_pair_server_detail": "Шинэ кодоор дахин оролдоно уу. Алдаа үргэлжилбэл админтайгаа холбогдоно уу.",
|
||||
"err_pair_server_title": "Вэбмэйл нэвтрэлтийг дуусгаж чадсангүй",
|
||||
"err_pair_unsupported_detail": "{host} нэвтрэх кодыг дэмждэггүй. Шинэчлэл шаардлагатай байж магадгүй, эсвэл холбоос буруу хаяг руу заасан байна.",
|
||||
"err_pair_unsupported_title": "Энэ вэбмэйл төхөөрөмж холбох боломжгүй",
|
||||
"err_pair_untrusted_detail": "{host} програмын баталгаажуулж чадахгүй серверийн нэвтрэх мэдээллийг илгээсэн.",
|
||||
"err_pair_untrusted_title": "Энэ нэвтрэлтэд итгэх боломжгүй",
|
||||
"err_rate_detail": "Сервер түр хүлээхийг хүслээ. Удахгүй дахин оролдоно уу.",
|
||||
"err_rate_detail_seconds": "Сервер хүлээхийг хүслээ. Ойролцоогоор {seconds} секундын дараа дахин оролдоно уу.",
|
||||
"err_rate_title": "Хэт олон оролдлого",
|
||||
@@ -487,6 +505,12 @@
|
||||
"know_server": "Би серверийн хаягаа мэднэ",
|
||||
"known_server_desc": "Бид энэ серверийг аль хэдийн мэддэг тул тохируулах шаардлагагүй",
|
||||
"known_server_title": "{host} дээрх өөр бүртгэл",
|
||||
"link_confirm_connect": "Холбоос энэ хуудсанд нэвтрэхийг хүсэж байна. Та имэйлдээ {host}-ийг ашигладаг бол л үргэлжлүүлнэ үү.",
|
||||
"link_confirm_connect_add": "Холбоос энэ хуудсанд нэвтэрч бүртгэл нэмэхийг хүсэж байна. Та имэйлдээ {host}-ийг ашигладаг бол л үргэлжлүүлнэ үү.",
|
||||
"link_confirm_connect_title": "{host}-ийн нэвтрэх хуудсыг нээх үү?",
|
||||
"link_confirm_pair": "Энэ холбоос {host} дээрх бүртгэлд нэвтрүүлнэ. Та саяхан компьютер дээрээ нэвтрэх код харуулсан бол л үргэлжлүүлнэ үү.",
|
||||
"link_confirm_pair_add": "Энэ холбоос {host} дээрх бүртгэлийг нэмээд програмыг түүн рүү шилжүүлнэ. Та саяхан компьютер дээрээ нэвтрэх код харуулсан бол л үргэлжлүүлнэ үү.",
|
||||
"link_confirm_title": "Холбоосоор нэвтрэх үү?",
|
||||
"looking_up": "Таны серверийг хайж байна…",
|
||||
"manual": "Серверийн мэдээллийг гараар оруулах",
|
||||
"notice_bad_qr": "Энэ код Bulwark-ийн нэвтрэх код биш байна",
|
||||
@@ -505,6 +529,12 @@
|
||||
"pairing_detail": "Энэ төхөөрөмжийг холбож байна: {host}…",
|
||||
"password_subtitle": "Таны нууц үгийг зөвхөн энэ сервер рүү илгээх бөгөөд төхөөрөмжийн түлхүүрийн санд хадгална.",
|
||||
"password_title": "Нэвтрэх: {host}",
|
||||
"paste_button": "Буулгах",
|
||||
"paste_clipboard_empty": "Буулгах зүйл алга. Эхлээд вэбмэйлээс холбоосыг хуулна уу.",
|
||||
"paste_hint": "Вэбмэйлд Тохиргоо → Аюулгүй байдал → Мобайл програмыг холбох хэсгийг нээж, нэвтрэх холбоосыг хуулаад энд буулгана уу.",
|
||||
"paste_invalid": "Энэ Bulwark-ийн нэвтрэх холбоос биш байна",
|
||||
"paste_label": "Нэвтрэх холбоос",
|
||||
"paste_title": "Нэвтрэх холбоос буулгах",
|
||||
"provider_detail": "Та нууц үгээ тэдний хуудсанд бичнэ. Bulwark зөвхөн нэвтрэх токен хадгалах бөгөөд та үүнийг хүссэн үедээ хүчингүй болгож болно.",
|
||||
"provider_title": "Таны нууц үг үйлчилгээ үзүүлэгч дээрээ үлдэнэ",
|
||||
"qr_hint": "Тохиргоо → Аюулгүй байдал → Мобайл програмыг холбох хэсэгт код гарна. Камераа түүн рүү чиглүүлнэ үү.",
|
||||
@@ -515,6 +545,7 @@
|
||||
"server_hint": "Хөтөч дээр бичдэг хаяг. https://-г бид нэмнэ.",
|
||||
"server_label": "Серверийн хаяг",
|
||||
"server_not_found": "{domain} домэйны сервер олдсонгүй. Хэрэв та өөрөө сервертэй бол вэбмэйлд ашигладаг хаягаа оруулна уу.",
|
||||
"server_paste_hint": "Оронд нь нэвтрэх холбоос байгаа юу? Энд буулгана уу.",
|
||||
"server_scan_hint": "Итгэлгүй байвал оронд нь нэвтрэх код скан хийнэ үү. Үүнд серверийн хаяг агуулагддаг.",
|
||||
"server_subtitle": "Вэбмэйл рүүгээ ороход ашигладаг хаягаа оруулна уу.",
|
||||
"server_title": "Таны серверийн хаяг юу вэ?",
|
||||
|
||||
@@ -460,12 +460,19 @@
|
||||
"email_step_title": "Hva er e-postadressen din?",
|
||||
"email_step_title_add": "Hva er den andre adressen?",
|
||||
"email_title": "Bruk e-postadressen min",
|
||||
"err_account_limit_detail": "Fjern en konto i Innstillinger for å legge til en ny.",
|
||||
"err_bad_detail": "Sjekk e-postadressen og passordet. Hvis kontoen din bruker tofaktorautentisering, oppretter du et app-passord i nettposten og bruker det her.",
|
||||
"err_bad_title": "Det fungerte ikke",
|
||||
"err_cert_detail": "Serverens sikkerhetssertifikat ble avvist. Hvis dette er din egen server, må du sjekke at sertifikatet er gyldig og ikke utløpt.",
|
||||
"err_cert_title": "Kunne ikke bekrefte {host}",
|
||||
"err_code_expired_detail": "Påloggingskoder er bare gyldige i noen få minutter. Lag en ny i nettposten, og skann på nytt.",
|
||||
"err_code_expired_detail": "Påloggingskoder er gyldige i to minutter. Vis en ny i nettposten, og skann på nytt.",
|
||||
"err_code_expired_or_used_detail": "Vis en ny i nettposten, og skann på nytt.",
|
||||
"err_code_expired_or_used_title": "Koden er utløpt eller allerede brukt",
|
||||
"err_code_expired_title": "Koden er utløpt",
|
||||
"err_code_invalid_detail": "Vis en ny kode i nettposten (Innstillinger → Sikkerhet → Koble til mobilappen), og skann den.",
|
||||
"err_code_invalid_title": "Koden er ikke gyldig",
|
||||
"err_code_used_detail": "Hver kode virker bare én gang. Vis en ny i nettposten, og skann på nytt.",
|
||||
"err_code_used_title": "Koden er allerede brukt",
|
||||
"err_generic_detail": "Noe gikk galt. Prøv igjen.",
|
||||
"err_generic_title": "Påloggingen mislyktes",
|
||||
"err_interrupted_detail": "Svaret samsvarte ikke med forespørselen vi startet. Prøv å logge på igjen.",
|
||||
@@ -474,6 +481,17 @@
|
||||
"err_no_server_title": "Ingen e-postserver på {host}",
|
||||
"err_no_webmail_detail": "Denne serveren har verken Bulwark-nettpost eller OAuth-pålogging. Bruk et passord (eller et app-passord) i stedet.",
|
||||
"err_no_webmail_title": "Ingen påloggingsside på {host}",
|
||||
"err_pair_connect_detail": "Vis en ny kode på datamaskinen, og skann på nytt.",
|
||||
"err_pair_connect_title": "Pålogget, men kunne ikke koble til {host}",
|
||||
"err_pair_insecure_detail": "{host} vil bruke en ukryptert tilkobling.",
|
||||
"err_pair_network_detail": "Sjekk tilkoblingen og at telefonen kan nå nettposten, og prøv deretter på nytt.",
|
||||
"err_pair_rate_detail": "Vent et minutt, og prøv deretter på nytt.",
|
||||
"err_pair_server_detail": "Prøv på nytt med en ny kode. Hvis det fortsatt mislykkes, kontakt administratoren.",
|
||||
"err_pair_server_title": "Nettposten kunne ikke fullføre påloggingen",
|
||||
"err_pair_unsupported_detail": "{host} støtter ikke påloggingskoder. Den må kanskje oppdateres, eller lenken peker til feil adresse.",
|
||||
"err_pair_unsupported_title": "Denne nettposten kan ikke koble til enheter",
|
||||
"err_pair_untrusted_detail": "{host} sendte påloggingsinformasjon for en server appen ikke kan bekrefte.",
|
||||
"err_pair_untrusted_title": "Denne påloggingen kan ikke stoles på",
|
||||
"err_rate_detail": "Serveren ba oss vente litt. Prøv igjen om et øyeblikk.",
|
||||
"err_rate_detail_seconds": "Serveren ba oss vente. Prøv igjen om omtrent {seconds} sekunder.",
|
||||
"err_rate_title": "For mange forsøk",
|
||||
@@ -487,6 +505,12 @@
|
||||
"know_server": "Jeg kjenner serveradressen min",
|
||||
"known_server_desc": "Vi kjenner allerede denne serveren, så du trenger ikke å sette opp noe",
|
||||
"known_server_title": "En annen konto på {host}",
|
||||
"link_confirm_connect": "En lenke ber om å logge på på denne siden. Fortsett bare hvis du bruker {host} til e-posten din.",
|
||||
"link_confirm_connect_add": "En lenke ber om å legge til en konto ved å logge på på denne siden. Fortsett bare hvis du bruker {host} til e-posten din.",
|
||||
"link_confirm_connect_title": "Åpne påloggingssiden til {host}?",
|
||||
"link_confirm_pair": "Denne lenken logger på en konto fra {host}. Fortsett bare hvis du nettopp viste en påloggingskode på datamaskinen.",
|
||||
"link_confirm_pair_add": "Denne lenken legger til en konto fra {host} og bytter appen til den. Fortsett bare hvis du nettopp viste en påloggingskode på datamaskinen.",
|
||||
"link_confirm_title": "Logge på med en lenke?",
|
||||
"looking_up": "Slår opp serveren din…",
|
||||
"manual": "Skriv inn serverdetaljer manuelt",
|
||||
"notice_bad_qr": "Koden er ikke en påloggingskode for Bulwark",
|
||||
@@ -505,6 +529,12 @@
|
||||
"pairing_detail": "Kobler denne enheten til {host}…",
|
||||
"password_subtitle": "Passordet ditt sendes bare til denne serveren og lagres i nøkkelringen på enheten.",
|
||||
"password_title": "Logg på {host}",
|
||||
"paste_button": "Lim inn",
|
||||
"paste_clipboard_empty": "Ingenting å lime inn. Kopier lenken i nettposten først.",
|
||||
"paste_hint": "Åpne Innstillinger → Sikkerhet → Koble til mobilappen i nettposten, kopier påloggingslenken og lim den inn her.",
|
||||
"paste_invalid": "Det er ikke en påloggingslenke for Bulwark",
|
||||
"paste_label": "Påloggingslenke",
|
||||
"paste_title": "Lim inn påloggingslenke",
|
||||
"provider_detail": "Du skriver det inn på deres side. Bulwark lagrer bare et påloggingstoken, som du når som helst kan tilbakekalle.",
|
||||
"provider_title": "Passordet ditt blir hos leverandøren",
|
||||
"qr_hint": "Innstillinger → Sikkerhet → Koble til mobilappen viser en kode. Rett kameraet mot den.",
|
||||
@@ -515,6 +545,7 @@
|
||||
"server_hint": "Samme adresse som du skriver inn i nettleseren. Vi legger til https:// for deg.",
|
||||
"server_label": "Serveradresse",
|
||||
"server_not_found": "Vi fant ingen server for {domain}. Hvis du drifter din egen server, er det adressen du bruker for nettposten.",
|
||||
"server_paste_hint": "Har du en påloggingslenke i stedet? Lim den inn her.",
|
||||
"server_scan_hint": "Hvis du er usikker, kan du skanne en påloggingskode i stedet. Den inneholder serveradressen.",
|
||||
"server_subtitle": "Skriv inn adressen du bruker for å nå nettposten din.",
|
||||
"server_title": "Hva er serveradressen din?",
|
||||
|
||||
@@ -460,12 +460,19 @@
|
||||
"email_step_title": "Wat is uw e-mailadres?",
|
||||
"email_step_title_add": "Wat is het andere adres?",
|
||||
"email_title": "Mijn e-mailadres gebruiken",
|
||||
"err_account_limit_detail": "Verwijder een account in Instellingen om er nog een toe te voegen.",
|
||||
"err_bad_detail": "Controleer uw e-mailadres en wachtwoord. Als uw account tweefactorauthenticatie gebruikt, maak dan in de webmail een app-wachtwoord aan en gebruik dat hier.",
|
||||
"err_bad_title": "Dat is niet gelukt",
|
||||
"err_cert_detail": "Het beveiligingscertificaat van de server is geweigerd. Als dit uw eigen server is, controleer dan of het certificaat geldig en niet verlopen is.",
|
||||
"err_cert_title": "Kan {host} niet verifiëren",
|
||||
"err_code_expired_detail": "Inlogcodes zijn maar een paar minuten geldig. Genereer een nieuwe in de webmail en scan opnieuw.",
|
||||
"err_code_expired_detail": "Inlogcodes zijn twee minuten geldig. Toon een nieuwe in de webmail en scan opnieuw.",
|
||||
"err_code_expired_or_used_detail": "Toon een nieuwe in de webmail en scan opnieuw.",
|
||||
"err_code_expired_or_used_title": "Die code is verlopen of al gebruikt",
|
||||
"err_code_expired_title": "Die code is verlopen",
|
||||
"err_code_invalid_detail": "Toon een nieuwe code in de webmail (Instellingen → Beveiliging → Mobiele app koppelen) en scan die.",
|
||||
"err_code_invalid_title": "Die code is niet geldig",
|
||||
"err_code_used_detail": "Elke code werkt maar één keer. Toon een nieuwe in de webmail en scan opnieuw.",
|
||||
"err_code_used_title": "Die code is al gebruikt",
|
||||
"err_generic_detail": "Er is iets misgegaan. Probeer het opnieuw.",
|
||||
"err_generic_title": "Inloggen mislukt",
|
||||
"err_interrupted_detail": "Het antwoord kwam niet overeen met het gestarte verzoek. Probeer opnieuw in te loggen.",
|
||||
@@ -474,6 +481,17 @@
|
||||
"err_no_server_title": "Geen mailserver op {host}",
|
||||
"err_no_webmail_detail": "Deze server heeft geen Bulwark-webmail en geen OAuth-aanmelding. Gebruik in plaats daarvan een wachtwoord (of een app-wachtwoord).",
|
||||
"err_no_webmail_title": "Geen inlogpagina op {host}",
|
||||
"err_pair_connect_detail": "Toon een nieuwe code op uw computer en scan opnieuw.",
|
||||
"err_pair_connect_title": "Ingelogd, maar kan geen verbinding maken met {host}",
|
||||
"err_pair_insecure_detail": "{host} wil een onversleutelde verbinding gebruiken.",
|
||||
"err_pair_network_detail": "Controleer uw verbinding en of uw telefoon de webmail kan bereiken, en probeer het opnieuw.",
|
||||
"err_pair_rate_detail": "Wacht een minuut en probeer het dan opnieuw.",
|
||||
"err_pair_server_detail": "Probeer het opnieuw met een nieuwe code. Blijft het mislukken, neem dan contact op met uw beheerder.",
|
||||
"err_pair_server_title": "De webmail kon het inloggen niet voltooien",
|
||||
"err_pair_unsupported_detail": "{host} ondersteunt geen inlogcodes. Mogelijk is een update nodig, of de link verwijst naar het verkeerde adres.",
|
||||
"err_pair_unsupported_title": "Deze webmail kan geen apparaten koppelen",
|
||||
"err_pair_untrusted_detail": "{host} heeft inloggegevens gestuurd voor een server die de app niet kan verifiëren.",
|
||||
"err_pair_untrusted_title": "Deze aanmelding kan niet worden vertrouwd",
|
||||
"err_rate_detail": "De server vroeg ons even te wachten. Probeer het zo opnieuw.",
|
||||
"err_rate_detail_seconds": "De server vroeg ons te wachten. Probeer het over ongeveer {seconds} seconden opnieuw.",
|
||||
"err_rate_title": "Te veel pogingen",
|
||||
@@ -487,6 +505,12 @@
|
||||
"know_server": "Ik ken mijn serveradres",
|
||||
"known_server_desc": "We kennen deze server al, dus er hoeft niets te worden ingesteld",
|
||||
"known_server_title": "Nog een account op {host}",
|
||||
"link_confirm_connect": "Een link vraagt om op deze pagina in te loggen. Ga alleen door als u {host} voor uw e-mail gebruikt.",
|
||||
"link_confirm_connect_add": "Een link vraagt om een account toe te voegen door op deze pagina in te loggen. Ga alleen door als u {host} voor uw e-mail gebruikt.",
|
||||
"link_confirm_connect_title": "Inlogpagina van {host} openen?",
|
||||
"link_confirm_pair": "Deze link logt u in op een account van {host}. Ga alleen door als u zojuist een inlogcode op uw computer hebt getoond.",
|
||||
"link_confirm_pair_add": "Deze link voegt een account van {host} toe en schakelt de app daarnaar over. Ga alleen door als u zojuist een inlogcode op uw computer hebt getoond.",
|
||||
"link_confirm_title": "Inloggen met een link?",
|
||||
"looking_up": "Uw server opzoeken…",
|
||||
"manual": "Servergegevens handmatig invoeren",
|
||||
"notice_bad_qr": "Die code is geen Bulwark-inlogcode",
|
||||
@@ -505,6 +529,12 @@
|
||||
"pairing_detail": "Dit apparaat wordt gekoppeld aan {host}…",
|
||||
"password_subtitle": "Uw wachtwoord wordt alleen naar deze server verzonden en opgeslagen in de sleutelhanger van het apparaat.",
|
||||
"password_title": "Inloggen bij {host}",
|
||||
"paste_button": "Plakken",
|
||||
"paste_clipboard_empty": "Niets om te plakken. Kopieer eerst de link in de webmail.",
|
||||
"paste_hint": "Open in de webmail Instellingen → Beveiliging → Mobiele app koppelen, kopieer de inloglink en plak die hier.",
|
||||
"paste_invalid": "Dat is geen Bulwark-inloglink",
|
||||
"paste_label": "Inloglink",
|
||||
"paste_title": "Inloglink plakken",
|
||||
"provider_detail": "U typt het op hun pagina. Bulwark bewaart alleen een inlogtoken, dat u op elk moment kunt intrekken.",
|
||||
"provider_title": "Uw wachtwoord blijft bij uw provider",
|
||||
"qr_hint": "Instellingen → Beveiliging → Mobiele app koppelen toont een code. Richt de camera erop.",
|
||||
@@ -515,6 +545,7 @@
|
||||
"server_hint": "Hetzelfde adres dat u in de browser typt. We voegen https:// voor u toe.",
|
||||
"server_label": "Serveradres",
|
||||
"server_not_found": "We konden geen server vinden voor {domain}. Als u zelf host, is het het adres dat u voor de webmail gebruikt.",
|
||||
"server_paste_hint": "Hebt u in plaats daarvan een inloglink? Plak die hier.",
|
||||
"server_scan_hint": "Weet u het niet zeker? Scan dan een inlogcode. Die bevat het serveradres.",
|
||||
"server_subtitle": "Voer het adres in waarmee u uw webmail bereikt.",
|
||||
"server_title": "Wat is uw serveradres?",
|
||||
|
||||
@@ -460,12 +460,19 @@
|
||||
"email_step_title": "Jaki jest Twój adres e-mail?",
|
||||
"email_step_title_add": "Jaki jest drugi adres?",
|
||||
"email_title": "Użyj mojego adresu e-mail",
|
||||
"err_account_limit_detail": "Usuń konto w Ustawieniach, aby dodać kolejne.",
|
||||
"err_bad_detail": "Sprawdź adres e-mail i hasło. Jeśli Twoje konto używa logowania dwuskładnikowego, utwórz hasło aplikacji w webmailu i użyj go tutaj.",
|
||||
"err_bad_title": "To nie zadziałało",
|
||||
"err_cert_detail": "Certyfikat bezpieczeństwa serwera został odrzucony. Jeśli to Twój własny serwer, sprawdź, czy certyfikat jest ważny i nie wygasł.",
|
||||
"err_cert_title": "Nie można zweryfikować: {host}",
|
||||
"err_code_expired_detail": "Kody logowania są ważne przez kilka minut. Wygeneruj nowy w webmailu i zeskanuj go ponownie.",
|
||||
"err_code_expired_detail": "Kody logowania są ważne przez dwie minuty. Wyświetl nowy w webmailu i zeskanuj go ponownie.",
|
||||
"err_code_expired_or_used_detail": "Wyświetl nowy w webmailu i zeskanuj go ponownie.",
|
||||
"err_code_expired_or_used_title": "Ten kod wygasł lub został już użyty",
|
||||
"err_code_expired_title": "Ten kod wygasł",
|
||||
"err_code_invalid_detail": "Wyświetl nowy kod w webmailu (Ustawienia → Bezpieczeństwo → Połącz aplikację mobilną) i zeskanuj go.",
|
||||
"err_code_invalid_title": "Ten kod jest nieprawidłowy",
|
||||
"err_code_used_detail": "Każdy kod działa tylko raz. Wyświetl nowy w webmailu i zeskanuj go ponownie.",
|
||||
"err_code_used_title": "Ten kod został już użyty",
|
||||
"err_generic_detail": "Coś poszło nie tak. Spróbuj ponownie.",
|
||||
"err_generic_title": "Logowanie nie powiodło się",
|
||||
"err_interrupted_detail": "Odpowiedź nie pasuje do rozpoczętego żądania. Spróbuj zalogować się ponownie.",
|
||||
@@ -474,6 +481,17 @@
|
||||
"err_no_server_title": "Brak serwera poczty: {host}",
|
||||
"err_no_webmail_detail": "Ten serwer nie ma webmaila Bulwark ani logowania OAuth. Użyj hasła (lub hasła aplikacji).",
|
||||
"err_no_webmail_title": "Brak strony logowania: {host}",
|
||||
"err_pair_connect_detail": "Wyświetl nowy kod na komputerze i zeskanuj go ponownie.",
|
||||
"err_pair_connect_title": "Zalogowano, ale nie można połączyć się z {host}",
|
||||
"err_pair_insecure_detail": "{host} chce użyć nieszyfrowanego połączenia.",
|
||||
"err_pair_network_detail": "Sprawdź połączenie i czy telefon ma dostęp do webmaila, a potem spróbuj ponownie.",
|
||||
"err_pair_rate_detail": "Poczekaj minutę i spróbuj ponownie.",
|
||||
"err_pair_server_detail": "Spróbuj ponownie z nowym kodem. Jeśli nadal się nie udaje, skontaktuj się z administratorem.",
|
||||
"err_pair_server_title": "Webmail nie mógł dokończyć logowania",
|
||||
"err_pair_unsupported_detail": "{host} nie obsługuje kodów logowania. Może wymagać aktualizacji albo link wskazuje zły adres.",
|
||||
"err_pair_unsupported_title": "Ten webmail nie może łączyć urządzeń",
|
||||
"err_pair_untrusted_detail": "{host} przesłał dane logowania dla serwera, którego aplikacja nie może zweryfikować.",
|
||||
"err_pair_untrusted_title": "Temu logowaniu nie można zaufać",
|
||||
"err_rate_detail": "Serwer poprosił o chwilę przerwy. Spróbuj ponownie za moment.",
|
||||
"err_rate_detail_seconds": "Serwer poprosił o odczekanie. Spróbuj ponownie za około {seconds} s.",
|
||||
"err_rate_title": "Zbyt wiele prób",
|
||||
@@ -487,6 +505,12 @@
|
||||
"know_server": "Znam adres swojego serwera",
|
||||
"known_server_desc": "Ten serwer jest już znany, więc nie trzeba niczego konfigurować",
|
||||
"known_server_title": "Kolejne konto na {host}",
|
||||
"link_confirm_connect": "Link prosi o zalogowanie się na tej stronie. Kontynuuj tylko, jeśli używasz {host} do poczty.",
|
||||
"link_confirm_connect_add": "Link prosi o dodanie konta przez zalogowanie się na tej stronie. Kontynuuj tylko, jeśli używasz {host} do poczty.",
|
||||
"link_confirm_connect_title": "Otworzyć stronę logowania {host}?",
|
||||
"link_confirm_pair": "Ten link loguje do konta z {host}. Kontynuuj tylko, jeśli kod logowania został właśnie wyświetlony na Twoim komputerze.",
|
||||
"link_confirm_pair_add": "Ten link dodaje konto z {host} i przełącza na nie aplikację. Kontynuuj tylko, jeśli kod logowania został właśnie wyświetlony na Twoim komputerze.",
|
||||
"link_confirm_title": "Zalogować się za pomocą linku?",
|
||||
"looking_up": "Wyszukiwanie serwera…",
|
||||
"manual": "Wprowadź dane serwera ręcznie",
|
||||
"notice_bad_qr": "To nie jest kod logowania Bulwark",
|
||||
@@ -505,6 +529,12 @@
|
||||
"pairing_detail": "Parowanie tego urządzenia: {host}…",
|
||||
"password_subtitle": "Hasło jest wysyłane tylko do tego serwera i przechowywane w magazynie kluczy urządzenia.",
|
||||
"password_title": "Zaloguj się do {host}",
|
||||
"paste_button": "Wklej",
|
||||
"paste_clipboard_empty": "Nie ma nic do wklejenia. Najpierw skopiuj link w webmailu.",
|
||||
"paste_hint": "W webmailu otwórz Ustawienia → Bezpieczeństwo → Połącz aplikację mobilną, skopiuj link logowania i wklej go tutaj.",
|
||||
"paste_invalid": "To nie jest link logowania Bulwark",
|
||||
"paste_label": "Link logowania",
|
||||
"paste_title": "Wklej link logowania",
|
||||
"provider_detail": "Wpiszesz je na stronie dostawcy. Bulwark przechowuje tylko token logowania, który możesz w każdej chwili unieważnić.",
|
||||
"provider_title": "Twoje hasło zostaje u dostawcy",
|
||||
"qr_hint": "W Ustawienia → Bezpieczeństwo → Połącz aplikację mobilną wyświetla się kod. Skieruj na niego aparat.",
|
||||
@@ -515,6 +545,7 @@
|
||||
"server_hint": "Ten sam adres, który wpisujesz w przeglądarce. Dodamy https:// za Ciebie.",
|
||||
"server_label": "Adres serwera",
|
||||
"server_not_found": "Nie znaleźliśmy serwera dla {domain}. Jeśli masz własny serwer, podaj adres, którego używasz do webmaila.",
|
||||
"server_paste_hint": "Masz zamiast tego link logowania? Wklej go tutaj.",
|
||||
"server_scan_hint": "Jeśli nie masz pewności, zeskanuj kod logowania. Zawiera on adres serwera.",
|
||||
"server_subtitle": "Wpisz adres, pod którym otwierasz webmail.",
|
||||
"server_title": "Jaki jest adres Twojego serwera?",
|
||||
|
||||
@@ -460,12 +460,19 @@
|
||||
"email_step_title": "Qual é o seu endereço de e-mail?",
|
||||
"email_step_title_add": "Qual é o outro endereço?",
|
||||
"email_title": "Usar meu endereço de e-mail",
|
||||
"err_account_limit_detail": "Remova uma conta em Configurações para adicionar outra.",
|
||||
"err_bad_detail": "Verifique seu e-mail e sua senha. Se sua conta usa autenticação de dois fatores, crie uma senha de aplicativo no webmail e use-a aqui.",
|
||||
"err_bad_title": "Não funcionou",
|
||||
"err_cert_detail": "O certificado de segurança do servidor foi rejeitado. Se o servidor for seu, verifique se o certificado é válido e não expirou.",
|
||||
"err_cert_title": "Não foi possível verificar {host}",
|
||||
"err_code_expired_detail": "Os códigos de login valem por alguns minutos. Gere um novo no webmail e escaneie de novo.",
|
||||
"err_code_expired_detail": "Os códigos de login valem por dois minutos. Mostre um novo no webmail e escaneie de novo.",
|
||||
"err_code_expired_or_used_detail": "Mostre um novo no webmail e escaneie de novo.",
|
||||
"err_code_expired_or_used_title": "Esse código expirou ou já foi usado",
|
||||
"err_code_expired_title": "Esse código expirou",
|
||||
"err_code_invalid_detail": "Mostre um novo código no webmail (Configurações → Segurança → Vincular aplicativo móvel) e escaneie-o.",
|
||||
"err_code_invalid_title": "Esse código não é válido",
|
||||
"err_code_used_detail": "Cada código funciona uma única vez. Mostre um novo no webmail e escaneie de novo.",
|
||||
"err_code_used_title": "Esse código já foi usado",
|
||||
"err_generic_detail": "Algo deu errado. Tente novamente.",
|
||||
"err_generic_title": "Falha no login",
|
||||
"err_interrupted_detail": "A resposta não corresponde à solicitação que iniciamos. Tente entrar novamente.",
|
||||
@@ -474,6 +481,17 @@
|
||||
"err_no_server_title": "Nenhum servidor de e-mail em {host}",
|
||||
"err_no_webmail_detail": "Este servidor não tem webmail do Bulwark nem login OAuth. Use uma senha (ou uma senha de aplicativo).",
|
||||
"err_no_webmail_title": "Nenhuma página de login em {host}",
|
||||
"err_pair_connect_detail": "Mostre um novo código no computador e escaneie de novo.",
|
||||
"err_pair_connect_title": "Login feito, mas não foi possível conectar a {host}",
|
||||
"err_pair_insecure_detail": "{host} quer usar uma conexão sem criptografia.",
|
||||
"err_pair_network_detail": "Verifique sua conexão e se o celular consegue acessar o webmail, depois tente de novo.",
|
||||
"err_pair_rate_detail": "Aguarde um minuto e tente de novo.",
|
||||
"err_pair_server_detail": "Tente de novo com um novo código. Se continuar falhando, fale com o administrador.",
|
||||
"err_pair_server_title": "O webmail não conseguiu concluir o login",
|
||||
"err_pair_unsupported_detail": "{host} não oferece suporte a códigos de login. Talvez precise de uma atualização, ou o link aponta para o endereço errado.",
|
||||
"err_pair_unsupported_title": "Este webmail não consegue vincular dispositivos",
|
||||
"err_pair_untrusted_detail": "{host} enviou dados de login para um servidor que o aplicativo não consegue verificar.",
|
||||
"err_pair_untrusted_title": "Este login não é confiável",
|
||||
"err_rate_detail": "O servidor pediu para aguardarmos um momento. Tente novamente em breve.",
|
||||
"err_rate_detail_seconds": "O servidor pediu para aguardarmos. Tente novamente em cerca de {seconds} segundos.",
|
||||
"err_rate_title": "Tentativas demais",
|
||||
@@ -487,6 +505,12 @@
|
||||
"know_server": "Sei o endereço do meu servidor",
|
||||
"known_server_desc": "Já conhecemos este servidor, então não há nada para configurar",
|
||||
"known_server_title": "Outra conta em {host}",
|
||||
"link_confirm_connect": "Um link pede para fazer login nesta página. Só continue se você usa {host} para o seu e-mail.",
|
||||
"link_confirm_connect_add": "Um link pede para adicionar uma conta fazendo login nesta página. Só continue se você usa {host} para o seu e-mail.",
|
||||
"link_confirm_connect_title": "Abrir a página de login de {host}?",
|
||||
"link_confirm_pair": "Este link faz login em uma conta de {host}. Só continue se você acabou de mostrar um código de login no computador.",
|
||||
"link_confirm_pair_add": "Este link adiciona uma conta de {host} e muda o aplicativo para ela. Só continue se você acabou de mostrar um código de login no computador.",
|
||||
"link_confirm_title": "Entrar com um link?",
|
||||
"looking_up": "Procurando seu servidor…",
|
||||
"manual": "Inserir os dados do servidor manualmente",
|
||||
"notice_bad_qr": "Esse código não é um código de login do Bulwark",
|
||||
@@ -505,6 +529,12 @@
|
||||
"pairing_detail": "Pareando este dispositivo com {host}…",
|
||||
"password_subtitle": "Sua senha é enviada apenas para este servidor e fica guardada no armazenamento seguro do dispositivo.",
|
||||
"password_title": "Entrar em {host}",
|
||||
"paste_button": "Colar",
|
||||
"paste_clipboard_empty": "Nada para colar. Copie o link no webmail primeiro.",
|
||||
"paste_hint": "No webmail, abra Configurações → Segurança → Vincular aplicativo móvel, copie o link de login e cole aqui.",
|
||||
"paste_invalid": "Isso não é um link de login do Bulwark",
|
||||
"paste_label": "Link de login",
|
||||
"paste_title": "Colar link de login",
|
||||
"provider_detail": "Você vai digitá-la na página deles. O Bulwark armazena apenas um token de login, que você pode revogar a qualquer momento.",
|
||||
"provider_title": "Sua senha fica com seu provedor",
|
||||
"qr_hint": "Configurações → Segurança → Vincular aplicativo móvel mostra um código. Aponte a câmera para ele.",
|
||||
@@ -515,6 +545,7 @@
|
||||
"server_hint": "O mesmo endereço que você digita no navegador. Adicionamos o https:// para você.",
|
||||
"server_label": "Endereço do servidor",
|
||||
"server_not_found": "Não encontramos um servidor para {domain}. Se você hospeda o seu próprio, o endereço é o que você usa para o webmail.",
|
||||
"server_paste_hint": "Tem um link de login? Cole aqui.",
|
||||
"server_scan_hint": "Se não tiver certeza, escaneie um código de login. Ele contém o endereço do servidor.",
|
||||
"server_subtitle": "Digite o endereço que você usa para acessar seu webmail.",
|
||||
"server_title": "Qual é o endereço do seu servidor?",
|
||||
|
||||
@@ -460,12 +460,19 @@
|
||||
"email_step_title": "Care este adresa dvs. de e-mail?",
|
||||
"email_step_title_add": "Care este cealaltă adresă?",
|
||||
"email_title": "Folosiți adresa mea de e-mail",
|
||||
"err_account_limit_detail": "Eliminați un cont din Setări pentru a adăuga altul.",
|
||||
"err_bad_detail": "Verificați adresa de e-mail și parola. Dacă contul dvs. folosește autentificarea în doi pași, creați o parolă pentru aplicații în webmail și folosiți-o aici.",
|
||||
"err_bad_title": "Nu a funcționat",
|
||||
"err_cert_detail": "Certificatul de securitate al serverului a fost respins. Dacă este serverul dvs., verificați dacă certificatul este valid și nu a expirat.",
|
||||
"err_cert_title": "Nu s-a putut verifica {host}",
|
||||
"err_code_expired_detail": "Codurile de autentificare sunt valabile câteva minute. Generați unul nou în webmail și scanați-l din nou.",
|
||||
"err_code_expired_detail": "Codurile de autentificare sunt valabile două minute. Afișați unul nou în webmail și scanați-l din nou.",
|
||||
"err_code_expired_or_used_detail": "Afișați unul nou în webmail și scanați-l din nou.",
|
||||
"err_code_expired_or_used_title": "Acest cod a expirat sau a fost deja folosit",
|
||||
"err_code_expired_title": "Acest cod a expirat",
|
||||
"err_code_invalid_detail": "Afișați un cod nou în webmail (Setări → Securitate → Aplicație mobilă) și scanați-l.",
|
||||
"err_code_invalid_title": "Acest cod nu este valid",
|
||||
"err_code_used_detail": "Fiecare cod funcționează o singură dată. Afișați unul nou în webmail și scanați-l din nou.",
|
||||
"err_code_used_title": "Acest cod a fost deja folosit",
|
||||
"err_generic_detail": "Ceva nu a funcționat. Încercați din nou.",
|
||||
"err_generic_title": "Autentificarea a eșuat",
|
||||
"err_interrupted_detail": "Răspunsul nu corespunde cererii pe care am inițiat-o. Încercați să vă autentificați din nou.",
|
||||
@@ -474,6 +481,17 @@
|
||||
"err_no_server_title": "Niciun server de e-mail la {host}",
|
||||
"err_no_webmail_detail": "Acest server nu are webmail Bulwark și nici autentificare OAuth. Folosiți în schimb o parolă (sau o parolă pentru aplicații).",
|
||||
"err_no_webmail_title": "Nicio pagină de autentificare la {host}",
|
||||
"err_pair_connect_detail": "Afișați un cod nou pe computer și scanați-l din nou.",
|
||||
"err_pair_connect_title": "Autentificat, dar nu se poate conecta la {host}",
|
||||
"err_pair_insecure_detail": "{host} vrea să folosească o conexiune necriptată.",
|
||||
"err_pair_network_detail": "Verificați conexiunea și dacă telefonul poate accesa webmailul, apoi încercați din nou.",
|
||||
"err_pair_rate_detail": "Așteptați un minut, apoi încercați din nou.",
|
||||
"err_pair_server_detail": "Încercați din nou cu un cod nou. Dacă tot nu funcționează, contactați administratorul.",
|
||||
"err_pair_server_title": "Webmailul nu a putut finaliza autentificarea",
|
||||
"err_pair_unsupported_detail": "{host} nu acceptă coduri de autentificare. Poate are nevoie de o actualizare sau linkul duce la o adresă greșită.",
|
||||
"err_pair_unsupported_title": "Acest webmail nu poate asocia dispozitive",
|
||||
"err_pair_untrusted_detail": "{host} a trimis date de autentificare pentru un server pe care aplicația nu îl poate verifica.",
|
||||
"err_pair_untrusted_title": "Această autentificare nu este de încredere",
|
||||
"err_rate_detail": "Serverul ne-a cerut să așteptăm puțin. Încercați din nou în scurt timp.",
|
||||
"err_rate_detail_seconds": "Serverul ne-a cerut să așteptăm. Încercați din nou în aproximativ {seconds, plural, one {# secundă} few {# secunde} other {# de secunde}}.",
|
||||
"err_rate_title": "Prea multe încercări",
|
||||
@@ -487,6 +505,12 @@
|
||||
"know_server": "Cunosc adresa serverului meu",
|
||||
"known_server_desc": "Cunoaștem deja acest server, deci nu este nimic de configurat",
|
||||
"known_server_title": "Alt cont pe {host}",
|
||||
"link_confirm_connect": "Un link cere autentificarea pe această pagină. Continuați doar dacă folosiți {host} pentru e-mail.",
|
||||
"link_confirm_connect_add": "Un link cere adăugarea unui cont prin autentificare pe această pagină. Continuați doar dacă folosiți {host} pentru e-mail.",
|
||||
"link_confirm_connect_title": "Deschideți pagina de autentificare a {host}?",
|
||||
"link_confirm_pair": "Acest link vă autentifică într-un cont de la {host}. Continuați doar dacă tocmai ați afișat un cod de autentificare pe computer.",
|
||||
"link_confirm_pair_add": "Acest link adaugă un cont de la {host} și comută aplicația pe el. Continuați doar dacă tocmai ați afișat un cod de autentificare pe computer.",
|
||||
"link_confirm_title": "Vă autentificați cu un link?",
|
||||
"looking_up": "Se caută serverul dvs.…",
|
||||
"manual": "Introduceți manual detaliile serverului",
|
||||
"notice_bad_qr": "Acesta nu este un cod de autentificare Bulwark",
|
||||
@@ -505,6 +529,12 @@
|
||||
"pairing_detail": "Se asociază acest dispozitiv cu {host}…",
|
||||
"password_subtitle": "Parola dvs. este trimisă doar către acest server și este stocată în spațiul securizat al dispozitivului.",
|
||||
"password_title": "Autentificare la {host}",
|
||||
"paste_button": "Lipiți",
|
||||
"paste_clipboard_empty": "Nu este nimic de lipit. Copiați mai întâi linkul din webmail.",
|
||||
"paste_hint": "În webmail, deschideți Setări → Securitate → Aplicație mobilă, copiați linkul de autentificare și lipiți-l aici.",
|
||||
"paste_invalid": "Acesta nu este un link de autentificare Bulwark",
|
||||
"paste_label": "Link de autentificare",
|
||||
"paste_title": "Lipiți linkul de autentificare",
|
||||
"provider_detail": "O veți introduce pe pagina lor. Bulwark stochează doar un token de autentificare, pe care îl puteți revoca oricând.",
|
||||
"provider_title": "Parola dvs. rămâne la furnizor",
|
||||
"qr_hint": "Setări → Securitate → Aplicație mobilă afișează un cod. Îndreptați camera spre el.",
|
||||
@@ -515,6 +545,7 @@
|
||||
"server_hint": "Aceeași adresă pe care o introduceți în browser. Adăugăm noi https://.",
|
||||
"server_label": "Adresa serverului",
|
||||
"server_not_found": "Nu am găsit un server pentru {domain}. Dacă îl găzduiți chiar dvs., adresa este cea pe care o folosiți pentru webmail.",
|
||||
"server_paste_hint": "Aveți în schimb un link de autentificare? Lipiți-l aici.",
|
||||
"server_scan_hint": "Dacă nu sunteți sigur, scanați în schimb un cod de autentificare. Acesta conține adresa serverului.",
|
||||
"server_subtitle": "Introduceți adresa pe care o folosiți pentru a accesa webmailul.",
|
||||
"server_title": "Care este adresa serverului dvs.?",
|
||||
|
||||