Add pageCount to crawls and uploads and use in frontend for page counts (#2315)
Fixes #2257 This is a follow-up to the public collections work, which adds pages to the database for uploads. All crawls and uploads now have a `pageCount` field which is populated when the item is successfully added. A new migration is also added to populate the field for existing archived items that don't have it set yet. OrgMetrics have also been modified to include `crawlPageCount` and `uploadPageCount`, and to include the total of both in `pageCount`, and all three included in the frontend org dashboard. The frontend has been updated to use `pageCount` rather than `stats.done` wherever appropriate, meaning that in archived item lists and details we now have a consistent page count for both crawls and uploads. ### New functionality - Deploy this branch - Create new crawls and uploads and verify that page count appears correctly throughout the frontend for all new crawls and uploads ### Migration - Deploy from latest main - Create some crawls and uploads - Change to this branch and re-deploy - Verify migration ran without errors in backend logs - Verify that page count has been populated successfully by checking archived items lists, crawl and upload detail pages, and dashboard to ensure there are no longer any missing page counts. --------- Co-authored-by: emma <hi@emma.cafe>
This commit is contained in:
		
							parent
							
								
									5684e896af
								
							
						
					
					
						commit
						6797b41de0
					
				| @ -17,7 +17,7 @@ from pymongo.errors import InvalidName | |||||||
| from .migrations import BaseMigration | from .migrations import BaseMigration | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
| CURR_DB_VERSION = "0039" | CURR_DB_VERSION = "0040" | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
| # ============================================================================ | # ============================================================================ | ||||||
|  | |||||||
| @ -0,0 +1,43 @@ | |||||||
|  | """ | ||||||
|  | Migration 0040 -- archived item pageCount | ||||||
|  | """ | ||||||
|  | 
 | ||||||
|  | from btrixcloud.migrations import BaseMigration | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | MIGRATION_VERSION = "0040" | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | class Migration(BaseMigration): | ||||||
|  |     """Migration class.""" | ||||||
|  | 
 | ||||||
|  |     # pylint: disable=unused-argument | ||||||
|  |     def __init__(self, mdb, **kwargs): | ||||||
|  |         super().__init__(mdb, migration_version=MIGRATION_VERSION) | ||||||
|  | 
 | ||||||
|  |         self.page_ops = kwargs.get("page_ops") | ||||||
|  | 
 | ||||||
|  |     async def migrate_up(self): | ||||||
|  |         """Perform migration up. | ||||||
|  | 
 | ||||||
|  |         Calculate and store pageCount for archived items that don't have it yet | ||||||
|  |         """ | ||||||
|  |         crawls_mdb = self.mdb["crawls"] | ||||||
|  | 
 | ||||||
|  |         if self.page_ops is None: | ||||||
|  |             print( | ||||||
|  |                 "Unable to set pageCount for archived items, missing page_ops", | ||||||
|  |                 flush=True, | ||||||
|  |             ) | ||||||
|  |             return | ||||||
|  | 
 | ||||||
|  |         async for crawl_raw in crawls_mdb.find({"pageCount": None}): | ||||||
|  |             crawl_id = crawl_raw["_id"] | ||||||
|  |             try: | ||||||
|  |                 await self.page_ops.set_archived_item_page_count(crawl_id) | ||||||
|  |             # pylint: disable=broad-exception-caught | ||||||
|  |             except Exception as err: | ||||||
|  |                 print( | ||||||
|  |                     f"Error saving pageCount for archived item {crawl_id}: {err}", | ||||||
|  |                     flush=True, | ||||||
|  |                 ) | ||||||
| @ -797,6 +797,8 @@ class BaseCrawl(CoreCrawlable, BaseMongoModel): | |||||||
| 
 | 
 | ||||||
|     reviewStatus: ReviewStatus = None |     reviewStatus: ReviewStatus = None | ||||||
| 
 | 
 | ||||||
|  |     pageCount: Optional[int] = 0 | ||||||
|  | 
 | ||||||
|     filePageCount: Optional[int] = 0 |     filePageCount: Optional[int] = 0 | ||||||
|     errorPageCount: Optional[int] = 0 |     errorPageCount: Optional[int] = 0 | ||||||
| 
 | 
 | ||||||
| @ -872,6 +874,7 @@ class CrawlOut(BaseMongoModel): | |||||||
|     lastQAState: Optional[str] = None |     lastQAState: Optional[str] = None | ||||||
|     lastQAStarted: Optional[datetime] = None |     lastQAStarted: Optional[datetime] = None | ||||||
| 
 | 
 | ||||||
|  |     pageCount: Optional[int] = 0 | ||||||
|     filePageCount: Optional[int] = 0 |     filePageCount: Optional[int] = 0 | ||||||
|     errorPageCount: Optional[int] = 0 |     errorPageCount: Optional[int] = 0 | ||||||
| 
 | 
 | ||||||
| @ -1914,6 +1917,8 @@ class OrgMetrics(BaseModel): | |||||||
|     crawlCount: int |     crawlCount: int | ||||||
|     uploadCount: int |     uploadCount: int | ||||||
|     pageCount: int |     pageCount: int | ||||||
|  |     crawlPageCount: int | ||||||
|  |     uploadPageCount: int | ||||||
|     profileCount: int |     profileCount: int | ||||||
|     workflowsRunningCount: int |     workflowsRunningCount: int | ||||||
|     maxConcurrentCrawls: int |     maxConcurrentCrawls: int | ||||||
|  | |||||||
| @ -1534,6 +1534,7 @@ class CrawlOperator(BaseOperator): | |||||||
|         ) |         ) | ||||||
| 
 | 
 | ||||||
|         if state in SUCCESSFUL_STATES and crawl.oid: |         if state in SUCCESSFUL_STATES and crawl.oid: | ||||||
|  |             await self.page_ops.set_archived_item_page_count(crawl.id) | ||||||
|             await self.org_ops.inc_org_bytes_stored( |             await self.org_ops.inc_org_bytes_stored( | ||||||
|                 crawl.oid, status.filesAddedSize, "crawl" |                 crawl.oid, status.filesAddedSize, "crawl" | ||||||
|             ) |             ) | ||||||
|  | |||||||
| @ -939,7 +939,10 @@ class OrgOps: | |||||||
|         archived_item_count = 0 |         archived_item_count = 0 | ||||||
|         crawl_count = 0 |         crawl_count = 0 | ||||||
|         upload_count = 0 |         upload_count = 0 | ||||||
|  | 
 | ||||||
|         page_count = 0 |         page_count = 0 | ||||||
|  |         crawl_page_count = 0 | ||||||
|  |         upload_page_count = 0 | ||||||
| 
 | 
 | ||||||
|         async for item_data in self.crawls_db.find({"oid": org.id}): |         async for item_data in self.crawls_db.find({"oid": org.id}): | ||||||
|             item = BaseCrawl.from_dict(item_data) |             item = BaseCrawl.from_dict(item_data) | ||||||
| @ -948,10 +951,12 @@ class OrgOps: | |||||||
|             archived_item_count += 1 |             archived_item_count += 1 | ||||||
|             if item.type == "crawl": |             if item.type == "crawl": | ||||||
|                 crawl_count += 1 |                 crawl_count += 1 | ||||||
|  |                 crawl_page_count += item.pageCount or 0 | ||||||
|             if item.type == "upload": |             if item.type == "upload": | ||||||
|                 upload_count += 1 |                 upload_count += 1 | ||||||
|             if item.stats: |                 upload_page_count += item.pageCount or 0 | ||||||
|                 page_count += item.stats.done |             if item.pageCount: | ||||||
|  |                 page_count += item.pageCount | ||||||
| 
 | 
 | ||||||
