diff --git a/README.md b/README.md index 249d89bf23..b8427b979d 100644 --- a/README.md +++ b/README.md @@ -34,16 +34,18 @@ That empowers users to effortlessly manage their finances while ensuring that no ## Functionality - Accounting (Account Type, Currency/Cryptocurrency) - - Simple grouping via `/` (in name) for the main page + - Simple grouping via `/`-symbol (in name) for the main page - Transactions log - Freeze amount by Update date (to import previous history) - Budget Categories - - Simple grouping via `/` (in name) for the main page + - Simple grouping via `/`-symbol (in name) for the main page - With limits restate: - Renewed at the beginning of each month - Configurable limits per month - Relatives (0.0 ... 1.0) to Income - Or, without limitations by showing a spent amount + - Different timeline: weekly, monthly, yearly + - Customizable start day of the week and month - Bills, Transfers, Incomes (Invoices) - Goals Definition - Exchange rates, Default Currency for Summary @@ -63,6 +65,7 @@ That empowers users to effortlessly manage their finances while ensuring that no - [[demo]](https://youtu.be/RccQ8JpfJs4) Synchronization between devices (P2P) - Recovery via WebDav or a direct File - Import from `CSV`, `QIF`, `OFX` files for Bills and Invoices +- Export to Excel `XLSX` file - Data encryption - Localization - User Experience diff --git a/README_de.md b/README_de.md index b44549c7f0..15c47aa432 100644 --- a/README_de.md +++ b/README_de.md @@ -35,16 +35,18 @@ zurückgelassen wird. ## Funktionalität - Buchhaltung (Kontotyp, Währung/Kryptowährung) - - Einfache Gruppierung über `/` (im Namen) für die Hauptseite + - Einfache Gruppierung über `/`-Symbol (im Namen) für die Hauptseite - Transaktionsprotokoll - - Einfrieren von Beträgen nach Aktualisierungsdatum (um frühere Historie zu importieren) + - Einfrieren von Beträgen nach Aktualisierungsdatum (um frühere Historien zu importieren) - Budget-Kategorien - - Einfache Gruppierung über `/` (im Namen) für die Hauptseite + - Einfache Gruppierung über das `/`-Symbol (im Namen) für die Hauptseite - Mit Limits wiederherstellen: - Erneuert am Anfang eines jeden Monats - Konfigurierbare Limits pro Monat - Relativ (0.0 ... 1.0) zum Einkommen - Oder ohne Einschränkungen durch Anzeige eines ausgegebenen Betrags + - Verschiedene Zeitleisten: wöchentlich, monatlich, vorzeitig + - Anpassbarer Starttag der Woche und des Monats - Rechnungen, Überweisungen, Einkünfte (Rechnungen) - Ziele Definition - Wechselkurse, Standardwährung für Zusammenfassung @@ -64,6 +66,7 @@ zurückgelassen wird. - [[demo]](https://youtu.be/RccQ8JpfJs4) Synchronisation zwischen Geräten (P2P) - Wiederherstellung über WebDav oder eine direkte Datei - Import von `CSV`, `QIF`, `OFX` Dateien für Rechnungen und Abrechnungen +- Exportieren in die Excel-Datei `XLSX` - Verschlüsselung der Daten - Lokalisierung - Benutzerfreundlichkeit diff --git a/README_zh-CN.md b/README_zh-CN.md index 5ddd564c3b..a82f29aeb0 100644 --- a/README_zh-CN.md +++ b/README_zh-CN.md @@ -33,16 +33,18 @@ ## 功能 - 会计(账户类型、货币/加密货币) - - 通过`/`(名称)对主页进行简单分组 + - 通过“/”符号(在名称中)对主页进行简单分组 - 交易日志 - 按更新日期冻结金额(导入以前的历史记录) - 预算类别 - - 通过 `/`(名称)对主页进行简单分组 + - 通过“/”符号(在名称中)对主页进行简单分组 - 带限制重述: - 每月月初更新 - 每月可配置限额 - 与收入相关 (0.0 ... 1.0) - 或无限制地显示支出金额 + - 不同的时间表:每周、每月、月初 + - 可定制每周和每月的起始日 - 账单、转账、收入(发票) - 目标定义 - 汇率、摘要的默认货币 @@ -62,6 +64,7 @@ - [[演示]](https://youtu.be/RccQ8JpfJs4) 设备间同步(P2P) - 通过 WebDav 或直接文件恢复 - 从 "CSV"、"QIF "和 "OFX "文件导入账单和发票 +- 导出为 Excel `XLSX` 文件 - 数据加密 - 本地化 - 用户体验 diff --git a/assets/l10n/about_ar.md b/assets/l10n/about_ar.md index 7c85981eab..7716a9e22f 100644 --- a/assets/l10n/about_ar.md +++ b/assets/l10n/about_ar.md @@ -31,22 +31,24 @@ ### الوظائف - المحاسبة (نوع الحساب، العملة / العملة المشفرة) - - تجميع بسيط عبر الرمز '/' (في الاسم) للصفحة الرئيسية + - تجميع بسيط عبر الرمز '/-' (في الاسم) للصفحة الرئيسية - سجل المعاملات - تجميد المبلغ حسب تاريخ التحديث (لاستيراد السجل السابق) - فئات الميزانية - - تجميع بسيط عبر الرمز '/-' (في الاسم) للصفحة الرئيسية + - تجميع بسيط عبر الرمز ”/-“ (في الاسم) للصفحة الرئيسية - مع إعادة تحديد الحدود - التجديد في بداية كل شهر - حدود قابلة للتكوين لكل شهر - النسب (0.0 ... 1.0) إلى الدخل - أو، بدون حدود بإظهار المبلغ المنفق -- الفواتير والتحويلات والمداخيل (الفواتير) + - جدول زمني مختلف: أسبوعي، شهري، سنوي + - يوم بداية قابل للتخصيص من الأسبوع والشهر +- فواتير وتحويلات ومداخيل (فواتير) - تعريف الأهداف - أسعار الصرف، العملة الافتراضية للملخص - المقاييس - الميزانية - - التوقعات (مع محاكاة مونت كارلو) + - التنبؤ (مع محاكاة مونت كارلو) - حد الميزانية والمصروفات في الشهر - الحساب: - مخطط الشمعدان (OHLC) @@ -60,6 +62,7 @@ - المزامنة بين الأجهزة (P2P) - الاسترداد عبر WebDav أو ملف مباشر - الاستيراد من ملفات ”CSV“ و”QIF“ و”OFX“ للفواتير والفواتير +- التصدير إلى ملف Excel 'XLSX' - تشفير البيانات - التوطين - تجربة المستخدم diff --git a/assets/l10n/about_az.md b/assets/l10n/about_az.md index 3b7e73ef7e..9af9832f7b 100644 --- a/assets/l10n/about_az.md +++ b/assets/l10n/about_az.md @@ -40,7 +40,9 @@ Bu, istifadəçilərə heç kimin geridə qalmamasını təmin etməklə öz mal - Hər ayın əvvəlində yenilənir - Ayda konfiqurasiya edilə bilən məhdudiyyətlər - Gəlirlərə qohumlar (0,0 ... 1,0). - - Və ya xərclənmiş məbləği göstərərək məhdudiyyətsiz + - Və ya xərclənmiş məbləği göstərməklə məhdudiyyətsiz + - Fərqli qrafik: həftəlik, aylıq, illik + - Həftənin və ayın fərdiləşdirilə bilən başlanğıc günü - Hesablar, köçürmələr, gəlirlər (qaimə-fakturalar) - Məqsədlərin Tərifi - Valyuta məzənnələri, Xülasə üçün Defolt Valyuta @@ -60,6 +62,7 @@ Bu, istifadəçilərə heç kimin geridə qalmamasını təmin etməklə öz mal - Cihazlar arasında sinxronizasiya (P2P) - WebDav və ya birbaşa Fayl vasitəsilə bərpa - Hesablar və Fakturalar üçün `CSV`, `QIF`, `OFX` fayllarından idxal edin +- Excel `XLSX` faylına ixrac edin - Məlumatların şifrələnməsi - Lokallaşdırma - İstifadəçi təcrübəsi diff --git a/assets/l10n/about_be.md b/assets/l10n/about_be.md index 71c5ac0e0c..a7ad4d8ba6 100644 --- a/assets/l10n/about_be.md +++ b/assets/l10n/about_be.md @@ -42,6 +42,8 @@ - Наладжвальныя ліміты ў месяц - Адносна (0,0 ... 1,0) да даходу - Або без абмежаванняў, паказаўшы выдаткаваную суму + - Розны графік: штотыдзень, штомесяц, штогод + - Наладжвальны дзень пачатку тыдня і месяца - Рахункі, пераклады, даходы (рахункі-фактуры) - Вызначэньне мэтаў - Курсы валют, валюта па змаўчаньні для зводкі @@ -61,6 +63,7 @@ - Сінхранізацыя паміж прыладамі (P2P) - Аднаўленьне праз WebDav або файл - Імпарт з файлаў `CSV`, `QIF`, `OFX` для рахункаў і рахункаў-фактур +- Экспарт у файл Excel `XLSX` - Шыфраваньне дадзеных - Лакалізацыя - Вопыт карыстальніка diff --git a/assets/l10n/about_be_EU.md b/assets/l10n/about_be_EU.md index 6005c22f85..dd406d882f 100644 --- a/assets/l10n/about_be_EU.md +++ b/assets/l10n/about_be_EU.md @@ -41,6 +41,8 @@ zastaniecca ŭ baku. - Naladžvaĺnyja limity ŭ miesiac - Adnosna (0,0 ... 1,0) da dachodu - Abo biez abmiežavanniaŭ, pakazaŭšy vydatkavanuju sumu + - Rozny hrafik: štotydzień, štomiesiac, štohod + - Naladžvaĺny dzień pačatku tydnia i miesiaca - Rachunki, pieraklady, dachody (rachunki-faktury) - Vyznačeńnie metaŭ - Kursy valiut, valiuta pa zmaŭčańni dlia zvodki - Mietryki: @@ -59,6 +61,7 @@ zastaniecca ŭ baku. - Sinchranizacyja pamiž pryladami (P2P) - Adnaŭlieńnie praz WebDav abo fajl - Impart z fajlaŭ `CSV`, `QIF`, `OFX` dlia rachunkaŭ i rachunkaŭ-faktur +- Ekspart u fajl Excel `XLSX` - Šyfravańnie dadzienych - Lakalizacyja - Vopyt karystaĺnika diff --git a/assets/l10n/about_de.md b/assets/l10n/about_de.md index 462e698dee..a0b17716d9 100644 --- a/assets/l10n/about_de.md +++ b/assets/l10n/about_de.md @@ -34,7 +34,7 @@ zurückgelassen wird. - Buchhaltung (Kontotyp, Währung/Kryptowährung) - Einfache Gruppierung über `/`-Symbol (im Namen) für die Hauptseite - Transaktionsprotokoll - - Einfrieren von Beträgen nach Aktualisierungsdatum (um frühere Historie zu importieren) + - Einfrieren von Beträgen nach Aktualisierungsdatum (um frühere Historien zu importieren) - Budget-Kategorien - Einfache Gruppierung über das `/`-Symbol (im Namen) für die Hauptseite - Mit Limits wiederherstellen: @@ -42,6 +42,8 @@ zurückgelassen wird. - Konfigurierbare Limits pro Monat - Relativ (0.0 ... 1.0) zum Einkommen - Oder ohne Einschränkungen durch Anzeige eines ausgegebenen Betrags + - Verschiedene Zeitleisten: wöchentlich, monatlich, vorzeitig + - Anpassbarer Starttag der Woche und des Monats - Rechnungen, Überweisungen, Einkünfte (Rechnungen) - Ziele Definition - Wechselkurse, Standardwährung für Zusammenfassung @@ -61,6 +63,7 @@ zurückgelassen wird. - Synchronisierung zwischen Geräten (P2P) - Wiederherstellung über WebDav oder eine direkte Datei - Import von `CSV`, `QIF`, `OFX` Dateien für Rechnungen und Rechnungen +- Exportieren in die Excel-Datei `XLSX` - Verschlüsselung der Daten - Lokalisierung - Benutzerfreundlichkeit diff --git a/assets/l10n/about_en.md b/assets/l10n/about_en.md index fb8617e3f0..b0e424b86a 100644 --- a/assets/l10n/about_en.md +++ b/assets/l10n/about_en.md @@ -41,6 +41,8 @@ That empowers users to effortlessly manage their finances while ensuring that no - Configurable limits per month - Relatives (0.0 ... 1.0) to Income - Or, without limitations by showing a spent amount + - Different timeline: weekly, monthly, yearly + - Customizable start day of the week and month - Bills, Transfers, Incomes (Invoices) - Goals Definition - Exchange rates, Default Currency for Summary @@ -60,6 +62,7 @@ That empowers users to effortlessly manage their finances while ensuring that no - Synchronization between devices (P2P) - Recovery via WebDav or a direct File - Import from `CSV`, `QIF`, `OFX` files for Bills and Invoices +- Export to Excel `XLSX` file - Data encryption - Localization - User Experience diff --git a/assets/l10n/about_es.md b/assets/l10n/about_es.md index 044b4b1523..fca5218906 100644 --- a/assets/l10n/about_es.md +++ b/assets/l10n/about_es.md @@ -41,6 +41,8 @@ Que permita a los usuarios gestionar sus finanzas sin esfuerzo, garantizando al - Límites configurables por mes - Relativos (0.0 ... 1.0) a los Ingresos - O, sin limitaciones mostrando un importe gastado + - Diferentes cronogramas: semanal, mensual, anual + - Día de inicio de la semana y del mes personalizable - Facturas, Transferencias, Ingresos (Facturas) - Definición de Metas - Tipos de cambio, Moneda por defecto para el resumen @@ -60,6 +62,7 @@ Que permita a los usuarios gestionar sus finanzas sin esfuerzo, garantizando al - Sincronización entre dispositivos (P2P) - Recuperación mediante WebDav o un archivo directo - Importación desde archivos `CSV`, `QIF`, `OFX` para recibos y facturas +- Exportación a archivo Excel `XLSX` - Encriptación de datos - Localización - Experiencia de usuario diff --git a/assets/l10n/about_fa.md b/assets/l10n/about_fa.md index e094d258d5..300a98da9e 100644 --- a/assets/l10n/about_fa.md +++ b/assets/l10n/about_fa.md @@ -42,6 +42,8 @@ - محدودیت های قابل تنظیم در هر ماه - بستگان (0.0 ... 1.0) به درآمد - یا بدون محدودیت با نشان دادن مبلغ خرج شده + - جدول زمانی مختلف: هفتگی، ماهانه، سالانه + - قابل تنظیم روز شروع هفته و ماه - صورتحساب، نقل و انتقالات، درآمدها (فاکتورها) - تعریف اهداف - نرخ ارز، ارز پیش فرض برای خلاصه @@ -61,6 +63,7 @@ - همگام سازی بین دستگاه ها (P2P) - بازیابی از طریق WebDav یا یک فایل مستقیم - وارد کردن از فایل‌های «CSV»، «QIF»، «OFX» برای صورت‌حساب‌ها و فاکتورها +- صادرات به فایل "XLSX" اکسل - رمزگذاری داده ها - بومی سازی - تجربه کاربری diff --git a/assets/l10n/about_fr.md b/assets/l10n/about_fr.md index 5f104fdecf..b68bdce08f 100644 --- a/assets/l10n/about_fr.md +++ b/assets/l10n/about_fr.md @@ -41,6 +41,8 @@ Elle permet aux utilisateurs de gérer leurs finances sans effort, tout en veill - Limites configurables par mois - Relatives (0.0 ... 1.0) au revenu - Ou, sans limites en affichant un montant dépensé + - Différents calendriers : hebdomadaire, mensuel, annuel + - Jour de début de la semaine et du mois personnalisable - Factures, transferts, revenus (factures) - Définition des objectifs - Taux de change, devise par défaut pour le résumé @@ -59,7 +61,8 @@ Elle permet aux utilisateurs de gérer leurs finances sans effort, tout en veill - Graphique historique des devises - Synchronisation entre appareils (P2P) - Récupération via WebDav ou un fichier direct -- Importation à partir de fichiers CSV, QIF, OFX pour les factures. +- Importation à partir de fichiers CSV, QIF, OFX pour les factures +- Export vers un fichier Excel `XLSX` - Cryptage des données - Localisation des données - Expérience utilisateur diff --git a/assets/l10n/about_hi.md b/assets/l10n/about_hi.md index e3f996ec24..5258ca8aa4 100644 --- a/assets/l10n/about_hi.md +++ b/assets/l10n/about_hi.md @@ -41,6 +41,8 @@ - प्रति माह कॉन्फ़िगर करने योग्य सीमाएँ - आय से संबंधित (0.0 ... 1.0) - या, खर्च की गई राशि दिखाकर सीमाओं के बिना + - अलग-अलग समयरेखा: साप्ताहिक, मासिक, वार्षिक + - सप्ताह और महीने का अनुकूलन योग्य आरंभ दिन - बिल, स्थानांतरण, आय (चालान) - लक्ष्य परिभाषा - विनिमय दरें, सारांश के लिए डिफ़ॉल्ट मुद्रा @@ -60,6 +62,7 @@ - उपकरणों (P2P) के बीच सिंक्रनाइज़ेशन - WebDav या प्रत्यक्ष फ़ाइल के माध्यम से पुनर्प्राप्ति - बिल और चालान के लिए `CSV`, `QIF`, `OFX` फ़ाइलों से आयात +- Excel `XLSX` फ़ाइल में निर्यात करें - डेटा एन्क्रिप्शन - स्थानीयकरण - उपयोगकर्ता अनुभव diff --git a/assets/l10n/about_it.md b/assets/l10n/about_it.md index 2b5dcc0d28..59a70a2dde 100644 --- a/assets/l10n/about_it.md +++ b/assets/l10n/about_it.md @@ -41,6 +41,8 @@ Che permetta agli utenti di gestire le proprie finanze senza sforzo, garantendo - Limiti configurabili per mese - Parenti (0,0 ... 1,0) al reddito - Oppure, senza limiti, mostrando un importo speso + - Cronologia diversa: settimanale, mensile, annuale + - Giorno di inizio della settimana e del mese personalizzabili - Bollette, trasferimenti, entrate (fatture) - Definizione degli obiettivi - Tassi di cambio, Valuta predefinita per il riepilogo @@ -60,6 +62,7 @@ Che permetta agli utenti di gestire le proprie finanze senza sforzo, garantendo - Sincronizzazione tra dispositivi (P2P) - Recupero tramite WebDav o file diretto - Importazione da file `CSV`, `QIF`, `OFX` per fatture e bollette +- Esportazione in file Excel `XLSX` - Cifratura dei dati - Localizzazione - Esperienza utente diff --git a/assets/l10n/about_ja.md b/assets/l10n/about_ja.md index d658b2988e..3d962b9c06 100644 --- a/assets/l10n/about_ja.md +++ b/assets/l10n/about_ja.md @@ -41,6 +41,8 @@ - 月ごとに設定可能な限度額 - 収入との関係 (0.0 ... 1.0) - または、使用済み金額を表示することにより制限なし + - さまざまなタイムライン: 週ごと、月ごと、年ごと + - 週と月の開始日をカスタマイズ可能 - 請求書、振込、収入(請求書) - 目標の定義 - 為替レート、サマリーのデフォルト通貨 @@ -60,6 +62,7 @@ - デバイス間の同期(P2P) - WebDavまたは直接ファイルを介したリカバリ - CSVファイル、QIFファイル、OFXファイルから請求書や請求書をインポート +- Excel の `XLSX` ファイルにエクスポート - データの暗号化 - ローカライゼーション - ユーザーエクスペリエンス diff --git a/assets/l10n/about_ko.md b/assets/l10n/about_ko.md index a236747f5c..cea60231d9 100644 --- a/assets/l10n/about_ko.md +++ b/assets/l10n/about_ko.md @@ -41,6 +41,8 @@ - 월별 구성 가능한 한도 - 소득에 대한 친척(0.0 ... 1.0)의 비율 - 또는 사용한 금액을 표시하여 제한없이 + - 다양한 타임라인: 주간, 월간, 연간 + - 사용자 정의 가능한 주 및 월의 시작일 - 청구서, 이체, 수입(송장) - 목표 정의 - 환율, 요약을 위한 기본 통화 @@ -60,6 +62,7 @@ - 장치 간 동기화(P2P) - WebDav 또는 직접 파일을 통한 복구 - 청구서 및 송장에 대해 `CSV`, `QIF`, `OFX` 파일에서 가져 오기 +- Excel `XLSX` 파일로 내보내기 - 데이터 암호화 - 로컬라이제이션 - 사용자 경험 diff --git a/assets/l10n/about_nl.md b/assets/l10n/about_nl.md index e5225f2512..689bf706b6 100644 --- a/assets/l10n/about_nl.md +++ b/assets/l10n/about_nl.md @@ -41,6 +41,8 @@ Dat stelt gebruikers in staat om moeiteloos hun financiën te beheren en zorgt e - Configureerbare limieten per maand - Relaties (0,0 ... 1,0) tot Inkomen - Of, zonder beperkingen door een uitgegeven bedrag te tonen + - Verschillende tijdlijn: wekelijks, maandelijks, jaarlijks + - Aanpasbare startdag van de week en maand - Rekeningen, overschrijvingen, inkomsten (facturen) - Doelen definiëren - Wisselkoersen, standaardvaluta voor overzicht @@ -60,6 +62,7 @@ Dat stelt gebruikers in staat om moeiteloos hun financiën te beheren en zorgt e - Synchronisatie tussen apparaten (P2P) - Herstel via WebDav of een direct bestand - Importeren uit `CSV`, `QIF`, `OFX` bestanden voor rekeningen en facturen +- Exporteren naar Excel `XLSX`-bestand - Gegevensencryptie - Lokalisatie - Gebruikerservaring diff --git a/assets/l10n/about_pl.md b/assets/l10n/about_pl.md index 6d2f0234a2..c500216d0d 100644 --- a/assets/l10n/about_pl.md +++ b/assets/l10n/about_pl.md @@ -41,6 +41,8 @@ Dzięki temu użytkownicy mogą bez wysiłku zarządzać swoimi finansami, jedno - Konfigurowalne limity na miesiąc - Stosunek (0,0 ... 1,0) do dochodu - Lub bez ograniczeń, pokazując wydaną kwotę + - Różne harmonogramy: tygodniowy, miesięczny, roczny + - Możliwość dostosowania dnia rozpoczęcia tygodnia i miesiąca - Rachunki, przelewy, dochody (faktury) - Definicja celów - Kursy wymiany, domyślna waluta dla podsumowania @@ -60,6 +62,7 @@ Dzięki temu użytkownicy mogą bez wysiłku zarządzać swoimi finansami, jedno - Synchronizacja między urządzeniami (P2P) - Odzyskiwanie poprzez WebDav lub bezpośredni plik - Import z plików `CSV`, `QIF`, `OFX` dla rachunków i faktur +- Eksport do pliku Excel `XLSX` - Szyfrowanie danych - Lokalizacja - Doświadczenie użytkownika diff --git a/assets/l10n/about_pt.md b/assets/l10n/about_pt.md index 1cb7e7135c..42558cb399 100644 --- a/assets/l10n/about_pt.md +++ b/assets/l10n/about_pt.md @@ -41,6 +41,8 @@ Isto permite aos utilizadores gerir as suas finanças sem esforço, garantindo q - Limites configuráveis por mês - Relativos (0.0 ... 1.0) ao Rendimento - Ou, sem limites, mostrando um montante gasto + - Horário diferente: semanal, mensal, anual + - Dia de início da semana e mês personalizável - Contas, Transferências, Rendimentos (Facturas) - Definição de objectivos - Taxas de câmbio, Moeda por defeito para o Resumo @@ -60,6 +62,7 @@ Isto permite aos utilizadores gerir as suas finanças sem esforço, garantindo q - Sincronização entre dispositivos (P2P) - Recuperação via WebDav ou ficheiro direto - Importação a partir de ficheiros `CSV`, `QIF`, `OFX` para facturas e notas fiscais +- Exportar para ficheiro Excel `XLSX` - Encriptação de dados - Localização - Experiência do utilizador diff --git a/assets/l10n/about_pt_BR.md b/assets/l10n/about_pt_BR.md index aef96028ff..8781234ff8 100644 --- a/assets/l10n/about_pt_BR.md +++ b/assets/l10n/about_pt_BR.md @@ -41,6 +41,8 @@ Isso permite que os usuários gerenciem suas finanças sem esforço, garantindo - Limites configuráveis por mês - Relativos (0,0 ... 1,0) à renda - Ou, sem limitações, mostrando um valor gasto + - Cronograma diferente: semanal, mensal, anual + - Dia de início da semana e mês personalizáveis - Contas, transferências, receitas (faturas) - Definição de metas - Taxas de câmbio, moeda padrão para resumo @@ -60,6 +62,7 @@ Isso permite que os usuários gerenciem suas finanças sem esforço, garantindo - Sincronização entre dispositivos (P2P) - Recuperação via WebDav ou um arquivo direto - Importação de arquivos `CSV`, `QIF`, `OFX` para contas e faturas +- Exportar para arquivo Excel `XLSX` - Criptografia de dados - Localização - Experiência do usuário diff --git a/assets/l10n/about_tr.md b/assets/l10n/about_tr.md index 62dfd6d390..f537f59a96 100644 --- a/assets/l10n/about_tr.md +++ b/assets/l10n/about_tr.md @@ -41,6 +41,8 @@ Bu, kullanıcıların mali durumlarını zahmetsizce yönetmelerini sağlarken k - Aylık yapılandırılabilir limitler - Gelire Akrabalar (0.0 ... 1.0) - Veya harcanan miktarı göstererek sınırlama olmaksızın + - Farklı zaman çizelgesi: haftalık, aylık, yıllık + - Haftanın ve ayın özelleştirilebilir başlangıç ​​günü - Faturalar, Transferler, Gelirler (Faturalar) - Hedefler Tanım - Döviz kurları, Özet için Varsayılan Para Birimi @@ -60,6 +62,7 @@ Bu, kullanıcıların mali durumlarını zahmetsizce yönetmelerini sağlarken k - Cihazlar arasında senkronizasyon (P2P) - WebDav veya doğrudan bir Dosya aracılığıyla kurtarma - Faturalar için `CSV`, `QIF`, `OFX` dosyalarından içe aktarma +- Excel `XLSX` dosyasına aktarın - Veri şifreleme - Yerelleştirme - Kullanıcı Deneyimi diff --git a/assets/l10n/about_uk.md b/assets/l10n/about_uk.md index 2439aae66e..548e4bcd8b 100644 --- a/assets/l10n/about_uk.md +++ b/assets/l10n/about_uk.md @@ -41,6 +41,8 @@ - Налаштовувані ліміти на місяць - Відносно (0.0 ... 1.0) до доходу - Або без обмежень, показуючи витрачену суму + - Різний графік: щотижня, щомісяця, щороку + - Настроюваний день початку тижня та місяця - Рахунки, перекази, надходження (інвойси) - Визначення цілей - Курси валют, валюта за замовчуванням для підбиття підсумків @@ -60,6 +62,7 @@ - Синхронізація між пристроями (P2P) - Відновлення через WebDav або прямий файл - Імпорт з файлів `CSV`, `QIF`, `OFX` для рахунків та інвойсів +- Експорт у файл Excel `XLSX` - Шифрування даних - Локалізація - Зручність для користувача diff --git a/assets/l10n/about_uz.md b/assets/l10n/about_uz.md index 7f83f5bede..e257abf43b 100644 --- a/assets/l10n/about_uz.md +++ b/assets/l10n/about_uz.md @@ -41,6 +41,8 @@ Bu foydalanuvchilarga o'z mablag'larini osonlikcha boshqarish imkoniyatini berad - Oyiga sozlanishi mumkin bo'lgan chegaralar - Qarindoshlar (0,0 ... 1,0) Daromadga - Yoki, sarflangan miqdorni ko'rsatish orqali cheklovlarsiz + - Turli vaqt jadvallari: haftalik, oylik, yillik + - Hafta va oyning moslashtirilgan boshlanish kuni - Hisob-kitoblar, o'tkazmalar, daromadlar (hisob-kitoblar) - Maqsadlarni aniqlash - Valyuta kurslari, Xulosa uchun standart valyuta @@ -60,6 +62,7 @@ Bu foydalanuvchilarga o'z mablag'larini osonlikcha boshqarish imkoniyatini berad - Qurilmalar o'rtasida sinxronizatsiya (P2P) - WebDav yoki to'g'ridan-to'g'ri fayl orqali tiklash - Hisob va hisob-fakturalar uchun `CSV`, `QIF`, `OFX` fayllaridan import qilish +- Excel `XLSX` fayliga eksport qiling - Ma'lumotlarni shifrlash - Mahalliylashtirish - Foydalanuvchi tajribasi diff --git a/assets/l10n/about_zh.md b/assets/l10n/about_zh.md index 3d5dca557f..77cf9aff05 100644 --- a/assets/l10n/about_zh.md +++ b/assets/l10n/about_zh.md @@ -41,6 +41,8 @@ - 每月可配置限额 - 与收入相关 (0.0 ... 1.0) - 或无限制地显示支出金额 + - 不同的时间轴:每周、每月、每年 + - 可自定义的周和月的开始日期 - 账单、转账、收入(发票) - 目标定义 - 汇率、摘要的默认货币 @@ -60,6 +62,7 @@ - 设备间同步(P2P) - 通过 WebDav 或直接文件恢复 - 从 “CSV”、“QIF ”和 “OFX ”文件导入账单和发票 +- 导出到 Excel “XLSX ”文件 - 数据加密 - 本地化 - 用户体验 diff --git a/assets/l10n/about_zh_TW.md b/assets/l10n/about_zh_TW.md index 4d12718021..351e64f443 100644 --- a/assets/l10n/about_zh_TW.md +++ b/assets/l10n/about_zh_TW.md @@ -41,6 +41,8 @@ - 每月可設定的限制 - 與收入的關係 (0.0 ... 1.0) - 或透過顯示已花費的金額而無限制 + - 不同的時間線:每週、每月、每年 + - 可自訂的一周和一個月的開始日期 - 帳單、轉帳、收入 (發票) - 目標定義 - 匯率、摘要的預設貨幣 @@ -60,6 +62,7 @@ - 裝置間同步 (P2P) - 透過 WebDav 或直接檔案復原 - 從「CSV」、「QIF」、「OFX」檔案匯入帳單和發票 +- 匯出到 Excel「XLSX」文件 - 資料加密 - 本地化 - 使用者體驗 diff --git a/assets/l10n/upgrade_ar.md b/assets/l10n/upgrade_ar.md index d43a9d4d93..f64f06a776 100644 --- a/assets/l10n/upgrade_ar.md +++ b/assets/l10n/upgrade_ar.md @@ -2,6 +2,11 @@ _يمكن الاطلاع على القائمة الكاملة للتحديثات من خلال عنصر التنقل "حول" الموجود على زر "تلميحات". +### 5.8.0 +- التصدير إلى ملف Excel 'XLSX' +- جدول زمني مختلف: أسبوعي، شهري، سنوي +- يوم بداية قابل للتخصيص من الأسبوع والشهر + ### 5.7.0 - تحسين التخزين لإصدار الويب - إضافة اللغتين الهولندية (NL) والكورية (KO) diff --git a/assets/l10n/upgrade_az.md b/assets/l10n/upgrade_az.md index 3237494a7e..e7d4367a21 100644 --- a/assets/l10n/upgrade_az.md +++ b/assets/l10n/upgrade_az.md @@ -2,6 +2,11 @@ _Yeniləmələrin tam siyahısına "İpucu" düyməsindəki "Haqqında" naviqasiya elementi vasitəsilə baxmaq olar._ +### 5.8.0 +- Excel `XLSX` faylına ixrac edin +- Fərqli qrafik: həftəlik, aylıq, illik +- Həftənin və ayın fərdiləşdirilə bilən başlanğıc günü + ### 5.7.0 - Veb versiyası üçün yaddaşın təkmilləşdirilməsi - Holland (NL) və Koreya (KO) dillərinin əlavə edilməsi diff --git a/assets/l10n/upgrade_be.md b/assets/l10n/upgrade_be.md index a3ee354533..f2c9db2521 100644 --- a/assets/l10n/upgrade_be.md +++ b/assets/l10n/upgrade_be.md @@ -2,6 +2,11 @@ _Поўны спіс абнаўленьняў можна праглядзець у навігацыйным пункце «Аб дадатку» на кнопцы «Падказкі»._ +### 5.8.0 +- Экспарт у файл Excel `XLSX` +- Розны графік: штотыдзень, штомесяц, штогод +- Наладжвальны дзень пачатку тыдня і месяца + ### 5.7.0 - Паляпшэньне захоўваньня для Web-версіі - Даданьне галандскай (NL) і карэйскай (KO) моў diff --git a/assets/l10n/upgrade_be_EU.md b/assets/l10n/upgrade_be_EU.md index b09aaa1f0e..0db8a08d0a 100644 --- a/assets/l10n/upgrade_be_EU.md +++ b/assets/l10n/upgrade_be_EU.md @@ -2,6 +2,11 @@ _Poŭny spis abnaŭlieńniaŭ možna prahliadzieć u navihacyjnym punkcie «Ab Dadatku» na knopcy «Padkazki»._ +### 5.8.0 +- Ekspart u fajl Excel `XLSX` +- Rozny hrafik: štotydzień, štomiesiac, štohod +- Naladžvaĺny dzień pačatku tydnia i miesiaca + ### 5.7.0 - Paliapšeńnie zachoŭvańnia dlia Web-viersii - Dadańnie halandskaj (NL) i karejskaj (KO) moŭ diff --git a/assets/l10n/upgrade_de.md b/assets/l10n/upgrade_de.md index d8ed66cb29..a2a9993a95 100644 --- a/assets/l10n/upgrade_de.md +++ b/assets/l10n/upgrade_de.md @@ -2,6 +2,11 @@ _Die vollständige Liste der Updates kann über den Navigationspunkt "Über" auf der Schaltfläche "Hinweise" eingesehen werden._ +### 5.8.0 +- Exportieren in die Excel-Datei `XLSX` +- Verschiedene Zeitleisten: wöchentlich, monatlich, vorzeitig +- Anpassbarer Starttag der Woche und des Monats + ### 5.7.0 - Verbesserte Speicherung für die Web-Version - Hinzufügen der Sprachen Niederländisch (NL) und Koreanisch (KO) diff --git a/assets/l10n/upgrade_en.md b/assets/l10n/upgrade_en.md index fb8c4de5af..f19c2b2e86 100644 --- a/assets/l10n/upgrade_en.md +++ b/assets/l10n/upgrade_en.md @@ -2,6 +2,11 @@ _The full list of updates can be viewed via the "About" navigation item on the "Hints" button._ +### 5.8.0 +- Export to Excel `XLSX` file +- Different timeline: weekly, monthly, yearly +- Customizable start day of the week and month + ### 5.7.0 - Improving storage for Web-version - Adding Dutch (NL) and Korean (KO) languages diff --git a/assets/l10n/upgrade_es.md b/assets/l10n/upgrade_es.md index 6ada973814..73a1a05597 100644 --- a/assets/l10n/upgrade_es.md +++ b/assets/l10n/upgrade_es.md @@ -2,6 +2,11 @@ _La lista completa de actualizaciones puede consultarse en el menú "Acerca de" del botón "Sugerencias"._ +### 5.8.0 +- Exportación a archivo Excel `XLSX` +- Diferentes cronogramas: semanal, mensual, anual +- Día de inicio de la semana y del mes personalizable + ### 5.7.0 - Mejora del almacenamiento de la versión web - Incorporación de los idiomas neerlandés (NL) y coreano (KO) diff --git a/assets/l10n/upgrade_fa.md b/assets/l10n/upgrade_fa.md index cea27f288d..b341203e3b 100644 --- a/assets/l10n/upgrade_fa.md +++ b/assets/l10n/upgrade_fa.md @@ -2,6 +2,11 @@ _لیست کامل به روز رسانی ها را می توان از طریق آیتم پیمایش "درباره" در دکمه "نکات" مشاهده کرد. +### 5.8.0 +- صادرات به فایل "XLSX" اکسل +- جدول زمانی مختلف: هفتگی، ماهانه، سالانه +- قابل تنظیم روز شروع هفته و ماه + ### 5.7.0 - بهبود فضای ذخیره سازی برای نسخه وب - اضافه کردن زبان هلندی (NL) و کره ای (KO) diff --git a/assets/l10n/upgrade_fr.md b/assets/l10n/upgrade_fr.md index d82960850f..00d7063e53 100644 --- a/assets/l10n/upgrade_fr.md +++ b/assets/l10n/upgrade_fr.md @@ -2,6 +2,11 @@ _La liste complète des mises à jour peut être consultée via l'élément de navigation "À propos" du bouton "Conseils"._ +### 5.8.0 +- Export vers un fichier Excel `XLSX` +- Différents calendriers : hebdomadaire, mensuel, annuel +- Jour de début de la semaine et du mois personnalisable + ### 5.7.0 - Amélioration du stockage pour la version Web - Ajout des langues néerlandaise (NL) et coréenne (KO) diff --git a/assets/l10n/upgrade_hi.md b/assets/l10n/upgrade_hi.md index 2aae10df55..b4dc6903cd 100644 --- a/assets/l10n/upgrade_hi.md +++ b/assets/l10n/upgrade_hi.md @@ -2,6 +2,11 @@ _अपडेट की पूरी सूची "संकेत" बटन पर "अबाउट" नेविगेशन आइटम के माध्यम से देखी जा सकती है।_ +### 5.8.0 +- Excel `XLSX` फ़ाइल में निर्यात करें +- अलग-अलग समयरेखा: साप्ताहिक, मासिक, वार्षिक +- सप्ताह और महीने का अनुकूलन योग्य आरंभ दिन + ### 5.7.0 - वेब-संस्करण के लिए भंडारण में सुधार - डच (NL) और कोरियाई (KO) भाषाएँ जोड़ना diff --git a/assets/l10n/upgrade_it.md b/assets/l10n/upgrade_it.md index f2f5bb0ce0..c197b28c97 100644 --- a/assets/l10n/upgrade_it.md +++ b/assets/l10n/upgrade_it.md @@ -3,6 +3,11 @@ _L'elenco completo degli aggiornamenti può essere consultato tramite la voce di navigazione “Informazioni” del pulsante “Suggerimenti”._ +### 5.8.0 +- Esportazione in file Excel `XLSX` +- Cronologia diversa: settimanale, mensile, annuale +- Giorno di inizio della settimana e del mese personalizzabili + ### 5.7.0 - Miglioramento dell'archiviazione per la versione Web - Aggiunta delle lingue olandese (NL) e coreana (KO) diff --git a/assets/l10n/upgrade_ja.md b/assets/l10n/upgrade_ja.md index 4478eab8d2..c3f431040a 100644 --- a/assets/l10n/upgrade_ja.md +++ b/assets/l10n/upgrade_ja.md @@ -2,6 +2,11 @@ 更新の完全なリストは、「ヒント」ボタンの「バージョン情報」ナビゲーショ ンアイテムから見ることができます。 +### 5.8.0 +- Excel の `XLSX` ファイルにエクスポート +- さまざまなタイムライン: 週ごと、月ごと、年ごと +- 週と月の開始日をカスタマイズ可能 + ### 5.7.0 - ウェブ版ストレージの改善 - オランダ語 (NL) と韓国語 (KO) の追加 diff --git a/assets/l10n/upgrade_ko.md b/assets/l10n/upgrade_ko.md index dc85636b06..864746571d 100644 --- a/assets/l10n/upgrade_ko.md +++ b/assets/l10n/upgrade_ko.md @@ -2,6 +2,11 @@ 전체 업데이트 목록은 '힌트' 버튼의 '정보' 탐색 항목을 통해 확인할 수 있습니다. +### 5.8.0 +- Excel `XLSX` 파일로 내보내기 +- 다양한 타임라인: 주간, 월간, 연간 +- 사용자 정의 가능한 주 및 월의 시작일 + ### 5.7.0 - 웹 버전용 저장 공간 개선 - 네덜란드어(NL) 및 한국어(KO) 언어 추가 diff --git a/assets/l10n/upgrade_nl.md b/assets/l10n/upgrade_nl.md index 495726905d..23b7ef0758 100644 --- a/assets/l10n/upgrade_nl.md +++ b/assets/l10n/upgrade_nl.md @@ -2,6 +2,11 @@ _De volledige lijst met updates kan worden bekeken via het navigatie-item “Over” op de knop “Hints”._ +### 5.8.0 +- Exporteren naar Excel `XLSX`-bestand +- Verschillende tijdlijn: wekelijks, maandelijks, jaarlijks +- Aanpasbare startdag van de week en maand + ### 5.7.0 - Verbeterde opslag voor webversie - Nederlandse (NL) en Koreaanse (KO) talen toegevoegd diff --git a/assets/l10n/upgrade_pl.md b/assets/l10n/upgrade_pl.md index 8366389885..16cd5ebf47 100644 --- a/assets/l10n/upgrade_pl.md +++ b/assets/l10n/upgrade_pl.md @@ -2,6 +2,11 @@ Pełną listę aktualizacji można wyświetlić za pomocą elementu nawigacyjnego "O aplikacji" na przycisku "Wskazówki". +### 5.8.0 +- Eksport do pliku Excel `XLSX` +- Różne harmonogramy: tygodniowy, miesięczny, roczny +- Możliwość dostosowania dnia rozpoczęcia tygodnia i miesiąca + ### 5.7.0 - Ulepszenie pamięci masowej dla wersji internetowej - Dodanie języków holenderskiego (NL) i koreańskiego (KO) diff --git a/assets/l10n/upgrade_pt.md b/assets/l10n/upgrade_pt.md index 43d6de0a15..a5fb54b213 100644 --- a/assets/l10n/upgrade_pt.md +++ b/assets/l10n/upgrade_pt.md @@ -2,6 +2,11 @@ _A lista completa de actualizações pode ser consultada através do item de navegação "Acerca" no botão "Sugestões". +### 5.8.0 +- Exportar para ficheiro Excel `XLSX` +- Horário diferente: semanal, mensal, anual +- Dia de início da semana e mês personalizável + ### 5.7.0 - Melhorar o armazenamento da versão Web - Adição dos idiomas holandês (NL) e coreano (KO) diff --git a/assets/l10n/upgrade_pt_BR.md b/assets/l10n/upgrade_pt_BR.md index b0cee451c7..b81e5c28b3 100644 --- a/assets/l10n/upgrade_pt_BR.md +++ b/assets/l10n/upgrade_pt_BR.md @@ -2,6 +2,11 @@ _A lista completa de atualizações pode ser visualizada no item de navegação "Sobre" no botão "Dicas". +### 5.8.0 +- Exportar para arquivo Excel `XLSX` +- Cronograma diferente: semanal, mensal, anual +- Dia de início da semana e mês personalizáveis + ### 5.7.0 - Aprimoramento do armazenamento da versão da Web - Adição dos idiomas holandês (NL) e coreano (KO) diff --git a/assets/l10n/upgrade_tr.md b/assets/l10n/upgrade_tr.md index 8e1c5d324c..2aeee36333 100644 --- a/assets/l10n/upgrade_tr.md +++ b/assets/l10n/upgrade_tr.md @@ -2,6 +2,11 @@ _Güncellemelerin tam listesi “İpuçları” düğmesindeki “Hakkında” gezinti öğesi aracılığıyla görüntülenebilir._ +### 5.8.0 +- Excel `XLSX` dosyasına aktarın +- Farklı zaman çizelgesi: haftalık, aylık, yıllık +- Haftanın ve ayın özelleştirilebilir başlangıç ​​günü + ### 5.7.0 - Web sürümü için depolama alanının iyileştirilmesi - Hollandaca (NL) ve Korece (KO) dillerinin eklenmesi diff --git a/assets/l10n/upgrade_uk.md b/assets/l10n/upgrade_uk.md index b87bb61950..5a8c973c00 100644 --- a/assets/l10n/upgrade_uk.md +++ b/assets/l10n/upgrade_uk.md @@ -2,6 +2,11 @@ _Повний список оновлень можна переглянути за допомогою пункту навігації "Про додаток" на кнопці "Підказки"._ +### 5.8.0 +- Експорт у файл Excel `XLSX` +- Різний графік: щотижня, щомісяця, щороку +- Настроюваний день початку тижня та місяця + ### 5.7.0 - Покращення сховища для Web-версії - Додавання голландської (NL) та корейської (KO) мов diff --git a/assets/l10n/upgrade_uz.md b/assets/l10n/upgrade_uz.md index 89d7a56316..1f08f92b14 100644 --- a/assets/l10n/upgrade_uz.md +++ b/assets/l10n/upgrade_uz.md @@ -2,6 +2,11 @@ _Yangilanishlarning toʻliq roʻyxatini “Maslahat” tugmasidagi “Haqida” navigatsiya bandi orqali koʻrish mumkin._ +### 5.8.0 +- Excel `XLSX` fayliga eksport qiling +- Turli vaqt jadvallari: haftalik, oylik, yillik +- Hafta va oyning moslashtirilgan boshlanish kuni + ### 5.7.0 - Veb-versiya uchun saqlashni yaxshilash - Golland (NL) va koreys (KO) tillarini qo'shish diff --git a/assets/l10n/upgrade_zh.md b/assets/l10n/upgrade_zh.md index 3080a25c66..0e9f669d0d 100644 --- a/assets/l10n/upgrade_zh.md +++ b/assets/l10n/upgrade_zh.md @@ -2,6 +2,11 @@ 更新的完整列表可通过 "提示 "按钮上的 "关于 "导航项查看。 +### 5.8.0 +- 导出到 Excel “XLSX ”文件 +- 不同的时间轴:每周、每月、每年 +- 可自定义的周和月的开始日期 + ### 5.7.0 - 改进网络版的存储 - 添加荷兰语 (NL) 和韩语 (KO) 语言 diff --git a/assets/l10n/upgrade_zh_TW.md b/assets/l10n/upgrade_zh_TW.md index 907487fa73..1434078048 100644 --- a/assets/l10n/upgrade_zh_TW.md +++ b/assets/l10n/upgrade_zh_TW.md @@ -2,6 +2,11 @@ _完整的更新清單可透過「關於」導覽項目中的「提示」按鈕查看。_ +### 5.8.0 +- 匯出到 Excel「XLSX」文件 +- 不同的時間線:每週、每月、每年 +- 可自訂的一周和一個月的開始日期 + ### 5.7.0 - 改善網頁版的儲存空間 - 新增荷蘭語 (NL) 與韓語 (KO) 語言 diff --git a/lib/_classes/storage/transaction_log/export_excel.dart b/lib/_classes/storage/transaction_log/export_excel.dart new file mode 100644 index 0000000000..c114255fa3 --- /dev/null +++ b/lib/_classes/storage/transaction_log/export_excel.dart @@ -0,0 +1,111 @@ +// Copyright 2024 The terCAD team. All rights reserved. +// Use of this source code is governed by a CC BY-NC-ND 4.0 license that can be found in the LICENSE file. + +import 'package:app_finance/_classes/herald/app_locale.dart'; +import 'package:app_finance/_classes/herald/app_start_of_month.dart'; +import 'package:app_finance/_classes/storage/app_data.dart'; +import 'package:app_finance/_classes/structure/bill_app_data.dart'; +import 'package:app_finance/_classes/structure/currency/exchange.dart'; +import 'package:app_finance/_classes/structure/invoice_app_data.dart'; +import 'package:app_finance/_ext/date_time_ext.dart'; +import 'package:app_finance/_mixins/file/file_export_mixin_web.dart' + if (dart.library.io) 'package:app_finance/_mixins/file/file_export_mixin.dart'; +import 'package:excel/excel.dart'; + +class ExportExcel with FileExportMixin { + final AppData state; + late final Excel excel; + late final Exchange exchange; + + ExportExcel(this.state) { + excel = Excel.createExcel(); + exchange = Exchange(store: state); + } + + Future exportAll() async { + DateTime now = DateTime.now(); + int startingDay = AppStartOfMonth.get(); + DateTime curr = now.getStartingDay(startingDay); + final invoiceStream = state.getStream(AppDataType.invoice, filter: (o) => o.accountFrom != null); + final billStream = state.getStream(AppDataType.bills); + int increment = 0; + while (!(billStream.isFinished && invoiceStream.isFinished)) { + var tabName = curr.yearMonth().replaceAll('/', '-'); + _addHeader(tabName); + var boundary = curr.millisecondsSinceEpoch.toDouble(); + var invoiceList = invoiceStream.getTill(boundary); + for (var invoice in invoiceList) { + _addInvoiceRow(tabName, invoice); + } + var billList = billStream.getTill(boundary); + for (var bill in billList) { + _addBillRow(tabName, bill); + } + increment++; + curr = DateTime(now.year, now.month - increment, now.day).getStartingDay(startingDay); + } + excel.delete('Sheet1'); + List? fileBytes = excel.save(); + if (fileBytes != null) { + await exportFile(fileBytes, 'fingrom_export.xlsx'); + } + } + + _addHeader(String name) { + final sheet = excel[name]; + sheet.appendRow([ + TextCellValue(AppLocale.labels.uuid), + TextCellValue(AppLocale.labels.balanceDate), + TextCellValue(AppLocale.labels.flowTypeTooltip), + TextCellValue(AppLocale.labels.title), + TextCellValue(AppLocale.labels.account), + TextCellValue(AppLocale.labels.budget), + TextCellValue(AppLocale.labels.currency), + TextCellValue(AppLocale.labels.details), + TextCellValue(AppLocale.labels.currencyIn(exchange.getDefaultCurrency()?.code ?? '?')), + ]); + CellStyle cellStyle = CellStyle( + bold: true, + bottomBorder: Border(borderStyle: BorderStyle.Thin), + ); + sheet.cell(CellIndex.indexByString("A1")).cellStyle = cellStyle; + sheet.cell(CellIndex.indexByString("B1")).cellStyle = cellStyle; + sheet.cell(CellIndex.indexByString("C1")).cellStyle = cellStyle; + sheet.cell(CellIndex.indexByString("D1")).cellStyle = cellStyle; + sheet.cell(CellIndex.indexByString("E1")).cellStyle = cellStyle; + sheet.cell(CellIndex.indexByString("F1")).cellStyle = cellStyle; + sheet.cell(CellIndex.indexByString("G1")).cellStyle = cellStyle; + sheet.cell(CellIndex.indexByString("H1")).cellStyle = cellStyle; + sheet.cell(CellIndex.indexByString("I1")).cellStyle = cellStyle; + } + + void _addInvoiceRow(String name, InvoiceAppData data) { + final sheet = excel[name]; + sheet.appendRow([ + TextCellValue(data.uuid ?? '?'), + DateTimeCellValue.fromDateTime(data.createdAt), + TextCellValue(AppLocale.labels.flowTypeInvoice), + TextCellValue(data.title), + TextCellValue(data.accountNamed), + TextCellValue(' '), + TextCellValue(data.currency?.code ?? '?'), + DoubleCellValue(data.details), + DoubleCellValue(exchange.reform(data.details ?? 0.0, data.currency, exchange.getDefaultCurrency())), + ]); + } + + void _addBillRow(String name, BillAppData data) { + final sheet = excel[name]; + sheet.appendRow([ + TextCellValue(data.uuid ?? '?'), + DateTimeCellValue.fromDateTime(data.createdAt), + TextCellValue(AppLocale.labels.bill), + TextCellValue(data.title), + TextCellValue(data.accountNamed), + TextCellValue(state.getByUuid(data.category)?.title ?? '?'), + TextCellValue(data.currency?.code ?? '?'), + DoubleCellValue(data.details), + DoubleCellValue(exchange.reform(data.details ?? 0.0, data.currency, exchange.getDefaultCurrency())), + ]); + } +} diff --git a/lib/l10n/app_ar.arb b/lib/l10n/app_ar.arb index 25466575be..9711abf48b 100644 --- a/lib/l10n/app_ar.arb +++ b/lib/l10n/app_ar.arb @@ -234,6 +234,12 @@ "expenseDateTime": "تمت المحاسبة على", "expenseHeadline": "المصاريف", "expenseTransfer": "مبلغ التحويل", + "exportFile": "التصدير كملف .{value}-ملف", + "@exportFile": { + "value": { + "type": "String" + } + }, "failData": "المبلغ المستقطع", "flowTypeInvoice": "الفاتورة", "flowTypeTooltip": "نوع المبلغ فاتورة، فاتورة", @@ -256,7 +262,7 @@ "icon": "أيقونة", "iconTooltip": "تحديد الأيقونة", "ignoreTooltip": "تجاهل", - "importHeadline": "استيراد", + "importHeadline": "الاستيراد/التصدير", "income": "مبلغ الدخل", "incomeHeadline": "الدخل", "incomeHealth": "رادار صحة الدخل", diff --git a/lib/l10n/app_az.arb b/lib/l10n/app_az.arb index 9103f30802..26c047e7b1 100644 --- a/lib/l10n/app_az.arb +++ b/lib/l10n/app_az.arb @@ -234,6 +234,12 @@ "expenseDateTime": "Billed At", "expenseHeadline": "Xərc", "expenseTransfer": "Köçürmə məbləği", + "exportFile": ".{value}-fayl kimi ixrac edin", + "@exportFile": { + "value": { + "type": "String" + } + }, "failData": "Məbləğin tutulması", "flowTypeInvoice": "Invoice", "flowTypeTooltip": "Məbləğ növü: faktura, faktura", @@ -256,7 +262,7 @@ "icon": "İkon", "iconTooltip": "İkonu seçin", "ignoreTooltip": "Məhəl qoyma", - "importHeadline": "İdxal", + "importHeadline": "İdxal / İxrac", "income": "Gəlir məbləği", "incomeHeadline": "Gəlir", "incomeHealth": "Gəlir Sağlamlığı Radarı", diff --git a/lib/l10n/app_be.arb b/lib/l10n/app_be.arb index 9242ffa60e..19d1243803 100644 --- a/lib/l10n/app_be.arb +++ b/lib/l10n/app_be.arb @@ -234,6 +234,12 @@ "expenseDateTime": "Выстаўлены", "expenseHeadline": "Выдатак", "expenseTransfer": "Сума пераводу", + "exportFile": "Экспартаваць як .{value}-файл", + "@exportFile": { + "value": { + "type": "String" + } + }, "failData": "Сума выліку", "flowTypeInvoice": "Прыбытак", "flowTypeTooltip": "Тып сумы: Чэк, Прыбытак", @@ -256,7 +262,7 @@ "icon": "Значок", "iconTooltip": "Абярыце значок", "ignoreTooltip": "Ігнараваць", - "importHeadline": "Імпарт", + "importHeadline": "Імпарт / Экспарт", "income": "Сума прыбытку", "incomeHeadline": "Даход", "incomeHealth": "Радар здароўя даходаў", diff --git a/lib/l10n/app_be_EU.arb b/lib/l10n/app_be_EU.arb index 62e01d0f16..412a7feadd 100644 --- a/lib/l10n/app_be_EU.arb +++ b/lib/l10n/app_be_EU.arb @@ -234,6 +234,12 @@ "expenseDateTime": "Vystaŭlieny", "expenseHeadline": "Vydatak", "expenseTransfer": "Suma Pieravodu", + "exportFile": "Ekspartavać jak .{value}-fajl", + "@exportFile": { + "value": { + "type": "String" + } + }, "failData": "Suma vyliku", "flowTypeInvoice": "Prybytak", "flowTypeTooltip": "Typ sumy: Ček, Prybytak", @@ -256,7 +262,7 @@ "icon": "Značok", "iconTooltip": "Abiarycie Značok", "ignoreTooltip": "Ihnaravać", - "importHeadline": "Impart", + "importHeadline": "Impart / Ekspart", "income": "Suma Prybytku", "incomeHeadline": "Dachod", "incomeHealth": "Radar Zdaroŭja Dachodaŭ", diff --git a/lib/l10n/app_de.arb b/lib/l10n/app_de.arb index f043d71bb3..9d1354aa13 100644 --- a/lib/l10n/app_de.arb +++ b/lib/l10n/app_de.arb @@ -234,6 +234,12 @@ "expenseDateTime": "Abgerechnet zu", "expenseHeadline": "Aufwand", "expenseTransfer": "Betrag der Übertragung", + "exportFile": "Exportieren als .{value}-Datei", + "@exportFile": { + "value": { + "type": "String" + } + }, "failData": "Abgezogener Betrag", "flowTypeInvoice": "Rechnung", "flowTypeTooltip": "Betragsart: Rechnung, Fakturierung", @@ -256,7 +262,7 @@ "icon": "Icon", "iconTooltip": "Icon auswählen", "ignoreTooltip": "Ignorieren", - "importHeadline": "importieren", + "importHeadline": "Einfuhr/Ausfuhr", "income": "Betrag des Einkommens", "incomeHeadline": "Einkommen", "incomeHealth": "Einkommens-Gesundheitsradar", diff --git a/lib/l10n/app_en.arb b/lib/l10n/app_en.arb index 8e6a7e1ea8..ab6ed78756 100644 --- a/lib/l10n/app_en.arb +++ b/lib/l10n/app_en.arb @@ -234,6 +234,12 @@ "expenseDateTime": "Billed At", "expenseHeadline": "Expense", "expenseTransfer": "Amount of Transfer", + "exportFile": "Export as .{value}-file", + "@exportFile": { + "value": { + "type": "String" + } + }, "failData": "Amount Deduction", "flowTypeInvoice": "Invoice", "flowTypeTooltip": "Amount Type: Bill, Invoice", @@ -256,7 +262,7 @@ "icon": "Icon", "iconTooltip": "Select Icon", "ignoreTooltip": "Ignore", - "importHeadline": "Import", + "importHeadline": "Import / Export", "income": "Amount of Income", "incomeHeadline": "Income", "incomeHealth": "Income Health Radar", diff --git a/lib/l10n/app_es.arb b/lib/l10n/app_es.arb index 7f64129277..b23ef24588 100644 --- a/lib/l10n/app_es.arb +++ b/lib/l10n/app_es.arb @@ -234,6 +234,12 @@ "expenseDateTime": "Facturados en", "expenseHeadline": "Gasto", "expenseTransfer": "Importe de la transferencia", + "exportFile": "Exportar como archivo .{value}", + "@exportFile": { + "value": { + "type": "String" + } + }, "failData": "Importe Deducción", "flowTypeInvoice": "Factura", "flowTypeTooltip": "Tipo de Importe Albarán, Factura", @@ -256,7 +262,7 @@ "icon": "Icono", "iconTooltip": "Seleccionar icono", "ignoreTooltip": "Ignore", - "importHeadline": "Import", + "importHeadline": "Importar / Exportar", "income": "Importe de los ingresos", "incomeHeadline": "Ingresos", "incomeHealth": "Radar de salud de ingresos", diff --git a/lib/l10n/app_fa.arb b/lib/l10n/app_fa.arb index 00af8ae8f3..bfe51f92d0 100644 --- a/lib/l10n/app_fa.arb +++ b/lib/l10n/app_fa.arb @@ -234,6 +234,12 @@ "expenseDateTime": "صورتحساب در", "expenseHeadline": "هزینه", "expenseTransfer": "مبلغ انتقال", + "exportFile": "صادر کردن به عنوان .{value}-فایل", + "@exportFile": { + "value": { + "type": "String" + } + }, "failData": "کسر مبلغ", "flowTypeInvoice": "صورتحساب", "flowTypeTooltip": "نوع مبلغ: قبض، فاکتور", @@ -256,7 +262,7 @@ "icon": "آیکون", "iconTooltip": "نماد را انتخاب کنید", "ignoreTooltip": "چشم پوشی", - "importHeadline": "وارد كردن", + "importHeadline": "واردات / صادرات", "income": "مقدار درآمد", "incomeHeadline": "درآمد", "incomeHealth": "رادار سلامت درآمد", diff --git a/lib/l10n/app_fr.arb b/lib/l10n/app_fr.arb index 6e0cc82ffc..49d16a1def 100644 --- a/lib/l10n/app_fr.arb +++ b/lib/l10n/app_fr.arb @@ -234,6 +234,12 @@ "expenseDateTime": "facturés à", "expenseHeadline": "Dépenses", "expenseTransfer": "Montant du transfert", + "exportFile": "Exporter comme fichier .{value}", + "@exportFile": { + "value": { + "type": "String" + } + }, "failData": "Montant de la déduction", "flowTypeInvoice": "Facture", "flowTypeTooltip": "Type de montant : Facture", @@ -256,7 +262,7 @@ "icon": "Icône", "iconTooltip": "Sélectionner l'icône", "ignoreTooltip": "Ignorer", - "importHeadline": "Importer", + "importHeadline": "Importation / Exportation", "income": "Montant du revenu", "incomeHeadline": "Revenu", "incomeHealth": "Radar de santé du revenu", diff --git a/lib/l10n/app_hi.arb b/lib/l10n/app_hi.arb index 9685c414c7..46703e5d1f 100644 --- a/lib/l10n/app_hi.arb +++ b/lib/l10n/app_hi.arb @@ -234,6 +234,12 @@ "expenseDateTime": "पर बिल किया गया", "expenseHeadline": "व्यय", "expenseTransfer": "स्थानांतरण की राशि", + "exportFile": ".{value} फ़ाइल के रूप में निर्यात करें", + "@exportFile": { + "value": { + "type": "String" + } + }, "failData": "राशि कटौती", "flowTypeInvoice": "चालान", "flowTypeTooltip": "राशि का प्रकार: बिल, चालान", @@ -256,7 +262,7 @@ "icon": "आइकन", "iconTooltip": "आइकन चुनें", "ignoreTooltip": "अनदेखा करना", - "importHeadline": "आयात", + "importHeadline": "आयात / निर्यात", "income": "आय की राशि", "incomeHeadline": "आय", "incomeHealth": "आय स्वास्थ्य रडार", diff --git a/lib/l10n/app_it.arb b/lib/l10n/app_it.arb index 40b2784cc1..f5f0aad5c8 100644 --- a/lib/l10n/app_it.arb +++ b/lib/l10n/app_it.arb @@ -234,6 +234,12 @@ "expenseDateTime": "Fatturato a", "expenseHeadline": "Spese", "expenseTransfer": "Importo del trasferimento", + "exportFile": "Esportazione come file .{value}", + "@exportFile": { + "value": { + "type": "String" + } + }, "failData": "Importo Detrazione", "flowTypeInvoice": "Fattura", "flowTypeTooltip": "Tipo di importo: Bolletta, Fattura", @@ -256,7 +262,7 @@ "icon": "Icona", "iconTooltip": "Selezionare l'icona", "ignoreTooltip": "Ignora", - "importHeadline": "Importazione", + "importHeadline": "Importazione / Esportazione", "income": "Importo del reddito", "incomeHeadline": "Reddito", "incomeHealth": "Radar salute reddito", diff --git a/lib/l10n/app_ja.arb b/lib/l10n/app_ja.arb index 4ff289a735..a094767891 100644 --- a/lib/l10n/app_ja.arb +++ b/lib/l10n/app_ja.arb @@ -234,6 +234,12 @@ "expenseDateTime": "請求額", "expenseHeadline": "経費", "expenseTransfer": "振込金額", + "exportFile": ".{value}-ファイルとしてエクスポート", + "@exportFile": { + "value": { + "type": "String" + } + }, "failData": "控除額", "flowTypeInvoice": "請求書", "flowTypeTooltip": "金額の種類 請求書", @@ -256,7 +262,7 @@ "icon": "アイコン", "iconTooltip": "アイコンを選択", "ignoreTooltip": "無視する", - "importHeadline": "インポート", + "importHeadline": "輸出入", "income": "収入金額", "incomeHeadline": "収入", "incomeHealth": "所得健康レーダー", diff --git a/lib/l10n/app_ko.arb b/lib/l10n/app_ko.arb index b7bc1ac176..1bb619bb67 100644 --- a/lib/l10n/app_ko.arb +++ b/lib/l10n/app_ko.arb @@ -234,6 +234,12 @@ "expenseDateTime": "청구지", "expenseHeadline": "비용", "expenseTransfer": "이체 금액", + "exportFile": ".{value} 파일로 내보내기", + "@exportFile": { + "value": { + "type": "String" + } + }, "failData": "금액 공제", "flowTypeInvoice": "인보이스", "flowTypeTooltip": "금액 유형: 청구서, 송장", @@ -256,7 +262,7 @@ "icon": "아이콘", "iconTooltip": "아이콘 선택", "ignoreTooltip": "무시", - "importHeadline": "수입", + "importHeadline": "가져오기/내보내기", "income": "수입 금액", "incomeHeadline": "수입", "incomeHealth": "소득 건강 레이더", diff --git a/lib/l10n/app_nl.arb b/lib/l10n/app_nl.arb index 5e6c13af57..f323bc5081 100644 --- a/lib/l10n/app_nl.arb +++ b/lib/l10n/app_nl.arb @@ -234,6 +234,12 @@ "expenseDateTime": "Gefactureerd bij", "expenseHeadline": "Uitgaven", "expenseTransfer": "Bedrag overboeking", + "exportFile": "Exporteren als .{value}-bestand", + "@exportFile": { + "value": { + "type": "String" + } + }, "failData": "Bedrag Aftrek", "flowTypeInvoice": "Factuur", "flowTypeTooltip": "Type bedrag: Factuur", @@ -256,7 +262,7 @@ "icon": "Icoon", "iconTooltip": "Selecteer Pictogram", "ignoreTooltip": "Negeren", - "importHeadline": "Importeren", + "importHeadline": "Importeren / Exporteren", "income": "Bedrag inkomen", "incomeHeadline": "Inkomen", "incomeHealth": "Inkomen gezondheidsradar", diff --git a/lib/l10n/app_pl.arb b/lib/l10n/app_pl.arb index 777c5237fc..d0fc3592a9 100644 --- a/lib/l10n/app_pl.arb +++ b/lib/l10n/app_pl.arb @@ -234,6 +234,12 @@ "expenseDateTime": "Rozliczone na", "expenseHeadline": "Wydatek", "expenseTransfer": "Kwota przelewu", + "exportFile": "Eksportuj jako plik .{value}", + "@exportFile": { + "value": { + "type": "String" + } + }, "failData": "Kwota odliczenia", "flowTypeInvoice": "Faktura", "flowTypeTooltip": "Typ kwoty: Rachunek, Faktura", @@ -256,7 +262,7 @@ "icon": "Ikona", "iconTooltip": "Wybierz ikonę", "ignoreTooltip": "Ignoruj", - "importHeadline": "Importuj", + "importHeadline": "Import / Eksport", "income": "Kwota dochodu", "incomeHeadline": "Dochód", "incomeHealth": "Radar stanu dochodów", diff --git a/lib/l10n/app_pt.arb b/lib/l10n/app_pt.arb index 3869bc77f1..e993bbc90d 100644 --- a/lib/l10n/app_pt.arb +++ b/lib/l10n/app_pt.arb @@ -234,6 +234,12 @@ "expenseDateTime": "Facturadas em", "expenseHeadline": "Despesas", "expenseTransfer": "Montante da transferência", + "exportFile": "Exportar como ficheiro .{value}", + "@exportFile": { + "value": { + "type": "String" + } + }, "failData": "Dedução do montante", "flowTypeInvoice": "Fatura", "flowTypeTooltip": "Tipo de montante: Fatura, Nota Fiscal", @@ -256,7 +262,7 @@ "icon": "Ícone", "iconTooltip": "Selecionar ícone", "ignoreTooltip": "Ignorar", - "importHeadline": "Importar", + "importHeadline": "Importação / Exportação", "income": "Montante do rendimento", "incomeHeadline": "Rendimento", "incomeHealth": "Radar de saúde do rendimento", diff --git a/lib/l10n/app_pt_BR.arb b/lib/l10n/app_pt_BR.arb index 318a1dbe21..731e98e561 100644 --- a/lib/l10n/app_pt_BR.arb +++ b/lib/l10n/app_pt_BR.arb @@ -234,6 +234,12 @@ "expenseDateTime": "Faturadas em", "expenseHeadline": "Despesa", "expenseTransfer": "Valor da transferência", + "exportFile": "Exportar como arquivo .{value}", + "@exportFile": { + "value": { + "type": "String" + } + }, "failData": "Dedução do valor", "flowTypeInvoice": "Fatura", "flowTypeTooltip": "Tipo de valor: Nota Fiscal, Fatura", @@ -256,7 +262,7 @@ "icon": "Ícone", "iconTooltip": "Selecionar ícone", "ignoreTooltip": "Ignorar", - "importHeadline": "Importar", + "importHeadline": "Importação / Exportação", "income": "Valor do rendimento", "incomeHeadline": "Renda", "incomeHealth": "Radar de saúde do rendimento", diff --git a/lib/l10n/app_tr.arb b/lib/l10n/app_tr.arb index 8cd10618e6..f1d8411b99 100644 --- a/lib/l10n/app_tr.arb +++ b/lib/l10n/app_tr.arb @@ -234,6 +234,12 @@ "expenseDateTime": "Faturalandırma", "expenseHeadline": "Giderler", "expenseTransfer": "Transfer Tutarı", + "exportFile": ".{value} dosyası olarak dışa aktar", + "@exportFile": { + "value": { + "type": "String" + } + }, "failData": "Tutar Kesintisi", "flowTypeInvoice": "Invoice", "flowTypeTooltip": "Tutar Türü: Fatura, Fatura", @@ -256,7 +262,7 @@ "icon": "Simge", "iconTooltip": "Simge Seçin", "ignoreTooltip": "Görmezden gel", - "importHeadline": "İthalat", + "importHeadline": "İthalat / İhracat", "income": "Gelir Miktarı", "incomeHeadline": "Gelir", "incomeHealth": "Gelir Sağlığı Radarı", diff --git a/lib/l10n/app_uk.arb b/lib/l10n/app_uk.arb index 86a6546723..85bc77377c 100644 --- a/lib/l10n/app_uk.arb +++ b/lib/l10n/app_uk.arb @@ -234,6 +234,12 @@ "expenseDateTime": "Виставлений", "expenseHeadline": "Витрати", "expenseTransfer": "Сума переводу", + "exportFile": "Експортувати як .{value}-файл", + "@exportFile": { + "value": { + "type": "String" + } + }, "failData": "Сума відрахування", "flowTypeInvoice": "Прибуток", "flowTypeTooltip": "Тип суми: Чек, Прибуток", @@ -256,7 +262,7 @@ "icon": "Значок", "iconTooltip": "Оберіть значок", "ignoreTooltip": "Ігнорувати", - "importHeadline": "Імпорт", + "importHeadline": "Імпорт / Експорт", "income": "Сума прибутку", "incomeHeadline": "Дохід", "incomeHealth": "Радар здоров'я доходів", diff --git a/lib/l10n/app_uz.arb b/lib/l10n/app_uz.arb index 53e52742b3..c1cbc7eaaa 100644 --- a/lib/l10n/app_uz.arb +++ b/lib/l10n/app_uz.arb @@ -234,6 +234,12 @@ "expenseDateTime": "Hisoblangan", "expenseHeadline": "Xarajat", "expenseTransfer": "Transfer summasi", + "exportFile": ".{value} fayl sifatida eksport qiling", + "@exportFile": { + "value": { + "type": "String" + } + }, "failData": "Chegirma miqdori", "flowTypeInvoice": "Hisob-faktura", "flowTypeTooltip": "Miqdor turi: hisob-faktura, hisob-faktura", @@ -256,7 +262,7 @@ "icon": "Belgi", "iconTooltip": "Belgini tanlang", "ignoreTooltip": "E'tibor bermaslik", - "importHeadline": "Import", + "importHeadline": "Import / eksport", "income": "Daromad miqdori", "incomeHeadline": "Daromad", "incomeHealth": "Sog'lik daromadlari radari", diff --git a/lib/l10n/app_zh.arb b/lib/l10n/app_zh.arb index 5259ae9c9a..7b53e2d9a8 100644 --- a/lib/l10n/app_zh.arb +++ b/lib/l10n/app_zh.arb @@ -234,6 +234,12 @@ "expenseDateTime": "账单", "expenseHeadline": "支出", "expenseTransfer": "转账金额", + "exportFile": "导出为 .{value} 文件", + "@exportFile": { + "value": { + "type": "String" + } + }, "failData": "扣除金额", "flowTypeInvoice": "发票", "flowTypeTooltip": "金额类型: 账单、发票", @@ -256,7 +262,7 @@ "icon": "图标", "iconTooltip": "选择图标", "ignoreTooltip": "忽略", - "importHeadline": "导入", + "importHeadline": "进口/出口", "income": "收入金额", "incomeHeadline": "收入", "incomeHealth": "收入健康雷达", diff --git a/lib/l10n/app_zh_TW.arb b/lib/l10n/app_zh_TW.arb index 33b4e57c47..093b33cc9f 100644 --- a/lib/l10n/app_zh_TW.arb +++ b/lib/l10n/app_zh_TW.arb @@ -234,6 +234,12 @@ "expenseDateTime": "帳單", "expenseHeadline": "費用", "expenseTransfer": "轉帳金額", + "exportFile": "匯出為 .{value} 檔案", + "@exportFile": { + "value": { + "type": "String" + } + }, "failData": "扣除金額", "flowTypeInvoice": "發票", "flowTypeTooltip": "金額類型: 帳單、發票", @@ -256,7 +262,7 @@ "icon": "圖示", "iconTooltip": "選擇圖示", "ignoreTooltip": "忽略", - "importHeadline": "輸入", + "importHeadline": "進口/出口", "income": "收入金額", "incomeHeadline": "收入", "incomeHealth": "收入健康雷達", diff --git a/lib/pages/account/account_add_page.dart b/lib/pages/account/account_add_page.dart index 420ebac153..d68252ad89 100644 --- a/lib/pages/account/account_add_page.dart +++ b/lib/pages/account/account_add_page.dart @@ -215,7 +215,7 @@ class AccountAddPageState extends AbstractAddPageState chunk: const [20, null], children: [ [Checkbox(value: skip, onChanged: (value) => setState(() => skip = value!))], - [TextWrapper(AppLocale.labels.skipFromTotals)], + [ThemeHelper.hIndent05, TextWrapper(AppLocale.labels.skipFromTotals)], ], ), ThemeHelper.hIndent2x, diff --git a/lib/pages/account/account_view_page.dart b/lib/pages/account/account_view_page.dart index 4beece4d5f..f2a16e9169 100644 --- a/lib/pages/account/account_view_page.dart +++ b/lib/pages/account/account_view_page.dart @@ -15,6 +15,7 @@ import 'package:app_finance/_classes/structure/bill_app_data.dart'; import 'package:app_finance/_classes/structure/currency/exchange.dart'; import 'package:app_finance/_classes/structure/invoice_app_data.dart'; import 'package:app_finance/_configs/custom_text_theme.dart'; +import 'package:app_finance/_configs/screen_helper.dart'; import 'package:app_finance/_configs/theme_helper.dart'; import 'package:app_finance/_classes/structure/navigation/app_route.dart'; import 'package:app_finance/_ext/build_context_ext.dart'; @@ -198,7 +199,7 @@ class AccountViewPageState extends AbstractPageState { @override Widget buildContent(BuildContext context, BoxConstraints constraints) { width = ThemeHelper.getWidth(context, 4, constraints); - bool isLeft = ThemeHelper.isNavRight(context, constraints); + final isLeft = ScreenHelper.state().isLeftBar; if (isLeft) { width -= ThemeHelper.barHeight; } diff --git a/lib/pages/automation/automation_page.dart b/lib/pages/automation/automation_page.dart index 99f04875b4..a5ce85f7d7 100644 --- a/lib/pages/automation/automation_page.dart +++ b/lib/pages/automation/automation_page.dart @@ -2,6 +2,7 @@ // Use of this source code is governed by a CC BY-NC-ND 4.0 license that can be found in the LICENSE file. import 'package:app_finance/_classes/herald/app_locale.dart'; +import 'package:app_finance/_configs/screen_helper.dart'; import 'package:app_finance/_configs/theme_helper.dart'; import 'package:app_finance/pages/_interfaces/abstract_page_state.dart'; import 'package:app_finance/pages/automation/widgets/sync_tab.dart'; @@ -27,7 +28,7 @@ class AutomationPageState extends AbstractPageState with TickerP @override Widget buildContent(BuildContext context, BoxConstraints constraints) { - bool isLeft = ThemeHelper.isNavRight(context, constraints); + final isLeft = ScreenHelper.state().isLeftBar; return Column( children: [ Expanded( diff --git a/lib/pages/budget/budget_add_page.dart b/lib/pages/budget/budget_add_page.dart index e2d98dc93e..6f0bcd29eb 100644 --- a/lib/pages/budget/budget_add_page.dart +++ b/lib/pages/budget/budget_add_page.dart @@ -257,7 +257,7 @@ class BudgetAddPageState extends AbstractAddPageState setState(() => skip = value!))], - [TextWrapper(AppLocale.labels.skipFromTotals)], + [ThemeHelper.hIndent05, TextWrapper(AppLocale.labels.skipFromTotals)], ], ), ThemeHelper.hIndent2x, diff --git a/lib/pages/budget/budget_view_page.dart b/lib/pages/budget/budget_view_page.dart index 76dbff368e..c761dec204 100644 --- a/lib/pages/budget/budget_view_page.dart +++ b/lib/pages/budget/budget_view_page.dart @@ -14,6 +14,7 @@ import 'package:app_finance/_classes/structure/bill_app_data.dart'; import 'package:app_finance/_classes/structure/budget_app_data.dart'; import 'package:app_finance/_classes/structure/currency/exchange.dart'; import 'package:app_finance/_configs/account_type.dart'; +import 'package:app_finance/_configs/screen_helper.dart'; import 'package:app_finance/_configs/theme_helper.dart'; import 'package:app_finance/_classes/structure/navigation/app_route.dart'; import 'package:app_finance/_ext/date_time_ext.dart'; @@ -151,7 +152,7 @@ class BudgetViewPageState extends AbstractPageState with TickerP final indent = ThemeHelper.getIndent(); final pageWidth = ThemeHelper.getWidth(context, 3, constraints); width = pageWidth - indent; - bool isLeft = ThemeHelper.isNavRight(context, constraints); + final isLeft = ScreenHelper.state().isLeftBar; if (isLeft) { width -= ThemeHelper.barHeight; } diff --git a/lib/pages/metrics/metrics_page.dart b/lib/pages/metrics/metrics_page.dart index 3e35aaf1a0..29b13457ee 100644 --- a/lib/pages/metrics/metrics_page.dart +++ b/lib/pages/metrics/metrics_page.dart @@ -2,6 +2,7 @@ // Use of this source code is governed by a CC BY-NC-ND 4.0 license that can be found in the LICENSE file. import 'package:app_finance/_classes/herald/app_locale.dart'; +import 'package:app_finance/_configs/screen_helper.dart'; import 'package:app_finance/_configs/theme_helper.dart'; import 'package:app_finance/pages/_interfaces/abstract_page_state.dart'; import 'package:app_finance/design/wrapper/tab_widget.dart'; @@ -44,10 +45,11 @@ class MetricsPageState extends AbstractPageState { @override Widget buildContent(BuildContext context, BoxConstraints constraints) { + final isLeft = ScreenHelper.state().isLeftBar; return TabWidget( focus: tab, type: TabType.secondary, - isLeft: ThemeHelper.isNavRight(context, constraints), + isLeft: isLeft, callback: (idx) => setState(() => tab = idx), tabs: [ Tab( diff --git a/lib/pages/settings/settings_page.dart b/lib/pages/settings/settings_page.dart index f0be58c70b..ebd1d96fb0 100644 --- a/lib/pages/settings/settings_page.dart +++ b/lib/pages/settings/settings_page.dart @@ -2,6 +2,7 @@ // Use of this source code is governed by a CC BY-NC-ND 4.0 license that can be found in the LICENSE file. import 'package:app_finance/_classes/herald/app_locale.dart'; +import 'package:app_finance/_configs/screen_helper.dart'; import 'package:app_finance/_configs/theme_helper.dart'; import 'package:app_finance/pages/_interfaces/abstract_page_state.dart'; import 'package:app_finance/design/wrapper/tab_widget.dart'; @@ -18,6 +19,8 @@ class SettingsPage extends StatefulWidget { } class SettingsPageState extends AbstractPageState { + int tab = 0; + @override String getTitle() => AppLocale.labels.settingsHeadline; @@ -29,10 +32,12 @@ class SettingsPageState extends AbstractPageState { @override Widget buildContent(BuildContext context, BoxConstraints constraints) { + final isLeft = ScreenHelper.state().isLeftBar; return TabWidget( - focus: 0, + focus: tab, + callback: (idx) => setState(() => tab = idx), type: TabType.secondary, - isLeft: ThemeHelper.isNavRight(context, constraints), + isLeft: isLeft, tabs: [ Tab( icon: const Icon(Icons.settings), @@ -43,7 +48,7 @@ class SettingsPageState extends AbstractPageState { text: AppLocale.labels.recoveryHeadline, ), Tab( - icon: const Icon(Icons.imagesearch_roller_sharp), + icon: const Icon(Icons.import_export), text: AppLocale.labels.importHeadline, ), ], diff --git a/lib/pages/settings/widgets/import_tab.dart b/lib/pages/settings/widgets/import_tab.dart index 1bcb44cdba..add72b4fe6 100644 --- a/lib/pages/settings/widgets/import_tab.dart +++ b/lib/pages/settings/widgets/import_tab.dart @@ -8,6 +8,7 @@ import 'package:app_finance/_classes/storage/file_parser.dart'; import 'package:app_finance/_classes/storage/file_picker.dart'; import 'package:app_finance/_classes/storage/transaction_log.dart'; import 'package:app_finance/_classes/controller/focus_controller.dart'; +import 'package:app_finance/_classes/storage/transaction_log/export_excel.dart'; import 'package:app_finance/design/form/list_selector_item.dart'; import 'package:app_finance/_classes/structure/interface_app_data.dart'; import 'package:app_finance/_classes/controller/date_format_helper.dart'; @@ -109,6 +110,15 @@ class ImportTabState extends State { setState(() => fileContent = null); } + Future exportFile() async { + try { + final file = ExportExcel(state); + await file.exportAll(); + } catch (e) { + setState(() => errorMessage.writeln(e.toString())); + } + } + Future wrapCall(Function callback) async { setState(() { isLoading = true; @@ -245,7 +255,7 @@ class ImportTabState extends State { ), ), ]), - ] else + ] else ...[ ...List.generate(FilePicker.fileFormats.length * 2, (index) { if (index % 2 == 0) { return ThemeHelper.hIndent2x; @@ -263,7 +273,22 @@ class ImportTabState extends State { ), ); } - }) + }), + ThemeHelper.hIndent2x, + const Divider(), + ThemeHelper.hIndent2x, + SizedBox( + width: double.infinity, + child: FloatingActionButton( + heroTag: 'export_tab_pick_xlsx', + onPressed: () => wrapCall(() => exportFile()), + tooltip: AppLocale.labels.exportFile('xlsx'), + child: Text( + AppLocale.labels.exportFile('xlsx'), + ), + ), + ), + ] ], ), ), diff --git a/lib/pages/settings/widgets/recover_tab/nav_button_widget.dart b/lib/pages/settings/widgets/recover_tab/nav_button_widget.dart index ea5a49475f..ac2900b123 100644 --- a/lib/pages/settings/widgets/recover_tab/nav_button_widget.dart +++ b/lib/pages/settings/widgets/recover_tab/nav_button_widget.dart @@ -38,7 +38,7 @@ class NavButtonWidget extends StatelessWidget { icon: icon, onPressed: () => callback(nav), tooltip: name, - color: Colors.white30, + color: context.colorScheme.inversePrimary, ), ThemeHelper.hIndent2x, Expanded( diff --git a/lib/pages/subscription/subscription_page.dart b/lib/pages/subscription/subscription_page.dart index 883d45f8e6..7a35344c1b 100644 --- a/lib/pages/subscription/subscription_page.dart +++ b/lib/pages/subscription/subscription_page.dart @@ -47,7 +47,7 @@ class SubscriptionPageState extends AbstractPageState { children: [ [ ElevatedButton( - onPressed: () => nav.pushNamed(AppRoute.aboutRoute, arguments: {'search': '0'}), + onPressed: () => nav.pushNamed(AppRoute.aboutRoute, arguments: {'search': '1'}), child: TextWrapper(AppLocale.labels.termPrivacy), ), ], @@ -55,7 +55,7 @@ class SubscriptionPageState extends AbstractPageState { Align( alignment: Alignment.centerRight, child: ElevatedButton( - onPressed: () => nav.pushNamed(AppRoute.aboutRoute, arguments: {'search': '1'}), + onPressed: () => nav.pushNamed(AppRoute.aboutRoute, arguments: {'search': '2'}), child: TextWrapper(AppLocale.labels.termUse), ), ), diff --git a/linux-flatpak/com.tercad.fingrom.metainfo.xml b/linux-flatpak/com.tercad.fingrom.metainfo.xml index 10f7229b36..3bc949ff4d 100644 --- a/linux-flatpak/com.tercad.fingrom.metainfo.xml +++ b/linux-flatpak/com.tercad.fingrom.metainfo.xml @@ -33,8 +33,9 @@
  • Synchronization between devices (P2P)
  • Recovery via WebDav or a direct File
  • Import from CSV, QIF, OFX files for Bills and Invoices
  • +
  • Export to Excel (XLSX) file
  • Data encryption
  • -
  • Localizations: EN, BE, PL, PT, FR, DE, UK, ZH, HI, UZ, FA, AR, AZ, JA, ES, IT, TR
  • +
  • Localizations: EN, BE, PL, PT, FR, DE, UK, ZH, HI, UZ, FA, AR, AZ, JA, ES, IT, TR, KO, NL
  • Responsive and Adaptive Design
  • Shortcuts
  • diff --git a/pubspec.lock b/pubspec.lock index 917a924b37..ea2daeaff0 100644 --- a/pubspec.lock +++ b/pubspec.lock @@ -289,6 +289,14 @@ packages: url: "https://pub.dev" source: hosted version: "5.0.1" + equatable: + dependency: transitive + description: + name: equatable + sha256: c2b87cb7756efdf69892005af546c56c0b5037f54d2a88269b4f347a505e3ca2 + url: "https://pub.dev" + source: hosted + version: "2.0.5" events_emitter: dependency: transitive description: @@ -297,6 +305,14 @@ packages: url: "https://pub.dev" source: hosted version: "0.5.2" + excel: + dependency: "direct main" + description: + name: excel + sha256: "1a15327dcad260d5db21d1f6e04f04838109b39a2f6a84ea486ceda36e468780" + url: "https://pub.dev" + source: hosted + version: "4.0.6" fake_async: dependency: transitive description: diff --git a/pubspec.yaml b/pubspec.yaml index 67e84ecb09..4e3c7e7d44 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -56,6 +56,7 @@ dependencies: firebase_crashlytics: ^4.0.0 dart_intl_search: ^1.2.3 idb_shim: ^2.6.1+7 + excel: ^4.0.6 dev_dependencies: flutter_test: