After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 671615 - French: "New Customer" button in Find Customer dialog is translated to "Nouvel onglet"
French: "New Customer" button in Find Customer dialog is translated to "Nouve...
Status: VERIFIED FIXED
Product: GnuCash
Classification: Other
Component: Translations
2.4.x
Other All
: Normal normal
: ---
Assigned To: Christian Stimming
Cristian Marchi
Depends on:
Blocks:
 
 
Reported: 2012-03-08 01:41 UTC by Filipus Klutiero
Modified: 2018-06-29 23:07 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
updated_fr.po (894.38 KB, text/x-gettext-translation)
2012-06-26 10:28 UTC, Jérôme Rapinat
  Details
Screenshot for new customer (gui - 2.4.7) (9.58 KB, image/png)
2013-12-12 14:13 UTC, Jérôme Rapinat
  Details
Old gnome context method (479 bytes, patch)
2013-12-12 14:17 UTC, Jérôme Rapinat
committed Details | Review
pgettext (ignored under my old config) (489 bytes, patch)
2013-12-12 14:19 UTC, Jérôme Rapinat
rejected Details | Review
neutral gender on accounts (9.39 KB, patch)
2013-12-12 14:34 UTC, Jérôme Rapinat
rejected Details | Review
quick merge (internal Translation Memory like - help before review) (1.04 MB, patch)
2013-12-12 15:04 UTC, Jérôme Rapinat
none Details | Review
changes on the french translation from Gnucash 2.4.x to 2.5.x (134.30 KB, application/octet-stream)
2013-12-12 15:19 UTC, Jérôme Rapinat
  Details
changes on 2.5 versus 2.4 (134.30 KB, patch)
2013-12-12 15:40 UTC, Jérôme Rapinat
none Details | Review

Description Filipus Klutiero 2012-03-08 01:41:26 UTC
The Find Customer dialog offers to create a customer if the customer wanted can't be found with a button labelled "New Customer" in English.

In French, the label should read "Nouveau client", but it actually reads "Nouvel onglet" ("New tab"). Although New tab doesn't make much sense in that context, it still took me some seconds to realize what was wrong.

For what it's worth, labelling using actions would be clearer - "Create customer" or "Add customer" rather than "New Customer",
Comment 1 Filipus Klutiero 2012-03-08 01:44:51 UTC
Hum. There's the same problem for what I suppose is called "New Invoice". That is also translated to "Nouvel onglet".

It would be worth checking other places too.
Comment 2 Frank H. Ellenberger 2012-06-26 08:25:13 UTC
Filipus, 

can you contact the last translator of fr.po, Jérôme Rapinat, for this issue?
For details see http://wiki.gnucash.org/wiki/Translation .
Comment 3 Jérôme Rapinat 2012-06-26 10:28:14 UTC
Created attachment 217273 [details]
updated_fr.po

Hi,

It seems to be correct on last revision (fr.po)!

I do not have last GnuCash version, but I wonder if your version is the last one?

# src/gnome/glade-gnc-dialogs.c:1219 src/gnome/glade-gnc-dialogs.c:1240
# src/gnome/glade-gnc-dialogs.c:1276
#: ../src/business/business-gnome/dialog-customer.c:435
#: ../src/business/business-gnome/glade/customer.glade.h:15
#: ../src/gnome-search/dialog-search.c:834
msgid "New Customer"
msgstr "Nouveau client"

# src/gnome/glade-gnc-dialogs.c:1219 src/gnome/glade-gnc-dialogs.c:1240
# src/gnome/glade-gnc-dialogs.c:1276
#: ../src/business/business-gnome/gnc-plugin-business.c:151
msgid "_New Customer..."
msgstr "_Nouveau client..."

# messages-i18n.c:294 po/guile_strings.txt:205
# src/gnome/glade-gnc-dialogs.c:644
#: ../src/business/business-gnome/dialog-invoice.c:1805
#: ../src/business/business-gnome/glade/invoice.glade.h:18
#: ../src/gnome-search/dialog-search.c:846
msgid "New Invoice"
msgstr "Nouvelle facture"

I was not able to generate a new template because of a new dependency issue.
Anyway, I re-used the template for last stable release (2012-02-05).