|         profile_count = await self.profiles_db.count_documents({"oid": org.id}) |         profile_count = await self.profiles_db.count_documents({"oid": org.id}) | ||||||
|         workflows_running_count = await self.crawls_db.count_documents( |         workflows_running_count = await self.crawls_db.count_documents( | ||||||
| @ -975,6 +980,8 @@ class OrgOps: | |||||||
|             "crawlCount": crawl_count, |             "crawlCount": crawl_count, | ||||||
|             "uploadCount": upload_count, |             "uploadCount": upload_count, | ||||||
|             "pageCount": page_count, |             "pageCount": page_count, | ||||||
|  |             "crawlPageCount": crawl_page_count, | ||||||
|  |             "uploadPageCount": upload_page_count, | ||||||
|             "profileCount": profile_count, |             "profileCount": profile_count, | ||||||
|             "workflowsRunningCount": workflows_running_count, |             "workflowsRunningCount": workflows_running_count, | ||||||
|             "maxConcurrentCrawls": max_concurrent_crawls, |             "maxConcurrentCrawls": max_concurrent_crawls, | ||||||
|  | |||||||
| @ -92,6 +92,8 @@ class PageOps: | |||||||
|             if pages_buffer: |             if pages_buffer: | ||||||
|                 await self._add_pages_to_db(crawl_id, pages_buffer) |                 await self._add_pages_to_db(crawl_id, pages_buffer) | ||||||
| 
 | 
 | ||||||
|  |             await self.set_archived_item_page_count(crawl_id) | ||||||
|  | 
 | ||||||
|             print(f"Added pages for crawl {crawl_id} to db", flush=True) |             print(f"Added pages for crawl {crawl_id} to db", flush=True) | ||||||
|         # pylint: disable=broad-exception-caught, raise-missing-from |         # pylint: disable=broad-exception-caught, raise-missing-from | ||||||
|         except Exception as err: |         except Exception as err: | ||||||
| @ -661,6 +663,14 @@ class PageOps: | |||||||
| 
 | 
 | ||||||
|         return crawl_type |         return crawl_type | ||||||
| 
 | 
 | ||||||
|  |     async def set_archived_item_page_count(self, crawl_id: str): | ||||||
|  |         """Store archived item page count in crawl document""" | ||||||
|  |         _, page_count = await self.list_pages(crawl_id) | ||||||
|  | 
 | ||||||
|  |         await self.crawls.find_one_and_update( | ||||||
|  |             {"_id": crawl_id}, {"$set": {"pageCount": page_count}} | ||||||
|  |         ) | ||||||
|  | 
 | ||||||
| 
 | 
 | ||||||
| # ============================================================================ | # ============================================================================ | ||||||
| # pylint: disable=too-many-arguments, too-many-locals, invalid-name, fixme | # pylint: disable=too-many-arguments, too-many-locals, invalid-name, fixme | ||||||
|  | |||||||
| @ -877,6 +877,14 @@ def test_re_add_crawl_pages(crawler_auth_headers, default_org_id, crawler_crawl_ | |||||||
|     ) |     ) | ||||||
|     assert r.status_code == 403 |     assert r.status_code == 403 | ||||||
| 
 | 
 | ||||||
|  |     # Check that pageCount was stored on crawl | ||||||
|  |     r = requests.get( | ||||||
|  |         f"{API_PREFIX}/orgs/{default_org_id}/crawls/{crawler_crawl_id}", | ||||||
|  |         headers=crawler_auth_headers, | ||||||
|  |     ) | ||||||
|  |     assert r.status_code == 200 | ||||||
|  |     assert r.json()["pageCount"] > 0 | ||||||
|  | 
 | ||||||
| 
 | 
 | ||||||
| def test_crawl_page_notes(crawler_auth_headers, default_org_id, crawler_crawl_id): | def test_crawl_page_notes(crawler_auth_headers, default_org_id, crawler_crawl_id): | ||||||
|     note_text = "testing" |     note_text = "testing" | ||||||
|  | |||||||
| @ -274,6 +274,14 @@ def test_get_upload_pages(admin_auth_headers, default_org_id, upload_id): | |||||||
|     assert page.get("modified") is None |     assert page.get("modified") is None | ||||||
|     assert page.get("approved") is None |     assert page.get("approved") is None | ||||||
| 
 | 
 | ||||||
|  |     # Check that pageCount was stored on upload | ||||||
|  |     r = requests.get( | ||||||
|  |         f"{API_PREFIX}/orgs/{default_org_id}/uploads/{upload_id}", | ||||||
|  |         headers=admin_auth_headers, | ||||||
|  |     ) | ||||||
|  |     assert r.status_code == 200 | ||||||
|  |     assert r.json()["pageCount"] > 0 | ||||||
|  | 
 | ||||||
| 
 | 
 | ||||||
| def test_replace_upload( | def test_replace_upload( | ||||||
|     admin_auth_headers, default_org_id, uploads_collection_id, upload_id |     admin_auth_headers, default_org_id, uploads_collection_id, upload_id | ||||||
|  | |||||||
| @ -252,7 +252,24 @@ export class ArchivedItemListItem extends BtrixElement { | |||||||
|         </btrix-table-cell> |         </btrix-table-cell> | ||||||
|         <btrix-table-cell class="tabular-nums"> |         <btrix-table-cell class="tabular-nums"> | ||||||
|           ${isUpload |           ${isUpload | ||||||
|             ? notApplicable |             ? html`<sl-tooltip
 | ||||||
|  |                 hoist | ||||||
|  |                 @click=${this.onTooltipClick} | ||||||
|  |                 content=${msg( | ||||||
|  |                   str`${this.localize.number( | ||||||
|  |                     this.item.pageCount ? +this.item.pageCount : 0, | ||||||
|  |                   )}`,
 | ||||||
|  |                 )} | ||||||
|  |               > | ||||||
|  |                 <div class="min-w-4"> | ||||||
|  |                   ${this.localize.number( | ||||||
|  |                     this.item.pageCount ? +this.item.pageCount : 0, | ||||||
|  |                     { | ||||||
|  |                       notation: "compact", | ||||||
|  |                     }, | ||||||
|  |                   )} | ||||||
|  |                 </div> | ||||||
|  |               </sl-tooltip>` | ||||||
|             : html`<sl-tooltip
 |             : html`<sl-tooltip
 | ||||||
|                 hoist |                 hoist | ||||||
|                 @click=${this.onTooltipClick} |                 @click=${this.onTooltipClick} | ||||||
|  | |||||||
| @ -191,12 +191,13 @@ export class CrawlListItem extends BtrixElement { | |||||||
|         </btrix-table-cell> |         </btrix-table-cell> | ||||||
|         <btrix-table-cell> |         <btrix-table-cell> | ||||||
|           ${this.safeRender((crawl) => { |           ${this.safeRender((crawl) => { | ||||||
|             const pagesComplete = +(crawl.stats?.done || 0); |  | ||||||
|             const pagesFound = +(crawl.stats?.found || 0); |             const pagesFound = +(crawl.stats?.found || 0); | ||||||
|             if (crawl.finished) { |             if (crawl.finished) { | ||||||
|  |               const pagesComplete = crawl.pageCount ? +crawl.pageCount : 0; | ||||||
|               return `${this.localize.number(pagesComplete, { notation: "compact" })} ${pluralOf("pages", pagesComplete)}`; |               return `${this.localize.number(pagesComplete, { notation: "compact" })} ${pluralOf("pages", pagesComplete)}`; | ||||||
|             } |             } | ||||||
| 
 | 
 | ||||||
|  |             const pagesComplete = +(crawl.stats?.done || 0); | ||||||
|             return `${this.localize.number(pagesComplete, { notation: "compact" })} / ${this.localize.number(pagesFound, { notation: "compact" })} ${pluralOf("pages", pagesFound)}`; |             return `${this.localize.number(pagesComplete, { notation: "compact" })} / ${this.localize.number(pagesFound, { notation: "compact" })} ${pluralOf("pages", pagesFound)}`; | ||||||
|           })} |           })} | ||||||
|         </btrix-table-cell> |         </btrix-table-cell> | ||||||
|  | |||||||
| @ -859,7 +859,7 @@ export class ArchivedItemDetail extends BtrixElement { | |||||||
|             ? html`${this.item.fileSize |             ? html`${this.item.fileSize | ||||||
|                 ? html`${this.localize.bytes(this.item.fileSize || 0, { |                 ? html`${this.localize.bytes(this.item.fileSize || 0, { | ||||||
|                     unitDisplay: "narrow", |                     unitDisplay: "narrow", | ||||||
|                   })}${this.item.stats |                   })}${this.item.stats?.done | ||||||
|                     ? html`<span>,</span
 |                     ? html`<span>,</span
 | ||||||
|                         ><span |                         ><span | ||||||
|                           class="tracking-tighter${this.isActive |                           class="tracking-tighter${this.isActive | ||||||
| @ -873,7 +873,18 @@ export class ArchivedItemDetail extends BtrixElement { | |||||||
|                         <span |                         <span | ||||||
|                           >${pluralOf("pages", +this.item.stats.found)}</span |                           >${pluralOf("pages", +this.item.stats.found)}</span | ||||||
|                         >` |                         >` | ||||||
|                     : ""}` |                     : html`<span>,</span
 | ||||||
|  |                         ><span> | ||||||
|  |                           ${this.localize.number( | ||||||
|  |                             this.item.pageCount ? +this.item.pageCount : 0, | ||||||
|  |                           )} | ||||||
|  |                         </span> | ||||||
|  |                         <span | ||||||
|  |                           >${pluralOf( | ||||||
|  |                             "pages", | ||||||
|  |                             this.item.pageCount ? +this.item.pageCount : 0, | ||||||
|  |                           )}</span | ||||||
|  |                         >`}` | ||||||
|                 : html`<span class="text-0-400">${msg("Unknown")}</span>`}` |                 : html`<span class="text-0-400">${msg("Unknown")}</span>`}` | ||||||
|             : html`<sl-skeleton class="h-[16px] w-24"></sl-skeleton>`} |             : html`<sl-skeleton class="h-[16px] w-24"></sl-skeleton>`} | ||||||
|         </btrix-desc-list-item> |         </btrix-desc-list-item> | ||||||
|  | |||||||
| @ -28,6 +28,8 @@ type Metrics = { | |||||||
|   crawlCount: number; |   crawlCount: number; | ||||||
|   uploadCount: number; |   uploadCount: number; | ||||||
|   pageCount: number; |   pageCount: number; | ||||||
|  |   crawlPageCount: number; | ||||||
|  |   uploadPageCount: number; | ||||||
|   profileCount: number; |   profileCount: number; | ||||||
|   workflowsRunningCount: number; |   workflowsRunningCount: number; | ||||||
|   maxConcurrentCrawls: number; |   maxConcurrentCrawls: number; | ||||||
| @ -236,10 +238,31 @@ export class Dashboard extends BtrixElement { | |||||||
|                   pluralLabel: msg("Crawl Workflows Waiting"), |                   pluralLabel: msg("Crawl Workflows Waiting"), | ||||||
|                   iconProps: { name: "hourglass-split", color: "violet" }, |                   iconProps: { name: "hourglass-split", color: "violet" }, | ||||||
|                 })} |                 })} | ||||||
|  |                 <sl-divider | ||||||
|  |                   style="--spacing:var(--sl-spacing-small)" | ||||||
|  |                 ></sl-divider> | ||||||
|                 ${this.renderStat({ |                 ${this.renderStat({ | ||||||
|                   value: metrics.pageCount, |                   value: metrics.crawlPageCount, | ||||||
|                   singleLabel: msg("Page Crawled"), |                   singleLabel: msg("Page Crawled"), | ||||||
|                   pluralLabel: msg("Pages Crawled"), |                   pluralLabel: msg("Pages Crawled"), | ||||||
|  |                   iconProps: { | ||||||
|  |                     name: "file-richtext-fill", | ||||||
|  |                     color: this.colors.crawls, | ||||||
|  |                   }, | ||||||
|  |                 })} | ||||||
|  |                 ${this.renderStat({ | ||||||
|  |                   value: metrics.uploadPageCount, | ||||||
|  |                   singleLabel: msg("Page Uploaded"), | ||||||
|  |                   pluralLabel: msg("Pages Uploaded"), | ||||||
|  |                   iconProps: { | ||||||
|  |                     name: "file-richtext-fill", | ||||||
|  |                     color: this.colors.uploads, | ||||||
|  |                   }, | ||||||
|  |                 })} | ||||||
|  |                 ${this.renderStat({ | ||||||
|  |                   value: metrics.pageCount, | ||||||
|  |                   singleLabel: msg("Page Total"), | ||||||
|  |                   pluralLabel: msg("Pages Total"), | ||||||
|                   iconProps: { name: "file-richtext-fill" }, |                   iconProps: { name: "file-richtext-fill" }, | ||||||
|                 })} |                 })} | ||||||
|               </dl> |               </dl> | ||||||
|  | |||||||
| @ -164,6 +164,7 @@ type ArchivedItemBase = { | |||||||
|   activeQAStats: { done: number; found: number } | null; |   activeQAStats: { done: number; found: number } | null; | ||||||
|   lastQAState: CrawlState | null; |   lastQAState: CrawlState | null; | ||||||
|   lastQAStarted: string | null; |   lastQAStarted: string | null; | ||||||
|  |   pageCount?: number; | ||||||
|   filePageCount?: number; |   filePageCount?: number; | ||||||
|   errorPageCount?: number; |   errorPageCount?: number; | ||||||
| }; | }; | ||||||
|  | |||||||
| @ -5,7 +5,6 @@ const childProcess = require("child_process"); | |||||||
| const fs = require("fs"); | const fs = require("fs"); | ||||||
| const path = require("path"); | const path = require("path"); | ||||||
| 
 | 
 | ||||||
| 
 |  | ||||||
| const CopyPlugin = require("copy-webpack-plugin"); | const CopyPlugin = require("copy-webpack-plugin"); | ||||||
| const ForkTsCheckerWebpackPlugin = require("fork-ts-checker-webpack-plugin"); | const ForkTsCheckerWebpackPlugin = require("fork-ts-checker-webpack-plugin"); | ||||||
| const HtmlWebpackPlugin = require("html-webpack-plugin"); | const HtmlWebpackPlugin = require("html-webpack-plugin"); | ||||||
|  | |||||||
							
								
								
									
										98
									
								
								frontend/xliff/de.xlf
									
									
									
										generated
									
									
									
								
							
							
						
						
									
										98
									
								
								frontend/xliff/de.xlf
									
									
									
										generated
									
									
									
								
							| @ -1597,18 +1597,6 @@ | |||||||
|         <source>Are you sure you want to delete |         <source>Are you sure you want to delete | ||||||
|                 <x id="0" equiv-text="<strong>${this.selectedCollection?.name}</strong>"/>?</source> |                 <x id="0" equiv-text="<strong>${this.selectedCollection?.name}</strong>"/>?</source> | ||||||
|       </trans-unit> |       </trans-unit> | ||||||
|       <trans-unit id="s777098c61f6b518a"> |  | ||||||
|         <source>Start building your Collection.</source> |  | ||||||
|       </trans-unit> |  | ||||||
|       <trans-unit id="s04200a50c7577767"> |  | ||||||
|         <source>No Collections Found</source> |  | ||||||
|       </trans-unit> |  | ||||||
|       <trans-unit id="s9f8154ea8167f3f7"> |  | ||||||
|         <source>Organize your crawls into a Collection to easily replay them together.</source> |  | ||||||
|       </trans-unit> |  | ||||||
|       <trans-unit id="s15aac264eaeac4fc"> |  | ||||||
|         <source>Your organization doesn't have any Collections, yet.</source> |  | ||||||
|       </trans-unit> |  | ||||||
|       <trans-unit id="s7be481b712fcb089"> |       <trans-unit id="s7be481b712fcb089"> | ||||||
|         <source>Search by Name</source> |         <source>Search by Name</source> | ||||||
|       </trans-unit> |       </trans-unit> | ||||||
| @ -1624,9 +1612,6 @@ | |||||||
|       <trans-unit id="sa3242c7021e01280"> |       <trans-unit id="sa3242c7021e01280"> | ||||||
|         <source>Row Actions</source> |         <source>Row Actions</source> | ||||||
|       </trans-unit> |       </trans-unit> | ||||||
|       <trans-unit id="sf0c64ac402e1e0b9"> |  | ||||||
|         <source>No Collections Yet.</source> |  | ||||||
|       </trans-unit> |  | ||||||
|       <trans-unit id="s5ac7d4f485d82e8c"> |       <trans-unit id="s5ac7d4f485d82e8c"> | ||||||
|         <source>Shareable Collection</source> |         <source>Shareable Collection</source> | ||||||
|       </trans-unit> |       </trans-unit> | ||||||
| @ -3018,7 +3003,7 @@ | |||||||
|       </trans-unit> |       </trans-unit> | ||||||
|       <trans-unit id="saf63d34c8601dd41"> |       <trans-unit id="saf63d34c8601dd41"> | ||||||
|         <source> |         <source> | ||||||
|           <x id="0" equiv-text="${humanizeSchedule(workflow.schedule, {
    length: "short",
})}"/> |           <x id="0" equiv-text="${this.localize.number(this.item.pageCount ? +this.item.pageCount : 0)}"/> | ||||||
|         </source> |         </source> | ||||||
|       </trans-unit> |       </trans-unit> | ||||||
|       <trans-unit id="s136b21dec9a221bd"> |       <trans-unit id="s136b21dec9a221bd"> | ||||||
| @ -3861,9 +3846,6 @@ | |||||||
|       <trans-unit id="s66da7b7937e76a3a"> |       <trans-unit id="s66da7b7937e76a3a"> | ||||||
|         <source>Start typing a URL...</source> |         <source>Start typing a URL...</source> | ||||||
|       </trans-unit> |       </trans-unit> | ||||||
|       <trans-unit id="sfedd97f6911305d1"> |  | ||||||
|         <source>No matching pages found.</source> |  | ||||||
|       </trans-unit> |  | ||||||
|       <trans-unit id="s7bec6de4e84e7519"> |       <trans-unit id="s7bec6de4e84e7519"> | ||||||
|         <source>ReplayWeb.Page default view</source> |         <source>ReplayWeb.Page default view</source> | ||||||
|       </trans-unit> |       </trans-unit> | ||||||
| @ -3873,9 +3855,6 @@ | |||||||
|       <trans-unit id="s5d948bb5f9f0a378"> |       <trans-unit id="s5d948bb5f9f0a378"> | ||||||
|         <source>Show a single URL snapshot</source> |         <source>Show a single URL snapshot</source> | ||||||
|       </trans-unit> |       </trans-unit> | ||||||
|       <trans-unit id="s7cdd26a53c30f8c5"> |  | ||||||
|         <source>Configure Replay Home</source> |  | ||||||
|       </trans-unit> |  | ||||||
|       <trans-unit id="s417b90913e05bc17"> |       <trans-unit id="s417b90913e05bc17"> | ||||||
|         <source>Preview</source> |         <source>Preview</source> | ||||||
|       </trans-unit> |       </trans-unit> | ||||||
| @ -3992,9 +3971,6 @@ | |||||||
|       <trans-unit id="s1cb226f223599f56"> |       <trans-unit id="s1cb226f223599f56"> | ||||||
|         <source>Add items to select a home page</source> |         <source>Add items to select a home page</source> | ||||||
|       </trans-unit> |       </trans-unit> | ||||||
|       <trans-unit id="s3879a0e50452a712"> |  | ||||||
|         <source>Configure Home</source> |  | ||||||
|       </trans-unit> |  | ||||||
|       <trans-unit id="s1f45d250722817c7"> |       <trans-unit id="s1f45d250722817c7"> | ||||||
|         <source>Edit About Section</source> |         <source>Edit About Section</source> | ||||||
|       </trans-unit> |       </trans-unit> | ||||||
| @ -4166,6 +4142,78 @@ | |||||||
|         <source><x id="0" equiv-text="${dateEarliest}"/> to <x id="1" equiv-text="${dateLatest}"/></source> |         <source><x id="0" equiv-text="${dateEarliest}"/> to <x id="1" equiv-text="${dateLatest}"/></source> | ||||||
|         <note from="lit-localize">Date range formatted to show full month name and year</note> |         <note from="lit-localize">Date range formatted to show full month name and year</note> | ||||||
|       </trans-unit> |       </trans-unit> | ||||||
|  |       <trans-unit id="s2428027aa3e49f16"> | ||||||
|  |         <source>Last Crawl</source> | ||||||
|  |       </trans-unit> | ||||||
|  |       <trans-unit id="sb9e424bd9e3e2723"> | ||||||
|  |         <source>No Subscription</source> | ||||||
|  |       </trans-unit> | ||||||
|  |       <trans-unit id="s7da138cc56abec6c"> | ||||||
|  |         <source>Active Subscription</source> | ||||||
|  |       </trans-unit> | ||||||
|  |       <trans-unit id="se3d7a30d5e45c393"> | ||||||
|  |         <source>Trial</source> | ||||||
|  |       </trans-unit> | ||||||
|  |       <trans-unit id="s5aff130b6d78c668"> | ||||||
|  |         <source>Trial Cancelled</source> | ||||||
|  |       </trans-unit> | ||||||
|  |       <trans-unit id="s2e515f3ca456f9c6"> | ||||||
|  |         <source>Trial Canceled</source> | ||||||
|  |       </trans-unit> | ||||||
|  |       <trans-unit id="s31e12850da47731e"> | ||||||
|  |         <source>Payment Failed</source> | ||||||
|  |       </trans-unit> | ||||||
|  |       <trans-unit id="s1ebb825e892a8359"> | ||||||
|  |         <source>Choose a snapshot</source> | ||||||
|  |       </trans-unit> | ||||||
|  |       <trans-unit id="s6e8c186600b4f8a6"> | ||||||
|  |         <source>Enter a page URL to choose snapshot</source> | ||||||
|  |       </trans-unit> | ||||||
|  |       <trans-unit id="s537d04835ef62b2b"> | ||||||
|  |         <source>Search for a page in this collection</source> | ||||||
|  |       </trans-unit> | ||||||
|  |       <trans-unit id="sb48ebdd9325e370b"> | ||||||
|  |         <source>Page exists in collection</source> | ||||||
|  |       </trans-unit> | ||||||
|  |       <trans-unit id="s485d151771b0a33c"> | ||||||
|  |         <source>Page not found in collection. Please check the URL and try again</source> | ||||||
|  |       </trans-unit> | ||||||
|  |       <trans-unit id="sd632247a75e16736"> | ||||||
|  |         <source>No matching page found.</source> | ||||||
|  |       </trans-unit> | ||||||
|  |       <trans-unit id="s6bea976384dcc959"> | ||||||
|  |         <source>Couldn't load preview. Try another snapshot</source> | ||||||
|  |       </trans-unit> | ||||||
|  |       <trans-unit id="s1b5466748e5d9733"> | ||||||
|  |         <source>Configure Replay View</source> | ||||||
|  |       </trans-unit> | ||||||
|  |       <trans-unit id="s8df0435252529c62"> | ||||||
|  |         <source>Choose a page snapshot</source> | ||||||
|  |       </trans-unit> | ||||||
|  |       <trans-unit id="s7239e04f3953266c"> | ||||||
|  |         <source>Configure View</source> | ||||||
|  |       </trans-unit> | ||||||
|  |       <trans-unit id="s9b649a5c57384213"> | ||||||
|  |         <source>Your org doesn’t have any collections yet.</source> | ||||||
|  |       </trans-unit> | ||||||
|  |       <trans-unit id="sa35d8dcb231a2c75"> | ||||||
|  |         <source>Collections let you easily organize, replay, and share multiple crawls.</source> | ||||||
|  |       </trans-unit> | ||||||
|  |       <trans-unit id="sd42ed7f1a573d096"> | ||||||
|  |         <source>Page Uploaded</source> | ||||||
|  |       </trans-unit> | ||||||
|  |       <trans-unit id="s8a3aa1db56f18c55"> | ||||||
|  |         <source>Pages Uploaded</source> | ||||||
|  |       </trans-unit> | ||||||
|  |       <trans-unit id="saff358234fee600c"> | ||||||
|  |         <source>Page Total</source> | ||||||
|  |       </trans-unit> | ||||||
|  |       <trans-unit id="s1fda6e1bbcd65195"> | ||||||
|  |         <source>Pages Total</source> | ||||||
|  |       </trans-unit> | ||||||
|  |       <trans-unit id="s2f8856b910d3ebf8"> | ||||||
|  |         <source>Copy Link to Profile</source> | ||||||
|  |       </trans-unit> | ||||||
|     </body> |     </body> | ||||||
|   </file> |   </file> | ||||||
| </xliff> | </xliff> | ||||||
|  | |||||||
							
								
								
									
										100
									
								
								frontend/xliff/es.xlf
									
									
									
										generated
									
									
									
								
							
							
						
						
									
										100
									
								
								frontend/xliff/es.xlf
									
									
									
										generated
									
									
									
								
							| @ -1766,19 +1766,6 @@ | |||||||
|                 <x id="0" equiv-text="<strong>${this.selectedCollection?.name}</strong>"/>?</source> |                 <x id="0" equiv-text="<strong>${this.selectedCollection?.name}</strong>"/>?</source> | ||||||
|         <target state="translated">¿Está seguro que desea eliminar <x id="0" equiv-text="<strong>${this.selectedCollection?.name}</strong>"/>?</target> |         <target state="translated">¿Está seguro que desea eliminar <x id="0" equiv-text="<strong>${this.selectedCollection?.name}</strong>"/>?</target> | ||||||
|       </trans-unit> |       </trans-unit> | ||||||
|       <trans-unit id="s777098c61f6b518a"> |  | ||||||
|         <source>Start building your Collection.</source> |  | ||||||
|       </trans-unit> |  | ||||||
|       <trans-unit xml:space="preserve" id="s04200a50c7577767"> |  | ||||||
|         <source>No Collections Found</source> |  | ||||||
|         <target state="translated">No se han encontrado colecciones</target> |  | ||||||
|       </trans-unit> |  | ||||||
|       <trans-unit id="s9f8154ea8167f3f7"> |  | ||||||
|         <source>Organize your crawls into a Collection to easily replay them together.</source> |  | ||||||
|       </trans-unit> |  | ||||||
|       <trans-unit id="s15aac264eaeac4fc"> |  | ||||||
|         <source>Your organization doesn't have any Collections, yet.</source> |  | ||||||
|       </trans-unit> |  | ||||||
|       <trans-unit xml:space="preserve" id="s7be481b712fcb089"> |       <trans-unit xml:space="preserve" id="s7be481b712fcb089"> | ||||||
|         <source>Search by Name</source> |         <source>Search by Name</source> | ||||||
|         <target state="translated">Buscar por nombre</target> |         <target state="translated">Buscar por nombre</target> | ||||||
| @ -1797,10 +1784,6 @@ | |||||||
|       <trans-unit id="sa3242c7021e01280"> |       <trans-unit id="sa3242c7021e01280"> | ||||||
|         <source>Row Actions</source> |         <source>Row Actions</source> | ||||||
|       </trans-unit> |       </trans-unit> | ||||||
|       <trans-unit xml:space="preserve" id="sf0c64ac402e1e0b9"> |  | ||||||
|         <source>No Collections Yet.</source> |  | ||||||
|         <target state="translated">Aún no hay colecciones.</target> |  | ||||||
|       </trans-unit> |  | ||||||
|       <trans-unit xml:space="preserve" id="s5ac7d4f485d82e8c"> |       <trans-unit xml:space="preserve" id="s5ac7d4f485d82e8c"> | ||||||
|         <source>Shareable Collection</source> |         <source>Shareable Collection</source> | ||||||
|         <target state="translated">Colección compartible</target> |         <target state="translated">Colección compartible</target> | ||||||
| @ -3273,7 +3256,7 @@ | |||||||
|       </trans-unit> |       </trans-unit> | ||||||
|       <trans-unit xml:space="preserve" id="saf63d34c8601dd41"> |       <trans-unit xml:space="preserve" id="saf63d34c8601dd41"> | ||||||
|         <source> |         <source> | ||||||
|           <x id="0" equiv-text="${humanizeSchedule(workflow.schedule, {
    length: "short",
})}"/> |           <x id="0" equiv-text="${this.localize.number(this.item.pageCount ? +this.item.pageCount : 0)}"/> | ||||||
|         </source> |         </source> | ||||||
|         <target state="translated"> |         <target state="translated"> | ||||||
|           <x id="0" equiv-text="${humanizeSchedule(workflow.schedule, {
    length: "short",
})}"/> |           <x id="0" equiv-text="${humanizeSchedule(workflow.schedule, {
    length: "short",
})}"/> | ||||||
| @ -4501,9 +4484,6 @@ | |||||||
|       <trans-unit id="s66da7b7937e76a3a"> |       <trans-unit id="s66da7b7937e76a3a"> | ||||||
|         <source>Start typing a URL...</source> |         <source>Start typing a URL...</source> | ||||||
|       </trans-unit> |       </trans-unit> | ||||||
|       <trans-unit id="sfedd97f6911305d1"> |  | ||||||
|         <source>No matching pages found.</source> |  | ||||||
|       </trans-unit> |  | ||||||
|       <trans-unit id="s7bec6de4e84e7519"> |       <trans-unit id="s7bec6de4e84e7519"> | ||||||
|         <source>ReplayWeb.Page default view</source> |         <source>ReplayWeb.Page default view</source> | ||||||
|       </trans-unit> |       </trans-unit> | ||||||
| @ -4513,9 +4493,6 @@ | |||||||
|       <trans-unit id="s5d948bb5f9f0a378"> |       <trans-unit id="s5d948bb5f9f0a378"> | ||||||
|         <source>Show a single URL snapshot</source> |         <source>Show a single URL snapshot</source> | ||||||
|       </trans-unit> |       </trans-unit> | ||||||
|       <trans-unit id="s7cdd26a53c30f8c5"> |  | ||||||
|         <source>Configure Replay Home</source> |  | ||||||
|       </trans-unit> |  | ||||||
|       <trans-unit id="s417b90913e05bc17"> |       <trans-unit id="s417b90913e05bc17"> | ||||||
|         <source>Preview</source> |         <source>Preview</source> | ||||||
|       </trans-unit> |       </trans-unit> | ||||||
| @ -4632,9 +4609,6 @@ | |||||||
|       <trans-unit id="s1cb226f223599f56"> |       <trans-unit id="s1cb226f223599f56"> | ||||||
|         <source>Add items to select a home page</source> |         <source>Add items to select a home page</source> | ||||||
|       </trans-unit> |       </trans-unit> | ||||||
|       <trans-unit id="s3879a0e50452a712"> |  | ||||||
|         <source>Configure Home</source> |  | ||||||
|       </trans-unit> |  | ||||||
|       <trans-unit id="s1f45d250722817c7"> |       <trans-unit id="s1f45d250722817c7"> | ||||||
|         <source>Edit About Section</source> |         <source>Edit About Section</source> | ||||||
|       </trans-unit> |       </trans-unit> | ||||||
| @ -4806,6 +4780,78 @@ | |||||||
|         <source><x id="0" equiv-text="${dateEarliest}"/> to <x id="1" equiv-text="${dateLatest}"/></source> |         <source><x id="0" equiv-text="${dateEarliest}"/> to <x id="1" equiv-text="${dateLatest}"/></source> | ||||||
|         <note from="lit-localize">Date range formatted to show full month name and year</note> |         <note from="lit-localize">Date range formatted to show full month name and year</note> | ||||||
|       </trans-unit> |       </trans-unit> | ||||||
|  |       <trans-unit id="s2428027aa3e49f16"> | ||||||
|  |         <source>Last Crawl</source> | ||||||
|  |       </trans-unit> | ||||||
|  |       <trans-unit id="sb9e424bd9e3e2723"> | ||||||
|  |         <source>No Subscription</source> | ||||||
|  |       </trans-unit> | ||||||
|  |       <trans-unit id="s7da138cc56abec6c"> | ||||||
|  |         <source>Active Subscription</source> | ||||||
|  |       </trans-unit> | ||||||
|  |       <trans-unit id="se3d7a30d5e45c393"> | ||||||
|  |         <source>Trial</source> | ||||||
|  |       </trans-unit> | ||||||
|  |       <trans-unit id="s5aff130b6d78c668"> | ||||||
|  |         <source>Trial Cancelled</source> | ||||||
|  |       </trans-unit> | ||||||
|  |       <trans-unit id="s2e515f3ca456f9c6"> | ||||||
|  |         <source>Trial Canceled</source> | ||||||
|  |       </trans-unit> | ||||||
|  |       <trans-unit id="s31e12850da47731e"> | ||||||
|  |         <source>Payment Failed</source> | ||||||
|  |       </trans-unit> | ||||||
|  |       <trans-unit id="s1ebb825e892a8359"> | ||||||
|  |         <source>Choose a snapshot</source> | ||||||
|  |       </trans-unit> | ||||||
|  |       <trans-unit id="s6e8c186600b4f8a6"> | ||||||
|  |         <source>Enter a page URL to choose snapshot</source> | ||||||
|  |       </trans-unit> | ||||||
|  |       <trans-unit id="s537d04835ef62b2b"> | ||||||
|  |         <source>Search for a page in this collection</source> | ||||||
|  |       </trans-unit> | ||||||
|  |       <trans-unit id="sb48ebdd9325e370b"> | ||||||
|  |         <source>Page exists in collection</source> | ||||||
|  |       </trans-unit> | ||||||
|  |       <trans-unit id="s485d151771b0a33c"> | ||||||
|  |         <source>Page not found in collection. Please check the URL and try again</source> | ||||||
|  |       </trans-unit> | ||||||
|  |       <trans-unit id="sd632247a75e16736"> | ||||||
|  |         <source>No matching page found.</source> | ||||||
|  |       </trans-unit> | ||||||
|  |       <trans-unit id="s6bea976384dcc959"> | ||||||
|  |         <source>Couldn't load preview. Try another snapshot</source> | ||||||
|  |       </trans-unit> | ||||||
|  |       <trans-unit id="s1b5466748e5d9733"> | ||||||
|  |         <source>Configure Replay View</source> | ||||||
|  |       </trans-unit> | ||||||
|  |       <trans-unit id="s8df0435252529c62"> | ||||||
|  |         <source>Choose a page snapshot</source> | ||||||
|  |       </trans-unit> | ||||||
|  |       <trans-unit id="s7239e04f3953266c"> | ||||||
|  |         <source>Configure View</source> | ||||||
|  |       </trans-unit> | ||||||
|  |       <trans-unit id="s9b649a5c57384213"> | ||||||
|  |         <source>Your org doesn’t have any collections yet.</source> | ||||||
|  |       </trans-unit> | ||||||
|  |       <trans-unit id="sa35d8dcb231a2c75"> | ||||||
|  |         <source>Collections let you easily organize, replay, and share multiple crawls.</source> | ||||||
|  |       </trans-unit> | ||||||
|  |       <trans-unit id="sd42ed7f1a573d096"> | ||||||
|  |         <source>Page Uploaded</source> | ||||||
|  |       </trans-unit> | ||||||
|  |       <trans-unit id="s8a3aa1db56f18c55"> | ||||||
|  |         <source>Pages Uploaded</source> | ||||||
|  |       </trans-unit> | ||||||
|  |       <trans-unit id="saff358234fee600c"> | ||||||
|  |         <source>Page Total</source> | ||||||
|  |       </trans-unit> | ||||||
|  |       <trans-unit id="s1fda6e1bbcd65195"> | ||||||
|  |         <source>Pages Total</source> | ||||||
|  |       </trans-unit> | ||||||
|  |       <trans-unit id="s2f8856b910d3ebf8"> | ||||||
|  |         <source>Copy Link to Profile</source> | ||||||
|  |       </trans-unit> | ||||||
|     </body> |     </body> | ||||||
|   </file> |   </file> | ||||||
| </xliff> | </xliff> | ||||||
|  | |||||||
							
								
								
									
										103
									
								
								frontend/xliff/fr.xlf
									
									
									
										generated
									
									
									
								
							
							
						
						
									
										103
									
								
								frontend/xliff/fr.xlf
									
									
									
										generated
									
									
									
								
							| @ -2125,22 +2125,6 @@ | |||||||
