Commit Graph

2041 Commits

Author SHA1 Message Date
copilot-swe-agent[bot]
dc9c7b76f2 Add tests for WipeInventory functionality
Co-authored-by: katosdev <7927609+katosdev@users.noreply.github.com>
2025-12-28 17:05:10 +00:00
copilot-swe-agent[bot]
b99102e093 Fix wipe inventory: delete maintenance records before items
Co-authored-by: katosdev <7927609+katosdev@users.noreply.github.com>
2025-12-28 17:01:12 +00:00
copilot-swe-agent[bot]
3077602f93 Initial plan 2025-12-28 16:50:34 +00:00
Phil
2bd6ff580a Add option to wipe inventory 2025-12-28 16:32:53 +00:00
copilot-swe-agent[bot]
35941583c8 Fix frontend linting errors in WipeInventoryDialog
- Replaced BaseModal and BaseButton with AlertDialog components from ui library
- Added proper imports for AlertDialog, AlertDialogContent, AlertDialogHeader, etc.
- Fixed prettier formatting issues (auto-fixed by eslint --fix)
- Fixed Tailwind CSS shorthand (h-4 w-4 -> size-4)
- Added addAlert/removeAlert for dialog provider integration
- All linting and type-checking errors resolved

Co-authored-by: katosdev <7927609+katosdev@users.noreply.github.com>
2025-12-28 16:26:09 +00:00
copilot-swe-agent[bot]
d576c89c7e Add maintenance records checkbox to wipe inventory dialog
- Added wipeMaintenance parameter to backend WipeInventory method
- Added checkbox in WipeInventoryDialog for wiping maintenance records
- Updated demo mode error message to include maintenance records
- Added translation key "wipe_inventory_maintenance" to en.json
- Maintenance records are linked to items via HasItemWith query
- Follows same structure as labels and locations checkboxes

Co-authored-by: katosdev <7927609+katosdev@users.noreply.github.com>
2025-12-28 16:08:33 +00:00
copilot-swe-agent[bot]
ff355f3cd8 Add demo mode check for wipe inventory action
Added frontend check to display error modal when user attempts to wipe inventory in demo mode. The modal shows: "Inventory, labels and locations cannot be wiped whilst Homebox is in demo mode. Please ensure that you are not in demo mode and try again."

Backend already had demo mode protection returning 403 Forbidden.

Co-authored-by: katosdev <7927609+katosdev@users.noreply.github.com>
2025-12-28 15:56:42 +00:00
copilot-swe-agent[bot]
03dc7fa841 Include label and location counts in wipe inventory total
Added labelCount and locationCount to the deleted counter to provide accurate total count of all deleted entities (items, labels, locations) in the wipe inventory result.

Co-authored-by: katosdev <7927609+katosdev@users.noreply.github.com>
2025-12-28 15:45:49 +00:00
copilot-swe-agent[bot]
7aaaa346ab Add wipe inventory options for labels/locations and owner-only restriction
- Added WipeInventoryDialog component with checkboxes for wiping labels and locations
- Modified backend WipeInventory method to accept wipeLabels and wipeLocations parameters
- Added owner check in HandleWipeInventory to restrict action to group owners only
- Updated frontend API client to send wipe options
- Added new translation keys for checkbox labels and owner note
- Integrated dialog into app layout and updated tools.vue to use new dialog

