Merge branch 'maint'

This commit is contained in:
Frank H. Ellenberger 2023-01-06 01:31:13 +01:00
commit 506a1b3c5e
18 changed files with 328 additions and 341 deletions

View File

@ -2844,7 +2844,7 @@ gboolean gnc_tree_view_search_compare (GtkTreeModel *model, gint column,
gchar *case_normalized_key = NULL;
gboolean match = FALSE;
normalized_key = g_utf8_normalize (key, -1, G_NORMALIZE_ALL);
normalized_key = g_utf8_normalize (key, -1, G_NORMALIZE_NFC);
if (normalized_key)
case_normalized_key = g_utf8_casefold (normalized_key, -1);
if (case_normalized_key)
@ -2873,7 +2873,7 @@ gboolean gnc_tree_view_search_compare (GtkTreeModel *model, gint column,
if (!str)
continue;
normalized_string = g_utf8_normalize (str, -1, G_NORMALIZE_ALL);
normalized_string = g_utf8_normalize (str, -1, G_NORMALIZE_NFC);
if (normalized_string)
case_normalized_string = g_utf8_casefold (normalized_string, -1);
if (case_normalized_string&&NULL!=strstr(case_normalized_string,case_normalized_key))

View File

@ -1005,23 +1005,10 @@ forward_page_func (gint current_page, gpointer user_data)
}
static void
create_split (Transaction *trans, FieldMask splitfield,
const gchar *action, Account *account,
create_split (Transaction *trans, const gchar *action, Account *account,
AccountVec& account_commits, GtkWidget *memo_entry,
gnc_numeric amount_numeric, gnc_numeric value_numeric,
bool skip_if_zero, StockTransactionInfo *info)
gnc_numeric amount_numeric, gnc_numeric value_numeric)
{
if (skip_if_zero && gnc_numeric_zero_p (value_numeric))
return;
if (info->txn_type->input_new_balance)
amount_numeric = gnc_numeric_sub_fixed (amount_numeric, info->balance_at_date);
else if (splitfield & FieldMask::ENABLED_CREDIT)
{
amount_numeric = gnc_numeric_neg (amount_numeric);
value_numeric = gnc_numeric_neg (value_numeric);
}
auto split = xaccMallocSplit (gnc_get_current_book ());
xaccSplitSetParent (split, trans);
xaccAccountBeginEdit (account);
@ -1096,55 +1083,68 @@ stock_assistant_finish (GtkAssistant *assistant, gpointer user_data)
gae_amount (info->stock_amount_edit) : gnc_numeric_zero ();
auto stock_value = info->txn_type->stock_value != FieldMask::DISABLED ?
gae_amount (info->stock_value_edit) : gnc_numeric_zero ();
create_split (trans, info->txn_type->stock_amount | info->txn_type->stock_value,
NC_ ("Stock Assistant: Action field", "Stock"),
if (info->txn_type->input_new_balance)
stock_amount = gnc_numeric_sub_fixed (stock_amount, info->balance_at_date);
else
{
if (info->txn_type->stock_amount & FieldMask::ENABLED_CREDIT)
stock_amount = gnc_numeric_neg (stock_amount);
if (info->txn_type->stock_value & FieldMask::ENABLED_CREDIT)
stock_value = gnc_numeric_neg (stock_value);
}
create_split (trans, NC_ ("Stock Assistant: Action field", "Stock"),
info->acct, account_commits, info->stock_memo_edit,
stock_amount, stock_value, false, info);
stock_amount, stock_value);
if (info->txn_type->cash_value != FieldMask::DISABLED)
{
auto cash = gae_amount (info->cash_value);
create_split (trans, info->txn_type->cash_value,
NC_ ("Stock Assistant: Action field", "Cash"),
if (info->txn_type->cash_value & FieldMask::ENABLED_CREDIT)
cash = gnc_numeric_neg (cash);
create_split (trans, NC_ ("Stock Assistant: Action field", "Cash"),
gas_account (info->cash_account), account_commits,
info->cash_memo_edit, cash, cash, false, info);
info->cash_memo_edit, cash, cash);
}
if (info->txn_type->fees_value != FieldMask::DISABLED)
{
auto fees = gae_amount (info->fees_value);
if (!gnc_numeric_zero_p (fees))
{
auto capitalize = gtk_toggle_button_get_active
(GTK_TOGGLE_BUTTON (info->capitalize_fees_checkbox));
create_split (trans, info->txn_type->fees_value,
NC_ ("Stock Assistant: Action field", "Fees"),
create_split (trans, NC_ ("Stock Assistant: Action field", "Fees"),
capitalize ? info->acct : gas_account (info->fees_account),
account_commits, info->fees_memo_edit,
capitalize ? gnc_numeric_zero () : fees, fees, true, info);
capitalize ? gnc_numeric_zero () : fees, fees);
}
}
if (info->txn_type->dividend_value != FieldMask::DISABLED)
{
auto dividend = gae_amount (info->dividend_value);
create_split (trans, info->txn_type->dividend_value,
NC_ ("Stock Assistant: Action field", "Dividend"),
if (info->txn_type->dividend_value & FieldMask::ENABLED_CREDIT)
dividend = gnc_numeric_neg (dividend);
create_split (trans, NC_ ("Stock Assistant: Action field", "Dividend"),
gas_account (info->dividend_account), account_commits,
info->dividend_memo_edit, dividend, dividend, false, info);
info->dividend_memo_edit, dividend, dividend);
}
if (info->txn_type->capgains_value != FieldMask::DISABLED)
{
auto capgains = gae_amount (info->capgains_value);
create_split (trans, info->txn_type->capgains_value,
NC_ ("Stock Assistant: Action field", "Capital Gain"),
gas_account (info->capgains_account),
account_commits, info->capgains_memo_edit,
capgains, capgains, false, info);
create_split (trans,
info->txn_type->capgains_value ^ (FieldMask::ENABLED_CREDIT | FieldMask::ENABLED_DEBIT),
NC_ ("Stock Assistant: Action field", "Capital Gain"),
create_split (trans, NC_ ("Stock Assistant: Action field", "Capital Gain"),
info->acct, account_commits, info->capgains_memo_edit,
gnc_numeric_zero (), capgains, false, info);
gnc_numeric_zero (), capgains);
capgains = gnc_numeric_neg (capgains);
create_split (trans, NC_ ("Stock Assistant: Action field", "Capital Gain"),
gas_account (info->capgains_account), account_commits,
info->capgains_memo_edit, capgains, capgains);
}
add_price (info, date);

View File

@ -411,6 +411,7 @@ gnc_plugin_page_report_load_uri (GncPluginPage *page)
{
GncPluginPageReport *report;
GncPluginPageReportPrivate *priv;
GncPluginPage *weak_page = page;
URLType type;
char * id_name;
char * child_name;
@ -434,6 +435,7 @@ gnc_plugin_page_report_load_uri (GncPluginPage *page)
g_free(id_name);
g_free(child_name);
g_object_add_weak_pointer(G_OBJECT(page), (gpointer*)(&weak_page));
gtk_widget_show_all( GTK_WIDGET(priv->container) );
priv->loaded = TRUE;
@ -447,7 +449,11 @@ gnc_plugin_page_report_load_uri (GncPluginPage *page)
gnc_html_show_url(priv->html, type, url_location, url_label, 0);
g_free(url_location);
if (weak_page)
{
gnc_plugin_page_report_set_progressbar( page, FALSE );
g_object_remove_weak_pointer(G_OBJECT(page), (gpointer*)(&weak_page));
}
// this resets the window for the progressbar to nullptr
gnc_window_set_progressbar_window( nullptr );

View File

@ -85,7 +85,7 @@ Click on "Next" to proceed or "Cancel" to Abort Import.</property>
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="label" translatable="yes">
Select location and file name for the Import, then click "OK"…
Select location and file name for the Import, then click "Next"...
</property>
<property name="wrap">True</property>
</object>

View File

@ -75,7 +75,7 @@ Lastly, for repeated imports the preview page has buttons to Load and Save the s
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="label" translatable="yes">
Select location and file name for the Import, then click "OK"…
Select location and file name for the Import, then click "Next"...
</property>
<property name="wrap">True</property>
</object>

View File

@ -465,7 +465,7 @@ handle_embedded_object( GncHtmlWebkit* self, gchar* html_str )
* widget.
********************************************************************/
static void
static gboolean
load_to_stream( GncHtmlWebkit* self, URLType type,
const gchar* location, const gchar* label )
{
@ -485,16 +485,31 @@ load_to_stream( GncHtmlWebkit* self, URLType type,
stream_handler = g_hash_table_lookup( gnc_html_stream_handlers, type );
if ( stream_handler )
{
gboolean ok = stream_handler( location, &fdata, &fdata_len );
GncHtml *weak_html = GNC_HTML(self);
gboolean ok;
if ( ok )
g_object_add_weak_pointer(G_OBJECT(self), (gpointer *)(&weak_html));
ok = stream_handler(location, &fdata, &fdata_len);
if (!weak_html) // will be NULL if self has been destroyed
{
g_free (fdata);
return FALSE;
}
else
{
g_object_remove_weak_pointer(G_OBJECT(self),
(gpointer*)(&weak_html));
}
if (ok) {
fdata = fdata ? fdata : g_strdup("");
// Until webkitgtk supports download requests, look for "<object classid="
// indicating the beginning of an embedded graph. If found, handle it
if ( g_strstr_len( fdata, -1, "<object classid=" ) != NULL )
{
// Until webkitgtk supports download requests, look for "<object
// classid=" indicating the beginning of an embedded graph. If
// found, handle it
if (g_strstr_len(fdata, -1, "<object classid=") != NULL) {
gchar *new_fdata;
new_fdata = handle_embedded_object(self, fdata);
g_free(fdata);
@ -502,13 +517,13 @@ load_to_stream( GncHtmlWebkit* self, URLType type,
}
// Save a copy for export purposes
if ( priv->html_string != NULL )
{
if (priv->html_string != NULL) {
g_free(priv->html_string);
}
priv->html_string = g_strdup(fdata);
impl_webkit_show_data(GNC_HTML(self), fdata, strlen(fdata));
// webkit_web_view_load_html_string( priv->web_view, fdata, BASE_URI_NAME );
// webkit_web_view_load_html_string( priv->web_view,
// fdata, BASE_URI_NAME );
}
else
{
@ -529,7 +544,7 @@ load_to_stream( GncHtmlWebkit* self, URLType type,
/* No action required: Webkit jumps to the anchor on its own. */
}
return;
return TRUE;
}
}
@ -578,6 +593,7 @@ load_to_stream( GncHtmlWebkit* self, URLType type,
}
while ( FALSE );
return TRUE;
}
#if 0
@ -831,6 +847,7 @@ impl_webkit_show_url( GncHtml* self, URLType type,
GncHTMLUrlCB url_handler;
gboolean new_window;
GncHtmlWebkitPrivate* priv;
gboolean stream_loaded = FALSE;
g_return_if_fail( self != NULL );
g_return_if_fail( GNC_IS_HTML_WEBKIT(self) );
@ -921,10 +938,11 @@ impl_webkit_show_url( GncHtml* self, URLType type,
DEBUG( "resetting base location to %s",
priv->base.base_location ? priv->base.base_location : "(null)" );
load_to_stream( GNC_HTML_WEBKIT(self), result.url_type,
stream_loaded = load_to_stream( GNC_HTML_WEBKIT(self),
result.url_type,
new_location, new_label );
if ( priv->base.load_cb != NULL )
if ( stream_loaded && priv->base.load_cb != NULL )
{
priv->base.load_cb( GNC_HTML(self), result.url_type,
new_location, new_label, priv->base.load_cb_data );
@ -987,7 +1005,8 @@ impl_webkit_show_url( GncHtml* self, URLType type,
/* FIXME : handle new_window = 1 */
gnc_html_history_append( priv->base.history,
gnc_html_history_node_new( type, location, label ) );
load_to_stream( GNC_HTML_WEBKIT(self), type, location, label );
stream_loaded = load_to_stream( GNC_HTML_WEBKIT(self), type,
location, label );
}
while ( FALSE );
@ -998,7 +1017,7 @@ impl_webkit_show_url( GncHtml* self, URLType type,
PERR( "URLType %s not supported.", type );
}
if ( priv->base.load_cb != NULL )
if ( stream_loaded && priv->base.load_cb != NULL )
{
(priv->base.load_cb)( GNC_HTML(self), type, location, label, priv->base.load_cb_data );
}

View File

@ -466,7 +466,7 @@ handle_embedded_object( GncHtmlWebkit* self, gchar* html_str )
* widget.
********************************************************************/
static void
static gboolean
load_to_stream( GncHtmlWebkit* self, URLType type,
const gchar* location, const gchar* label )
{
@ -477,7 +477,7 @@ load_to_stream( GncHtmlWebkit* self, URLType type,
DEBUG( "type %s, location %s, label %s", type ? type : "(null)",
location ? location : "(null)", label ? label : "(null)");
g_return_if_fail( self != NULL );
g_return_val_if_fail( self != NULL, FALSE );
if ( gnc_html_stream_handlers != NULL )
{
@ -486,7 +486,23 @@ load_to_stream( GncHtmlWebkit* self, URLType type,
stream_handler = g_hash_table_lookup( gnc_html_stream_handlers, type );
if ( stream_handler )
{
gboolean ok = stream_handler( location, &fdata, &fdata_len );
GncHtml *weak_html = GNC_HTML(self);
gboolean ok;
g_object_add_weak_pointer(G_OBJECT(self),
(gpointer*)(&weak_html));
ok = stream_handler( location, &fdata, &fdata_len );
if (!weak_html) // will be NULL if self has been destroyed
{
g_free (fdata);
return FALSE;
}
else
{
g_object_remove_weak_pointer(G_OBJECT(self),
(gpointer*)(&weak_html));
}
if ( ok )
{
@ -533,7 +549,7 @@ load_to_stream( GncHtmlWebkit* self, URLType type,
}
/* No action required: Webkit jumps to the anchor on its own. */
}
return;
return TRUE;
}
}
@ -580,7 +596,9 @@ load_to_stream( GncHtmlWebkit* self, URLType type,
}
}
while ( FALSE );
return TRUE;
}
static gboolean
perform_navigation_policy (WebKitWebView *web_view,
WebKitNavigationPolicyDecision *decision,
@ -782,6 +800,7 @@ impl_webkit_show_url( GncHtml* self, URLType type,
GncHTMLUrlCB url_handler;
gboolean new_window;
GncHtmlWebkitPrivate* priv;
gboolean stream_loaded = FALSE;
g_return_if_fail( self != NULL );
g_return_if_fail( GNC_IS_HTML_WEBKIT(self) );
@ -872,10 +891,11 @@ impl_webkit_show_url( GncHtml* self, URLType type,
DEBUG( "resetting base location to %s",
priv->base.base_location ? priv->base.base_location : "(null)" );
load_to_stream( GNC_HTML_WEBKIT(self), result.url_type,
stream_loaded = load_to_stream( GNC_HTML_WEBKIT(self),
result.url_type,
new_location, new_label );
if ( priv->base.load_cb != NULL )
if ( stream_loaded && priv->base.load_cb != NULL )
{
priv->base.load_cb( GNC_HTML(self), result.url_type,
new_location, new_label, priv->base.load_cb_data );
@ -938,7 +958,8 @@ impl_webkit_show_url( GncHtml* self, URLType type,
/* FIXME : handle new_window = 1 */
gnc_html_history_append( priv->base.history,
gnc_html_history_node_new( type, location, label ) );
load_to_stream( GNC_HTML_WEBKIT(self), type, location, label );
stream_loaded = load_to_stream( GNC_HTML_WEBKIT(self),
type, location, label );
}
while ( FALSE );
@ -948,7 +969,7 @@ impl_webkit_show_url( GncHtml* self, URLType type,
PERR( "URLType %s not supported.", type );
}
if ( priv->base.load_cb != NULL )
if ( stream_loaded && priv->base.load_cb != NULL )
{
(priv->base.load_cb)( GNC_HTML(self), type, location, label, priv->base.load_cb_data );
}

View File

@ -870,8 +870,8 @@ maybe_append_string (const char* match_string, const char* imp_string)
if (!(imp_string && *imp_string))
return retval;
norm_match_string = g_utf8_normalize (match_string, -1, G_NORMALIZE_ALL);
norm_imp_string = g_utf8_normalize (imp_string, -1, G_NORMALIZE_ALL);
norm_match_string = g_utf8_normalize (match_string, -1, G_NORMALIZE_NFC);
norm_imp_string = g_utf8_normalize (imp_string, -1, G_NORMALIZE_NFC);
if (g_utf8_strlen (norm_imp_string, -1) > g_utf8_strlen (norm_match_string, -1) ||
!strstr (norm_match_string, norm_imp_string))

View File

@ -986,7 +986,7 @@ static void populate_list (gpointer key, gpointer value, GtkListStore *list)
{
GtkTreeIter iter;
const char *original = key;
char *normalized = g_utf8_normalize (original, -1, G_NORMALIZE_ALL);
char *normalized = g_utf8_normalize (original, -1, G_NORMALIZE_NFC);
char *normalized_folded = normalized ? g_utf8_casefold (normalized, -1) : NULL;
gtk_list_store_append (list, &iter);
gtk_list_store_set (list, &iter,

View File

@ -605,7 +605,7 @@ gnc_combo_cell_type_ahead_search (const gchar* newval,
GRegex* regex0 = g_regex_new (escaped_sep, 0, 0, NULL);
char* rep_str = g_regex_replace_literal (regex0, escaped_newval, -1, 0,
newval_rep, 0, NULL);
char* normal_rep_str = g_utf8_normalize (rep_str, -1, G_NORMALIZE_ALL);
char* normal_rep_str = g_utf8_normalize (rep_str, -1, G_NORMALIZE_NFC);
GRegex *regex = g_regex_new (normal_rep_str, G_REGEX_CASELESS, 0, NULL);
gboolean valid = gtk_tree_model_get_iter_first (GTK_TREE_MODEL (full_store),
@ -634,7 +634,7 @@ gnc_combo_cell_type_ahead_search (const gchar* newval,
gchar* normalized_str_data = NULL;
gtk_tree_model_get (GTK_TREE_MODEL (full_store), &iter, 0,
&str_data, -1);
normalized_str_data = g_utf8_normalize (str_data, -1, G_NORMALIZE_ALL);
normalized_str_data = g_utf8_normalize (str_data, -1, G_NORMALIZE_NFC);
if (g_regex_match (regex, normalized_str_data, 0, NULL))
{

View File

@ -61,11 +61,11 @@ qof_utf8_substr_nocase (const gchar *haystack, const gchar *needle)
haystack_casefold = g_utf8_casefold (haystack, -1);
haystack_normalized = g_utf8_normalize (haystack_casefold, -1,
G_NORMALIZE_ALL);
G_NORMALIZE_NFC);
g_free (haystack_casefold);
needle_casefold = g_utf8_casefold (needle, -1);
needle_normalized = g_utf8_normalize (needle_casefold, -1, G_NORMALIZE_ALL);
needle_normalized = g_utf8_normalize (needle_casefold, -1, G_NORMALIZE_NFC);
g_free (needle_casefold);
p = strstr (haystack_normalized, needle_normalized);

View File

@ -157,7 +157,7 @@
(cons 'N266 #(none "F1040" "Soc. Sec. income" 1 #f "Social Security" ((2020 "6a") (2018 "5a") (1994 "20a") (1988 "21a") (1987 "20a") (1984 "21a"))))
(cons 'N483 #(none "F1040" "Soc. Sec. income, spouse" 1 #f "Social Security" ((2020 "6a") (2018 "5a") (1994 "20a") (1988 "21a") (1987 "20a") (1984 "21a"))))
(cons 'N257 #(none "F1040" "Other income-misc." 1 #f "Other income, m" ((2019 "Schedule 1, 8") (2018 "Schedule 1, 21") (1994 "21") (1988 "22") (1987 "21") (1984 "22") (1982 "21") (1981 "20") (1980 "21"))))
(cons 'N259 #(none "F1040" "Prizes, awards" 1 #f "Prizes, awards" ((2021 "Schedule 1, 8h") (2019 "Schedule 1, 8") (2018 "Schedule 1, 21") (1994 "21") (1988 "22") (1987 "21") (1984 "22") (1982 "21") (1981 "20") (1980 "21"))))
(cons 'N259 #(none "F1040" "Prizes, awards" 1 #f "Prizes, awards" ((2022 "Schedule 1, 8i") (2021 "Schedule 1, 8h") (2019 "Schedule 1, 8") (2018 "Schedule 1, 21") (1994 "21") (1988 "22") (1987 "21") (1984 "22") (1982 "21") (1981 "20") (1980 "21"))))
(cons 'N285 #(not-impl "Sched B" "Schedule B" 1 #f ""))
(cons 'N287 #(current "Sched B" "Interest income" 3 #f "_IntInc" ((1990 "1") (1982 "2") (1981 "1a") (1980 "1"))))

View File

@ -11,14 +11,15 @@
# Thomas Jungers <thomasjungers@gmail.com>, 2021.
# Maxime Leroy <lisacintosh@gmail.com>, 2021.
# Sébastien Ray <sebastien.ray@normalesup.org>, 2022.
# aleksej0R <omolice@hotmail.fr>, 2022.
msgid ""
msgstr ""
"Project-Id-Version: GnuCash 4.8\n"
"Report-Msgid-Bugs-To: https://bugs.gnucash.org/enter_bug."
"cgi?product=GnuCash&component=Translations\n"
"POT-Creation-Date: 2021-12-05 20:11+0100\n"
"PO-Revision-Date: 2022-03-09 20:11+0000\n"
"Last-Translator: Sébastien Ray <sebastien.ray@normalesup.org>\n"
"PO-Revision-Date: 2022-12-19 23:55+0000\n"
"Last-Translator: aleksej0R <omolice@hotmail.fr>\n"
"Language-Team: French <https://hosted.weblate.org/projects/gnucash/glossary/"
"fr/>\n"
"Language: fr\n"
@ -26,7 +27,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.15.1-dev\n"
#. "English Definition (Dear translator: This file will never be visible to the user! It should only serve as a tool for you, the translator. Nothing more.)"
msgid "Term (Dear translator: This file will never be visible to the user!)"
@ -48,7 +49,7 @@ msgstr "code du compte"
#. "the tree view of all accounts"
msgid "account hierarchy"
msgstr "hiérarchie du compte"
msgstr "plan de comptes"
#. "-"
msgid "account name"
@ -100,7 +101,7 @@ msgstr "type de compte : fond mutuel"
#. "The right side of the balance sheet in T account form shows the source of funds and contains equity & liability. While not common in english, most languages would translate 'equity & liability' with 'passive'. Complement: Active. See also: Report Form Implementation: https://bugs.gnucash.org/show_bug.cgi?id=421766"
msgid "account type: Passive"
msgstr "passif"
msgstr "type de compte : passif"
#. "Group of accounts tracking your success, complement of 'Assets & Liabilities'"
msgid "account type: Profit & Loss"

View File

@ -1,14 +1,14 @@
# Croatian translations for GnuCash.
# Copyright (C) 2019 Free Software Foundation, Inc.
# This file is distributed under the same license as the GnuCash package.
# Milo Ivir <mail@milotype.de>, 2019., 2020, 2021, 2022.
# Milo Ivir <mail@milotype.de>, 2019., 2020, 2021, 2022, 2023.
msgid ""
msgstr ""
"Project-Id-Version: GnuCash 4.13-pre1\n"
"Report-Msgid-Bugs-To: https://bugs.gnucash.org/enter_bug."
"cgi?product=GnuCash&component=Translations\n"
"POT-Creation-Date: 2022-12-04 19:47-0800\n"
"PO-Revision-Date: 2022-12-05 14:47+0000\n"
"PO-Revision-Date: 2023-01-02 15:48+0000\n"
"Last-Translator: Milo Ivir <mail@milotype.de>\n"
"Language-Team: Croatian <https://hosted.weblate.org/projects/gnucash/gnucash/"
"hr/>\n"
@ -16,9 +16,9 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n"
"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n"
"X-Generator: Weblate 4.15-dev\n"
"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && "
"n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n"
"X-Generator: Weblate 4.15.1-dev\n"
#: borrowed/goffice/go-charmap-sel.c:70
msgid "Arabic"
@ -17801,7 +17801,7 @@ msgstr "Sredina"
#: gnucash/gtkbuilder/dialog-print-check.glade:281
msgid "Quicken/QuickBooks (tm) US-Letter"
msgstr "Quicken/QuickBooks (tm) US-Letter"
msgstr "Quicken/QuickBooks (tm), u formatu US-Letter"
#: gnucash/gtkbuilder/dialog-print-check.glade:284
msgid "Deluxe(tm) Personal Checks US-Letter"

371
po/hu.po

File diff suppressed because it is too large Load Diff

View File

@ -9,10 +9,10 @@
msgid ""
msgstr ""
"Project-Id-Version: GnuCash 4.13-pre1\n"
"Report-Msgid-Bugs-To: https://bugs.gnucash.org/enter_bug.cgi?"
"product=GnuCash&component=Translations\n"
"Report-Msgid-Bugs-To: https://bugs.gnucash.org/enter_bug."
"cgi?product=GnuCash&component=Translations\n"
"POT-Creation-Date: 2022-12-04 19:47-0800\n"
"PO-Revision-Date: 2022-11-20 11:48+0000\n"
"PO-Revision-Date: 2022-12-31 21:51+0000\n"
"Last-Translator: Kaligula <kaligula.dev@gmail.com>\n"
"Language-Team: Polish <https://hosted.weblate.org/projects/gnucash/gnucash/"
"pl/>\n"
@ -22,7 +22,7 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=3; plural=n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 "
"|| n%100>=20) ? 1 : 2;\n"
"X-Generator: Weblate 4.15-dev\n"
"X-Generator: Weblate 4.15.1-dev\n"
"X-Poedit-Bookmarks: 2255,-1,-1,-1,-1,-1,-1,-1,-1,-1\n"
#: borrowed/goffice/go-charmap-sel.c:70
@ -8179,7 +8179,7 @@ msgstr "W trakcie przetwarzania '%s' wystąpił błąd"
#: gnucash/gnome-utils/gnc-autoclear.c:100
msgid "Account is already at Auto-Clear Balance."
msgstr "Konto ma już bilans Auto-przeglądania."
msgstr "Bilans przejrzanych transakcji już się zgadza."
#: gnucash/gnome-utils/gnc-autoclear.c:146
msgid "Too many uncleared splits"
@ -16481,7 +16481,7 @@ msgid ""
"Select \"U+C\" to update a matching transaction and mark it as cleared (c)."
msgstr ""
"Wybierz \"A+P\", aby aktualizować pasującą transakcję i oznaczyć jako "
"przejrzeaną (p)."
"przejrzaną (p)."
#: gnucash/gtkbuilder/dialog-import.glade:706
msgid "Select \"C\" to mark a matching transaction as cleared (c)."
@ -16489,9 +16489,7 @@ msgstr "Wybierz \"P\", aby oznaczyć pasującą transakcję jako przejrzaną (p)
#: gnucash/gtkbuilder/dialog-import.glade:718
msgid "Select neither to skip the transaction (it won't be imported at all)."
msgstr ""
"Wybierz, aby transakcja została pominięta (nie będzie wtedy w ogóle "
"importowana)."
msgstr "Aby pominąć transakcję (nie importować) pozostaw wszystkie pola puste."
#: gnucash/gtkbuilder/dialog-import.glade:729
msgid "(none)"

View File

@ -11,14 +11,14 @@
# LL Magical <lolayami2004@gmail.com>, 2020.
# Fábio Rodrigues Ribeiro <farribeiro@gmail.com>, 2021.
# José Lemos Neto <lemosjosex@protonmail.com>, 2021.
# Wellington Terumi Uemura <wellingtonuemura@gmail.com>, 2021, 2022.
# Wellington Terumi Uemura <wellingtonuemura@gmail.com>, 2021, 2022, 2023.
msgid ""
msgstr ""
"Project-Id-Version: GnuCash 4.13-pre1\n"
"Report-Msgid-Bugs-To: https://bugs.gnucash.org/enter_bug.cgi?"
"product=GnuCash&component=Translations\n"
"Report-Msgid-Bugs-To: https://bugs.gnucash.org/enter_bug."
"cgi?product=GnuCash&component=Translations\n"
"POT-Creation-Date: 2022-12-04 19:47-0800\n"
"PO-Revision-Date: 2022-09-13 10:21+0000\n"
"PO-Revision-Date: 2023-01-02 15:48+0000\n"
"Last-Translator: Wellington Terumi Uemura <wellingtonuemura@gmail.com>\n"
"Language-Team: Portuguese (Brazil) <https://hosted.weblate.org/projects/"
"gnucash/gnucash/pt_BR/>\n"
@ -27,7 +27,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.14.1-dev\n"
"X-Generator: Weblate 4.15.1-dev\n"
#: borrowed/goffice/go-charmap-sel.c:70
msgid "Arabic"
@ -9728,7 +9728,7 @@ msgstr "Nome da conta"
#: gnucash/gnome-utils/gnc-tree-view-split-reg.c:2918
#: gnucash/gtkbuilder/dialog-price.glade:580
msgid "Commodity"
msgstr "Commodity"
msgstr "Mercadoria"
#: gnucash/gnome-utils/gnc-tree-view-account.c:823
#: gnucash/import-export/csv-exp/csv-tree-export.c:156
@ -13727,7 +13727,7 @@ msgstr "Assistente de importação de transação"
#: gnucash/gtkbuilder/assistant-csv-trans-import.glade:520
msgid "Multi-split"
msgstr "Multi-split"
msgstr "Multi-divisão"
#: gnucash/gtkbuilder/assistant-csv-trans-import.glade:524
msgid ""
@ -14823,7 +14823,7 @@ msgstr "_Quantia"
#: gnucash/gtkbuilder/dialog-print-check.glade:1129
#: gnucash/gtkbuilder/gnc-plugin-page-register.glade:957
msgid "_Memo"
msgstr "_Memo"
msgstr "_Memorando"
#. Default memo text for the remains of a stock split
#: gnucash/gtkbuilder/assistant-stock-split.glade:309

View File

@ -17,7 +17,7 @@
# TianXing_Yi <ytx.cash@gmail.com>, 2021.
# cjh <cjh@cjh0613.com>, 2021.
# Eric <spice2wolf@gmail.com>, 2021.
# J0kWang <lianjiefly@gmail.com>, 2021, 2022.
# J0kWang <lianjiefly@gmail.com>, 2021, 2022, 2023.
# YTX <ytx.cash@gmail.com>, 2021, 2022.
# 李元基 <lovedebushiu@qq.com>, 2022.
# Eric <alchemillatruth@purelymail.com>, 2022.
@ -31,8 +31,8 @@ msgstr ""
"Report-Msgid-Bugs-To: https://bugs.gnucash.org/enter_bug."
"cgi?product=GnuCash&component=Translations\n"
"POT-Creation-Date: 2022-12-04 19:47-0800\n"
"PO-Revision-Date: 2022-12-17 16:20+0000\n"
"Last-Translator: 帅是我2 <a1173522112@163.com>\n"
"PO-Revision-Date: 2023-01-02 04:51+0000\n"
"Last-Translator: J0kWang <lianjiefly@gmail.com>\n"
"Language-Team: Chinese (Simplified) <https://hosted.weblate.org/projects/"
"gnucash/gnucash/zh_Hans/>\n"
"Language: zh_CN\n"
@ -18623,6 +18623,8 @@ msgid ""
"See <a href=\"https://wiki.gnucash.org/wiki/AqBanking\">https://wiki.gnucash."
"org/wiki/AqBanking</a> for more details"
msgstr ""
"查看 <a href=\"https://wiki.gnucash.org/wiki/AqBanking\">https://wiki.gnucash"
".org/wiki/AqBanking</a> 更多详情"
#: gnucash/import-export/aqb/assistant-ab-initial.glade:78
msgid ""
@ -18630,7 +18632,8 @@ msgid ""
"Banking server. You should not rely on time-critical transfers through "
"Online Banking, because sometimes the bank does not give you correct "
"feedback when a transfer is rejected."
msgstr ""
msgstr "注意:没有任何保障。有些银行的服务器设备很差。你不应该通过网上银行来进行紧急"
"转账,因为当你的转账被拒绝时这些银行是不会给你正确的反馈的。"
#: gnucash/import-export/aqb/assistant-ab-initial.glade:89
msgid "Initial Online Banking Setup"
@ -18657,6 +18660,8 @@ msgid ""
"<a href=\"https://aquamaniac.de/rdm/projects/aqbanking/wiki/Bugreports/"
"\">https://aquamaniac.de/rdm/projects/aqbanking/wiki/Bugreports/</a>"
msgstr ""
"<a href=\"https://aquamaniac.de/rdm/projects/aqbanking/wiki/Bugreports/\""
">https://aquamaniac.de/rdm/projects/aqbanking/wiki/Bugreports/</a>"
#: gnucash/import-export/aqb/assistant-ab-initial.glade:157
msgid ""
@ -25227,7 +25232,7 @@ msgstr "百分比图"
msgid ""
"Display account contributions as a percentage of the total value for the "
"period."
msgstr ""
msgstr "显示账户缴款占本期总金额的百分比。"
#: gnucash/report/reports/standard/category-barchart.scm:292
msgid "Invalid dates"