|                 <x id="0" equiv-text="<strong>${this.selectedCollection?.name}</strong>"/>?</source> |                 <x id="0" equiv-text="<strong>${this.selectedCollection?.name}</strong>"/>?</source> | ||||||
|         <target state="translated">Êtes-vous certain de vouloir supprimer <x id="0" equiv-text="<strong>${this.selectedCollection?.name}</strong>"/>?</target> |         <target state="translated">Êtes-vous certain de vouloir supprimer <x id="0" equiv-text="<strong>${this.selectedCollection?.name}</strong>"/>?</target> | ||||||
|       </trans-unit> |       </trans-unit> | ||||||
|       <trans-unit id="s777098c61f6b518a" xml:space="preserve"> |  | ||||||
|         <source>Start building your Collection.</source> |  | ||||||
|         <target state="translated">Démarrer la création de la collection.</target> |  | ||||||
|       </trans-unit> |  | ||||||
|       <trans-unit id="s04200a50c7577767" xml:space="preserve"> |  | ||||||
|         <source>No Collections Found</source> |  | ||||||
|         <target state="translated">Aucune collection trouvée</target> |  | ||||||
|       </trans-unit> |  | ||||||
|       <trans-unit id="s9f8154ea8167f3f7" xml:space="preserve"> |  | ||||||
|         <source>Organize your crawls into a Collection to easily replay them together.</source> |  | ||||||
|         <target state="translated">Organiser vos collectes en collection pour pouvoir les rejouer ensemble.</target> |  | ||||||
|       </trans-unit> |  | ||||||
|       <trans-unit id="s15aac264eaeac4fc" xml:space="preserve"> |  | ||||||
|         <source>Your organization doesn't have any Collections, yet.</source> |  | ||||||
|         <target state="translated">Votre organisation ne détient aucune collection présentement.</target> |  | ||||||
|       </trans-unit> |  | ||||||
|       <trans-unit id="s7be481b712fcb089" xml:space="preserve"> |       <trans-unit id="s7be481b712fcb089" xml:space="preserve"> | ||||||
|         <source>Search by Name</source> |         <source>Search by Name</source> | ||||||
|         <target state="translated">Rechercher par nom</target> |         <target state="translated">Rechercher par nom</target> | ||||||
| @ -2161,10 +2145,6 @@ | |||||||
|         <source>Row Actions</source> |         <source>Row Actions</source> | ||||||
|         <target state="translated">Rangée actions</target> |         <target state="translated">Rangée actions</target> | ||||||
|       </trans-unit> |       </trans-unit> | ||||||
|       <trans-unit id="sf0c64ac402e1e0b9" xml:space="preserve"> |  | ||||||
|         <source>No Collections Yet.</source> |  | ||||||
|         <target state="translated">Aucune collection jusqu'à présent.</target> |  | ||||||
|       </trans-unit> |  | ||||||
|       <trans-unit id="s5ac7d4f485d82e8c" xml:space="preserve"> |       <trans-unit id="s5ac7d4f485d82e8c" xml:space="preserve"> | ||||||
|         <source>Shareable Collection</source> |         <source>Shareable Collection</source> | ||||||
|         <target state="translated">Collection partageable</target> |         <target state="translated">Collection partageable</target> | ||||||
| @ -3782,7 +3762,7 @@ | |||||||
|       </trans-unit> |       </trans-unit> | ||||||
|       <trans-unit id="saf63d34c8601dd41"> |       <trans-unit id="saf63d34c8601dd41"> | ||||||
|         <source> |         <source> | ||||||
|           <x id="0" equiv-text="${humanizeSchedule(workflow.schedule, {
    length: "short",
})}"/> |           <x id="0" equiv-text="${this.localize.number(this.item.pageCount ? +this.item.pageCount : 0)}"/> | ||||||
|         </source> |         </source> | ||||||
|       </trans-unit> |       </trans-unit> | ||||||
|       <trans-unit id="s136b21dec9a221bd"> |       <trans-unit id="s136b21dec9a221bd"> | ||||||
| @ -4625,9 +4605,6 @@ | |||||||
|       <trans-unit id="s66da7b7937e76a3a"> |       <trans-unit id="s66da7b7937e76a3a"> | ||||||
|         <source>Start typing a URL...</source> |         <source>Start typing a URL...</source> | ||||||
|       </trans-unit> |       </trans-unit> | ||||||
|       <trans-unit id="sfedd97f6911305d1"> |  | ||||||
|         <source>No matching pages found.</source> |  | ||||||
|       </trans-unit> |  | ||||||
|       <trans-unit id="s7bec6de4e84e7519"> |       <trans-unit id="s7bec6de4e84e7519"> | ||||||
|         <source>ReplayWeb.Page default view</source> |         <source>ReplayWeb.Page default view</source> | ||||||
|       </trans-unit> |       </trans-unit> | ||||||
| @ -4637,9 +4614,6 @@ | |||||||
|       <trans-unit id="s5d948bb5f9f0a378"> |       <trans-unit id="s5d948bb5f9f0a378"> | ||||||
|         <source>Show a single URL snapshot</source> |         <source>Show a single URL snapshot</source> | ||||||
|       </trans-unit> |       </trans-unit> | ||||||
|       <trans-unit id="s7cdd26a53c30f8c5"> |  | ||||||
|         <source>Configure Replay Home</source> |  | ||||||
|       </trans-unit> |  | ||||||
|       <trans-unit id="s417b90913e05bc17"> |       <trans-unit id="s417b90913e05bc17"> | ||||||
|         <source>Preview</source> |         <source>Preview</source> | ||||||
|       </trans-unit> |       </trans-unit> | ||||||
| @ -4756,9 +4730,6 @@ | |||||||
|       <trans-unit id="s1cb226f223599f56"> |       <trans-unit id="s1cb226f223599f56"> | ||||||
|         <source>Add items to select a home page</source> |         <source>Add items to select a home page</source> | ||||||
|       </trans-unit> |       </trans-unit> | ||||||
|       <trans-unit id="s3879a0e50452a712"> |  | ||||||
|         <source>Configure Home</source> |  | ||||||
|       </trans-unit> |  | ||||||
|       <trans-unit id="s1f45d250722817c7"> |       <trans-unit id="s1f45d250722817c7"> | ||||||
|         <source>Edit About Section</source> |         <source>Edit About Section</source> | ||||||
|       </trans-unit> |       </trans-unit> | ||||||
| @ -4930,6 +4901,78 @@ | |||||||
|         <source><x id="0" equiv-text="${dateEarliest}"/> to <x id="1" equiv-text="${dateLatest}"/></source> |         <source><x id="0" equiv-text="${dateEarliest}"/> to <x id="1" equiv-text="${dateLatest}"/></source> | ||||||
|         <note from="lit-localize">Date range formatted to show full month name and year</note> |         <note from="lit-localize">Date range formatted to show full month name and year</note> | ||||||
|       </trans-unit> |       </trans-unit> | ||||||
|  |       <trans-unit id="s2428027aa3e49f16"> | ||||||
|  |         <source>Last Crawl</source> | ||||||
|  |       </trans-unit> | ||||||
|  |       <trans-unit id="sb9e424bd9e3e2723"> | ||||||
|  |         <source>No Subscription</source> | ||||||
|  |       </trans-unit> | ||||||
|  |       <trans-unit id="s7da138cc56abec6c"> | ||||||
|  |         <source>Active Subscription</source> | ||||||
|  |       </trans-unit> | ||||||
|  |       <trans-unit id="se3d7a30d5e45c393"> | ||||||
|  |         <source>Trial</source> | ||||||
|  |       </trans-unit> | ||||||
|  |       <trans-unit id="s5aff130b6d78c668"> | ||||||
|  |         <source>Trial Cancelled</source> | ||||||
|  |       </trans-unit> | ||||||
|  |       <trans-unit id="s2e515f3ca456f9c6"> | ||||||
|  |         <source>Trial Canceled</source> | ||||||
|  |       </trans-unit> | ||||||
|  |       <trans-unit id="s31e12850da47731e"> | ||||||
|  |         <source>Payment Failed</source> | ||||||
|  |       </trans-unit> | ||||||
|  |       <trans-unit id="s1ebb825e892a8359"> | ||||||
|  |         <source>Choose a snapshot</source> | ||||||
|  |       </trans-unit> | ||||||
|  |       <trans-unit id="s6e8c186600b4f8a6"> | ||||||
|  |         <source>Enter a page URL to choose snapshot</source> | ||||||
|  |       </trans-unit> | ||||||
|  |       <trans-unit id="s537d04835ef62b2b"> | ||||||
|  |         <source>Search for a page in this collection</source> | ||||||
|  |       </trans-unit> | ||||||
|  |       <trans-unit id="sb48ebdd9325e370b"> | ||||||
|  |         <source>Page exists in collection</source> | ||||||
|  |       </trans-unit> | ||||||
|  |       <trans-unit id="s485d151771b0a33c"> | ||||||
|  |         <source>Page not found in collection. Please check the URL and try again</source> | ||||||
|  |       </trans-unit> | ||||||
|  |       <trans-unit id="sd632247a75e16736"> | ||||||
|  |         <source>No matching page found.</source> | ||||||
|  |       </trans-unit> | ||||||
|  |       <trans-unit id="s6bea976384dcc959"> | ||||||
|  |         <source>Couldn't load preview. Try another snapshot</source> | ||||||
|  |       </trans-unit> | ||||||
|  |       <trans-unit id="s1b5466748e5d9733"> | ||||||
|  |         <source>Configure Replay View</source> | ||||||
|  |       </trans-unit> | ||||||
|  |       <trans-unit id="s8df0435252529c62"> | ||||||
|  |         <source>Choose a page snapshot</source> | ||||||
|  |       </trans-unit> | ||||||
|  |       <trans-unit id="s7239e04f3953266c"> | ||||||
|  |         <source>Configure View</source> | ||||||
|  |       </trans-unit> | ||||||
|  |       <trans-unit id="s9b649a5c57384213"> | ||||||
|  |         <source>Your org doesn’t have any collections yet.</source> | ||||||
|  |       </trans-unit> | ||||||
|  |       <trans-unit id="sa35d8dcb231a2c75"> | ||||||
|  |         <source>Collections let you easily organize, replay, and share multiple crawls.</source> | ||||||
|  |       </trans-unit> | ||||||
|  |       <trans-unit id="sd42ed7f1a573d096"> | ||||||
|  |         <source>Page Uploaded</source> | ||||||
|  |       </trans-unit> | ||||||
|  |       <trans-unit id="s8a3aa1db56f18c55"> | ||||||
|  |         <source>Pages Uploaded</source> | ||||||
|  |       </trans-unit> | ||||||
|  |       <trans-unit id="saff358234fee600c"> | ||||||
|  |         <source>Page Total</source> | ||||||
|  |       </trans-unit> | ||||||
|  |       <trans-unit id="s1fda6e1bbcd65195"> | ||||||
|  |         <source>Pages Total</source> | ||||||
|  |       </trans-unit> | ||||||
|  |       <trans-unit id="s2f8856b910d3ebf8"> | ||||||
|  |         <source>Copy Link to Profile</source> | ||||||
|  |       </trans-unit> | ||||||
|     </body> |     </body> | ||||||
|   </file> |   </file> | ||||||
| </xliff> | </xliff> | ||||||
|  | |||||||
							
								
								
									
										98
									
								
								frontend/xliff/pt.xlf
									
									
									
										generated
									
									
									
								
							
							
						
						
									
										98
									
								
								frontend/xliff/pt.xlf
									
									
									
										generated
									
									
									
								
							| @ -1597,18 +1597,6 @@ | |||||||