Here, a quick update for 'fr.po' file, which also adds minor improvements.

Note, you should also try to contact Normand Lamarre <dalinl (at) videotron (dot) ca>. He uses an alternate version (merged into this attachement).

regards,
Jérôme R.
Comment 4 Filipus Klutiero 2012-06-26 17:10:50 UTC
Thank you Frank and Jérôme.

I do use Debian's gnucash 2.4.10-4 now and the problem persists. However, the fr.po file does look correct. Do other users of 2.4.10 get the same?

For reference, here's the po file: http://anonscm.debian.org/gitweb/?p=pkg-gnucash/gnucash.git;a=blob;f=po/fr.po;h=fbbfd09977418564825a85ed27a29617c45a3a07;hb=07feddc16229e4a0495c645716c8850ac5790c2f
Comment 5 Jérôme Rapinat 2012-06-27 08:14:01 UTC
> "For reference, here's the po file:
http://anonscm.debian.org/gitweb/?p=pkg-gnucash/gnucash.git;a=blob;f=po/fr.po;h=fbbfd09977418564825a85ed27a29617c45a3a07;hb=07feddc16229e4a0495c645716c8850ac5790c2f
"

632 # src/gnome/glade-gnc-dialogs.c:1219 src/gnome/glade-gnc-dialogs.c:1240
633 # src/gnome/glade-gnc-dialogs.c:1276
634 #: ../src/business/business-gnome/dialog-customer.c:435
635 #: ../src/business/business-gnome/glade/customer.glade.h:15
636 #: ../src/gnome-search/dialog-search.c:833
637 msgid "New Customer"
638 msgstr "Nouveau client"

2338 # src/gnome/glade-gnc-dialogs.c:1219 src/gnome/glade-gnc-dialogs.c:1240
2339 # src/gnome/glade-gnc-dialogs.c:1276
2340 #: ../src/business/business-gnome/gnc-plugin-business.c:139
2341 msgid "_New Customer..."
2342 msgstr "_Nouveau client..."

911 # messages-i18n.c:294 po/guile_strings.txt:205
912 # src/gnome/glade-gnc-dialogs.c:644
913 #: ../src/business/business-gnome/dialog-invoice.c:1719
914 #: ../src/business/business-gnome/glade/invoice.glade.h:18
915 #: ../src/gnome-search/dialog-search.c:845
916 msgid "New Invoice"
917 msgstr "Nouvelle facture"

msgid/msgstr are the expected values: same as attachment !

Is there any additional french package for updating translations (GnuCash, Gnome ?)
Comment 6 Jérôme Rapinat 2012-06-27 08:36:25 UTC
If Debian package process has its own validation process for translations (qa), then I can say that despite non-official contributions (translation team), my update sounds better than the previous one...

Also, I am contributing on an other GPL2 project since many years. 
ie. I know issues related to GNU gettext and I have used some translation tools provided by Gnome, even if I guess some of them might be replaced by more accessible script! 

Quick and dirty sample in python:
http://gramps.svn.sourceforge.net/viewvc/gramps/trunk/po/update_po.py
in relation with:
http://gramps.svn.sourceforge.net/viewvc/gramps/trunk/po/check_po

I had some contacts with GnuCash's users, who wanted to help on french translation. Unfortunately, under Windows OS, translation process is not the easier (OK, they should move to Gnome...or use a centralized app). In this case, contributions will be limited and we may loose the quality provided by the every day user...

Just my thoughts!
Comment 7 Jérôme Rapinat 2012-06-27 10:33:49 UTC
I do not want to hijack the subject of this bug report, but there is a typo/bug on 'accounts/fr_FR/acctchrt_spouseinc.gnucash-xea':
http://svn.gnucash.org/trac/browser/gnucash/branches/2.4/accounts/fr_FR/acctchrt_spouseinc.gnucash-xea

"Revenus de l'épouse" and "Compte d'épargne retraite de l'épouse" as catégories should be something like "Revenus du conjoint" and "Compte d'épargne retraite du conjoint": neutral gender.

Current entries mean that all users of Gnucash are always men (and married!)...


