mobile: fix localization issues

This commit is contained in:
Ammar Ahmed
2024-11-27 13:55:41 +05:00
parent c19635b16a
commit 8e90adccab
18 changed files with 360 additions and 169 deletions

View File

@@ -460,7 +460,7 @@ export class VaultDialog extends Component {
async _deleteNote() {
try {
await db.vault.remove(this.state.note.id, this.password);
await deleteItems([this.state.note.id], "note");
await deleteItems("note", [this.state.note.id]);
this.close();
} catch (e) {
this._takeErrorAction(e);

View File

@@ -57,10 +57,7 @@ export const SectionHeader = React.memo<
}: SectionHeaderProps) {
const { colors } = useThemeColors();
const { fontScale } = useWindowDimensions();
const groupBy =
strings.groupByStrings[
groupOptions.groupBy as keyof typeof strings.groupByStrings
]?.();
const groupBy = strings.groupByStrings[groupOptions.groupBy]();
const isCompactModeEnabled = useIsCompactModeEnabled(
dataType as "note" | "notebook"
);

View File

@@ -18,6 +18,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
import { Item, ItemType, VirtualizedGrouping } from "@notesnook/core";
import { strings } from "@notesnook/intl";
import { useThemeColors } from "@notesnook/theme";
import React, { useEffect, useRef } from "react";
import {
@@ -46,7 +47,6 @@ import { MoveNotebookSheet } from "../sheets/move-notebook";
import { Button } from "../ui/button";
import { IconButton } from "../ui/icon-button";
import Heading from "../ui/typography/heading";
import { strings } from "@notesnook/intl";
export const SelectionHeader = React.memo(
({
@@ -103,12 +103,11 @@ export const SelectionHeader = React.memo(
const deleteItem = async () => {
if (!type) return;
presentDialog({
title: strings.doActions.delete[
type as keyof typeof strings.doActions.delete
](selectedItemsList.length),
paragraph: strings.actionConfirmations.delete[
type as keyof typeof strings.doActions.delete
](selectedItemsList.length),
title: strings.doActions.delete.unknown(type, selectedItemsList.length),
paragraph: strings.actionConfirmations.delete.unknown(
type,
selectedItemsList.length
),
positiveText: strings.delete(),
negativeText: strings.cancel(),
positivePress: async () => {
@@ -297,15 +296,35 @@ export const SelectionHeader = React.memo(
{
title: strings.moveToTrash(),
onPress: async () => {
deleteItems(
undefined,
useSelectionStore.getState().selectionMode
).then(() => {
useSelectionStore.getState().clearSelection();
useSelectionStore.getState().setSelectionMode(undefined);
});
const selection = useSelectionStore.getState();
if (!selection.selectionMode) return;
await deleteItems(
selection.selectionMode as ItemType,
selection.selectedItemsList
);
selection.clearSelection();
selection.setSelectionMode(undefined);
},
visible: type !== "trash",
visible: type === "note" || type === "notebook",
icon: "delete"
},
{
title: strings.doActions.delete.unknown(
type!,
selectedItemsList.length
),
onPress: async () => {
const selection = useSelectionStore.getState();
if (!selection.selectionMode) return;
await deleteItems(
selection.selectionMode as ItemType,
selection.selectedItemsList
);
selection.clearSelection();
selection.setSelectionMode(undefined);
},
visible:
type !== "trash" && type !== "note" && type !== "notebook",
icon: "delete"
},
{

View File

@@ -301,8 +301,8 @@ export const NotebookSheet = () => {
}}
onPress={async () => {
await deleteItems(
useItemSelectionStore.getState().getSelectedItemIds(),
"notebook"
"notebook",
useItemSelectionStore.getState().getSelectedItemIds()
);
useSelectionStore.getState().clearSelection();
useItemSelectionStore.setState({

View File

@@ -557,7 +557,7 @@ export default function ReminderSheet({
<Button
key={mode}
title={strings.reminderNotificationModes[
mode as keyof typeof strings.reminderNotificationModes
mode as keyof typeof ReminderNotificationModes
]()}
style={{
marginRight: 12,

View File

@@ -254,8 +254,8 @@ export const useActions = ({
item.type === "color"
) {
presentDialog({
title: strings.doActions.delete[item.type](1),
paragraph: strings.actionConfirmations.delete[item.type](1),
title: strings.doActions.delete.unknown(item.type, 1),
paragraph: strings.actionConfirmations.delete.unknown(item.type, 1),
positivePress: async () => {
if (item.type === "reminder") {
await db.reminders.remove(item.id);
@@ -290,7 +290,7 @@ export const useActions = ({
});
} else {
try {
await deleteItems([item.id], item.type);
await deleteItems(item.type, [item.id]);
} catch (e) {
console.error(e);
}
@@ -303,8 +303,8 @@ export const useActions = ({
close();
await sleep(300);
presentDialog({
title: strings.doActions.delete[item.itemType](1),
paragraph: strings.actionConfirmations.delete[item.itemType](1),
title: strings.doActions.delete.unknown(item.itemType, 1),
paragraph: strings.actionConfirmations.delete.unknown(item.itemType, 1),
positiveText: strings.delete(),
negativeText: strings.cancel(),
positivePress: async () => {
@@ -313,10 +313,7 @@ export const useActions = ({
Navigation.queueRoutesForUpdate();
useSelectionStore.getState().setSelectionMode(undefined);
ToastManager.show({
heading:
strings.actions.deleted[
item.itemType as keyof typeof strings.actions.deleted
](1),
heading: strings.actions.deleted.unknown(item.itemType, 1),
type: "success",
context: "local"
});
@@ -957,11 +954,10 @@ export const useActions = ({
id: "trash",
title:
item.type !== "notebook" && item.type !== "note"
? strings.doActions.delete[
item.type === "trash"
? item.itemType
: (item.type as keyof typeof strings.doActions.delete)
](1)
? strings.doActions.delete.unknown(
item.type === "trash" ? item.itemType : item.type,
1
)
: strings.moveToTrash(),
icon: "delete-outline",
type: "error",

View File

@@ -39,11 +39,7 @@
"@lingui/react": "4.11.2",
"@lingui/core": "4.11.2",
"react-native-check-version": "^1.3.0",
"react-native-material-menu": "^2.0.0",
"@trpc/client": "^10.45.2",
"@trpc/react-query": "^10.45.2",
"@trpc/server": "^10.45.2",
"@tanstack/react-query": "^4.36.1"
"react-native-material-menu": "^2.0.0"
},
"sideEffects": false
}

View File

@@ -52,7 +52,7 @@ export const Home = ({ navigation, route }: NavigationProps<"Notes">) => {
<SelectionHeader id={route.name} items={notes} type="note" />
<Header
renderedInRoute={route.name}
title={strings.routes[route.name as keyof typeof strings.routes]()}
title={strings.routes[route.name]()}
canGoBack={false}
hasSearch={true}
onSearch={() => {
@@ -72,9 +72,7 @@ export const Home = ({ navigation, route }: NavigationProps<"Notes">) => {
dataType="note"
renderedInRoute={route.name}
loading={loading || !isFocused}
headerTitle={strings.routes[
route.name as keyof typeof strings.routes
]?.()}
headerTitle={strings.routes[route.name]()}
placeholder={{
title: route.name?.toLowerCase(),
paragraph: strings.notesEmpty(),

View File

@@ -196,8 +196,7 @@ const NotesPage = ({
<Header
renderedInRoute={route.name}
title={
title ||
strings.routes[route.name as unknown as keyof typeof strings.routes]()
route.name === "Monographs" ? strings.routes[route.name]() : title
}
canGoBack={params?.current?.canGoBack}
hasSearch={true}

View File

@@ -57,7 +57,7 @@ export const HomePicker = createSettingsPicker({
});
},
formatValue: (item) => {
return strings.routes[typeof item === "object" ? item.name : item]();
return strings.routes[typeof item === "object" ? item.name : item]?.();
},
getItemKey: (item) => item.name,
options: MenuItemsList.slice(0, MenuItemsList.length - 1),

View File

@@ -32,7 +32,7 @@ export const STORE_LINK =
export const GROUP = {
default: "default",
None: "none",
none: "none",
abc: "abc",
year: "year",
week: "week",

View File

@@ -17,6 +17,8 @@ You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
import { ItemType } from "@notesnook/core";
import { strings } from "@notesnook/intl";
import { Linking } from "react-native";
import { db } from "../common/database";
import { presentDialog } from "../components/dialog/functions";
@@ -24,16 +26,18 @@ import { eSendEvent, ToastManager } from "../services/event-manager";
import Navigation from "../services/navigation";
import { useMenuStore } from "../stores/use-menu-store";
import { useRelationStore } from "../stores/use-relation-store";
import { useSelectionStore } from "../stores/use-selection-store";
import { useTagStore } from "../stores/use-tag-store";
import { eOnNotebookUpdated, eUpdateNoteInEditor } from "./events";
import { getParentNotebookId } from "./notebooks";
import { useTagStore } from "../stores/use-tag-store";
import { strings } from "@notesnook/intl";
function confirmDeleteAllNotes(items, type, context) {
return new Promise((resolve) => {
function confirmDeleteAllNotes(
items: string[],
type: "notebook",
context?: string
) {
return new Promise<{ delete: boolean; deleteNotes: boolean }>((resolve) => {
presentDialog({
title: strings.doActions.delete[type](items.length),
title: strings.doActions.delete.notebook(items.length),
positiveText: strings.delete(),
negativeText: strings.cancel(),
positivePress: (_inputValue, value) => {
@@ -43,22 +47,21 @@ function confirmDeleteAllNotes(items, type, context) {
},
onClose: () => {
setTimeout(() => {
resolve({ delete: false });
resolve({ delete: false, deleteNotes: false });
});
},
context: context,
check: {
info: `Move all notes in ${
items.length > 1 ? `these ${type}s` : `this ${type}`
} to trash`,
info: strings.deleteContainingNotes(items.length),
type: "transparent"
}
});
});
}
async function deleteNotebook(id, deleteNotes) {
async function deleteNotebook(id: string, deleteNotes: boolean) {
const notebook = await db.notebooks.notebook(id);
if (!notebook) return;
const parentId = getParentNotebookId(id);
if (deleteNotes) {
const noteRelations = await db.relations.from(notebook, "note").get();
@@ -74,14 +77,16 @@ async function deleteNotebook(id, deleteNotes) {
}
}
export const deleteItems = async (items, type, context) => {
const ids = items ? items : useSelectionStore.getState().selectedItemsList;
export const deleteItems = async (
type: ItemType,
itemIds: string[],
context?: string
) => {
if (type === "reminder") {
await db.reminders.remove(...ids);
await db.reminders.remove(...itemIds);
useRelationStore.getState().update();
} else if (type === "note") {
for (const id of ids) {
for (const id of itemIds) {
if (db.monographs.isPublished(id)) {
ToastManager.show({
heading: strings.someNotesPublished(),
@@ -104,20 +109,20 @@ export const deleteItems = async (items, type, context) => {
);
}
} else if (type === "notebook") {
const result = await confirmDeleteAllNotes(ids, "notebook", context);
const result = await confirmDeleteAllNotes(itemIds, "notebook", context);
if (!result.delete) return;
for (const id of ids) {
for (const id of itemIds) {
await deleteNotebook(id, result.deleteNotes);
eSendEvent(eOnNotebookUpdated, await getParentNotebookId(id));
}
} else if (type === "tag") {
presentDialog({
title: strings.doActions.delete.tag(ids.length),
title: strings.doActions.delete.tag(itemIds.length),
positiveText: strings.delete(),
negativeText: strings.cancel(),
paragraph: strings.actionConfirmations.delete.tag(2),
positivePress: async () => {
await db.tags.remove(...ids);
await db.tags.remove(...itemIds);
useTagStore.getState().refresh();
useRelationStore.getState().update();
},
@@ -126,9 +131,9 @@ export const deleteItems = async (items, type, context) => {
return;
}
let deletedIds = [...ids];
const deletedIds = [...itemIds];
if (type === "notebook" || type === "note") {
let message = strings.actions.movedToTrash[type](ids.length);
const message = strings.actions.movedToTrash[type](itemIds.length);
ToastManager.show({
heading: message,
type: "success",
@@ -148,28 +153,21 @@ export const deleteItems = async (items, type, context) => {
});
} else {
ToastManager.show({
heading: strings.deleted(type, ids.length),
heading: strings.actions.deleted.unknown(type, itemIds.length),
type: "success"
});
}
Navigation.queueRoutesForUpdate();
if (!items) {
useSelectionStore.getState().clearSelection();
}
useMenuStore.getState().setColorNotes();
if (type === "notebook") {
ids.forEach(async (id) => {
itemIds.forEach(async (id) => {
eSendEvent(eOnNotebookUpdated, await getParentNotebookId(id));
});
useMenuStore.getState().setMenuPins();
}
};
export const openLinkInBrowser = async (link) => {
try {
Linking.openURL(link);
} catch (error) {
console.log(error.message);
}
export const openLinkInBrowser = async (link: string) => {
Linking.openURL(link);
};

View File

@@ -1,12 +1,12 @@
{
"name": "@notesnook/mobile",
"version": "3.0.22",
"version": "3.0.23",
"lockfileVersion": 3,
"requires": true,
"packages": {
"": {
"name": "@notesnook/mobile",
"version": "3.0.22",
"version": "3.0.23",
"hasInstallScript": true,
"license": "GPL-3.0-or-later",
"workspaces": [
@@ -22,6 +22,10 @@
"@notesnook/logger": "file:../../packages/logger",
"@notesnook/theme": "file:../../packages/theme",
"@notesnook/themes-server": "file:../../servers/themes",
"@tanstack/react-query": "^4.36.1",
"@trpc/client": "^10.45.2",
"@trpc/react-query": "^10.45.2",
"@trpc/server": "^10.45.2",
"diffblazer": "^1.0.1",
"react": "18.2.0",
"react-native": "0.74.5"
@@ -28895,10 +28899,6 @@
"@readme/data-urls": "3.0.0",
"@streetwriters/kysely": "^0.27.4",
"@streetwriters/showdown": "^3.0.1-alpha.2",
"@tanstack/react-query": "^4.36.1",
"@trpc/client": "^10.45.2",
"@trpc/react-query": "^10.45.2",
"@trpc/server": "^10.45.2",
"absolutify": "^0.1.0",
"buffer": "^6.0.3",
"dayjs": "^1.10.4",

View File

@@ -45,6 +45,10 @@
"@notesnook/themes-server": "file:../../servers/themes",
"diffblazer": "^1.0.1",
"react": "18.2.0",
"react-native": "0.74.5"
"react-native": "0.74.5",
"@trpc/client": "^10.45.2",
"@trpc/react-query": "^10.45.2",
"@trpc/server": "^10.45.2",
"@tanstack/react-query": "^4.36.1"
}
}
}

View File

@@ -70,6 +70,7 @@ msgid "{count, plural, one {Are you sure you want to delete this color?} other {
msgstr "{count, plural, one {Are you sure you want to delete this color?} other {Are you sure you to delete these colors?}}"
#: generated/action-confirmations.ts:12
#: generated/action-confirmations.ts:53
msgid "{count, plural, one {Are you sure you want to delete this item?} other {Are you sure you to delete these items?}}"
msgstr "{count, plural, one {Are you sure you want to delete this item?} other {Are you sure you to delete these items?}}"
@@ -97,11 +98,15 @@ msgstr "{count, plural, one {Are you sure you want to download all attachments o
msgid "{count, plural, one {Are you sure you want to move this notebook to {selectedNotebookTitle}?} other {Are you sure you want to move these # notebooks {selectedNotebookTitle}?}}"
msgstr "{count, plural, one {Are you sure you want to move this notebook to {selectedNotebookTitle}?} other {Are you sure you want to move these # notebooks {selectedNotebookTitle}?}}"
#: generated/action-confirmations.ts:38
#: generated/action-confirmations.ts:76
msgid "{count, plural, one {Are you sure you want to permanently delete this item?} other {Are you sure you to permanently delete these items?}}"
msgstr "{count, plural, one {Are you sure you want to permanently delete this item?} other {Are you sure you to permanently delete these items?}}"
#: generated/action-confirmations.ts:61
msgid "{count, plural, one {Are you sure you want to permanently delete this note?} other {Are you sure you to permanently delete these notes?}}"
msgstr "{count, plural, one {Are you sure you want to permanently delete this note?} other {Are you sure you to permanently delete these notes?}}"
#: generated/action-confirmations.ts:42
#: generated/action-confirmations.ts:65
msgid "{count, plural, one {Are you sure you want to permanently delete this notebook?} other {Are you sure you to permanently delete these notebooks?}}"
msgstr "{count, plural, one {Are you sure you want to permanently delete this notebook?} other {Are you sure you to permanently delete these notebooks?}}"
@@ -117,7 +122,7 @@ msgstr "{count, plural, one {Attachment deleted} other {# attachments deleted}}"
msgid "{count, plural, one {Attachment downloaded at {path}} other {#/{total} attachments downloaded as a zip file at {path}}}"
msgstr "{count, plural, one {Attachment downloaded at {path}} other {#/{total} attachments downloaded as a zip file at {path}}}"
#: generated/actions.ts:96
#: generated/actions.ts:210
msgid "{count, plural, one {Color renamed} other {# colors renamed}}"
msgstr "{count, plural, one {Color renamed} other {# colors renamed}}"
@@ -130,6 +135,7 @@ msgid "{count, plural, one {Delete color} other {Delete # colors}}"
msgstr "{count, plural, one {Delete color} other {Delete # colors}}"
#: generated/do-actions.ts:12
#: generated/do-actions.ts:53
msgid "{count, plural, one {Delete item} other {Delete # items}}"
msgstr "{count, plural, one {Delete item} other {Delete # items}}"
@@ -153,6 +159,10 @@ msgstr "{count, plural, one {Delete tag} other {Delete # tags}}"
msgid "{count, plural, one {Deleting attachment...} other {Deleting # attachments...}}"
msgstr "{count, plural, one {Deleting attachment...} other {Deleting # attachments...}}"
#: generated/in-progress-actions.ts:41
msgid "{count, plural, one {Deleting item...} other {Deleting # items...}}"
msgstr "{count, plural, one {Deleting item...} other {Deleting # items...}}"
#: generated/in-progress-actions.ts:8
msgid "{count, plural, one {Deleting note...} other {Deleting # notes...}}"
msgstr "{count, plural, one {Deleting note...} other {Deleting # notes...}}"
@@ -169,19 +179,27 @@ msgstr "{count, plural, one {Deleting reminder...} other {Deleting # reminders..
msgid "{count, plural, one {Deleting tag...} other {Deleting # tags...}}"
msgstr "{count, plural, one {Deleting tag...} other {Deleting # tags...}}"
#: generated/do-actions.ts:132
#: generated/do-actions.ts:274
msgid "{count, plural, one {Download attachment} other {Download # attachments}}"
msgstr "{count, plural, one {Download attachment} other {Download # attachments}}"
#: generated/do-actions.ts:94
#: generated/do-actions.ts:283
msgid "{count, plural, one {Download item} other {Download # items}}"
msgstr "{count, plural, one {Download item} other {Download # items}}"
#: generated/do-actions.ts:208
msgid "{count, plural, one {Edit item} other {Edit # items}}"
msgstr "{count, plural, one {Edit item} other {Edit # items}}"
#: generated/do-actions.ts:191
msgid "{count, plural, one {Edit notebook} other {Edit # notebooks}}"
msgstr "{count, plural, one {Edit notebook} other {Edit # notebooks}}"
#: generated/do-actions.ts:98
#: generated/do-actions.ts:195
msgid "{count, plural, one {Edit reminder} other {Edit # reminders}}"
msgstr "{count, plural, one {Edit reminder} other {Edit # reminders}}"
#: generated/do-actions.ts:90
#: generated/do-actions.ts:187
msgid "{count, plural, one {Edit tag} other {Edit # tags}}"
msgstr "{count, plural, one {Edit tag} other {Edit # tags}}"
@@ -189,10 +207,51 @@ msgstr "{count, plural, one {Edit tag} other {Edit # tags}}"
msgid "{count, plural, one {Failed to download attachment} other {Failed to download # attachments}}"
msgstr "{count, plural, one {Failed to download attachment} other {Failed to download # attachments}}"
#: generated/actions.ts:66
#: generated/action-errors.ts:34
msgid "{count, plural, one {Item could not be published} other {# items could not be published}}"
msgstr "{count, plural, one {Item could not be published} other {# items could not be published}}"
#: generated/action-errors.ts:17
msgid "{count, plural, one {Item could not be unpublished} other {# items could not be unpublished}}"
msgstr "{count, plural, one {Item could not be unpublished} other {# items could not be unpublished}}"
#: generated/actions.ts:202
msgid "{count, plural, one {Item created} other {# items created}}"
msgstr "{count, plural, one {Item created} other {# items created}}"
#: generated/actions.ts:41
msgid "{count, plural, one {Item deleted} other {# items deleted}}"
msgstr "{count, plural, one {Item deleted} other {# items deleted}}"
#: generated/actions.ts:173
msgid "{count, plural, one {Item edited} other {# items edited}}"
msgstr "{count, plural, one {Item edited} other {# items edited}}"
#: generated/actions.ts:64
msgid "{count, plural, one {Item moved to trash} other {# items moved to trash}}"
msgstr "{count, plural, one {Item moved to trash} other {# items moved to trash}}"
#: generated/actions.ts:87
msgid "{count, plural, one {Item permanently deleted} other {# items permanently deleted}}"
msgstr "{count, plural, one {Item permanently deleted} other {# items permanently deleted}}"
#: generated/actions.ts:104
msgid "{count, plural, one {Item published} other {# items published}}"
msgstr "{count, plural, one {Item published} other {# items published}}"
#: generated/actions.ts:219
msgid "{count, plural, one {Item renamed} other {# items renamed}}"
msgstr "{count, plural, one {Item renamed} other {# items renamed}}"
#: generated/actions.ts:137
#: generated/actions.ts:150
msgid "{count, plural, one {Item restored} other {# items restored}}"
msgstr "{count, plural, one {Item restored} other {# items restored}}"
#: generated/actions.ts:121
msgid "{count, plural, one {Item unpublished} other {# items unpublished}}"
msgstr "{count, plural, one {Item unpublished} other {# items unpublished}}"
#: src/strings.ts:2382
msgid "{count, plural, one {Move all notes in this notebook to trash} other {Move all notes in these notebooks to trash}}"
msgstr "{count, plural, one {Move all notes in this notebook to trash} other {Move all notes in these notebooks to trash}}"
@@ -205,7 +264,7 @@ msgstr "{count, plural, one {Move notebook} other {Move # notebooks}}"
msgid "{count, plural, one {Moving {title}} other {Moving # notebooks}}"
msgstr "{count, plural, one {Moving {title}} other {Moving # notebooks}}"
#: generated/action-errors.ts:14
#: generated/action-errors.ts:25
msgid "{count, plural, one {Note could not be published} other {# notes could not be published}}"
msgstr "{count, plural, one {Note could not be published} other {# notes could not be published}}"
@@ -221,23 +280,23 @@ msgstr "{count, plural, one {Note deleted} other {# notes deleted}}"
msgid "{count, plural, one {Note exported} other {# notes exported}}"
msgstr "{count, plural, one {Note exported} other {# notes exported}}"
#: generated/actions.ts:26
#: generated/actions.ts:49
msgid "{count, plural, one {Note moved to trash} other {# notes moved to trash}}"
msgstr "{count, plural, one {Note moved to trash} other {# notes moved to trash}}"
#: generated/actions.ts:36
#: generated/actions.ts:72
msgid "{count, plural, one {Note permanently deleted} other {# notes permanently deleted}}"
msgstr "{count, plural, one {Note permanently deleted} other {# notes permanently deleted}}"
#: generated/actions.ts:46
#: generated/actions.ts:95
msgid "{count, plural, one {Note published} other {# notes published}}"
msgstr "{count, plural, one {Note published} other {# notes published}}"
#: generated/actions.ts:58
#: generated/actions.ts:129
msgid "{count, plural, one {Note restored} other {# notes restored}}"
msgstr "{count, plural, one {Note restored} other {# notes restored}}"
#: generated/actions.ts:52
#: generated/actions.ts:112
msgid "{count, plural, one {Note unpublished} other {# notes unpublished}}"
msgstr "{count, plural, one {Note unpublished} other {# notes unpublished}}"
@@ -249,39 +308,48 @@ msgstr "{count, plural, one {Note will be automatically deleted from all other d
msgid "{count, plural, one {note} other {# notes}}"
msgstr "{count, plural, one {note} other {# notes}}"
#: generated/actions.ts:82
#: generated/actions.ts:181
msgid "{count, plural, one {Notebook created} other {# notebooks created}}"
msgstr "{count, plural, one {Notebook created} other {# notebooks created}}"
#: generated/actions.ts:76
#: generated/actions.ts:24
msgid "{count, plural, one {Notebook deleted} other {# notebooks deleted}}"
msgstr "{count, plural, one {Notebook deleted} other {# notebooks deleted}}"
#: generated/actions.ts:162
msgid "{count, plural, one {Notebook edited} other {# notebooks edited}}"
msgstr "{count, plural, one {Notebook edited} other {# notebooks edited}}"
#: generated/actions.ts:30
#: generated/actions.ts:53
msgid "{count, plural, one {Notebook moved to trash} other {# notebooks moved to trash}}"
msgstr "{count, plural, one {Notebook moved to trash} other {# notebooks moved to trash}}"
#: generated/actions.ts:40
#: generated/actions.ts:76
msgid "{count, plural, one {Notebook permanently deleted} other {# notebooks permanently deleted}}"
msgstr "{count, plural, one {Notebook permanently deleted} other {# notebooks permanently deleted}}"
#: generated/actions.ts:62
#: generated/actions.ts:133
msgid "{count, plural, one {Notebook restored} other {# notebooks restored}}"
msgstr "{count, plural, one {Notebook restored} other {# notebooks restored}}"
#: generated/do-actions.ts:70
#: generated/do-actions.ts:141
msgid "{count, plural, one {Permanently delete attachment} other {Permanently delete # attachments}}"
msgstr "{count, plural, one {Permanently delete attachment} other {Permanently delete # attachments}}"
#: generated/do-actions.ts:74
#: generated/do-actions.ts:145
#: generated/do-actions.ts:156
msgid "{count, plural, one {Permanently delete item} other {Permanently delete # items}}"
msgstr "{count, plural, one {Permanently delete item} other {Permanently delete # items}}"
#: generated/do-actions.ts:48
#: generated/do-actions.ts:99
msgid "{count, plural, one {Pin item} other {Pin # items}}"
msgstr "{count, plural, one {Pin item} other {Pin # items}}"
#: generated/do-actions.ts:84
msgid "{count, plural, one {Pin note} other {Pin # notes}}"
msgstr "{count, plural, one {Pin note} other {Pin # notes}}"
#: generated/do-actions.ts:52
#: generated/do-actions.ts:88
msgid "{count, plural, one {Pin notebook} other {Pin # notebooks}}"
msgstr "{count, plural, one {Pin notebook} other {Pin # notebooks}}"
@@ -289,7 +357,11 @@ msgstr "{count, plural, one {Pin notebook} other {Pin # notebooks}}"
msgid "{count, plural, one {Prevent note from syncing} other {Prevent # notes from syncing}}"
msgstr "{count, plural, one {Prevent note from syncing} other {Prevent # notes from syncing}}"
#: generated/do-actions.ts:64
#: generated/do-actions.ts:133
msgid "{count, plural, one {Publish item} other {Publish # items}}"
msgstr "{count, plural, one {Publish item} other {Publish # items}}"
#: generated/do-actions.ts:124
msgid "{count, plural, one {Publish note} other {Publish # notes}}"
msgstr "{count, plural, one {Publish note} other {Publish # notes}}"
@@ -297,43 +369,55 @@ msgstr "{count, plural, one {Publish note} other {Publish # notes}}"
msgid "{count, plural, one {Reminder deleted} other {# reminders deleted}}"
msgstr "{count, plural, one {Reminder deleted} other {# reminders deleted}}"
#: generated/do-actions.ts:126
#: generated/do-actions.ts:253
msgid "{count, plural, one {Remove attachment} other {Remove # attachments}}"
msgstr "{count, plural, one {Remove attachment} other {Remove # attachments}}"
#: generated/do-actions.ts:122
#: generated/do-actions.ts:249
msgid "{count, plural, one {Remove color} other {Remove # colors}}"
msgstr "{count, plural, one {Remove color} other {Remove # colors}}"
#: generated/do-actions.ts:118
#: generated/do-actions.ts:266
msgid "{count, plural, one {Remove item} other {Remove # items}}"
msgstr "{count, plural, one {Remove item} other {Remove # items}}"
#: generated/do-actions.ts:245
msgid "{count, plural, one {Remove shortcut} other {Remove # shortcuts}}"
msgstr "{count, plural, one {Remove shortcut} other {Remove # shortcuts}}"
#: generated/do-actions.ts:104
#: generated/do-actions.ts:216
msgid "{count, plural, one {Rename attachment} other {Rename # attachments}}"
msgstr "{count, plural, one {Rename attachment} other {Rename # attachments}}"
#: generated/do-actions.ts:108
#: generated/do-actions.ts:220
msgid "{count, plural, one {Rename color} other {Rename # colors}}"
msgstr "{count, plural, one {Rename color} other {Rename # colors}}"
#: generated/do-actions.ts:112
#: generated/do-actions.ts:237
msgid "{count, plural, one {Rename item} other {Rename # items}}"
msgstr "{count, plural, one {Rename item} other {Rename # items}}"
#: generated/do-actions.ts:224
msgid "{count, plural, one {Rename tag} other {Rename # tags}}"
msgstr "{count, plural, one {Rename tag} other {Rename # tags}}"
#: generated/do-actions.ts:80
#: generated/do-actions.ts:179
msgid "{count, plural, one {Restore item} other {Restore # items}}"
msgstr "{count, plural, one {Restore item} other {Restore # items}}"
#: generated/do-actions.ts:164
msgid "{count, plural, one {Restore note} other {Restore # notes}}"
msgstr "{count, plural, one {Restore note} other {Restore # notes}}"
#: generated/do-actions.ts:84
#: generated/do-actions.ts:168
msgid "{count, plural, one {Restore notebook} other {Restore # notebooks}}"
msgstr "{count, plural, one {Restore notebook} other {Restore # notebooks}}"
#: generated/actions.ts:90
#: generated/actions.ts:189
msgid "{count, plural, one {Shortcut created} other {# shortcuts created}}"
msgstr "{count, plural, one {Shortcut created} other {# shortcuts created}}"
#: generated/actions.ts:86
#: generated/actions.ts:185
msgid "{count, plural, one {Tag created} other {# tags created}}"
msgstr "{count, plural, one {Tag created} other {# tags created}}"
@@ -341,19 +425,27 @@ msgstr "{count, plural, one {Tag created} other {# tags created}}"
msgid "{count, plural, one {Tag deleted} other {# tags deleted}}"
msgstr "{count, plural, one {Tag deleted} other {# tags deleted}}"
#: generated/actions.ts:72
#: generated/actions.ts:158
msgid "{count, plural, one {Tag edited} other {# tags edited}}"
msgstr "{count, plural, one {Tag edited} other {# tags edited}}"
#: generated/do-actions.ts:38
#: generated/do-actions.ts:76
msgid "{count, plural, one {Unpin item} other {Unpin # items}}"
msgstr "{count, plural, one {Unpin item} other {Unpin # items}}"
#: generated/do-actions.ts:61
msgid "{count, plural, one {Unpin note} other {Unpin # notes}}"
msgstr "{count, plural, one {Unpin note} other {Unpin # notes}}"
#: generated/do-actions.ts:42
#: generated/do-actions.ts:65
msgid "{count, plural, one {Unpin notebook} other {Unpin # notebooks}}"
msgstr "{count, plural, one {Unpin notebook} other {Unpin # notebooks}}"
#: generated/do-actions.ts:58
#: generated/do-actions.ts:116
msgid "{count, plural, one {Unpublish item} other {Unpublish # items}}"
msgstr "{count, plural, one {Unpublish item} other {Unpublish # items}}"
#: generated/do-actions.ts:107
msgid "{count, plural, one {Unpublish note} other {Unpublish # notes}}"
msgstr "{count, plural, one {Unpublish note} other {Unpublish # notes}}"

View File

@@ -70,6 +70,7 @@ msgid "{count, plural, one {Are you sure you want to delete this color?} other {
msgstr ""
#: generated/action-confirmations.ts:12
#: generated/action-confirmations.ts:53
msgid "{count, plural, one {Are you sure you want to delete this item?} other {Are you sure you to delete these items?}}"
msgstr ""
@@ -97,11 +98,15 @@ msgstr ""
msgid "{count, plural, one {Are you sure you want to move this notebook to {selectedNotebookTitle}?} other {Are you sure you want to move these # notebooks {selectedNotebookTitle}?}}"
msgstr ""
#: generated/action-confirmations.ts:38
#: generated/action-confirmations.ts:76
msgid "{count, plural, one {Are you sure you want to permanently delete this item?} other {Are you sure you to permanently delete these items?}}"
msgstr ""
#: generated/action-confirmations.ts:61
msgid "{count, plural, one {Are you sure you want to permanently delete this note?} other {Are you sure you to permanently delete these notes?}}"
msgstr ""
#: generated/action-confirmations.ts:42
#: generated/action-confirmations.ts:65
msgid "{count, plural, one {Are you sure you want to permanently delete this notebook?} other {Are you sure you to permanently delete these notebooks?}}"
msgstr ""
@@ -117,7 +122,7 @@ msgstr ""
msgid "{count, plural, one {Attachment downloaded at {path}} other {#/{total} attachments downloaded as a zip file at {path}}}"
msgstr ""
#: generated/actions.ts:96
#: generated/actions.ts:210
msgid "{count, plural, one {Color renamed} other {# colors renamed}}"
msgstr ""
@@ -130,6 +135,7 @@ msgid "{count, plural, one {Delete color} other {Delete # colors}}"
msgstr ""
#: generated/do-actions.ts:12
#: generated/do-actions.ts:53
msgid "{count, plural, one {Delete item} other {Delete # items}}"
msgstr ""
@@ -153,6 +159,10 @@ msgstr ""
msgid "{count, plural, one {Deleting attachment...} other {Deleting # attachments...}}"
msgstr ""
#: generated/in-progress-actions.ts:41
msgid "{count, plural, one {Deleting item...} other {Deleting # items...}}"
msgstr ""
#: generated/in-progress-actions.ts:8
msgid "{count, plural, one {Deleting note...} other {Deleting # notes...}}"
msgstr ""
@@ -169,19 +179,27 @@ msgstr ""
msgid "{count, plural, one {Deleting tag...} other {Deleting # tags...}}"
msgstr ""
#: generated/do-actions.ts:132
#: generated/do-actions.ts:274
msgid "{count, plural, one {Download attachment} other {Download # attachments}}"
msgstr ""
#: generated/do-actions.ts:94
#: generated/do-actions.ts:283
msgid "{count, plural, one {Download item} other {Download # items}}"
msgstr ""
#: generated/do-actions.ts:208
msgid "{count, plural, one {Edit item} other {Edit # items}}"
msgstr ""
#: generated/do-actions.ts:191
msgid "{count, plural, one {Edit notebook} other {Edit # notebooks}}"
msgstr ""
#: generated/do-actions.ts:98
#: generated/do-actions.ts:195
msgid "{count, plural, one {Edit reminder} other {Edit # reminders}}"
msgstr ""
#: generated/do-actions.ts:90
#: generated/do-actions.ts:187
msgid "{count, plural, one {Edit tag} other {Edit # tags}}"
msgstr ""
@@ -189,10 +207,51 @@ msgstr ""
msgid "{count, plural, one {Failed to download attachment} other {Failed to download # attachments}}"
msgstr ""
#: generated/actions.ts:66
#: generated/action-errors.ts:34
msgid "{count, plural, one {Item could not be published} other {# items could not be published}}"
msgstr ""
#: generated/action-errors.ts:17
msgid "{count, plural, one {Item could not be unpublished} other {# items could not be unpublished}}"
msgstr ""
#: generated/actions.ts:202
msgid "{count, plural, one {Item created} other {# items created}}"
msgstr ""
#: generated/actions.ts:41
msgid "{count, plural, one {Item deleted} other {# items deleted}}"
msgstr ""
#: generated/actions.ts:173
msgid "{count, plural, one {Item edited} other {# items edited}}"
msgstr ""
#: generated/actions.ts:64
msgid "{count, plural, one {Item moved to trash} other {# items moved to trash}}"
msgstr ""
#: generated/actions.ts:87
msgid "{count, plural, one {Item permanently deleted} other {# items permanently deleted}}"
msgstr ""
#: generated/actions.ts:104
msgid "{count, plural, one {Item published} other {# items published}}"
msgstr ""
#: generated/actions.ts:219
msgid "{count, plural, one {Item renamed} other {# items renamed}}"
msgstr ""
#: generated/actions.ts:137
#: generated/actions.ts:150
msgid "{count, plural, one {Item restored} other {# items restored}}"
msgstr ""
#: generated/actions.ts:121
msgid "{count, plural, one {Item unpublished} other {# items unpublished}}"
msgstr ""
#: src/strings.ts:2382
msgid "{count, plural, one {Move all notes in this notebook to trash} other {Move all notes in these notebooks to trash}}"
msgstr ""
@@ -205,7 +264,7 @@ msgstr ""
msgid "{count, plural, one {Moving {title}} other {Moving # notebooks}}"
msgstr ""
#: generated/action-errors.ts:14
#: generated/action-errors.ts:25
msgid "{count, plural, one {Note could not be published} other {# notes could not be published}}"
msgstr ""
@@ -221,23 +280,23 @@ msgstr ""
msgid "{count, plural, one {Note exported} other {# notes exported}}"
msgstr ""
#: generated/actions.ts:26
#: generated/actions.ts:49
msgid "{count, plural, one {Note moved to trash} other {# notes moved to trash}}"
msgstr ""
#: generated/actions.ts:36
#: generated/actions.ts:72
msgid "{count, plural, one {Note permanently deleted} other {# notes permanently deleted}}"
msgstr ""
#: generated/actions.ts:46
#: generated/actions.ts:95
msgid "{count, plural, one {Note published} other {# notes published}}"
msgstr ""
#: generated/actions.ts:58
#: generated/actions.ts:129
msgid "{count, plural, one {Note restored} other {# notes restored}}"
msgstr ""
#: generated/actions.ts:52
#: generated/actions.ts:112
msgid "{count, plural, one {Note unpublished} other {# notes unpublished}}"
msgstr ""
@@ -249,39 +308,48 @@ msgstr ""
msgid "{count, plural, one {note} other {# notes}}"
msgstr ""
#: generated/actions.ts:82
#: generated/actions.ts:181
msgid "{count, plural, one {Notebook created} other {# notebooks created}}"
msgstr ""
#: generated/actions.ts:76
#: generated/actions.ts:24
msgid "{count, plural, one {Notebook deleted} other {# notebooks deleted}}"
msgstr ""
#: generated/actions.ts:162
msgid "{count, plural, one {Notebook edited} other {# notebooks edited}}"
msgstr ""
#: generated/actions.ts:30
#: generated/actions.ts:53
msgid "{count, plural, one {Notebook moved to trash} other {# notebooks moved to trash}}"
msgstr ""
#: generated/actions.ts:40
#: generated/actions.ts:76
msgid "{count, plural, one {Notebook permanently deleted} other {# notebooks permanently deleted}}"
msgstr ""
#: generated/actions.ts:62
#: generated/actions.ts:133
msgid "{count, plural, one {Notebook restored} other {# notebooks restored}}"
msgstr ""
#: generated/do-actions.ts:70
#: generated/do-actions.ts:141
msgid "{count, plural, one {Permanently delete attachment} other {Permanently delete # attachments}}"
msgstr ""
#: generated/do-actions.ts:74
#: generated/do-actions.ts:145
#: generated/do-actions.ts:156
msgid "{count, plural, one {Permanently delete item} other {Permanently delete # items}}"
msgstr ""
#: generated/do-actions.ts:48
#: generated/do-actions.ts:99
msgid "{count, plural, one {Pin item} other {Pin # items}}"
msgstr ""
#: generated/do-actions.ts:84
msgid "{count, plural, one {Pin note} other {Pin # notes}}"
msgstr ""
#: generated/do-actions.ts:52
#: generated/do-actions.ts:88
msgid "{count, plural, one {Pin notebook} other {Pin # notebooks}}"
msgstr ""
@@ -289,7 +357,11 @@ msgstr ""
msgid "{count, plural, one {Prevent note from syncing} other {Prevent # notes from syncing}}"
msgstr ""
#: generated/do-actions.ts:64
#: generated/do-actions.ts:133
msgid "{count, plural, one {Publish item} other {Publish # items}}"
msgstr ""
#: generated/do-actions.ts:124
msgid "{count, plural, one {Publish note} other {Publish # notes}}"
msgstr ""
@@ -297,43 +369,55 @@ msgstr ""
msgid "{count, plural, one {Reminder deleted} other {# reminders deleted}}"
msgstr ""
#: generated/do-actions.ts:126
#: generated/do-actions.ts:253
msgid "{count, plural, one {Remove attachment} other {Remove # attachments}}"
msgstr ""
#: generated/do-actions.ts:122
#: generated/do-actions.ts:249
msgid "{count, plural, one {Remove color} other {Remove # colors}}"
msgstr ""
#: generated/do-actions.ts:118
#: generated/do-actions.ts:266
msgid "{count, plural, one {Remove item} other {Remove # items}}"
msgstr ""
#: generated/do-actions.ts:245
msgid "{count, plural, one {Remove shortcut} other {Remove # shortcuts}}"
msgstr ""
#: generated/do-actions.ts:104
#: generated/do-actions.ts:216
msgid "{count, plural, one {Rename attachment} other {Rename # attachments}}"
msgstr ""
#: generated/do-actions.ts:108
#: generated/do-actions.ts:220
msgid "{count, plural, one {Rename color} other {Rename # colors}}"
msgstr ""
#: generated/do-actions.ts:112
#: generated/do-actions.ts:237
msgid "{count, plural, one {Rename item} other {Rename # items}}"
msgstr ""
#: generated/do-actions.ts:224
msgid "{count, plural, one {Rename tag} other {Rename # tags}}"
msgstr ""
#: generated/do-actions.ts:80
#: generated/do-actions.ts:179
msgid "{count, plural, one {Restore item} other {Restore # items}}"
msgstr ""
#: generated/do-actions.ts:164
msgid "{count, plural, one {Restore note} other {Restore # notes}}"
msgstr ""
#: generated/do-actions.ts:84
#: generated/do-actions.ts:168
msgid "{count, plural, one {Restore notebook} other {Restore # notebooks}}"
msgstr ""
#: generated/actions.ts:90
#: generated/actions.ts:189
msgid "{count, plural, one {Shortcut created} other {# shortcuts created}}"
msgstr ""
#: generated/actions.ts:86
#: generated/actions.ts:185
msgid "{count, plural, one {Tag created} other {# tags created}}"
msgstr ""
@@ -341,19 +425,27 @@ msgstr ""
msgid "{count, plural, one {Tag deleted} other {# tags deleted}}"
msgstr ""
#: generated/actions.ts:72
#: generated/actions.ts:158
msgid "{count, plural, one {Tag edited} other {# tags edited}}"
msgstr ""
#: generated/do-actions.ts:38
#: generated/do-actions.ts:76
msgid "{count, plural, one {Unpin item} other {Unpin # items}}"
msgstr ""
#: generated/do-actions.ts:61
msgid "{count, plural, one {Unpin note} other {Unpin # notes}}"
msgstr ""
#: generated/do-actions.ts:42
#: generated/do-actions.ts:65
msgid "{count, plural, one {Unpin notebook} other {Unpin # notebooks}}"
msgstr ""
#: generated/do-actions.ts:58
#: generated/do-actions.ts:116
msgid "{count, plural, one {Unpublish item} other {Unpublish # items}}"
msgstr ""
#: generated/do-actions.ts:107
msgid "{count, plural, one {Unpublish note} other {Unpublish # notes}}"
msgstr ""

View File

@@ -73,7 +73,7 @@ const ACTIONS = [
{
action: "deleted",
label: "deleted",
dataTypes: ["attachment", "reminder", "tag", "note"]
dataTypes: ["attachment", "reminder", "tag", "note", "notebook"]
},
{
action: "movedToTrash",

View File

@@ -647,7 +647,7 @@ $headline$: Use starting line of the note as title.`,
},
groupByStrings: {
default: () => t`Default`,
None: () => t`None`,
none: () => t`None`,
abc: () => t`Abc`,
year: () => t`Year`,
week: () => t`Week`,