|         <source>Are you sure you want to delete |         <source>Are you sure you want to delete | ||||||
|                 <x id="0" equiv-text="<strong>${this.selectedCollection?.name}</strong>"/>?</source> |                 <x id="0" equiv-text="<strong>${this.selectedCollection?.name}</strong>"/>?</source> | ||||||
|       </trans-unit> |       </trans-unit> | ||||||
|       <trans-unit id="s777098c61f6b518a"> |  | ||||||
|         <source>Start building your Collection.</source> |  | ||||||
|       </trans-unit> |  | ||||||
|       <trans-unit id="s04200a50c7577767"> |  | ||||||
|         <source>No Collections Found</source> |  | ||||||
|       </trans-unit> |  | ||||||
|       <trans-unit id="s9f8154ea8167f3f7"> |  | ||||||
|         <source>Organize your crawls into a Collection to easily replay them together.</source> |  | ||||||
|       </trans-unit> |  | ||||||
|       <trans-unit id="s15aac264eaeac4fc"> |  | ||||||
|         <source>Your organization doesn't have any Collections, yet.</source> |  | ||||||
|       </trans-unit> |  | ||||||
|       <trans-unit id="s7be481b712fcb089"> |       <trans-unit id="s7be481b712fcb089"> | ||||||
|         <source>Search by Name</source> |         <source>Search by Name</source> | ||||||
|       </trans-unit> |       </trans-unit> | ||||||
| @ -1624,9 +1612,6 @@ | |||||||
|       <trans-unit id="sa3242c7021e01280"> |       <trans-unit id="sa3242c7021e01280"> | ||||||
|         <source>Row Actions</source> |         <source>Row Actions</source> | ||||||
|       </trans-unit> |       </trans-unit> | ||||||
|       <trans-unit id="sf0c64ac402e1e0b9"> |  | ||||||
|         <source>No Collections Yet.</source> |  | ||||||
|       </trans-unit> |  | ||||||
|       <trans-unit id="s5ac7d4f485d82e8c"> |       <trans-unit id="s5ac7d4f485d82e8c"> | ||||||
|         <source>Shareable Collection</source> |         <source>Shareable Collection</source> | ||||||
|       </trans-unit> |       </trans-unit> | ||||||
| @ -3018,7 +3003,7 @@ | |||||||
|       </trans-unit> |       </trans-unit> | ||||||
|       <trans-unit id="saf63d34c8601dd41"> |       <trans-unit id="saf63d34c8601dd41"> | ||||||
|         <source> |         <source> | ||||||
|           <x id="0" equiv-text="${humanizeSchedule(workflow.schedule, {
    length: "short",
})}"/> |           <x id="0" equiv-text="${this.localize.number(this.item.pageCount ? +this.item.pageCount : 0)}"/> | ||||||
|         </source> |         </source> | ||||||
|       </trans-unit> |       </trans-unit> | ||||||
|       <trans-unit id="s136b21dec9a221bd"> |       <trans-unit id="s136b21dec9a221bd"> | ||||||
| @ -3861,9 +3846,6 @@ | |||||||
|       <trans-unit id="s66da7b7937e76a3a"> |       <trans-unit id="s66da7b7937e76a3a"> | ||||||
|         <source>Start typing a URL...</source> |         <source>Start typing a URL...</source> | ||||||
|       </trans-unit> |       </trans-unit> | ||||||
|       <trans-unit id="sfedd97f6911305d1"> |  | ||||||
|         <source>No matching pages found.</source> |  | ||||||
|       </trans-unit> |  | ||||||
|       <trans-unit id="s7bec6de4e84e7519"> |       <trans-unit id="s7bec6de4e84e7519"> | ||||||
|         <source>ReplayWeb.Page default view</source> |         <source>ReplayWeb.Page default view</source> | ||||||
|       </trans-unit> |       </trans-unit> | ||||||
| @ -3873,9 +3855,6 @@ | |||||||
|       <trans-unit id="s5d948bb5f9f0a378"> |       <trans-unit id="s5d948bb5f9f0a378"> | ||||||
|         <source>Show a single URL snapshot</source> |         <source>Show a single URL snapshot</source> | ||||||
|       </trans-unit> |       </trans-unit> | ||||||
|       <trans-unit id="s7cdd26a53c30f8c5"> |  | ||||||
|         <source>Configure Replay Home</source> |  | ||||||
|       </trans-unit> |  | ||||||
|       <trans-unit id="s417b90913e05bc17"> |       <trans-unit id="s417b90913e05bc17"> | ||||||
|         <source>Preview</source> |         <source>Preview</source> | ||||||
|       </trans-unit> |       </trans-unit> | ||||||
| @ -3992,9 +3971,6 @@ | |||||||
|       <trans-unit id="s1cb226f223599f56"> |       <trans-unit id="s1cb226f223599f56"> | ||||||
|         <source>Add items to select a home page</source> |         <source>Add items to select a home page</source> | ||||||
|       </trans-unit> |       </trans-unit> | ||||||
|       <trans-unit id="s3879a0e50452a712"> |  | ||||||
|         <source>Configure Home</source> |  | ||||||
|       </trans-unit> |  | ||||||
|       <trans-unit id="s1f45d250722817c7"> |       <trans-unit id="s1f45d250722817c7"> | ||||||
|         <source>Edit About Section</source> |         <source>Edit About Section</source> | ||||||
|       </trans-unit> |       </trans-unit> | ||||||
| @ -4166,6 +4142,78 @@ | |||||||
|         <source><x id="0" equiv-text="${dateEarliest}"/> to <x id="1" equiv-text="${dateLatest}"/></source> |         <source><x id="0" equiv-text="${dateEarliest}"/> to <x id="1" equiv-text="${dateLatest}"/></source> | ||||||
|         <note from="lit-localize">Date range formatted to show full month name and year</note> |         <note from="lit-localize">Date range formatted to show full month name and year</note> | ||||||
|       </trans-unit> |       </trans-unit> | ||||||
|  |       <trans-unit id="s2428027aa3e49f16"> | ||||||
|  |         <source>Last Crawl</source> | ||||||
|  |       </trans-unit> | ||||||
|  |       <trans-unit id="sb9e424bd9e3e2723"> | ||||||
|  |         <source>No Subscription</source> | ||||||
|  |       </trans-unit> | ||||||
|  |       <trans-unit id="s7da138cc56abec6c"> | ||||||
|  |         <source>Active Subscription</source> | ||||||
|  |       </trans-unit> | ||||||
|  |       <trans-unit id="se3d7a30d5e45c393"> | ||||||
|  |         <source>Trial</source> | ||||||
|  |       </trans-unit> | ||||||
|  |       <trans-unit id="s5aff130b6d78c668"> | ||||||
|  |         <source>Trial Cancelled</source> | ||||||
|  |       </trans-unit> | ||||||
|  |       <trans-unit id="s2e515f3ca456f9c6"> | ||||||
|  |         <source>Trial Canceled</source> | ||||||
|  |       </trans-unit> | ||||||
|  |       <trans-unit id="s31e12850da47731e"> | ||||||
|  |         <source>Payment Failed</source> | ||||||
|  |       </trans-unit> | ||||||
|  |       <trans-unit id="s1ebb825e892a8359"> | ||||||
|  |         <source>Choose a snapshot</source> | ||||||
|  |       </trans-unit> | ||||||
|  |       <trans-unit id="s6e8c186600b4f8a6"> | ||||||
|  |         <source>Enter a page URL to choose snapshot</source> | ||||||
|  |       </trans-unit> | ||||||
|  |       <trans-unit id="s537d04835ef62b2b"> | ||||||
|  |         <source>Search for a page in this collection</source> | ||||||
|  |       </trans-unit> | ||||||
|  |       <trans-unit id="sb48ebdd9325e370b"> | ||||||
|  |         <source>Page exists in collection</source> | ||||||
|  |       </trans-unit> | ||||||
|  |       <trans-unit id="s485d151771b0a33c"> | ||||||
|  |         <source>Page not found in collection. Please check the URL and try again</source> | ||||||
|  |       </trans-unit> | ||||||
|  |       <trans-unit id="sd632247a75e16736"> | ||||||
|  |         <source>No matching page found.</source> | ||||||
|  |       </trans-unit> | ||||||
|  |       <trans-unit id="s6bea976384dcc959"> | ||||||
|  |         <source>Couldn't load preview. Try another snapshot</source> | ||||||
|  |       </trans-unit> | ||||||
|  |       <trans-unit id="s1b5466748e5d9733"> | ||||||
|  |         <source>Configure Replay View</source> | ||||||
|  |       </trans-unit> | ||||||
|  |       <trans-unit id="s8df0435252529c62"> | ||||||
|  |         <source>Choose a page snapshot</source> | ||||||
|  |       </trans-unit> | ||||||
|  |       <trans-unit id="s7239e04f3953266c"> | ||||||
|  |         <source>Configure View</source> | ||||||
|  |       </trans-unit> | ||||||
|  |       <trans-unit id="s9b649a5c57384213"> | ||||||
|  |         <source>Your org doesn’t have any collections yet.</source> | ||||||
|  |       </trans-unit> | ||||||
|  |       <trans-unit id="sa35d8dcb231a2c75"> | ||||||
|  |         <source>Collections let you easily organize, replay, and share multiple crawls.</source> | ||||||
|  |       </trans-unit> | ||||||
|  |       <trans-unit id="sd42ed7f1a573d096"> | ||||||
|  |         <source>Page Uploaded</source> | ||||||
|  |       </trans-unit> | ||||||
|  |       <trans-unit id="s8a3aa1db56f18c55"> | ||||||
|  |         <source>Pages Uploaded</source> | ||||||
|  |       </trans-unit> | ||||||
|  |       <trans-unit id="saff358234fee600c"> | ||||||
|  |         <source>Page Total</source> | ||||||
|  |       </trans-unit> | ||||||
|  |       <trans-unit id="s1fda6e1bbcd65195"> | ||||||
|  |         <source>Pages Total</source> | ||||||
|  |       </trans-unit> | ||||||
|  |       <trans-unit id="s2f8856b910d3ebf8"> | ||||||
|  |         <source>Copy Link to Profile</source> | ||||||
|  |       </trans-unit> | ||||||
|     </body> |     </body> | ||||||
|   </file> |   </file> | ||||||
| </xliff> | </xliff> | ||||||
|  | |||||||
		Loading…
	
		Reference in New Issue
	
	Block a user