regards,
Jérôme
Comment 8 Jérôme Rapinat 2012-06-27 10:42:33 UTC
Note, it seems to be the same type of updated debian/translation issue as bug #671793 ?
https://bugzilla.gnome.org/show_bug.cgi?id=671793
Comment 9 Filipus Klutiero 2012-06-27 14:15:34 UTC
chealer@vinci:/usr/share/locale/fr/LC_MESSAGES$ msgunfmt * 2>/dev/null|grep -B2 'Nouvel onglet'
msgctxt "@action:inmenu"
msgid "New Tab"
msgstr "Nouvel onglet"
--
msgctxt "@action:inmenu File"
msgid "New Tab"
msgstr "Nouvel onglet"
--

msgid "New item"
msgstr "Nouvel onglet"
--

msgid "&New Tab"
msgstr "&Nouvel onglet"
--

msgid "&New Tab"
msgstr "&Nouvel onglet"
--
msgid "Show 'New Tab' and 'Close Tab' buttons in tab bar"
msgstr ""
"Afficher les boutons « Nouvel onglet » et « Fermer l'onglet » dans "
--

msgid "&New Tab..."
msgstr "&Nouvel onglet..."
--

msgid "&New Tab"
msgstr "&Nouvel onglet"
--

msgid "New Tab"
msgstr "Nouvel onglet"


It seems that GnuCash is translating "New item" to "Nouvel onglet". Something's wrong...
"item" is a vague word. "onglet" could be a valid translation if the item happened to be a tab, but "Nouvel onglet" is not a valid translation for "New item" in general. updated_fr.po still contains that translation.
The label "New item" could make sense on the button to create a customer, however, I re-verified that in English, the label is "New Customer", NOT "New item". I don't understand why GnuCash would display the translation for "New item" as the translation of "New Customer". Can gettext use a fallback translation if a more specific translation is not available?
Comment 10 Frank H. Ellenberger 2013-12-12 03:04:57 UTC
(In reply to comment #7)
> I do not want to hijack the subject of this bug report, but there is a typo/bug
> on 'accounts/fr_FR/acctchrt_spouseinc.gnucash-xea':
> http://svn.gnucash.org/trac/browser/gnucash/branches/2.4/accounts/fr_FR/acctchrt_spouseinc.gnucash-xea
> 
> "Revenus de l'épouse" and "Compte d'épargne retraite de l'épouse" as catégories
> should be something like "Revenus du conjoint" and "Compte d'épargne retraite
> du conjoint": neutral gender.
> 
> Current entries mean that all users of Gnucash are always men (and married!)...
> 
> 
> regards,
> Jérôme

Jérôme, can you follow http://wiki.gnucash.org/wiki/Translation#How_to_translate_the_files_containing_the_new_account_hierarchies and send a patch of that file?
I assume, the patch should then also be applied on the same file in fr_CH, which is identic.
Comment 11 Jérôme Rapinat 2013-12-12 14:13:26 UTC
Created attachment 264070 [details]
Screenshot for new customer (gui - 2.4.7)
Comment 12 Jérôme Rapinat 2013-12-12 14:17:29 UTC
Created attachment 264071 [details] [review]
Old gnome context method

> It seems that GnuCash is translating "New item" to "Nouvel onglet". Something's
wrong...
"item" is a vague word. "onglet" could be a valid translation if the item
happened to be a tab, but "Nouvel onglet" is not a valid translation for "New
item" in general. updated_fr.po still contains that translation.
The label "New item" could make sense on the button to create a customer,
however, I re-verified that in English, the label is "New Customer", NOT "New
item". I don't understand why GnuCash would display the translation for "New
item" as the translation of "New Customer".

https://bugzilla.gnome.org/show_bug.cgi?id=671615#c9

It looks like a fallback?

Anyway, I added a possible patch (old context/prefix) method (gnome legacy) + new method (not tested) with gettext context.
Comment 13 Jérôme Rapinat 2013-12-12 14:19:33 UTC
Created attachment 264072 [details] [review]
pgettext (ignored under my old config)
Comment 14 Jérôme Rapinat 2013-12-12 14:34:24 UTC
Created attachment 264075 [details] [review]
neutral gender on accounts

Jérôme, can you follow
http://wiki.gnucash.org/wiki/Translation#How_to_translate_the_files_containing_the_new_account_hierarchies

Sure. 
Yes, I can!

Note, maybe a minor update on wiki?
I saw that the last branch is now 2.5 (no more updates on translations for GnuCash 2.4)

If so, need to update the content of this URL
http://wiki.gnucash.org/wiki/Translation#Translating_the_Program

"Checkout the current stable branch.
svn checkout http://svn.gnucash.org/repo/gnucash/branches/2.4 gnucash-2.4
The argument "gnucash-2.4" above can be whatever you want your local directory to be called, and is optional. If you leave it out, you'll have a directory called "2.4" created containing all the source code.
Checkout the documentation (optional, but recommended)"

Need to also know that the git master is the 2.5 branch!

"and send a patch of that file?
I assume, the patch should then also be applied on the same file in fr_CH,
which is identic."

Patch attached!
I wonder why the encoding is still ISO-8859-1on these files?
I did not change the encoding but the patch sounds a little bit strange (comments and non-ASCII characters)

Note, fr_CA sounds better, but maybe to make the difference => "le et la conjoint(e)"
is overkill? conjoint can be neutral if we do not mark (make a focus on) the gender into the sentence.
Both are maybe right, and I suppose we can say 'la conjoint' or 'un conjoint'.

PS: I looked at current french translation (master/2.5). 
The new french translator is Sébastien Villemot <sebastien@debian.org>. 
:)
Comment 15 Jérôme Rapinat 2013-12-12 14:39:48 UTC
Please, need a better review ! 
I made some typos on attached patch...

