fix: address board grid review

This commit is contained in:
Thomas Camlong authored and ajnart committed 2026-08-14 11:07:06 +02:00
1 parent cddae6719e
commit 28ac23e66b
51 files changed
+647 -278

No files matched your search

+35 -38
View File
@@ -925,24 +925,24 @@ export const boardRouter = createTRPCRouter({
})),
);
if (addedSections.some((section) => section.kind === "container")) {
await transaction.insert(schema.sectionLayouts).values(
addedSections
.filter((section) => section.kind === "container")
.flatMap((section) =>
section.layouts.map(
(sectionLayout): InferInsertModel<typeof schema.sectionLayouts> => ({
layoutId: sectionLayout.layoutId,
sectionId: section.id,
parentSectionId: sectionLayout.parentSectionId,
height: sectionLayout.height,
width: sectionLayout.width,
xOffset: sectionLayout.xOffset,
yOffset: sectionLayout.yOffset,
}),
),
),
const sectionLayoutsToInsert = addedSections
.filter((section) => section.kind === "container")
.flatMap((section) =>
section.layouts.map(
(sectionLayout): InferInsertModel<typeof schema.sectionLayouts> => ({
layoutId: sectionLayout.layoutId,
sectionId: section.id,
parentSectionId: sectionLayout.parentSectionId,
height: sectionLayout.height,
width: sectionLayout.width,
xOffset: sectionLayout.xOffset,
yOffset: sectionLayout.yOffset,
}),
),
);
if (sectionLayoutsToInsert.length > 0) {
await transaction.insert(schema.sectionLayouts).values(sectionLayoutsToInsert);
}
}
@@ -1125,27 +1125,24 @@ export const boardRouter = createTRPCRouter({
)
.run();
if (addedSections.some((section) => section.kind === "container")) {
transaction
.insert(sectionLayouts)
.values(
addedSections
.filter((section) => section.kind === "container")
.flatMap((section) =>
section.layouts.map(
(sectionLayout): InferInsertModel<typeof sectionLayouts> => ({
layoutId: sectionLayout.layoutId,
sectionId: section.id,
parentSectionId: sectionLayout.parentSectionId,
height: sectionLayout.height,
width: sectionLayout.width,
xOffset: sectionLayout.xOffset,
yOffset: sectionLayout.yOffset,
}),
),
),
)
.run();
const sectionLayoutsToInsert = addedSections
.filter((section) => section.kind === "container")
.flatMap((section) =>
section.layouts.map(
(sectionLayout): InferInsertModel<typeof sectionLayouts> => ({
layoutId: sectionLayout.layoutId,
sectionId: section.id,
parentSectionId: sectionLayout.parentSectionId,
height: sectionLayout.height,
width: sectionLayout.width,
xOffset: sectionLayout.xOffset,
yOffset: sectionLayout.yOffset,
}),
),
);
if (sectionLayoutsToInsert.length > 0) {
transaction.insert(sectionLayouts).values(sectionLayoutsToInsert).run();
}
}
@@ -1011,6 +1011,43 @@ describe("saveBoard should save full board", () => {
height: 5,
});
});
it("should add a container without layouts", async () => {
const db = createDb();
const caller = boardRouter.createCaller({ db, deviceType: undefined, session: defaultSession });
const { boardId, sectionId: rootSectionId } = await createFullBoardAsync(db, "default");
const containerId = createId();
await caller.saveBoard({
id: boardId,
sections: [
{
id: rootSectionId,
kind: "empty",
xOffset: 0,
yOffset: 0,
},
{
id: containerId,
kind: "container",
collapsed: false,
options: {},
layouts: [],
},
],
items: [],
});
expect(
await db.query.sections.findFirst({
where: eq(sections.id, containerId),
}),
).toMatchObject({ id: containerId, kind: "container" });
expect(
await db.query.sectionLayouts.findMany({
where: eq(sectionLayouts.sectionId, containerId),
}),
).toEqual([]);
});
it("should add item when present in input", async () => {
const spy = vi.spyOn(boardAccess, "throwIfActionForbiddenAsync");
const db = createDb();
+4 -4
View File
@@ -1346,8 +1346,8 @@
"section": {
"container": {
"action": {
"create": "Nova secció dinàmica",
"remove": "Elimina la secció dinàmica"
"create": "Nou contenidor",
"remove": "Elimina el contenidor"
},
"option": {
"title": {
@@ -1361,8 +1361,8 @@
}
},
"remove": {
"title": "Elimina la secció dinàmica",
"message": "Esteu segur que voleu eliminar aquesta secció dinàmica? Els elements es mouran a la mateixa ubicació dins la secció pare."
"title": "Elimina el contenidor",
"message": "Esteu segur que voleu eliminar aquest contenidor? Els elements es mouran a la mateixa ubicació dins la secció pare."
}
}
},
+4 -4
View File
@@ -1551,8 +1551,8 @@
"section": {
"container": {
"action": {
"create": "新建动态部分",
"remove": "删除动态部分"
"create": "新建容器",
"remove": "删除容器"
},
"option": {
"title": {
@@ -1566,8 +1566,8 @@
}
},
"remove": {
"title": "删除动态部分",
"message": "你确定你要删除这个动态部分?项目将被移动到父节的相同位置。"
"title": "删除容器",
"message": "你确定要删除这个容器吗?项目将被移动到父级区域的相同位置。"
}
}
},
+4 -4
View File
@@ -1346,8 +1346,8 @@
"section": {
"container": {
"action": {
"create": "Nová dynamická sekce",
"remove": "Odstranit dynamickou sekci"
"create": "Nový kontejner",
"remove": "Odstranit kontejner"
},
"option": {
"title": {
@@ -1361,8 +1361,8 @@
}
},
"remove": {
"title": "Odstranit dynamickou sekci",
"message": "Jste si jisti, že chcete odstranit tuto dynamickou sekci? Položky budou přesunuty na stejné místo v nadřazené sekci."
"title": "Odstranit kontejner",
"message": "Jste si jisti, že chcete odstranit tento kontejner? Položky budou přesunuty na stejné místo v nadřazené sekci."
}
}
},
+4 -4
View File
@@ -1346,8 +1346,8 @@
"section": {
"container": {
"action": {
"create": "Ny dynamisk sektion",
"remove": "Fjern dynamisk sektion"
"create": "Ny container",
"remove": "Fjern container"
},
"option": {
"title": {
@@ -1361,8 +1361,8 @@
}
},
"remove": {
"title": "Fjern dynamisk sektion",
"message": "Er du sikker på at du vil fjerne dette dynamiske afsnit? Elementer vil blive flyttet på samme sted i det overordnede afsnit."
"title": "Fjern container",
"message": "Er du sikker på, at du vil fjerne denne container? Elementer vil blive flyttet til samme sted i det overordnede afsnit."
}
}
},
+4 -4
View File
@@ -1346,8 +1346,8 @@
"section": {
"container": {
"action": {
"create": "Neuer dynamischer Abschnitt",
"remove": "Dynamischen Abschnitt entfernen"
"create": "Neuer Container",
"remove": "Container entfernen"
},
"option": {
"title": {
@@ -1361,8 +1361,8 @@
}
},
"remove": {
"title": "Dynamischen Abschnitt entfernen",
"message": "Möchten Sie diesen dynamischen Abschnitt wirklich entfernen? Die Elemente werden an die gleiche Position im übergeordneten Abschnitt verschoben."
"title": "Container entfernen",
"message": "Möchten Sie diesen Container wirklich entfernen? Die Elemente werden an die gleiche Position im übergeordneten Bereich verschoben."
}
}
},
+4 -4
View File
@@ -1400,8 +1400,8 @@
"section": {
"container": {
"action": {
"create": "Neuer dynamischer Abschnitt",
"remove": "Dynamischen Abschnitt entfernen"
"create": "Neuer Container",
"remove": "Container entfernen"
},
"option": {
"title": {
@@ -1415,8 +1415,8 @@
}
},
"remove": {
"title": "Dynamischen Abschnitt entfernen",
"message": "Möchten Sie diesen dynamischen Abschnitt wirklich entfernen? Die Elemente werden an die gleiche Position im übergeordneten Abschnitt verschoben."
"title": "Container entfernen",
"message": "Möchten Sie diesen Container wirklich entfernen? Die Elemente werden an die gleiche Position im übergeordneten Bereich verschoben."
}
}
},
+4 -4
View File
@@ -1346,8 +1346,8 @@
"section": {
"container": {
"action": {
"create": "",
"remove": ""
"create": "Νέο κοντέινερ",
"remove": "Κατάργηση κοντέινερ"
},
"option": {
"title": {
@@ -1361,8 +1361,8 @@
}
},
"remove": {
"title": "",
"message": ""
"title": "Κατάργηση κοντέινερ",
"message": "Είστε βέβαιοι ότι θέλετε να καταργήσετε αυτό το κοντέινερ; Τα στοιχεία θα μετακινηθούν στην ίδια θέση στη γονική ενότητα."
}
}
},
+4 -4
View File
@@ -1346,8 +1346,8 @@
"section": {
"container": {
"action": {
"create": "Nueva sección dinámica",
"remove": "Eliminar sección dinámica"
"create": "Nuevo contenedor",
"remove": "Eliminar contenedor"
},
"option": {
"title": {
@@ -1361,8 +1361,8 @@
}
},
"remove": {
"title": "Eliminar sección dinámica",
"message": "¿Estás seguro de que deseas eliminar esta sección dinámica? Los artículos se mantendrán en la misma ubicación."
"title": "Eliminar contenedor",
"message": "¿Estás seguro de que deseas eliminar este contenedor? Los elementos se mantendrán en la misma ubicación."
}
}
},
+4 -4
View File
@@ -1346,8 +1346,8 @@
"section": {
"container": {
"action": {
"create": "Uus dünaamiline sektsioon",
"remove": "Eemalda dünaamiline sektsioon"
"create": "Uus konteiner",
"remove": "Eemalda konteiner"
},
"option": {
"title": {
@@ -1361,8 +1361,8 @@
}
},
"remove": {
"title": "Eemalda dünaamiline sektsioon",
"message": "Kas oled kindel, et soovid selle dünaamilise sektsiooni eemaldada? Üksused teisaldatakse ülemsektsiooni samasse asukohta."
"title": "Eemalda konteiner",
"message": "Kas oled kindel, et soovid selle konteineri eemaldada? Üksused teisaldatakse ülemsektsiooni samasse asukohta."
}
}
},
+4 -4
View File
@@ -1346,8 +1346,8 @@
"section": {
"container": {
"action": {
"create": "Uusi dynaaminen osio",
"remove": ""
"create": "Uusi kontti",
"remove": "Poista kontti"
},
"option": {
"title": {
@@ -1361,8 +1361,8 @@
}
},
"remove": {
"title": "",
"message": "Haluatko varmasti poistaa tämän dynaamisen osion? Kohteet siirretään samaan paikkaan yläosiossa."
"title": "Poista kontti",
"message": "Haluatko varmasti poistaa tämän kontin? Kohteet siirretään samaan paikkaan yläosiossa."
}
}
},
+4 -4
View File
@@ -1399,8 +1399,8 @@
"section": {
"container": {
"action": {
"create": "Nouvelle section dynamique",
"remove": "Supprimer la section dynamique"
"create": "Nouveau conteneur",
"remove": "Supprimer le conteneur"
},
"option": {
"title": {
@@ -1414,8 +1414,8 @@
}
},
"remove": {
"title": "Supprimer la section dynamique",
"message": "Êtes-vous sûr de vouloir supprimer cette section dynamique ? Les éléments seront déplacés au même emplacement dans la section parente."
"title": "Supprimer le conteneur",
"message": "Êtes-vous sûr de vouloir supprimer ce conteneur ? Les éléments seront déplacés au même emplacement dans la section parente."
}
}
},
+4 -4
View File
@@ -1346,8 +1346,8 @@
"section": {
"container": {
"action": {
"create": "מדור דינמי חדש",
"remove": "הסר קטע דינמי"
"create": "מיכל חדש",
"remove": "הסר מיכל"
},
"option": {
"title": {
@@ -1361,8 +1361,8 @@
}
},
"remove": {
"title": "הסר קטע דינמי",
"message": "האם אתה בטוח שברצונך להסיר את הקטע הדינמי הזה? פריטים יועברו לאותו מיקום במדור האב."
"title": "הסר מיכל",
"message": "האם אתה בטוח שברצונך להסיר את המיכל הזה? פריטים יועברו לאותו מיקום במדור האב."
}
}
},
+4 -4
View File
@@ -1346,8 +1346,8 @@
"section": {
"container": {
"action": {
"create": "Nova dinamička sekcija",
"remove": "Ukloni dinamičku sekciju"
"create": "Novi kontejner",
"remove": "Ukloni kontejner"
},
"option": {
"title": {
@@ -1361,8 +1361,8 @@
}
},
"remove": {
"title": "Ukloni dinamičku sekciju",
"message": "Jeste li sigurni da želite ukloniti ovu dinamičku sekciju? Stavke će biti premještene na isto mjesto u nadređenoj sekciji."
"title": "Ukloni kontejner",
"message": "Jeste li sigurni da želite ukloniti ovaj kontejner? Stavke će biti premještene na isto mjesto u nadređenoj sekciji."
}
}
},
+4 -4
View File
@@ -1346,8 +1346,8 @@
"section": {
"container": {
"action": {
"create": "Új dinamikus szakasz",
"remove": "A dinamikus szakasz eltávolítása"
"create": "Új konténer",
"remove": "A konténer eltávolítása"
},
"option": {
"title": {
@@ -1361,8 +1361,8 @@
}
},
"remove": {
"title": "Dinamikus szakasz eltávolítása",
"message": "Biztosan el akarja távolítani ezt a dinamikus részt? Az elemek a szülő rész ugyanazon helyére kerülnek át."
"title": "Konténer eltávolítása",
"message": "Biztosan el akarja távolítani ezt a konténert? Az elemek a szülő rész ugyanazon helyére kerülnek át."
}
}
},
+4 -4
View File
@@ -1400,8 +1400,8 @@
"section": {
"container": {
"action": {
"create": "Nuova sezione dinamica",
"remove": "Rimuovi sezione dinamica"
"create": "Nuovo container",
"remove": "Rimuovi container"
},
"option": {
"title": {
@@ -1415,8 +1415,8 @@
}
},
"remove": {
"title": "Rimuovi sezione dinamica",
"message": "Vuoi davvero rimuovere questa sezione dinamica? Gli elementi verranno spostati nella stessa posizione nella sezione padre."
"title": "Rimuovi container",
"message": "Vuoi davvero rimuovere questo container? Gli elementi verranno spostati nella stessa posizione nella sezione padre."
}
}
},
+4 -4
View File
@@ -1346,8 +1346,8 @@
"section": {
"container": {
"action": {
"create": "新しいダイナミックセクション",
"remove": "ダイナミックセクションを削除する"
"create": "新しいコンテナー",
"remove": "コンテナーを削除する"
},
"option": {
"title": {
@@ -1361,8 +1361,8 @@
}
},
"remove": {
"title": "ダイナミックセクションの削除",
"message": "この動的セクションを削除してもよろしいですか?アイテムは親セクションの同じ場所に移動されます。"
"title": "コンテナーの削除",
"message": "このコンテナーを削除してもよろしいですか?アイテムは親セクションの同じ場所に移動されます。"
}
}
},
+4 -4
View File
@@ -1400,8 +1400,8 @@
"section": {
"container": {
"action": {
"create": "새 동적 섹션",
"remove": "동적 섹션 제거"
"create": "새 컨테이너",
"remove": "컨테이너 제거"
},
"option": {
"title": {
@@ -1415,8 +1415,8 @@
}
},
"remove": {
"title": "동적 섹션 제거",
"message": "이 동적 섹션을 제거하시겠습니까? 항목은 상위 섹션의 동일한 위치로 이동합니다."
"title": "컨테이너 제거",
"message": "이 컨테이너를 제거하시겠습니까? 항목은 상위 섹션의 동일한 위치로 이동합니다."
}
}
},
+4 -4
View File
@@ -1346,8 +1346,8 @@
"section": {
"container": {
"action": {
"create": "Nauja dinaminė sekcija",
"remove": "Pašalinti dinaminę sekciją"
"create": "Naujas konteineris",
"remove": "Pašalinti konteinerį"
},
"option": {
"title": {
@@ -1361,8 +1361,8 @@
}
},
"remove": {
"title": "Pašalinti dinaminę sekciją",
"message": "Ar tikrai norite pašalinti šią dinaminę sekciją? Elementai bus perkelti į tą pačią vietą pirminėje sekcijoje."
"title": "Pašalinti konteinerį",
"message": "Ar tikrai norite pašalinti šį konteinerį? Elementai bus perkelti į tą pačią vietą pirminėje sekcijoje."
}
}
},
+4 -4
View File
@@ -1356,8 +1356,8 @@
"section": {
"container": {
"action": {
"create": "Jauna dinamiskā sadaļa",
"remove": "Noņemt dinamisko sadaļu"
"create": "Jauns konteiners",
"remove": "Noņemt konteineru"
},
"option": {
"title": {
@@ -1371,8 +1371,8 @@
}
},
"remove": {
"title": "Noņemt dinamisko sadaļu",
"message": "Vai esat pārliecināts, ka vēlaties noņemt šo dinamisko sadaļu? Vienumi tiks pārvietoti uz to pašu atrašanās vietu vecāku sadaļā."
"title": "Noņemt konteineru",
"message": "Vai esat pārliecināts, ka vēlaties noņemt šo konteineru? Vienumi tiks pārvietoti uz to pašu atrašanās vietu vecāku sadaļā."
}
}
},
+4 -4
View File
@@ -1346,8 +1346,8 @@
"section": {
"container": {
"action": {
"create": "Nieuwe dynamische sectie",
"remove": "Dynamische sectie verwijderen"
"create": "Nieuwe container",
"remove": "Container verwijderen"
},
"option": {
"title": {
@@ -1361,8 +1361,8 @@
}
},
"remove": {
"title": "Dynamische sectie verwijderen",
"message": "Weet je zeker dat je deze dynamische sectie wilt verwijderen? Items worden verplaatst naar dezelfde locatie in de bovenliggende sectie."
"title": "Container verwijderen",
"message": "Weet je zeker dat je deze container wilt verwijderen? Items worden verplaatst naar dezelfde locatie in de bovenliggende sectie."
}
}
},
+4 -4
View File
@@ -1346,8 +1346,8 @@
"section": {
"container": {
"action": {
"create": "Ny dynamisk seksjon",
"remove": "Fjern dynamisk seksjon"
"create": "Ny beholder",
"remove": "Fjern beholder"
},
"option": {
"title": {
@@ -1361,8 +1361,8 @@
}
},
"remove": {
"title": "Fjern dynamisk seksjon",
"message": "Er du sikker på at du vil fjerne denne dynamiske delen? Elementer vil bli flyttet til samme sted i overordnet seksjon."
"title": "Fjern beholder",
"message": "Er du sikker på at du vil fjerne denne beholderen? Elementer vil bli flyttet til samme sted i overordnet seksjon."
}
}
},
+4 -4
View File
@@ -1400,8 +1400,8 @@
"section": {
"container": {
"action": {
"create": "Nowa sekcja dynamiczna",
"remove": "Usuń sekcję dynamiczną"
"create": "Nowy kontener",
"remove": "Usuń kontener"
},
"option": {
"title": {
@@ -1415,8 +1415,8 @@
}
},
"remove": {
"title": "Usuń sekcję dynamiczną",
"message": "Czy na pewno chcesz usunąć tę sekcję dynamiczną? Elementy zostaną przeniesione w tej samej lokalizacji w sekcji nadrzędnej."
"title": "Usuń kontener",
"message": "Czy na pewno chcesz usunąć ten kontener? Elementy zostaną przeniesione w tej samej lokalizacji w sekcji nadrzędnej."
}
}
},
+4 -4
View File
@@ -1398,8 +1398,8 @@
"section": {
"container": {
"action": {
"create": "Nova seção dinâmica",
"remove": "Remover seção dinâmica"
"create": "Novo contêiner",
"remove": "Remover contêiner"
},
"option": {
"title": {
@@ -1413,8 +1413,8 @@
}
},
"remove": {
"title": "Remover seção dinâmica",
"message": "Tem certeza de que deseja remover esta seção dinâmica? Os itens serão movidos para o mesmo local na seção pai."
"title": "Remover contêiner",
"message": "Tem certeza de que deseja remover este contêiner? Os itens serão movidos para o mesmo local na seção pai."
}
}
},
+4 -4
View File
@@ -1346,8 +1346,8 @@
"section": {
"container": {
"action": {
"create": "Nova seção dinâmica",
"remove": "Remover seção dinâmica"
"create": "Novo contêiner",
"remove": "Remover contêiner"
},
"option": {
"title": {
@@ -1361,8 +1361,8 @@
}
},
"remove": {
"title": "Remover seção dinâmica",
"message": "Tem certeza de que deseja remover esta seção dinâmica? Os itens serão movidos para o mesmo local na seção pai."
"title": "Remover contêiner",
"message": "Tem certeza de que deseja remover este contêiner? Os itens serão movidos para o mesmo local na seção pai."
}
}
},
+4 -4
View File
@@ -1346,8 +1346,8 @@
"section": {
"container": {
"action": {
"create": "",
"remove": ""
"create": "Container nou",
"remove": "Elimină containerul"
},
"option": {
"title": {
@@ -1361,8 +1361,8 @@
}
},
"remove": {
"title": "",
"message": ""
"title": "Elimină containerul",
"message": "Sigur doriți să eliminați acest container? Elementele vor fi mutate în aceeași poziție din secțiunea părinte."
}
}
},
+4 -4
View File
@@ -1346,8 +1346,8 @@
"section": {
"container": {
"action": {
"create": "Новый динамический элемент",
"remove": "Удалить динамический элемент"
"create": "Новый контейнер",
"remove": "Удалить контейнер"
},
"option": {
"title": {
@@ -1361,8 +1361,8 @@
}
},
"remove": {
"title": "Удалить динамический элемент",
"message": "Вы уверены, что хотите удалить этот динамический элемент? Содержимое будет перемещено в то же место в родительском элементе."
"title": "Удалить контейнер",
"message": "Вы уверены, что хотите удалить этот контейнер? Содержимое будет перемещено в то же место в родительском элементе."
}
}
},
+4 -4
View File
@@ -1346,8 +1346,8 @@
"section": {
"container": {
"action": {
"create": "Nová dynamická sekcia",
"remove": "Nová dynamická sekcia"
"create": "Nový kontajner",
"remove": "Odstrániť kontajner"
},
"option": {
"title": {
@@ -1361,8 +1361,8 @@
}
},
"remove": {
"title": "Nová dynamická sekcia",
"message": "Naozaj chcete odstrániť túto dynamickú sekciu? Položky sa presunú na rovnaké miesto v nadradenej sekcii."
"title": "Odstrániť kontajner",
"message": "Naozaj chcete odstrániť tento kontajner? Položky sa presunú na rovnaké miesto v nadradenej sekcii."
}
}
},
+4 -4
View File
@@ -1346,8 +1346,8 @@
"section": {
"container": {
"action": {
"create": "Nova dinamična vsebina",
"remove": "Odstrani dinamični odsek"
"create": "Nov vsebnik",
"remove": "Odstrani vsebnik"
},
"option": {
"title": {
@@ -1361,8 +1361,8 @@
}
},
"remove": {
"title": "Odstrani dinamični odsek",
"message": "Ali ste prepričani, da želite odstraniti ta dinamični odsek? Elementi bodo premaknjeni na isto mesto v nadrejenem odseku."
"title": "Odstrani vsebnik",
"message": "Ali ste prepričani, da želite odstraniti ta vsebnik? Elementi bodo premaknjeni na isto mesto v nadrejenem odseku."
}
}
},
+4 -4
View File
@@ -1346,8 +1346,8 @@
"section": {
"container": {
"action": {
"create": "Ny dynamisk sektion",
"remove": ""
"create": "Ny behållare",
"remove": "Ta bort behållare"
},
"option": {
"title": {
@@ -1361,8 +1361,8 @@
}
},
"remove": {
"title": "",
"message": ""
"title": "Ta bort behållare",
"message": "Är du säker på att du vill ta bort den här behållaren? Objekten flyttas till samma plats i den överordnade sektionen."
}
}
},
+4 -4
View File
@@ -1346,8 +1346,8 @@
"section": {
"container": {
"action": {
"create": "Yeni Dinamik Bölüm",
"remove": "Dinamik bölümü kaldır"
"create": "Yeni konteyner",
"remove": "Konteyneri kaldır"
},
"option": {
"title": {
@@ -1361,8 +1361,8 @@
}
},
"remove": {
"title": "Dinamik bölümü kaldır",
"message": "Bu dinamik bölümü kaldırmak istediğinizden emin misiniz? Öğeler üst bölümdeki aynı konuma taşınacaktır."
"title": "Konteyneri kaldır",
"message": "Bu konteyneri kaldırmak istediğinizden emin misiniz? Öğeler üst bölümdeki aynı konuma taşınacaktır."
}
}
},
+4 -4
View File
@@ -1356,8 +1356,8 @@
"section": {
"container": {
"action": {
"create": "Нова динамічна секція",
"remove": "Видалити динамічну секцію"
"create": "Новий контейнер",
"remove": "Видалити контейнер"
},
"option": {
"title": {
@@ -1371,8 +1371,8 @@
}
},
"remove": {
"title": "Видалити динамічний розділ",
"message": "Ви впевнені, що хочете видалити цей динамічний розділ? Елементи будуть переміщені в те саме місце в батьківському розділі."
"title": "Видалити контейнер",
"message": "Ви впевнені, що хочете видалити цей контейнер? Елементи будуть переміщені в те саме місце в батьківському розділі."
}
}
},
+4 -4
View File
@@ -1346,8 +1346,8 @@
"section": {
"container": {
"action": {
"create": "Phần động mới",
"remove": "Xóa phần động"
"create": "Vùng chứa mới",
"remove": "Xóa vùng chứa"
},
"option": {
"title": {
@@ -1361,8 +1361,8 @@
}
},
"remove": {
"title": "Xóa phần động",
"message": "Bạn có chắc chắn muốn xóa phần động này không? Các mục sẽ được chuyển đến cùng vị trí trong phần cha."
"title": "Xóa vùng chứa",
"message": "Bạn có chắc chắn muốn xóa vùng chứa này không? Các mục sẽ được chuyển đến cùng vị trí trong phần cha."
}
}
},
+4 -4
View File
@@ -1346,8 +1346,8 @@
"section": {
"container": {
"action": {
"create": "創建動態區段",
"remove": "移除動態區段"
"create": "新增容器",
"remove": "移除容器"
},
"option": {
"title": {
@@ -1361,8 +1361,8 @@
}
},
"remove": {
"title": "移除動態區段",
"message": "確認要移除此動態區段嗎?項目將移動到父區段的相同位置"
"title": "移除容器",
"message": "確認要移除此容器嗎?項目將移動到父區段的相同位置"
}
}
},