diff --git a/ChangeLog b/ChangeLog
index 91adb92420..1a10b5df68 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,24 @@
+2000-03-04 Dave Peticolas I hope others find these scripts useful. Ken Yamaguchi October 1998 The people behind GnuCash aim
+ to create a world-class GPL'ed Open Source Personal Financial
+ Application for GNU/Linux and other Unix's. This page aims to
+ review some of the technical and development issues surrounding
+ this product, representing a sort of FAQ for developers and
+ contributors, to suggest directions when developers are trying to
+ determine how to implement new functionality. To get a better idea of what
+ GnuCash is and what it does, visit its home page. There are currently several different versions of
+ GnuCash. The latest Gnome version, and latest versions in general,
+ are currently available only via CVS. Precompiled versions are available, but usually
+ only for the stable releases. Don't use the unstable versions
+ unless you are ready for excitement and adventure, and are
+ prepared to cope with a need to keep extensive backups. This document is divided into several sections. Thus, the Motif or Gnome GUIs are merely two possible
+ manipulators of the data; others, based on e.g.
+ Qt/KDE, emacs, Java applets or Java servlets ought to be
+ possible. GnuCash also needs to deal with multiple distributed data
+ sources: stock quotations from the net or transaction
+ confirmations from online banks and brokerage houses, or from
+ more mundane sources, such as file imports, or merger of data
+ from several users. Amongst these terms, the concept of a global Model-View is
+ dated, and somewhat inappropriate. Rather, we need to be
+ concerned about how data is represented in the local address
+ space of the GUI, how the GUI manipulates it, how data is
+ brought in and merged from external sources, and how that data
+ is again output, whether to a file or a local or remote
+ database. Thus, the View essentially represents a local data
+ cache of the data that is immediately present and being
+ displayed, reported, and manipulated. The Model is the
+ abstraction of that data that the GUI (the controller) can act
+ on. Currently, the Engine is fairly poor, and is tightly tied
+ to the data structures that the GUI manipulates. These data
+ structures include: The Engine currently handles only a small set of data
+ sources: However, since the Engine is meant to be the interface
+ between the GUI and the financial data, it is really intended
+ to be able to do much more. In particular, it should be possible to back the Engine
+ onto an SQL database, and thereby enable multiple users and/or
+ interface to more complex accounting systems. The engine should
+ also be expandable to handle other sources of data, such as
+ OFX, Integrion GOLD, the Open Trading Protocol, the OMG CORBA
+ General Ledger submission, the IBM San Francisco business
+ objects, or closer to home, Linux Kontor. In particular, it
+ should be possible to use GnuCash not only to view data from
+ these sources, but also to manipulate it and send it back. The above structure should leads us to view GnuCash not so
+ much as a tightly integrated application, but rather as a loose
+ confederation of component objects, libraries and
+ interfaces. In order to facilitate the gluing together of these parts,
+ as well as simplify the questions of customizability, change
+ and rapid development, GnuCash makes use of an extension
+ language to glue the pieces together. The extension language that is most central to Gnucash is
+
+ Scheme, and in particular, the FSF implementation, Guile,
+ although some of the interfaces are also available through Perl. Important properties of a personal finance system
+ include: A seemingly contradictory factor is that the kinds of
+ sophistication that are required vary considerably.
+ Consider: Thus, home users don't need much of the
+ sophistication of an Accounts Receivable or Payable system,
+ or the bizarre depreciation policies that crop up
+ in Asset Management systems. It may be that these will require completely
+ different systems, and that GnuCash cannot be "all things to
+ all people." This remains to be seen. The right hand column shows a sizing guesstimate. pm ==
+ person-months Current status: Other output format possibilities include SGML and Extensible
+ Markup Language - XML. In the long run, these are
+ preferable to HTML, since DSSSL tools such as Jade (James DSSSL
+ Engine) can be used to convert to RTF, Postscript,
+ etc. Add to this the consideration that XML is the basis for
+ the Document Object
+ Model, which is being integrated into many web-based
+ applications, and we can see that XML is an increasingly
+ significant format as we look to the future. The Report Generator should be a separate but
+ "dockable" subsystem of the whole. Thus, it should be possible to run the report generator
+ in a stand-alone, read-only fashion without having to start
+ up the main application. Graphs, charts, etc. too ... Asset allocation pie chart. Graph portfolio value vs. cost One difficult aspect of reporting is designing a
+ configurable interface, so that people can build custom
+ reports. The New
+ Reporting Infrastructure is seeking to build this up
+ using Guile. Stock portfolio tools should include a Cost Averaging
+ report, Market Index report, Stock Option values,
+ Estimation of capital gains tax liabilities. Status: Question: How to most simply allow the user to
+ enter loads and fees? Answer: Through splits. Unfortunately, some
+ users may not properly understand splits, at least not
+ initially. Thus, a little popup is needed to allow the user
+ to type in the sales load or fee and such, and then
+ auto-create the needed splits. Note the current transfer window does NOT
+ allow a share price to be specified !! Needs fixing ... A set of themes would be desirable for the Gnome
+ version. A user-configurable button-bar would be nice
+ too. Provide a default list of "Categories"
+ (Income/Expense Accounts). These are categories such as
+ "Automobile Expense", "Bank Interest Income", and
+ "Employment Income". The user should be able to select
+ a default set of accounts, and have those created
+ automatically. To actually implement this, it might be best to
+ simply create a file with these in them, and load that
+ file. A mechanism should be provided to allow the user
+ to weed out undesired accounts whilst not preventing
+ them from using them at a later date, if desired. Add an example showing how regular household assets
+ (house, car, jewelry, etc.) should be treated. In
+ particular, show how appreciation and depreciation
+ should be treated. Menu navigation using the keyboard should be
+ possible. Although menu mnemonics exist, they seem to be
+ broken. Similarly, tab-key navigation should be possible.
+ Currently, it is possible to use the tab key to
+ navigate from field to field in the register window, to
+ user arrow keys to navigate menus, and quick-fill to
+ automatically complete fields. However, it is not
+ possible to tab over to the "Commit" button. It should be. Currently, Income/Expense accounts can be shown or
+ hidden by selecting from a menu. It would be nice to be
+ able to examine different account types (Asset,
+ Liability, Income, Expense, Payables, Receivables,
+ Inventory) by selecting a tab folder. When the user pauses the mouse over a button,
+ "fly-over" pop-up help windows should appear. Create grayed out entries in the ledger, titled
+ "Memo", "Description", etc, helping users understand
+ what should be typed into each field. Make sure that text fields can handle the vi and
+ emacs key bindings, so that e.g. emacs-style
+ ctrl-a, ctrl-k does the right thing. i.e. Ability to permanently lock records as
+ non-editable. This should be straight-forward by using the
+ reconciled field to indicate a locked
+ value, and not allowing the GUI to edit locked records. Also need to report closed books slightly differently.
+ Need to bring balances forward too... Preferences include things like showing/not showing
+ categories, forcing double-entry, etc. Current status: The overall architecture is envisioned thus: All code, including the transaction engine, the file
+ I/O routines, the menus, and the ledger, will be abstracted
+ into compact modules that can function independently of
+ each other. At the highest level, there will be a
+ infrastructure with extension language interfaces that will
+ "wire together" the various modules. Such "wiring together" will consist of a dispatch
+ infrastructure that will allow arbitrary menu entries to be
+ hooked to arbitrary modules. The configuration for menu
+ entries, and their associated callbacks, will be specified
+ in an extension-language configuration file. At the final
+ stages, it is highly desirable to be able to, in
+ some manner, import new modules without requiring
+ that the application itself be recompiled and relinked. Status: This should be handled by having a way of bouncing out
+ to some Guile code to generate transactions with computed
+ values. Status: Add support for automatic, recurring transactions,
+ e.g. mortgage payments, fixed-interest bonds, bank
+ accounts, etc. Note that the design for this could be very different,
+ depending on whether the multi-user functions are available
+ or not. Design/implementation for this is tricky. It should
+ probably leverage crontab, but this can lead to
+ difficulties and bugs. May need interfaces to email for emailed alerts. Interfaces into calendaring systems? Current
+ status: Note that the above 'step-by-step' budgeters will have
+ a very very different GUI than what the budgeting system
+ required for a small-business might look like. Status: Status: Right now, this is a stand-alone perl script run
+ from crontab. OFX is an open spec from Microsoft, Intuit, and
+ Checkfree, and which will be supported by Integrion. The
+ OFX DTD's are included in the 1.1 distributions. See OFX Home Page for
+ details. There are two ways to build an OFX parser. One way is
+ to build a compile-time DTD parser that treats the DTD as
+ if it were an IDL, and generates C language stubs for a
+ parser. This approach was attempted and abandoned because it
+ leads to fragile C code and a very large binary. Run-time parsing may be slower, but on the OFX client
+ side, this should not be a bottleneck. Status: Note that the organizations developing OFX are looking
+ to use XML as their "formats of the future;" this may
+ encourage the use of one of the many XML parsers available
+ for UNIX. Double-entry is a powerful way of ensuring the
+ integrity of of the financial data. Currently, while
+ double-entry is supported, its use is not enforced: the
+ user can create dangling transactions, where only
+ one account is indicated. Although this is acceptable for home use (even
+ desirable, since it allows the casual user the simplicity
+ they desire), it is not acceptable for business use. It must be possible to enable forced-double entry, so
+ that a transaction cannot be completed until two accounts
+ have been specified. Current status: The tab-delimited format should be compatible with that
+ of /rdb, aka RAND/Hobbs /rdb or
+
+ NoSQL. (NoSQL is available as part of the Debian GNU/Linux distribution,
+ for instance.) The /rdb format is thus: It is a very simple, very basic flat table format. The
+ use of /rdb with GnuCash should try to match with
+ SQL schemas as much as possible in order to minimize I/O
+ complexity and incompatibility. categorize items according to different tax
+ schedules The current engine is rather simple: it provides
+ support for accounts, account hierarchies and transactions
+ consisting of multiple entries. Many of the features described elsewhere will require
+ that the engine have a far richer, more sophisticated data
+ model, including such things as: Note: it makes no sense at this point to make the
+ engine API much richer than what the GUI can currently
+ support. In a business environment, the auditors may have
+ "signed off" on the validity of the data; at that
+ point, the ability to modify audited data should be
+ very tightly controlled, or even downright
+ forbidden. Current Status: These "Transaction processing constructs" should
+ simplify creation of an SQL back end, or some other
+ more sophisticated database engine. There has been much discussion about this on
+ mailing lists both for GnuCash and CBB. Major
+ points have included: This may be a minor cost to a business enterprise
+ that hires DataBase Administrators. It is not acceptable to require this of
+ naive users that may find "simple" things like Changing GnuCash to be suited to use a DBMS in
+ other than a "load-it-all" / "dump-it-all" manner, but
+ to rather update the database in a transactional
+ manner. That being said, it may be possible to recast the
+ GnuCash engine functionality so as to handle
+ storage in a transactional manner. The following industrial-strength features are
+ needed: While the GnuCash "engine" might remain free,
+ maintenance of payroll functionality would require
+ "subscribing" to an update scheme; it might be troublesome
+ to try to provide such a "subscription" free of charge. Mostly aimed at mainframes, middleware, high
+ transaction volumes and data integrity. Linas Vepstas
+ linas@linas.org Christopher Browne
+ cbbrowne@ntlug.org http://www-cad.eecs.berkeley.edu/~gooch/mymdump.html
+ http://www-cad.eecs.berkeley.edu/~gooch/qifuniq.html
+ J'espère que les autres trouveront ces scripts facile à
+utiliser.
+ Ken Yamaguchi Octobre 1998
+
+
diff --git a/Docs/fr/pix/contract.gif b/Docs/fr/pix/contract.gif
new file mode 100644
index 0000000000..fe672fc3b5
Binary files /dev/null and b/Docs/fr/pix/contract.gif differ
diff --git a/Docs/fr/pix/expand.gif b/Docs/fr/pix/expand.gif
new file mode 100644
index 0000000000..7af4876747
Binary files /dev/null and b/Docs/fr/pix/expand.gif differ
diff --git a/Docs/fr/pix/foliowin-single.gif b/Docs/fr/pix/foliowin-single.gif
new file mode 100644
index 0000000000..3a18e56a0b
Binary files /dev/null and b/Docs/fr/pix/foliowin-single.gif differ
diff --git a/Docs/fr/pix/foliowin.gif b/Docs/fr/pix/foliowin.gif
new file mode 100644
index 0000000000..e8a9e52c79
Binary files /dev/null and b/Docs/fr/pix/foliowin.gif differ
diff --git a/Docs/fr/pix/newaccwin-code.gif b/Docs/fr/pix/newaccwin-code.gif
new file mode 100644
index 0000000000..ba004075d2
Binary files /dev/null and b/Docs/fr/pix/newaccwin-code.gif differ
diff --git a/Docs/fr/pix/newaccwin-trade.gif b/Docs/fr/pix/newaccwin-trade.gif
new file mode 100644
index 0000000000..c71bba0f7c
Binary files /dev/null and b/Docs/fr/pix/newaccwin-trade.gif differ
diff --git a/Docs/fr/pix/newaccwin.gif b/Docs/fr/pix/newaccwin.gif
new file mode 100644
index 0000000000..ba004075d2
Binary files /dev/null and b/Docs/fr/pix/newaccwin.gif differ
diff --git a/Docs/fr/pix/recnwin.gif b/Docs/fr/pix/recnwin.gif
new file mode 100644
index 0000000000..83899b8357
Binary files /dev/null and b/Docs/fr/pix/recnwin.gif differ
diff --git a/Docs/fr/pix/regwin-double.gif b/Docs/fr/pix/regwin-double.gif
new file mode 100644
index 0000000000..f0a4ea3469
Binary files /dev/null and b/Docs/fr/pix/regwin-double.gif differ
diff --git a/Docs/fr/pix/regwin-multi.gif b/Docs/fr/pix/regwin-multi.gif
new file mode 100644
index 0000000000..2e0a51527f
Binary files /dev/null and b/Docs/fr/pix/regwin-multi.gif differ
diff --git a/Docs/fr/pix/regwin-single.gif b/Docs/fr/pix/regwin-single.gif
new file mode 100644
index 0000000000..55d901d4b4
Binary files /dev/null and b/Docs/fr/pix/regwin-single.gif differ
diff --git a/Docs/fr/pix/regwin.gif b/Docs/fr/pix/regwin.gif
new file mode 100644
index 0000000000..b0adac908d
Binary files /dev/null and b/Docs/fr/pix/regwin.gif differ
diff --git a/Docs/fr/pix/report-baln.gif b/Docs/fr/pix/report-baln.gif
new file mode 100644
index 0000000000..4a217ddae6
Binary files /dev/null and b/Docs/fr/pix/report-baln.gif differ
diff --git a/Docs/fr/pix/report-folio.gif b/Docs/fr/pix/report-folio.gif
new file mode 100644
index 0000000000..ee783f9a01
Binary files /dev/null and b/Docs/fr/pix/report-folio.gif differ
diff --git a/Docs/fr/pix/ticker-a.gif b/Docs/fr/pix/ticker-a.gif
new file mode 100644
index 0000000000..929d67a516
Binary files /dev/null and b/Docs/fr/pix/ticker-a.gif differ
diff --git a/Docs/fr/pix/ticker-b.gif b/Docs/fr/pix/ticker-b.gif
new file mode 100644
index 0000000000..f0e86e075c
Binary files /dev/null and b/Docs/fr/pix/ticker-b.gif differ
diff --git a/Docs/fr/projects.html b/Docs/fr/projects.html
new file mode 100644
index 0000000000..73afead5b6
--- /dev/null
+++ b/Docs/fr/projects.html
@@ -0,0 +1,817 @@
+
+
+The GnuCash pages
+provide overview & introductory material about GnuCash, and in
+general present a glossier, more accessilbe format. This page is
+aimed at developers, not users.
+
+We believe that a GNU GPL project should provide goals and motivations
+at both the large and the small scales, in order to focus and motivate
+the developers. Over-arching and grand goals are difficult to grasp
+and carry out; yet their lack serves only to dissuade the grand
+thinkers. A list of detailed goals may be mind-numbing to the casual
+reader; yet, without them, the roll-up-your-sleeves-and-do-it
+coder cannot know where to begin. Detailed goals lend a concreteness
+to the discussion: they can be architected, designed and coded at any time
+by coders of any ability. Thus, we present a list of goals, large and
+small, with the hope that the small goals will fall quickly, and the
+large ones shall turn into a multitude of small ones.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+In particular, with respect to OFX & online banking, one should be able to think
+of GnuCash as a very special browser, capable of browsing financial web sites.
+Instead of talking HTML/HTTP, it would talk OFX or Gold with the remote
+server. Besides just statically viewing ones bank account, it should also
+allow bill payment and other account manipulation.
+
+
+
+
+ Other output format possibilities include SGML and XML. In the
+ long run, these are preferable to HTML, since DSSSL and
+ Jade (James DSSSL Engine
+ can be used to convert to RTF, Postscript, etc. XML is the wave
+ of the future.
+
+ The Report Generator should be a "dockable" subsystem of the
+ whole. Thus, it should be possible to run the report generator
+ in a stand-alone, read-only fashion without having to start up the main
+ application.
+
+ Graphs, charts, etc. too ...
+
+ One hard part of reporting is designing a configurable interface,
+ so that people can build custom reports.
+
+ Status:
+
+
+
+ Status:
+
+
+
+ Status:
+
+
+
+ Status:
+
+
+
+ Current Status: the latest beta-development releases (version
+ 1.1.x) contain such an object.
+
+
+
+ Current Status:
+
+
+
+ The overall architecture is envisioned to be as so:
+ All code, including the transaction engine, the file I/O routines,
+ the menus, and the ledger, will be abstracted into
+ compact modules that can function independently of each other.
+ At the highest level, there will be a infrastructure with
+ extension language interfaces that will "wire together" the
+ various modules.
+
+ Such "wiring together" will consist of a dispatch infrastructure
+ that will allow arbitrary menu entries to be hooked to arbitrary
+ modules. The configuration for menu entries, and thier associated
+ callbacks, will be specified in an ext-lang configuration file.
+ At the final stages, it is hoped that new modules can be imported
+ without requiring that the application itself be recompiled & relinked.
+
+ Status:
+
+
+
+ The following industrial-strength features are still needed:
+
+
+
+
+
+
+ Status:
+
+
+
+ Status:
+
+ Most of the work has been done by
+ Jeremy Collins, with considerable help from Rob Browning.
+ Daniel R Risacher <magnus@alum.mit.edu> keeps threatening to
+ do something ...
+
+
+
+ Current status:
+
+
+
+
+
+ Current status:
+
+
+
+ Current status:
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Current status:
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Status: Some basic reorganization of register was done to
+ support mixed multi-line split display. However, the actual
+ display of such things remaions unimplemented.
+
+
+
+
+
+Managing Your Money --> GNUCash
+
+I have finally put the Perl script that allowed me to use GNUCash
+up on a web site. I had a couple years of data in Managing Your
+Money 2.x that I didn't want to reenter. The script will output a
+single QIF file with all transactions, accounts, and categories.
+(Currently only non-investment transactions are handled.) The QIF
+file can be imported to xacc-1.0.18 if a small patch is applied to
+QIFIO.c. The site is
+
+
+
+Duplicate Transactions
+
+I also have a script that I use to remove duplicate transactions at
+the QIF level. I use this script because Xacc is very strict about
+duplicates (which is good) and because editing imported
+transactions will cause a re-import of the same transactions to
+produce duplicates. (I download the same month's transactions from
+my bank several times each month, so each downloaded QIF
+file--after the first--contains transactions I have already
+imported. I don't want to rely on the bank sending me the
+transactions in the same order or with the same formatting.) The
+site is
+
+
+
+GnuCash Project Goals
+
+
+
+
+
+
+
+
+
+
+
+
+ Architectural Goals
+ There are some over-reaching design principles
+ and philosophies that we intend to maintain. Some of these
+ concepts and terms are introduced in this section.
+
+ Separation of GUI and Data
+ First, we must maintain a clean separation between the data
+ structures and the GUI that manipulates them, along the lines
+ of the Model-View-Controller paradigm.
+
+
+
+
+ The Financial Engine
+ In GnuCash, the Model is implemented via the Engine API,
+ and the View is the data that is currently in the
+ Engine. Thus, the Engine is a set of programming API's that
+ the GUI (or a script, or even a clever command-line-addict) can
+ use to manipulate the data.
+
+
+
+ The Engine has a very simple apply/commit model, and a simple
+ query mechanism for generating reports and views.
+
+
+
+
+ Modularity, Extensibility and Customization
+
+ Markets and Users
+ Implicit in this desire for extensibility is the need to build
+ financial applications supporting two major classes of users:
+
+
+
+ They may use some of the same financial terminology, and
+ hopefully might share a fair bit of code, but have quite
+ different goals and requirements.
+
+ Personal Finance Needs
+
+
+
+
+ Small Business Needs
+
+
+
+
+
+
+ Reconciling Those Needs
+
+
+
+
+
+
+ Feature Requirements
+
+
+ Personal Financial Application
+ Below are listed the technical work items needed to implement
+ the features that home users might hope to have. They are
+ listed in approximate order of priority.
+
+
+
+
+ Small Business Features
+ Features that small/medium businesses expect.
+
+
+
+
+
+
+
+ Feature
+
+ Sizing
+
+
+
+
+
+
+
+
+ Enhanced Engine, Financial
+ Objects
+
+ Large
+
+
+
+ SQL I/O
+
+ Medium
+
+
+
+ Multi-User Support
+
+ Medium
+
+
+
+ A/R, A/P Accounts Payable,
+ Receivable
+
+ Medium
+
+
+
+ Payroll
+
+ Medium
+
+
+
+ Invoicing
+
+ Medium
+
+
+
+ Job Costing
+
+ Medium
+
+
+ Expense Accounts
+
+ Large
+ Features and Functions
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Create a summary budget/track-record budget report that a
+ professional financial planner/advisor could use.
+
+
+
+
+
+
+
+
+
+
+
+ The other method would be to perform run-time DTD parsing.
+ This is attractive particularly because it is a more
+ commonly-used approach; there are a variety of XML tools
+ available that provide this function.
+
+
+
+
+
+
+
+
+
+field-name tab fieldname tab fieldname \n
+------------------------------------------ \n
+value tab value tab value \n
+value tab value tab value \n
+etc ...
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+% su -
+Password:
+# cd /tmp
+# rpm -i gnucash-4.1.3.i386.rpm
+# exit
+
+ to be challenging.
+
+
+
+
+
+ References
+
+
+
+
+ Draft version 0.35 -- November 1999
+
+
+
+ Revised December 1999
+
+
+
+Managing Your Money --> GNUCash
+J'ai finallement produit le script Perl qui me permet d'utiliser GNUCash
+jusque sur un site web. J'ai deux années de données dans
+Managing Your Money 2.x que je ne veux pas réentrer. Le script sortira
+un simple fichier QIF avec toutes les transactions, comptes, et catégories.
+(Actuellement seulement les transactions de non-investissement sont traitées.)
+Le fichier QIF peut être importé vers xacc-1.0.18 si un petit
+patch est appliqué à QIFIO.c. Le site est:
+
+Transactions dupliquées
+J'ai aussi un script que j'utilise pour enlever les transactions dupliquées
+au niveau du QIF. J'utilise ce script parce que Xacc est très strict
+à propos des duplications (ce qui est très bon) et parce
+qu'éditer des transactions importées causera une ré-importation
+des mêmes transactions qui produiront des doubles. (Je télécharge
+les transactions du même mois depuis ma banque plusieurs fois
+chaque mois, alors chaque fichier QIF téléchargé --après
+le premier--contient des transactions que j'ai déjà
+importé. Je ne veux pas compter sur ma banque pour m'envoyer les
+transactions dans le même ordre ou avec le même formatage.)
+Le site est
+GnuCash Project Goals
+GnuCash
+(previously known as X-Accountant) is a personal finance
+accounting application. The project goals are to create a world-class
+GPL'ed Open Source personal financial application for GNU/Linux and other
+Unix's. The project is the result of a merger
+of the GnoMoney project with X-Accountant development. There are currently
+two versions: xacc-1.0.18, and gnucash-1.1.x. Version xacc-1.0.18
+is written in Motif, and is considered to be stable/production quality.
+You can read more about X-Accountant at its home page
+
+http://www.cs.hmc.edu/~rclark/xacc/index.html. Versions
+numbered as gnucash-1.1.x are the current development
+versions, and are unstable. GnuCash is in active development;
+this page is an effort to summarize the project goals and status.
+
+News
+
+
+
+Meta-Architecture Goals
+
+
+
+
+
+Concrete Architectural and Development Goals
+The following is a list of the larger, more abstract, and more difficult
+architectural goals.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Incremental Development Goals
+The following is a list of goals and "bug fixes" that should be solved
+immediately, independent of the major goals.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ field-name tab fieldname tab fieldname \n
+ ------------------------------------------ \n
+ value tab value tab value \n
+ value tab value tab value \n
+ etc ...
+
+ Its a very simple, very basic flat table format. It should match
+ the SQL schemas in order to minimize I/O complexity and incompatibility.
+
+ cvs -d :pserver:cvs@linas.org:/home/cvs/cvsroot login ++ The password is "guest". To get a copy of the source, do a +
+ cvs -d :pserver:cvs@linas.org:/home/cvs/cvsroot checkout xacc ++ Note that various versions can be accessed with tags. + For example, the tag xacc-10b17 will get you version + 1.0.17 and the tag xacc-11b6 will get you version 1.1.6 + In particular, the latest code in the 1.0.x series (the stable series) + is available on the branch xacc-10-patch. For historical + record, you can view Robin Clark's original source from October 1997 + at xacc-09a. Things have changed a *lot* since then. +
+ (March 1988) +
+ + +
+ +
+ +
+ Status: Essentially more-or-less done (July/August 1998) +
+ +
+ +
Yannick Le Ny <y-le-ny@ifrance.com>
+
Localise
+(traduction et adaptation) de Xacc et Gnucash pour la France et les pays
+francophones.
+
Travail
+effectué :traduction du Readme, des messages et de l'aide en ligne
+de Gnucash en français
+
Essaie
+de finir de traduire tout le site web de Gnucash en français sauf
+la liste de courriers et de le maintenir à jour
Version | + +moteur | + +registre | + +grand livre | + +motif | + +prefs (scm) | + +docs (html) | + +divers | + +Total | +
---|---|---|---|---|---|---|---|---|
xacc-0.9
+ Sept 97 |
+
+- | + +- | + +- | + +34 fichiers
+ (7.5+0.9) |
+
+- | + +5 fichiers
+ (0.4) |
+
+- | + +39 fichiers
+ (8.8) |
+
xacc-0.9w
+ Dec 97 |
+
+- | + +- | + +- | + +51 fichiers
+ (13.8+1.5) |
+
+- | + +9 fichiers
+ (0.8) |
+
+- | + +60 fichiers
+ (16.1) |
+
xacc-1.0.17
+ Fev 98 |
+
+- | + +- | + +- | + +52 files
+ (14.8+1.8) |
+
+- | + +12 files
+ (1.4) |
+
+- | + +64 files
+ (18.0) |
+
gnucash-1.1.15
+ Aou 98 |
+
+24 fichiers
+ (6.2+1.5) |
+
+31 fichiers
+ (6.1+1.7) |
+
+5 fichiers
+ (1.4+0.4) |
+
+30 fichiers
+ (7.4+0.7) |
+
+3 fichiers
+ (0.3) |
+
+16 fichiers
+ (1.9) |
+
+non compté
+ (>1.0) |
+
+109 fichiers
+ (32.9) |
+
gnucash-1.2.2
+ Aou 99 |
+
+41 fichiers
+ (10.2+3.6) |
+
+28 fichiers
+ (5.5+1.7) |
+
+14 fichiers
+ (2.4+0.6) |
+
+26 fichiers
+ (8.7+0.5) |
+
+14 fichiers
+ (1.4) |
+
+30 fichiers
+ (2.6) |
+
+non compté
+ (>1.0) |
+
+153 fichiers
+ (37.2) |
+
Chaque cellule contient: +
nombre de fichiers *c et *.h
+
(KLOCS dans *.c + KLOCS dans *.h),
+
où KLOC == kilo-lignes-de-code, comme rapported par wc.
+
+
+
diff --git a/Docs/fr/xacc-acctypes.html b/Docs/fr/xacc-acctypes.html
new file mode 100644
index 0000000000..19a9c314e0
--- /dev/null
+++ b/Docs/fr/xacc-acctypes.html
@@ -0,0 +1,83 @@
+
+
+
Ci-dessous se trouve à quoi ressemble une fenêtre nouveau
+compte :
+
+
+
Choisissez trier +par ordre pour le compte quand il apparait dans un rapport ou dans +le Tableau de comptes. +
L'image ci-dessus montre un exemple pour un compte d'actions ou de d'achat/ventes
+de monnaies/devises. Noter que le champ Security n'est pas grisé,
+et que vous pouvez entrer une valeur. Cette valeur est typiquement un code
+de valeur d'une action, ou un code monétaire à trois lettres
+ISO.
+
+
+
+
+
+
+
diff --git a/Docs/fr/xacc-adjbwin.html b/Docs/fr/xacc-adjbwin.html
new file mode 100644
index 0000000000..b91d76a22a
--- /dev/null
+++ b/Docs/fr/xacc-adjbwin.html
@@ -0,0 +1,20 @@
+
+
+
Fenêtre d'ajustement du solde. Utiliser la pour ajuster le +solde. Entrez le montant en francs , et une entrée dans le +registre sera créée qui mettra le solde courant +équivalent à ce nouveau solde. Ajouter plus de +documentation ici. +
En tous cas, considérons C/F. Nous ne pouvons rien réellement +raconter sur les D/F parce que nous payons toujours *nos* factures à +temps, n'est ce pas ? :-) +
Ainsi de toute façon, disons que nous donnons à nos clients +30 jours pour payer. +
Quand nous faisons une vente, les deux comptes affectés sont +les Ventes (un compte revenus) et C/F. C/F est un avoir, mais il n'est +pas liquide, et il n'est pas forcément en espèces/argent +comptant. +
Alors quand ils réusissent à payer leurs factures, diminuant/déposant +un gros sac de vingt dollars de factures, nous transférons le montant +depuis C/F vers liquidités. +
La raison pour laquelle nous le faisons en deux étapes est que +nous avons decidés de faire notre comptabilité sur une base +d'accumulation et non sur une base de liquidités, parce que , et +bien, la plupart de nos transactions ne sont pas en liquidités, +ce sont des engagements. +
Nous reportons les ventes dans nos chiffres de ventes au moment où +nous les faisons, mais si l'auditeur veut savoir à propos de ou +si nous les avions récupérer avec des erreurs (stuck) +avec de mauvais débits, nous brisons ces A/R par une durée +telle qu'ils ont : 0-30 supposés, 31-60 supposés, etc. A +un certain point quand un débit particulier est "nul ou annulé", +comme quand les salauds qui en n'ont marre vont en faillite, nous coupons/arrimons +ensemble C/F et les ventes, ainsi nous reprenons et arrangeons (ou plutôt, +"désarrangeons") le compte ventes pour montrer que les ventes +n'était jamais très bonnes. +
Nous pouvons utiliser la même technique pour les choses que nous +payons à l'avance. Si nous devons payer six mois de location en +avance, c'est un "avoir accru", et tandis qu'il porte une atteinte saine +dans le compte de liquidités, il apparait sur les livres comme un +avoir. Et if nous avons été collecter les taxes des feuilles +de paie de nos employés et les conservont dans un compte bancaire +spécial, l'argent n'est pas réellement le nôtre, alors +nous avons une augmentation dans le compte des liquidités +d'un coté, et une augmentation dans un compte nommé Liquidités +accumulés, et les Taxes de la feuille de paie à payer d'un +autre côté. Quand nous envoyons le chèque trimestriel +aux Impots (ndt : aux USA) ainsi qu'ils peuvent faire une feuille de paie +aussi, notre dette chute et ainsi de même pour notre compte de Liquidités. + + diff --git a/Docs/fr/xacc-currency.html b/Docs/fr/xacc-currency.html new file mode 100644 index 0000000000..17b0418ba3 --- /dev/null +++ b/Docs/fr/xacc-currency.html @@ -0,0 +1,43 @@ + + +
+ + + + +Un système à double entrée stocke les valeurs ensemble +états de la double entrée où value1+value2+value3+
+... = 0
+
et dont chaque valeur est enregistrée dans un compte différent.
+
Une valeur est : valeur=Taux de change*montant (pour les comptes de
+devises/monnaies)
+
valeur=cours*nombre
+de parts (pour les actions/FCP et SICAV)
+
Ainsi, acheter un gadget au japon et utiliser des dollars pour le payer
+devrait apparaitre
+
commme ceci:
+
SpendAcct: (un compte banque/liquidités ordinaire libellé
+en USD)
+
----------
+
Date transfert depuis
+mémo
+cout
+
1/5/99 [YenAcct]
+Achat gadget $1.00
+
+
YenAcct: (un compte d'achat/vente de devises libellé en yen)
+
--------
+
Date transfert depuis
+mémo
+achat taux
+
1/5/99 [SpendAcct] Buy widget
+Y150 0.00667
+
+
Le moteur lie ,toutes les trois, ces valeurs ensemble (1.0, 150, 0.00667)
+
en permanence et les rend imposssible à changer sans en changer
+une autre,
+
ainsi que la grande addition est toujours zéro.
+
+
+
diff --git a/Docs/fr/xacc-date.html b/Docs/fr/xacc-date.html
new file mode 100644
index 0000000000..fc242a06f9
--- /dev/null
+++ b/Docs/fr/xacc-date.html
@@ -0,0 +1,45 @@
+
+
+
'+': + '=': incrémente d'un jour + + '_': + '-': décremente d'un jour + + '}': + ']': incrémente d'u mois + + '{': + '[': décrémente d'un mois + + 'M': + 'm': début du mois + + 'H': + 'h': fin du mois + + 'Y': + 'y': début de l'année + + 'R': + 'r': fin de l'année + + 'T': + 't': aujourd'hui + ++GnuCash peut-être compiler pour comprendre/utiliser soit les dates +au format européen ou les dates au format américain . Chercher +UK_DATES dans dates.h + + diff --git a/Docs/fr/xacc-double.html b/Docs/fr/xacc-double.html new file mode 100644 index 0000000000..8cac6247eb --- /dev/null +++ b/Docs/fr/xacc-double.html @@ -0,0 +1,75 @@ + + + + + +
Une transaction à double entrée est une transaction qui +apparaît dans deux comptes . Un compte est débité d'un +montant exactement égal à celui qui est crédité. +Ainsi , toutes les transactions sont toujours transférées +entre deux comptes . Depuis qu'ils apparaisent toujours avec un signe plus +dans un compte , et un signe moins dans l'autre , le total global des comptes +sera toujours zero, et ainsi , les comptes équilibrés sont +garantis. +
La double entrée est déjà familiaire à beaucoup +de gens comme un transfert d'un compte bancaire vers un autre , où +l'argent est retiré d'un compte et déposé dans un +autre. Beaucoup moins familier est l'idée que la double entrée +peut être utilisée pour le suivi des revenus et dépenses +aussi bien que pour les transferts bancaires . Regardez la fenêtre +d'aide "Revenu/Dépense" pour +plus d'information. +
Pour changer une transaction à double entrée, afficher +la dans n'importe quelle fenêtre dans laquelle elle apparait. N'importe +quel changement effectué sera automatiquement reflété +dans l'ensemble des comptes et toutes les fenêtres affichant la transaction. +Similairement, quand une transaction à double entrée est +supprimée , elle esr supprimée depuis l'ensemble des comptes +; les soldes sont automatiquement recalculés pour l'ensemble des +comptes . +
Pour changer le compte de transfert, sélectionnez simplement +un nouveau compte depuis le menu déroulant . Quand vous enregistrez +la transaction, elle sera automatiquement selectionnée depuis le +vieux compte , et insérée dans le nouveau compte . +
Les mots "Revenu" et "Dépenses " sont bigrement simple; +n'importe qui sait ce qu'ils veulent dire. Ne les laisser pas vous +amuser: ils ont une signification spéciale quand ils sont +appliqué à un compte à double entrée. +
+ +Pour enregistrer correctement les revenus et dépenses dans +un système à double entrée , deux comptes +spéciaux doivent être créés: un de type +"Revenu" et un de type "Dépenses ". Les Revenus de ce genre: +salaire, primes , intérêt bancaire et les dividendes +d'actions sont alors enregistrés comme transferts depuis un +compte revenus vers un compte bancaire (ou +générallement actif(avoirs)) . Semblablement, les +dépenses sont enregistrés comme des transferts depuis +un compte de carte de crédit (ou générallement, +un compte de passif(dettes)).
+ +Pourquoi les comptes de type "Revenu" et "Dépenses " sont +considérés comme speciaux? La réponse ruse avec +la nature de la double entrée. Avec une transaction à +double entrée, un compte est toujours crédité, +et un autre compte est toujours débité. Quand le +salaire est déposé dans un compte bancaire , le compte +bancaire est crédité, et le compte revenus est +débité. Afin de faire apparaitre revenus comme positif +(ce qu'il est), et dépenses paraissant négatives, la +signification de "débit" et "crédit" est +renversée pour les comptes de revenus et dépenses . +Celà les rends spéciaux.
+ +Une autre manière de voir dans laquelle les comptes revenus +et dépenses sont spéciaux est que leurs totaux de +compte n'apparaissent pas sur le bilan. Un bilan montre "Valeur nette +": la somme de tous les actifs(avoirs) moins les passifs(dettes). +Depuis lors revenus et dépenses ne sont ni actifs(avoirs) ni +passifs(dettes), ils n'apparaissent pas sur le bilan. Il y a +différente sorte de rapport, un rapport "Profit et Pertes" +(P&P) , qui montre revenus et dépenses . Le profit total +(ou pertes) est le total des revenus moins le total des +dépenses. Depuis lors actifs(avoirs) et passifs(dettes) ne +sont ni revenus ni dépenses, ils n'apparaissent pas sur +l'état des P&P.
+ +Même si malgré tout les comptes peuvent être +"spéciaux", vous n'avez pas besoin de faire quelque chose de +"spécial" pour utiliser les comptes revenus et dépenses +. Tout est traité automatiquement , tant que vous vous +souvenez de transférer revenus et dépenses entre les +comptes de revenus/dépenses et les comptes bancaire +courant/Actif/Carte(de crédit)/Passif(dettes).
+ +Pour utiliser un compte revenus/dépenses, créez -en +un simplement depuis la fenêtre de dialogue "Nouveau Compte" , +et alors soyez sûr de transférer revenus/dépenses +vers celui oû vous enregistrez feuille de paie , +intérêt, etc.
+ +Si vous avez un arrangement complexe de compte, vous pouvez +vouloir creer des comptes multiples de revenus/dépenses . Un +peut être utilisé pour enregistrer le salaire , et +seulement le salaire , un autre pour enregistrer seulement les +intérêts de banque, et un troisième seulement +pour enregistrer les dividendes d'actions. Ce partitionnement est +particulièrement utile quand le temps des impôts arrive. +
+ +Les utilisateurs des produits Quicken (TM) doivent réaliser +que ce que Quicken appelle "Catégories" sont juste +réellement des comptes Revenus/Dépenses . Ainsi , si +vous utilisez la spécification d'une catégorie dans +Quicken, créez juste un compte revenus/dépenses du +même nom dans X-Accountant, et utilisez le.
+ + diff --git a/Docs/fr/xacc-gpl.html b/Docs/fr/xacc-gpl.html new file mode 100644 index 0000000000..2668ebc497 --- /dev/null +++ b/Docs/fr/xacc-gpl.html @@ -0,0 +1,334 @@ + + + ++ Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed.
+
+
+ The licenses for most software are designed to take away your + freedom to share and change it. By contrast, the GNU General Public + License is intended to guarantee your freedom to share and change free + software--to make sure the software is free for all its users. This + General Public License applies to most of the Free Software + Foundation's software and to any other program whose authors commit to + using it. (Some other Free Software Foundation software is covered by + the GNU Library General Public License instead.) You can apply it to + your programs, too. + +
+ When we speak of free software, we are referring to freedom, not + price. Our General Public Licenses are designed to make sure that you + have the freedom to distribute copies of free software (and charge for + this service if you wish), that you receive source code or can get it + if you want it, that you can change the software or use pieces of it + in new free programs; and that you know you can do these things. + +
+ To protect your rights, we need to make restrictions that forbid + anyone to deny you these rights or to ask you to surrender the rights. + These restrictions translate to certain responsibilities for you if you + distribute copies of the software, or if you modify it. + +
+ For example, if you distribute copies of such a program, whether + gratis or for a fee, you must give the recipients all the rights that + you have. You must make sure that they, too, receive or can get the + source code. And you must show them these terms so they know their + rights. + +
+ We protect your rights with two steps: (1) copyright the software, and + (2) offer you this license which gives you legal permission to copy, + distribute and/or modify the software. + +
+ Also, for each author's protection and ours, we want to make certain + that everyone understands that there is no warranty for this free + software. If the software is modified by someone else and passed on, we + want its recipients to know that what they have is not the original, so + that any problems introduced by others will not reflect on the original + authors' reputations. + +
+ Finally, any free program is threatened constantly by software + patents. We wish to avoid the danger that redistributors of a free + program will individually obtain patent licenses, in effect making the + program proprietary. To prevent this, we have made it clear that any + patent must be licensed for everyone's free use or not licensed at all. + +
+ The precise terms and conditions for copying, distribution and + modification follow. +
++ 0. This License applies to any program or other work which contains + a notice placed by the copyright holder saying it may be distributed + under the terms of this General Public License. The "Program", below, + refers to any such program or work, and a "work based on the Program" + means either the Program or any derivative work under copyright law: + that is to say, a work containing the Program or a portion of it, + either verbatim or with modifications and/or translated into another + language. (Hereinafter, translation is included without limitation in + the term "modification".) Each licensee is addressed as "you". + +
+ Activities other than copying, distribution and modification are not + covered by this License; they are outside its scope. The act of + running the Program is not restricted, and the output from the Program + is covered only if its contents constitute a work based on the + Program (independent of having been made by running the Program). + Whether that is true depends on what the Program does. + +
+ 1. You may copy and distribute verbatim copies of the Program's + source code as you receive it, in any medium, provided that you + conspicuously and appropriately publish on each copy an appropriate + copyright notice and disclaimer of warranty; keep intact all the + notices that refer to this License and to the absence of any warranty; + and give any other recipients of the Program a copy of this License + along with the Program. + +
+ You may charge a fee for the physical act of transferring a copy, and + you may at your option offer warranty protection in exchange for a fee. + +
+ 2. You may modify your copy or copies of the Program or any portion + of it, thus forming a work based on the Program, and copy and + distribute such modifications or work under the terms of Section 1 + above, provided that you also meet all of these conditions: + +
+ a) You must cause the modified files to carry prominent notices + stating that you changed the files and the date of any change. ++ ++ b) You must cause any work that you distribute or publish, that in + whole or in part contains or is derived from the Program or any + part thereof, to be licensed as a whole at no charge to all third + parties under the terms of this License. +
+ c) If the modified program normally reads commands interactively + when run, you must cause it, when started running for such + interactive use in the most ordinary way, to print or display an + announcement including an appropriate copyright notice and a + notice that there is no warranty (or else, saying that you provide + a warranty) and that users may redistribute the program under + these conditions, and telling the user how to view a copy of this + License. (Exception: if the Program itself is interactive but + does not normally print such an announcement, your work based on + the Program is not required to print an announcement.) +
+
+ Thus, it is not the intent of this section to claim rights or contest + your rights to work written entirely by you; rather, the intent is to + exercise the right to control the distribution of derivative or + collective works based on the Program. + +
+ In addition, mere aggregation of another work not based on the Program + with the Program (or with a work based on the Program) on a volume of + a storage or distribution medium does not bring the other work under + the scope of this License. + +
+ 3. You may copy and distribute the Program (or a work based on it, + under Section 2) in object code or executable form under the terms of + Sections 1 and 2 above provided that you also do one of the following: + +
+ a) Accompany it with the complete corresponding machine-readable + source code, which must be distributed under the terms of Sections + 1 and 2 above on a medium customarily used for software interchange; or, ++ ++ b) Accompany it with a written offer, valid for at least three + years, to give any third party, for a charge no more than your + cost of physically performing source distribution, a complete + machine-readable copy of the corresponding source code, to be + distributed under the terms of Sections 1 and 2 above on a medium + customarily used for software interchange; or, +
+ c) Accompany it with the information you received as to the offer + to distribute corresponding source code. (This alternative is + allowed only for noncommercial distribution and only if you + received the program in object code or executable form with such + an offer, in accord with Subsection b above.) +
+ The source code for a work means the preferred form of the work for + making modifications to it. For an executable work, complete source + code means all the source code for all modules it contains, plus any + associated interface definition files, plus the scripts used to + control compilation and installation of the executable. However, as a + special exception, the source code distributed need not include + anything that is normally distributed (in either source or binary + form) with the major components (compiler, kernel, and so on) of the + operating system on which the executable runs, unless that component + itself accompanies the executable. + +
+ If distribution of executable or object code is made by offering + access to copy from a designated place, then offering equivalent + access to copy the source code from the same place counts as + distribution of the source code, even though third parties are not + compelled to copy the source along with the object code. +
+ ++ 5. You are not required to accept this License, since you have not + signed it. However, nothing else grants you permission to modify or + distribute the Program or its derivative works. These actions are + prohibited by law if you do not accept this License. Therefore, by + modifying or distributing the Program (or any work based on the + Program), you indicate your acceptance of this License to do so, and + all its terms and conditions for copying, distributing or modifying + the Program or works based on it. + +
+ 6. Each time you redistribute the Program (or any work based on the + Program), the recipient automatically receives a license from the + original licensor to copy, distribute or modify the Program subject to + these terms and conditions. You may not impose any further + restrictions on the recipients' exercise of the rights granted herein. + You are not responsible for enforcing compliance by third parties to + this License. + +
+ 7. If, as a consequence of a court judgment or allegation of patent + infringement or for any other reason (not limited to patent issues), + conditions are imposed on you (whether by court order, agreement or + otherwise) that contradict the conditions of this License, they do not + excuse you from the conditions of this License. If you cannot + distribute so as to satisfy simultaneously your obligations under this + License and any other pertinent obligations, then as a consequence you + may not distribute the Program at all. For example, if a patent + license would not permit royalty-free redistribution of the Program by + all those who receive copies directly or indirectly through you, then + the only way you could satisfy both it and this License would be to + refrain entirely from distribution of the Program. + +
+ If any portion of this section is held invalid or unenforceable under + any particular circumstance, the balance of the section is intended to + apply and the section as a whole is intended to apply in other + circumstances. + +
+ It is not the purpose of this section to induce you to infringe any + patents or other property right claims or to contest validity of any + such claims; this section has the sole purpose of protecting the + integrity of the free software distribution system, which is + implemented by public license practices. Many people have made + generous contributions to the wide range of software distributed + through that system in reliance on consistent application of that + system; it is up to the author/donor to decide if he or she is willing + to distribute software through any other system and a licensee cannot + impose that choice. +
+ ++ 8. If the distribution and/or use of the Program is restricted in + certain countries either by patents or by copyrighted interfaces, the + original copyright holder who places the Program under this License + may add an explicit geographical distribution limitation excluding + those countries, so that distribution is permitted only in or among + countries not thus excluded. In such case, this License incorporates + the limitation as if written in the body of this License. + +
+ 9. The Free Software Foundation may publish revised and/or new versions + of the General Public License from time to time. Such new versions will + be similar in spirit to the present version, but may differ in detail to + address new problems or concerns. + +
+ Each version is given a distinguishing version number. If the Program + specifies a version number of this License which applies to it and "any + later version", you have the option of following the terms and conditions + either of that version or of any later version published by the Free + Software Foundation. If the Program does not specify a version number of + this License, you may choose any version ever published by the Free Software + Foundation. + +
+ 10. If you wish to incorporate parts of the Program into other free + programs whose distribution conditions are different, write to the author + to ask for permission. For software which is copyrighted by the Free + Software Foundation, write to the Free Software Foundation; we sometimes + make exceptions for this. Our decision will be guided by the two goals + of preserving the free status of all derivatives of our free software and + of promoting the sharing and reuse of software generally. +
+ +
+ 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY + FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN + OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES + PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED + OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS + TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE + PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, + REPAIR OR CORRECTION. + +
+ 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING + WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR + REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, + INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING + OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED + TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY + YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER + PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE + POSSIBILITY OF SUCH DAMAGES. + +
300 Dépenses + | + +--310 Dépenses en cours + | | + | +--311 Bière + | | + | +--312 Cable + | + +--320 Dépenses commerciales + | | + | +--321 Disquettes 8 pouces + | | + : :+Noter que les comptes sont codés: quand un rapport est généré, +l'ordre de tri est déterminé entièrement par la numérotation. +Par tradition et pratique habituelle, les comptes qui ne sont des comptes +feuilles ont un nombre qui tends vers zéro; chaque niveau supérieur +a un plus zero dans le code du compte. +
Quand vous faites une création d'un +nouveau compte, GnuCash offre une possibilité de deviner à +quoi il pense que le code du compte devrait être; vous êtes +libre de le changer. GnuCash ne prévient pas la duplication de numérotation, +bien que vous êtes encouragés à l'éviter. Les +codes de compte sont traités comme des numéros, base-36: +ainsi, s'il n'y a plus de numéros, vous pouvez utiliser les lettres, +de a jusqu'à z. +
C'est la fenêtre principale du compte . Controle des comptes +depuis ici . Ajouter plus de documentation.
+ +Ci dessous se trouve une image de la fenêtre principale , +avec seulement les comptes principaux affichés . Noté +comment "ABC Bank" a été sélectionnée par +surbrillance . Pour afficher les détails des comptes , cliquez +sur les flèches sur le coté gauche .
+ +
+
+
Ci-dessous se trouve la fenêtre principale , avec les +détails des comptes affichés.
+ +
+
+
+
+
+
Suivant la dernière tendance à la mode, GnuCash peut aussi
+agir comme un serveur web sans valeur! Depuis une fenêtre registre
+ouverte, selectionnez "Imprimer ... Vers WWW" depuis le menu "Fichier".
+Alors pointer votre navigateur à http://localhost:1080/
+ou http://mon nom de machine.com:1080/et vous verrez votre fenêtre
+registre. Mais, souvenez-vous, nous disons "sans valeur": pour voir
+la page de nouveau, vous devrez reprendre la procédure précédente
+de nouveau.
+
+
Pour créer un fichier QIF avec Quicken , démarrez Quicken +(oui, il fonctionne avec Wine, et probablement avec Wabi aussi), choisissez +le menu "Fichier" et sélectionnez l'entrée du menu "Exporter..." +. Sous la version 3.0 de Quicken , vous pouvez seulement exporter un compte +à la fois , et ainsi , l'exportation démontrera être +un processus pénible . Quand vous exportez , noté que il +y a une séries de boites de vérification marqués "Transactions", +"Liste de Comptes ", "Liste de Catégories", etc. Pour de meilleurs +résultats, vous devrez etre sûr d'avoir ces trois dernières +qui soit vérifiés. Si vous ne vérifiez *pas* la boite +"Listes de Comptes ", alors le nom de votre compte sera perdu. +
Pour importer un fichier QIF de Quicken, choisissez le menu "Fichier"et +sélectionnez l'entrée "Importer QIF". Le fichier importé +sera fusionné avec quel que soit les autres données que vous +avez actuellement dans X-Accountant. Cette fusion permet aux multiples +comptes Quicken d'être importés et fusionnés dans un +groupe de compte . Notez que durant la fusion, une analyse est effectuée +pour les transactions dupliquées , et les doubles sont enlevés. +Une transaction dupliquée est une oû la date, la description +(bénéficiaire), mémo, quantitée, prix de la +part , et les comptes ou catégories débités/crédités +se retrouve exactement. Ainsi, la fusion devrait être sûr à +moins que vous ayez de multiples transactions à la même date, +au même compte , pour le même montant , avec la même +description et mémo. +
Notez que quand la "Liste des Comptes " et la "Liste de Catégories" +est exporté depuis Quicken, tous les comptes et catégories +seront exportés même si, ils sont vides , et ne contiennent +pas transactions. Quand ceux-ci sont importés, ils appazraitront +comme des comptes avec un solde de zero. Si vous n'avez pas besoin ou n'utilisez +pas ces comptes , supprimez les . Une amélioration future de X-Accountant +vous permettra de les supprimer en-masse, ou de les rendre invisible sans +les supprimer. + + diff --git a/Docs/fr/xacc-recnwin.html b/Docs/fr/xacc-recnwin.html new file mode 100644 index 0000000000..c15d2d3ad8 --- /dev/null +++ b/Docs/fr/xacc-recnwin.html @@ -0,0 +1,50 @@ + + +
+ + +
+
La fenêtre de rapprochement est pour le rapprochement des enregistrements +des utilisateurs à la fin du mois quand le relevé bancaire +arrive. Par example, si vous écrivez un chèque pour quelqu'un +, entrez la transaction. Quand vous savez que que le chèque a été +pointé (débité de votre compte) , vous pouvez cliquez +le champ entre les champs de description et de paiement , et le changer +depuis 'n' vers 'c', indiquant que la transaction a été pointée +A la fin du mois , ouvrez la fenêtre de rapprochement , et xacc vous +suggèrera /soufflera l'entrée du solde final à partir +du relevé bancaire . Alors la fenêtre de rapprochement apparaitra +, et vous verrez une colonne de crédit et de débit qui listera +toutes les transactions non rapprochés . Vous pouvez alors pointer +les transactions qui apparaissent dans le relevé bancaire , et vérifier +que le montant des champs soit correct. En bas de la fenêtre se trouve +un champ différence , qui devrait être de 0.00F quand vous +avez fait le rapprochement . Si'il ne l'est pas alors vous avez laisser +échapper une transaction, ou un des montants est erroné (ou +faux). Quand vous cliquez sur "Ok", alors le 'n' ou 'c' dans les transactions +qui ont été pointé se changera en un 'y'. Quand vous +changez quelque chose dans une transaction de rapprochement , une boite +de dialogue de verification devrait apparaitre , mais celà ne semble +pas être encore un évènement. Aussi , le total "pointé" +en bas semble afficher F0.00 sans se soucier de ces transactions qui ont +été pointés ou rapprochés . Le total"pointé" +devrait afficher le total de seulement les transactions qui ont été +pointés ('c') ou rapprochés ('y'). +
+
Ci-dessus se trouve à quoi la fenêtre registre devrait +ressembler : +
+
+
+
+
+
Le rapprochement peut être fait dans la fenêtre +de rapprochement +
(pas encore implementé) Les transactions marquées avec +un 'y' , et ne peuvent pas être éditées sans changer +en premier ce drapeau. C'est parce que une transaction de rapprochement +devrait être capable de se souvenir de tout chose qui a été +vérifiée, et donc correcte. Changer ainsi une transaction +devrait être difficile: nous voulons éviter les erreurs accidentelles. +
(pas encore implementé) Les transactions marquées avec +un 'f' sont gelées, et ne peuvent pas être éditées +dans n'importe quelle circonstances. Celles-ci ont été gelées +pendant une période du compte. C'est à dire, les livres ont +été fermés pendant cette période; ils ne peuvent +plus être réouvert pour être édités. +
+
+
+
Le registre du porte-feuille peut intimidé un peu au premier +abord . Si vous avez de la peine à le comprendre , alors tournez +vous vers la création de comptes qui contiennent une seule valeur +d'action. Quelques points importants à se souvenir à propos +de la fenêtre du porte-feuille: +
Un bilan montre Avoirs, Dettes et Capitaux propres. La sommes de tous +les possessions devrait être égale à la somme des dettes +et capitaux propres. +
Un compte-rendu de profits et pertes montre les revenus et dépenses. +La somme de tous les revenus moins toutes les dépenses est un profit +ou une perte. +
Le changement des capitaux propes de jour en jour (année en année) +devrait être égal à ce profit ou perte du jour (année). +
Pour utiliser cette fonctionnalité, ce qui suit doit être +fait: +
+
Pour mettre à jour les cours stockés dans un fichier de +compte de gnucash, lancez en ligne de commande gnc-price, en specifiant +le nom du fichier; par exemple: +
gnc-prices myaccts.xac+En lançant cette commande, elle affichera divers messages de diagnostic +vers l'écran tandis qu'elle chargera les données. Elle fonctionnera +seulement quand l'ordinateur hôte est connecté à internet. +Elle fonctionnera si l'hôte est derrière un parefeu/firewall +de style masqué. Elle ne fonctionne pas actuellement depuis derrière +un proxy ou des parefeu de style socks. La commande peut être lancée +plusieurs fois dans une journée; pourtant, elle mettra les +comptes à jour au maximum une fois avec la plupart des données +de cours de la journée échangé dernièrement. +Ainsi, si gnc-prices est lancé le vendredi, samedi, dimanche +et lundi, seulement deux chargement de cours seront effectué: +un contenant les données du vendredi, et un contenant les données +du lundi, tandis que celui du samedi et dimanche lancé retrouvera +seulement les cours de cloture du vendredi. Pour empêcher gnc-prices +de mettre à jour un compte, tandis que vous lui permettez de mettre +à jour un autre compte, simplement marqué les données +source pour ce compte comme "(aucun)". Vous pouvez le faire depuis la fenêtre +"Afficher un compte". +
Après avoir lancé gnc-prices pendant quelques jours, vos +comptes commenceront à ressembler à ce qui suit: +
+
Le format de fichier pour la version 1.1.25 et suivantes stocke les +dates de la manière cité ci-dessus. +
Quelques routines internes utilisent le type time_t pour exprimer +les secondes. Noter que sur la plupart des OS, c'est une longueur de 32-bit, +et elle est limité à l'ère Unix (Déc 1901 à +Jan 2038). +
Les fichiers de sauvegarde et log sont estampillé temporellement +en utilisant la routine standard Unix ctime(), qui prend comme +argument time_t. Ainsi, le mécanisme de sauvegarde et de +log pourrait éprouver des troubles en 2038. + + diff --git a/Makefile.in b/Makefile.in index 5abffd9d33..f7e4e41d22 100644 --- a/Makefile.in +++ b/Makefile.in @@ -188,31 +188,21 @@ install: $(INSTALL_DATA) data/*.xac ${GNC_SHAREDIR}/data @mkdir -p ${GNC_SHAREDIR}/Docs - @mkdir -p ${GNC_SHAREDIR}/Docs/En - @mkdir -p ${GNC_SHAREDIR}/Docs/Fr - $(INSTALL_DATA) Docs/*.html ${GNC_SHAREDIR}/Docs - $(INSTALL_DATA) Docs/En/*.html ${GNC_SHAREDIR}/Docs/En - $(INSTALL_DATA) Docs/Fr/*.html ${GNC_SHAREDIR}/Docs/Fr -# XXX hack alert -- should fix scheme paths to find language directories. - $(INSTALL_DATA) Docs/En/*.html ${GNC_SHAREDIR}/Docs - # $(INSTALL_DATA) Docs/*.phtml ${GNC_SHAREDIR}/Docs - $(INSTALL_DATA) Docs/*.gif ${GNC_SHAREDIR}/Docs - # $(INSTALL_DATA) Docs/*.jpg ${GNC_SHAREDIR}/Docs - # $(INSTALL_DATA) Docs/*.xpm ${GNC_SHAREDIR}/Docs + @mkdir -p ${GNC_SHAREDIR}/Docs/C + @mkdir -p ${GNC_SHAREDIR}/Docs/C/pix + @mkdir -p ${GNC_SHAREDIR}/Docs/fr + @mkdir -p ${GNC_SHAREDIR}/Docs/fr/pix + $(INSTALL_DATA) Docs/C/*.html ${GNC_SHAREDIR}/Docs/C + $(INSTALL_DATA) Docs/fr/*.html ${GNC_SHAREDIR}/Docs/fr + $(INSTALL_DATA) Docs/C/pix/*.* ${GNC_SHAREDIR}/Docs/C/pix + $(INSTALL_DATA) Docs/fr/pix/*.* ${GNC_SHAREDIR}/Docs/fr/pix $(INSTALL_DATA) Docs/*.css ${GNC_SHAREDIR}/Docs - @mkdir -p ${GNC_SHAREDIR}/Docs/images - # $(INSTALL_DATA) Docs/logos/*.* ${GNC_SHAREDIR}/Docs/images @mkdir -p ${GNC_SHAREDIR}/Docs/logos $(INSTALL_DATA) Docs/logos/*.* ${GNC_SHAREDIR}/Docs/logos @mkdir -p ${GNC_SHAREDIR}/Reports $(INSTALL_DATA) Reports/*.html ${GNC_SHAREDIR}/Reports $(INSTALL_DATA) Reports/*.phtml ${GNC_SHAREDIR}/Reports - # $(INSTALL_DATA) Reports/*.gif ${GNC_SHAREDIR}/Reports - # $(INSTALL_DATA) Reports/*.jpg ${GNC_SHAREDIR}/Reports - # $(INSTALL_DATA) Reports/*.xpm ${GNC_SHAREDIR}/Reports - @mkdir -p ${GNC_SHAREDIR}/Reports/images - # $(INSTALL_DATA) Reports/logos/*.* ${GNC_SHAREDIR}/Reports/images # ------------------------------------------------------------------ # hack alert -- the config dir stuff is messed up in configure.in as well diff --git a/src/gnome/window-html.c b/src/gnome/window-html.c index a22a0b5c92..2ecbfc7ca2 100644 --- a/src/gnome/window-html.c +++ b/src/gnome/window-html.c @@ -903,11 +903,13 @@ htmlReadImageProc (GtkWidget *widget, String file, gpointer data) /* construct absolute path -- twiddle the relative path we received */ filename = gncFindFile(file); - + /* use the default proc for the hard work */ retval = XmHTMLImageDefaultProc(widget, filename, NULL, 0); - free(filename); + if (filename != NULL) + free(filename); + return retval; } diff --git a/src/register/pricecell.c b/src/register/pricecell.c index 95c795acf5..af8d981438 100644 --- a/src/register/pricecell.c +++ b/src/register/pricecell.c @@ -89,28 +89,36 @@ PriceMV (BasicCell *_cell, PriceCell *cell = (PriceCell *) _cell; struct lconv *lc = gnc_localeconv(); char decimal_point; + char thousands_sep; if (cell->monetary) decimal_point = lc->mon_decimal_point[0]; else decimal_point = lc->decimal_point[0]; + if (cell->monetary) + thousands_sep = lc->mon_thousands_sep[0]; + else + thousands_sep = lc->thousands_sep[0]; + /* accept the newval string if user action was delete, etc. */ if (change != NULL) { int i, count=0; - for (i=0; 0 != change[i]; i++) + for (i = 0; 0 != change[i]; i++) { - /* accept only numbers or a decimal point */ - if (!isdigit(change[i]) && (decimal_point != change[i])) + /* accept only numbers or a decimal point or a thousands sep */ + if (!isdigit(change[i]) && + (decimal_point != change[i]) && + (thousands_sep != change[i])) return NULL; if (decimal_point == change[i]) count++; } - for (i=0; 0 != oldval[i]; i++) + for (i = 0; 0 != oldval[i]; i++) if (decimal_point == oldval[i]) count++; diff --git a/src/scm/path.scm b/src/scm/path.scm index ebff1ca889..85e1f99d84 100644 --- a/src/scm/path.scm +++ b/src/scm/path.scm @@ -1,3 +1,26 @@ +(define (gnc:locale-prefixes) + (let* ((locale (setlocale LC_MESSAGES)) + (strings (cond ((not (string? locale)) ()) + ((equal? locale "C") ()) + ((<= (string-length locale) 2) (list locale)) + (else (list (substring locale 0 2) locale))))) + (reverse (cons "C" strings)))) + +(define (gnc:default-doc-dirs) + (let ((user-paths (list + (list (getenv "HOME") ".gnucash" "doc"))) + (locale-paths (map (lambda (prefix) + (list gnc:_share-dir-default_ "Docs" prefix)) + (gnc:locale-prefixes))) + (pix-paths (map (lambda (prefix) + (list gnc:_share-dir-default_ "Docs" prefix "pix")) + (gnc:locale-prefixes))) + (base-paths (list + (list gnc:_share-dir-default_ "Docs"))) + (report-paths (list + (list gnc:_share-dir-default_ "Reports")))) + (map (lambda (paths) (apply build-path paths)) + (append user-paths locale-paths pix-paths base-paths report-paths)))) (define (gnc:_expand-doc-path_ new-path) ;; FIXME: Bad items should probably cause this to abort with #f or @@ -8,12 +31,7 @@ (cond ((string? item) (list item)) ((symbol? item) (case item - ((default) - (list - (build-path (getenv "HOME") ".gnucash" "doc") - (build-path gnc:_share-dir-default_ "Docs" "En") - (build-path gnc:_share-dir-default_ "Docs") - (build-path gnc:_share-dir-default_ "Reports"))) + ((default) (gnc:default-doc-dirs)) ((current) (gnc:config-var-value-get gnc:*doc-path*)) (else