-    Vous devriez sélectionner cet ensemble de comptes si vous avez des comptes d'épargne retraite de l'épouse(actions, obligations, fonds communs, fonds d'indices, intérêts, dividendes).
+    Vous devriez sélectionner cet ensemble de comptes si votre conjoint a avez des comptes d'épargne retraite (actions, obligations, fonds communs, fonds d'indices, intérêts, dividendes).
   
-    Vous devriez sélectionner cet ensemble de comptes si vous avez des comptes d'épargne retraite de l'épouse(actions, obligations, fonds communs, fonds d'indices, intérêts, dividendes).
+    Vous devriez sélectionner cet ensemble de comptes si conjoint a avez des comptes d'épargne retraite (actions, obligations, fonds communs, fonds d'indices, intérêts, dividendes).

It should be something like:

+   Vous devriez sélectionner cet ensemble de comptes si votre conjoint a des comptes d'épargne retraite (actions, obligations, fonds communs, fonds d'indices, intérêts, dividendes).

Sorry!
Comment 16 Jérôme Rapinat 2013-12-12 14:51:28 UTC
Just a comment.
I do not know if this could led to any error but on 'intl-scm/guile-strings.c:1804', 
'\r' sounds like an escape sequence!  

string => "Amount\rue"
    maybe you wanted to use "Amount/rue"?
Comment 17 Jérôme Rapinat 2013-12-12 15:04:59 UTC
Created attachment 264076 [details] [review]
quick merge (internal Translation Memory like - help before review)

If this could help, to load existing messages into a dictionary with common vocabulary might help for keeping consistency and to start to fill some entries. Nothing new, just an help before the translation update: attached patch from git master (2.5 branch).
Comment 18 Jérôme Rapinat 2013-12-12 15:19:45 UTC
Created attachment 264078 [details]
changes on the french translation from Gnucash 2.4.x to 2.5.x

List of updates on fr.po for GnuCash 2.5 program since last major review (2.4.x).
Comment 19 Jérôme Rapinat 2013-12-12 15:40:55 UTC
Created attachment 264087 [details] [review]
changes on 2.5 versus 2.4
Comment 20 Frank H. Ellenberger 2013-12-13 21:00:05 UTC
Comment on attachment 264072 [details] [review]
pgettext (ignored under my old config)

re Attachment 264072 [details]:
try 
pgettext("General message: new article", "New item")

_() is an macro wich expands to gettext()

There are more macros of this style.
Comment 21 Frank H. Ellenberger 2013-12-13 22:20:51 UTC
Now I got confused, how all is related. So I opened a new 
Bug 720427 - Review of french account templates 
and copied c7, c10 and c14 over there.