Co-authored-by: katosdev <7927609+katosdev@users.noreply.github.com>
2025-12-28 15:41:13 +00:00
Phil
27309e61da Add error import to v1_ctrl_actions.go 2025-12-28 15:29:14 +00:00
Phil
61816acdaa Merge branch 'main' into copilot/add-wipe-inventory-action 2025-12-28 15:28:07 +00:00
Phil
c31410727b Update backend/app/api/handlers/v1/v1_ctrl_actions.go
Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
2025-12-28 15:19:19 +00:00
Matt
4557df86ed Remove 32bit builds (#1000)
* Remove 32bit builds

* Use native Github runners

* Fix arm builds not getting runner

* Fix lint job
2025-12-28 00:28:20 -05:00
Matthew Kilgore
b8910f1b21 This should wipe out action related security flags 2025-12-27 19:09:27 -05:00
Matthew Kilgore
48e4f8da2a That should be all the actions pinned 2025-12-27 19:05:33 -05:00
Matthew Kilgore
1e0158c27e Fix copilot action 2025-12-27 18:52:12 -05:00
Matthew Kilgore
4fb3ddd661 Pin github copilot actions 2025-12-27 18:51:12 -05:00
Matthew Kilgore
690005de06 Harden all github actions 2025-12-27 18:46:14 -05:00
copilot-swe-agent[bot]
23da976494 Remove translation changes from non-English locale files
Only en.json should have the new translation keys. Translators will add translations to other language files later.

Co-authored-by: tankerkiller125 <3457368+tankerkiller125@users.noreply.github.com>
2025-12-27 22:29:18 +00:00
Harrison Conlin
f0b8bb8b7f refactor(backend): use constants for database driver names (#1177)
magic constants are bad m'kay
2025-12-27 16:16:48 -05:00
Katos
ecc9fa1959 Disable triggers in upgrade-test.yaml
Comment out the workflow triggers in upgrade-test.yaml
2025-12-27 20:28:31 +00:00
Katos
7068a85dfb Merge pull request #1178 from sysadminsmedia/copilot/create-ci-cd-pipeline
Add CI/CD workflow for upgrade testing with data integrity verification
2025-12-27 20:18:37 +00:00
Katos
c73922c754 Merge branch 'main' into copilot/create-ci-cd-pipeline 2025-12-27 20:16:41 +00:00
Matthew Kilgore
ae2179c01c Add blog link 2025-12-27 12:05:05 -05:00
copilot-swe-agent[bot]
09e056a3fb Move upgrade verification tests to separate directory
- Move upgrade-verification.spec.ts from test/e2e/ to test/upgrade/
- This prevents the test from running during normal E2E CI runs
- The upgrade test is only meant for the upgrade-test workflow
- Update workflow and documentation to reflect new location

Co-authored-by: katosdev <7927609+katosdev@users.noreply.github.com>
2025-12-27 16:12:51 +00:00
Katos
4abfc76865 Fix CodeRabbit date quoting issue 2025-12-27 16:01:57 +00:00
copilot-swe-agent[bot]
aa48c958d7 Improve error handling and comments in WipeInventory method
Co-authored-by: katosdev <7927609+katosdev@users.noreply.github.com>
2025-12-27 15:03:43 +00:00
copilot-swe-agent[bot]
2bd6d0a9e5 Add Wipe Inventory feature with backend and frontend implementation
Co-authored-by: katosdev <7927609+katosdev@users.noreply.github.com>
2025-12-27 14:52:04 +00:00
copilot-swe-agent[bot]
88275620f2 Initial plan for Wipe Inventory feature
Co-authored-by: katosdev <7927609+katosdev@users.noreply.github.com>
2025-12-27 14:47:42 +00:00
copilot-swe-agent[bot]
5a058250e6 Initial plan 2025-12-27 14:43:31 +00:00
copilot-swe-agent[bot]
afd7a10003 Fix TypeScript null check in upgrade-verification test
Add null check for pageContent before accessing length property

Co-authored-by: katosdev <7927609+katosdev@users.noreply.github.com>
2025-12-27 14:34:59 +00:00
copilot-swe-agent[bot]
8eedd1e39d Fix ESLint errors in upgrade-verification.spec.ts
- Remove unused 'path' import
- Replace 'any' types with proper TypeScript interfaces
- Fix all Prettier formatting issues

Co-authored-by: katosdev <7927609+katosdev@users.noreply.github.com>
2025-12-27 14:32:57 +00:00
copilot-swe-agent[bot]
fedeb1a7e5 Add proper GITHUB_TOKEN permissions to workflow
Set minimal required permissions (contents:read, packages:read) to follow security best practices

Co-authored-by: katosdev <7927609+katosdev@users.noreply.github.com>
2025-12-27 14:14:52 +00:00
copilot-swe-agent[bot]
69b31a3be5 Improve test reliability and fix security issues
- Replace waitForTimeout with waitForSelector and waitForLoadState
- Remove eval security risk in bash script
- Use proper wait mechanisms for better test reliability

Co-authored-by: katosdev <7927609+katosdev@users.noreply.github.com>
2025-12-27 14:12:22 +00:00
copilot-swe-agent[bot]
31d306ca05 Add comprehensive documentation for upgrade test workflow
Co-authored-by: katosdev <7927609+katosdev@users.noreply.github.com>
2025-12-27 14:09:37 +00:00
copilot-swe-agent[bot]
1bfb716cea Add upgrade test workflow with data generation and verification
Co-authored-by: katosdev <7927609+katosdev@users.noreply.github.com>
2025-12-27 14:08:13 +00:00
copilot-swe-agent[bot]
13b1524c56 Initial plan for upgrade test workflow
Co-authored-by: katosdev <7927609+katosdev@users.noreply.github.com>
2025-12-27 14:06:05 +00:00
copilot-swe-agent[bot]
b18599b6f4 Initial plan 2025-12-27 14:02:31 +00:00
Matthew Kilgore
473027c1ae Fix notifiers gettings wiped v0.22.3 2025-12-26 17:27:18 -05:00
Matthew Kilgore
3a77440996 Fix flip flopped columns v0.22.2 2025-12-26 15:50:04 -05:00
Matthew Kilgore
731765c36c Make sure the right columns get migrated into the correct columns 2025-12-26 15:09:02 -05:00
Matthew Kilgore
a86b1bd17b Update dependencies v0.22.1 2025-12-26 09:51:33 -05:00
Matthew Kilgore
064b298968 Merge branch 'main' into main-weblate
# Conflicts:
#	frontend/locales/en.json
2025-12-26 09:28:10 -05:00
Tonya
2638f218f3 fix: templates that dont have a location set (#1160) 2025-12-24 17:30:46 +00:00
Dan
0f4f398b5a Added documentation for the external label service feature. (#1018)
* Added documentation for the external label service feature. Re-ordered the columns in the config page to make it easier to read.

* Update docs/en/configure/index.md

Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>

---------

Co-authored-by: Matt <tankerkiller125@users.noreply.github.com>
Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
2025-12-23 21:36:19 +00:00
Copilot
545993a8aa Fix Windows attachment path encoding in blob storage operations (#1144)
* Initial plan

* Initial plan for fixing Windows attachment path issue

Co-authored-by: tankerkiller125 <3457368+tankerkiller125@users.noreply.github.com>

* Fix Windows attachment path encoding issue by normalizing to forward slashes

Co-authored-by: tankerkiller125 <3457368+tankerkiller125@users.noreply.github.com>

* Refactor path normalization into helper function per code review

Co-authored-by: tankerkiller125 <3457368+tankerkiller125@users.noreply.github.com>

* Update progress - all checks complete

Co-authored-by: tankerkiller125 <3457368+tankerkiller125@users.noreply.github.com>

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: tankerkiller125 <3457368+tankerkiller125@users.noreply.github.com>
2025-12-23 10:27:42 -05:00
tonyaellie
a1947dd09e feat: autosave after image upload 2025-12-22 23:46:29 +00:00
tonyaellie
018f1f5977 fix: use logical sorting for locations 2025-12-22 23:34:29 +00:00
tonyaellie
9a9e3d462e feat: add a clear button for selectors and stop create modal overflow 2025-12-22 23:24:01 +00:00
Weblate
fc8b6f0dcf Translated using Weblate (German)
Currently translated at 100.0% (609 of 609 strings)

Translated using Weblate (Portuguese (Brazil))

Currently translated at 95.4% (581 of 609 strings)

Translated using Weblate (Russian)

Currently translated at 100.0% (609 of 609 strings)

Translated using Weblate (Russian)

Currently translated at 100.0% (609 of 609 strings)

Translated using Weblate (Russian)

Currently translated at 100.0% (609 of 609 strings)

Translated using Weblate (Russian)

Currently translated at 100.0% (609 of 609 strings)

Translated using Weblate (Russian)

Currently translated at 100.0% (609 of 609 strings)

Translated using Weblate (Russian)

Currently translated at 100.0% (609 of 609 strings)

Translated using Weblate (Russian)

Currently translated at 96.2% (586 of 609 strings)

Translated using Weblate (Spanish)

Currently translated at 100.0% (609 of 609 strings)

Translated using Weblate (Spanish)

Currently translated at 100.0% (609 of 609 strings)

Translated using Weblate (Dutch)

Currently translated at 100.0% (609 of 609 strings)

Translated using Weblate (Dutch)

Currently translated at 100.0% (609 of 609 strings)

Translated using Weblate (Dutch)

Currently translated at 100.0% (609 of 609 strings)

Translated using Weblate (Czech)

Currently translated at 100.0% (609 of 609 strings)

Translated using Weblate (Czech)

Currently translated at 99.8% (608 of 609 strings)

Translated using Weblate (German)

Currently translated at 99.3% (605 of 609 strings)

Translated using Weblate (German)

Currently translated at 99.1% (604 of 609 strings)

Translated using Weblate (German)

Currently translated at 99.1% (604 of 609 strings)

Translated using Weblate (German)

Currently translated at 90.3% (550 of 609 strings)

Translated using Weblate (German)

Currently translated at 90.3% (550 of 609 strings)

Translated using Weblate (German)

Currently translated at 90.1% (549 of 609 strings)

Translated using Weblate (German)

Currently translated at 89.9% (548 of 609 strings)

Translated using Weblate (Indonesian)

Currently translated at 60.0% (366 of 609 strings)

Translated using Weblate (Thai)

Currently translated at 22.0% (134 of 609 strings)

Translated using Weblate (Norwegian Bokmål)

Currently translated at 80.4% (490 of 609 strings)

Translated using Weblate (Slovak)

Currently translated at 84.8% (517 of 609 strings)

Translated using Weblate (Finnish)

Currently translated at 53.3% (325 of 609 strings)

Translated using Weblate (Ukrainian)

Currently translated at 59.7% (364 of 609 strings)

Translated using Weblate (English)

Currently translated at 100.0% (609 of 609 strings)

Translated using Weblate (Greek)

Currently translated at 0.3% (2 of 551 strings)

Added translation using Weblate (Greek)

Translated using Weblate (Italian)

Currently translated at 99.8% (550 of 551 strings)

Translated using Weblate (Russian)

Currently translated at 99.8% (550 of 551 strings)

Translated using Weblate (Telugu)

Currently translated at 0.9% (5 of 551 strings)

Translated using Weblate (Telugu)

Currently translated at 0.9% (5 of 551 strings)

Added translation using Weblate (Telugu)

Translated using Weblate (Portuguese (Brazil))

Currently translated at 100.0% (551 of 551 strings)

Translated using Weblate (Bosnian)

Currently translated at 21.9% (121 of 551 strings)

Translated using Weblate (Danish)

Currently translated at 100.0% (551 of 551 strings)

Translated using Weblate (Portuguese (Brazil))

Currently translated at 100.0% (551 of 551 strings)

Translated using Weblate (Turkish)

Currently translated at 91.6% (505 of 551 strings)

Translated using Weblate (Turkish)

Currently translated at 89.2% (492 of 551 strings)

Translated using Weblate (Turkish)

Currently translated at 89.2% (492 of 551 strings)

Translated using Weblate (Russian)

Currently translated at 99.2% (547 of 551 strings)

Translated using Weblate (Ukrainian)

Currently translated at 65.8% (363 of 551 strings)

Translated using Weblate (Ukrainian)

Currently translated at 64.4% (355 of 551 strings)

Translated using Weblate (Ukrainian)

Currently translated at 62.7% (346 of 551 strings)

Translated using Weblate (Ukrainian)

Currently translated at 62.4% (344 of 551 strings)

Translated using Weblate (Ukrainian)

Currently translated at 61.1% (337 of 551 strings)

Translated using Weblate (Ukrainian)

Currently translated at 60.4% (333 of 551 strings)

Translated using Weblate (Ukrainian)

Currently translated at 59.3% (327 of 551 strings)

Translated using Weblate (Thai)

Currently translated at 24.1% (133 of 551 strings)

Translated using Weblate (Thai)

Currently translated at 24.1% (133 of 551 strings)

Translated using Weblate (Portuguese (Portugal))

Currently translated at 100.0% (551 of 551 strings)

Translated using Weblate (French)

Currently translated at 94.1% (519 of 551 strings)

Translated using Weblate (Polish)

Currently translated at 99.8% (550 of 551 strings)

Translated using Weblate (Chinese (Simplified Han script))

Currently translated at 100.0% (551 of 551 strings)

Translated using Weblate (Chinese (Simplified Han script))

Currently translated at 100.0% (551 of 551 strings)

Translated using Weblate (Dutch)

Currently translated at 100.0% (551 of 551 strings)

Translated using Weblate (German)

Currently translated at 99.8% (550 of 551 strings)

Translated using Weblate (German)

Currently translated at 99.8% (550 of 551 strings)

Translated using Weblate (German)

Currently translated at 99.8% (550 of 551 strings)

Translated using Weblate (Czech)

Currently translated at 100.0% (551 of 551 strings)

Translated using Weblate (Portuguese (Brazil))

Currently translated at 98.9% (545 of 551 strings)

Translated using Weblate (Portuguese (Brazil))

Currently translated at 98.9% (545 of 551 strings)

Translated using Weblate (Portuguese (Brazil))

Currently translated at 98.9% (545 of 551 strings)

Translated using Weblate (Portuguese (Brazil))

Currently translated at 98.9% (545 of 551 strings)

Translated using Weblate (Portuguese (Brazil))

Currently translated at 98.9% (545 of 551 strings)

Translated using Weblate (Portuguese (Brazil))

Currently translated at 98.9% (545 of 551 strings)

Translated using Weblate (Portuguese (Brazil))

Currently translated at 98.9% (545 of 551 strings)

Translated using Weblate (Portuguese (Brazil))

Currently translated at 98.9% (545 of 551 strings)

Translated using Weblate (Portuguese (Brazil))

Currently translated at 98.9% (545 of 551 strings)

Translated using Weblate (Swedish)

Currently translated at 100.0% (551 of 551 strings)

Translated using Weblate (Swedish)

Currently translated at 100.0% (551 of 551 strings)

Translated using Weblate (Swedish)

Currently translated at 100.0% (551 of 551 strings)

Translated using Weblate (Swedish)

Currently translated at 100.0% (551 of 551 strings)

Translated using Weblate (Swedish)

Currently translated at 100.0% (551 of 551 strings)

Translated using Weblate (Swedish)

Currently translated at 100.0% (551 of 551 strings)

Translated using Weblate (Swedish)

Currently translated at 100.0% (551 of 551 strings)

Translated using Weblate (Swedish)

Currently translated at 100.0% (551 of 551 strings)

Translated using Weblate (Swedish)

Currently translated at 100.0% (551 of 551 strings)

Translated using Weblate (Swedish)

Currently translated at 100.0% (551 of 551 strings)

Translated using Weblate (Swedish)

Currently translated at 100.0% (551 of 551 strings)

Translated using Weblate (Swedish)

Currently translated at 100.0% (551 of 551 strings)

Translated using Weblate (Swedish)

Currently translated at 100.0% (551 of 551 strings)

Translated using Weblate (Swedish)

Currently translated at 100.0% (551 of 551 strings)

Translated using Weblate (Swedish)

Currently translated at 100.0% (551 of 551 strings)

Translated using Weblate (Swedish)

Currently translated at 100.0% (551 of 551 strings)

Translated using Weblate (Swedish)

Currently translated at 100.0% (551 of 551 strings)

Translated using Weblate (Swedish)

Currently translated at 100.0% (551 of 551 strings)

Translated using Weblate (Swedish)

Currently translated at 100.0% (551 of 551 strings)

Translated using Weblate (Swedish)

Currently translated at 100.0% (551 of 551 strings)

Translated using Weblate (Swedish)

Currently translated at 100.0% (551 of 551 strings)

Translated using Weblate (Swedish)

Currently translated at 100.0% (551 of 551 strings)

Translated using Weblate (Swedish)

Currently translated at 100.0% (551 of 551 strings)

Translated using Weblate (Swedish)

Currently translated at 100.0% (551 of 551 strings)

Translated using Weblate (Swedish)

Currently translated at 100.0% (551 of 551 strings)

Translated using Weblate (Swedish)

Currently translated at 100.0% (551 of 551 strings)

Translated using Weblate (Swedish)

Currently translated at 100.0% (551 of 551 strings)

Translated using Weblate (Swedish)

Currently translated at 100.0% (551 of 551 strings)

Translated using Weblate (Swedish)

Currently translated at 100.0% (551 of 551 strings)

Translated using Weblate (Swedish)

Currently translated at 100.0% (551 of 551 strings)

Translated using Weblate (Swedish)

Currently translated at 100.0% (551 of 551 strings)

Translated using Weblate (Swedish)

Currently translated at 100.0% (551 of 551 strings)

Translated using Weblate (Swedish)

Currently translated at 100.0% (551 of 551 strings)

Translated using Weblate (Swedish)

Currently translated at 100.0% (551 of 551 strings)

Translated using Weblate (Swedish)

Currently translated at 100.0% (551 of 551 strings)

Translated using Weblate (Swedish)

Currently translated at 100.0% (551 of 551 strings)

Translated using Weblate (Spanish)

Currently translated at 100.0% (551 of 551 strings)

Translated using Weblate (Portuguese (Portugal))

Currently translated at 100.0% (550 of 550 strings)

Translated using Weblate (Polish)

Currently translated at 98.7% (543 of 550 strings)

Translated using Weblate (Polish)

Currently translated at 98.7% (543 of 550 strings)

Translated using Weblate (Polish)

Currently translated at 98.7% (543 of 550 strings)

Translated using Weblate (Chinese (Simplified Han script))

Currently translated at 98.5% (542 of 550 strings)

Translated using Weblate (Chinese (Simplified Han script))

Currently translated at 98.5% (542 of 550 strings)

Translated using Weblate (Portuguese (Portugal))

Currently translated at 98.3% (541 of 550 strings)

Translated using Weblate (Portuguese (Portugal))

Currently translated at 98.3% (541 of 550 strings)

Translated using Weblate (Indonesian)

Currently translated at 66.3% (365 of 550 strings)

Translated using Weblate (Indonesian)

Currently translated at 66.3% (365 of 550 strings)

Translated using Weblate (Indonesian)

Currently translated at 66.3% (365 of 550 strings)

Translated using Weblate (Indonesian)

Currently translated at 66.3% (365 of 550 strings)

Translated using Weblate (Indonesian)

Currently translated at 66.3% (365 of 550 strings)

Translated using Weblate (Indonesian)

Currently translated at 66.3% (365 of 550 strings)

Translated using Weblate (Indonesian)

Currently translated at 66.3% (365 of 550 strings)

Translated using Weblate (Indonesian)

Currently translated at 66.3% (365 of 550 strings)

Translated using Weblate (Portuguese (Portugal))

Currently translated at 93.4% (514 of 550 strings)

Translated using Weblate (Swedish)

Currently translated at 68.3% (376 of 550 strings)

Translated using Weblate (Swedish)

Currently translated at 68.3% (376 of 550 strings)

Translated using Weblate (Swedish)

Currently translated at 68.3% (376 of 550 strings)

Translated using Weblate (Chinese (Simplified Han script))

Currently translated at 98.1% (540 of 550 strings)

Translated using Weblate (Spanish)

Currently translated at 100.0% (550 of 550 strings)

Translated using Weblate (Spanish)

Currently translated at 100.0% (550 of 550 strings)

Translated using Weblate (Dutch)

Currently translated at 100.0% (550 of 550 strings)

Translated using Weblate (Dutch)

Currently translated at 100.0% (550 of 550 strings)

Translated using Weblate (Czech)

Currently translated at 100.0% (550 of 550 strings)

Translated using Weblate (Czech)

Currently translated at 100.0% (550 of 550 strings)

Translated using Weblate (Czech)

Currently translated at 100.0% (550 of 550 strings)

Translated using Weblate (German)

Currently translated at 96.0% (528 of 550 strings)

Translated using Weblate (German)

Currently translated at 96.0% (528 of 550 strings)

Translated using Weblate (Turkish)

Currently translated at 87.7% (482 of 549 strings)

Translated using Weblate (Italian)

Currently translated at 100.0% (518 of 518 strings)

Translated using Weblate (Spanish)

Currently translated at 100.0% (518 of 518 strings)

Translated using Weblate (Spanish)

Currently translated at 100.0% (518 of 518 strings)

Translated using Weblate (Spanish)

Currently translated at 100.0% (518 of 518 strings)

Translated using Weblate (Spanish)

Currently translated at 100.0% (518 of 518 strings)

Translated using Weblate (Polish)

Currently translated at 100.0% (518 of 518 strings)

Translated using Weblate (Arabic)

Currently translated at 0.7% (4 of 518 strings)

Translated using Weblate (Arabic)

Currently translated at 0.5% (3 of 518 strings)

Added translation using Weblate (Arabic)

Translated using Weblate (Thai)

Currently translated at 22.9% (119 of 518 strings)

Translated using Weblate (Czech)

Currently translated at 100.0% (518 of 518 strings)

Translated using Weblate (Swedish)

Currently translated at 71.2% (369 of 518 strings)

Translated using Weblate (Swedish)

Currently translated at 71.2% (369 of 518 strings)

Co-authored-by: Adam Havránek <adamhavra@seznam.cz>
Co-authored-by: Aniruddh Kotte <aniruddhkotte@gmail.com>
Co-authored-by: BoneGear <bonegear@hotmail.com>
Co-authored-by: DevHrytsan <3axapHrytsan@gmail.com>
Co-authored-by: Eisa Al Shamsi <awwase@gmail.com>
Co-authored-by: Hannes Salen <hannes.salen@gmail.com>
Co-authored-by: Heine Olsen <olsen10051988@gmail.com>
Co-authored-by: Henrique dos Santos Wisniewski <henriqueswisniewski@gmail.com>
Co-authored-by: Jackxwb <xwb9606@163.com>
Co-authored-by: Jan Fader <jan.fader@web.de>
Co-authored-by: JorgeS15 <jorgea15santos@gmail.com>
Co-authored-by: Loffa <jesperfalk94@gmail.com>
Co-authored-by: Marcelo Sandrini <sandrini.marcelo@gmail.com>
Co-authored-by: Matthew Kilgore <matthew@kilgore.dev>
Co-authored-by: Matvey <mrspanky@yandex.ru>
Co-authored-by: Mikolaj Wolicki <MIKOLAJW1997@gmail.com>
Co-authored-by: Mirad Maglic <mirad.maglic@gmail.com>
Co-authored-by: Muhammad Ikhsan <pararang@gmail.com>
Co-authored-by: Mutagenic <mkardas@gmail.com>
Co-authored-by: MyMemory <noreply-mt-mymemory@weblate.org>
Co-authored-by: Ricardo González <notorius28@gmail.com>
Co-authored-by: Robert Eggl <robert@eggl.dev>
Co-authored-by: Sara Wattanasombat <saraten2@gmail.com>
Co-authored-by: Simone Girardi <s.girardi92@gmail.com>
Co-authored-by: Slydite4 <39199098+Slydite4@users.noreply.github.com>
Co-authored-by: Stratos Palaiologos <stpa03@betssongroup.com>
Co-authored-by: Supphakorn <supphakorn5343@gmail.com>
Co-authored-by: Weblate <noreply-mt-weblate@weblate.org>
Co-authored-by: Weblate <noreply@weblate.org>
Co-authored-by: WilliamStark <yujinghao007@163.com>
Co-authored-by: Yao Yimeng <yym900902@gmail.com>
Co-authored-by: akrstlv <zmilex@gmail.com>
Co-authored-by: arsenius88 <arsenovich_andr@ukr.net>
Co-authored-by: buzz <buzz.eclair@gmail.com>
Co-authored-by: dARK raVEr <Dark.Raver@gmx.net>
Co-authored-by: efe <vastly-fax-brim@duck.com>
Co-authored-by: fjrefluxx <julianzobel@gmail.com>
Co-authored-by: jesper rezler lang <jesper.rezler.lang@gmail.com>
Co-authored-by: jjxxzz <jaro689@gmail.com>
Co-authored-by: noxmyn <vladcraft93@gmail.com>
Co-authored-by: sg4r3z <giovannigln@gmail.com>
Co-authored-by: swedishpete <nyhetsutskick@outlook.com>
Translate-URL: https://translate.sysadminsmedia.com/projects/homebox/frontend/ar/
Translate-URL: https://translate.sysadminsmedia.com/projects/homebox/frontend/bs/
Translate-URL: https://translate.sysadminsmedia.com/projects/homebox/frontend/cs/
Translate-URL: https://translate.sysadminsmedia.com/projects/homebox/frontend/da/
Translate-URL: https://translate.sysadminsmedia.com/projects/homebox/frontend/de/
Translate-URL: https://translate.sysadminsmedia.com/projects/homebox/frontend/el/
Translate-URL: https://translate.sysadminsmedia.com/projects/homebox/frontend/en/
Translate-URL: https://translate.sysadminsmedia.com/projects/homebox/frontend/es/
Translate-URL: https://translate.sysadminsmedia.com/projects/homebox/frontend/fi/
Translate-URL: https://translate.sysadminsmedia.com/projects/homebox/frontend/fr/
Translate-URL: https://translate.sysadminsmedia.com/projects/homebox/frontend/id/
Translate-URL: https://translate.sysadminsmedia.com/projects/homebox/frontend/it/
Translate-URL: https://translate.sysadminsmedia.com/projects/homebox/frontend/nb_NO/
Translate-URL: https://translate.sysadminsmedia.com/projects/homebox/frontend/nl/
Translate-URL: https://translate.sysadminsmedia.com/projects/homebox/frontend/pl/
Translate-URL: https://translate.sysadminsmedia.com/projects/homebox/frontend/pt_BR/
Translate-URL: https://translate.sysadminsmedia.com/projects/homebox/frontend/pt_PT/
Translate-URL: https://translate.sysadminsmedia.com/projects/homebox/frontend/ru/
Translate-URL: https://translate.sysadminsmedia.com/projects/homebox/frontend/sk/
Translate-URL: https://translate.sysadminsmedia.com/projects/homebox/frontend/sv/
Translate-URL: https://translate.sysadminsmedia.com/projects/homebox/frontend/te/
Translate-URL: https://translate.sysadminsmedia.com/projects/homebox/frontend/th/
Translate-URL: https://translate.sysadminsmedia.com/projects/homebox/frontend/tr/
Translate-URL: https://translate.sysadminsmedia.com/projects/homebox/frontend/uk/
Translate-URL: https://translate.sysadminsmedia.com/projects/homebox/frontend/zh_Hans/
Translation: Homebox/Frontend
2025-12-22 11:19:55 +00:00