Merge branch 'maint'

This commit is contained in:
Christopher Lam 2022-05-05 09:46:44 +08:00
commit fcc3b27f92
9 changed files with 258 additions and 199 deletions

View File

@ -28,6 +28,7 @@
#include <string>
#include <numeric>
#include <algorithm>
#include <optional>
extern "C" {
#include "Transaction.h"
@ -58,8 +59,8 @@ static const char* ASSISTANT_STOCK_TRANSACTION_CM_CLASS = "assistant-stock-trans
enum assistant_pages
{
PAGE_INTRO = 0,
PAGE_TRANSACTION_DETAILS,
PAGE_TRANSACTION_TYPE,
PAGE_TRANSATION_DETAILS,
PAGE_STOCK_AMOUNT,
PAGE_STOCK_VALUE,
PAGE_CASH,
@ -428,7 +429,7 @@ typedef struct
GtkWidget * window;
GtkWidget * assistant;
const TxnTypeVec * txn_types;
std::optional<TxnTypeVec> txn_types;
Account * acct;
gnc_commodity * currency;
@ -436,7 +437,7 @@ typedef struct
GtkWidget * transaction_type_page;
GtkWidget * transaction_type_combo;
GtkWidget * transaction_type_explanation;
const TxnTypeInfo * txn_type;
std::optional<TxnTypeInfo> txn_type;
// transaction details page
GtkWidget * transaction_details_page;
@ -506,7 +507,10 @@ refresh_page_transaction_type (GtkWidget *widget, gpointer user_data)
if (type_idx < 0) // combo isn't initialized yet.
return;
info->txn_type = &(info->txn_types->at (type_idx));
if (!info->txn_types)
return;
info->txn_type = info->txn_types->at (type_idx);
gtk_label_set_text (GTK_LABEL (info->transaction_type_explanation),
_(info->txn_type->explanation));
@ -692,7 +696,32 @@ refresh_page_finish (StockTransactionInfo *info)
gnc_numeric debit = gnc_numeric_zero ();
gnc_numeric credit = gnc_numeric_zero ();
StringVec errors;
StringVec errors, warnings;
// check the stock transaction date. If there are existing stock
// transactions dated after the date specified, it is very likely
// the later stock transactions will be invalidated. warn the user
// to review them.
auto new_date = gnc_date_edit_get_date_end (GNC_DATE_EDIT (info->date_edit));
auto last_split = static_cast<const Split*> (g_list_last (xaccAccountGetSplitList (info->acct))->data);
auto last_split_date = xaccTransGetDate (xaccSplitGetParent (last_split));
if (new_date <= last_split_date)
{
auto last_split_date_str = qof_print_date (last_split_date);
auto new_date_str = qof_print_date (new_date);
// Translators: the first %s is the new transaction date;
// the second %s is the current stock account's latest
// transaction date.
auto warn_txt = g_strdup_printf (_("You will enter a transaction \
with date %s which is earlier than the latest transaction in this account, \
dated %s. Doing so may affect the cost basis, and therefore capital gains, \
of transactions dated after the new entry. Please review all transactions \
to ensure proper recording."), new_date_str, last_split_date_str);
warnings.push_back (warn_txt);
g_free (warn_txt);
g_free (new_date_str);
g_free (last_split_date_str);
}
if (info->txn_type->stock_amount != FieldMask::DISABLED)
{
@ -763,23 +792,24 @@ refresh_page_finish (StockTransactionInfo *info)
g_free (debit_str);
}
if (errors.empty())
// generate final summary message. Collates a header, the errors
// and warnings. Then allow completion if errors is empty.
auto header = errors.empty() ?
N_("No errors found. Click Apply to create transaction.") :
N_("The following errors must be fixed:");
auto summary = std::string { _(header) };
auto summary_add = [&summary](auto a) { summary += "\n"; summary += a; };
std::for_each (errors.begin(), errors.end(), summary_add);
if (!warnings.empty())
{
auto success_msg = N_("No errors found. Click Apply to create transaction.");
gtk_assistant_set_page_complete (GTK_ASSISTANT (info->window),
info->finish_page, true);
gtk_label_set_text (GTK_LABEL (info->finish_summary), _(success_msg));
}
else
{
auto header_str = N_("The following errors must be fixed:");
auto header = std::string { _(header_str) };
auto fold = [](auto a, auto b) { return std::move(a) + '\n' + std::move(b); };
auto errmsg { std::accumulate (errors.begin(), errors.end(), header, fold) };
gtk_assistant_set_page_complete (GTK_ASSISTANT (info->window),
info->finish_page, false);
gtk_label_set_text (GTK_LABEL (info->finish_summary), errmsg.c_str());
auto warnings_header = N_ ("The following warnings exist:");
summary += "\n\n";
summary += _(warnings_header);
std::for_each (warnings.begin(), warnings.end(), summary_add);
}
gtk_label_set_text (GTK_LABEL (info->finish_summary), summary.c_str());
gtk_assistant_set_page_complete (GTK_ASSISTANT (info->window),
info->finish_page, errors.empty());
}
void
@ -791,8 +821,15 @@ stock_assistant_prepare (GtkAssistant *assistant, GtkWidget *page,
switch (currentpage)
{
case PAGE_TRANSACTION_TYPE:
case PAGE_TRANSACTION_TYPE:;
// initialize transaction types.
gnc_numeric balance;
time64 date;
date = gnc_date_edit_get_date_end (GNC_DATE_EDIT (info->date_edit));
balance = xaccAccountGetBalanceAsOfDate (info->acct, date);
info->txn_types = gnc_numeric_zero_p (balance) ? starting_types
: gnc_numeric_positive_p (balance) ? long_types
: short_types;
gtk_combo_box_text_remove_all (GTK_COMBO_BOX_TEXT (info->transaction_type_combo));
for (auto& it : *(info->txn_types))
gtk_combo_box_text_append_text (GTK_COMBO_BOX_TEXT (info->transaction_type_combo),
@ -1117,11 +1154,6 @@ stock_assistant_create (StockTransactionInfo *info)
// Set the name for this assistant so it can be easily manipulated with css
gtk_widget_set_name (GTK_WIDGET(info->window), "gnc-id-assistant-stock-transaction");
auto balance = xaccAccountGetBalance (info->acct);
info->txn_types = gnc_numeric_zero_p (balance) ? &starting_types
: gnc_numeric_positive_p (balance) ? &long_types
: &short_types;
info->currency = gnc_account_get_currency_or_parent (info->acct);
/* Transaction Page Widgets */

View File

@ -28,88 +28,6 @@
<property name="complete">True</property>
</packing>
</child>
<child>
<object class="GtkBox" id="transaction_type_page">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="margin-start">12</property>
<property name="border-width">6</property>
<property name="orientation">vertical</property>
<child>
<object class="GtkLabel" id="transaction_type_page_label">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="margin-bottom">6</property>
<property name="label" translatable="yes">Select the type of stock activity that you wish to record. The available types depend on whether the current stock balance is positive, nil, or negative (i.e. when shorting stock). The type will determine the component splits.</property>
<property name="wrap">True</property>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">False</property>
<property name="position">0</property>
</packing>
</child>
<child>
<!-- n-columns=2 n-rows=2 -->
<object class="GtkGrid" id="transaction_type_table">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="row-spacing">3</property>
<property name="column-spacing">6</property>
<child>
<object class="GtkLabel" id="transaction_type_combo_label">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="label" translatable="yes">Type</property>
</object>
<packing>
<property name="left-attach">0</property>
<property name="top-attach">0</property>
</packing>
</child>
<child>
<object class="GtkComboBoxText" id="transaction_type_page_combobox">
<property name="visible">True</property>
<property name="can-focus">False</property>
<items>
<item translatable="yes">a1</item>
<item translatable="yes">b2</item>
<item translatable="yes">c3</item>
</items>
</object>
<packing>
<property name="left-attach">1</property>
<property name="top-attach">0</property>
</packing>
</child>
<child>
<object class="GtkLabel" id="transaction_type_page_explanation">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="label" translatable="yes">label</property>
<property name="wrap">True</property>
</object>
<packing>
<property name="left-attach">1</property>
<property name="top-attach">1</property>
</packing>
</child>
<child>
<placeholder/>
</child>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">1</property>
</packing>
</child>
</object>
<packing>
<property name="title" translatable="yes">Transaction Type</property>
<property name="complete">True</property>
</packing>
</child>
<child>
<object class="GtkBox" id="transaction_details_page">
<property name="visible">True</property>
@ -186,6 +104,88 @@
<property name="complete">True</property>
</packing>
</child>
<child>
<object class="GtkBox" id="transaction_type_page">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="margin-start">12</property>
<property name="border-width">6</property>
<property name="orientation">vertical</property>
<child>
<object class="GtkLabel" id="transaction_type_page_label">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="margin-bottom">6</property>
<property name="label" translatable="yes">Select the type of stock activity that you wish to record. The available types depend on whether the current stock balance is positive, nil, or negative (i.e. when shorting stock). The type will determine the component splits.</property>
<property name="wrap">True</property>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">False</property>
<property name="position">0</property>
</packing>
</child>
<child>
<!-- n-columns=2 n-rows=2 -->
<object class="GtkGrid" id="transaction_type_table">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="row-spacing">3</property>
<property name="column-spacing">6</property>
<child>
<object class="GtkLabel" id="transaction_type_combo_label">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="label" translatable="yes">Type</property>
</object>
<packing>
<property name="left-attach">0</property>
<property name="top-attach">0</property>
</packing>
</child>
<child>
<object class="GtkComboBoxText" id="transaction_type_page_combobox">
<property name="visible">True</property>
<property name="can-focus">False</property>
<items>
<item>a1</item>
<item>b2</item>
<item>c3</item>
</items>
</object>
<packing>
<property name="left-attach">1</property>
<property name="top-attach">0</property>
</packing>
</child>
<child>
<object class="GtkLabel" id="transaction_type_page_explanation">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="label">label</property>
<property name="wrap">True</property>
</object>
<packing>
<property name="left-attach">1</property>
<property name="top-attach">1</property>
</packing>
</child>
<child>
<placeholder/>
</child>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">1</property>
</packing>
</child>
</object>
<packing>
<property name="title" translatable="yes">Transaction Type</property>
<property name="complete">True</property>
</packing>
</child>
<child>
<object class="GtkBox" id="stock_amount_page">
<property name="visible">True</property>
@ -333,7 +333,7 @@
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="halign">end</property>
<property name="label" translatable="yes">(autocalculated price)</property>
<property name="label">(autocalculated price)</property>
<property name="use-underline">True</property>
<property name="justify">center</property>
</object>
@ -896,6 +896,7 @@
<object class="GtkScrolledWindow" id="finish_scrolled">
<property name="visible">True</property>
<property name="can-focus">True</property>
<property name="vscrollbar-policy">never</property>
<child>
<object class="GtkTreeView" id="transaction_view">
<property name="visible">True</property>
@ -918,7 +919,8 @@
<object class="GtkLabel" id="finish_summary">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="label" translatable="yes">summary of errors</property>
<property name="label">summary of errors</property>
<property name="wrap">True</property>
</object>
<packing>
<property name="expand">False</property>

View File

@ -580,8 +580,8 @@ gnc_ab_trans_to_gnc(const AB_TRANSACTION *ab_trans, Account *gnc_acc)
QofBook *book;
Transaction *gnc_trans;
const gchar *fitid;
const GNC_GWEN_DATE *valuta_date;
time64 current_time;
const GNC_GWEN_DATE *value_date, *post_date;
time64 current_time, post_time;
const char *custref;
gchar *description;
Split *split;
@ -595,22 +595,28 @@ gnc_ab_trans_to_gnc(const AB_TRANSACTION *ab_trans, Account *gnc_acc)
xaccTransBeginEdit(gnc_trans);
/* Date / Time */
valuta_date = AB_Transaction_GetValutaDate(ab_trans);
if (!valuta_date)
{
const GNC_GWEN_DATE *normal_date = AB_Transaction_GetDate(ab_trans);
if (normal_date)
valuta_date = normal_date;
}
if (valuta_date)
{
time64 secs = gnc_gwen_date_to_time64(valuta_date);
xaccTransSetDatePostedSecsNormalized(gnc_trans, secs);
}
/* SWIFT import formats (in particular MT940) provide for two
* dates, the entry date and the value date (valuta is value in
* German). The value date is the effective date for financial
* calculation purposes and is mandatory, the entry date is the
* date that the financial institution posted the
* transaction. Since the entry date is normally closer to the
* date that the customer's book should recognize the transaction
* we prefer that date if present.
*/
post_date = AB_Transaction_GetDate(ab_trans);
value_date = AB_Transaction_GetValutaDate(ab_trans);
if (post_date)
post_time = gnc_gwen_date_to_time64(post_date);
else if (value_date)
post_time = gnc_gwen_date_to_time64(value_date);
else
{
g_warning("transaction_cb: Oops, date 'valuta_date' was NULL");
g_warning("transaction_cb: Import had no transaction date");
post_time = gnc_time (NULL);
}
xaccTransSetDatePostedSecsNormalized(gnc_trans, post_time);
xaccTransSetDateEnteredSecs(gnc_trans, gnc_time (NULL));
/* Currency. We take simply the default currency of the gnucash account */

View File

@ -841,25 +841,21 @@ void split_find_match (GNCImportTransInfo * trans_info,
/* append the imported transaction description to the matched transaction description */
static void
desc_append (Transaction* selected_match_trans, Transaction* imp_trans)
desc_append (Transaction* selected_match_trans, gchar *new_desc)
{
gchar* tmp = g_strconcat( xaccTransGetDescription (selected_match_trans),
"|",
xaccTransGetDescription (imp_trans),
NULL);
const gchar* curr_desc = xaccTransGetDescription (selected_match_trans);
gchar* tmp = g_strconcat(curr_desc, "|", new_desc, NULL);
xaccTransSetDescription (selected_match_trans, tmp);
g_free (tmp);
}
/* append the imported transaction notes to the matched transaction notes */
static void
notes_append (Transaction* selected_match_trans, Transaction* imp_trans)
notes_append (Transaction* selected_match_trans, gchar* new_notes)
{
gchar* tmp = g_strconcat (xaccTransGetNotes (selected_match_trans),
"|",
xaccTransGetNotes (imp_trans),
NULL);
xaccTransSetNotes (selected_match_trans, tmp);
const gchar* curr_notes = xaccTransGetNotes (selected_match_trans);
gchar* tmp = g_strconcat (curr_notes, "|", new_notes, NULL);
xaccTransSetNotes (selected_match_trans, tmp );
g_free (tmp);
}
@ -875,24 +871,44 @@ update_desc_and_notes (const GNCImportTransInfo* trans_info)
if (trans_info->append_text)
{
gchar* desc_imported = g_utf8_normalize (xaccTransGetDescription (
imp_trans), -1, G_NORMALIZE_ALL);
gchar* desc_matched = g_utf8_normalize (xaccTransGetDescription (
selected_match->trans), -1, G_NORMALIZE_ALL);
gchar* note_imported = g_utf8_normalize (xaccTransGetNotes (
imp_trans), -1, G_NORMALIZE_ALL);
gchar* note_matched = g_utf8_normalize (xaccTransGetNotes (
selected_match->trans), -1, G_NORMALIZE_ALL);
gchar *desc_imported, *desc_matched, *note_imported, *note_matched;
const gchar* raw_str = xaccTransGetDescription (imp_trans);
desc_imported =
raw_str ? g_utf8_normalize (raw_str, -1, G_NORMALIZE_ALL) : NULL;
raw_str = xaccTransGetDescription (selected_match->trans);
desc_matched =
raw_str ? g_utf8_normalize (raw_str, -1, G_NORMALIZE_ALL) : NULL;
raw_str = xaccTransGetNotes (imp_trans);
note_imported =
raw_str ? g_utf8_normalize (raw_str, -1, G_NORMALIZE_ALL) : NULL;
raw_str = xaccTransGetNotes (selected_match->trans);
note_matched =
raw_str ? g_utf8_normalize (raw_str, -1, G_NORMALIZE_ALL) : NULL;
// Append if desc_imported not already in desc_matched
if (g_utf8_strlen (desc_imported, -1) > g_utf8_strlen (desc_matched, -1) ||
!strstr (desc_matched, desc_imported))
desc_append (selected_match->trans, imp_trans);
if (desc_imported &&
(!desc_matched ||
g_utf8_strlen (desc_imported, -1) > g_utf8_strlen (desc_matched, -1) ||
!strstr (desc_matched, desc_imported)))
{
if (desc_matched && *desc_matched)
desc_append (selected_match->trans, desc_imported);
else
xaccTransSetDescription (selected_match->trans, desc_imported);
}
// Append if note_imported not already in note_matched
if (g_utf8_strlen (note_imported, -1) > g_utf8_strlen (note_matched, -1) ||
!strstr (note_matched, note_imported))
notes_append (selected_match->trans, imp_trans);
if (note_imported &&
(!note_matched ||
g_utf8_strlen (note_imported, -1) > g_utf8_strlen (note_matched, -1) ||
!strstr (note_matched, note_imported)))
{
if (note_matched && *note_matched)
notes_append (selected_match->trans, note_imported);
else
xaccTransSetNotes (selected_match->trans, note_imported);
}
g_free(desc_imported);
g_free(desc_matched);

View File

@ -170,8 +170,8 @@
((string? rendered-elt)
rendered-elt)
((list? rendered-elt)
(apply string-append
(gnc:html-document-tree-collapse rendered-elt)))
(string-concatenate
(gnc:html-document-tree-collapse rendered-elt)))
(#t
(format #f "hold on there podner. form=~s\n" rendered-elt)
""))))

View File

@ -382,28 +382,30 @@ also show overall period profit & loss."))
(define (make-narrow-cell)
(gnc:make-html-table-cell/min-width 1))
(define (show-depth? lvl)
(or (not depth-limit) (<= lvl depth-limit)))
(define (add-indented-row indent label label-markup row-markup amount-indent rest)
(when (or (not depth-limit) (<= indent depth-limit))
(let* ((account-cell (if label-markup
(gnc:make-html-table-cell/size/markup
1 (if disable-account-indent? 1 (- maxindent indent))
label-markup label)
(gnc:make-html-table-cell/size
1 (if disable-account-indent? 1 (- maxindent indent))
label)))
(row (append
(if disable-account-indent?
'()
(make-list-thunk indent make-narrow-cell))
(list account-cell)
(gnc:html-make-empty-cells
(if amount-indenting? (1- amount-indent) 0))
(if reverse-cols? (reverse rest) rest)
(gnc:html-make-empty-cells
(if amount-indenting? (- maxindent amount-indent) 0)))))
(if row-markup
(gnc:html-table-append-row/markup! table row-markup row)
(gnc:html-table-append-row! table row)))))
(let* ((account-cell (if label-markup
(gnc:make-html-table-cell/size/markup
1 (if disable-account-indent? 1 (- maxindent indent))
label-markup label)
(gnc:make-html-table-cell/size
1 (if disable-account-indent? 1 (- maxindent indent))
label)))
(row (append
(if disable-account-indent?
'()
(make-list-thunk indent make-narrow-cell))
(list account-cell)
(gnc:html-make-empty-cells
(if amount-indenting? (1- amount-indent) 0))
(if reverse-cols? (reverse rest) rest)
(gnc:html-make-empty-cells
(if amount-indenting? (- maxindent amount-indent) 0)))))
(if row-markup
(gnc:html-table-append-row/markup! table row-markup row)
(gnc:html-table-append-row! table row))))
(define (monetary+ . monetaries)
;; usage: (monetary+ monetary...)
@ -518,8 +520,9 @@ also show overall period profit & loss."))
((_ . tail) (lp1 tail))))))))
(define* (add-recursive-subtotal lvl lvl-acct #:key account-style-normal?)
(if (or show-zb-accts?
(is-not-zero? (account-and-descendants lvl-acct)))
(if (and (or show-zb-accts?
(is-not-zero? (account-and-descendants lvl-acct)))
(show-depth? lvl))
(add-indented-row lvl
(render-account lvl-acct (not account-style-normal?))
(if account-style-normal?
@ -545,9 +548,10 @@ also show overall period profit & loss."))
(define* (add-account-row lvl-curr curr #:key
(override-show-zb-accts? #f)
(account-indent 0))
(if (or show-zb-accts?
override-show-zb-accts?
(is-not-zero? (list curr)))
(if (and (or show-zb-accts?
override-show-zb-accts?
(is-not-zero? (list curr)))
(show-depth? lvl-curr))
(add-indented-row lvl-curr
(render-account curr #f)
"text-cell"

View File

@ -174,7 +174,6 @@
(cons 'N292 #(not-impl "Sched C" "Spouse" 0 #t "" ((1980 ""))))
(cons 'N319 #(not-impl "Sched C" "Principal business/prof" 2 #t "" ((1980 "A"))))
(cons 'N293 #(none "Sched C" "Gross receipts or sales" 1 #t "" ((2012 "1") (2011 "1b") (1989 "1") (1980 "1a"))))
(cons 'N296 #(none "Sched C" "Returns and allowances" 1 #t "" ((1989 "2") (1980 "1b"))))
(cons 'N303 #(none "Sched C" "Other business income" 1 #t "" ((1989 "6") (1987 "4") (1981 "4b") (1980 "4"))))
(cons 'N497 #(not-impl "Sched C-EZ" "Schedule C-EZ" 1 #t ""))

View File

@ -80,7 +80,7 @@ msgstr ""
"Report-Msgid-Bugs-To: https://bugs.gnucash.org/enter_bug."
"cgi?product=GnuCash&component=Translations\n"
"POT-Creation-Date: 2022-03-09 18:00-0800\n"
"PO-Revision-Date: 2022-04-15 13:12+0000\n"
"PO-Revision-Date: 2022-04-27 19:08+0000\n"
"Last-Translator: Cow <javier.fserrador@gmail.com>\n"
"Language-Team: Spanish <https://hosted.weblate.org/projects/gnucash/gnucash/"
"es/>\n"
@ -89,7 +89,7 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
"X-Generator: Weblate 4.12-dev\n"
"X-Generator: Weblate 4.12.1-dev\n"
"X-Bugs: Report translation errors to the Language-Team address.\n"
"X-Poedit-SourceCharset: UTF-8\n"
"X-Poedit-KeywordsList: <b>;</b>;<span weight=\"bold\" size=\"larger\""
@ -559,9 +559,8 @@ msgid ""
"The full path is displayed in the status bar."
msgstr ""
"Si desea conocer cuales directorios donde están almacenados los archivos "
"GnuCash recientes, pase el cursor sobre una de los asientos en el menú de "
"historial\n"
"(Archivo[->Listado más recientes utilizados]).\n"
"GnuCash recientes, pase el cursor sobre una de los asientos\n"
"en el menú de historial (Archivo[->Listado más recientes utilizados]).\n"
"La ruta completa es representada dentro de la barra de estado."
#: doc/tip_of_the_day.list.c:24
@ -5176,7 +5175,7 @@ msgstr "_Borrar titular..."
#: gnucash/gnome/gnc-plugin-page-owner-tree.c:178
msgid "Delete selected owner"
msgstr "Borrar el titular seleccionado"
msgstr "Borra el titular seleccionado"
#: gnucash/gnome/gnc-plugin-page-owner-tree.c:197
msgid "Create a new bill"
@ -5275,7 +5274,7 @@ msgid ""
"Are you sure you want to do this?"
msgstr ""
"Este titular %s será eliminado.\n"
"¿Seguro que desea hacer ésto?"
"¿Seguro que desea hacer esto?"
#: gnucash/gnome/gnc-plugin-page-register2.c:194
#: gnucash/gnome/gnc-plugin-page-register.c:292
@ -5591,12 +5590,12 @@ msgid ""
"Show a second line with \"Action\", \"Notes\", and \"Linked Document\" for "
"each transaction."
msgstr ""
"Muestra una línea adicional con \"Operación\", \"Notas\" y \"Documento "
"Asociado\" para cada transacción."
"Muestra una línea adicional con «Operación», «Notas» y «Documento Asociado» "
"para cada transacción."
#: gnucash/gnome/gnc-plugin-page-register2.c:430
msgid "Show _Extra Dates"
msgstr "Mostrar fechas _extra"
msgstr "Mostrar fechas _adicionales"
#: gnucash/gnome/gnc-plugin-page-register2.c:431
msgid "Show entered and reconciled dates"
@ -22925,7 +22924,7 @@ msgstr "999'00"
#: gnucash/register/ledger-core/gncEntryLedgerLayout.c:154
msgctxt "sample for 'Billable'"
msgid "BI"
msgstr "Ca"
msgstr "FA"
#: gnucash/register/ledger-core/gncEntryLedgerLayout.c:158
msgctxt "sample"
@ -23204,7 +23203,7 @@ msgstr "22/02/2000"
#: gnucash/register/ledger-core/split-register-layout.c:671
msgctxt "sample"
msgid "99999"
msgstr "99.999"
msgstr "12345"
#: gnucash/register/ledger-core/split-register-layout.c:679
msgctxt "sample"
@ -30558,7 +30557,7 @@ msgstr "g"
#: libgnucash/app-utils/gnc-ui-util.c:879
msgctxt "Reconciled flag 'void'"
msgid "v"
msgstr "a"
msgstr "p"
#: libgnucash/app-utils/gnc-ui-util.c:919
msgctxt "Document Link flag for 'web'"
@ -30568,7 +30567,7 @@ msgstr "w"
#: libgnucash/app-utils/gnc-ui-util.c:921
msgctxt "Document Link flag for 'file'"
msgid "f"
msgstr "f"
msgstr "a"
#: libgnucash/app-utils/gnc-ui-util.c:950
msgid "Opening Balances"
@ -30723,7 +30722,7 @@ msgstr ""
#: libgnucash/engine/gnc-commodity.h:112
msgctxt "Commodity Type"
msgid "All non-currency"
msgstr "Todas excepto moneda"
msgstr "Todo no monetario"
#: libgnucash/engine/gnc-commodity.h:113
msgctxt "Commodity Type"

View File

@ -5,14 +5,15 @@
# SULYOK Péter <peti@sulyok.hu>, 2003-2006.
# Kornel Tako <takokornel@gmail.com>, 2007.
# Kárász Attila <cult.edie@gmail.com>, 2022.
# Szia Tomi <sziatomi01@gmail.com>, 2022.
msgid ""
msgstr ""
"Project-Id-Version: GnuCash 4.9-pre1\n"
"Report-Msgid-Bugs-To: https://bugs.gnucash.org/enter_bug."
"cgi?product=GnuCash&component=Translations\n"
"POT-Creation-Date: 2022-03-09 18:00-0800\n"
"PO-Revision-Date: 2022-04-20 12:13+0000\n"
"Last-Translator: Kárász Attila <cult.edie@gmail.com>\n"
"PO-Revision-Date: 2022-04-29 01:08+0000\n"
"Last-Translator: Szia Tomi <sziatomi01@gmail.com>\n"
"Language-Team: Hungarian <https://hosted.weblate.org/projects/gnucash/"
"gnucash/hu/>\n"
"Language: hu\n"
@ -20,7 +21,7 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=1; plural=0;\n"
"X-Generator: Weblate 4.12-dev\n"
"X-Generator: Weblate 4.12.1-dev\n"
# #-#-#-#-# epiphany.HEAD.hu.po-new.po (Epiphany CVS) #-#-#-#-#
# src/trans.h:283
@ -3429,8 +3430,8 @@ msgid_plural ""
"There are no Scheduled Transactions to be entered at this time. (%d "
"transactions automatically created)"
msgstr[0] ""
"Nincs létrehozandó ütemezett tranzakció. (%d tranzakció automatikusan "
"létrehozva)"
"Jelenleg nincs ütemezett tranzakció amelyet meg kell adni. (%d tranzakció "
"automatikusan létrejött)"
#: gnucash/gnome/dialog-sx-since-last-run.c:998
#: gnucash/gnome-search/dialog-search.c:1104