Comment 16: This replaced "Amount Due" in changeset 23517 - Updated French translation and glossary, thanks to Sébastien Villemot.
But it is still marked fuzzy.
Please coordinate with each other about the changes in po.fr.
Remove the NeedInfo flag after it is done.

I think the change suggested in the code patches is the right way, but can be applied after string freeze.
Comment 22 Frank H. Ellenberger 2013-12-13 22:27:42 UTC
Comment on attachment 264075 [details] [review]
neutral gender on accounts

Finish discussion in bug 720427
Comment 23 Sébastien Villemot 2013-12-14 18:28:13 UTC
Jérôme: if you want to help with updating the translation of GnuCash for the 2.6, you are very welcome.

As you noticed, I made a first update but there is still a lot of work to do, and I am not sure I will have the time to do everything alone before the 2.6 release.

Please contact me on my email (sebastien@debian.org) so that we can set up a convenient workflow.

In particular, your proposed patch to fr.po in its current form is very difficult to review because it contains essentially spacing/formatting changes, which clutter the diff.
Comment 24 Jérôme Rapinat 2013-12-22 10:25:24 UTC
Sébatien,

I do not have free time before your 2.6.0 release.

> "In particular, your proposed patch to fr.po in its current form is very
difficult to review because it contains essentially spacing/formatting changes,
which clutter the diff."

