Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[package]
name = "RoExtract"
version = "1.0.4"
version = "1.0.5"
edition = "2021"

[dependencies]
Expand Down
6 changes: 5 additions & 1 deletion locales/de-DE.ftl
Original file line number Diff line number Diff line change
Expand Up @@ -46,6 +46,10 @@ actions = Aktionen
updates = Aktualisierungen
language-settings = Spracheneinstellungen

# Empty state
empty-state-title = Geen Assets Gevonden
empty-state-description = Start de Roblox-client minstens één keer op en klik vervolgens op Neuladen om gecachede assets te detecteren.
empty-state-hint = Als de extractie traag is, probeer dan eerst de cache te wissen.

# Kontrollkästchen
check-for-updates = Für Aktualisierungen suchen
Expand Down Expand Up @@ -136,4 +140,4 @@ error-invalid-database-title = Ungültige Datenbank!
error-invalid-database-description = Bitte stelle sicher, das der Pfad den du angegeben hast eine SQL Datenbank ist

confirmation-custom-sql-description = Do you want to choose a different SQL Database? # TODO: Translate
confirmation-custom-sql-title = Choose a SQL Database # TODO: Translate
confirmation-custom-sql-title = Choose a SQL Database # TODO: Translate
7 changes: 6 additions & 1 deletion locales/en-GB.ftl
Original file line number Diff line number Diff line change
Expand Up @@ -52,6 +52,11 @@ confirmation-custom-sql-description = Do you want to choose a different SQL Data
confirmation-ban-warning-title = Potential ban alert
confirmation-ban-warning-description = Editing assets in games can cause your client to behave differently leading to potential game bans! Use at your own risk. Do you understand?

# Empty state
empty-state-title = No Assets Found
empty-state-description = Run the Roblox client at least once, then click Refresh to detect cached assets.
empty-state-hint = If extraction is slow, try clearing the cache first.

# Errors
no-files = No files to list.
error-directory-detection-title = Directory detection failed!
Expand Down Expand Up @@ -129,4 +134,4 @@ download-update-question = Would you like to download the update?
update-changelog = Update changelog below
support-sponsor = ♥ Sponsor
support-project-donate = ♥ Donate
setting-below-restart-required = Note: Changing the setting below requires restarting the program for it to apply.
setting-below-restart-required = Note: Changing the setting below requires restarting the program for it to apply.
19 changes: 12 additions & 7 deletions locales/englifsh.ftl
Original file line number Diff line number Diff line change
Expand Up @@ -38,8 +38,8 @@ button-disable-display-image-preview = stop dispalyignt image preivwews
input-preview-size = previeas size

# Confirmations
confirmation-custom-sql-title = Choose a SQL Database # TODO: Translate
confirmation-custom-sql-description = Do you want to choose a different SQL Database? # TODO: Translate
confirmation-custom-sql-title = chops2 an sql databse
confirmation-custom-sql-description = do you want to chhsose a different aql databsee?
confirmation-generic-confirmation-title = ocnfimration
confirmation-delete-confirmation-title = deletiong fiels
confirmation-delete-confirmation-description = aer yours ture youw anyt tot delte fielxsz int this direct6ory
Expand All @@ -52,6 +52,11 @@ confirmation-custom-directory-description = do youw atn tto choose a d9ifternt d
confirmation-ban-warning-title = poitiuernal ban elert
confirmation-ban-warning-description = editing assets in game can casu eouyhuy mrlcient to ebacheve asifdcnfgrfernetly,d oy yu dunersatnd

# Empty state
empty-state-title = no assets foudj
empty-state-description = run the robloz clibwt at lerst omce, then clikc recrtfesh to detcte xached assets.
empty-state-hint = if exteractipn is slow, try clearjing the cachw firsr.

# Errors
error-invalid-database-description = mkas sure teht epath you rpovide isa vald sql datbase
error-invalid-database-title = invald datbase
Expand All @@ -60,10 +65,10 @@ error-sql-detection-description = databsbe detection faleld!!11!!1 is tehr pclei
no-files = no fiels to lsit
error-directory-detection-title = directyory ded4rection failewd
error-directory-detection-description = isr oblox isntalledf dadn yotu eran it tat least once
error-temporary-directory-title = Failed to create a temporary directory!
error-temporary-directory-description = Error: Failed to create a temporary directory! Do you have read/write access to your temp folder? If this error continues, try running as administrator
error-invalid-directory-title = Invalid directory!
error-invalid-directory-description = Please make sure the path you provided is a directory
error-temporary-directory-title = faled to creatr a twmpaorary directpru!!1!1!1!1!11!
error-temporary-directory-description = error: faled to creatr a twmpaorary directpru!!1!1!1!1!11! do ypu ahve read/rite access to youer temp folder? if thia error continiea, try rinnign as adminnistrattor
error-invalid-directory-title = invalie dircetory!
error-invalid-directory-description = please make sur eth epath you prpvided is a ditrcrtory
generic-error-critical = cirtical error

# Headings
Expand Down Expand Up @@ -124,4 +129,4 @@ failed-deleting-file = erroro: fialed ot dellte ({ $item }/{ $total })
failed-opening-file = error: fiaeldw to wopen fiel
error-extracting-file = rror: fialed to aextract beucase { $error }
error-check-logs = eroror hcekc logs
failed-not-file = error '{ $file }' not a fiele
failed-not-file = error '{ $file }' not a fiele
6 changes: 5 additions & 1 deletion locales/ja-JP.ftl
Original file line number Diff line number Diff line change
Expand Up @@ -39,6 +39,10 @@ confirmation-custom-directory-description = 別のキャッシュディレクト
confirmation-ban-warning-title = 潜在的なBAN警告
confirmation-ban-warning-description = ゲーム内のアセットを編集すると、クライアントの動作が変わり、ゲームからBANされる可能性があります!自己責任で使用してください。理解しましたか?

empty-state-title = アセットが見つかりません
empty-state-description = Robloxクライアントを少なくとも一度起動してから、「更新」をクリックしてキャッシュされたアセットを検出してください。
empty-state-hint = 抽出が遅い場合は、まずキャッシュをクリアしてみてください。

# エラー
no-files = リストするファイルがありません。
error-directory-detection-title = ディレクトリ検出に失敗しました!
Expand Down Expand Up @@ -124,4 +128,4 @@ custom-sql-db-description = If you want to access a different cache, change your
error-invalid-database-title = Invalid database! # TODO: Translate
error-invalid-database-description = Please make sure the path you provided is an SQLite Database # TODO: Translate
confirmation-custom-sql-description = Do you want to choose a different SQL Database? # TODO: Translate
confirmation-custom-sql-title = Choose a SQL Database # TODO: Translate
confirmation-custom-sql-title = Choose a SQL Database # TODO: Translate
7 changes: 6 additions & 1 deletion locales/pirate-speak.ftl
Original file line number Diff line number Diff line change
Expand Up @@ -52,6 +52,11 @@ confirmation-custom-directory-description = Ye wish to set a new cache course, a
confirmation-ban-warning-title = Beware! A Curse May Be Upon Ye!
confirmation-ban-warning-description = Tamperin’ with booty in games could get ye marooned! Sail at yer own risk! Do ye understand, matey?

# Empty state
empty-state-title = No Booty Be Found
empty-state-description = Set sail the Roblox vessel at least once, then click Hoist the Colors to spy yer cached plunder.
empty-state-hint = If haulin' be slow, try clearin' the hold first, ye scallywag.

# Errors
error-invalid-database-title = That Be No Proper Ledger!
error-invalid-database-description = Make sure the path leads to a proper SQLite treasure map!
Expand Down Expand Up @@ -124,4 +129,4 @@ download-update-question = Shall we fetch the latest booty?
update-changelog = See What’s New Below
support-sponsor = ♥ Support the Crew
support-project-donate = ♥ Toss Some Coins in the Chest
setting-below-restart-required = Note: Changin’ this course requires a fresh start to take hold!
setting-below-restart-required = Note: Changin’ this course requires a fresh start to take hold!
5 changes: 5 additions & 0 deletions locales/pl-PL.ftl
Original file line number Diff line number Diff line change
Expand Up @@ -51,6 +51,11 @@ confirmation-clear-cache-description = Czy jesteś pewny(a) że chcesz wyczyści
confirmation-custom-directory-title = Wybierz inny katalog
confirmation-custom-directory-description = Czy chcesz wybrać inny katalog pamięci podręcznej?

# Empty state
empty-state-title = Nie Znaleziono Zasobów
empty-state-description = Uruchom klienta Roblox przynajmniej raz, a następnie kliknij Odśwież, aby wykryć zbuforowane zasoby.
empty-state-hint = Jeśli wyodrębnianie jest wolne, spróbuj najpierw wyczyścić pamięć podręczną.

# Errors
error-invalid-database-description = Proszę upewnij się że podana scieżka jest bazą danych SQLite
error-invalid-database-title = Nieprawidłowa baza danych
Expand Down
8 changes: 7 additions & 1 deletion locales/ru-RU.ftl
Original file line number Diff line number Diff line change
Expand Up @@ -50,6 +50,12 @@ confirmation-custom-directory-description = Вы хотите выбрать д
confirmation-ban-warning-title = Предупреждение о возможном бане
confirmation-ban-warning-description = Редактирование ресурсов в играх может привести к изменению поведения вашего клиента, что может привести к блокировке аккаунта! Используйте на свой страх и риск. Вы согласны?

# Empty state
empty-state-title = Ресурсы не найдены
empty-state-description = Запустите клиент Roblox хотя бы раз, потом нажмите Перезагрузить чтобы найти кэшированные ресурсы.
empty-state-hint = Если извлечение выполняется медленно, сначала попробуйте очистить кэш.


# Errors
no-files = Нет файлов в списке.
error-directory-detection-title = Не удалось обнаружить директорию!
Expand Down Expand Up @@ -124,4 +130,4 @@ download-update-question = Хотите загрузить обновление?
update-changelog = Список изменений смотрите ниже
support-sponsor = ♥ Спонсорство
support-project-donate = ♥ Поддержать
setting-below-restart-required = Примечание: для применения изменений настроек ниже потребуется перезапустить программу.
setting-below-restart-required = Примечание: для применения изменений настроек ниже потребуется перезапустить программу.
5 changes: 5 additions & 0 deletions locales/shakespearian-english.ftl
Original file line number Diff line number Diff line change
Expand Up @@ -52,6 +52,11 @@ confirmation-custom-directory-description = Wouldst thou select a different vaul
confirmation-ban-warning-title = A Forewarning of Banishment
confirmation-ban-warning-description = Meddling with the relics of games may cause thy client to act errantly, leading to a perilous fate—banishment! Proceed only if thy courage be steadfast. Dost thou comprehend?

# Empty state
empty-state-title = No Assets Hath Been Found
empty-state-description = Prithee, launch the Roblox client at least once, then click Refresh to uncover thy cached assets.
empty-state-hint = Should extraction prove sluggish, endeavour to clear the cache first.

# Errors
error-invalid-database-title = A Scroll of Tables Most Unfit!
error-invalid-database-description = Pray, ensure the path thou gavest leadeth to a true SQLite Scroll of Tables.
Expand Down
5 changes: 5 additions & 0 deletions locales/zh-CN.ftl
Original file line number Diff line number Diff line change
Expand Up @@ -52,6 +52,11 @@ confirmation-custom-directory-description = 您想要选择不同的目录吗?
confirmation-ban-warning-title = 潜在风险警告
confirmation-ban-warning-description = 在游戏中编辑资源可能导致客户端表现异常

# Empty state
empty-state-title = 未找到资源
empty-state-description = 请至少运行一次 Roblox 客户端,然后点击"刷新"以检测缓存的资源。
empty-state-hint = 如果提取速度较慢,请先尝试清除缓存。

# Errors
error-invalid-database-description = Please make sure the path you provided is an SQLite Database # TODO: Translate
error-invalid-database-title = Invalid database! # TODO: Translate
Expand Down
33 changes: 30 additions & 3 deletions src/gui/file_list.rs
Original file line number Diff line number Diff line change
Expand Up @@ -544,6 +544,36 @@ impl FileListUi {

let mut focus_search_box = false; // Focus the search box toggle for this frame

if ui.input(|i| i.key_pressed(egui::Key::F5)) {
logic::refresh(category, false, false);
}

// Empty state
if file_list.is_empty() {
ui.vertical_centered(|ui| {
ui.add_space(40.0);
let icon_size = 48.0;
ui.add(
egui::Label::new(egui::RichText::new("📂").size(icon_size)).selectable(false),
);
ui.heading(locale::get_message(&self.locale, "empty-state-title", None));
ui.label(locale::get_message(
&self.locale,
"empty-state-description",
None,
));
ui.label(locale::get_message(&self.locale, "empty-state-hint", None));
ui.add_space(20.0);
if ui
.button(locale::get_message(&self.locale, "button-refresh", None))
.clicked()
{
logic::refresh(category, false, false);
}
});
return;
}

// Handle key shortcuts here
if ui.input(|i| i.key_pressed(egui::Key::F2)) {
// Rename hotkey
Expand All @@ -561,9 +591,6 @@ impl FileListUi {
if ui.input(|i| i.key_pressed(egui::Key::F3)) {
extract_all_of_type(category, &self.locale);
}
if ui.input(|i| i.key_pressed(egui::Key::F5)) {
logic::refresh(category, false, false);
}
if ui.input(|i| i.modifiers.ctrl && i.key_pressed(egui::Key::D)) {
// Ctrl+D (Swap)
toggle_swap_or_copy(&mut self.swapping, &mut self.swapping_asset, &self.locale);
Expand Down
Loading