Sorry my bad!
In fact, I used --no-wrap option ... :(

Note, there is nothing new.
It is just a translation memory like with translated entries from Gnucash (*/fr.po)!

As resume, it is like running:

//python variables for the sample
where %(arg)s is our local code
and %(global)s  = %(GNUCASHPATH)s/po/%(arg)s.po//

# Get all of the local .po strings out of the catalog
        
msggrep --location=../* po/template.pot --output-file=po/%(arg)s-temp.po

# concat global dict as temp file

# if file exists ...

msgcat --use-first po/%(arg)s.po %(global)s -o po/%(arg)s.po --no-location

msgcmp -m --use-fuzzy --use-untranslated po/%(arg)s.po %(global)s

# if temp exists ...

msgcat --use-first po/%(arg)s.po po/%(arg)s-temp.po -o po/%(arg)s.po --no-location
            
rm -rf -v po/%(arg)s-temp.po
Comment 25 Jérôme Rapinat 2013-12-22 10:36:13 UTC
The primary issue of this bug report is maybe the 'New item' on gnome-search/dialog-search.c pointed out by Filipus Klutiero on https://bugzilla.gnome.org/show_bug.cgi?id=671615#c9

It looks like a globa
Comment 26 Jérôme Rapinat 2013-12-22 10:41:53 UTC
The primary issue of this bug report is maybe the 'New item' on
gnome-search/dialog-search.c pointed out by Filipus Klutiero on
https://bugzilla.gnome.org/show_bug.cgi?id=671615#c9

It looks like a global issue, even in English.
Into search dialog, we can see this 'New item' label.

Frank H. Ellenberger is right on https://bugzilla.gnome.org/show_bug.cgi?id=671615#c20
I made a typo on the patch. Sorry!

Anyway, into context I wonder if it should be a new article, a new item (as label!) or a new rule (for search)?
Comment 27 Filipus Klutiero 2013-12-22 17:30:45 UTC
Hi Jérôme,
I lost track of this ticket a bit. I'm not sure what context you are referring to, but if you're talking about the "New foo" button at the bottom, the button's use is to create a new entity (not just a rule for search). For example, it allows to create a customer or an invoice.

As I wrote before:
labelling using actions would be clearer - "Create customer" or "Add customer" rather than "New Customer".

Thank you for mentioning dialog-search.c. I had not realized that all search dialogs were created by the same code. This truly affects all search dialogs. I found relevant code.

From gnc_search_dialog_init_widgets():
/* Set the type label */
label = glade_xml_get_widget (xml, "type_label");
if (sw->type_label)
type_label = sw->type_label;
else
type_label = _(qof_object_get_type_label (sw->search_for));

[...]

/* Deal with the new_item button */
new_item_button = glade_xml_get_widget (xml, "new_item_button");
gtk_button_set_label (GTK_BUTTON(new_item_button),
type_label_to_new_button(type_label));



static const gchar *
type_label_to_new_button(const gchar* type_label)
{
    if (g_strcmp0(type_label, "Bill") == 0)
    {
        return _("New Bill");
    }
    else if (g_strcmp0(type_label, "Customer") == 0)
    {
        return _("New Customer");
    }
    else if (g_strcmp0(type_label, "Employee") == 0)
    {
        return _("New Employee");
    }
    else if (g_strcmp0(type_label, "Expense Voucher") == 0)
    {
        return _("New Expense Voucher");
    }
    else if (g_strcmp0(type_label, "Invoice") == 0)
    {
        return _("New Invoice");
    }
    else if (g_strcmp0(type_label, "Job") == 0)
    {
        return _("New Job");
    }
    else if (g_strcmp0(type_label, "Order") == 0)
    {
        return _("New Order");
    }
    else if (g_strcmp0(type_label, "Transaction") == 0)
    {
        return _("New Transaction");
    }
    else if (g_strcmp0(type_label, "Vendor") == 0)
    {
        return _("New Vendor");
    }
    else
    {
        PWARN("No translatable new-button label found for search type \"%s\", please add one into dialog-search.c!", type_label);
        return _("New item");
    }
}


I am don't know GTK+ and didn't spot where the problem is, but it seems type_label_to_new_button() reaches the else.
Comment 28 Geert Janssens 2014-09-22 11:41:39 UTC
Comment on attachment 264075 [details] [review]
neutral gender on accounts

Moved to bug 720427.
Comment 29 Geert Janssens 2014-09-22 13:00:21 UTC
Thanks Filipus to point at the code where this issue occurs. It made it easier for me to spot the real problem.

The reason the code mentioned in comment 27 fails is that the variable "type_label" already holds the translated name of the objects. So in French type_label would be "Facture", "Client", "Fournisseur",... and not "Bill", "Customer", "Vendor",...

I have just pushed a fix for this into the current maint branch. The fix will appear in the upcoming 2.6.4 release.
Comment 30 Geert Janssens 2014-09-22 13:16:14 UTC
Comment on attachment 264071 [details] [review]
Old gnome context method

Thank you for this patch. I have pushed a variation of this that I hope is more explicit in explaining what "item" in this context is supposed the mean.
Comment 31 Geert Janssens 2014-09-22 13:22:22 UTC
Comment on attachment 264072 [details] [review]
pgettext (ignored under my old config)

I have chosen for the former patch (using Q_() ) because that is currently used throughout the rest of the GnuCash code.

But thanks for providing both options.
Comment 32 Geert Janssens 2014-09-22 13:35:43 UTC
(In reply to comment #16)
> Just a comment.
> I do not know if this could led to any error but on
> 'intl-scm/guile-strings.c:1804', 
> '\r' sounds like an escape sequence!  
> 
> string => "Amount\rue"
>     maybe you wanted to use "Amount/rue"?

I don't find this string in the current gnucash code base. If it was there, it is now corrected. If you still find it in your po file, you may want to update it.
Comment 33 Geert Janssens 2014-09-22 13:41:05 UTC
Comment on attachment 264076 [details] [review]
quick merge (internal Translation Memory like - help before review)

This one got me puzzled. What do you want me to do with this patch ?

Was this meant as an update to fr.po providing new translations ? Or was it only meant as a memory aid to see what translations needed revisiting ?
Comment 34 Geert Janssens 2014-09-22 13:41:51 UTC
Comment on attachment 264087 [details] [review]
changes on 2.5 versus 2.4

The same question for this patch. What should I do with this ?
Comment 35 Geert Janssens 2015-02-08 18:38:03 UTC
Closing this bug report as no further information has been provided. Please feel free to reopen this bug if you can provide the information asked for.
Thanks!
Comment 36 Geert Janssens 2015-02-08 18:39:19 UTC
I changed my mind on the bug resulution. I consider this bug fixed. Any new translation updates can be reported via a new bug or via the translation project.
Comment 37 John Ralls 2017-09-24 22:50:07 UTC
Reassign version to 2.4.x so that individual 2.4 versions can be retired.
Comment 38 John Ralls 2018-06-29 23:07:11 UTC
GnuCash bug tracking has moved to a new Bugzilla host. This bug has been copied to https://bugs.gnucash.org/show_bug.cgi?id=671615. Please update any external references or bookmarks.